Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.
authorDominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
parent 11 5072524fcc79
child 13 48780e181b38
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.
Symbian3/PDK/Source/92_201008_S60.52_apidocsP_sf.zip
Symbian3/PDK/Source/GUID-000ACB11-EDD0-5160-BC5E-4593F1BAF293.dita
Symbian3/PDK/Source/GUID-006C503D-1E52-450D-A4DA-8C19B141E09F.dita
Symbian3/PDK/Source/GUID-009D71C6-481F-5EF1-B230-EB64F67047C8.dita
Symbian3/PDK/Source/GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita
Symbian3/PDK/Source/GUID-0142B290-DA6C-5574-83D7-7555D804D9B5.dita
Symbian3/PDK/Source/GUID-016704BE-DC2B-5AD3-B9BE-76A327678B38_d0e357477_href.jpg
Symbian3/PDK/Source/GUID-016704BE-DC2B-5AD3-B9BE-76A327678B38_d0e363354_href.jpg
Symbian3/PDK/Source/GUID-016876C8-7E13-5A3E-9A15-992B7EEEEA38.dita
Symbian3/PDK/Source/GUID-0181F4BD-51A2-49AF-9DAC-517F8BAD8DBC_d0e80547_href.png
Symbian3/PDK/Source/GUID-0181F4BD-51A2-49AF-9DAC-517F8BAD8DBC_d0e84745_href.png
Symbian3/PDK/Source/GUID-0185D5DC-5142-42C3-8FFB-8EB76D49AB06.dita
Symbian3/PDK/Source/GUID-018A685B-5C9D-5C7C-8615-D413ABBF7CFB_d0e343841_href.png
Symbian3/PDK/Source/GUID-018A685B-5C9D-5C7C-8615-D413ABBF7CFB_d0e349792_href.png
Symbian3/PDK/Source/GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1.dita
Symbian3/PDK/Source/GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-3-1.dita
Symbian3/PDK/Source/GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-9-1-4-1-4-1-3-1.dita
Symbian3/PDK/Source/GUID-01979029-C009-5FD3-9925-2B7945FB96A6.dita
Symbian3/PDK/Source/GUID-01F1C399-25F6-54E8-B48D-521187A63096.dita
Symbian3/PDK/Source/GUID-01F1F488-8E95-56B0-818E-6096CAE4C50C.dita
Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e101253_href.png
Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e90319_href.png
Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e94517_href.png
Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e97174_href.png
Symbian3/PDK/Source/GUID-0211CAA4-32FF-52F2-81DA-78C52C412AED_d0e155252_href.png
Symbian3/PDK/Source/GUID-0211CAA4-32FF-52F2-81DA-78C52C412AED_d0e161353_href.png
Symbian3/PDK/Source/GUID-023268BB-8C52-51A1-9E3B-4C7E265DFDAB.dita
Symbian3/PDK/Source/GUID-023D30F0-C1E8-5E09-92AD-C5A7963DCF70_d0e512262_href.jpg
Symbian3/PDK/Source/GUID-023D30F0-C1E8-5E09-92AD-C5A7963DCF70_d0e519724_href.jpg
Symbian3/PDK/Source/GUID-02442ADC-1C4C-5489-825F-7E1630415086_d0e230144_href.png
Symbian3/PDK/Source/GUID-02442ADC-1C4C-5489-825F-7E1630415086_d0e236139_href.png
Symbian3/PDK/Source/GUID-02521DB0-53C4-55D5-856F-BD478E134B73_d0e547910_href.png
Symbian3/PDK/Source/GUID-02521DB0-53C4-55D5-856F-BD478E134B73_d0e555366_href.png
Symbian3/PDK/Source/GUID-0259868F-8F88-5D9D-A9DE-9309C3BFBA85_d0e478805_href.png
Symbian3/PDK/Source/GUID-0259868F-8F88-5D9D-A9DE-9309C3BFBA85_d0e484634_href.png
Symbian3/PDK/Source/GUID-02659624-4C27-573C-BE2E-0250D860BEA3.dita
Symbian3/PDK/Source/GUID-0268102D-D238-5C5E-818F-6ACC4A85B022_d0e8848_href.png
Symbian3/PDK/Source/GUID-0268102D-D238-5C5E-818F-6ACC4A85B022_d0e8970_href.png
Symbian3/PDK/Source/GUID-026E865E-12FA-59A9-B923-309B65790E23.dita
Symbian3/PDK/Source/GUID-02970C7B-5B98-50C7-A324-0DDD71120DEB_d0e228901_href.png
Symbian3/PDK/Source/GUID-02970C7B-5B98-50C7-A324-0DDD71120DEB_d0e234899_href.png
Symbian3/PDK/Source/GUID-02F4AA24-283A-503D-8BA9-7C926DC7E306_d0e638138_href.png
Symbian3/PDK/Source/GUID-02F4AA24-283A-503D-8BA9-7C926DC7E306_d0e650960_href.png
Symbian3/PDK/Source/GUID-032BE80C-CF9B-564C-B2F8-F254B12699CB.dita
Symbian3/PDK/Source/GUID-0348B62D-1AE0-45F5-B06E-9EE2D83326E8.dita
Symbian3/PDK/Source/GUID-03671C88-6911-5184-A9D4-A2D2FD69A2B9_d0e665539_href.png
Symbian3/PDK/Source/GUID-03671C88-6911-5184-A9D4-A2D2FD69A2B9_d0e678366_href.png
Symbian3/PDK/Source/GUID-037DFEEE-757A-5C0B-AAA7-62E3E39FAF30.dita
Symbian3/PDK/Source/GUID-038747F2-E5A2-5739-BFF5-69B6BD0DCEB2.dita
Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e80445_href.png
Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e84643_href.png
Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e95454_href.png
Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e99650_href.png
Symbian3/PDK/Source/GUID-03AC137D-173A-558C-A2F3-9522870AC43C_d0e315969_href.png
Symbian3/PDK/Source/GUID-03AC137D-173A-558C-A2F3-9522870AC43C_d0e321959_href.png
Symbian3/PDK/Source/GUID-03BBEA31-3266-5B1C-9017-4EE7EA4AF1A8.dita
Symbian3/PDK/Source/GUID-03ED031D-65DB-51DE-8238-1F2ADF3BC936_d0e270512_href.png
Symbian3/PDK/Source/GUID-03ED031D-65DB-51DE-8238-1F2ADF3BC936_d0e276512_href.png
Symbian3/PDK/Source/GUID-043A9408-1A97-4122-9364-965ECC08B40F.dita
Symbian3/PDK/Source/GUID-043CFB8D-8780-478C-A3B2-FE5838795665_d0e81300_href.png
Symbian3/PDK/Source/GUID-043CFB8D-8780-478C-A3B2-FE5838795665_d0e85498_href.png
Symbian3/PDK/Source/GUID-045F3455-2B5A-5B20-ABCE-ED202DC5078A_d0e7684_href.png
Symbian3/PDK/Source/GUID-045F3455-2B5A-5B20-ABCE-ED202DC5078A_d0e7806_href.png
Symbian3/PDK/Source/GUID-04820567-5745-56D3-9D9D-05E576FF7454_d0e607371_href.png
Symbian3/PDK/Source/GUID-04820567-5745-56D3-9D9D-05E576FF7454_d0e646533_href.png
Symbian3/PDK/Source/GUID-049A089E-FF08-5706-8485-8C9A5A0BCF6F.dita
Symbian3/PDK/Source/GUID-04B044E7-5F10-47BC-B95F-27B62C2870E8.dita
Symbian3/PDK/Source/GUID-04B1D977-EE3F-5EC6-B1C7-68F6E4C801E2_d0e49428_href.png
Symbian3/PDK/Source/GUID-04B1D977-EE3F-5EC6-B1C7-68F6E4C801E2_d0e53662_href.png
Symbian3/PDK/Source/GUID-04D917A1-E1A0-5149-9660-80A1146D0984.dita
Symbian3/PDK/Source/GUID-0504B740-FB22-4399-B16D-BE6030B512B3.dita
Symbian3/PDK/Source/GUID-0522B178-0FD5-4416-B7FE-390749F7A13D.dita
Symbian3/PDK/Source/GUID-0528A294-AC1B-5CDD-B59C-A105F39D748F_d0e237324_href.png
Symbian3/PDK/Source/GUID-0528A294-AC1B-5CDD-B59C-A105F39D748F_d0e243297_href.png
Symbian3/PDK/Source/GUID-053FFF2B-6FB1-5065-B9D1-047477F3DE01.dita
Symbian3/PDK/Source/GUID-0554F7DB-9102-5BB4-AD10-D6FDE77F1117_d0e464132_href.png
Symbian3/PDK/Source/GUID-0554F7DB-9102-5BB4-AD10-D6FDE77F1117_d0e469977_href.png
Symbian3/PDK/Source/GUID-055E42B2-27E7-45F2-8450-5CCF4E1DEB15_d0e91710_href.png
Symbian3/PDK/Source/GUID-055E42B2-27E7-45F2-8450-5CCF4E1DEB15_d0e95908_href.png
Symbian3/PDK/Source/GUID-056165A7-E8A1-4868-8051-9EC58C5A3342.dita
Symbian3/PDK/Source/GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita
Symbian3/PDK/Source/GUID-057891A5-2394-489E-9323-91BE256F2188_d0e92399_href.png
Symbian3/PDK/Source/GUID-057891A5-2394-489E-9323-91BE256F2188_d0e96597_href.png
Symbian3/PDK/Source/GUID-058FAE44-DF72-53E2-BE62-EDC840A7C87F_d0e376244_href.png
Symbian3/PDK/Source/GUID-058FAE44-DF72-53E2-BE62-EDC840A7C87F_d0e382088_href.png
Symbian3/PDK/Source/GUID-05C87497-738B-473C-B5B2-BE46D32225F5_d0e94566_href.png
Symbian3/PDK/Source/GUID-05C87497-738B-473C-B5B2-BE46D32225F5_d0e98764_href.png
Symbian3/PDK/Source/GUID-063020E5-51C0-45C3-8B8B-015385FA0928.dita
Symbian3/PDK/Source/GUID-064302D7-3598-57C2-89B7-CED294BE78AE.dita
Symbian3/PDK/Source/GUID-067BC702-4F66-5CAF-952D-7CFA35F5EB1E.dita
Symbian3/PDK/Source/GUID-06B287CD-C19A-4CAC-8378-5563C552448B_d0e86014_href.png
Symbian3/PDK/Source/GUID-06B287CD-C19A-4CAC-8378-5563C552448B_d0e90212_href.png
Symbian3/PDK/Source/GUID-06CB380C-A0F9-5AAE-B66E-AFCAABE9BA39.dita
Symbian3/PDK/Source/GUID-074F3499-54FE-58BC-A0F4-D8EA632AF76B.dita
Symbian3/PDK/Source/GUID-07791D92-4B0F-5D11-9874-4C03FA1A2C02.dita
Symbian3/PDK/Source/GUID-077B0CE8-FDC1-5BE9-B356-F8E545A0A53D_d0e276163_href.png
Symbian3/PDK/Source/GUID-077B0CE8-FDC1-5BE9-B356-F8E545A0A53D_d0e282163_href.png
Symbian3/PDK/Source/GUID-07A42662-87A1-4537-89B9-F87DFC8481E8.dita
Symbian3/PDK/Source/GUID-07B6D7EE-575A-5E8E-A2BB-8893F84F7F6D_d0e535715_href.jpg
Symbian3/PDK/Source/GUID-07B6D7EE-575A-5E8E-A2BB-8893F84F7F6D_d0e543175_href.jpg
Symbian3/PDK/Source/GUID-07C031C2-7FFC-5B0E-9691-E6E678E65C4B.dita
Symbian3/PDK/Source/GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita
Symbian3/PDK/Source/GUID-07F65EEA-5969-5E56-9570-245712FB3EE3_d0e341787_href.png
Symbian3/PDK/Source/GUID-07F65EEA-5969-5E56-9570-245712FB3EE3_d0e347738_href.png
Symbian3/PDK/Source/GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e14596_href.png
Symbian3/PDK/Source/GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e14692_href.png
Symbian3/PDK/Source/GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita
Symbian3/PDK/Source/GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita
Symbian3/PDK/Source/GUID-084C5F8F-3310-5BDE-BB4B-110361D45AB0_d0e321813_href.png
Symbian3/PDK/Source/GUID-084C5F8F-3310-5BDE-BB4B-110361D45AB0_d0e327799_href.png
Symbian3/PDK/Source/GUID-085CD9C3-706F-51E7-A1D5-95483D3C9254_d0e147882_href.png
Symbian3/PDK/Source/GUID-085CD9C3-706F-51E7-A1D5-95483D3C9254_d0e150123_href.png
Symbian3/PDK/Source/GUID-08698D45-1F37-553A-9497-0081271535A1_d0e167629_href.png
Symbian3/PDK/Source/GUID-08698D45-1F37-553A-9497-0081271535A1_d0e173722_href.png
Symbian3/PDK/Source/GUID-0886F421-4895-5007-AAE7-0013E9FF211F_d0e231831_href.png
Symbian3/PDK/Source/GUID-0886F421-4895-5007-AAE7-0013E9FF211F_d0e237826_href.png
Symbian3/PDK/Source/GUID-08A6B93F-92CD-5182-B142-D353E78016F3_d0e658855_href.png
Symbian3/PDK/Source/GUID-08A6B93F-92CD-5182-B142-D353E78016F3_d0e671682_href.png
Symbian3/PDK/Source/GUID-08E31D57-A84D-5B6B-B16F-3F7025A763E9_d0e338593_href.png
Symbian3/PDK/Source/GUID-08E31D57-A84D-5B6B-B16F-3F7025A763E9_d0e344565_href.png
Symbian3/PDK/Source/GUID-08ED8657-DB96-59AC-9016-602BD5680752.dita
Symbian3/PDK/Source/GUID-09044578-9ADB-540F-A854-A818EA3970B7_d0e342094_href.png
Symbian3/PDK/Source/GUID-09044578-9ADB-540F-A854-A818EA3970B7_d0e348045_href.png
Symbian3/PDK/Source/GUID-09142C26-0AFA-510E-836D-010EE07A1549_d0e235717_href.png
Symbian3/PDK/Source/GUID-09142C26-0AFA-510E-836D-010EE07A1549_d0e241690_href.png
Symbian3/PDK/Source/GUID-09263C33-EE63-530C-A6B9-70806F0BC16D-master.png
Symbian3/PDK/Source/GUID-09263C33-EE63-530C-A6B9-70806F0BC16D_d0e724127_href.png
Symbian3/PDK/Source/GUID-092C18D4-A525-5562-9BF6-41435E400290.dita
Symbian3/PDK/Source/GUID-0991E536-97B2-4EAA-9448-A090BD073140_d0e100003_href.png
Symbian3/PDK/Source/GUID-0991E536-97B2-4EAA-9448-A090BD073140_d0e104088_href.png
Symbian3/PDK/Source/GUID-09A58B23-68EA-58D7-BBC9-E7F4C4BF55D7_d0e580777_href.png
Symbian3/PDK/Source/GUID-09A58B23-68EA-58D7-BBC9-E7F4C4BF55D7_d0e630065_href.png
Symbian3/PDK/Source/GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C.dita
Symbian3/PDK/Source/GUID-09E44FE5-6BEE-49FF-8BBF-CBB3C066EE10.dita
Symbian3/PDK/Source/GUID-09EE01E2-BF5E-5302-BA25-46C440ADECF5_d0e378223_href.png
Symbian3/PDK/Source/GUID-09EE01E2-BF5E-5302-BA25-46C440ADECF5_d0e384076_href.png
Symbian3/PDK/Source/GUID-09EFBBDE-780D-5A16-8E3B-78DEFF1F8938_d0e453895_href.png
Symbian3/PDK/Source/GUID-09EFBBDE-780D-5A16-8E3B-78DEFF1F8938_d0e459740_href.png
Symbian3/PDK/Source/GUID-0A13A931-016C-5325-97AF-2DE0B210DF2F.dita
Symbian3/PDK/Source/GUID-0A24FF35-5A61-5305-812B-632F20F0395D_d0e454299_href.png
Symbian3/PDK/Source/GUID-0A24FF35-5A61-5305-812B-632F20F0395D_d0e460144_href.png
Symbian3/PDK/Source/GUID-0A61CB48-B8EA-5516-B24E-65898CDF2566.dita
Symbian3/PDK/Source/GUID-0A7AB5BF-B126-4A3C-AC0D-C5443C06A82E.dita
Symbian3/PDK/Source/GUID-0A932926-281D-5465-9F38-E5FA8AA7EBD4.dita
Symbian3/PDK/Source/GUID-0AD34BA6-D0C5-5AD7-B8E1-F737BB5FC0AC.dita
Symbian3/PDK/Source/GUID-0B0EF90E-45A4-467F-8CD9-33FBC612B3BD_d0e2460_href.png
Symbian3/PDK/Source/GUID-0B0EF90E-45A4-467F-8CD9-33FBC612B3BD_d0e2470_href.png
Symbian3/PDK/Source/GUID-0B151FE8-21E1-58A1-BEB3-5502EDF052C0_d0e109584_href.png
Symbian3/PDK/Source/GUID-0B151FE8-21E1-58A1-BEB3-5502EDF052C0_d0e112007_href.png
Symbian3/PDK/Source/GUID-0B1A4D73-AB81-586C-9D95-A0F5EE1F4BC7_d0e541071_href.png
Symbian3/PDK/Source/GUID-0B1A4D73-AB81-586C-9D95-A0F5EE1F4BC7_d0e548531_href.png
Symbian3/PDK/Source/GUID-0B41947E-B710-5D89-AEEF-6EFF496BAD96_d0e458990_href.png
Symbian3/PDK/Source/GUID-0B41947E-B710-5D89-AEEF-6EFF496BAD96_d0e464835_href.png
Symbian3/PDK/Source/GUID-0B45D491-F88A-5036-A51C-9BFD6DB574D5_d0e63250_href.png
Symbian3/PDK/Source/GUID-0B45D491-F88A-5036-A51C-9BFD6DB574D5_d0e67481_href.png
Symbian3/PDK/Source/GUID-0B4D4675-2CFB-5964-A869-7275202AC71D.dita
Symbian3/PDK/Source/GUID-0B6222F1-F5A1-5E9A-B495-C68585C92022.dita
Symbian3/PDK/Source/GUID-0BAE2D0E-604B-4A62-B5EB-AC68EAF7F589.dita
Symbian3/PDK/Source/GUID-0BD22FDB-1A5C-56AA-A7FC-BD2271B2F928.dita
Symbian3/PDK/Source/GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita
Symbian3/PDK/Source/GUID-0BF25E2A-99B9-5558-B805-019430409518.dita
Symbian3/PDK/Source/GUID-0C01305E-9E73-4E44-BD13-361C93CC5E79_d0e423843_href.png
Symbian3/PDK/Source/GUID-0C01305E-9E73-4E44-BD13-361C93CC5E79_d0e429696_href.png
Symbian3/PDK/Source/GUID-0C435514-EEC6-5660-BB5F-535790349632.dita
Symbian3/PDK/Source/GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1.dita
Symbian3/PDK/Source/GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita
Symbian3/PDK/Source/GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita
Symbian3/PDK/Source/GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita
Symbian3/PDK/Source/GUID-0CA7F22E-59D7-4D65-9D6C-735E4E0F0454.dita
Symbian3/PDK/Source/GUID-0CA8B17D-92D7-4293-B611-E0DDA05A6579_d0e63646_href.png
Symbian3/PDK/Source/GUID-0CA8B17D-92D7-4293-B611-E0DDA05A6579_d0e67868_href.png
Symbian3/PDK/Source/GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita
Symbian3/PDK/Source/GUID-0CCCF088-E636-4C12-AA5E-3E2CB04424AD_d0e424006_href.png
Symbian3/PDK/Source/GUID-0CCCF088-E636-4C12-AA5E-3E2CB04424AD_d0e429859_href.png
Symbian3/PDK/Source/GUID-0CD18555-07EB-545D-9D47-D69A6BE6D2C8.dita
Symbian3/PDK/Source/GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e17786_href.png
Symbian3/PDK/Source/GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e19778_href.png
Symbian3/PDK/Source/GUID-0D093559-793F-5CDC-BB66-8FE1C8A3850E.dita
Symbian3/PDK/Source/GUID-0D1E30D8-D900-5FD9-BD1F-1B93BAD8AEF5.dita
Symbian3/PDK/Source/GUID-0D2F811C-81C3-526F-8EA4-98E50261BF4B.dita
Symbian3/PDK/Source/GUID-0D3060BE-8C0F-564A-8979-C9A88C49C5E8_d0e108723_href.png
Symbian3/PDK/Source/GUID-0D3060BE-8C0F-564A-8979-C9A88C49C5E8_d0e111166_href.png
Symbian3/PDK/Source/GUID-0D619063-F2DB-53FC-A5E6-BC09AD915FA4.dita
Symbian3/PDK/Source/GUID-0DB79535-E4E6-50BD-852D-B2F177202C9C_d0e375610_href.png
Symbian3/PDK/Source/GUID-0DB79535-E4E6-50BD-852D-B2F177202C9C_d0e381454_href.png
Symbian3/PDK/Source/GUID-0DC3E5AA-1706-5255-ACD6-E7AB732E1095.dita
Symbian3/PDK/Source/GUID-0DD1EBC4-6068-5FE7-B649-CABA57E86195.dita
Symbian3/PDK/Source/GUID-0DE924C3-B740-515E-8B29-4BDEFDA2960B_d0e231757_href.png
Symbian3/PDK/Source/GUID-0DE924C3-B740-515E-8B29-4BDEFDA2960B_d0e237752_href.png
Symbian3/PDK/Source/GUID-0DEDC917-05C9-5D43-B839-73C043624BE9.dita
Symbian3/PDK/Source/GUID-0E21EAE4-BF71-55FD-9561-EA5530696627_d0e554061_href.png
Symbian3/PDK/Source/GUID-0E21EAE4-BF71-55FD-9561-EA5530696627_d0e561517_href.png
Symbian3/PDK/Source/GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0.dita
Symbian3/PDK/Source/GUID-0E55E007-913C-56DA-8BEF-7EC00FFCCE51_d0e512182_href.jpg
Symbian3/PDK/Source/GUID-0E55E007-913C-56DA-8BEF-7EC00FFCCE51_d0e519644_href.jpg
Symbian3/PDK/Source/GUID-0E695106-4139-4335-A11F-BD04418DD583.dita
Symbian3/PDK/Source/GUID-0E91173A-BA80-5817-866A-7A284573EBCE_d0e483000_href.png
Symbian3/PDK/Source/GUID-0E91173A-BA80-5817-866A-7A284573EBCE_d0e488829_href.png
Symbian3/PDK/Source/GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita
Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e100989_href.png
Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e79103_href.png
Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e80014_href.png
Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e83301_href.png
Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e84212_href.png
Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e96910_href.png
Symbian3/PDK/Source/GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF.dita
Symbian3/PDK/Source/GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita
Symbian3/PDK/Source/GUID-0F2AE495-F6D8-5351-BD83-76D579564C2E_d0e243480_href.png
Symbian3/PDK/Source/GUID-0F2AE495-F6D8-5351-BD83-76D579564C2E_d0e249491_href.png
Symbian3/PDK/Source/GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita
Symbian3/PDK/Source/GUID-0F5C8DA1-EF91-588B-A917-350793DA03A5_d0e63448_href.png
Symbian3/PDK/Source/GUID-0F5C8DA1-EF91-588B-A917-350793DA03A5_d0e67679_href.png
Symbian3/PDK/Source/GUID-0F784804-8452-4C92-ABB3-56B81BAED744.dita
Symbian3/PDK/Source/GUID-0F8D0399-58CD-4EB6-82DF-75D6BE5B0A84.dita
Symbian3/PDK/Source/GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita
Symbian3/PDK/Source/GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e596593_href.png
Symbian3/PDK/Source/GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e614538_href.png
Symbian3/PDK/Source/GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e624487_href.png
Symbian3/PDK/Source/GUID-0FE0B646-A62F-55A8-A6E6-587D0909CE19_d0e301860_href.png
Symbian3/PDK/Source/GUID-0FE0B646-A62F-55A8-A6E6-587D0909CE19_d0e307852_href.png
Symbian3/PDK/Source/GUID-0FF61B9C-8B0D-5369-B0DA-29AA169B4308_d0e110036_href.png
Symbian3/PDK/Source/GUID-0FF61B9C-8B0D-5369-B0DA-29AA169B4308_d0e112459_href.png
Symbian3/PDK/Source/GUID-10540A35-7E8E-40F0-BF93-CBC01884550C_d0e2555_href.png
Symbian3/PDK/Source/GUID-10540A35-7E8E-40F0-BF93-CBC01884550C_d0e2565_href.png
Symbian3/PDK/Source/GUID-107AE89E-901E-535F-8D1A-EE347D7822B1.dita
Symbian3/PDK/Source/GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e482716_href.png
Symbian3/PDK/Source/GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e488545_href.png
Symbian3/PDK/Source/GUID-10936B26-D4F3-5EC6-BBBA-009AA27045F7_d0e608580_href.jpg
Symbian3/PDK/Source/GUID-10936B26-D4F3-5EC6-BBBA-009AA27045F7_d0e647742_href.jpg
Symbian3/PDK/Source/GUID-10C32642-CF1C-5C60-A81B-9D65F03A45C4_d0e322506_href.png
Symbian3/PDK/Source/GUID-10C32642-CF1C-5C60-A81B-9D65F03A45C4_d0e328492_href.png
Symbian3/PDK/Source/GUID-10CF321F-3298-4527-BFF5-0351085C7C8C.dita
Symbian3/PDK/Source/GUID-10F1D390-2CB6-584B-B760-E6A6E1D8FDDA.dita
Symbian3/PDK/Source/GUID-110DB7EF-5E85-5BC4-9BBB-9A37B2D0C3A6.dita
Symbian3/PDK/Source/GUID-114A23CF-BF8B-54F5-8AF6-FEF007891884.dita
Symbian3/PDK/Source/GUID-114D4F3F-9358-5B50-94DC-45CCBA783DF4.dita
Symbian3/PDK/Source/GUID-1158BDD3-69F7-5892-9887-FAE30110E33C_d0e547793_href.png
Symbian3/PDK/Source/GUID-1158BDD3-69F7-5892-9887-FAE30110E33C_d0e555249_href.png
Symbian3/PDK/Source/GUID-11678281-9A86-5D8A-B907-D7940B3A07D4_d0e450474_href.png
Symbian3/PDK/Source/GUID-11678281-9A86-5D8A-B907-D7940B3A07D4_d0e456319_href.png
Symbian3/PDK/Source/GUID-11761887-0C37-46E6-A7F6-E6F7FDE7C5A1.dita
Symbian3/PDK/Source/GUID-1197F032-1B73-58E1-8B45-E5D58B9DF788.dita
Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e101097_href.png
Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e79481_href.png
Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e83679_href.png
Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e84215_href.png
Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e88413_href.png
Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e97018_href.png
Symbian3/PDK/Source/GUID-11BF98BD-814A-5CB8-B83E-6D14F38F1783.dita
Symbian3/PDK/Source/GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita
Symbian3/PDK/Source/GUID-11CBC0BA-3683-584A-9DC9-8BD3C9573F01_d0e137791_href.png
Symbian3/PDK/Source/GUID-11CBC0BA-3683-584A-9DC9-8BD3C9573F01_d0e140040_href.png
Symbian3/PDK/Source/GUID-11E35C60-12DF-4014-AB3F-0314D8536AC0_d0e16457_href.png
Symbian3/PDK/Source/GUID-11E35C60-12DF-4014-AB3F-0314D8536AC0_d0e16547_href.png
Symbian3/PDK/Source/GUID-11F00FB3-7353-5545-9A39-BEB3B489A15C.dita
Symbian3/PDK/Source/GUID-11F63309-1C6B-52D4-A1A0-D7F3C64DE4F5.dita
Symbian3/PDK/Source/GUID-120CA508-9984-54D0-B366-6D10D646FD49_d0e454529_href.png
Symbian3/PDK/Source/GUID-120CA508-9984-54D0-B366-6D10D646FD49_d0e460374_href.png
Symbian3/PDK/Source/GUID-1248ED3E-438C-41E5-81D4-19FC721408BA_d0e105014_href.png
Symbian3/PDK/Source/GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita
Symbian3/PDK/Source/GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita
Symbian3/PDK/Source/GUID-12C9C36B-8AD4-544E-A6A3-54A799EF0280.dita
Symbian3/PDK/Source/GUID-12CD8E91-4102-5253-A7DE-E5436028764F_d0e406936_href.png
Symbian3/PDK/Source/GUID-12CD8E91-4102-5253-A7DE-E5436028764F_d0e412789_href.png
Symbian3/PDK/Source/GUID-12D8C373-5199-5B89-9910-00F769AC164A.dita
Symbian3/PDK/Source/GUID-130C21D7-0A39-5A54-8545-C82B2ED4398C.dita
Symbian3/PDK/Source/GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e1746_href.png
Symbian3/PDK/Source/GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e1751_href.png
Symbian3/PDK/Source/GUID-135681B6-3131-57C6-AFED-CCE35431AF9E_d0e159999_href.png
Symbian3/PDK/Source/GUID-135681B6-3131-57C6-AFED-CCE35431AF9E_d0e166100_href.png
Symbian3/PDK/Source/GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e393700_href.png
Symbian3/PDK/Source/GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e399553_href.png
Symbian3/PDK/Source/GUID-1391CDCC-9A09-54FB-BA7D-BC7A91DB2351.dita
Symbian3/PDK/Source/GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita
Symbian3/PDK/Source/GUID-139E7235-4F23-5F0E-A969-6D7165AE5298.dita
Symbian3/PDK/Source/GUID-13AA46F9-7D5E-5BBE-8021-C9326121E605.dita
Symbian3/PDK/Source/GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita
Symbian3/PDK/Source/GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e640624_href.png
Symbian3/PDK/Source/GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e653446_href.png
Symbian3/PDK/Source/GUID-13DEE42F-3EAB-4EB7-9CE1-C4930BCACE01.dita
Symbian3/PDK/Source/GUID-13F10D4C-BA0C-5B46-804D-191A70C36324_d0e489576_href.png
Symbian3/PDK/Source/GUID-13F10D4C-BA0C-5B46-804D-191A70C36324_d0e495397_href.png
Symbian3/PDK/Source/GUID-141633B8-A3D4-5BBB-97C5-3D928746ECE7.dita
Symbian3/PDK/Source/GUID-141D8786-9987-4E5E-9395-484C87B323FB_d0e498445_href.png
Symbian3/PDK/Source/GUID-141D8786-9987-4E5E-9395-484C87B323FB_d0e505907_href.png
Symbian3/PDK/Source/GUID-1467745D-7C3F-52EC-8C1E-7E2F505B7313_d0e588963_href.png
Symbian3/PDK/Source/GUID-1467745D-7C3F-52EC-8C1E-7E2F505B7313_d0e616857_href.png
Symbian3/PDK/Source/GUID-147C77CB-16A1-548B-A1C7-05F2C5FF9E27_d0e462630_href.png
Symbian3/PDK/Source/GUID-147C77CB-16A1-548B-A1C7-05F2C5FF9E27_d0e468475_href.png
Symbian3/PDK/Source/GUID-14A0FC93-2AD9-5B33-B423-2CCAD3C96B5F.dita
Symbian3/PDK/Source/GUID-14B2BA6D-EB1D-527C-BBA5-27097D47F5E1_d0e231842_href.png
Symbian3/PDK/Source/GUID-14B2BA6D-EB1D-527C-BBA5-27097D47F5E1_d0e237837_href.png
Symbian3/PDK/Source/GUID-14B9B9FB-E7E4-5C28-9821-52EE40B2658B_d0e231164_href.png
Symbian3/PDK/Source/GUID-14B9B9FB-E7E4-5C28-9821-52EE40B2658B_d0e237159_href.png
Symbian3/PDK/Source/GUID-15591211-58D3-56B6-868F-D34C30ED7A7A_d0e218436_href.png
Symbian3/PDK/Source/GUID-15591211-58D3-56B6-868F-D34C30ED7A7A_d0e224456_href.png
Symbian3/PDK/Source/GUID-155C5B39-CB9B-5405-B9BB-EB34CA7C43BC_d0e553988_href.png
Symbian3/PDK/Source/GUID-155C5B39-CB9B-5405-B9BB-EB34CA7C43BC_d0e561444_href.png
Symbian3/PDK/Source/GUID-15CAB5AF-CAA5-5D1B-9236-7874BF944484_d0e547506_href.png
Symbian3/PDK/Source/GUID-15CAB5AF-CAA5-5D1B-9236-7874BF944484_d0e554962_href.png
Symbian3/PDK/Source/GUID-15D5E0D3-B643-5C72-A3D4-03E2480890EF_d0e19121_href.png
Symbian3/PDK/Source/GUID-15D5E0D3-B643-5C72-A3D4-03E2480890EF_d0e21088_href.png
Symbian3/PDK/Source/GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e140088_href.png
Symbian3/PDK/Source/GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e142337_href.png
Symbian3/PDK/Source/GUID-1635E243-BDC9-55D8-8913-0D2DB622B22C_d0e233865_href.png
Symbian3/PDK/Source/GUID-1635E243-BDC9-55D8-8913-0D2DB622B22C_d0e239855_href.png
Symbian3/PDK/Source/GUID-16406797-20EA-5469-B036-0B46B6162385.dita
Symbian3/PDK/Source/GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita
Symbian3/PDK/Source/GUID-165EE4DD-C9CA-430B-8377-068A4194716E.dita
Symbian3/PDK/Source/GUID-166BB47B-3E5A-56C6-8FBE-0D71924C11DF_d0e449994_href.png
Symbian3/PDK/Source/GUID-166BB47B-3E5A-56C6-8FBE-0D71924C11DF_d0e455839_href.png
Symbian3/PDK/Source/GUID-16781448-75CB-5C11-B9E6-288BA3C0B43E.dita
Symbian3/PDK/Source/GUID-16794D4F-23D7-5A96-B363-E25A3DD75C45.dita
Symbian3/PDK/Source/GUID-1686AFA7-F0FA-5B3D-9E2F-EE2D7CDC338B_d0e161014_href.png
Symbian3/PDK/Source/GUID-1686AFA7-F0FA-5B3D-9E2F-EE2D7CDC338B_d0e167115_href.png
Symbian3/PDK/Source/GUID-16950F22-F5DE-4D52-8414-544105BA3200.dita
Symbian3/PDK/Source/GUID-16A1C613-288D-471C-8551-51B61290E28F.dita
Symbian3/PDK/Source/GUID-16AB388A-ED3E-4901-857D-834072437D25.dita
Symbian3/PDK/Source/GUID-16AED228-539F-4BF7-A7FD-9A01FF1A9A84.dita
Symbian3/PDK/Source/GUID-16B42854-F27D-5CB3-BCFE-8F711793EE60_d0e582704_href.png
Symbian3/PDK/Source/GUID-16B42854-F27D-5CB3-BCFE-8F711793EE60_d0e603974_href.png
Symbian3/PDK/Source/GUID-16C323DC-B43F-5621-B617-C31FBB25379B_d0e156178_href.png
Symbian3/PDK/Source/GUID-16C323DC-B43F-5621-B617-C31FBB25379B_d0e600212_href.png
Symbian3/PDK/Source/GUID-16D0854D-55EF-4E22-B7D2-72603699BC59.dita
Symbian3/PDK/Source/GUID-16D6C3BB-45C0-5669-93FB-846386F586B4_d0e229998_href.png
Symbian3/PDK/Source/GUID-16D6C3BB-45C0-5669-93FB-846386F586B4_d0e235993_href.png
Symbian3/PDK/Source/GUID-1704898B-7836-53C2-8743-F733836EDE7B_d0e547128_href.png
Symbian3/PDK/Source/GUID-1704898B-7836-53C2-8743-F733836EDE7B_d0e554584_href.png
Symbian3/PDK/Source/GUID-170EDC68-77C7-4FD9-A81E-C9F75698F7A3.dita
Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e90521_href.png
Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e91991_href.png
Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e94719_href.png
Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e96189_href.png
Symbian3/PDK/Source/GUID-1742B2A1-6EC1-5368-919B-362516A5D452_d0e577370_href.png
Symbian3/PDK/Source/GUID-1742B2A1-6EC1-5368-919B-362516A5D452_d0e594815_href.png
Symbian3/PDK/Source/GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita
Symbian3/PDK/Source/GUID-17798BAC-F887-515F-B90E-CAAE81D8530F.dita
Symbian3/PDK/Source/GUID-178E140F-BB15-5A82-99A6-D1BC0E11E018.dita
Symbian3/PDK/Source/GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5.dita
Symbian3/PDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita
Symbian3/PDK/Source/GUID-17D1489B-F7F7-5CA7-9F81-850AA9ACEFEB_d0e546792_href.png
Symbian3/PDK/Source/GUID-17D1489B-F7F7-5CA7-9F81-850AA9ACEFEB_d0e554248_href.png
Symbian3/PDK/Source/GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita
Symbian3/PDK/Source/GUID-182326EB-E818-4146-82D9-494D59E430B8-master.png
Symbian3/PDK/Source/GUID-182326EB-E818-4146-82D9-494D59E430B8_d0e105087_href.png
Symbian3/PDK/Source/GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1.dita
Symbian3/PDK/Source/GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita
Symbian3/PDK/Source/GUID-18358882-A4DD-5010-BED7-4ACAE021495D.dita
Symbian3/PDK/Source/GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e653899_href.png
Symbian3/PDK/Source/GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e666726_href.png
Symbian3/PDK/Source/GUID-18547A2C-7425-5478-8235-EC6D3848B404_d0e278520_href.png
Symbian3/PDK/Source/GUID-18547A2C-7425-5478-8235-EC6D3848B404_d0e284520_href.png
Symbian3/PDK/Source/GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita
Symbian3/PDK/Source/GUID-188F9462-F805-522A-84FF-770EAB045504.dita
Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita
Symbian3/PDK/Source/GUID-18D2E6CC-ED84-5A6F-B25D-7693432A2E58_d0e230532_href.png
Symbian3/PDK/Source/GUID-18D2E6CC-ED84-5A6F-B25D-7693432A2E58_d0e236527_href.png
Symbian3/PDK/Source/GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2.dita
Symbian3/PDK/Source/GUID-18D92465-3F62-55CF-8229-EE811FD5F568.dita
Symbian3/PDK/Source/GUID-1910C54E-44E0-4D36-820A-BCD5FFCDA719.dita
Symbian3/PDK/Source/GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e654514_href.png
Symbian3/PDK/Source/GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e667341_href.png
Symbian3/PDK/Source/GUID-192C7AC8-DCBD-5AA8-984A-35D9602C0ADB_d0e471517_href.jpg
Symbian3/PDK/Source/GUID-192C7AC8-DCBD-5AA8-984A-35D9602C0ADB_d0e477353_href.jpg
Symbian3/PDK/Source/GUID-1944C350-900E-5621-BF43-6A366844E9DD.dita
Symbian3/PDK/Source/GUID-1969956D-CDA0-5DA0-ACF8-69AFBBEC1408.dita
Symbian3/PDK/Source/GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1.dita
Symbian3/PDK/Source/GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-5-1.dita
Symbian3/PDK/Source/GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-9-1.dita
Symbian3/PDK/Source/GUID-198DCEE2-5089-5D0C-83CE-E1CDC2AD3196_d0e230910_href.png
Symbian3/PDK/Source/GUID-198DCEE2-5089-5D0C-83CE-E1CDC2AD3196_d0e236905_href.png
Symbian3/PDK/Source/GUID-19B2E0BF-9766-55C6-A37F-188A9EDAFF39_d0e479166_href.png
Symbian3/PDK/Source/GUID-19B2E0BF-9766-55C6-A37F-188A9EDAFF39_d0e484995_href.png
Symbian3/PDK/Source/GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita
Symbian3/PDK/Source/GUID-19E070EA-13C2-5A0C-9DF8-EC2E7BBC4F96.dita
Symbian3/PDK/Source/GUID-19E5720A-2B50-4515-AE90-A40C1BEDF4BA_d0e88498_href.png
Symbian3/PDK/Source/GUID-19E5720A-2B50-4515-AE90-A40C1BEDF4BA_d0e92696_href.png
Symbian3/PDK/Source/GUID-1A02B1FB-FDE3-565B-8E52-0F7FD3AC5188_d0e263892_href.png
Symbian3/PDK/Source/GUID-1A02B1FB-FDE3-565B-8E52-0F7FD3AC5188_d0e269892_href.png
Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e239367_href.png
Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e241047_href.png
Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e245362_href.png
Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e247058_href.png
Symbian3/PDK/Source/GUID-1A3E282E-ACC0-5F88-A759-3ED6106B02B4.dita
Symbian3/PDK/Source/GUID-1A488C86-C0D7-49DE-A32B-6AFEDDC9E89F_d0e103032_href.png
Symbian3/PDK/Source/GUID-1A488C86-C0D7-49DE-A32B-6AFEDDC9E89F_d0e98952_href.png
Symbian3/PDK/Source/GUID-1A5C7320-B017-5CD9-B3EA-1301CC08A762.dita
Symbian3/PDK/Source/GUID-1A7183EC-B55E-5B61-8965-89C939ECB395_d0e342102_href.png
Symbian3/PDK/Source/GUID-1A7183EC-B55E-5B61-8965-89C939ECB395_d0e348053_href.png
Symbian3/PDK/Source/GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B.dita
Symbian3/PDK/Source/GUID-1A905563-EF60-4A01-BC55-5B35904F96AB_d0e91585_href.png
Symbian3/PDK/Source/GUID-1A905563-EF60-4A01-BC55-5B35904F96AB_d0e95783_href.png
Symbian3/PDK/Source/GUID-1A92047A-3C1D-5B4C-949B-98D770F5F530_d0e409012_href.png
Symbian3/PDK/Source/GUID-1A92047A-3C1D-5B4C-949B-98D770F5F530_d0e414865_href.png
Symbian3/PDK/Source/GUID-1A9BA6A1-C6BB-5196-B2D8-355A78B79AE3.dita
Symbian3/PDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita
Symbian3/PDK/Source/GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-9-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98.dita
Symbian3/PDK/Source/GUID-1AAA88BB-19AD-5B8E-993C-11F4B7CD90EB.dita
Symbian3/PDK/Source/GUID-1AF99DF6-C5BE-5713-940D-5E9FBD43F123.dita
Symbian3/PDK/Source/GUID-1AFDDD6F-CB99-587D-A0B5-D3F5B27F7135.dita
Symbian3/PDK/Source/GUID-1B07A953-D652-59A7-8863-32875955B837_d0e449475_href.png
Symbian3/PDK/Source/GUID-1B07A953-D652-59A7-8863-32875955B837_d0e455320_href.png
Symbian3/PDK/Source/GUID-1B64E1D9-33AB-4C28-A471-22D4C51FEC43.dita
Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-1B96241D-1914-5754-BB4F-954778CE342C_d0e450072_href.png
Symbian3/PDK/Source/GUID-1B96241D-1914-5754-BB4F-954778CE342C_d0e455917_href.png
Symbian3/PDK/Source/GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254.dita
Symbian3/PDK/Source/GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e377081_href.png
Symbian3/PDK/Source/GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e382925_href.png
Symbian3/PDK/Source/GUID-1BDADA7A-D517-49F4-AF46-AFC2B7758571.dita
Symbian3/PDK/Source/GUID-1BDBFC07-A8E8-5150-953D-CA9CFE1CBF16_d0e351375_href.jpg
Symbian3/PDK/Source/GUID-1BDBFC07-A8E8-5150-953D-CA9CFE1CBF16_d0e357313_href.jpg
Symbian3/PDK/Source/GUID-1BEA00A2-7934-5CF6-A838-44CCA4A28F35.dita
Symbian3/PDK/Source/GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e317363_href.png
Symbian3/PDK/Source/GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e323353_href.png
Symbian3/PDK/Source/GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita
Symbian3/PDK/Source/GUID-1CAECA45-9BAE-583F-B16C-FB8ACD0264D3.dita
Symbian3/PDK/Source/GUID-1CB7491C-1207-5C2E-979F-8ABEB95EE9D9.dita
Symbian3/PDK/Source/GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita
Symbian3/PDK/Source/GUID-1CC6FEF0-7D1E-5329-8276-22ACFE3DE362.dita
Symbian3/PDK/Source/GUID-1CCFBCD1-543F-5C53-A1E7-594591BB5905.dita
Symbian3/PDK/Source/GUID-1D0301C5-52D8-4E4F-BEC3-52037BA2A003.dita
Symbian3/PDK/Source/GUID-1D35F788-A470-5269-93E0-7C33A0013489.dita
Symbian3/PDK/Source/GUID-1D399C05-6CC0-4781-A6E1-1C94CFF8995B_d0e90481_href.png
Symbian3/PDK/Source/GUID-1D399C05-6CC0-4781-A6E1-1C94CFF8995B_d0e94679_href.png
Symbian3/PDK/Source/GUID-1D3E61BD-C09D-51FD-A10B-22392FDAEFEC.dita
Symbian3/PDK/Source/GUID-1D58231A-7DDF-46DB-B5A6-7A326BD954F3_d0e455588_href.png
Symbian3/PDK/Source/GUID-1D58231A-7DDF-46DB-B5A6-7A326BD954F3_d0e461433_href.png
Symbian3/PDK/Source/GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-11-1-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1.dita
Symbian3/PDK/Source/GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E.dita
Symbian3/PDK/Source/GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita
Symbian3/PDK/Source/GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588.dita
Symbian3/PDK/Source/GUID-1DD48C1F-B7E0-5379-BDF1-70C8744B57DD_d0e275189_href.png
Symbian3/PDK/Source/GUID-1DD48C1F-B7E0-5379-BDF1-70C8744B57DD_d0e281189_href.png
Symbian3/PDK/Source/GUID-1DDFFB60-BBA8-500E-A9B1-F048EE5BFBD0_d0e236781_href.png
Symbian3/PDK/Source/GUID-1DDFFB60-BBA8-500E-A9B1-F048EE5BFBD0_d0e242754_href.png
Symbian3/PDK/Source/GUID-1E25EE44-9421-549C-B79E-AEFE87308011_d0e519273_href.png
Symbian3/PDK/Source/GUID-1E25EE44-9421-549C-B79E-AEFE87308011_d0e526733_href.png
Symbian3/PDK/Source/GUID-1E2DC905-472F-519F-A390-A1189FCB0F9D_d0e611107_href.jpg
Symbian3/PDK/Source/GUID-1E2DC905-472F-519F-A390-A1189FCB0F9D_d0e650261_href.jpg
Symbian3/PDK/Source/GUID-1E43E258-A926-5D24-B0A5-8756491C687F.dita
Symbian3/PDK/Source/GUID-1E446762-AFE2-4198-8CD7-8C4466392543.dita
Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F-master.png
Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e568315_href.png
Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e568925_href.png
Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e572398_href.png
Symbian3/PDK/Source/GUID-1E4FFC56-8473-4E0A-B2E2-4E8DE8B1D00F.dita
Symbian3/PDK/Source/GUID-1E87CA7A-9733-58A1-A747-F5F3DE9B64D7.dita
Symbian3/PDK/Source/GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e228146_href.png
Symbian3/PDK/Source/GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e234145_href.png
Symbian3/PDK/Source/GUID-1F1A6FCD-DA06-5F8B-8F2C-0BAA08DE0041.dita
Symbian3/PDK/Source/GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita
Symbian3/PDK/Source/GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita
Symbian3/PDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita
Symbian3/PDK/Source/GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita
Symbian3/PDK/Source/GUID-201E6D4C-5F0F-5AA2-BC79-91E3C62C8971.dita
Symbian3/PDK/Source/GUID-2051AAEF-140C-5EEF-874F-52971E76F853_d0e442925_href.png
Symbian3/PDK/Source/GUID-2051AAEF-140C-5EEF-874F-52971E76F853_d0e448770_href.png
Symbian3/PDK/Source/GUID-20552A48-93D5-5B0E-8B53-A01913CC7A9F_d0e230006_href.png
Symbian3/PDK/Source/GUID-20552A48-93D5-5B0E-8B53-A01913CC7A9F_d0e236001_href.png
Symbian3/PDK/Source/GUID-209F19E9-B61B-5758-B742-CA02B8BD5B02.dita
Symbian3/PDK/Source/GUID-20B2C96A-9742-4CB0-A37F-19B65765E826.dita
Symbian3/PDK/Source/GUID-20B364FB-FC12-5EF1-B0EC-1A845693EFFD_d0e261138_href.png
Symbian3/PDK/Source/GUID-20B364FB-FC12-5EF1-B0EC-1A845693EFFD_d0e267147_href.png
Symbian3/PDK/Source/GUID-20C633DE-CD37-5807-9F2E-6E4CFC35DB28_d0e244837_href.png
Symbian3/PDK/Source/GUID-20C633DE-CD37-5807-9F2E-6E4CFC35DB28_d0e250848_href.png
Symbian3/PDK/Source/GUID-20FECB77-2E1D-4104-948F-8E878DAFE1B8_d0e95866_href.png
Symbian3/PDK/Source/GUID-20FECB77-2E1D-4104-948F-8E878DAFE1B8_d0e99985_href.png
Symbian3/PDK/Source/GUID-20FEEF54-23CB-4D30-B846-11B4ACE8E772_d0e2859_href.png
Symbian3/PDK/Source/GUID-20FEEF54-23CB-4D30-B846-11B4ACE8E772_d0e2869_href.png
Symbian3/PDK/Source/GUID-2105B5F0-2D00-5ECA-8859-A8A432423327_d0e339048_href.png
Symbian3/PDK/Source/GUID-2105B5F0-2D00-5ECA-8859-A8A432423327_d0e345020_href.png
Symbian3/PDK/Source/GUID-212C33A7-19DE-5936-B78E-CB7357FAEB5B_d0e587737_href.png
Symbian3/PDK/Source/GUID-212C33A7-19DE-5936-B78E-CB7357FAEB5B_d0e615631_href.png
Symbian3/PDK/Source/GUID-21562C58-896C-48B0-A574-975E1326A93A_d0e166696_href.jpg
Symbian3/PDK/Source/GUID-21562C58-896C-48B0-A574-975E1326A93A_d0e172789_href.jpg
Symbian3/PDK/Source/GUID-2161BD64-889B-5EAB-B023-1162FE9619DB.dita
Symbian3/PDK/Source/GUID-217C992B-AC56-42A7-9920-DEC891D233A5.dita
Symbian3/PDK/Source/GUID-2183F898-48C2-53A3-ADA0-1132EF7D4380_d0e170520_href.png
Symbian3/PDK/Source/GUID-2183F898-48C2-53A3-ADA0-1132EF7D4380_d0e176594_href.png
Symbian3/PDK/Source/GUID-21A1D1D2-524E-560E-88C8-16E2E49E2B7F_d0e354227_href.jpg
Symbian3/PDK/Source/GUID-21A1D1D2-524E-560E-88C8-16E2E49E2B7F_d0e360144_href.jpg
Symbian3/PDK/Source/GUID-21E43B0E-85C7-536E-83A5-E829820775BF_d0e485288_href.png
Symbian3/PDK/Source/GUID-21E43B0E-85C7-536E-83A5-E829820775BF_d0e491117_href.png
Symbian3/PDK/Source/GUID-21EF9E6F-A0BF-5EB2-9E3F-CA6A011D4C89_d0e237456_href.png
Symbian3/PDK/Source/GUID-21EF9E6F-A0BF-5EB2-9E3F-CA6A011D4C89_d0e243429_href.png
Symbian3/PDK/Source/GUID-21F0EE0E-6CC6-44E7-9FED-FB8911E3C3A2_d0e282741_href.jpg
Symbian3/PDK/Source/GUID-21F0EE0E-6CC6-44E7-9FED-FB8911E3C3A2_d0e288732_href.jpg
Symbian3/PDK/Source/GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita
Symbian3/PDK/Source/GUID-220D3B2F-7A88-55AB-942F-1735A6E9E420_d0e536541_href.png
Symbian3/PDK/Source/GUID-220D3B2F-7A88-55AB-942F-1735A6E9E420_d0e544001_href.png
Symbian3/PDK/Source/GUID-220D7D10-5571-46C4-BA2B-B4FBAE4153F1_d0e63749_href.png
Symbian3/PDK/Source/GUID-220D7D10-5571-46C4-BA2B-B4FBAE4153F1_d0e67971_href.png
Symbian3/PDK/Source/GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e102803_href.png
Symbian3/PDK/Source/GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e98725_href.png
Symbian3/PDK/Source/GUID-22699952-D032-5B69-B38A-43347A40A420_d0e582132_href.png
Symbian3/PDK/Source/GUID-22699952-D032-5B69-B38A-43347A40A420_d0e631420_href.png
Symbian3/PDK/Source/GUID-2273C35F-C8FD-5321-BAE8-4995C5B374E5.dita
Symbian3/PDK/Source/GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita
Symbian3/PDK/Source/GUID-22E46647-D677-5A47-A7E0-E1E0AE736B27.dita
Symbian3/PDK/Source/GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1.dita
Symbian3/PDK/Source/GUID-231840A2-255B-5200-8AD1-1D7667FCB448.dita
Symbian3/PDK/Source/GUID-231E58F2-7935-462A-B048-51729D8245D4_d0e13927_href.png
Symbian3/PDK/Source/GUID-231E58F2-7935-462A-B048-51729D8245D4_d0e14027_href.png
Symbian3/PDK/Source/GUID-236C0D1D-AC4C-5C08-9089-1AC59881CD39_d0e210776_href.jpg
Symbian3/PDK/Source/GUID-236C0D1D-AC4C-5C08-9089-1AC59881CD39_d0e216777_href.jpg
Symbian3/PDK/Source/GUID-2380FDDE-5489-5B1C-87BB-1FD882E385D2.dita
Symbian3/PDK/Source/GUID-2393237A-E60F-5556-8657-B0AA6470225C.dita
Symbian3/PDK/Source/GUID-239B8B32-5816-575E-97B1-FF7B68BC7575_d0e144608_href.png
Symbian3/PDK/Source/GUID-239B8B32-5816-575E-97B1-FF7B68BC7575_d0e146857_href.png
Symbian3/PDK/Source/GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita
Symbian3/PDK/Source/GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.dita
Symbian3/PDK/Source/GUID-24039DCE-B5C4-46CB-9E02-AB421C64FB87.dita
Symbian3/PDK/Source/GUID-244631CF-03F9-4C48-9802-682A76E9ECCC.dita
Symbian3/PDK/Source/GUID-245FC4CA-EB57-5745-AD2E-79E33D43D912_d0e321829_href.png
Symbian3/PDK/Source/GUID-245FC4CA-EB57-5745-AD2E-79E33D43D912_d0e327815_href.png
Symbian3/PDK/Source/GUID-2468821F-6C66-5761-AE56-CEC942A2EE95_d0e242075_href.png
Symbian3/PDK/Source/GUID-2468821F-6C66-5761-AE56-CEC942A2EE95_d0e248086_href.png
Symbian3/PDK/Source/GUID-2472E5E0-C33A-51B4-8210-89D7DEFA87C8_d0e317532_href.png
Symbian3/PDK/Source/GUID-2472E5E0-C33A-51B4-8210-89D7DEFA87C8_d0e323522_href.png
Symbian3/PDK/Source/GUID-24860917-0FE2-5C8F-B436-96928350996E.dita
Symbian3/PDK/Source/GUID-24B8686D-727A-47A8-B01D-1BA1FBC8F771_d0e165375_href.png
Symbian3/PDK/Source/GUID-24B8686D-727A-47A8-B01D-1BA1FBC8F771_d0e171468_href.png
Symbian3/PDK/Source/GUID-24D16BF8-7BF1-5FF2-BCA8-E5200A9E8431.dita
Symbian3/PDK/Source/GUID-24D51B0B-7EBE-49AE-84CF-098096BE0A1C.dita
Symbian3/PDK/Source/GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita
Symbian3/PDK/Source/GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e435419_href.png
Symbian3/PDK/Source/GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e441264_href.png
Symbian3/PDK/Source/GUID-25035286-5134-51F6-A3B6-C0DF0E802719.dita
Symbian3/PDK/Source/GUID-2565AD08-6D97-5EF5-9CA2-83D6A953D772_d0e431716_href.png
Symbian3/PDK/Source/GUID-2565AD08-6D97-5EF5-9CA2-83D6A953D772_d0e437561_href.png
Symbian3/PDK/Source/GUID-257212F5-A414-4F17-A786-DB3168218139_d0e95477_href.png
Symbian3/PDK/Source/GUID-257212F5-A414-4F17-A786-DB3168218139_d0e99673_href.png
Symbian3/PDK/Source/GUID-258FA5F7-5069-5DFE-8F6E-57063064CE65_d0e491086_href.jpg
Symbian3/PDK/Source/GUID-258FA5F7-5069-5DFE-8F6E-57063064CE65_d0e496901_href.jpg
Symbian3/PDK/Source/GUID-25A63716-D637-589D-BAB7-B962455F2DC6_d0e243458_href.png
Symbian3/PDK/Source/GUID-25A63716-D637-589D-BAB7-B962455F2DC6_d0e249469_href.png
Symbian3/PDK/Source/GUID-25CBA151-ED8E-5A88-A9FD-F20810371B4D_d0e316032_href.png
Symbian3/PDK/Source/GUID-25CBA151-ED8E-5A88-A9FD-F20810371B4D_d0e322022_href.png
Symbian3/PDK/Source/GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita
Symbian3/PDK/Source/GUID-260E0D27-DCC3-52D5-A7E1-36152A04B7C6_d0e594061_href.jpg
Symbian3/PDK/Source/GUID-260E0D27-DCC3-52D5-A7E1-36152A04B7C6_d0e621955_href.jpg
Symbian3/PDK/Source/GUID-2610E11C-26FA-538E-A3E1-34AADA35F20B.dita
Symbian3/PDK/Source/GUID-261ADCEC-C8C8-46E3-A7DC-804AC868C233.dita
Symbian3/PDK/Source/GUID-2622DE31-AA12-5FAD-86FB-B13259EFC6D9_d0e380085_href.png
Symbian3/PDK/Source/GUID-2622DE31-AA12-5FAD-86FB-B13259EFC6D9_d0e385938_href.png
Symbian3/PDK/Source/GUID-26354520-8E9C-58B8-81E7-001EDE9AB77F_d0e276441_href.png
Symbian3/PDK/Source/GUID-26354520-8E9C-58B8-81E7-001EDE9AB77F_d0e282441_href.png
Symbian3/PDK/Source/GUID-26399981-1E45-5578-851E-D234295F3B05_d0e106461_href.png
Symbian3/PDK/Source/GUID-26399981-1E45-5578-851E-D234295F3B05_d0e108904_href.png
Symbian3/PDK/Source/GUID-26435FE1-D912-4AA2-96EE-82B35DA231E6.dita
Symbian3/PDK/Source/GUID-2645AE91-8087-5423-95A7-8BC6EFD271E7.dita
Symbian3/PDK/Source/GUID-26778399-0105-413F-A39D-535A3BF5EBE2_d0e86022_href.png
Symbian3/PDK/Source/GUID-26778399-0105-413F-A39D-535A3BF5EBE2_d0e90220_href.png
Symbian3/PDK/Source/GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1.dita
Symbian3/PDK/Source/GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita
Symbian3/PDK/Source/GUID-267D1E20-002E-53C7-8AE5-E063206C1562.dita
Symbian3/PDK/Source/GUID-269D6756-98B5-5928-9A83-261C3F729BCE_d0e550054_href.png
Symbian3/PDK/Source/GUID-269D6756-98B5-5928-9A83-261C3F729BCE_d0e557510_href.png
Symbian3/PDK/Source/GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e265087_href.png
Symbian3/PDK/Source/GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e271087_href.png
Symbian3/PDK/Source/GUID-26CE565F-900B-5141-91AE-A5976213B8BF_d0e231227_href.png
Symbian3/PDK/Source/GUID-26CE565F-900B-5141-91AE-A5976213B8BF_d0e237222_href.png
Symbian3/PDK/Source/GUID-26D1E607-C63F-5A2D-9482-2A9A85F466C8_d0e244413_href.png
Symbian3/PDK/Source/GUID-26D1E607-C63F-5A2D-9482-2A9A85F466C8_d0e250424_href.png
Symbian3/PDK/Source/GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e556381_href.png
Symbian3/PDK/Source/GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e563837_href.png
Symbian3/PDK/Source/GUID-26E2294F-871F-45D1-B71C-9F470703A9C8_d0e63793_href.png
Symbian3/PDK/Source/GUID-26E2294F-871F-45D1-B71C-9F470703A9C8_d0e68015_href.png
Symbian3/PDK/Source/GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita
Symbian3/PDK/Source/GUID-2700AAC8-A034-5E7D-B0E0-26B49E68BB18.dita
Symbian3/PDK/Source/GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita
Symbian3/PDK/Source/GUID-271E14D1-7B9B-5048-B1F0-1E25B4EA4E16.dita
Symbian3/PDK/Source/GUID-27340D18-A31D-512E-920A-B06C784A978A.dita
Symbian3/PDK/Source/GUID-2735BDAF-295F-5F1E-8925-8F4212D95CD1_d0e365862_href.png
Symbian3/PDK/Source/GUID-2735BDAF-295F-5F1E-8925-8F4212D95CD1_d0e371710_href.png
Symbian3/PDK/Source/GUID-2751DBB8-D882-5803-9881-1C1F7B4FE413.dita
Symbian3/PDK/Source/GUID-27529BB0-8034-56B0-82FA-3E4CFDEBC99A_d0e507096_href.png
Symbian3/PDK/Source/GUID-27529BB0-8034-56B0-82FA-3E4CFDEBC99A_d0e514558_href.png
Symbian3/PDK/Source/GUID-2762FDF6-F76D-5268-AE2D-4ABA807CFFEE.dita
Symbian3/PDK/Source/GUID-27EC3C5B-175C-5D27-874C-43D46AA44C08_d0e490238_href.png
Symbian3/PDK/Source/GUID-27EC3C5B-175C-5D27-874C-43D46AA44C08_d0e496056_href.png
Symbian3/PDK/Source/GUID-27F345DA-7969-5B3B-B2BD-285CD168CF72.dita
Symbian3/PDK/Source/GUID-281CBD4C-44AC-5E5C-B594-D798F21B131F_d0e425670_href.png
Symbian3/PDK/Source/GUID-281CBD4C-44AC-5E5C-B594-D798F21B131F_d0e431515_href.png
Symbian3/PDK/Source/GUID-28222243-1531-524F-81A7-070FF6E98C4C_d0e276675_href.png
Symbian3/PDK/Source/GUID-28222243-1531-524F-81A7-070FF6E98C4C_d0e282675_href.png
Symbian3/PDK/Source/GUID-28227926-2D5A-500C-B2BC-0EE6CC077DBE.dita
Symbian3/PDK/Source/GUID-2861F3D9-875E-5AB3-9600-B328F042CC38.dita
Symbian3/PDK/Source/GUID-28844FE0-AE0F-531C-826E-CDA8400A0581.dita
Symbian3/PDK/Source/GUID-28B9B737-AA79-5595-8DDE-7DD52402C0B9.dita
Symbian3/PDK/Source/GUID-28E3645D-6673-569D-BF4A-409DDEA07CA9_d0e155782_href.png
Symbian3/PDK/Source/GUID-28E3645D-6673-569D-BF4A-409DDEA07CA9_d0e161883_href.png
Symbian3/PDK/Source/GUID-28F3F720-A2E0-59C9-8BB4-B6124CFC6C89_d0e378239_href.png
Symbian3/PDK/Source/GUID-28F3F720-A2E0-59C9-8BB4-B6124CFC6C89_d0e384092_href.png
Symbian3/PDK/Source/GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita
Symbian3/PDK/Source/GUID-2922758C-37A4-436E-B0F3-358944F84E2A.dita
Symbian3/PDK/Source/GUID-2939EEA8-DBC9-4882-B016-9C53166569CD_d0e84838_href.png
Symbian3/PDK/Source/GUID-2939EEA8-DBC9-4882-B016-9C53166569CD_d0e89036_href.png
Symbian3/PDK/Source/GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita
Symbian3/PDK/Source/GUID-2955A35E-1215-5C4A-9C24-0106FB75E295.dita
Symbian3/PDK/Source/GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e551004_href.png
Symbian3/PDK/Source/GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e558460_href.png
Symbian3/PDK/Source/GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e596993_href.png
Symbian3/PDK/Source/GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e615377_href.png
Symbian3/PDK/Source/GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e624887_href.png
Symbian3/PDK/Source/GUID-2976D260-67D5-5DBB-8CA5-09046FBEC875-master.jpg
Symbian3/PDK/Source/GUID-2976D260-67D5-5DBB-8CA5-09046FBEC875_d0e743085_href.jpg
Symbian3/PDK/Source/GUID-299B6CAB-3D4C-4FA5-A00E-244D04F0B6AB.dita
Symbian3/PDK/Source/GUID-299D0C57-F200-5135-B4D6-304002730A28_d0e458971_href.png
Symbian3/PDK/Source/GUID-299D0C57-F200-5135-B4D6-304002730A28_d0e464816_href.png
Symbian3/PDK/Source/GUID-29B84A67-9DB7-5F4C-A4D1-A3BDC69015A8.dita
Symbian3/PDK/Source/GUID-29E54156-DF94-5B34-ACAB-1417265C950D_d0e321821_href.png
Symbian3/PDK/Source/GUID-29E54156-DF94-5B34-ACAB-1417265C950D_d0e327807_href.png
Symbian3/PDK/Source/GUID-29E7942D-A00D-5771-9782-59260965C687_d0e315631_href.png
Symbian3/PDK/Source/GUID-29E7942D-A00D-5771-9782-59260965C687_d0e321621_href.png
Symbian3/PDK/Source/GUID-29F55D74-A206-5862-9C83-2C5045B2DB7F_d0e507111_href.png
Symbian3/PDK/Source/GUID-29F55D74-A206-5862-9C83-2C5045B2DB7F_d0e514573_href.png
Symbian3/PDK/Source/GUID-2A109FEC-5173-55FD-ACA8-3CAE48A93540_d0e583102_href.png
Symbian3/PDK/Source/GUID-2A109FEC-5173-55FD-ACA8-3CAE48A93540_d0e604372_href.png
Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e101061_href.png
Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e79433_href.png
Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e83631_href.png
Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e94316_href.png
Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e96982_href.png
Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e98514_href.png
Symbian3/PDK/Source/GUID-2A69B0EE-FA13-49C3-B4FE-50D0910FA37D.dita
Symbian3/PDK/Source/GUID-2AB5AA00-71B2-58F4-AE17-9A38D1E5AA99_d0e315543_href.png
Symbian3/PDK/Source/GUID-2AB5AA00-71B2-58F4-AE17-9A38D1E5AA99_d0e321533_href.png
Symbian3/PDK/Source/GUID-2AB7F53A-5EDF-574D-866D-EF2592881559.dita
Symbian3/PDK/Source/GUID-2ABCF233-7DCC-59E2-B075-81E148A1D2AB_d0e364053_href.png
Symbian3/PDK/Source/GUID-2ABCF233-7DCC-59E2-B075-81E148A1D2AB_d0e369902_href.png
Symbian3/PDK/Source/GUID-2AD64552-440B-5439-885B-BE71DE0E8F1F.dita
Symbian3/PDK/Source/GUID-2AE024D5-B34B-5E7E-BC7E-8C45E80173C5.dita
Symbian3/PDK/Source/GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e610277_href.jpg
Symbian3/PDK/Source/GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e649431_href.jpg
Symbian3/PDK/Source/GUID-2B50C6B1-E1E8-44E6-840B-7FAA206E6C26_d0e69821_href.png
Symbian3/PDK/Source/GUID-2B50C6B1-E1E8-44E6-840B-7FAA206E6C26_d0e74034_href.png
Symbian3/PDK/Source/GUID-2B5C905C-CEE7-5B7B-8143-A73D3352949A_d0e430245_href.png
Symbian3/PDK/Source/GUID-2B5C905C-CEE7-5B7B-8143-A73D3352949A_d0e436090_href.png
Symbian3/PDK/Source/GUID-2B6D3A9D-1481-5587-A954-48CE7EC311EE.dita
Symbian3/PDK/Source/GUID-2B7F7484-3A44-4A96-9B5D-79DF8A09115A.dita
Symbian3/PDK/Source/GUID-2B820ED0-D0E1-4CF0-9D63-C91806EDB8F6_d0e5159_href.png
Symbian3/PDK/Source/GUID-2B820ED0-D0E1-4CF0-9D63-C91806EDB8F6_d0e5168_href.png
Symbian3/PDK/Source/GUID-2B8CA0F5-8956-4D7B-B719-DE5EFD62C232.dita
Symbian3/PDK/Source/GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4.dita
Symbian3/PDK/Source/GUID-2BE10ABA-E34E-53F9-8B63-6BED177BFB21_d0e448794_href.png
Symbian3/PDK/Source/GUID-2BE10ABA-E34E-53F9-8B63-6BED177BFB21_d0e454639_href.png
Symbian3/PDK/Source/GUID-2BF99BD2-5DB5-5DF6-8F82-22DD2E818584_d0e76215_href.png
Symbian3/PDK/Source/GUID-2BF99BD2-5DB5-5DF6-8F82-22DD2E818584_d0e80428_href.png
Symbian3/PDK/Source/GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita
Symbian3/PDK/Source/GUID-2C1DB75C-FB12-520C-85B1-57F1EDB61E3B.dita
Symbian3/PDK/Source/GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita
Symbian3/PDK/Source/GUID-2C60C1C3-82B5-5ED3-98DF-E787193E8797.dita
Symbian3/PDK/Source/GUID-2C68AC8D-6767-5865-B684-CB627C20C6DC.dita
Symbian3/PDK/Source/GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita
Symbian3/PDK/Source/GUID-2C8F2C68-5D25-5DB8-973C-E9CA6882A3FB_d0e535985_href.jpg
Symbian3/PDK/Source/GUID-2C8F2C68-5D25-5DB8-973C-E9CA6882A3FB_d0e543445_href.jpg
Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e101485_href.png
Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e91232_href.png
Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e95430_href.png
Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e97406_href.png
Symbian3/PDK/Source/GUID-2CEF22AD-7F80-58CE-AF5F-C7BF636D524F.dita
Symbian3/PDK/Source/GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita
Symbian3/PDK/Source/GUID-2D74594C-AFEB-550E-AD69-1C4A0455C5AC.dita
Symbian3/PDK/Source/GUID-2D7BD92E-E242-524B-8D83-874C32EC0503_d0e175688_href.png
Symbian3/PDK/Source/GUID-2D7BD92E-E242-524B-8D83-874C32EC0503_d0e181757_href.png
Symbian3/PDK/Source/GUID-2D86812F-5DB1-5FD9-A199-AE344D5A10C8_d0e456651_href.png
Symbian3/PDK/Source/GUID-2D86812F-5DB1-5FD9-A199-AE344D5A10C8_d0e462496_href.png
Symbian3/PDK/Source/GUID-2D872656-7FD3-56D2-B084-8CC84E8453A4.dita
Symbian3/PDK/Source/GUID-2D93660B-8206-5D20-85F5-6FFCF4549127.dita
Symbian3/PDK/Source/GUID-2D98DB88-BA48-5EF8-A5F9-0CB8688B0B63_d0e408469_href.png
Symbian3/PDK/Source/GUID-2D98DB88-BA48-5EF8-A5F9-0CB8688B0B63_d0e414322_href.png
Symbian3/PDK/Source/GUID-2D9B17E7-2B7A-5E16-AB06-D9507457A85D.dita
Symbian3/PDK/Source/GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita
Symbian3/PDK/Source/GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita
Symbian3/PDK/Source/GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita
Symbian3/PDK/Source/GUID-2DC89F9D-30E8-5260-8850-53E4152EE3CF.dita
Symbian3/PDK/Source/GUID-2DDAAD1C-D9EB-5741-B6AE-2383646E0EDB.dita
Symbian3/PDK/Source/GUID-2DDFE745-3991-573C-94D6-22A43A2F0BF0_d0e229777_href.png
Symbian3/PDK/Source/GUID-2DDFE745-3991-573C-94D6-22A43A2F0BF0_d0e235772_href.png
Symbian3/PDK/Source/GUID-2E0F793F-3D80-4303-AF48-C7341F417DC9.dita
Symbian3/PDK/Source/GUID-2E22CB5B-E648-5760-AB74-8947C7EDE2CF.dita
Symbian3/PDK/Source/GUID-2E253B30-2611-546D-AE5B-1752556FC8E8.dita
Symbian3/PDK/Source/GUID-2E28D8F7-7406-4EBF-BD52-E82BAE1A7D31.dita
Symbian3/PDK/Source/GUID-2E3A91F9-5538-5E23-8D23-CE97B677A668_d0e214263_href.jpg
Symbian3/PDK/Source/GUID-2E3A91F9-5538-5E23-8D23-CE97B677A668_d0e220278_href.jpg
Symbian3/PDK/Source/GUID-2E3F9FBD-21FE-4F02-B410-F756012805D2_d0e16940_href.png
Symbian3/PDK/Source/GUID-2E3F9FBD-21FE-4F02-B410-F756012805D2_d0e17239_href.png
Symbian3/PDK/Source/GUID-2E402D4E-53A9-5BA6-9FBD-B2713DBC7858.dita
Symbian3/PDK/Source/GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita
Symbian3/PDK/Source/GUID-2E986A81-F094-4F1D-9ECB-6A325CFA5BB4.dita
Symbian3/PDK/Source/GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e168030_href.png
Symbian3/PDK/Source/GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e174118_href.png
Symbian3/PDK/Source/GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9.dita
Symbian3/PDK/Source/GUID-2ED8BB5F-27CA-5DD3-BA0F-5773AE14A8CC_d0e261218_href.png
Symbian3/PDK/Source/GUID-2ED8BB5F-27CA-5DD3-BA0F-5773AE14A8CC_d0e267227_href.png
Symbian3/PDK/Source/GUID-2EF123C9-62A2-52FF-9792-66EF41F37452_d0e637932_href.png
Symbian3/PDK/Source/GUID-2EF123C9-62A2-52FF-9792-66EF41F37452_d0e650754_href.png
Symbian3/PDK/Source/GUID-2F0008EB-715C-50EC-87AD-C78619F44858_d0e322861_href.png
Symbian3/PDK/Source/GUID-2F0008EB-715C-50EC-87AD-C78619F44858_d0e328847_href.png
Symbian3/PDK/Source/GUID-2F264A2A-FA7A-4718-A6B6-9A764C1D1E0E.dita
Symbian3/PDK/Source/GUID-2F48BCBA-9256-50B6-A8D1-02617655FEED_d0e55240_href.png
Symbian3/PDK/Source/GUID-2F48BCBA-9256-50B6-A8D1-02617655FEED_d0e59474_href.png
Symbian3/PDK/Source/GUID-2F53F12B-C51F-4E20-ACCC-BFD768B05863.dita
Symbian3/PDK/Source/GUID-2F6EF388-CA87-5AAD-A4C5-37FC3CE15331_d0e344599_href.png
Symbian3/PDK/Source/GUID-2F6EF388-CA87-5AAD-A4C5-37FC3CE15331_d0e350550_href.png
Symbian3/PDK/Source/GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1.dita
Symbian3/PDK/Source/GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-7-1.dita
Symbian3/PDK/Source/GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-9-1-4-1-7-1.dita
Symbian3/PDK/Source/GUID-2F8B9FAD-1669-5458-BA24-2E15BB0D2F53_d0e477360_href.png
Symbian3/PDK/Source/GUID-2F8B9FAD-1669-5458-BA24-2E15BB0D2F53_d0e483189_href.png
Symbian3/PDK/Source/GUID-2F987147-1435-55F1-B61C-8413C4AD8424.dita
Symbian3/PDK/Source/GUID-2FAB8281-569A-52BE-8BC8-A2D378068706.dita
Symbian3/PDK/Source/GUID-2FCB4609-1568-5B5F-AD9D-5A531B17A68F.dita
Symbian3/PDK/Source/GUID-2FDD1CAE-0FBF-4CC4-9C16-5AE4F538ED85.dita
Symbian3/PDK/Source/GUID-2FE3BDE7-8782-5026-9B90-D96B77197498_d0e276488_href.png
Symbian3/PDK/Source/GUID-2FE3BDE7-8782-5026-9B90-D96B77197498_d0e282488_href.png
Symbian3/PDK/Source/GUID-300B4AF5-7F6E-542D-886D-335674EDE8FD_d0e533831_href.png
Symbian3/PDK/Source/GUID-300B4AF5-7F6E-542D-886D-335674EDE8FD_d0e541291_href.png
Symbian3/PDK/Source/GUID-301037F1-1983-565A-88F9-633BBF0EBB91.dita
Symbian3/PDK/Source/GUID-3013C136-6041-5A77-8A11-41DE406DC689_d0e20586_href.jpg
Symbian3/PDK/Source/GUID-3013C136-6041-5A77-8A11-41DE406DC689_d0e22553_href.jpg
Symbian3/PDK/Source/GUID-301488F8-B6D8-569A-B05E-19B740FE4C00.dita
Symbian3/PDK/Source/GUID-301CEDFA-6329-56BA-ADA6-8A89BA17E398_d0e24772_href.png
Symbian3/PDK/Source/GUID-301CEDFA-6329-56BA-ADA6-8A89BA17E398_d0e26739_href.png
Symbian3/PDK/Source/GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita
Symbian3/PDK/Source/GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D.dita
Symbian3/PDK/Source/GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita
Symbian3/PDK/Source/GUID-30647807-A0D2-4D96-975A-BF1800749977.dita
Symbian3/PDK/Source/GUID-30987768-8B0A-5A35-820C-DBB410D2053B_d0e137761_href.png
Symbian3/PDK/Source/GUID-30987768-8B0A-5A35-820C-DBB410D2053B_d0e140010_href.png
Symbian3/PDK/Source/GUID-309B01B6-F74A-5EF0-B225-702BF8814847.dita
Symbian3/PDK/Source/GUID-30C8FE14-00CA-5B7F-9970-30E9632F00A6.dita
Symbian3/PDK/Source/GUID-30E37559-B24D-569B-89BF-D5261DC5C689_d0e275140_href.png
Symbian3/PDK/Source/GUID-30E37559-B24D-569B-89BF-D5261DC5C689_d0e281140_href.png
Symbian3/PDK/Source/GUID-30EB4252-4CBA-5174-9133-E79AC9AEAEBF.dita
Symbian3/PDK/Source/GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita
Symbian3/PDK/Source/GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita
Symbian3/PDK/Source/GUID-314A8784-604E-509A-839E-38CEE280B67F_d0e231544_href.png
Symbian3/PDK/Source/GUID-314A8784-604E-509A-839E-38CEE280B67F_d0e237539_href.png
Symbian3/PDK/Source/GUID-314B1556-5CB5-4BCC-93C0-B22DB849D2D5.dita
Symbian3/PDK/Source/GUID-314FAEB5-946C-4090-B6AA-1BEEC9BE8EFB.dita
Symbian3/PDK/Source/GUID-31640F5C-ABF0-5BA5-BA77-4FCC63359E38.dita
Symbian3/PDK/Source/GUID-316D7B85-F827-4479-B5EE-81F210614236_d0e13138_href.png
Symbian3/PDK/Source/GUID-316D7B85-F827-4479-B5EE-81F210614236_d0e13237_href.png
Symbian3/PDK/Source/GUID-316ED912-04F7-5613-942E-516C3AB01C49.dita
Symbian3/PDK/Source/GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita
Symbian3/PDK/Source/GUID-31A6FA69-418D-5F8D-A0FB-6A99AA8CC4E1_d0e107105_href.png
Symbian3/PDK/Source/GUID-31A6FA69-418D-5F8D-A0FB-6A99AA8CC4E1_d0e109548_href.png
Symbian3/PDK/Source/GUID-31CE66F2-B36C-56ED-A399-BA9EFA179DED_d0e302614_href.png
Symbian3/PDK/Source/GUID-31CE66F2-B36C-56ED-A399-BA9EFA179DED_d0e308606_href.png
Symbian3/PDK/Source/GUID-3239641A-2D13-56D7-B18D-6E65B6B24886_d0e489632_href.png
Symbian3/PDK/Source/GUID-3239641A-2D13-56D7-B18D-6E65B6B24886_d0e495453_href.png
Symbian3/PDK/Source/GUID-323A76FE-3147-5E54-9282-B80D30246D8F_d0e449908_href.png
Symbian3/PDK/Source/GUID-323A76FE-3147-5E54-9282-B80D30246D8F_d0e455753_href.png
Symbian3/PDK/Source/GUID-3248A2B1-54D0-56E3-B770-DC595B01EA04_d0e243585_href.png
Symbian3/PDK/Source/GUID-3248A2B1-54D0-56E3-B770-DC595B01EA04_d0e249596_href.png
Symbian3/PDK/Source/GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e1505_href.png
Symbian3/PDK/Source/GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e1509_href.png
Symbian3/PDK/Source/GUID-32A0AE67-0AC4-534F-B978-6D82A205EA48_d0e594252_href.jpg
Symbian3/PDK/Source/GUID-32A0AE67-0AC4-534F-B978-6D82A205EA48_d0e622146_href.jpg
Symbian3/PDK/Source/GUID-32C1FC8B-F7D2-5275-BDF2-0D662551294C.dita
Symbian3/PDK/Source/GUID-32C58139-E341-5A15-B20C-D3EA4117AC6E_d0e373296_href.png
Symbian3/PDK/Source/GUID-32C58139-E341-5A15-B20C-D3EA4117AC6E_d0e379144_href.png
Symbian3/PDK/Source/GUID-32D39AB1-D1B0-5F44-8226-0777B8010C7D_d0e137721_href.png
Symbian3/PDK/Source/GUID-32D39AB1-D1B0-5F44-8226-0777B8010C7D_d0e139970_href.png
Symbian3/PDK/Source/GUID-32E29020-1956-461A-B79A-1492E06049E7.dita
Symbian3/PDK/Source/GUID-32F00078-6084-5288-9D3F-9F8D70514799.dita
Symbian3/PDK/Source/GUID-33108CC9-3FF7-4076-A512-FB6F2F0BCC0D.dita
Symbian3/PDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita
Symbian3/PDK/Source/GUID-331655D7-2D5F-55F9-99A4-5FFA40877C26_d0e229785_href.png
Symbian3/PDK/Source/GUID-331655D7-2D5F-55F9-99A4-5FFA40877C26_d0e235780_href.png
Symbian3/PDK/Source/GUID-3319E01A-F500-5F5C-9798-351C6F3EC583.dita
Symbian3/PDK/Source/GUID-331DB770-D699-58CB-9BA6-1AE6F08D7050_d0e449317_href.png
Symbian3/PDK/Source/GUID-331DB770-D699-58CB-9BA6-1AE6F08D7050_d0e455162_href.png
Symbian3/PDK/Source/GUID-33241691-7362-5FA1-A3B0-C3FA550E5E09.dita
Symbian3/PDK/Source/GUID-33716081-180C-5DDB-A5D2-0EC61357250D.dita
Symbian3/PDK/Source/GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e106720_href.png
Symbian3/PDK/Source/GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e109163_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e100308_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e101270_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e64164_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e68387_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e79254_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e79656_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e83452_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e83854_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e96189_href.png
Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e97191_href.png
Symbian3/PDK/Source/GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita
Symbian3/PDK/Source/GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita
Symbian3/PDK/Source/GUID-33BACB23-5BEB-5A1A-85B2-71E6AA7730C4.dita
Symbian3/PDK/Source/GUID-33D50AB9-AFA8-521F-8A85-031C24EA7D25.dita
Symbian3/PDK/Source/GUID-3457B9BC-2F8F-55C1-9B5F-FA210D3439C6_d0e167942_href.png
Symbian3/PDK/Source/GUID-3457B9BC-2F8F-55C1-9B5F-FA210D3439C6_d0e174035_href.png
Symbian3/PDK/Source/GUID-34614E31-45F1-5BD8-963D-9526AAD31734.dita
Symbian3/PDK/Source/GUID-3472798D-CEC5-5BA9-A3A7-D4245661DEDB.dita
Symbian3/PDK/Source/GUID-347ACB44-5D07-5EA6-8751-E424A118859D_d0e171193_href.jpg
Symbian3/PDK/Source/GUID-347ACB44-5D07-5EA6-8751-E424A118859D_d0e177261_href.jpg
Symbian3/PDK/Source/GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita
Symbian3/PDK/Source/GUID-3490A064-8421-4ABB-9E93-99A5565CF4D7.dita
Symbian3/PDK/Source/GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita
Symbian3/PDK/Source/GUID-34D1D0BF-20DE-5677-A067-8FF9DD72E703.dita
Symbian3/PDK/Source/GUID-34DB27CB-9010-5B7F-A51E-0CA794147CAE.dita
Symbian3/PDK/Source/GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054.dita
Symbian3/PDK/Source/GUID-3527AAEE-210F-524B-A655-A65F1CE86C80.dita
Symbian3/PDK/Source/GUID-3542A39C-8D0F-53A0-A5A2-81F381D3BA7B_d0e522848_href.png
Symbian3/PDK/Source/GUID-3542A39C-8D0F-53A0-A5A2-81F381D3BA7B_d0e530308_href.png
Symbian3/PDK/Source/GUID-35521A99-3F1F-5EE1-8078-FFD8A298C0BD_d0e239685_href.png
Symbian3/PDK/Source/GUID-35521A99-3F1F-5EE1-8078-FFD8A298C0BD_d0e245695_href.png
Symbian3/PDK/Source/GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5.dita
Symbian3/PDK/Source/GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e355800_href.png
Symbian3/PDK/Source/GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e361702_href.png
Symbian3/PDK/Source/GUID-356B54BB-E389-5562-A2D9-80A472EAC9A3_d0e8880_href.png
Symbian3/PDK/Source/GUID-356B54BB-E389-5562-A2D9-80A472EAC9A3_d0e9002_href.png
Symbian3/PDK/Source/GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e2014_href.png
Symbian3/PDK/Source/GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e2022_href.png
Symbian3/PDK/Source/GUID-358634A7-8757-5D4C-B967-8040B7F39102_d0e434370_href.png
Symbian3/PDK/Source/GUID-358634A7-8757-5D4C-B967-8040B7F39102_d0e440215_href.png
Symbian3/PDK/Source/GUID-3596A468-DC46-51B1-BD88-B7665CB69E0E.dita
Symbian3/PDK/Source/GUID-35D49549-1F4D-583F-A45D-9B557A207DD2.dita
Symbian3/PDK/Source/GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD.dita
Symbian3/PDK/Source/GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita
Symbian3/PDK/Source/GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita
Symbian3/PDK/Source/GUID-3603126B-661E-509B-8CCF-04A99F9ACE07.dita
Symbian3/PDK/Source/GUID-3618ECE9-C22B-5AE2-837E-FEBC55D42330.dita
Symbian3/PDK/Source/GUID-36221068-4E6D-4E03-AF9A-AD9465F1C6B6_d0e91751_href.png
Symbian3/PDK/Source/GUID-36221068-4E6D-4E03-AF9A-AD9465F1C6B6_d0e95949_href.png
Symbian3/PDK/Source/GUID-36743EC8-5A64-5FF5-8632-56CBBD04EC12.dita
Symbian3/PDK/Source/GUID-36751DD3-448E-5B94-B6BC-76EF6DE97C75.dita
Symbian3/PDK/Source/GUID-36AA53D2-A117-5D80-A5B4-67EF865DC40E.dita
Symbian3/PDK/Source/GUID-36BB14BD-34B3-4F5D-A670-707710E57585_d0e64105_href.png
Symbian3/PDK/Source/GUID-36BB14BD-34B3-4F5D-A670-707710E57585_d0e68328_href.png
Symbian3/PDK/Source/GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita
Symbian3/PDK/Source/GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita
Symbian3/PDK/Source/GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita
Symbian3/PDK/Source/GUID-36F18DC4-7BD0-59C6-95E9-8FD945B86D7E_d0e335147_href.png
Symbian3/PDK/Source/GUID-36F18DC4-7BD0-59C6-95E9-8FD945B86D7E_d0e341119_href.png
Symbian3/PDK/Source/GUID-36FD1F9A-FA1C-5822-A95F-720600E8F418.dita
Symbian3/PDK/Source/GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e1496_href.png
Symbian3/PDK/Source/GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e1500_href.png
Symbian3/PDK/Source/GUID-37057FD5-7ED0-5B18-9C28-39F6816D7627.dita
Symbian3/PDK/Source/GUID-377B04D8-4E8B-54C7-AE7F-8BD47CB81758_d0e11038_href.png
Symbian3/PDK/Source/GUID-377B04D8-4E8B-54C7-AE7F-8BD47CB81758_d0e11154_href.png
Symbian3/PDK/Source/GUID-37888891-DFB2-5A93-9547-3B22410906BF_d0e507126_href.png
Symbian3/PDK/Source/GUID-37888891-DFB2-5A93-9547-3B22410906BF_d0e514588_href.png
Symbian3/PDK/Source/GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e1724_href.png
Symbian3/PDK/Source/GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e1729_href.png
Symbian3/PDK/Source/GUID-37C193CD-3D8A-56A5-B78C-0A6FE7163EC2_d0e537961_href.png
Symbian3/PDK/Source/GUID-37C193CD-3D8A-56A5-B78C-0A6FE7163EC2_d0e545421_href.png
Symbian3/PDK/Source/GUID-37D2EFAE-FB55-5015-90CE-1361144C411E_d0e322595_href.png
Symbian3/PDK/Source/GUID-37D2EFAE-FB55-5015-90CE-1361144C411E_d0e328581_href.png
Symbian3/PDK/Source/GUID-37DCD20D-E123-5B62-976D-F91AD99A765D_d0e536039_href.jpg
Symbian3/PDK/Source/GUID-37DCD20D-E123-5B62-976D-F91AD99A765D_d0e543499_href.jpg
Symbian3/PDK/Source/GUID-37E8A48E-09B8-5958-9263-B33EDAE3F7C6.dita
Symbian3/PDK/Source/GUID-38089CC3-D969-5501-9FDA-BB0369D5D6A9_d0e481505_href.png
Symbian3/PDK/Source/GUID-38089CC3-D969-5501-9FDA-BB0369D5D6A9_d0e487334_href.png
Symbian3/PDK/Source/GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.dita
Symbian3/PDK/Source/GUID-3829BD20-3DCB-5489-8FC4-07F954E391BF.dita
Symbian3/PDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita
Symbian3/PDK/Source/GUID-383A617C-474B-509D-BA37-3515BCC5F1D1.dita
Symbian3/PDK/Source/GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e597643_href.png
Symbian3/PDK/Source/GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e616484_href.png
Symbian3/PDK/Source/GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e625537_href.png
Symbian3/PDK/Source/GUID-3853600F-A096-53A6-8E68-4815ED85FD05_d0e218773_href.png
Symbian3/PDK/Source/GUID-3853600F-A096-53A6-8E68-4815ED85FD05_d0e224793_href.png
Symbian3/PDK/Source/GUID-387E98B0-568D-4DBB-9A9E-616E41E96B58.dita
Symbian3/PDK/Source/GUID-38A84B6A-BA49-55ED-A4D7-9B4436D00A42.dita
Symbian3/PDK/Source/GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1.dita
Symbian3/PDK/Source/GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2.dita
Symbian3/PDK/Source/GUID-38FF81FD-0C23-586D-AFAE-9F0761A36BAD_d0e315497_href.png
Symbian3/PDK/Source/GUID-38FF81FD-0C23-586D-AFAE-9F0761A36BAD_d0e321487_href.png
Symbian3/PDK/Source/GUID-39186342-960A-46A4-BC35-851F53665FA8.dita
Symbian3/PDK/Source/GUID-395C240D-6487-5832-B5F6-FC92991001FE_d0e584074_href.png
Symbian3/PDK/Source/GUID-395C240D-6487-5832-B5F6-FC92991001FE_d0e611968_href.png
Symbian3/PDK/Source/GUID-398483AD-C341-5777-AD23-381A067F9180_d0e454195_href.png
Symbian3/PDK/Source/GUID-398483AD-C341-5777-AD23-381A067F9180_d0e460040_href.png
Symbian3/PDK/Source/GUID-399F7F7D-3E8E-58BB-9925-9F34C561C39A_d0e507156_href.png
Symbian3/PDK/Source/GUID-399F7F7D-3E8E-58BB-9925-9F34C561C39A_d0e514618_href.png
Symbian3/PDK/Source/GUID-39A8FBC9-5FD6-4F92-B71E-5C5438ECFD46.dita
Symbian3/PDK/Source/GUID-39A995DC-F047-4B41-A60D-27063CE329BE.dita
Symbian3/PDK/Source/GUID-39AAB0D3-6D4D-5DE3-B894-F5E763D3E19B_d0e346160_href.png
Symbian3/PDK/Source/GUID-39AAB0D3-6D4D-5DE3-B894-F5E763D3E19B_d0e352111_href.png
Symbian3/PDK/Source/GUID-39B5850D-EAAD-56BC-B75A-2104033814E6.dita
Symbian3/PDK/Source/GUID-39CFE2E2-9776-54EE-8E3B-8B85AFF1697A.dita
Symbian3/PDK/Source/GUID-3A05CD69-0AB6-5549-B18A-842F49C06874.dita
Symbian3/PDK/Source/GUID-3A07445A-1CD4-5556-BE65-553A4A251789_d0e577842_href.png
Symbian3/PDK/Source/GUID-3A07445A-1CD4-5556-BE65-553A4A251789_d0e627130_href.png
Symbian3/PDK/Source/GUID-3A41040A-7F0C-50A8-B623-FED7F82A5E62.dita
Symbian3/PDK/Source/GUID-3A506E2A-2999-458B-BBA2-DCC4D2EA5492_d0e68691_href.png
Symbian3/PDK/Source/GUID-3A506E2A-2999-458B-BBA2-DCC4D2EA5492_d0e72904_href.png
Symbian3/PDK/Source/GUID-3A6BEF56-ADBF-543E-B70A-52195DE3E92A.dita
Symbian3/PDK/Source/GUID-3A8755A9-139E-4845-9B52-13AEECF9EBBD_d0e80619_href.png
Symbian3/PDK/Source/GUID-3A8755A9-139E-4845-9B52-13AEECF9EBBD_d0e84817_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e101235_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e101314_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e79632_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e79713_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e83830_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e83911_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e85695_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e86403_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e89893_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e90601_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e97156_href.png
Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e97235_href.png
Symbian3/PDK/Source/GUID-3ABE5DA5-F6FD-5439-ADED-CBF0B2554D94_d0e274231_href.png
Symbian3/PDK/Source/GUID-3ABE5DA5-F6FD-5439-ADED-CBF0B2554D94_d0e280231_href.png
Symbian3/PDK/Source/GUID-3AF1F492-3D7D-5F8C-B1AE-16FBD8224775.dita
Symbian3/PDK/Source/GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C.dita
Symbian3/PDK/Source/GUID-3AFE0D8B-FB9B-5355-A63B-FB71DD13E7D0_d0e300993_href.png
Symbian3/PDK/Source/GUID-3AFE0D8B-FB9B-5355-A63B-FB71DD13E7D0_d0e306985_href.png
Symbian3/PDK/Source/GUID-3B0602F1-4294-43C4-9E7A-B1A33291C22F.dita
Symbian3/PDK/Source/GUID-3B2957D0-4D1A-5289-BE2A-AC8CD34A54E6_d0e434972_href.png
Symbian3/PDK/Source/GUID-3B2957D0-4D1A-5289-BE2A-AC8CD34A54E6_d0e440817_href.png
Symbian3/PDK/Source/GUID-3B6544CD-FA6E-5AB2-AA63-61186F52167D.dita
Symbian3/PDK/Source/GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita
Symbian3/PDK/Source/GUID-3B9AC7E9-3133-505F-9C1E-EB4BB4969838.dita
Symbian3/PDK/Source/GUID-3BA7EB01-D967-44B2-B817-91722C59F2DE_d0e94094_href.png
Symbian3/PDK/Source/GUID-3BA7EB01-D967-44B2-B817-91722C59F2DE_d0e98292_href.png
Symbian3/PDK/Source/GUID-3BB539EF-E1DE-4EB4-A9F0-BB31430DD64A_d0e91837_href.png
Symbian3/PDK/Source/GUID-3BB539EF-E1DE-4EB4-A9F0-BB31430DD64A_d0e96035_href.png
Symbian3/PDK/Source/GUID-3BB6E558-017D-584A-BCB7-AB1DD80C5A90.dita
Symbian3/PDK/Source/GUID-3BCA55F8-3867-579B-8D81-C540A32A8462.dita
Symbian3/PDK/Source/GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita
Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e86813_href.png
Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e87403_href.png
Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e91011_href.png
Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e91601_href.png
Symbian3/PDK/Source/GUID-3C34724F-B476-5329-B0B1-6D5A34294979.dita
Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e86858_href.png
Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e87786_href.png
Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e91056_href.png
Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e91984_href.png
Symbian3/PDK/Source/GUID-3C6935E1-66C9-5115-901E-D3B1D0C2E783.dita
Symbian3/PDK/Source/GUID-3C86C6E4-43E3-5D0C-B08A-3130FE3426CD_d0e450772_href.png
Symbian3/PDK/Source/GUID-3C86C6E4-43E3-5D0C-B08A-3130FE3426CD_d0e456617_href.png
Symbian3/PDK/Source/GUID-3C8FD050-1CD4-5AFB-ACB7-4264536BB300_d0e534768_href.png
Symbian3/PDK/Source/GUID-3C8FD050-1CD4-5AFB-ACB7-4264536BB300_d0e542228_href.png
Symbian3/PDK/Source/GUID-3CA473CB-E79C-5B32-8B5B-F222B3DDEF3B.dita
Symbian3/PDK/Source/GUID-3D110AD3-C5C7-533C-8E57-C4E3D032A229_d0e247915_href.png
Symbian3/PDK/Source/GUID-3D110AD3-C5C7-533C-8E57-C4E3D032A229_d0e253926_href.png
Symbian3/PDK/Source/GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-9-1-4-1.dita
Symbian3/PDK/Source/GUID-3D4D96AB-4A77-5EC1-9C2F-9BADF76209D1_d0e594707_href.jpg
Symbian3/PDK/Source/GUID-3D4D96AB-4A77-5EC1-9C2F-9BADF76209D1_d0e622601_href.jpg
Symbian3/PDK/Source/GUID-3D5974E9-0F6C-4BBE-AD41-C405DC286C09.dita
Symbian3/PDK/Source/GUID-3D8B134E-3C2F-5BAF-82AB-0AB786A5D22D.dita
Symbian3/PDK/Source/GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e106639_href.png
Symbian3/PDK/Source/GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e109082_href.png
Symbian3/PDK/Source/GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita
Symbian3/PDK/Source/GUID-3DD37A41-E822-5CB6-A59E-0B309B5627D9_d0e227813_href.png
Symbian3/PDK/Source/GUID-3DD37A41-E822-5CB6-A59E-0B309B5627D9_d0e233812_href.png
Symbian3/PDK/Source/GUID-3DE276E8-D2C7-5297-AF3B-40B0B8733572.dita
Symbian3/PDK/Source/GUID-3E0E2E54-CD8A-5BAF-A87B-BF51FD8890D6_d0e684100_href.png
Symbian3/PDK/Source/GUID-3E0E2E54-CD8A-5BAF-A87B-BF51FD8890D6_d0e696927_href.png
Symbian3/PDK/Source/GUID-3E1199E4-4F19-58BB-B1EC-8975A04B68FF_d0e315529_href.png
Symbian3/PDK/Source/GUID-3E1199E4-4F19-58BB-B1EC-8975A04B68FF_d0e321519_href.png
Symbian3/PDK/Source/GUID-3E23788D-4D67-5E9B-961F-B67D7471BB71_d0e173143_href.png
Symbian3/PDK/Source/GUID-3E23788D-4D67-5E9B-961F-B67D7471BB71_d0e179211_href.png
Symbian3/PDK/Source/GUID-3E2E0C91-14B3-53AC-B797-DEE349688477_d0e263997_href.png
Symbian3/PDK/Source/GUID-3E2E0C91-14B3-53AC-B797-DEE349688477_d0e269997_href.png
Symbian3/PDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita
Symbian3/PDK/Source/GUID-3E7FBDE5-B580-4C2D-9815-83E04B7D71E1.dita
Symbian3/PDK/Source/GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e241170_href.png
Symbian3/PDK/Source/GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e247182_href.png
Symbian3/PDK/Source/GUID-3EF88A1D-CCB6-5DE5-9CA6-F6E785A6898A.dita
Symbian3/PDK/Source/GUID-3F0053A7-6EE2-5B59-81C2-27EC3CC7820A_d0e380122_href.png
Symbian3/PDK/Source/GUID-3F0053A7-6EE2-5B59-81C2-27EC3CC7820A_d0e385975_href.png
Symbian3/PDK/Source/GUID-3F0789DE-8455-5BA6-850C-45C60C581F18_d0e155655_href.png
Symbian3/PDK/Source/GUID-3F0789DE-8455-5BA6-850C-45C60C581F18_d0e161756_href.png
Symbian3/PDK/Source/GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita
Symbian3/PDK/Source/GUID-3F172A97-8B96-5E1B-854C-F198D1334D2A_d0e361991_href.png
Symbian3/PDK/Source/GUID-3F172A97-8B96-5E1B-854C-F198D1334D2A_d0e367839_href.png
Symbian3/PDK/Source/GUID-3F1FF06E-4190-5AC7-86C6-6732B632BA1A.dita
Symbian3/PDK/Source/GUID-3F2E04BF-5A72-5540-9D6E-C2F3A47E0570_d0e272210_href.png
Symbian3/PDK/Source/GUID-3F2E04BF-5A72-5540-9D6E-C2F3A47E0570_d0e278210_href.png
Symbian3/PDK/Source/GUID-3F3E8851-3770-5B58-A31E-B5FFCBDE7E55_d0e276826_href.png
Symbian3/PDK/Source/GUID-3F3E8851-3770-5B58-A31E-B5FFCBDE7E55_d0e282826_href.png
Symbian3/PDK/Source/GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita
Symbian3/PDK/Source/GUID-3F4604B8-9154-4C98-BB6A-D3633C639F2B_d0e165692_href.png
Symbian3/PDK/Source/GUID-3F4604B8-9154-4C98-BB6A-D3633C639F2B_d0e171785_href.png
Symbian3/PDK/Source/GUID-3F7DA54D-28D5-4099-B4EF-728489DCEF2C.dita
Symbian3/PDK/Source/GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita
Symbian3/PDK/Source/GUID-3F938A76-3F27-56ED-BB3D-0E7EC4ACFB9C.dita
Symbian3/PDK/Source/GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita
Symbian3/PDK/Source/GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita
Symbian3/PDK/Source/GUID-3FE9C184-1880-51E1-B045-3C2EA4BE204A_d0e310011_href.png
Symbian3/PDK/Source/GUID-3FE9C184-1880-51E1-B045-3C2EA4BE204A_d0e316002_href.png
Symbian3/PDK/Source/GUID-3FEA5BE8-C306-587F-8CCC-E4619DE7183A_d0e590723_href.png
Symbian3/PDK/Source/GUID-3FEA5BE8-C306-587F-8CCC-E4619DE7183A_d0e618617_href.png
Symbian3/PDK/Source/GUID-3FF0F248-EDF0-5348-BC43-869CE1B5B415.dita
Symbian3/PDK/Source/GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e1785_href.png
Symbian3/PDK/Source/GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e1791_href.png
Symbian3/PDK/Source/GUID-4028CDCF-D2E8-5668-A751-A7CFA86CED46_d0e584453_href.png
Symbian3/PDK/Source/GUID-4028CDCF-D2E8-5668-A751-A7CFA86CED46_d0e633741_href.png
Symbian3/PDK/Source/GUID-40437D9A-7503-5087-851A-D1269F0AF9A9_d0e248069_href.png
Symbian3/PDK/Source/GUID-40437D9A-7503-5087-851A-D1269F0AF9A9_d0e254080_href.png
Symbian3/PDK/Source/GUID-405F7AB8-0F0E-4171-95E6-3524D76917DE.dita
Symbian3/PDK/Source/GUID-40619192-8C2F-4267-BFCA-F53E10BF5A31_d0e14149_href.png
Symbian3/PDK/Source/GUID-40619192-8C2F-4267-BFCA-F53E10BF5A31_d0e14249_href.png
Symbian3/PDK/Source/GUID-4067B0E6-9431-4325-95F7-78B143EED326.dita
Symbian3/PDK/Source/GUID-40A3938E-366E-5318-A7FA-146F9E5E23B1_d0e236301_href.png
Symbian3/PDK/Source/GUID-40A3938E-366E-5318-A7FA-146F9E5E23B1_d0e242274_href.png
Symbian3/PDK/Source/GUID-40A9EAE3-F0AA-52FF-B3E8-455E820AA410.dita
Symbian3/PDK/Source/GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita
Symbian3/PDK/Source/GUID-40BE9805-6CEC-557F-BAAC-4D328E181AC3_d0e248013_href.png
Symbian3/PDK/Source/GUID-40BE9805-6CEC-557F-BAAC-4D328E181AC3_d0e254024_href.png
Symbian3/PDK/Source/GUID-40C995CA-9906-59D8-A5E7-08F592031AEE_d0e349498_href.png
Symbian3/PDK/Source/GUID-40C995CA-9906-59D8-A5E7-08F592031AEE_d0e355441_href.png
Symbian3/PDK/Source/GUID-40E64445-CBA3-59E4-A777-937609B311C9.dita
Symbian3/PDK/Source/GUID-40ED6F39-F8E2-5292-ADA5-C2507F256AE0_d0e346267_href.png
Symbian3/PDK/Source/GUID-40ED6F39-F8E2-5292-ADA5-C2507F256AE0_d0e352218_href.png
Symbian3/PDK/Source/GUID-40F5B725-A5D7-487F-BF5D-A616F768F40D.dita
Symbian3/PDK/Source/GUID-4119C4BD-ABBF-524B-B649-0F39EF58A7FB_d0e137619_href.png
Symbian3/PDK/Source/GUID-4119C4BD-ABBF-524B-B649-0F39EF58A7FB_d0e139868_href.png
Symbian3/PDK/Source/GUID-4120651F-E0B9-5927-96B9-2662C51F5A09.dita
Symbian3/PDK/Source/GUID-414338AC-D256-54AF-A504-27DAEDE800D5_d0e459649_href.png
Symbian3/PDK/Source/GUID-414338AC-D256-54AF-A504-27DAEDE800D5_d0e465494_href.png
Symbian3/PDK/Source/GUID-414DD60D-C5C3-5A75-9DF7-8980F72CB485_d0e606318_href.jpg
Symbian3/PDK/Source/GUID-414DD60D-C5C3-5A75-9DF7-8980F72CB485_d0e645480_href.jpg
Symbian3/PDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita
Symbian3/PDK/Source/GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita
Symbian3/PDK/Source/GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita
Symbian3/PDK/Source/GUID-41A53C1F-E9BF-420F-A967-83906299FE8B_d0e5129_href.png
Symbian3/PDK/Source/GUID-41A53C1F-E9BF-420F-A967-83906299FE8B_d0e5138_href.png
Symbian3/PDK/Source/GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e508793_href.png
Symbian3/PDK/Source/GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e516255_href.png
Symbian3/PDK/Source/GUID-41CE73A7-4820-417D-8AD7-92F9DB9C552A-master.jpg
Symbian3/PDK/Source/GUID-41CE73A7-4820-417D-8AD7-92F9DB9C552A_d0e41296_href.jpg
Symbian3/PDK/Source/GUID-41F5F258-5B2A-57E2-BEB4-EBDE1008C833_d0e62865_href.png
Symbian3/PDK/Source/GUID-41F5F258-5B2A-57E2-BEB4-EBDE1008C833_d0e67096_href.png
Symbian3/PDK/Source/GUID-422F37DF-F93F-443F-86EA-6A696A53E1E6.dita
Symbian3/PDK/Source/GUID-4257E768-F392-507C-81C2-23F0CE2DDEA2_d0e231038_href.png
Symbian3/PDK/Source/GUID-4257E768-F392-507C-81C2-23F0CE2DDEA2_d0e237033_href.png
Symbian3/PDK/Source/GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e488909_href.png
Symbian3/PDK/Source/GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e494730_href.png
Symbian3/PDK/Source/GUID-4261EFB2-C587-4E6A-8B3F-A8181177AF40_d0e251603_href.png
Symbian3/PDK/Source/GUID-4261EFB2-C587-4E6A-8B3F-A8181177AF40_d0e257614_href.png
Symbian3/PDK/Source/GUID-42833109-F8C2-57FC-9995-0461698A19FF.dita
Symbian3/PDK/Source/GUID-42984078-3DEB-41C7-AC76-C769F7CDB4D0.dita
Symbian3/PDK/Source/GUID-42C21271-FDDD-5923-95A3-450FED07BEC4_d0e230152_href.png
Symbian3/PDK/Source/GUID-42C21271-FDDD-5923-95A3-450FED07BEC4_d0e236147_href.png
Symbian3/PDK/Source/GUID-4303DBDB-3F67-54E6-AB24-5E1871053ED9_d0e73838_href.png
Symbian3/PDK/Source/GUID-4303DBDB-3F67-54E6-AB24-5E1871053ED9_d0e78051_href.png
Symbian3/PDK/Source/GUID-431119D1-1B55-4503-905E-6E290FA241CE_d0e91636_href.png
Symbian3/PDK/Source/GUID-431119D1-1B55-4503-905E-6E290FA241CE_d0e95834_href.png
Symbian3/PDK/Source/GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e393550_href.png
Symbian3/PDK/Source/GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e399403_href.png
Symbian3/PDK/Source/GUID-4324A05E-3243-50E1-A287-BBD2F07E2295_d0e230341_href.png
Symbian3/PDK/Source/GUID-4324A05E-3243-50E1-A287-BBD2F07E2295_d0e236336_href.png
Symbian3/PDK/Source/GUID-432FF981-010F-540B-834F-FF924238AA2A.dita
Symbian3/PDK/Source/GUID-433698C1-C97D-5317-83C0-71A029E362E6_d0e511042_href.png
Symbian3/PDK/Source/GUID-433698C1-C97D-5317-83C0-71A029E362E6_d0e518504_href.png
Symbian3/PDK/Source/GUID-434F2412-59A1-4BCB-885D-5E708EAA6AB6.dita
Symbian3/PDK/Source/GUID-4352F2A7-2498-40AA-A335-4A8407497976.dita
Symbian3/PDK/Source/GUID-4381EA7F-BE75-5B43-BE97-C97D71D04377_d0e546710_href.png
Symbian3/PDK/Source/GUID-4381EA7F-BE75-5B43-BE97-C97D71D04377_d0e554166_href.png
Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e63716_href.png
Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e63768_href.png
Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e67938_href.png
Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e67990_href.png
Symbian3/PDK/Source/GUID-4406BDE0-8256-5F97-9FC5-BBFD11D9C4A3.dita
Symbian3/PDK/Source/GUID-442D216B-117E-538C-A51F-0775BF37673E_d0e345873_href.png
Symbian3/PDK/Source/GUID-442D216B-117E-538C-A51F-0775BF37673E_d0e351824_href.png
Symbian3/PDK/Source/GUID-44345B7F-77DE-5D00-BA0B-BFE40E664DA8.dita
Symbian3/PDK/Source/GUID-44347376-702D-5648-8938-EB55AFA329EC_d0e658957_href.png
Symbian3/PDK/Source/GUID-44347376-702D-5648-8938-EB55AFA329EC_d0e671784_href.png
Symbian3/PDK/Source/GUID-44872DF6-AEA6-554F-A231-D8C6D5F22958_d0e450520_href.png
Symbian3/PDK/Source/GUID-44872DF6-AEA6-554F-A231-D8C6D5F22958_d0e456365_href.png
Symbian3/PDK/Source/GUID-44ADB485-69C2-5557-AB95-3B6D20870F73_d0e146068_href.png
Symbian3/PDK/Source/GUID-44ADB485-69C2-5557-AB95-3B6D20870F73_d0e148309_href.png
Symbian3/PDK/Source/GUID-44FDDA27-1A5D-42B5-8DE0-D9E88EB75C93.dita
Symbian3/PDK/Source/GUID-450554F3-BA17-5C89-9E01-C0AFD4AC9638_d0e443260_href.png
Symbian3/PDK/Source/GUID-450554F3-BA17-5C89-9E01-C0AFD4AC9638_d0e449105_href.png
Symbian3/PDK/Source/GUID-454A850E-E7C4-5CB8-9245-E18BB2BAE993_d0e232464_href.png
Symbian3/PDK/Source/GUID-454A850E-E7C4-5CB8-9245-E18BB2BAE993_d0e238459_href.png
Symbian3/PDK/Source/GUID-45580F91-F1E2-5F6F-9449-5C7B5009EC44_d0e171901_href.png
Symbian3/PDK/Source/GUID-45580F91-F1E2-5F6F-9449-5C7B5009EC44_d0e177969_href.png
Symbian3/PDK/Source/GUID-4592D493-A47C-5622-8C03-F24FABB4381C_d0e393982_href.png
Symbian3/PDK/Source/GUID-4592D493-A47C-5622-8C03-F24FABB4381C_d0e399835_href.png
Symbian3/PDK/Source/GUID-45DD08DB-FCB3-5546-91B4-25868C8ABAE4_d0e146076_href.png
Symbian3/PDK/Source/GUID-45DD08DB-FCB3-5546-91B4-25868C8ABAE4_d0e148317_href.png
Symbian3/PDK/Source/GUID-45E418FA-47C0-58C6-B118-EBF8260BCC89_d0e231353_href.png
Symbian3/PDK/Source/GUID-45E418FA-47C0-58C6-B118-EBF8260BCC89_d0e237348_href.png
Symbian3/PDK/Source/GUID-45F9389E-F31B-59DA-A4FE-E254EAEB2213.dita
Symbian3/PDK/Source/GUID-46040A24-92C3-4B0B-88CC-BDD8DDA8F27C_d0e68953_href.png
Symbian3/PDK/Source/GUID-46040A24-92C3-4B0B-88CC-BDD8DDA8F27C_d0e73166_href.png
Symbian3/PDK/Source/GUID-46121F24-AB53-5B44-A082-EF13A72EB7FF.dita
Symbian3/PDK/Source/GUID-4616CCC9-7BD3-5D91-873A-6027167329ED_d0e228104_href.png
Symbian3/PDK/Source/GUID-4616CCC9-7BD3-5D91-873A-6027167329ED_d0e234103_href.png
Symbian3/PDK/Source/GUID-465D1450-B1EF-568B-B518-34ACE8C1697C_d0e380047_href.png
Symbian3/PDK/Source/GUID-465D1450-B1EF-568B-B518-34ACE8C1697C_d0e385900_href.png
Symbian3/PDK/Source/GUID-4666DC80-EF7D-5761-9B6B-B2D14BDAB762_d0e608674_href.jpg
Symbian3/PDK/Source/GUID-4666DC80-EF7D-5761-9B6B-B2D14BDAB762_d0e647836_href.jpg
Symbian3/PDK/Source/GUID-46673FC4-ADA9-59D1-A743-B4784425D240_d0e109693_href.png
Symbian3/PDK/Source/GUID-46673FC4-ADA9-59D1-A743-B4784425D240_d0e112116_href.png
Symbian3/PDK/Source/GUID-467EF3F5-754B-550A-A9C7-246D68C91F0A_d0e277109_href.png
Symbian3/PDK/Source/GUID-467EF3F5-754B-550A-A9C7-246D68C91F0A_d0e283109_href.png
Symbian3/PDK/Source/GUID-4689CD4A-3835-5013-90F9-100C66F18E84_d0e264678_href.png
Symbian3/PDK/Source/GUID-4689CD4A-3835-5013-90F9-100C66F18E84_d0e270678_href.png
Symbian3/PDK/Source/GUID-46A91D57-7864-53AD-903C-B978B0C61DAD_d0e550426_href.jpg
Symbian3/PDK/Source/GUID-46A91D57-7864-53AD-903C-B978B0C61DAD_d0e557882_href.jpg
Symbian3/PDK/Source/GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita
Symbian3/PDK/Source/GUID-46BBABA1-D6C6-5532-8487-6FD744C108C4_d0e230079_href.png
Symbian3/PDK/Source/GUID-46BBABA1-D6C6-5532-8487-6FD744C108C4_d0e236074_href.png
Symbian3/PDK/Source/GUID-46CBF409-7A5E-511E-8ED7-1ED8FD04897E_d0e230469_href.png
Symbian3/PDK/Source/GUID-46CBF409-7A5E-511E-8ED7-1ED8FD04897E_d0e236464_href.png
Symbian3/PDK/Source/GUID-46E27DAF-B72D-5A86-91BB-1B3C0788C6A5_d0e561276_href.png
Symbian3/PDK/Source/GUID-46E27DAF-B72D-5A86-91BB-1B3C0788C6A5_d0e569952_href.png
Symbian3/PDK/Source/GUID-470FAFE8-2246-5E91-9F01-6CC95F975E54_d0e512079_href.jpg
Symbian3/PDK/Source/GUID-470FAFE8-2246-5E91-9F01-6CC95F975E54_d0e519541_href.jpg
Symbian3/PDK/Source/GUID-4710494E-835F-50B8-B0B5-0482147C02D2_d0e373220_href.png
Symbian3/PDK/Source/GUID-4710494E-835F-50B8-B0B5-0482147C02D2_d0e379068_href.png
Symbian3/PDK/Source/GUID-474654BE-D73E-5249-B7E3-7F2656DAB190_d0e456780_href.png
Symbian3/PDK/Source/GUID-474654BE-D73E-5249-B7E3-7F2656DAB190_d0e462625_href.png
Symbian3/PDK/Source/GUID-474A9F80-2B3E-5D11-8D2E-95E217BEB84A.dita
Symbian3/PDK/Source/GUID-47511301-DFF9-52B0-9602-DD9D293D3044_d0e332343_href.png
Symbian3/PDK/Source/GUID-47511301-DFF9-52B0-9602-DD9D293D3044_d0e338315_href.png
Symbian3/PDK/Source/GUID-47587124-66D8-5128-BDBB-AF190E67CAF5_d0e260304_href.png
Symbian3/PDK/Source/GUID-47587124-66D8-5128-BDBB-AF190E67CAF5_d0e266313_href.png
Symbian3/PDK/Source/GUID-47701648-CEC1-564C-A6BF-CC42E78E701F.dita
Symbian3/PDK/Source/GUID-479133EB-1154-554E-8CEA-C61EDA747B69_d0e106535_href.png
Symbian3/PDK/Source/GUID-479133EB-1154-554E-8CEA-C61EDA747B69_d0e108978_href.png
Symbian3/PDK/Source/GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita
Symbian3/PDK/Source/GUID-47AA7F26-FF3F-4FEE-BBB4-F4E8A8E0E335_d0e103111_href.png
Symbian3/PDK/Source/GUID-47AA7F26-FF3F-4FEE-BBB4-F4E8A8E0E335_d0e99031_href.png
Symbian3/PDK/Source/GUID-47C04C71-3E77-55A7-BA95-4A03C7554975_d0e450876_href.png
Symbian3/PDK/Source/GUID-47C04C71-3E77-55A7-BA95-4A03C7554975_d0e456721_href.png
Symbian3/PDK/Source/GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e106650_href.png
Symbian3/PDK/Source/GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e109093_href.png
Symbian3/PDK/Source/GUID-48326B53-0814-57B9-A744-78AA219D3480.dita
Symbian3/PDK/Source/GUID-48363190-6FFB-4230-84B4-2E521EA51365.dita
Symbian3/PDK/Source/GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita
Symbian3/PDK/Source/GUID-48482288-B60B-477A-8E28-132F7CBE2C94.dita
Symbian3/PDK/Source/GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita
Symbian3/PDK/Source/GUID-488F24B1-DC9B-5A5B-8B0D-47A428B9AA3C_d0e535297_href.jpg
Symbian3/PDK/Source/GUID-488F24B1-DC9B-5A5B-8B0D-47A428B9AA3C_d0e542757_href.jpg
Symbian3/PDK/Source/GUID-48B61662-0A11-4356-9882-7523B04FFD96.dita
Symbian3/PDK/Source/GUID-48BD628F-F47F-535B-B148-7425A6704FC2.dita
Symbian3/PDK/Source/GUID-48C764A2-378F-57CC-B7F2-EC866AE8F830.dita
Symbian3/PDK/Source/GUID-48D06D0E-C4D6-54F1-B603-7A75DEF669AA_d0e583066_href.png
Symbian3/PDK/Source/GUID-48D06D0E-C4D6-54F1-B603-7A75DEF669AA_d0e604336_href.png
Symbian3/PDK/Source/GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D.dita
Symbian3/PDK/Source/GUID-49205F79-C17B-4126-BDB2-D759B91B5894.dita
Symbian3/PDK/Source/GUID-4922D80F-009D-56CE-B255-FDAF9C247667_d0e317021_href.png
Symbian3/PDK/Source/GUID-4922D80F-009D-56CE-B255-FDAF9C247667_d0e323011_href.png
Symbian3/PDK/Source/GUID-4930A22F-EF80-5B08-A878-C0DB73929558_d0e435184_href.png
Symbian3/PDK/Source/GUID-4930A22F-EF80-5B08-A878-C0DB73929558_d0e441029_href.png
Symbian3/PDK/Source/GUID-49363088-CE0B-558D-8E86-48400E4F7C2F.dita
Symbian3/PDK/Source/GUID-49379616-C235-598D-AE43-668998AD072B.dita
Symbian3/PDK/Source/GUID-49397CFD-955A-5DF6-9251-368C44224966.dita
Symbian3/PDK/Source/GUID-4941C035-C359-4968-9BD5-31F44EE5F810.dita
Symbian3/PDK/Source/GUID-494AF38D-CE0C-4B4C-BE44-2FC7482F4B7B.dita
Symbian3/PDK/Source/GUID-4957E6BB-C41D-52F1-94CD-68CF6D61C271.dita
Symbian3/PDK/Source/GUID-495C619C-1223-59C1-9B31-0F4031BAE4A9.dita
Symbian3/PDK/Source/GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita
Symbian3/PDK/Source/GUID-497AD33D-F6DC-52D4-85C8-B9E02978ACD4_d0e211010_href.jpg
Symbian3/PDK/Source/GUID-497AD33D-F6DC-52D4-85C8-B9E02978ACD4_d0e217011_href.jpg
Symbian3/PDK/Source/GUID-49F16A96-083E-5928-B939-75F2D11E2BF8_d0e232785_href.png
Symbian3/PDK/Source/GUID-49F16A96-083E-5928-B939-75F2D11E2BF8_d0e238780_href.png
Symbian3/PDK/Source/GUID-49FEF50C-98C8-5789-881E-553164EF5517.dita
Symbian3/PDK/Source/GUID-4A2E212E-BC1B-5965-9A62-6309CC7CAAAB_d0e289179_href.png
Symbian3/PDK/Source/GUID-4A2E212E-BC1B-5965-9A62-6309CC7CAAAB_d0e295171_href.png
Symbian3/PDK/Source/GUID-4A5A50EB-261E-5739-904E-1D14D1A6BAD9_d0e219540_href.png
Symbian3/PDK/Source/GUID-4A5A50EB-261E-5739-904E-1D14D1A6BAD9_d0e225560_href.png
Symbian3/PDK/Source/GUID-4A66B46E-8A23-42E4-ADAD-B124A36B180A.dita
Symbian3/PDK/Source/GUID-4AAABD77-C08E-5EE2-A02A-3B412EA6D23F.dita
Symbian3/PDK/Source/GUID-4AB3C821-25B5-4B5B-BC20-C8FA42D69802_d0e17034_href.png
Symbian3/PDK/Source/GUID-4AB3C821-25B5-4B5B-BC20-C8FA42D69802_d0e18145_href.png
Symbian3/PDK/Source/GUID-4ADD8234-4AFD-4E80-94A4-AC018FE83276.dita
Symbian3/PDK/Source/GUID-4AE98C9B-03A9-5F26-BD0F-2A60B01A67F4_d0e429216_href.png
Symbian3/PDK/Source/GUID-4AE98C9B-03A9-5F26-BD0F-2A60B01A67F4_d0e435061_href.png
Symbian3/PDK/Source/GUID-4AEBF49C-E62A-5D0D-8181-600BF29DFFC7.dita
Symbian3/PDK/Source/GUID-4AEF7595-17C0-513E-9568-B212E6194388.dita
Symbian3/PDK/Source/GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e342014_href.png
Symbian3/PDK/Source/GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e347965_href.png
Symbian3/PDK/Source/GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita
Symbian3/PDK/Source/GUID-4B7410B2-849B-5E89-97BF-E06613F600CB_d0e587983_href.png
Symbian3/PDK/Source/GUID-4B7410B2-849B-5E89-97BF-E06613F600CB_d0e615877_href.png
Symbian3/PDK/Source/GUID-4B7FA629-BFC9-594B-B253-AC920EAD6E67_d0e109504_href.png
Symbian3/PDK/Source/GUID-4B7FA629-BFC9-594B-B253-AC920EAD6E67_d0e111927_href.png
Symbian3/PDK/Source/GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita
Symbian3/PDK/Source/GUID-4BC95F70-2F3F-5CFE-B057-0C5A97430573_d0e237432_href.png
Symbian3/PDK/Source/GUID-4BC95F70-2F3F-5CFE-B057-0C5A97430573_d0e243405_href.png
Symbian3/PDK/Source/GUID-4BCE7915-6BF9-5D83-9049-B7FA9725B406_d0e323076_href.png
Symbian3/PDK/Source/GUID-4BCE7915-6BF9-5D83-9049-B7FA9725B406_d0e329062_href.png
Symbian3/PDK/Source/GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita
Symbian3/PDK/Source/GUID-4BF48607-54F0-51C8-A3A8-F334454FAC9C_d0e242710_href.png
Symbian3/PDK/Source/GUID-4BF48607-54F0-51C8-A3A8-F334454FAC9C_d0e248721_href.png
Symbian3/PDK/Source/GUID-4C00FAF4-B500-5973-AC6C-79274122276A_d0e428942_href.png
Symbian3/PDK/Source/GUID-4C00FAF4-B500-5973-AC6C-79274122276A_d0e434787_href.png
Symbian3/PDK/Source/GUID-4C5DB74E-41A5-53CB-A053-CBBEADD31AFF.dita
Symbian3/PDK/Source/GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e1809_href.png
Symbian3/PDK/Source/GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e1815_href.png
Symbian3/PDK/Source/GUID-4C859177-7B45-4569-9E27-B207300A7A1C_d0e68219_href.png
Symbian3/PDK/Source/GUID-4C859177-7B45-4569-9E27-B207300A7A1C_d0e72432_href.png
Symbian3/PDK/Source/GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1.dita
Symbian3/PDK/Source/GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-9-1-5-1-7-1.dita
Symbian3/PDK/Source/GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6.dita
Symbian3/PDK/Source/GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita
Symbian3/PDK/Source/GUID-4CEB52EC-8F08-53B7-A900-AF163316D442.dita
Symbian3/PDK/Source/GUID-4CFFD28E-25B5-5B3F-859F-DF8ADC1DC029_d0e260233_href.png
Symbian3/PDK/Source/GUID-4CFFD28E-25B5-5B3F-859F-DF8ADC1DC029_d0e266242_href.png
Symbian3/PDK/Source/GUID-4D4CB4DC-9B9A-5256-B949-C5E9F369D9C6.dita
Symbian3/PDK/Source/GUID-4D82B904-71BF-4945-85ED-655AF8879FF9_d0e99434_href.png
Symbian3/PDK/Source/GUID-4D92E302-3145-4453-AFA1-F5C5BDF933F9.dita
Symbian3/PDK/Source/GUID-4D93A8E2-DB78-5681-BD0E-54B02D92140F.dita
Symbian3/PDK/Source/GUID-4DACC8E6-090F-5FDE-9D67-5B43A9E8C6B2_d0e450805_href.png
Symbian3/PDK/Source/GUID-4DACC8E6-090F-5FDE-9D67-5B43A9E8C6B2_d0e456650_href.png
Symbian3/PDK/Source/GUID-4DB70D45-1E74-5357-9824-566962316E12_d0e139221_href.png
Symbian3/PDK/Source/GUID-4DB70D45-1E74-5357-9824-566962316E12_d0e141470_href.png
Symbian3/PDK/Source/GUID-4DBE998D-9699-5770-8182-929FDCAA7E26_d0e477601_href.png
Symbian3/PDK/Source/GUID-4DBE998D-9699-5770-8182-929FDCAA7E26_d0e483430_href.png
Symbian3/PDK/Source/GUID-4DE6423B-9731-5168-B563-8F263AAF1482_d0e464262_href.png
Symbian3/PDK/Source/GUID-4DE6423B-9731-5168-B563-8F263AAF1482_d0e470107_href.png
Symbian3/PDK/Source/GUID-4E1D4E5D-7CE6-5A93-9170-BEF2937FC953_d0e239799_href.png
Symbian3/PDK/Source/GUID-4E1D4E5D-7CE6-5A93-9170-BEF2937FC953_d0e245809_href.png
Symbian3/PDK/Source/GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita
Symbian3/PDK/Source/GUID-4E5B1276-07D1-562A-8EE8-21DDE78D2CE5.dita
Symbian3/PDK/Source/GUID-4E6520E8-4BF1-55D1-B643-81B8D2816D1D_d0e285809_href.png
Symbian3/PDK/Source/GUID-4E6520E8-4BF1-55D1-B643-81B8D2816D1D_d0e291801_href.png
Symbian3/PDK/Source/GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74.dita
Symbian3/PDK/Source/GUID-4F273D6C-073F-580B-8B1E-E23BECEFCAB1_d0e424722_href.png
Symbian3/PDK/Source/GUID-4F273D6C-073F-580B-8B1E-E23BECEFCAB1_d0e430567_href.png
Symbian3/PDK/Source/GUID-4F5DCA9A-E535-54B4-B8B2-30549AC12A51_d0e264523_href.png
Symbian3/PDK/Source/GUID-4F5DCA9A-E535-54B4-B8B2-30549AC12A51_d0e270523_href.png
Symbian3/PDK/Source/GUID-4F8197C3-D61B-579A-81E9-ED6397EB5645_d0e456038_href.png
Symbian3/PDK/Source/GUID-4F8197C3-D61B-579A-81E9-ED6397EB5645_d0e461883_href.png
Symbian3/PDK/Source/GUID-4F879832-8425-5C56-B3FE-4C4592EBB6A5_d0e514747_href.png
Symbian3/PDK/Source/GUID-4F879832-8425-5C56-B3FE-4C4592EBB6A5_d0e522211_href.png
Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-4FC82562-9163-45F5-9E14-DA0AB6B5E54C.dita
Symbian3/PDK/Source/GUID-4FDD1F7B-1A4E-5389-A0A4-22727CD42B5B_d0e379956_href.png
Symbian3/PDK/Source/GUID-4FDD1F7B-1A4E-5389-A0A4-22727CD42B5B_d0e385809_href.png
Symbian3/PDK/Source/GUID-4FE5CA06-8C3A-4AC1-80CE-4418AC55937A.dita
Symbian3/PDK/Source/GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita
Symbian3/PDK/Source/GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita
Symbian3/PDK/Source/GUID-502C26EB-BB1F-547C-B93B-8A516D545561_d0e456815_href.png
Symbian3/PDK/Source/GUID-502C26EB-BB1F-547C-B93B-8A516D545561_d0e462660_href.png
Symbian3/PDK/Source/GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita
Symbian3/PDK/Source/GUID-504C5CD8-DF83-5657-9D38-E94151C84802_d0e448529_href.png
Symbian3/PDK/Source/GUID-504C5CD8-DF83-5657-9D38-E94151C84802_d0e454374_href.png
Symbian3/PDK/Source/GUID-504E4334-FDA9-5982-8BF7-509D019AFD4C_d0e536419_href.jpg
Symbian3/PDK/Source/GUID-504E4334-FDA9-5982-8BF7-509D019AFD4C_d0e543879_href.jpg
Symbian3/PDK/Source/GUID-504EB40B-AC98-5AB2-9263-185887C29A7E.dita
Symbian3/PDK/Source/GUID-5059C3F9-1CEA-5DF3-914A-B99376570242_d0e479349_href.jpg
Symbian3/PDK/Source/GUID-5059C3F9-1CEA-5DF3-914A-B99376570242_d0e485178_href.jpg
Symbian3/PDK/Source/GUID-50930F20-0F6D-5FF6-A476-59F221DF5CD4_d0e459122_href.png
Symbian3/PDK/Source/GUID-50930F20-0F6D-5FF6-A476-59F221DF5CD4_d0e464967_href.png
Symbian3/PDK/Source/GUID-50941508-B999-5FCC-B2B9-F29F5F2CA4C1.dita
Symbian3/PDK/Source/GUID-50A38544-8B2A-422D-92AF-2E9358878CFE.dita
Symbian3/PDK/Source/GUID-50AB1B77-1912-5C73-A1B5-41220E7A2EA5.dita
Symbian3/PDK/Source/GUID-50BBCB9C-F234-5813-A42E-3FCFB0F14B66.dita
Symbian3/PDK/Source/GUID-50BE8F1A-513A-433C-B045-66658FC226D7.dita
Symbian3/PDK/Source/GUID-50CA5439-29A1-426C-83BA-EC048FE86CDE.dita
Symbian3/PDK/Source/GUID-50CA6507-18AF-58D7-8494-2FECF8FDBDF3.dita
Symbian3/PDK/Source/GUID-50F216D0-242A-5796-BDCC-7AAB28535458.dita
Symbian3/PDK/Source/GUID-50FD71BF-2DDA-5E80-9904-82DC90FCE6DD.dita
Symbian3/PDK/Source/GUID-5107ABD8-6408-5501-8073-ACAF3719247B.dita
Symbian3/PDK/Source/GUID-51177BB6-D906-57BD-91DD-EC263F900225.dita
Symbian3/PDK/Source/GUID-5127C80E-EACE-5524-9A75-A0EFB41C2226.dita
Symbian3/PDK/Source/GUID-512D0DA7-0BC2-534F-9233-11F46D285CA6_d0e7711_href.png
Symbian3/PDK/Source/GUID-512D0DA7-0BC2-534F-9233-11F46D285CA6_d0e7833_href.png
Symbian3/PDK/Source/GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita
Symbian3/PDK/Source/GUID-516D2E22-F5C0-56FE-ABDA-948F01CD50DB_d0e317288_href.png
Symbian3/PDK/Source/GUID-516D2E22-F5C0-56FE-ABDA-948F01CD50DB_d0e323278_href.png
Symbian3/PDK/Source/GUID-517D9795-88BC-5959-9384-36F132AE634C_d0e175702_href.png
Symbian3/PDK/Source/GUID-517D9795-88BC-5959-9384-36F132AE634C_d0e181771_href.png
Symbian3/PDK/Source/GUID-518FC822-AF10-57E8-990E-BB03C2D6ACBE_d0e589136_href.png
Symbian3/PDK/Source/GUID-518FC822-AF10-57E8-990E-BB03C2D6ACBE_d0e617030_href.png
Symbian3/PDK/Source/GUID-51B0D0A9-C9FA-59DA-82B1-5834980CB35D_d0e471208_href.jpg
Symbian3/PDK/Source/GUID-51B0D0A9-C9FA-59DA-82B1-5834980CB35D_d0e477044_href.jpg
Symbian3/PDK/Source/GUID-51D6F328-82C4-5224-A51B-3EB9D4FF7B4C_d0e551859_href.png
Symbian3/PDK/Source/GUID-51D6F328-82C4-5224-A51B-3EB9D4FF7B4C_d0e559315_href.png
Symbian3/PDK/Source/GUID-51DDCDA8-8B26-4016-8CBA-BDBF82447096_d0e80642_href.png
Symbian3/PDK/Source/GUID-51DDCDA8-8B26-4016-8CBA-BDBF82447096_d0e84840_href.png
Symbian3/PDK/Source/GUID-51E0F9C6-CFAF-5113-8516-30045B1269C7_d0e139067_href.png
Symbian3/PDK/Source/GUID-51E0F9C6-CFAF-5113-8516-30045B1269C7_d0e141316_href.png
Symbian3/PDK/Source/GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977.dita
Symbian3/PDK/Source/GUID-51F43258-B3D8-5EC9-85EF-67F09499C253.dita
Symbian3/PDK/Source/GUID-51F63BFF-CD62-4FFC-929D-ED778642044E_d0e91804_href.png
Symbian3/PDK/Source/GUID-51F63BFF-CD62-4FFC-929D-ED778642044E_d0e96002_href.png
Symbian3/PDK/Source/GUID-51FE06D3-48DF-5BEE-A145-FC9D82DC0FB4_d0e247536_href.jpg
Symbian3/PDK/Source/GUID-51FE06D3-48DF-5BEE-A145-FC9D82DC0FB4_d0e253547_href.jpg
Symbian3/PDK/Source/GUID-5223D1C1-CBBE-551A-AC57-CD94F9D1B9B6_d0e473205_href.png
Symbian3/PDK/Source/GUID-5223D1C1-CBBE-551A-AC57-CD94F9D1B9B6_d0e479041_href.png
Symbian3/PDK/Source/GUID-52298398-A727-5EC2-80A9-4B9704366455_d0e373541_href.png
Symbian3/PDK/Source/GUID-52298398-A727-5EC2-80A9-4B9704366455_d0e379389_href.png
Symbian3/PDK/Source/GUID-52743192-B1E0-5B71-B85B-43487F18F412_d0e679659_href.png
Symbian3/PDK/Source/GUID-52743192-B1E0-5B71-B85B-43487F18F412_d0e692486_href.png
Symbian3/PDK/Source/GUID-52783B69-09FC-4123-849A-79FF61406129_d0e65678_href.png
Symbian3/PDK/Source/GUID-52783B69-09FC-4123-849A-79FF61406129_d0e69901_href.png
Symbian3/PDK/Source/GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita
Symbian3/PDK/Source/GUID-52B2DFDD-063A-5ED4-9A0B-FB3346301482.dita
Symbian3/PDK/Source/GUID-52B8098A-7695-5EA6-B58F-D730A445C583_d0e304519_href.png
Symbian3/PDK/Source/GUID-52B8098A-7695-5EA6-B58F-D730A445C583_d0e310511_href.png
Symbian3/PDK/Source/GUID-530AB0D9-BE70-5892-BFBA-213687CA62D1_d0e584031_href.png
Symbian3/PDK/Source/GUID-530AB0D9-BE70-5892-BFBA-213687CA62D1_d0e633319_href.png
Symbian3/PDK/Source/GUID-53212F7A-938B-48F6-BC82-30F7494FF8A7-master.png
Symbian3/PDK/Source/GUID-53212F7A-938B-48F6-BC82-30F7494FF8A7_d0e105234_href.png
Symbian3/PDK/Source/GUID-53313E89-3E23-4004-BD10-771858657DAD_d0e95258_href.png
Symbian3/PDK/Source/GUID-53313E89-3E23-4004-BD10-771858657DAD_d0e99456_href.png
Symbian3/PDK/Source/GUID-5344014E-A6F4-5243-9D55-BB2C5C78A463_d0e444213_href.png
Symbian3/PDK/Source/GUID-5344014E-A6F4-5243-9D55-BB2C5C78A463_d0e450058_href.png
Symbian3/PDK/Source/GUID-534C1D1A-9450-5A1B-933F-5157039BF069_d0e516976_href.png
Symbian3/PDK/Source/GUID-534C1D1A-9450-5A1B-933F-5157039BF069_d0e524436_href.png
Symbian3/PDK/Source/GUID-535793F2-08F1-5B4E-AD32-783985C53124.dita
Symbian3/PDK/Source/GUID-5357F135-46B1-5C3F-BD2D-2E71D7BD0046_d0e106550_href.png
Symbian3/PDK/Source/GUID-5357F135-46B1-5C3F-BD2D-2E71D7BD0046_d0e108993_href.png
Symbian3/PDK/Source/GUID-535954FD-2501-5C80-AD86-AC73A86B18B5.dita
Symbian3/PDK/Source/GUID-536B2F20-DB19-595C-A465-25CF2E421050_d0e137455_href.png
Symbian3/PDK/Source/GUID-536B2F20-DB19-595C-A465-25CF2E421050_d0e139704_href.png
Symbian3/PDK/Source/GUID-536DCEAF-3598-4D3E-A812-E266720F350D.dita
Symbian3/PDK/Source/GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF.dita
Symbian3/PDK/Source/GUID-5373B575-F284-5774-9C73-2A18C4A912A2.dita
Symbian3/PDK/Source/GUID-538302A3-F4B2-539C-8048-39E6028CB2A2_d0e259004_href.png
Symbian3/PDK/Source/GUID-538302A3-F4B2-539C-8048-39E6028CB2A2_d0e265013_href.png
Symbian3/PDK/Source/GUID-5384FBBC-0171-5AD2-8CDA-23548DF99DCE_d0e449052_href.png
Symbian3/PDK/Source/GUID-5384FBBC-0171-5AD2-8CDA-23548DF99DCE_d0e454897_href.png
Symbian3/PDK/Source/GUID-5398C2DC-9AFA-5517-BCBF-5964970B9656_d0e332424_href.png
Symbian3/PDK/Source/GUID-5398C2DC-9AFA-5517-BCBF-5964970B9656_d0e338396_href.png
Symbian3/PDK/Source/GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e482676_href.png
Symbian3/PDK/Source/GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e488505_href.png
Symbian3/PDK/Source/GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita
Symbian3/PDK/Source/GUID-53C71C87-BFD9-4C9A-8A90-6735494F300C.dita
Symbian3/PDK/Source/GUID-541C8505-335F-5C93-8C0E-96BCEE39D1E6_d0e330699_href.png
Symbian3/PDK/Source/GUID-541C8505-335F-5C93-8C0E-96BCEE39D1E6_d0e336676_href.png
Symbian3/PDK/Source/GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e205963_href.jpg
Symbian3/PDK/Source/GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e211964_href.jpg
Symbian3/PDK/Source/GUID-547161C2-BE55-4248-92EE-63612D64F480.dita
Symbian3/PDK/Source/GUID-5486EFD3-4660-4C19-A007-286DE48F6EEF.dita
Symbian3/PDK/Source/GUID-54C2B185-3F56-5602-9021-34E27F0C40A6_d0e459082_href.png
Symbian3/PDK/Source/GUID-54C2B185-3F56-5602-9021-34E27F0C40A6_d0e464927_href.png
Symbian3/PDK/Source/GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita
Symbian3/PDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita
Symbian3/PDK/Source/GUID-54EB6658-D2C1-514B-B9F1-BAB541A2972D.dita
Symbian3/PDK/Source/GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e239080_href.png
Symbian3/PDK/Source/GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e245056_href.png
Symbian3/PDK/Source/GUID-5512B80D-77E8-5DFB-BD97-EBC1C4360E90.dita
Symbian3/PDK/Source/GUID-552530EB-1287-542D-AED3-125387B485C1.dita
Symbian3/PDK/Source/GUID-55754EF4-EC25-5CE3-9B38-79F278BCF19F_d0e551986_href.png
Symbian3/PDK/Source/GUID-55754EF4-EC25-5CE3-9B38-79F278BCF19F_d0e559442_href.png
Symbian3/PDK/Source/GUID-5598B53F-2A6D-5813-913C-94B2AB36134E_d0e106187_href.png
Symbian3/PDK/Source/GUID-5598B53F-2A6D-5813-913C-94B2AB36134E_d0e108630_href.png
Symbian3/PDK/Source/GUID-55DD28C0-54A0-4DD9-87A0-FC7CC0723765.dita
Symbian3/PDK/Source/GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita
Symbian3/PDK/Source/GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita
Symbian3/PDK/Source/GUID-55F6EEB1-1CED-518D-9AE7-E364FC080423_d0e230784_href.png
Symbian3/PDK/Source/GUID-55F6EEB1-1CED-518D-9AE7-E364FC080423_d0e236779_href.png
Symbian3/PDK/Source/GUID-5606802D-7517-5BA5-A3BD-A54C417A1B64_d0e277977_href.png
Symbian3/PDK/Source/GUID-5606802D-7517-5BA5-A3BD-A54C417A1B64_d0e283977_href.png
Symbian3/PDK/Source/GUID-565074B2-53E2-54CD-A06B-7E044E66EBE8.dita
Symbian3/PDK/Source/GUID-5673347B-DA7B-563A-AB2B-615BF7C19F92_d0e538648_href.png
Symbian3/PDK/Source/GUID-5673347B-DA7B-563A-AB2B-615BF7C19F92_d0e546108_href.png
Symbian3/PDK/Source/GUID-567718E7-0267-4641-A9E3-538D893362D2.dita
Symbian3/PDK/Source/GUID-567D36A2-1097-5D44-B1B2-896F0F812A32.dita
Symbian3/PDK/Source/GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e393525_href.png
Symbian3/PDK/Source/GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e399378_href.png
Symbian3/PDK/Source/GUID-5690EA18-106E-52E6-ABD3-4D5EE3CA8B23_d0e167865_href.png
Symbian3/PDK/Source/GUID-5690EA18-106E-52E6-ABD3-4D5EE3CA8B23_d0e173958_href.png
Symbian3/PDK/Source/GUID-5696BEC1-51F5-5062-A4E6-C6CF48C7C95A_d0e172853_href.png
Symbian3/PDK/Source/GUID-5696BEC1-51F5-5062-A4E6-C6CF48C7C95A_d0e178921_href.png
Symbian3/PDK/Source/GUID-56BC73B4-E919-487A-9D29-99584204F14C_d0e164912_href.png
Symbian3/PDK/Source/GUID-56BC73B4-E919-487A-9D29-99584204F14C_d0e171005_href.png
Symbian3/PDK/Source/GUID-56DF9711-1EFA-5A07-A92B-3F3D6FBD17A8.dita
Symbian3/PDK/Source/GUID-56E67157-08EE-414A-9EC5-ADAF27E0D36A_d0e91880_href.png
Symbian3/PDK/Source/GUID-56E67157-08EE-414A-9EC5-ADAF27E0D36A_d0e96078_href.png
Symbian3/PDK/Source/GUID-57372CC6-C7CC-5802-B24C-66A272359968_d0e277989_href.png
Symbian3/PDK/Source/GUID-57372CC6-C7CC-5802-B24C-66A272359968_d0e283989_href.png
Symbian3/PDK/Source/GUID-5746BC4A-E8D2-51DE-B101-4BA68F0E1769_d0e190171_href.png
Symbian3/PDK/Source/GUID-5746BC4A-E8D2-51DE-B101-4BA68F0E1769_d0e196240_href.png
Symbian3/PDK/Source/GUID-57A777A3-5D67-5CBB-B224-B7AD422A451B.dita
Symbian3/PDK/Source/GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita
Symbian3/PDK/Source/GUID-57BBF5C1-C08D-59FA-8F10-F180A82306A4.dita
Symbian3/PDK/Source/GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e500491_href.png
Symbian3/PDK/Source/GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e507953_href.png
Symbian3/PDK/Source/GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e1544_href.png
Symbian3/PDK/Source/GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e1548_href.png
Symbian3/PDK/Source/GUID-57F38146-1DA3-5657-ADF4-76DF740363C5.dita
Symbian3/PDK/Source/GUID-58135EB2-5DFF-599A-B17C-B1DD60B4A750_d0e610971_href.jpg
Symbian3/PDK/Source/GUID-58135EB2-5DFF-599A-B17C-B1DD60B4A750_d0e650125_href.jpg
Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita
Symbian3/PDK/Source/GUID-581FB79B-2DB9-5AB8-AB32-997B05A62070_d0e137842_href.png
Symbian3/PDK/Source/GUID-581FB79B-2DB9-5AB8-AB32-997B05A62070_d0e140091_href.png
Symbian3/PDK/Source/GUID-5822CE94-C8AF-5F81-AB3F-E95B44265065.dita
Symbian3/PDK/Source/GUID-582B36BD-88B3-5B5B-8A20-058318E80D0B_d0e272975_href.png
Symbian3/PDK/Source/GUID-582B36BD-88B3-5B5B-8A20-058318E80D0B_d0e278975_href.png
Symbian3/PDK/Source/GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-6-1.dita
Symbian3/PDK/Source/GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-5857377F-B90D-5149-9485-5919C12B8F13.dita
Symbian3/PDK/Source/GUID-5862F14F-5BB7-584B-A8B1-447975C42D49.dita
Symbian3/PDK/Source/GUID-586A88EC-45CC-504B-BB75-9BD88233D88F.dita
Symbian3/PDK/Source/GUID-5879E34A-B0AB-5609-9C81-E0E8D772E722.dita
Symbian3/PDK/Source/GUID-58A5C008-88B6-5C91-8BE5-E98CA5E5A438_d0e400148_href.png
Symbian3/PDK/Source/GUID-58A5C008-88B6-5C91-8BE5-E98CA5E5A438_d0e406001_href.png
Symbian3/PDK/Source/GUID-590C985D-A43E-4869-9BE3-62A960782825.dita
Symbian3/PDK/Source/GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita
Symbian3/PDK/Source/GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita
Symbian3/PDK/Source/GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita
Symbian3/PDK/Source/GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-594488FF-02C9-5066-85DB-5F88A754AE18.dita
Symbian3/PDK/Source/GUID-5971E713-9CA1-5D75-AE9F-2EF9CBDE39F4_d0e322350_href.png
Symbian3/PDK/Source/GUID-5971E713-9CA1-5D75-AE9F-2EF9CBDE39F4_d0e328336_href.png
Symbian3/PDK/Source/GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e654525_href.png
Symbian3/PDK/Source/GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e667352_href.png
Symbian3/PDK/Source/GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e598544_href.png
Symbian3/PDK/Source/GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e616130_href.png
Symbian3/PDK/Source/GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e626438_href.png
Symbian3/PDK/Source/GUID-5986717C-C777-590D-8487-CB8ED488E975.dita
Symbian3/PDK/Source/GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita
Symbian3/PDK/Source/GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita
Symbian3/PDK/Source/GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e74687_href.png
Symbian3/PDK/Source/GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e78900_href.png
Symbian3/PDK/Source/GUID-59C143F6-3A0C-5C37-9351-A72FE45AFFC9_d0e341819_href.png
Symbian3/PDK/Source/GUID-59C143F6-3A0C-5C37-9351-A72FE45AFFC9_d0e347770_href.png
Symbian3/PDK/Source/GUID-59D86225-4727-5B3F-9117-7815B4900445_d0e228844_href.jpg
Symbian3/PDK/Source/GUID-59D86225-4727-5B3F-9117-7815B4900445_d0e234842_href.jpg
Symbian3/PDK/Source/GUID-59ED6D14-0976-58AE-8DDC-73F051866406.dita
Symbian3/PDK/Source/GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e101748_href.png
Symbian3/PDK/Source/GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e97669_href.png
Symbian3/PDK/Source/GUID-5A2F083E-EBA9-5477-883F-712636CF5D7C_d0e232864_href.png
Symbian3/PDK/Source/GUID-5A2F083E-EBA9-5477-883F-712636CF5D7C_d0e238859_href.png
Symbian3/PDK/Source/GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E.dita
Symbian3/PDK/Source/GUID-5A71755A-E67F-5007-8C55-5B8FA65B3C04.dita
Symbian3/PDK/Source/GUID-5A8AE98B-51B3-5540-911A-2D04DA144C08_d0e229858_href.png
Symbian3/PDK/Source/GUID-5A8AE98B-51B3-5540-911A-2D04DA144C08_d0e235853_href.png
Symbian3/PDK/Source/GUID-5ACFA8E4-3C4B-5851-A43E-9FA72D0B8403.dita
Symbian3/PDK/Source/GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e153742_href.jpg
Symbian3/PDK/Source/GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e159843_href.jpg
Symbian3/PDK/Source/GUID-5AF0B573-4351-5735-92A1-4F29BCF9A164.dita
Symbian3/PDK/Source/GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1.dita
Symbian3/PDK/Source/GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita
Symbian3/PDK/Source/GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita
Symbian3/PDK/Source/GUID-5B1D5561-CC48-5FAD-9DC6-9E89A757288D_d0e448876_href.png
Symbian3/PDK/Source/GUID-5B1D5561-CC48-5FAD-9DC6-9E89A757288D_d0e454721_href.png
Symbian3/PDK/Source/GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita
Symbian3/PDK/Source/GUID-5B6634EA-EB78-504E-BC5D-ABA67EEA06DF_d0e155964_href.png
Symbian3/PDK/Source/GUID-5B6634EA-EB78-504E-BC5D-ABA67EEA06DF_d0e599998_href.png
Symbian3/PDK/Source/GUID-5B8061C3-3BED-51D7-9919-5BA16EA6C6FE_d0e528171_href.png
Symbian3/PDK/Source/GUID-5B8061C3-3BED-51D7-9919-5BA16EA6C6FE_d0e535631_href.png
Symbian3/PDK/Source/GUID-5B8FEDA0-624E-44D6-BF70-C5228234BD15_d0e163290_href.png
Symbian3/PDK/Source/GUID-5B8FEDA0-624E-44D6-BF70-C5228234BD15_d0e169383_href.png
Symbian3/PDK/Source/GUID-5B9DE39D-61D0-51FF-948E-15691CD673B5.dita
Symbian3/PDK/Source/GUID-5B9F25B5-5FE1-4E38-BC8D-A0273F458C36.dita
Symbian3/PDK/Source/GUID-5BABDDEC-1D81-5847-9ADB-65DF8E404BFA_d0e332479_href.png
Symbian3/PDK/Source/GUID-5BABDDEC-1D81-5847-9ADB-65DF8E404BFA_d0e338451_href.png
Symbian3/PDK/Source/GUID-5BB017AA-46AE-5461-9184-98CE7FA898B9_d0e603081_href.jpg
Symbian3/PDK/Source/GUID-5BB017AA-46AE-5461-9184-98CE7FA898B9_d0e630975_href.jpg
Symbian3/PDK/Source/GUID-5BCB7325-1755-5A66-99B5-6F5AE003D207_d0e276814_href.png
Symbian3/PDK/Source/GUID-5BCB7325-1755-5A66-99B5-6F5AE003D207_d0e282814_href.png
Symbian3/PDK/Source/GUID-5BD8EE4B-3149-4331-91E0-7813DF4994E1_d0e102291_href.png
Symbian3/PDK/Source/GUID-5BD8EE4B-3149-4331-91E0-7813DF4994E1_d0e106311_href.png
Symbian3/PDK/Source/GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita
Symbian3/PDK/Source/GUID-5C1EC237-EBC3-474D-B58D-502B82911DCA_d0e103581_href.png
Symbian3/PDK/Source/GUID-5C1EC237-EBC3-474D-B58D-502B82911DCA_d0e107601_href.png
Symbian3/PDK/Source/GUID-5C215C64-5D3D-5B65-A11F-BE6F8C306CF4.dita
Symbian3/PDK/Source/GUID-5C52B6B9-546C-5152-A968-B91CB3D885A0_d0e550561_href.jpg
Symbian3/PDK/Source/GUID-5C52B6B9-546C-5152-A968-B91CB3D885A0_d0e558017_href.jpg
Symbian3/PDK/Source/GUID-5C5A695C-A0BB-53C3-A20B-7C7F4DD718DF_d0e435599_href.png
Symbian3/PDK/Source/GUID-5C5A695C-A0BB-53C3-A20B-7C7F4DD718DF_d0e441444_href.png
Symbian3/PDK/Source/GUID-5C7F92F7-F3BC-4B00-A093-682AA6A26FFE_d0e92230_href.png
Symbian3/PDK/Source/GUID-5C7F92F7-F3BC-4B00-A093-682AA6A26FFE_d0e96428_href.png
Symbian3/PDK/Source/GUID-5CA933B9-7987-5DDE-AE12-B0D5AFD31451.dita
Symbian3/PDK/Source/GUID-5CAF1B85-853F-5450-B79B-7E768DFA44EC.dita
Symbian3/PDK/Source/GUID-5CCF303A-B7D5-570D-9BE8-29DFBE184995.dita
Symbian3/PDK/Source/GUID-5CF162CA-4395-58AC-A318-2BF178276A57_d0e296428_href.png
Symbian3/PDK/Source/GUID-5CF162CA-4395-58AC-A318-2BF178276A57_d0e302420_href.png
Symbian3/PDK/Source/GUID-5D4DA7CA-DAB8-51E6-B597-4E8B0AB56477.dita
Symbian3/PDK/Source/GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99.dita
Symbian3/PDK/Source/GUID-5D5CCF46-0FB4-57DA-B32D-C2C7F86FAD30_d0e449930_href.png
Symbian3/PDK/Source/GUID-5D5CCF46-0FB4-57DA-B32D-C2C7F86FAD30_d0e455775_href.png
Symbian3/PDK/Source/GUID-5D712F4A-E956-543D-BCC0-91107C6E4717.dita
Symbian3/PDK/Source/GUID-5D831531-2430-4C61-B8C4-BEE9850387C2_d0e65837_href.png
Symbian3/PDK/Source/GUID-5D831531-2430-4C61-B8C4-BEE9850387C2_d0e70060_href.png
Symbian3/PDK/Source/GUID-5DB0F7C7-6132-552B-BA42-B47D267D1143_d0e76911_href.png
Symbian3/PDK/Source/GUID-5DB0F7C7-6132-552B-BA42-B47D267D1143_d0e81124_href.png
Symbian3/PDK/Source/GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita
Symbian3/PDK/Source/GUID-5E358AB4-03A7-5859-ABF2-A8B64B74AF56.dita
Symbian3/PDK/Source/GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e482724_href.png
Symbian3/PDK/Source/GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e488553_href.png
Symbian3/PDK/Source/GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e1532_href.png
Symbian3/PDK/Source/GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e1536_href.png
Symbian3/PDK/Source/GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita
Symbian3/PDK/Source/GUID-5E8AA6B6-38EB-5347-BA30-F9FF4BF7C107.dita
Symbian3/PDK/Source/GUID-5E8B08F7-D8C7-5761-BA84-3C4DD49800D2.dita
Symbian3/PDK/Source/GUID-5F38F219-B22D-42E6-973A-B4DBBC5984F8.dita
Symbian3/PDK/Source/GUID-5F4510C9-5B16-593A-A225-37606800915B.dita
Symbian3/PDK/Source/GUID-5F72210C-1636-584D-9D89-987D25136975_d0e596477_href.png
Symbian3/PDK/Source/GUID-5F72210C-1636-584D-9D89-987D25136975_d0e614422_href.png
Symbian3/PDK/Source/GUID-5F72210C-1636-584D-9D89-987D25136975_d0e624371_href.png
Symbian3/PDK/Source/GUID-5F747E90-CB8A-5EF7-833F-E63B6A0A4402_d0e231290_href.png
Symbian3/PDK/Source/GUID-5F747E90-CB8A-5EF7-833F-E63B6A0A4402_d0e237285_href.png
Symbian3/PDK/Source/GUID-5F749184-C804-41FC-BA81-038783BDC967.dita
Symbian3/PDK/Source/GUID-5F7CDE80-ED4E-592E-983D-C6C2E7EEC7E0_d0e230658_href.png
Symbian3/PDK/Source/GUID-5F7CDE80-ED4E-592E-983D-C6C2E7EEC7E0_d0e236653_href.png
Symbian3/PDK/Source/GUID-5F9BEEF7-19BC-550F-BD97-60F70B55E906_d0e277039_href.png
Symbian3/PDK/Source/GUID-5F9BEEF7-19BC-550F-BD97-60F70B55E906_d0e283039_href.png
Symbian3/PDK/Source/GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita
Symbian3/PDK/Source/GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e382417_href.png
Symbian3/PDK/Source/GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e388270_href.png
Symbian3/PDK/Source/GUID-5FE10ECA-1FAB-4E4F-A1D9-67D379EE8CB3_d0e498128_href.png
Symbian3/PDK/Source/GUID-5FE10ECA-1FAB-4E4F-A1D9-67D379EE8CB3_d0e505590_href.png
Symbian3/PDK/Source/GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita
Symbian3/PDK/Source/GUID-6006AAB0-B319-546F-8D79-E2D4887A1E72.dita
Symbian3/PDK/Source/GUID-600DCD27-ADC0-40D7-B061-1D44238363BA_d0e163531_href.png
Symbian3/PDK/Source/GUID-600DCD27-ADC0-40D7-B061-1D44238363BA_d0e169624_href.png
Symbian3/PDK/Source/GUID-6025A68F-625B-570A-87D7-2C11E66044D4.dita
Symbian3/PDK/Source/GUID-6067DF61-D32F-4029-ADCD-9E69CA564212.dita
Symbian3/PDK/Source/GUID-60890859-C8B7-4677-962A-B5AE73D42F86_d0e105451_href.jpg
Symbian3/PDK/Source/GUID-60890859-C8B7-4677-962A-B5AE73D42F86_d0e107894_href.jpg
Symbian3/PDK/Source/GUID-60949ACD-AAA9-540E-85AE-BB173382D548_d0e375842_href.png
Symbian3/PDK/Source/GUID-60949ACD-AAA9-540E-85AE-BB173382D548_d0e381686_href.png
Symbian3/PDK/Source/GUID-60AB43B9-29B1-5BAC-B70A-617C279321C1_d0e244335_href.png
Symbian3/PDK/Source/GUID-60AB43B9-29B1-5BAC-B70A-617C279321C1_d0e250346_href.png
Symbian3/PDK/Source/GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e640645_href.png
Symbian3/PDK/Source/GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e653467_href.png
Symbian3/PDK/Source/GUID-60B9404B-5102-4FBB-A32F-55F2ACFD1481.dita
Symbian3/PDK/Source/GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita
Symbian3/PDK/Source/GUID-60DBA025-8FA0-5DF2-90D0-744A016998EE.dita
Symbian3/PDK/Source/GUID-60EE22AA-402D-4FC2-9AD1-B3AEF822E8DC.dita
Symbian3/PDK/Source/GUID-61056CE2-97BF-5D32-8AC5-E625FBC7D0EC.dita
Symbian3/PDK/Source/GUID-61459132-3AC2-55D3-AC28-D6FA689409E6.dita
Symbian3/PDK/Source/GUID-6146A5BB-1AC1-48D4-9EB8-7FA4EC35BFF2.dita
Symbian3/PDK/Source/GUID-6163197B-7983-5FB7-9B92-02E490A900FB.dita
Symbian3/PDK/Source/GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4.dita
Symbian3/PDK/Source/GUID-619A607D-CA89-5A98-887D-5B1D2A5F921C.dita
Symbian3/PDK/Source/GUID-61BB12AA-7467-5633-8E4C-54D82AFF0F5E_d0e228837_href.jpg
Symbian3/PDK/Source/GUID-61BB12AA-7467-5633-8E4C-54D82AFF0F5E_d0e234835_href.jpg
Symbian3/PDK/Source/GUID-61C340D0-9058-45C2-9A90-4AB8E0612872_d0e68588_href.png
Symbian3/PDK/Source/GUID-61C340D0-9058-45C2-9A90-4AB8E0612872_d0e72801_href.png
Symbian3/PDK/Source/GUID-61E8141F-366E-5476-ABCE-8B57535FF6D1_d0e427341_href.png
Symbian3/PDK/Source/GUID-61E8141F-366E-5476-ABCE-8B57535FF6D1_d0e433186_href.png
Symbian3/PDK/Source/GUID-622D6337-E60A-5252-8B2B-BA8232927453_d0e389421_href.png
Symbian3/PDK/Source/GUID-622D6337-E60A-5252-8B2B-BA8232927453_d0e395274_href.png
Symbian3/PDK/Source/GUID-6262B90B-3F91-517C-B2FA-749C84CE01DE_d0e137391_href.png
Symbian3/PDK/Source/GUID-6262B90B-3F91-517C-B2FA-749C84CE01DE_d0e139640_href.png
Symbian3/PDK/Source/GUID-62746B54-FFEB-532F-BA00-D6C22F82DBA4-master.png
Symbian3/PDK/Source/GUID-62746B54-FFEB-532F-BA00-D6C22F82DBA4_d0e617298_href.png
Symbian3/PDK/Source/GUID-628A90FC-35F9-51D0-853E-9BECB3C91B59_d0e477891_href.png
Symbian3/PDK/Source/GUID-628A90FC-35F9-51D0-853E-9BECB3C91B59_d0e483720_href.png
Symbian3/PDK/Source/GUID-6290D35A-7A41-5B9E-882A-E14F6D165ED7_d0e547006_href.png
Symbian3/PDK/Source/GUID-6290D35A-7A41-5B9E-882A-E14F6D165ED7_d0e554462_href.png
Symbian3/PDK/Source/GUID-62950BAA-8DCB-58E2-B511-AF400605DA5C_d0e231101_href.png
Symbian3/PDK/Source/GUID-62950BAA-8DCB-58E2-B511-AF400605DA5C_d0e237096_href.png
Symbian3/PDK/Source/GUID-629A9EF6-3029-5165-9B8B-471D341D33C5_d0e482483_href.png
Symbian3/PDK/Source/GUID-629A9EF6-3029-5165-9B8B-471D341D33C5_d0e488312_href.png
Symbian3/PDK/Source/GUID-629EAA30-ED77-4CA9-91ED-36C818D7B4F4.dita
Symbian3/PDK/Source/GUID-62DF565C-8121-429F-99D0-B5FBDE634AA9.dita
Symbian3/PDK/Source/GUID-631E27DB-97A7-47E2-8FC1-856198435FFF_d0e2988_href.png
Symbian3/PDK/Source/GUID-631E27DB-97A7-47E2-8FC1-856198435FFF_d0e2998_href.png
Symbian3/PDK/Source/GUID-63802305-E3D1-53F9-BDE2-764D90C2C833_d0e590856_href.png
Symbian3/PDK/Source/GUID-63802305-E3D1-53F9-BDE2-764D90C2C833_d0e618750_href.png
Symbian3/PDK/Source/GUID-63AD2899-FDDC-4E3F-8876-C72EC7C194CE_d0e13907_href.png
Symbian3/PDK/Source/GUID-63AD2899-FDDC-4E3F-8876-C72EC7C194CE_d0e14007_href.png
Symbian3/PDK/Source/GUID-63BA04BD-2242-4365-95A1-717569207E92_d0e514481_href.png
Symbian3/PDK/Source/GUID-63BA04BD-2242-4365-95A1-717569207E92_d0e521935_href.png
Symbian3/PDK/Source/GUID-63BB9C30-9103-5900-9FD7-5B45FD78A5D7_d0e73074_href.png
Symbian3/PDK/Source/GUID-63BB9C30-9103-5900-9FD7-5B45FD78A5D7_d0e77287_href.png
Symbian3/PDK/Source/GUID-63C60154-2A50-5A39-A188-515A607F498B.dita
Symbian3/PDK/Source/GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita
Symbian3/PDK/Source/GUID-6408C26A-2736-59A9-B785-6B119143619B.dita
Symbian3/PDK/Source/GUID-643AFF2D-3EDB-5FAB-9631-7B93FABC56B6_d0e227801_href.png
Symbian3/PDK/Source/GUID-643AFF2D-3EDB-5FAB-9631-7B93FABC56B6_d0e233800_href.png
Symbian3/PDK/Source/GUID-644810EC-7D5E-4569-834B-C207447B88A3.dita
Symbian3/PDK/Source/GUID-646C2A7A-B90C-5E82-B44F-EA24DDBB1EC5_d0e141947_href.png
Symbian3/PDK/Source/GUID-646C2A7A-B90C-5E82-B44F-EA24DDBB1EC5_d0e144196_href.png
Symbian3/PDK/Source/GUID-647ADEDA-AB5A-548F-93C3-D099EAE6A030_d0e405594_href.png
Symbian3/PDK/Source/GUID-647ADEDA-AB5A-548F-93C3-D099EAE6A030_d0e411447_href.png
Symbian3/PDK/Source/GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita
Symbian3/PDK/Source/GUID-648D4AEB-4BCD-552A-BCAF-F049F79F04FC_d0e429269_href.png
Symbian3/PDK/Source/GUID-648D4AEB-4BCD-552A-BCAF-F049F79F04FC_d0e435114_href.png
Symbian3/PDK/Source/GUID-64AC6F53-A9A5-46FD-BCC6-4A9BD8D4DB5C.dita
Symbian3/PDK/Source/GUID-64BDD1DA-6B93-5F45-8CBD-7DBAF92CC4C7_d0e364179_href.png
Symbian3/PDK/Source/GUID-64BDD1DA-6B93-5F45-8CBD-7DBAF92CC4C7_d0e370028_href.png
Symbian3/PDK/Source/GUID-64D2B0E2-BB5D-4009-ACE5-7A3503016341.dita
Symbian3/PDK/Source/GUID-652DA0DD-AB1D-58A4-A6D2-27B5BAA506FF.dita
Symbian3/PDK/Source/GUID-65365507-5773-4FE9-B63E-450CC2DD7570_d0e68018_href.png
Symbian3/PDK/Source/GUID-65365507-5773-4FE9-B63E-450CC2DD7570_d0e72231_href.png
Symbian3/PDK/Source/GUID-656E2E4F-D7C5-5FDC-B1E6-DFA5970BB3F0_d0e488785_href.jpg
Symbian3/PDK/Source/GUID-656E2E4F-D7C5-5FDC-B1E6-DFA5970BB3F0_d0e494606_href.jpg
Symbian3/PDK/Source/GUID-65885916-0242-5DDB-9D88-EB214096C4DF_d0e516450_href.png
Symbian3/PDK/Source/GUID-65885916-0242-5DDB-9D88-EB214096C4DF_d0e523910_href.png
Symbian3/PDK/Source/GUID-6597A895-37D5-51D1-86B3-E74F6E845899_d0e398103_href.png
Symbian3/PDK/Source/GUID-6597A895-37D5-51D1-86B3-E74F6E845899_d0e403956_href.png
Symbian3/PDK/Source/GUID-659E2A30-C2E0-4E5A-AA9F-50EBEC7E9579.dita
Symbian3/PDK/Source/GUID-65A4BA91-579F-5B9B-ACC1-D3D9B1F233B7_d0e107858_href.png
Symbian3/PDK/Source/GUID-65A4BA91-579F-5B9B-ACC1-D3D9B1F233B7_d0e110301_href.png
Symbian3/PDK/Source/GUID-65C997F4-3899-56B1-85DD-9425E06F128B_d0e232763_href.png
Symbian3/PDK/Source/GUID-65C997F4-3899-56B1-85DD-9425E06F128B_d0e238758_href.png
Symbian3/PDK/Source/GUID-65E9C040-AAB6-5C1E-9724-8828DADFC741.dita
Symbian3/PDK/Source/GUID-65F3E8BD-22C9-5CF2-A3CC-270C24ADECC0_d0e388259_href.png
Symbian3/PDK/Source/GUID-65F3E8BD-22C9-5CF2-A3CC-270C24ADECC0_d0e394112_href.png
Symbian3/PDK/Source/GUID-66470976-7B8B-582B-B32B-4010C95052FF.dita
Symbian3/PDK/Source/GUID-66772A42-2326-5250-9411-4C65534FB5D2_d0e473678_href.png
Symbian3/PDK/Source/GUID-66772A42-2326-5250-9411-4C65534FB5D2_d0e479514_href.png
Symbian3/PDK/Source/GUID-667C0481-2DEF-4618-9AA5-8DF528082061.dita
Symbian3/PDK/Source/GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e596171_href.png
Symbian3/PDK/Source/GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e614116_href.png
Symbian3/PDK/Source/GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e624065_href.png
Symbian3/PDK/Source/GUID-66BBA81D-2488-50B8-8822-43AAAA139DDE.dita
Symbian3/PDK/Source/GUID-66C1F45B-FA94-5724-AD8F-371EAE92B7E9.dita
Symbian3/PDK/Source/GUID-66CF7E30-010D-5A7A-95EF-41620CD49BF9_d0e20988_href.jpg
Symbian3/PDK/Source/GUID-66CF7E30-010D-5A7A-95EF-41620CD49BF9_d0e22955_href.jpg
Symbian3/PDK/Source/GUID-66E0B7F2-DEB4-5326-9DE0-5C0E253568AF_d0e577479_href.png
Symbian3/PDK/Source/GUID-66E0B7F2-DEB4-5326-9DE0-5C0E253568AF_d0e626767_href.png
Symbian3/PDK/Source/GUID-66EFFCF5-581A-4EE7-B784-8087A1081B6D.dita
Symbian3/PDK/Source/GUID-6740A668-33A2-52B1-9416-E9F21591D16C_d0e210589_href.jpg
Symbian3/PDK/Source/GUID-6740A668-33A2-52B1-9416-E9F21591D16C_d0e216590_href.jpg
Symbian3/PDK/Source/GUID-67B311E5-5522-5367-BEC2-F5C9285AC99D.dita
Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-3-1.dita
Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-3-1.dita
Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-6820BB9E-F0B9-4493-A4C3-686238527C9B_d0e88577_href.png
Symbian3/PDK/Source/GUID-6820BB9E-F0B9-4493-A4C3-686238527C9B_d0e92775_href.png
Symbian3/PDK/Source/GUID-68417158-D625-56BF-BDD5-BE49A7651CED.dita
Symbian3/PDK/Source/GUID-684F99F3-7C7D-5B50-8EC0-BE14E22C33BE.dita
Symbian3/PDK/Source/GUID-685C3F33-1530-4984-B125-E4EF8EBB2EE8.dita
Symbian3/PDK/Source/GUID-687AFC9D-ADB7-5190-A535-C54B835825DD.dita
Symbian3/PDK/Source/GUID-68B999C2-0993-4804-9624-42C3D88BE5C7.dita
Symbian3/PDK/Source/GUID-68BBBA98-BDF7-4562-8168-5E90C73ADCF8.dita
Symbian3/PDK/Source/GUID-68C4E5E5-65A2-51BC-B3DC-2B83D29212D4_d0e167911_href.png
Symbian3/PDK/Source/GUID-68C4E5E5-65A2-51BC-B3DC-2B83D29212D4_d0e174004_href.png
Symbian3/PDK/Source/GUID-68E3609C-3429-5B1C-B8D9-C0EBBACEF357_d0e235540_href.png
Symbian3/PDK/Source/GUID-68E3609C-3429-5B1C-B8D9-C0EBBACEF357_d0e241513_href.png
Symbian3/PDK/Source/GUID-68F27C54-A339-507B-9DD3-B3701132FE0A.dita
Symbian3/PDK/Source/GUID-6913F58F-FDA1-4708-B03E-16AF6C545E5B_d0e3152_href.jpg
Symbian3/PDK/Source/GUID-6913F58F-FDA1-4708-B03E-16AF6C545E5B_d0e3161_href.jpg
Symbian3/PDK/Source/GUID-694C7416-927E-58F7-B010-CA55D2FFA88F_d0e236264_href.png
Symbian3/PDK/Source/GUID-694C7416-927E-58F7-B010-CA55D2FFA88F_d0e242237_href.png
Symbian3/PDK/Source/GUID-697087D6-C029-51E8-8722-9E2584420276.dita
Symbian3/PDK/Source/GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita
Symbian3/PDK/Source/GUID-69831D75-D16D-54CF-A083-0EDB358F3390_d0e110448_href.png
Symbian3/PDK/Source/GUID-69831D75-D16D-54CF-A083-0EDB358F3390_d0e112871_href.png
Symbian3/PDK/Source/GUID-69847989-624F-5119-8AC0-3D95D72AF076_d0e106396_href.png
Symbian3/PDK/Source/GUID-69847989-624F-5119-8AC0-3D95D72AF076_d0e108839_href.png
Symbian3/PDK/Source/GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e578451_href.png
Symbian3/PDK/Source/GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e627739_href.png
Symbian3/PDK/Source/GUID-6A5D0445-5D53-5293-A501-136203C80BEE_d0e261097_href.png
Symbian3/PDK/Source/GUID-6A5D0445-5D53-5293-A501-136203C80BEE_d0e267106_href.png
Symbian3/PDK/Source/GUID-6A6E5F25-BAA0-5D12-AB93-87A0E8A206BD.dita
Symbian3/PDK/Source/GUID-6A783365-3CC3-5D7E-9F1C-D3585C4AE66C.dita
Symbian3/PDK/Source/GUID-6A7F8298-F3E9-513C-8C1F-D057AC62E5E3.dita
Symbian3/PDK/Source/GUID-6A9991B8-CF03-5097-BE7D-FB486D26D41B_d0e497126_href.png
Symbian3/PDK/Source/GUID-6A9991B8-CF03-5097-BE7D-FB486D26D41B_d0e504588_href.png
Symbian3/PDK/Source/GUID-6A9E486A-6C1B-4E31-832A-FD39AF041817.dita
Symbian3/PDK/Source/GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e251541_href.png
Symbian3/PDK/Source/GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e257552_href.png
Symbian3/PDK/Source/GUID-6ABEF478-F3DB-524E-A500-9431B42C6665.dita
Symbian3/PDK/Source/GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita
Symbian3/PDK/Source/GUID-6B231E96-CD4B-5D8E-9AAC-D533784E0E3B_d0e20975_href.jpg
Symbian3/PDK/Source/GUID-6B231E96-CD4B-5D8E-9AAC-D533784E0E3B_d0e22942_href.jpg
Symbian3/PDK/Source/GUID-6B8BA8A8-AD56-55BA-9659-15091E988FB7.dita
Symbian3/PDK/Source/GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-7-1.dita
Symbian3/PDK/Source/GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita
Symbian3/PDK/Source/GUID-6B97D07F-DF2A-5CF1-84A9-84DBE7CB2115.dita
Symbian3/PDK/Source/GUID-6B9E5B8D-E2F7-5972-ABFB-49F7F466EBBD_d0e547082_href.png
Symbian3/PDK/Source/GUID-6B9E5B8D-E2F7-5972-ABFB-49F7F466EBBD_d0e554538_href.png
Symbian3/PDK/Source/GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE-master.jpg
Symbian3/PDK/Source/GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE_d0e42963_href.jpg
Symbian3/PDK/Source/GUID-6BA9989F-6D45-5D77-BC79-DE4B5DD35A6C_d0e346428_href.png
Symbian3/PDK/Source/GUID-6BA9989F-6D45-5D77-BC79-DE4B5DD35A6C_d0e352379_href.png
Symbian3/PDK/Source/GUID-6BD861E5-7F33-513D-8B35-CFA47E3E82F3.dita
Symbian3/PDK/Source/GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita
Symbian3/PDK/Source/GUID-6C1D941B-ADD1-5BD3-9045-53B66253316B.dita
Symbian3/PDK/Source/GUID-6C2A9928-5E5D-5F41-89C1-49C0EF14F900_d0e171043_href.png
Symbian3/PDK/Source/GUID-6C2A9928-5E5D-5F41-89C1-49C0EF14F900_d0e177111_href.png
Symbian3/PDK/Source/GUID-6C9355AF-80BA-5DBD-81A4-E9475A118C94_d0e464030_href.png
Symbian3/PDK/Source/GUID-6C9355AF-80BA-5DBD-81A4-E9475A118C94_d0e469875_href.png
Symbian3/PDK/Source/GUID-6CB40FC5-5CBF-592C-B27D-29922C3815DC.dita
Symbian3/PDK/Source/GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D.dita
Symbian3/PDK/Source/GUID-6CE1C2E0-8F57-57D3-9041-929FE30ECEB9_d0e108704_href.png
Symbian3/PDK/Source/GUID-6CE1C2E0-8F57-57D3-9041-929FE30ECEB9_d0e111147_href.png
Symbian3/PDK/Source/GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e1604_href.png
Symbian3/PDK/Source/GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e1608_href.png
Symbian3/PDK/Source/GUID-6D7A25E2-9C24-5D44-ADAE-8DD5A3F358D5_d0e230847_href.png
Symbian3/PDK/Source/GUID-6D7A25E2-9C24-5D44-ADAE-8DD5A3F358D5_d0e236842_href.png
Symbian3/PDK/Source/GUID-6D7F3D5C-BC1C-5657-993A-4D7E5712CAF5.dita
Symbian3/PDK/Source/GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e583262_href.png
Symbian3/PDK/Source/GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e632550_href.png
Symbian3/PDK/Source/GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita
Symbian3/PDK/Source/GUID-6DE7E0C8-A75E-5F09-BEC1-180602BF2051_d0e244940_href.png
Symbian3/PDK/Source/GUID-6DE7E0C8-A75E-5F09-BEC1-180602BF2051_d0e250951_href.png
Symbian3/PDK/Source/GUID-6DF52DDC-B03C-5971-94C8-0E9BAAB949FD.dita
Symbian3/PDK/Source/GUID-6E161670-EBC6-599B-8EB8-2E48C8EA57CC_d0e471461_href.jpg
Symbian3/PDK/Source/GUID-6E161670-EBC6-599B-8EB8-2E48C8EA57CC_d0e477297_href.jpg
Symbian3/PDK/Source/GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita
Symbian3/PDK/Source/GUID-6E221034-9A01-53AB-8374-315C38CCA21E.dita
Symbian3/PDK/Source/GUID-6E2F23B0-4765-5E4E-9B15-9F1D0EC5C28B_d0e471337_href.jpg
Symbian3/PDK/Source/GUID-6E2F23B0-4765-5E4E-9B15-9F1D0EC5C28B_d0e477173_href.jpg
Symbian3/PDK/Source/GUID-6E3AF264-6149-51FA-BBA0-68E2DB679048_d0e137909_href.png
Symbian3/PDK/Source/GUID-6E3AF264-6149-51FA-BBA0-68E2DB679048_d0e140158_href.png
Symbian3/PDK/Source/GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e384771_href.png
Symbian3/PDK/Source/GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e390624_href.png
Symbian3/PDK/Source/GUID-6E4CAA18-635E-5476-8CE4-DCA69C05CC07.dita
Symbian3/PDK/Source/GUID-6E52C463-5489-591F-859D-68EAD5BA80FD.dita
Symbian3/PDK/Source/GUID-6E5625BF-88E0-579A-B2CA-32F3EBDD83CB_d0e525710_href.png
Symbian3/PDK/Source/GUID-6E5625BF-88E0-579A-B2CA-32F3EBDD83CB_d0e533170_href.png
Symbian3/PDK/Source/GUID-6E82BAAC-64B4-59F7-81AC-CF4C76445935_d0e449944_href.png
Symbian3/PDK/Source/GUID-6E82BAAC-64B4-59F7-81AC-CF4C76445935_d0e455789_href.png
Symbian3/PDK/Source/GUID-6EAC30BC-B8F6-5007-A672-DF1D4895599F_d0e430837_href.png
Symbian3/PDK/Source/GUID-6EAC30BC-B8F6-5007-A672-DF1D4895599F_d0e436682_href.png
Symbian3/PDK/Source/GUID-6EB38F10-849D-5763-96A0-A0A108982D67_d0e291028_href.png
Symbian3/PDK/Source/GUID-6EB38F10-849D-5763-96A0-A0A108982D67_d0e297020_href.png
Symbian3/PDK/Source/GUID-6EB98EE9-AEB9-59C1-A1D8-FFD2E96707F2_d0e448231_href.png
Symbian3/PDK/Source/GUID-6EB98EE9-AEB9-59C1-A1D8-FFD2E96707F2_d0e454076_href.png
Symbian3/PDK/Source/GUID-6EF9F8EA-AD61-4AEA-9457-FE645EED2E4D.dita
Symbian3/PDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita
Symbian3/PDK/Source/GUID-6FC62A2F-E27F-54A8-A97F-0F42426D1F63_d0e582404_href.png
Symbian3/PDK/Source/GUID-6FC62A2F-E27F-54A8-A97F-0F42426D1F63_d0e631692_href.png
Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e80423_href.png
Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e84621_href.png
Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e95436_href.png
Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e99632_href.png
Symbian3/PDK/Source/GUID-6FFEC753-4006-559C-B8E9-14940CFCD012_d0e218984_href.png
Symbian3/PDK/Source/GUID-6FFEC753-4006-559C-B8E9-14940CFCD012_d0e225004_href.png
Symbian3/PDK/Source/GUID-700CD2E2-DBB7-40BD-BC6D-9BC79C5A0BBF_d0e2835_href.png
Symbian3/PDK/Source/GUID-700CD2E2-DBB7-40BD-BC6D-9BC79C5A0BBF_d0e2845_href.png
Symbian3/PDK/Source/GUID-70202CC9-BC49-539A-8255-4B0B9C24A702.dita
Symbian3/PDK/Source/GUID-70483E81-311F-5247-9F39-3940F20C0EB1_d0e340581_href.png
Symbian3/PDK/Source/GUID-70483E81-311F-5247-9F39-3940F20C0EB1_d0e346532_href.png
Symbian3/PDK/Source/GUID-706263D6-AAE2-40E2-B0B4-D12E253F70A8_d0e103024_href.png
Symbian3/PDK/Source/GUID-706263D6-AAE2-40E2-B0B4-D12E253F70A8_d0e98944_href.png
Symbian3/PDK/Source/GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita
Symbian3/PDK/Source/GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA.dita
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e101043_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e79397_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e83595_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e88320_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e90989_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e92518_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e95187_href.png
Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e96964_href.png
Symbian3/PDK/Source/GUID-70FC2D13-493D-433F-9CFB-ACF9F512513F_d0e102231_href.png
Symbian3/PDK/Source/GUID-70FC2D13-493D-433F-9CFB-ACF9F512513F_d0e98153_href.png
Symbian3/PDK/Source/GUID-711594BD-9B8E-5E8A-A5A9-6C94F65AF064.dita
Symbian3/PDK/Source/GUID-71271D1C-C385-5687-8A90-46E8B590BB1E_d0e375395_href.png
Symbian3/PDK/Source/GUID-71271D1C-C385-5687-8A90-46E8B590BB1E_d0e381239_href.png
Symbian3/PDK/Source/GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita
Symbian3/PDK/Source/GUID-715D065D-4FF7-55D0-882E-3B37F36369C4.dita
Symbian3/PDK/Source/GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita
Symbian3/PDK/Source/GUID-718E1B9F-C05D-559A-AF69-BD9CFAF190FB_d0e24740_href.png
Symbian3/PDK/Source/GUID-718E1B9F-C05D-559A-AF69-BD9CFAF190FB_d0e26707_href.png
Symbian3/PDK/Source/GUID-71B31715-3B6A-50F0-86C1-8F7F76985802_d0e210702_href.jpg
Symbian3/PDK/Source/GUID-71B31715-3B6A-50F0-86C1-8F7F76985802_d0e216703_href.jpg
Symbian3/PDK/Source/GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita
Symbian3/PDK/Source/GUID-71E64F3E-40CB-560B-A482-CA92C7FD1AA2_d0e259612_href.png
Symbian3/PDK/Source/GUID-71E64F3E-40CB-560B-A482-CA92C7FD1AA2_d0e265621_href.png
Symbian3/PDK/Source/GUID-71F8553D-04A2-5F59-A469-1D08109C7A28_d0e229925_href.png
Symbian3/PDK/Source/GUID-71F8553D-04A2-5F59-A469-1D08109C7A28_d0e235920_href.png
Symbian3/PDK/Source/GUID-721A5765-7A9A-58F9-AFAF-ABC559207D23.dita
Symbian3/PDK/Source/GUID-7226154E-2387-5D14-A009-2A1A60617970.dita
Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e67904_href.png
Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e72117_href.png
Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e94853_href.png
Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e99051_href.png
Symbian3/PDK/Source/GUID-722FAAAD-AD14-4139-857E-83B639FDEB58_d0e93155_href.png
Symbian3/PDK/Source/GUID-722FAAAD-AD14-4139-857E-83B639FDEB58_d0e97353_href.png
Symbian3/PDK/Source/GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita
Symbian3/PDK/Source/GUID-7235E4E9-0046-4BE1-91CF-BD52CE4489DF.dita
Symbian3/PDK/Source/GUID-727E6071-591B-539E-997C-BC0CC5B62A11_d0e175792_href.png
Symbian3/PDK/Source/GUID-727E6071-591B-539E-997C-BC0CC5B62A11_d0e181861_href.png
Symbian3/PDK/Source/GUID-7287F1D4-023E-5C90-91E1-6D8DF78D8241.dita
Symbian3/PDK/Source/GUID-7293765E-2B1E-5F0D-B6A8-0E48729DC365_d0e235688_href.png
Symbian3/PDK/Source/GUID-7293765E-2B1E-5F0D-B6A8-0E48729DC365_d0e241661_href.png
Symbian3/PDK/Source/GUID-7293CFFD-4D5D-58F8-97F9-4906CBEBCC79_d0e51088_href.png
Symbian3/PDK/Source/GUID-7293CFFD-4D5D-58F8-97F9-4906CBEBCC79_d0e55322_href.png
Symbian3/PDK/Source/GUID-72B7B5CC-2E04-53CE-8414-C362DFD40D52_d0e330755_href.png
Symbian3/PDK/Source/GUID-72B7B5CC-2E04-53CE-8414-C362DFD40D52_d0e336732_href.png
Symbian3/PDK/Source/GUID-72DE3EB1-1AF5-4157-8B99-A1C7143DAD2C.dita
Symbian3/PDK/Source/GUID-72F24867-8D67-5BD1-A8C4-93FC7A4290FC_d0e260366_href.png
Symbian3/PDK/Source/GUID-72F24867-8D67-5BD1-A8C4-93FC7A4290FC_d0e266375_href.png
Symbian3/PDK/Source/GUID-734588CA-5644-438A-9CC9-77ECBE0C1EEA.dita
Symbian3/PDK/Source/GUID-73491C1D-6C74-5434-B2F3-4AF416AE37B7.dita
Symbian3/PDK/Source/GUID-736BB5CF-0E2B-59FC-BC65-E52A7D12EC4A_d0e232725_href.png
Symbian3/PDK/Source/GUID-736BB5CF-0E2B-59FC-BC65-E52A7D12EC4A_d0e238720_href.png
Symbian3/PDK/Source/GUID-736F9C4B-7C70-5927-A9C9-21A127C431AF_d0e58622_href.png
Symbian3/PDK/Source/GUID-736F9C4B-7C70-5927-A9C9-21A127C431AF_d0e62856_href.png
Symbian3/PDK/Source/GUID-7387B16E-1978-5997-ACCB-BEBFD2609C86.dita
Symbian3/PDK/Source/GUID-738FADA9-E26F-53F1-A6D6-2E82019DDA1F.dita
Symbian3/PDK/Source/GUID-739556F5-A2F3-5548-943C-7D50785DFB48_d0e587286_href.png
Symbian3/PDK/Source/GUID-739556F5-A2F3-5548-943C-7D50785DFB48_d0e636585_href.png
Symbian3/PDK/Source/GUID-73A431EF-44CA-5E62-AF3F-1601CFD2484F_d0e536212_href.jpg
Symbian3/PDK/Source/GUID-73A431EF-44CA-5E62-AF3F-1601CFD2484F_d0e543672_href.jpg
Symbian3/PDK/Source/GUID-743BFB3C-7B88-4A5C-A655-A50DEB45FC46.dita
Symbian3/PDK/Source/GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e596557_href.png
Symbian3/PDK/Source/GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e614502_href.png
Symbian3/PDK/Source/GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e624451_href.png
Symbian3/PDK/Source/GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita
Symbian3/PDK/Source/GUID-749B7949-8731-519E-8948-CA3E1C5D6861_d0e445911_href.png
Symbian3/PDK/Source/GUID-749B7949-8731-519E-8948-CA3E1C5D6861_d0e451756_href.png
Symbian3/PDK/Source/GUID-74B329CD-4640-5636-9D8D-20F0D7E09EB4_d0e236285_href.png
Symbian3/PDK/Source/GUID-74B329CD-4640-5636-9D8D-20F0D7E09EB4_d0e242258_href.png
Symbian3/PDK/Source/GUID-74C1E76A-A749-52D7-838A-238C675B71B0.dita
Symbian3/PDK/Source/GUID-74D8A4FA-5AB9-5762-BCA6-7686FB5D35DE.dita
Symbian3/PDK/Source/GUID-74E94DC3-88C7-51BE-9354-C49B3A7A8B03.dita
Symbian3/PDK/Source/GUID-74F1EBB6-293A-4B33-A08F-46F3C23B37CE.dita
Symbian3/PDK/Source/GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e595114_href.png
Symbian3/PDK/Source/GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e610062_href.png
Symbian3/PDK/Source/GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e623008_href.png
Symbian3/PDK/Source/GUID-751F057B-BF6D-5B28-A47A-3E99B25731CF.dita
Symbian3/PDK/Source/GUID-75553219-500C-487F-8D7E-0FAF48CF1872.dita
Symbian3/PDK/Source/GUID-75AFF4B9-1F95-585E-9354-EAA6271251FA.dita
Symbian3/PDK/Source/GUID-75BA4518-45DE-5EB4-937E-46C1CFDD0CEB_d0e451604_href.png
Symbian3/PDK/Source/GUID-75BA4518-45DE-5EB4-937E-46C1CFDD0CEB_d0e457449_href.png
Symbian3/PDK/Source/GUID-760222AA-59F0-58E6-A494-F9CB6D739960_d0e63456_href.png
Symbian3/PDK/Source/GUID-760222AA-59F0-58E6-A494-F9CB6D739960_d0e67687_href.png
Symbian3/PDK/Source/GUID-762A665F-43D0-53ED-B698-0CBD3AC46391.dita
Symbian3/PDK/Source/GUID-763DCEF4-C960-58A2-99DC-7FFD3187BFD4.dita
Symbian3/PDK/Source/GUID-7681734D-1291-59A3-B226-BC58403FA8A0.dita
Symbian3/PDK/Source/GUID-768CCC6E-16D2-50E8-8EED-EB2C2AF0E9BE.dita
Symbian3/PDK/Source/GUID-768D58BA-28A8-5325-A3C3-6A95E1F98578_d0e244637_href.png
Symbian3/PDK/Source/GUID-768D58BA-28A8-5325-A3C3-6A95E1F98578_d0e250648_href.png
Symbian3/PDK/Source/GUID-76901D63-BDA2-4DCA-A66C-7BAFD7E211EB_d0e101175_href.png
Symbian3/PDK/Source/GUID-76901D63-BDA2-4DCA-A66C-7BAFD7E211EB_d0e97096_href.png
Symbian3/PDK/Source/GUID-76A30EC4-4B99-5471-9E80-F853C91485BC.dita
Symbian3/PDK/Source/GUID-76B4C4D2-75A5-4139-9186-23443C68CD8F_d0e63682_href.png
Symbian3/PDK/Source/GUID-76B4C4D2-75A5-4139-9186-23443C68CD8F_d0e67904_href.png
Symbian3/PDK/Source/GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita
Symbian3/PDK/Source/GUID-7712BAB3-5F48-5A28-9EA9-104D8B4A0431_d0e547718_href.png
Symbian3/PDK/Source/GUID-7712BAB3-5F48-5A28-9EA9-104D8B4A0431_d0e555174_href.png
Symbian3/PDK/Source/GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita
Symbian3/PDK/Source/GUID-772DFFA1-4BBC-516F-909D-47CB773760F5.dita
Symbian3/PDK/Source/GUID-773A0EDC-F17C-553B-BEC3-DA990F5064B7_d0e316211_href.png
Symbian3/PDK/Source/GUID-773A0EDC-F17C-553B-BEC3-DA990F5064B7_d0e322201_href.png
Symbian3/PDK/Source/GUID-7767599C-7B77-5DD1-8E3E-7AD01EC6F6A1.dita
Symbian3/PDK/Source/GUID-7767640D-5DD0-563B-8EE7-5C3EAEDBF859.dita
Symbian3/PDK/Source/GUID-77AD4D8C-08CA-45C4-B5E7-04B4C7958A1A_d0e104840_href.png
Symbian3/PDK/Source/GUID-77EC9F20-32F4-5A1D-B183-75838EBA30B1_d0e218726_href.png
Symbian3/PDK/Source/GUID-77EC9F20-32F4-5A1D-B183-75838EBA30B1_d0e224746_href.png
Symbian3/PDK/Source/GUID-77F02412-00E1-59F9-A875-3147529F83F5_d0e141273_href.png
Symbian3/PDK/Source/GUID-77F02412-00E1-59F9-A875-3147529F83F5_d0e143522_href.png
Symbian3/PDK/Source/GUID-78175610-72F4-5CAF-B1E9-9A761347C9DB.dita
Symbian3/PDK/Source/GUID-781F53F0-0F84-4BF9-A565-C2E7333521CE.dita
Symbian3/PDK/Source/GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e376930_href.png
Symbian3/PDK/Source/GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e382774_href.png
Symbian3/PDK/Source/GUID-783161AE-708E-4FB4-8219-EEC0F9939E9B_d0e83862_href.png
Symbian3/PDK/Source/GUID-783161AE-708E-4FB4-8219-EEC0F9939E9B_d0e88060_href.png
Symbian3/PDK/Source/GUID-783D0B50-0E8A-5199-A07E-749D4A71E671.dita
Symbian3/PDK/Source/GUID-785160B9-A6BC-47FA-957E-5BB87E79B4E7_d0e101906_href.png
Symbian3/PDK/Source/GUID-785160B9-A6BC-47FA-957E-5BB87E79B4E7_d0e97828_href.png
Symbian3/PDK/Source/GUID-786D76B7-B827-43B7-8202-BA7A7E5EE03E.dita
Symbian3/PDK/Source/GUID-78989363-A405-4A1D-8F13-DC52FE6FAD80_d0e103515_href.png
Symbian3/PDK/Source/GUID-78989363-A405-4A1D-8F13-DC52FE6FAD80_d0e107535_href.png
Symbian3/PDK/Source/GUID-78AAEDF8-6C31-53E3-B411-3463DDAAC902_d0e109991_href.png
Symbian3/PDK/Source/GUID-78AAEDF8-6C31-53E3-B411-3463DDAAC902_d0e112414_href.png
Symbian3/PDK/Source/GUID-78B63C44-7765-5408-A611-DFE8709196F8_d0e242153_href.png
Symbian3/PDK/Source/GUID-78B63C44-7765-5408-A611-DFE8709196F8_d0e248164_href.png
Symbian3/PDK/Source/GUID-79009102-0490-5C61-9722-C5EE49A1AF2B_d0e228080_href.png
Symbian3/PDK/Source/GUID-79009102-0490-5C61-9722-C5EE49A1AF2B_d0e234079_href.png
Symbian3/PDK/Source/GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita
Symbian3/PDK/Source/GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita
Symbian3/PDK/Source/GUID-795B41AF-FBEA-56CE-AE20-EF17BE754723.dita
Symbian3/PDK/Source/GUID-795DA381-A997-55E6-98D0-436DC250B07E_d0e264665_href.png
Symbian3/PDK/Source/GUID-795DA381-A997-55E6-98D0-436DC250B07E_d0e270665_href.png
Symbian3/PDK/Source/GUID-7971886A-8ED0-5924-9BC0-A163BA499888.dita
Symbian3/PDK/Source/GUID-79B02562-B6E6-5DF9-BF98-F015C73A448C.dita
Symbian3/PDK/Source/GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e236155_href.png
Symbian3/PDK/Source/GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e242128_href.png
Symbian3/PDK/Source/GUID-7A16B6E1-16F7-41EC-ABCC-4A2BEBD66FFF.dita
Symbian3/PDK/Source/GUID-7A22FBD7-F306-578C-BD54-BCF74B7343CF.dita
Symbian3/PDK/Source/GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita
Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e101079_href.png
Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e79459_href.png
Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e83480_href.png
Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e83657_href.png
Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e87678_href.png
Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e97000_href.png
Symbian3/PDK/Source/GUID-7A52BD40-E1C1-5C67-AAA0-1B79A34CF24C.dita
Symbian3/PDK/Source/GUID-7A552BC6-419F-4FD9-8D63-828E37982FD8.dita
Symbian3/PDK/Source/GUID-7A6342C7-DED3-5BE0-AB1C-F2C7BC57D1D2_d0e661760_href.png
Symbian3/PDK/Source/GUID-7A6342C7-DED3-5BE0-AB1C-F2C7BC57D1D2_d0e674587_href.png
Symbian3/PDK/Source/GUID-7A6FFAD1-5358-5050-9728-5C51B5B225AF_d0e55187_href.png
Symbian3/PDK/Source/GUID-7A6FFAD1-5358-5050-9728-5C51B5B225AF_d0e59421_href.png
Symbian3/PDK/Source/GUID-7AC4C1C2-D796-508F-93CF-21F061F49A30_d0e74797_href.png
Symbian3/PDK/Source/GUID-7AC4C1C2-D796-508F-93CF-21F061F49A30_d0e79010_href.png
Symbian3/PDK/Source/GUID-7AE4D17F-728A-5B7E-A3F9-A903E64731B1_d0e236293_href.png
Symbian3/PDK/Source/GUID-7AE4D17F-728A-5B7E-A3F9-A903E64731B1_d0e242266_href.png
Symbian3/PDK/Source/GUID-7AE7EAE1-BA90-446E-AAAF-01794EF96576.dita
Symbian3/PDK/Source/GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita
Symbian3/PDK/Source/GUID-7B20C9EE-8EAB-504D-8DDB-03147E0C2B0C_d0e230595_href.png
Symbian3/PDK/Source/GUID-7B20C9EE-8EAB-504D-8DDB-03147E0C2B0C_d0e236590_href.png
Symbian3/PDK/Source/GUID-7B2AA498-5E73-4CC4-91DF-5F07F452F0BF.dita
Symbian3/PDK/Source/GUID-7B3578A0-7E2E-508A-A355-A39AEE0307AD_d0e512166_href.jpg
Symbian3/PDK/Source/GUID-7B3578A0-7E2E-508A-A355-A39AEE0307AD_d0e519628_href.jpg
Symbian3/PDK/Source/GUID-7B589949-2784-5B77-959E-99F8733A8853_d0e332332_href.png
Symbian3/PDK/Source/GUID-7B589949-2784-5B77-959E-99F8733A8853_d0e338304_href.png
Symbian3/PDK/Source/GUID-7B5A854B-A9A0-557E-9970-9B13D7EE251E.dita
Symbian3/PDK/Source/GUID-7B6073BF-6D8C-5F00-98EC-966573777677.dita
Symbian3/PDK/Source/GUID-7C061090-83A8-5E0F-B42B-2D722BE054EE_d0e344560_href.png
Symbian3/PDK/Source/GUID-7C061090-83A8-5E0F-B42B-2D722BE054EE_d0e350511_href.png
Symbian3/PDK/Source/GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB.dita
Symbian3/PDK/Source/GUID-7C4A8920-359F-5328-8D28-2AFBA25A6A9E.dita
Symbian3/PDK/Source/GUID-7C51BC7A-CB97-5A7E-A5EF-BB3623DFFFED_d0e236804_href.png
Symbian3/PDK/Source/GUID-7C51BC7A-CB97-5A7E-A5EF-BB3623DFFFED_d0e242777_href.png
Symbian3/PDK/Source/GUID-7C6FB773-0F87-5937-BF44-BEB8F4B6A62C_d0e445275_href.png
Symbian3/PDK/Source/GUID-7C6FB773-0F87-5937-BF44-BEB8F4B6A62C_d0e451120_href.png
Symbian3/PDK/Source/GUID-7C75642D-C0C9-5392-9354-711F42DC2C61.dita
Symbian3/PDK/Source/GUID-7C87B04A-1CCC-47D2-9B53-4E341412EFD2_d0e94143_href.png
Symbian3/PDK/Source/GUID-7C87B04A-1CCC-47D2-9B53-4E341412EFD2_d0e98341_href.png
Symbian3/PDK/Source/GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e172462_href.png
Symbian3/PDK/Source/GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e178530_href.png
Symbian3/PDK/Source/GUID-7CF8DC4A-1BD8-517F-9E96-AFB30EE8F938.dita
Symbian3/PDK/Source/GUID-7D025BEF-61B9-4EF1-AFF7-604B500A8F2C_d0e92545_href.png
Symbian3/PDK/Source/GUID-7D025BEF-61B9-4EF1-AFF7-604B500A8F2C_d0e96743_href.png
Symbian3/PDK/Source/GUID-7D13B61C-0C9E-5098-87F0-BB9D741E9281_d0e435797_href.png
Symbian3/PDK/Source/GUID-7D13B61C-0C9E-5098-87F0-BB9D741E9281_d0e441642_href.png
Symbian3/PDK/Source/GUID-7D1886D4-24E4-528E-B3F0-2B6AF3E175AB_d0e231694_href.png
Symbian3/PDK/Source/GUID-7D1886D4-24E4-528E-B3F0-2B6AF3E175AB_d0e237689_href.png
Symbian3/PDK/Source/GUID-7D3B5008-CB40-504D-90A8-92DE482977CA.dita
Symbian3/PDK/Source/GUID-7D4F429E-FC65-55FC-BD4D-8F351E78AF33.dita
Symbian3/PDK/Source/GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita
Symbian3/PDK/Source/GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita
Symbian3/PDK/Source/GUID-7D78DFA8-301C-5A0C-9F83-7C4BBEAE34C2_d0e214701_href.jpg
Symbian3/PDK/Source/GUID-7D78DFA8-301C-5A0C-9F83-7C4BBEAE34C2_d0e220721_href.jpg
Symbian3/PDK/Source/GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e439103_href.png
Symbian3/PDK/Source/GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e444948_href.png
Symbian3/PDK/Source/GUID-7DDC1BC6-A100-5B50-ABFE-B4AA466716A6_d0e489613_href.png
Symbian3/PDK/Source/GUID-7DDC1BC6-A100-5B50-ABFE-B4AA466716A6_d0e495434_href.png
Symbian3/PDK/Source/GUID-7DDEE87B-7056-5AAA-91A1-33D3D0D50041.dita
Symbian3/PDK/Source/GUID-7DFA1B74-5BD1-494D-9BBA-B2D6F258C5F1.dita
Symbian3/PDK/Source/GUID-7E6634DC-7F07-5687-AFEE-D5BD268B8E1D_d0e61445_href.png
Symbian3/PDK/Source/GUID-7E6634DC-7F07-5687-AFEE-D5BD268B8E1D_d0e65679_href.png
Symbian3/PDK/Source/GUID-7E6DDDBB-FDE2-59ED-A932-AFD4D0BAC3E3.dita
Symbian3/PDK/Source/GUID-7E7BCC57-E14F-56A4-B948-B9FB9E7AB598_d0e8953_href.png
Symbian3/PDK/Source/GUID-7E7BCC57-E14F-56A4-B948-B9FB9E7AB598_d0e9075_href.png
Symbian3/PDK/Source/GUID-7E801A44-4509-5AC0-88D5-7DEA1AF7969D_d0e7653_href.png
Symbian3/PDK/Source/GUID-7E801A44-4509-5AC0-88D5-7DEA1AF7969D_d0e7775_href.png
Symbian3/PDK/Source/GUID-7E8C363C-5908-445D-8595-D53F217186ED_d0e101841_href.png
Symbian3/PDK/Source/GUID-7E8C363C-5908-445D-8595-D53F217186ED_d0e105861_href.png
Symbian3/PDK/Source/GUID-7E8DA853-BE41-5C8D-B286-9F5F7992FD2C_d0e551668_href.png
Symbian3/PDK/Source/GUID-7E8DA853-BE41-5C8D-B286-9F5F7992FD2C_d0e559124_href.png
Symbian3/PDK/Source/GUID-7F0EC737-F5EE-5B58-B9EB-4D8A058E3A49_d0e242547_href.jpg
Symbian3/PDK/Source/GUID-7F0EC737-F5EE-5B58-B9EB-4D8A058E3A49_d0e248558_href.jpg
Symbian3/PDK/Source/GUID-7F200AB2-602E-5351-8FA1-1B818F6DE355_d0e245815_href.png
Symbian3/PDK/Source/GUID-7F200AB2-602E-5351-8FA1-1B818F6DE355_d0e251826_href.png
Symbian3/PDK/Source/GUID-7F3F89C0-999A-552E-90BB-17D720C53DE6_d0e227935_href.png
Symbian3/PDK/Source/GUID-7F3F89C0-999A-552E-90BB-17D720C53DE6_d0e233934_href.png
Symbian3/PDK/Source/GUID-7F5CBA9E-1386-596D-A7FD-34AC1284F0C5_d0e229933_href.png
Symbian3/PDK/Source/GUID-7F5CBA9E-1386-596D-A7FD-34AC1284F0C5_d0e235928_href.png
Symbian3/PDK/Source/GUID-7F6283C0-46E8-427C-B6A9-FB274A7D2C15.dita
Symbian3/PDK/Source/GUID-7F69D3CA-6EFC-5576-A00A-F58F36696BA5.dita
Symbian3/PDK/Source/GUID-7F7A449F-CC19-570C-A6C1-BC470256AA8C_d0e167970_href.png
Symbian3/PDK/Source/GUID-7F7A449F-CC19-570C-A6C1-BC470256AA8C_d0e174063_href.png
Symbian3/PDK/Source/GUID-7F8F6ABB-8F46-5486-A116-6965787BC539_d0e219745_href.png
Symbian3/PDK/Source/GUID-7F8F6ABB-8F46-5486-A116-6965787BC539_d0e225765_href.png
Symbian3/PDK/Source/GUID-7F9F0EB3-8F0E-55BB-9864-C80FE6FC1528.dita
Symbian3/PDK/Source/GUID-7FA5898D-8898-53CE-875E-1DE97BE02C81.dita
Symbian3/PDK/Source/GUID-7FB63DAA-FBFD-4485-919F-5FEFBBC53B97.dita
Symbian3/PDK/Source/GUID-7FCFB114-B186-5615-9134-08612BB675EE.dita
Symbian3/PDK/Source/GUID-7FD49142-23DC-44FC-BA7D-C11E0559C8CF.dita
Symbian3/PDK/Source/GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita
Symbian3/PDK/Source/GUID-803D895B-E22F-5ADE-9BA6-F2EB20856541_d0e653197_href.png
Symbian3/PDK/Source/GUID-803D895B-E22F-5ADE-9BA6-F2EB20856541_d0e666024_href.png
Symbian3/PDK/Source/GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita
Symbian3/PDK/Source/GUID-809D428D-5BF6-57FF-952D-2FDF88E50833.dita
Symbian3/PDK/Source/GUID-80E0DB93-A96A-54A8-A201-E11935418BE7.dita
Symbian3/PDK/Source/GUID-80E8BA3A-FDF3-50A5-BF44-181C40C31F09.dita
Symbian3/PDK/Source/GUID-80EC80E2-E197-50F7-B1FD-720A00AC3B4D.dita
Symbian3/PDK/Source/GUID-80F2A7AC-6E86-54F2-96F0-4417A2AEA017.dita
Symbian3/PDK/Source/GUID-80F2DEC8-152F-4681-A9D0-8EB776131313.dita
Symbian3/PDK/Source/GUID-8105D1FC-DFFE-59F0-A664-3DA44F002F47.dita
Symbian3/PDK/Source/GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita
Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e101156_href.png
Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e79553_href.png
Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e83751_href.png
Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e92561_href.png
Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e96759_href.png
Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e97077_href.png
Symbian3/PDK/Source/GUID-817D677C-2422-52B1-8D44-D15A0351FDC6_d0e210608_href.jpg
Symbian3/PDK/Source/GUID-817D677C-2422-52B1-8D44-D15A0351FDC6_d0e216609_href.jpg
Symbian3/PDK/Source/GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36.dita
Symbian3/PDK/Source/GUID-81A5784D-A0C6-5108-9E7B-5D39C6743B1A_d0e318567_href.png
Symbian3/PDK/Source/GUID-81A5784D-A0C6-5108-9E7B-5D39C6743B1A_d0e324557_href.png
Symbian3/PDK/Source/GUID-81C19443-4925-4949-8473-44370C8ACE90.dita
Symbian3/PDK/Source/GUID-81D78B71-E108-5AA0-9058-308F1AC12754_d0e231481_href.png
Symbian3/PDK/Source/GUID-81D78B71-E108-5AA0-9058-308F1AC12754_d0e237476_href.png
Symbian3/PDK/Source/GUID-81E33E18-D390-4110-8D85-1FCDA9CC311E.dita
Symbian3/PDK/Source/GUID-821C254A-40C6-45F9-B2F9-2CF28CAEB8CC.dita
Symbian3/PDK/Source/GUID-821FEEDD-81B8-5511-AC4E-B673A96F8CB4_d0e520048_href.png
Symbian3/PDK/Source/GUID-821FEEDD-81B8-5511-AC4E-B673A96F8CB4_d0e527508_href.png
Symbian3/PDK/Source/GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita
Symbian3/PDK/Source/GUID-8255A186-C1AC-44DA-844C-1FEA029C73BC.dita
Symbian3/PDK/Source/GUID-82862A69-5E86-5924-BFF0-F7655FCBFAF0.dita
Symbian3/PDK/Source/GUID-8290AAF0-577C-51D2-8AC1-0D37A10F45CB.dita
Symbian3/PDK/Source/GUID-829C15B1-0769-4E90-935D-4DCA58895E81_d0e86283_href.png
Symbian3/PDK/Source/GUID-829C15B1-0769-4E90-935D-4DCA58895E81_d0e90481_href.png
Symbian3/PDK/Source/GUID-82B0B4B9-6BC2-5BEF-B3B0-D57AC57F8D8A.dita
Symbian3/PDK/Source/GUID-82B73D69-0176-5CBB-B3ED-5CA7F5CCD5D9.dita
Symbian3/PDK/Source/GUID-82B8C95E-F7E7-59C2-A71A-4C882653D555.dita
Symbian3/PDK/Source/GUID-8300FD98-38D7-43EF-A71E-A7BEBFC3F8ED_d0e89623_href.png
Symbian3/PDK/Source/GUID-8300FD98-38D7-43EF-A71E-A7BEBFC3F8ED_d0e93821_href.png
Symbian3/PDK/Source/GUID-8305F179-8F26-4B38-8523-066D1B0B7A62_d0e283327_href.png
Symbian3/PDK/Source/GUID-8305F179-8F26-4B38-8523-066D1B0B7A62_d0e289318_href.png
Symbian3/PDK/Source/GUID-830E40D0-7DEE-5EFB-BCC6-EC0AA7FF7A02.dita
Symbian3/PDK/Source/GUID-83510B5B-9725-5272-BF51-23A089178DAC.dita
Symbian3/PDK/Source/GUID-83630B57-D842-4B60-8AF0-D2965251DE29.dita
Symbian3/PDK/Source/GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1.dita
Symbian3/PDK/Source/GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1.dita
Symbian3/PDK/Source/GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-9-1-4-1-6-1.dita
Symbian3/PDK/Source/GUID-83798F82-15FB-4EA6-9AD8-540616CBF6C4.dita
Symbian3/PDK/Source/GUID-8390D842-B8A3-5042-952D-73240DB30D6B.dita
Symbian3/PDK/Source/GUID-83A4D862-368E-5DCC-998E-90144BE18A22.dita
Symbian3/PDK/Source/GUID-83BE15D8-511F-592D-A93B-C71BD6FB1B08.dita
Symbian3/PDK/Source/GUID-83DC4E21-72B3-459F-9AE8-41ED52BF219C_d0e94043_href.png
Symbian3/PDK/Source/GUID-83DC4E21-72B3-459F-9AE8-41ED52BF219C_d0e98241_href.png
Symbian3/PDK/Source/GUID-845F3021-E3ED-4676-916A-75740886DCBD.dita
Symbian3/PDK/Source/GUID-84623607-ACCA-5E57-9001-DA56E16C1652_d0e454725_href.png
Symbian3/PDK/Source/GUID-84623607-ACCA-5E57-9001-DA56E16C1652_d0e460570_href.png
Symbian3/PDK/Source/GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e523913_href.png
Symbian3/PDK/Source/GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e531373_href.png
Symbian3/PDK/Source/GUID-84B6389A-55CC-53EB-8725-65F753FD7217.dita
Symbian3/PDK/Source/GUID-84E742A8-2D24-55B8-A4DA-A67939A50754_d0e167895_href.png
Symbian3/PDK/Source/GUID-84E742A8-2D24-55B8-A4DA-A67939A50754_d0e173988_href.png
Symbian3/PDK/Source/GUID-85058500-87C5-457A-9567-ECAB29708759.dita
Symbian3/PDK/Source/GUID-8526BBD8-CA70-4B3F-B91D-D70AF06440B2_d0e83362_href.png
Symbian3/PDK/Source/GUID-8526BBD8-CA70-4B3F-B91D-D70AF06440B2_d0e87560_href.png
Symbian3/PDK/Source/GUID-85291DF3-C134-4231-938A-C20DD122AB7D_d0e14048_href.png
Symbian3/PDK/Source/GUID-85291DF3-C134-4231-938A-C20DD122AB7D_d0e14147_href.png
Symbian3/PDK/Source/GUID-85332468-292D-589B-891B-0E7ACBADC7BA_d0e378189_href.png
Symbian3/PDK/Source/GUID-85332468-292D-589B-891B-0E7ACBADC7BA_d0e384042_href.png
Symbian3/PDK/Source/GUID-857A523E-E660-5AFA-98B1-3A5440A8372F_d0e351847_href.jpg
Symbian3/PDK/Source/GUID-857A523E-E660-5AFA-98B1-3A5440A8372F_d0e357778_href.jpg
Symbian3/PDK/Source/GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita
Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16619_href.jpg
Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16677_href.jpg
Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16709_href.jpg
Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16767_href.jpg
Symbian3/PDK/Source/GUID-85CA1089-3F58-5E82-86A4-4674C893B25F.dita
Symbian3/PDK/Source/GUID-860916D1-339F-4D4F-859D-DAE11F7C311E.dita
Symbian3/PDK/Source/GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e597037_href.png
Symbian3/PDK/Source/GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e615421_href.png
Symbian3/PDK/Source/GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e624931_href.png
Symbian3/PDK/Source/GUID-8617B132-D8C8-5769-95B9-867815B45B18_d0e167817_href.png
Symbian3/PDK/Source/GUID-8617B132-D8C8-5769-95B9-867815B45B18_d0e173910_href.png
Symbian3/PDK/Source/GUID-866B69E6-8D4C-546F-B9C9-244AD8988DE5_d0e167767_href.png
Symbian3/PDK/Source/GUID-866B69E6-8D4C-546F-B9C9-244AD8988DE5_d0e173860_href.png
Symbian3/PDK/Source/GUID-8675AC01-E2D8-425C-899F-12BE99345AA9.dita
Symbian3/PDK/Source/GUID-867B7D4C-34AC-585D-BEED-BDF050A12203_d0e274028_href.png
Symbian3/PDK/Source/GUID-867B7D4C-34AC-585D-BEED-BDF050A12203_d0e280028_href.png
Symbian3/PDK/Source/GUID-86A6FAC5-FF3C-5C35-A521-5C4BD3823629_d0e275773_href.png
Symbian3/PDK/Source/GUID-86A6FAC5-FF3C-5C35-A521-5C4BD3823629_d0e281773_href.png
Symbian3/PDK/Source/GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita
Symbian3/PDK/Source/GUID-86AB2626-27F1-5761-85F7-5644C5D0A675.dita
Symbian3/PDK/Source/GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D.dita
Symbian3/PDK/Source/GUID-86C21C9B-9F08-579F-84E9-CBE46F756373_d0e378153_href.png
Symbian3/PDK/Source/GUID-86C21C9B-9F08-579F-84E9-CBE46F756373_d0e384006_href.png
Symbian3/PDK/Source/GUID-873186CE-9723-558F-9C7E-0CEE607F076C_d0e681992_href.png
Symbian3/PDK/Source/GUID-873186CE-9723-558F-9C7E-0CEE607F076C_d0e694819_href.png
Symbian3/PDK/Source/GUID-875D74D3-5663-42E3-A4B9-294F82FF5486.dita
Symbian3/PDK/Source/GUID-8761F82E-5DC4-5BD5-A422-2EC45A92925B_d0e597320_href.png
Symbian3/PDK/Source/GUID-8761F82E-5DC4-5BD5-A422-2EC45A92925B_d0e625214_href.png
Symbian3/PDK/Source/GUID-876EE000-01B7-4457-AE9C-CE56E48CFF11_d0e99556_href.png
Symbian3/PDK/Source/GUID-8792CCC3-B70F-53FC-B394-B0069AF90349.dita
Symbian3/PDK/Source/GUID-8798F896-E0CB-4B9B-8F88-3C8B58574213.dita
Symbian3/PDK/Source/GUID-87A1B62D-4C89-52B8-8BF3-BDE0AC53916C_d0e373341_href.png
Symbian3/PDK/Source/GUID-87A1B62D-4C89-52B8-8BF3-BDE0AC53916C_d0e379189_href.png
Symbian3/PDK/Source/GUID-87E45FA9-C1F9-5E4D-A5A1-25B62E508F35.dita
Symbian3/PDK/Source/GUID-87E9656E-CBB4-5023-B6BC-148A2957AFFC.dita
Symbian3/PDK/Source/GUID-881C353C-6482-4DFE-9D43-CFB80DEB77A5_d0e2926_href.png
Symbian3/PDK/Source/GUID-881C353C-6482-4DFE-9D43-CFB80DEB77A5_d0e2936_href.png
Symbian3/PDK/Source/GUID-8862E271-ABA4-5A25-8990-C0B3931E370D_d0e658895_href.png
Symbian3/PDK/Source/GUID-8862E271-ABA4-5A25-8990-C0B3931E370D_d0e671722_href.png
Symbian3/PDK/Source/GUID-89185EBD-223F-5F52-B1CA-9F9692F7D21F_d0e237470_href.png
Symbian3/PDK/Source/GUID-89185EBD-223F-5F52-B1CA-9F9692F7D21F_d0e243443_href.png
Symbian3/PDK/Source/GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita
Symbian3/PDK/Source/GUID-894AB487-C127-532D-852B-37CB0DEA1440.dita
Symbian3/PDK/Source/GUID-8983A095-3F5A-5262-8920-8A13ADD045DC_d0e322660_href.png
Symbian3/PDK/Source/GUID-8983A095-3F5A-5262-8920-8A13ADD045DC_d0e328646_href.png
Symbian3/PDK/Source/GUID-89ADFC64-AF9F-51B1-AC5F-493897226270.dita
Symbian3/PDK/Source/GUID-89C5B56D-0846-4D32-94E5-CEF8BFA47D4E.dita
Symbian3/PDK/Source/GUID-89D8ECA6-23C3-5573-8DC6-10F7FF7B491F.dita
Symbian3/PDK/Source/GUID-8A00E047-3DCE-5D02-9ECE-1396DC99DA4B.dita
Symbian3/PDK/Source/GUID-8A1B6104-4B13-5200-AF3D-64B3929707BB_d0e381849_href.png
Symbian3/PDK/Source/GUID-8A1B6104-4B13-5200-AF3D-64B3929707BB_d0e387702_href.png
Symbian3/PDK/Source/GUID-8A5054C9-7556-5153-8CEE-FA8E5F4155AE.dita
Symbian3/PDK/Source/GUID-8A7B837D-4069-5364-A596-686EEBAE351D.dita
Symbian3/PDK/Source/GUID-8A8FA00B-58FA-4D4E-A018-70D5558BCBFE_d0e271578_href.png
Symbian3/PDK/Source/GUID-8A8FA00B-58FA-4D4E-A018-70D5558BCBFE_d0e277578_href.png
Symbian3/PDK/Source/GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1.dita
Symbian3/PDK/Source/GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-9-1-11-1.dita
Symbian3/PDK/Source/GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B.dita
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e101007_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e102743_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e106763_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e79123_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e80068_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e83321_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e84266_href.png
Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e96928_href.png
Symbian3/PDK/Source/GUID-8AF21373-E51E-5B9D-ACC1-243752C9BB5B_d0e583950_href.png
Symbian3/PDK/Source/GUID-8AF21373-E51E-5B9D-ACC1-243752C9BB5B_d0e633238_href.png
Symbian3/PDK/Source/GUID-8B137691-7C9E-4085-BFFE-4CFE4A64A091.dita
Symbian3/PDK/Source/GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e581990_href.png
Symbian3/PDK/Source/GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e631278_href.png
Symbian3/PDK/Source/GUID-8B37A2C7-B4DB-5826-B6C2-3C21012EF9EA_d0e73123_href.png
Symbian3/PDK/Source/GUID-8B37A2C7-B4DB-5826-B6C2-3C21012EF9EA_d0e77336_href.png
Symbian3/PDK/Source/GUID-8B3AFB07-3CD7-590D-9791-84CB1C3AAED6.dita
Symbian3/PDK/Source/GUID-8B4CC1A0-1A39-4AF0-826B-8DDB9A837A27.dita
Symbian3/PDK/Source/GUID-8B8CAEED-A89D-53B3-A311-51CF45B334B1.dita
Symbian3/PDK/Source/GUID-8B91B12A-2275-52BF-B747-914550E225D0.dita
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e101217_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e64551_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e68774_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e79333_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e83531_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e88084_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e88713_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e92282_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e92911_href.png
Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e97138_href.png
Symbian3/PDK/Source/GUID-8BC13552-7C7D-52AC-AF91-1BB7476912AF.dita
Symbian3/PDK/Source/GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita
Symbian3/PDK/Source/GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita
Symbian3/PDK/Source/GUID-8C5A65E6-D753-472F-B885-FD0409589036.dita
Symbian3/PDK/Source/GUID-8C5F32CC-CA2A-586A-B3B1-339494255042_d0e21001_href.jpg
Symbian3/PDK/Source/GUID-8C5F32CC-CA2A-586A-B3B1-339494255042_d0e22968_href.jpg
Symbian3/PDK/Source/GUID-8C826292-C8DC-55CA-A79F-3254A417BF64_d0e21014_href.jpg
Symbian3/PDK/Source/GUID-8C826292-C8DC-55CA-A79F-3254A417BF64_d0e22981_href.jpg
Symbian3/PDK/Source/GUID-8C8D6B06-E794-4269-B4DF-D2BE4DDB9E8B_d0e65866_href.png
Symbian3/PDK/Source/GUID-8C8D6B06-E794-4269-B4DF-D2BE4DDB9E8B_d0e70089_href.png
Symbian3/PDK/Source/GUID-8C9F26BC-2579-545C-9A86-9C45E06679F0_d0e408635_href.png
Symbian3/PDK/Source/GUID-8C9F26BC-2579-545C-9A86-9C45E06679F0_d0e414488_href.png
Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e101197_href.png
Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e79607_href.png
Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e83805_href.png
Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e85341_href.png
Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e89539_href.png
Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e97118_href.png
Symbian3/PDK/Source/GUID-8CF0C00C-0FDF-517E-96FB-84F718237F61_d0e354356_href.jpg
Symbian3/PDK/Source/GUID-8CF0C00C-0FDF-517E-96FB-84F718237F61_d0e360267_href.jpg
Symbian3/PDK/Source/GUID-8D046AD9-1D28-52AE-8B69-2CBF6441F733_d0e237727_href.png
Symbian3/PDK/Source/GUID-8D046AD9-1D28-52AE-8B69-2CBF6441F733_d0e243700_href.png
Symbian3/PDK/Source/GUID-8D4AD37E-6B96-5B82-8313-F88D97531DEC.dita
Symbian3/PDK/Source/GUID-8D4F44CB-0B4D-51EE-A2D7-A1BBB3DD326A.dita
Symbian3/PDK/Source/GUID-8D51B706-6941-5043-B435-1CAFBAE5A8F2_d0e641387_href.jpg
Symbian3/PDK/Source/GUID-8D51B706-6941-5043-B435-1CAFBAE5A8F2_d0e654209_href.jpg
Symbian3/PDK/Source/GUID-8D5FFAE9-7E8A-5144-B0CC-B56A34D42A3F_d0e322416_href.png
Symbian3/PDK/Source/GUID-8D5FFAE9-7E8A-5144-B0CC-B56A34D42A3F_d0e328402_href.png
Symbian3/PDK/Source/GUID-8D72AE33-AF61-5AD7-A40D-A2918474DD0D_d0e551612_href.png
Symbian3/PDK/Source/GUID-8D72AE33-AF61-5AD7-A40D-A2918474DD0D_d0e559068_href.png
Symbian3/PDK/Source/GUID-8D7AEB5A-9A88-5B6D-B6B0-7126A56AA495.dita
Symbian3/PDK/Source/GUID-8D9FE811-3F8A-5C2A-B76A-5C0248179590_d0e550876_href.jpg
Symbian3/PDK/Source/GUID-8D9FE811-3F8A-5C2A-B76A-5C0248179590_d0e558332_href.jpg
Symbian3/PDK/Source/GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita
Symbian3/PDK/Source/GUID-8DB5E558-9774-5CC3-AF8C-6C50D9FE0496.dita
Symbian3/PDK/Source/GUID-8E218D40-9668-51F9-99CE-4DE1AED64793_d0e604950_href.jpg
Symbian3/PDK/Source/GUID-8E218D40-9668-51F9-99CE-4DE1AED64793_d0e644112_href.jpg
Symbian3/PDK/Source/GUID-8E2303E9-DB60-5F38-A4D4-8BF8F7A1EF9F_d0e512314_href.jpg
Symbian3/PDK/Source/GUID-8E2303E9-DB60-5F38-A4D4-8BF8F7A1EF9F_d0e519776_href.jpg
Symbian3/PDK/Source/GUID-8E322085-07E7-542C-B0FD-54431F7B4BB7_d0e471447_href.jpg
Symbian3/PDK/Source/GUID-8E322085-07E7-542C-B0FD-54431F7B4BB7_d0e477283_href.jpg
Symbian3/PDK/Source/GUID-8E3F3745-7875-51A2-BDA1-AA537C7B220E_d0e637916_href.png
Symbian3/PDK/Source/GUID-8E3F3745-7875-51A2-BDA1-AA537C7B220E_d0e650738_href.png
Symbian3/PDK/Source/GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e141096_href.png
Symbian3/PDK/Source/GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e143345_href.png
Symbian3/PDK/Source/GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e154245_href.jpg
Symbian3/PDK/Source/GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e160346_href.jpg
Symbian3/PDK/Source/GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223.dita
Symbian3/PDK/Source/GUID-8E7CCFD7-F820-596E-BACB-AE43878C6CD8.dita
Symbian3/PDK/Source/GUID-8E8F1999-4DE0-5CA0-9656-C54127FDB3D4_d0e552767_href.png
Symbian3/PDK/Source/GUID-8E8F1999-4DE0-5CA0-9656-C54127FDB3D4_d0e560223_href.png
Symbian3/PDK/Source/GUID-8E8FE99A-5F4D-5B0F-87AB-A58EB4BEB6E9.dita
Symbian3/PDK/Source/GUID-8E907968-E6F8-5792-9B04-664971762FFF_d0e332203_href.png
Symbian3/PDK/Source/GUID-8E907968-E6F8-5792-9B04-664971762FFF_d0e338175_href.png
Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e100971_href.png
Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e79085_href.png
Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e79950_href.png
Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e83283_href.png
Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e84148_href.png
Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e96892_href.png
Symbian3/PDK/Source/GUID-8ECEF376-CB27-52FC-A9DD-933ACC24FDDC_d0e515731_href.png
Symbian3/PDK/Source/GUID-8ECEF376-CB27-52FC-A9DD-933ACC24FDDC_d0e523193_href.png
Symbian3/PDK/Source/GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042.dita
Symbian3/PDK/Source/GUID-8EE8E38C-7CA1-5F1B-86D0-1A0B03AAC5F2_d0e191459_href.png
Symbian3/PDK/Source/GUID-8EE8E38C-7CA1-5F1B-86D0-1A0B03AAC5F2_d0e197517_href.png
Symbian3/PDK/Source/GUID-8EF8CDD3-9FFE-5C39-8303-67A661C67F6B_d0e552887_href.jpg
Symbian3/PDK/Source/GUID-8EF8CDD3-9FFE-5C39-8303-67A661C67F6B_d0e560343_href.jpg
Symbian3/PDK/Source/GUID-8F04D882-B846-4A0D-B858-15FDA85758FA.dita
Symbian3/PDK/Source/GUID-8F1567B4-6957-5B93-9499-35489AD610F5.dita
Symbian3/PDK/Source/GUID-8F19C257-9A41-5D38-BC8A-285D0EB16E1B_d0e653407_href.png
Symbian3/PDK/Source/GUID-8F19C257-9A41-5D38-BC8A-285D0EB16E1B_d0e666234_href.png
Symbian3/PDK/Source/GUID-8F29E5C9-0EEA-569C-ADB2-82FD61D87378_d0e535642_href.jpg
Symbian3/PDK/Source/GUID-8F29E5C9-0EEA-569C-ADB2-82FD61D87378_d0e543102_href.jpg
Symbian3/PDK/Source/GUID-8F4C626F-3490-50BC-A97F-FD1972FFF65B_d0e240752_href.png
Symbian3/PDK/Source/GUID-8F4C626F-3490-50BC-A97F-FD1972FFF65B_d0e246762_href.png
Symbian3/PDK/Source/GUID-8F6627A5-5DDE-5F30-86BF-CFD507DE876B_d0e455002_href.png
Symbian3/PDK/Source/GUID-8F6627A5-5DDE-5F30-86BF-CFD507DE876B_d0e460847_href.png
Symbian3/PDK/Source/GUID-8F6F6C2C-C00E-4412-A880-5EEBF7270265.dita
Symbian3/PDK/Source/GUID-8F78705E-CD82-5039-A7CB-7C963F7FBA83_d0e296533_href.png
Symbian3/PDK/Source/GUID-8F78705E-CD82-5039-A7CB-7C963F7FBA83_d0e302525_href.png
Symbian3/PDK/Source/GUID-8F8E3814-7ED6-4218-BEEF-741AE0E9366F.dita
Symbian3/PDK/Source/GUID-8FB9A16A-15B4-59C0-842B-2B70169E2E95_d0e231607_href.png
Symbian3/PDK/Source/GUID-8FB9A16A-15B4-59C0-842B-2B70169E2E95_d0e237602_href.png
Symbian3/PDK/Source/GUID-8FF4D117-920A-5AFA-ABB3-C0101EE2B7AA.dita
Symbian3/PDK/Source/GUID-90076A13-E062-5A7B-BB0F-168F7C8A96DD_d0e106581_href.png
Symbian3/PDK/Source/GUID-90076A13-E062-5A7B-BB0F-168F7C8A96DD_d0e109024_href.png
Symbian3/PDK/Source/GUID-90094016-7DAA-5643-9470-36DF324D5884.dita
Symbian3/PDK/Source/GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e141412_href.png
Symbian3/PDK/Source/GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e143661_href.png
Symbian3/PDK/Source/GUID-9045FC43-162E-52B8-ABE2-5EC1EC88BD99_d0e247853_href.png
Symbian3/PDK/Source/GUID-9045FC43-162E-52B8-ABE2-5EC1EC88BD99_d0e253864_href.png
Symbian3/PDK/Source/GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e379715_href.png
Symbian3/PDK/Source/GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e385568_href.png
Symbian3/PDK/Source/GUID-905EA9A9-C72C-5632-A95E-B4ED0BD10316_d0e443688_href.png
Symbian3/PDK/Source/GUID-905EA9A9-C72C-5632-A95E-B4ED0BD10316_d0e449533_href.png
Symbian3/PDK/Source/GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita
Symbian3/PDK/Source/GUID-9070E54B-8E3E-5968-AC78-1F2478FDCBA1_d0e450887_href.png
Symbian3/PDK/Source/GUID-9070E54B-8E3E-5968-AC78-1F2478FDCBA1_d0e456732_href.png
Symbian3/PDK/Source/GUID-90B593E2-F38B-5B38-9367-E2BF344A2834_d0e665495_href.png
Symbian3/PDK/Source/GUID-90B593E2-F38B-5B38-9367-E2BF344A2834_d0e678322_href.png
Symbian3/PDK/Source/GUID-90DF40EF-7D3F-551D-9957-A3756317A254.dita
Symbian3/PDK/Source/GUID-91224821-8094-59ED-A100-4174193A25EE_d0e366563_href.png
Symbian3/PDK/Source/GUID-91224821-8094-59ED-A100-4174193A25EE_d0e372411_href.png
Symbian3/PDK/Source/GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e265062_href.png
Symbian3/PDK/Source/GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e271062_href.png
Symbian3/PDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita
Symbian3/PDK/Source/GUID-9147F8AF-01B3-5110-8FE7-A6318B5048D9_d0e46332_href.png
Symbian3/PDK/Source/GUID-9147F8AF-01B3-5110-8FE7-A6318B5048D9_d0e50566_href.png
Symbian3/PDK/Source/GUID-914DD950-4332-5F23-B725-F4D330DB19EB.dita
Symbian3/PDK/Source/GUID-915A1B7D-10BB-5B4A-8C5E-99AD28375AD7.dita
Symbian3/PDK/Source/GUID-9169062F-3B6D-544C-847C-BA859DAB33B9.dita
Symbian3/PDK/Source/GUID-9173EEBA-CC84-51D9-9C8D-A75F7F494D62_d0e379850_href.png
Symbian3/PDK/Source/GUID-9173EEBA-CC84-51D9-9C8D-A75F7F494D62_d0e385703_href.png
Symbian3/PDK/Source/GUID-917413FC-0AC0-5768-B5AD-36BD2EDCB1FF.dita
Symbian3/PDK/Source/GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e186238_href.jpg
Symbian3/PDK/Source/GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e192315_href.jpg
Symbian3/PDK/Source/GUID-91958EA5-9444-5895-B4B8-F2C670B81CD7_d0e378206_href.png
Symbian3/PDK/Source/GUID-91958EA5-9444-5895-B4B8-F2C670B81CD7_d0e384059_href.png
Symbian3/PDK/Source/GUID-919B2A27-348D-5280-9BF4-7F63065FDD9B.dita
Symbian3/PDK/Source/GUID-919E32B1-1316-4B09-B668-E744E78B0B6E.dita
Symbian3/PDK/Source/GUID-91BD4E81-4CDC-4279-8E19-5B79A63B838E_d0e16923_href.png
Symbian3/PDK/Source/GUID-91BD4E81-4CDC-4279-8E19-5B79A63B838E_d0e17222_href.png
Symbian3/PDK/Source/GUID-91D598C7-1420-5C7C-A440-95F679F38F6D_d0e450058_href.png
Symbian3/PDK/Source/GUID-91D598C7-1420-5C7C-A440-95F679F38F6D_d0e455903_href.png
Symbian3/PDK/Source/GUID-91F95D0C-E4CF-510E-B280-E27F89274ACE.dita
Symbian3/PDK/Source/GUID-92018B6B-3CBB-434D-9E61-F271C67E98E3.dita
Symbian3/PDK/Source/GUID-92067BE3-40F0-4652-A882-FFDE2816C9BD_d0e100108_href.png
Symbian3/PDK/Source/GUID-92067BE3-40F0-4652-A882-FFDE2816C9BD_d0e104193_href.png
Symbian3/PDK/Source/GUID-921AF7A3-C711-5979-877B-4B6D977888E8_d0e285569_href.png
Symbian3/PDK/Source/GUID-921AF7A3-C711-5979-877B-4B6D977888E8_d0e291561_href.png
Symbian3/PDK/Source/GUID-9237136D-3045-5FFE-A39D-FC8CC9666B19.dita
Symbian3/PDK/Source/GUID-924576EE-A016-4689-8B63-E8176063E1E6-master.png
Symbian3/PDK/Source/GUID-924576EE-A016-4689-8B63-E8176063E1E6_d0e95759_href.png
Symbian3/PDK/Source/GUID-92459911-6FD1-47D7-8FBD-63BB43106757.dita
Symbian3/PDK/Source/GUID-924E26D6-8B9D-5C76-AF61-7C5514BB3D78_d0e317425_href.png
Symbian3/PDK/Source/GUID-924E26D6-8B9D-5C76-AF61-7C5514BB3D78_d0e323415_href.png
Symbian3/PDK/Source/GUID-92966ADC-17CF-5411-A829-1201C182B59F.dita
Symbian3/PDK/Source/GUID-92AD13DF-216A-4B5A-9C6D-5FA50BB0D692.dita
Symbian3/PDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita
Symbian3/PDK/Source/GUID-93221B70-EB36-5E8E-AE23-700988D5DACB.dita
Symbian3/PDK/Source/GUID-9348D79B-D4BF-50B0-B787-DDA2765CE058.dita
Symbian3/PDK/Source/GUID-935057C9-8FA9-5B41-A36C-03A825C51B32_d0e316249_href.png
Symbian3/PDK/Source/GUID-935057C9-8FA9-5B41-A36C-03A825C51B32_d0e322239_href.png
Symbian3/PDK/Source/GUID-93678518-1FBD-521D-807A-63DA2E33551F_d0e218938_href.png
Symbian3/PDK/Source/GUID-93678518-1FBD-521D-807A-63DA2E33551F_d0e224958_href.png
Symbian3/PDK/Source/GUID-937C3D70-2DCC-5084-AC87-3B1E5865A827.dita
Symbian3/PDK/Source/GUID-938C0EB5-D0B3-502E-87A9-7C626642AE4B_d0e468825_href.jpg
Symbian3/PDK/Source/GUID-938C0EB5-D0B3-502E-87A9-7C626642AE4B_d0e474670_href.jpg
Symbian3/PDK/Source/GUID-93A4CD14-A3CD-57B2-BF32-57EF38F59ECF_d0e261285_href.png
Symbian3/PDK/Source/GUID-93A4CD14-A3CD-57B2-BF32-57EF38F59ECF_d0e267294_href.png
Symbian3/PDK/Source/GUID-93AB9273-08A5-52CD-AFF7-8B92D72067BF.dita
Symbian3/PDK/Source/GUID-93C75E31-6155-48F1-B99C-92ECD0B2C067.dita
Symbian3/PDK/Source/GUID-93EFC9E4-8779-415D-ABEB-2AC9991996DD.dita
Symbian3/PDK/Source/GUID-93FFE6EF-9F6D-46BD-846C-CAC03F26E643_d0e81179_href.png
Symbian3/PDK/Source/GUID-93FFE6EF-9F6D-46BD-846C-CAC03F26E643_d0e85377_href.png
Symbian3/PDK/Source/GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita
Symbian3/PDK/Source/GUID-940AF1CE-3C33-54BF-B339-B8CF79C5FC9C_d0e166906_href.jpg
Symbian3/PDK/Source/GUID-940AF1CE-3C33-54BF-B339-B8CF79C5FC9C_d0e172999_href.jpg
Symbian3/PDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita
Symbian3/PDK/Source/GUID-9444E57C-1C2F-5EAC-B162-25FC27BB9516.dita
Symbian3/PDK/Source/GUID-947317B7-7E12-509B-9A16-F0604D7F8BA2.dita
Symbian3/PDK/Source/GUID-9477D9DC-7B89-4D60-A7DF-B89411379A52.dita
Symbian3/PDK/Source/GUID-9482CC98-2600-539D-A243-639CF11A2599_d0e678806_href.jpg
Symbian3/PDK/Source/GUID-9482CC98-2600-539D-A243-639CF11A2599_d0e691633_href.jpg
Symbian3/PDK/Source/GUID-94984754-A724-57C4-9E18-33B951F917B6_d0e431735_href.png
Symbian3/PDK/Source/GUID-94984754-A724-57C4-9E18-33B951F917B6_d0e437580_href.png
Symbian3/PDK/Source/GUID-94C64AC2-5680-4DED-8CCB-55CD5C25F1E5.dita
Symbian3/PDK/Source/GUID-94D270B4-B1CB-53A0-BC60-8B8C64BDF98A_d0e610920_href.jpg
Symbian3/PDK/Source/GUID-94D270B4-B1CB-53A0-BC60-8B8C64BDF98A_d0e650074_href.jpg
Symbian3/PDK/Source/GUID-94EAB348-DB29-5814-BB93-968D9A2A8AD2.dita
Symbian3/PDK/Source/GUID-94F21522-D598-5F85-BE04-D606AE8D5A25.dita
Symbian3/PDK/Source/GUID-95259B6D-19A0-569E-B04B-F75B8DADC80E.dita
Symbian3/PDK/Source/GUID-9529C9C5-D16D-5766-AE64-C2DB8A07C444.dita
Symbian3/PDK/Source/GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita
Symbian3/PDK/Source/GUID-95493C3D-58C6-5EBF-85E1-167D58E68658.dita
Symbian3/PDK/Source/GUID-95580D64-315E-51E8-99C3-6C0B8FFF1522_d0e479114_href.png
Symbian3/PDK/Source/GUID-95580D64-315E-51E8-99C3-6C0B8FFF1522_d0e484943_href.png
Symbian3/PDK/Source/GUID-9574041E-183D-5C3F-8429-A62323B97739.dita
Symbian3/PDK/Source/GUID-95A4DB2E-77CB-5151-8D7C-948C30348E13.dita
Symbian3/PDK/Source/GUID-95CE2206-7AE0-48C0-97A7-4E2082F9F662.dita
Symbian3/PDK/Source/GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita
Symbian3/PDK/Source/GUID-9620407B-0560-5D95-A862-5AE406C48983.dita
Symbian3/PDK/Source/GUID-9660B072-9BD6-5A84-B45A-636F0D06D467.dita
Symbian3/PDK/Source/GUID-9665C072-EA52-54B8-87A3-A7F818940DCD.dita
Symbian3/PDK/Source/GUID-9665D904-8B86-4680-AD19-85E1609F450F.dita
Symbian3/PDK/Source/GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e1693_href.png
Symbian3/PDK/Source/GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e1697_href.png
Symbian3/PDK/Source/GUID-96975165-9194-5FDF-8160-3A020522263A.dita
Symbian3/PDK/Source/GUID-969EA8CE-7B8C-458D-983B-837128F747E7.dita
Symbian3/PDK/Source/GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644.dita
Symbian3/PDK/Source/GUID-96E46D0E-1CE3-58B4-AE99-6B2E622ADAF9.dita
Symbian3/PDK/Source/GUID-96F5CB06-F1C2-5F37-B5B8-DA8C086B73AA_d0e63464_href.png
Symbian3/PDK/Source/GUID-96F5CB06-F1C2-5F37-B5B8-DA8C086B73AA_d0e67695_href.png
Symbian3/PDK/Source/GUID-96FEE9E3-E870-5CE2-A049-9425B82894B0_d0e433894_href.png
Symbian3/PDK/Source/GUID-96FEE9E3-E870-5CE2-A049-9425B82894B0_d0e439739_href.png
Symbian3/PDK/Source/GUID-970A2948-5A72-5E92-84C0-86DDEE59A569_d0e258363_href.png
Symbian3/PDK/Source/GUID-970A2948-5A72-5E92-84C0-86DDEE59A569_d0e264372_href.png
Symbian3/PDK/Source/GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e385983_href.png
Symbian3/PDK/Source/GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e391835_href.png
Symbian3/PDK/Source/GUID-971C9B81-1D6F-59E7-9416-385A0787D642.dita
Symbian3/PDK/Source/GUID-973CF8E7-18C8-5E24-BC7A-97148FAEF3E4_d0e243549_href.png
Symbian3/PDK/Source/GUID-973CF8E7-18C8-5E24-BC7A-97148FAEF3E4_d0e249560_href.png
Symbian3/PDK/Source/GUID-97545AEB-0518-5937-AEB6-C97443B449D3_d0e468551_href.jpg
Symbian3/PDK/Source/GUID-97545AEB-0518-5937-AEB6-C97443B449D3_d0e474396_href.jpg
Symbian3/PDK/Source/GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita
Symbian3/PDK/Source/GUID-979D7C71-A61A-5A49-AF67-8BB9CF67AFF0.dita
Symbian3/PDK/Source/GUID-97ACFC53-4B55-5880-988D-7C376D8AFB16.dita
Symbian3/PDK/Source/GUID-97C0A5B1-99AE-5F71-9092-A6976E54AEA7.dita
Symbian3/PDK/Source/GUID-97C9A782-A7DE-480B-9DE0-97B213AAEDD0.dita
Symbian3/PDK/Source/GUID-97F216EE-B7EA-4A8A-A038-83E1548AE254.dita
Symbian3/PDK/Source/GUID-97F4C412-5831-5735-9209-D81B4634D4F3_d0e450086_href.png
Symbian3/PDK/Source/GUID-97F4C412-5831-5735-9209-D81B4634D4F3_d0e455931_href.png
Symbian3/PDK/Source/GUID-983C5DB9-85EF-541E-B494-19E3E617914A.dita
Symbian3/PDK/Source/GUID-983F0ABD-470C-51C3-B6AE-1B1AA55AB4A2.dita
Symbian3/PDK/Source/GUID-984C2A0D-36BE-5A99-9D65-3F8791C669FF.dita
Symbian3/PDK/Source/GUID-98EA7E2B-4AC6-55AE-985F-B5EE1E0A79E7.dita
Symbian3/PDK/Source/GUID-9901F6E2-0D36-59D6-A32A-D666C4F2DAAF_d0e107159_href.png
Symbian3/PDK/Source/GUID-9901F6E2-0D36-59D6-A32A-D666C4F2DAAF_d0e109602_href.png
Symbian3/PDK/Source/GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita
Symbian3/PDK/Source/GUID-993A732B-13F8-48B6-B0C5-7246FA6828DF.dita
Symbian3/PDK/Source/GUID-9955D228-75CE-45B3-9714-AF635D04E553_d0e84573_href.png
Symbian3/PDK/Source/GUID-9955D228-75CE-45B3-9714-AF635D04E553_d0e88771_href.png
Symbian3/PDK/Source/GUID-9971A0B9-B2D7-59D3-8834-FDDEEC57AC67.dita
Symbian3/PDK/Source/GUID-9993D750-9116-55B2-812A-7A92C50F467F.dita
Symbian3/PDK/Source/GUID-99AC84AE-C4C0-53AA-8984-51AE84EE7651.dita
Symbian3/PDK/Source/GUID-99C2E42F-1029-5E32-8446-CAAF29D733BA_d0e341803_href.png
Symbian3/PDK/Source/GUID-99C2E42F-1029-5E32-8446-CAAF29D733BA_d0e347754_href.png
Symbian3/PDK/Source/GUID-99C4FCCC-9E8B-51CC-85F8-F03BE18DF19E_d0e305215_href.png
Symbian3/PDK/Source/GUID-99C4FCCC-9E8B-51CC-85F8-F03BE18DF19E_d0e311207_href.png
Symbian3/PDK/Source/GUID-99CFB57F-87FB-5DF6-B8A3-DD8094FA5419_d0e230278_href.png
Symbian3/PDK/Source/GUID-99CFB57F-87FB-5DF6-B8A3-DD8094FA5419_d0e236273_href.png
Symbian3/PDK/Source/GUID-99F7E70F-2733-57B2-94F5-A0C0FF9219FE_d0e377954_href.png
Symbian3/PDK/Source/GUID-99F7E70F-2733-57B2-94F5-A0C0FF9219FE_d0e383807_href.png
Symbian3/PDK/Source/GUID-9A38894D-98B8-5AFA-A36A-AC8B494EC2CC.dita
Symbian3/PDK/Source/GUID-9A4543B3-2A79-5604-AE11-5087507C6755_d0e363939_href.png
Symbian3/PDK/Source/GUID-9A4543B3-2A79-5604-AE11-5087507C6755_d0e369788_href.png
Symbian3/PDK/Source/GUID-9A9654C4-4D7F-485E-8253-B2DB25D3DB78.dita
Symbian3/PDK/Source/GUID-9AA59C73-6603-5709-9392-68688785DAA0_d0e401582_href.png
Symbian3/PDK/Source/GUID-9AA59C73-6603-5709-9392-68688785DAA0_d0e407435_href.png
Symbian3/PDK/Source/GUID-9AB5481B-C321-56C9-937D-2397AA80DE8E_d0e512201_href.jpg
Symbian3/PDK/Source/GUID-9AB5481B-C321-56C9-937D-2397AA80DE8E_d0e519663_href.jpg
Symbian3/PDK/Source/GUID-9AC6774A-41E9-5298-8696-0A317A09E1E9.dita
Symbian3/PDK/Source/GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita
Symbian3/PDK/Source/GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita
Symbian3/PDK/Source/GUID-9B123F74-DD52-5975-8DD7-80304A1D1D63_d0e459066_href.png
Symbian3/PDK/Source/GUID-9B123F74-DD52-5975-8DD7-80304A1D1D63_d0e464911_href.png
Symbian3/PDK/Source/GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2-master.jpg
Symbian3/PDK/Source/GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2_d0e42446_href.jpg
Symbian3/PDK/Source/GUID-9B7BF729-7982-5DFC-AD3C-10D327CA2909.dita
Symbian3/PDK/Source/GUID-9B97E076-22CB-434A-B16A-E4CE3A859F05-master.jpg
Symbian3/PDK/Source/GUID-9B97E076-22CB-434A-B16A-E4CE3A859F05_d0e41292_href.jpg
Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e447637_href.png
Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e447746_href.png
Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e453482_href.png
Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e453591_href.png
Symbian3/PDK/Source/GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita
Symbian3/PDK/Source/GUID-9BB849A2-8F69-580D-8A52-C7002D919521.dita
Symbian3/PDK/Source/GUID-9BDD42FD-9D05-58D1-896B-AF6E8E5B51FE_d0e448146_href.png
Symbian3/PDK/Source/GUID-9BDD42FD-9D05-58D1-896B-AF6E8E5B51FE_d0e453991_href.png
Symbian3/PDK/Source/GUID-9BF177DF-9E59-5C30-95BA-70A8250579E0_d0e682448_href.png
Symbian3/PDK/Source/GUID-9BF177DF-9E59-5C30-95BA-70A8250579E0_d0e695275_href.png
Symbian3/PDK/Source/GUID-9BFF0271-F5C3-45B6-AD4D-9179107F300A.dita
Symbian3/PDK/Source/GUID-9C2421E6-FA53-5E3C-B073-57FB9F3591DD_d0e460022_href.png
Symbian3/PDK/Source/GUID-9C2421E6-FA53-5E3C-B073-57FB9F3591DD_d0e465867_href.png
Symbian3/PDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita
Symbian3/PDK/Source/GUID-9C51D27D-BEDB-59D1-8F0E-8426B8FF2230.dita
Symbian3/PDK/Source/GUID-9C54DAFB-843B-41A7-8E54-9B2A39F46527_d0e271538_href.png
Symbian3/PDK/Source/GUID-9C54DAFB-843B-41A7-8E54-9B2A39F46527_d0e277538_href.png
Symbian3/PDK/Source/GUID-9C57F0C6-E2E3-58A2-907D-924A7E22EA97-GENID-1-15-1-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-9C5A4B75-1A58-568E-AAB4-B44B61586037-master.png
Symbian3/PDK/Source/GUID-9C5A4B75-1A58-568E-AAB4-B44B61586037_d0e744170_href.png
Symbian3/PDK/Source/GUID-9C82D039-A561-5F29-B9CB-450FAF89F254_d0e462767_href.png
Symbian3/PDK/Source/GUID-9C82D039-A561-5F29-B9CB-450FAF89F254_d0e468612_href.png
Symbian3/PDK/Source/GUID-9C837724-B00E-58F4-8B71-53ECDBFF5CCE_d0e584060_href.png
Symbian3/PDK/Source/GUID-9C837724-B00E-58F4-8B71-53ECDBFF5CCE_d0e611954_href.png
Symbian3/PDK/Source/GUID-9CB23B06-07E9-5927-AB79-D1FC28B42DFE.dita
Symbian3/PDK/Source/GUID-9CC514E9-85C2-5F4B-9F3B-F9FA1F4CB20A_d0e381678_href.png
Symbian3/PDK/Source/GUID-9CC514E9-85C2-5F4B-9F3B-F9FA1F4CB20A_d0e387531_href.png
Symbian3/PDK/Source/GUID-9CC5E096-74FB-59AB-BAB9-A5486B961B7D_d0e364015_href.png
Symbian3/PDK/Source/GUID-9CC5E096-74FB-59AB-BAB9-A5486B961B7D_d0e369864_href.png
Symbian3/PDK/Source/GUID-9CDB7D27-B4C9-593B-8C67-0335A868BAC0_d0e276776_href.png
Symbian3/PDK/Source/GUID-9CDB7D27-B4C9-593B-8C67-0335A868BAC0_d0e282776_href.png
Symbian3/PDK/Source/GUID-9D182BE5-1BDA-5799-95B9-2DE25E7B3F12_d0e231768_href.png
Symbian3/PDK/Source/GUID-9D182BE5-1BDA-5799-95B9-2DE25E7B3F12_d0e237763_href.png
Symbian3/PDK/Source/GUID-9D2752D1-4153-5978-A7B8-4C3F860B6B87_d0e366272_href.png
Symbian3/PDK/Source/GUID-9D2752D1-4153-5978-A7B8-4C3F860B6B87_d0e372120_href.png
Symbian3/PDK/Source/GUID-9D3637D4-43BD-51ED-B4BC-1F234F09E24B.dita
Symbian3/PDK/Source/GUID-9D4B8CDF-60D7-5952-AAAF-94A3C1E8908F.dita
Symbian3/PDK/Source/GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e549075_href.jpg
Symbian3/PDK/Source/GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e556531_href.jpg
Symbian3/PDK/Source/GUID-9D6C086F-7621-5522-AE0B-81CBD5E99125.dita
Symbian3/PDK/Source/GUID-9D6D07D3-A93C-5290-AC08-15750AD34802_d0e653465_href.png
Symbian3/PDK/Source/GUID-9D6D07D3-A93C-5290-AC08-15750AD34802_d0e666292_href.png
Symbian3/PDK/Source/GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e377026_href.png
Symbian3/PDK/Source/GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e382870_href.png
Symbian3/PDK/Source/GUID-9D93F895-B975-4F2D-A2A3-817033EA5C12.dita
Symbian3/PDK/Source/GUID-9DCAB1DC-D085-576C-A0B9-713E3BF2CAD5_d0e281122_href.png
Symbian3/PDK/Source/GUID-9DCAB1DC-D085-576C-A0B9-713E3BF2CAD5_d0e287122_href.png
Symbian3/PDK/Source/GUID-9DCD62DF-C523-5D00-85CD-5AC82C9E9F02_d0e55155_href.png
Symbian3/PDK/Source/GUID-9DCD62DF-C523-5D00-85CD-5AC82C9E9F02_d0e59389_href.png
Symbian3/PDK/Source/GUID-9DD43E77-FB3D-5931-899B-F17198F726D0_d0e471489_href.jpg
Symbian3/PDK/Source/GUID-9DD43E77-FB3D-5931-899B-F17198F726D0_d0e477325_href.jpg
Symbian3/PDK/Source/GUID-9E0C8892-E67F-4DC9-8253-2F65611AD4C6_d0e94488_href.png
Symbian3/PDK/Source/GUID-9E0C8892-E67F-4DC9-8253-2F65611AD4C6_d0e98686_href.png
Symbian3/PDK/Source/GUID-9E12593C-38EF-5052-A2E8-0AB25EEFF4D0_d0e512297_href.jpg
Symbian3/PDK/Source/GUID-9E12593C-38EF-5052-A2E8-0AB25EEFF4D0_d0e519759_href.jpg
Symbian3/PDK/Source/GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita
Symbian3/PDK/Source/GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C.dita
Symbian3/PDK/Source/GUID-9E3D71A2-34FA-5A66-B0B9-550816021D79_d0e583565_href.png
Symbian3/PDK/Source/GUID-9E3D71A2-34FA-5A66-B0B9-550816021D79_d0e632853_href.png
Symbian3/PDK/Source/GUID-9E705383-5D3F-45D9-82F7-EB76112F2800_d0e80498_href.png
Symbian3/PDK/Source/GUID-9E705383-5D3F-45D9-82F7-EB76112F2800_d0e84696_href.png
Symbian3/PDK/Source/GUID-9E9C00E1-00A2-5248-946B-D3AE182F44EC_d0e479333_href.jpg
Symbian3/PDK/Source/GUID-9E9C00E1-00A2-5248-946B-D3AE182F44EC_d0e485162_href.jpg
Symbian3/PDK/Source/GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita
Symbian3/PDK/Source/GUID-9F14FB98-D7CD-55C9-8D27-715642B8FFC3_d0e657106_href.png
Symbian3/PDK/Source/GUID-9F14FB98-D7CD-55C9-8D27-715642B8FFC3_d0e669933_href.png
Symbian3/PDK/Source/GUID-9F22E663-8BC4-5502-879F-E6B790465E74.dita
Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1713_href.png
Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1717_href.png
Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1841_href.png
Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1848_href.png
Symbian3/PDK/Source/GUID-9F6C46FF-1F5A-591C-B33F-29E9885973B3_d0e247524_href.jpg
Symbian3/PDK/Source/GUID-9F6C46FF-1F5A-591C-B33F-29E9885973B3_d0e253535_href.jpg
Symbian3/PDK/Source/GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita
Symbian3/PDK/Source/GUID-9F9CE6B6-1B3D-50A6-8A94-BD391732EF2D.dita
Symbian3/PDK/Source/GUID-9FB3502C-B3DF-5FBC-972D-0D476D661954_d0e137706_href.png
Symbian3/PDK/Source/GUID-9FB3502C-B3DF-5FBC-972D-0D476D661954_d0e139955_href.png
Symbian3/PDK/Source/GUID-9FB82D95-F110-5D42-B39E-BCFAE574E18F_d0e107636_href.png
Symbian3/PDK/Source/GUID-9FB82D95-F110-5D42-B39E-BCFAE574E18F_d0e110079_href.png
Symbian3/PDK/Source/GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e41839_href.png
Symbian3/PDK/Source/GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e46073_href.png
Symbian3/PDK/Source/GUID-A0051B62-FC01-5693-9532-EDBDB25634AA_d0e459099_href.png
Symbian3/PDK/Source/GUID-A0051B62-FC01-5693-9532-EDBDB25634AA_d0e464944_href.png
Symbian3/PDK/Source/GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e550989_href.png
Symbian3/PDK/Source/GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e558445_href.png
Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e101389_href.png
Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e79805_href.png
Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e84003_href.png
Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e95807_href.png
Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e97310_href.png
Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e99926_href.png
Symbian3/PDK/Source/GUID-A021A398-2FD0-5AAA-90B9-418996877600_d0e277947_href.png
Symbian3/PDK/Source/GUID-A021A398-2FD0-5AAA-90B9-418996877600_d0e283947_href.png
Symbian3/PDK/Source/GUID-A03FB1BF-F67B-519D-A904-74CA3F8375D9.dita
Symbian3/PDK/Source/GUID-A049B0C2-5C30-5B07-AC4F-32A75046B60B.dita
Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-6-1-4-1.dita
Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-7-1-4-1.dita
Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-6-1-4-1.dita
Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-7-1-4-1.dita
Symbian3/PDK/Source/GUID-A05B7A4D-EAE1-4E92-9337-8CA1CC5C0FAD.dita
Symbian3/PDK/Source/GUID-A05F0124-AE28-5088-8AFE-22956D1549AD.dita
Symbian3/PDK/Source/GUID-A071544E-FC8D-5912-99F9-8D651AA3BA07_d0e450789_href.png
Symbian3/PDK/Source/GUID-A071544E-FC8D-5912-99F9-8D651AA3BA07_d0e456634_href.png
Symbian3/PDK/Source/GUID-A0AF4BAE-E4C4-52BE-BB61-92DFE9422D8D.dita
Symbian3/PDK/Source/GUID-A0C0BEBA-1976-5D68-B4EF-C3727DF163A9.dita
Symbian3/PDK/Source/GUID-A0E21681-F1EF-4E79-965A-040AC7D72A01.dita
Symbian3/PDK/Source/GUID-A10EAF58-6B9F-55A5-B3E4-3D4B91A93C41_d0e338925_href.png
Symbian3/PDK/Source/GUID-A10EAF58-6B9F-55A5-B3E4-3D4B91A93C41_d0e344897_href.png
Symbian3/PDK/Source/GUID-A1148010-887F-549D-9DA0-D36FF4661FFE.dita
Symbian3/PDK/Source/GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita
Symbian3/PDK/Source/GUID-A12A6C54-7E9E-5ECD-A0BF-8F980160A0D2.dita
Symbian3/PDK/Source/GUID-A15EDC87-A6EF-40D8-AA78-B52449465FEA.dita
Symbian3/PDK/Source/GUID-A188606F-4A8E-5A85-A241-E15219960EFA.dita
Symbian3/PDK/Source/GUID-A1D2C673-3B91-403A-800B-5E1504FB19EE.dita
Symbian3/PDK/Source/GUID-A1DBE03F-728E-4F31-BE74-5BDA3906C8DD.dita
Symbian3/PDK/Source/GUID-A1F037FE-0D88-5108-B96E-4ADE6B3A4A3E.dita
Symbian3/PDK/Source/GUID-A1F0D18B-5A89-58FC-9361-7B0A9786C826.dita
Symbian3/PDK/Source/GUID-A2031A61-3319-4FBA-BC71-AC1327182053.dita
Symbian3/PDK/Source/GUID-A25FE08D-F91E-5C77-969D-569941974E6E.dita
Symbian3/PDK/Source/GUID-A27A05A2-B161-54D2-92E0-8620B01BFD44.dita
Symbian3/PDK/Source/GUID-A29FD82C-B3CC-5862-8DAB-1398A61D8B1F.dita
Symbian3/PDK/Source/GUID-A2EFD9AD-F230-545C-8C5D-193F717B9FE2_d0e61750_href.png
Symbian3/PDK/Source/GUID-A2EFD9AD-F230-545C-8C5D-193F717B9FE2_d0e65984_href.png
Symbian3/PDK/Source/GUID-A2F691C8-9525-4028-BF82-70E9D50630C6.dita
Symbian3/PDK/Source/GUID-A308643D-6EEA-5C41-BD9C-5DA76EE83BA6_d0e200369_href.jpg
Symbian3/PDK/Source/GUID-A308643D-6EEA-5C41-BD9C-5DA76EE83BA6_d0e206378_href.jpg
Symbian3/PDK/Source/GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e597123_href.png
Symbian3/PDK/Source/GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e615507_href.png
Symbian3/PDK/Source/GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e625017_href.png
Symbian3/PDK/Source/GUID-A328F9E3-7D91-594A-A589-E8CE5FA9227A_d0e296153_href.png
Symbian3/PDK/Source/GUID-A328F9E3-7D91-594A-A589-E8CE5FA9227A_d0e302145_href.png
Symbian3/PDK/Source/GUID-A3301ED7-8FD5-580B-B365-4BE12FF2F3AA.dita
Symbian3/PDK/Source/GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e1644_href.png
Symbian3/PDK/Source/GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e1648_href.png
Symbian3/PDK/Source/GUID-A36B7C77-F0F7-599A-83BC-26B4A80496BD.dita
Symbian3/PDK/Source/GUID-A3B58436-07E4-565B-800B-86435D205461.dita
Symbian3/PDK/Source/GUID-A3E77067-7982-5803-A274-0C8F2562B483.dita
Symbian3/PDK/Source/GUID-A3EBB297-1494-579C-83D5-8FDBBD01B674.dita
Symbian3/PDK/Source/GUID-A3F8A323-EF4B-537F-A3D1-27A2048D5A11.dita
Symbian3/PDK/Source/GUID-A40C75A2-59FF-5472-B279-8B5FBFF68794.dita
Symbian3/PDK/Source/GUID-A4426CEC-80F1-53F4-8838-D069FA758ACD.dita
Symbian3/PDK/Source/GUID-A4559463-7665-5733-9AEB-2316C991AE76_d0e608818_href.jpg
Symbian3/PDK/Source/GUID-A4559463-7665-5733-9AEB-2316C991AE76_d0e647980_href.jpg
Symbian3/PDK/Source/GUID-A467E933-C4B4-5518-96D6-471E44B216B3.dita
Symbian3/PDK/Source/GUID-A4799558-AF8C-5E97-9B03-7D1C04FEC243.dita
Symbian3/PDK/Source/GUID-A480F734-9EDF-5E29-AC96-039B71B22AC3_d0e375282_href.png
Symbian3/PDK/Source/GUID-A480F734-9EDF-5E29-AC96-039B71B22AC3_d0e381126_href.png
Symbian3/PDK/Source/GUID-A4B391F0-058F-5B51-8D28-6A7B5C4A1BB9.dita
Symbian3/PDK/Source/GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita
Symbian3/PDK/Source/GUID-A50BBBE2-2E23-5AEE-BF53-9EF54FD7F00E_d0e548459_href.jpg
Symbian3/PDK/Source/GUID-A50BBBE2-2E23-5AEE-BF53-9EF54FD7F00E_d0e555915_href.jpg
Symbian3/PDK/Source/GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e228191_href.png
Symbian3/PDK/Source/GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e234190_href.png
Symbian3/PDK/Source/GUID-A51C3E48-3ED0-519B-A128-C5175D7E175B_d0e394493_href.png
Symbian3/PDK/Source/GUID-A51C3E48-3ED0-519B-A128-C5175D7E175B_d0e400346_href.png
Symbian3/PDK/Source/GUID-A51E334E-F410-55A9-AB07-82F8A1D113B4.dita
Symbian3/PDK/Source/GUID-A5510456-A5EB-59EC-B146-74D58A118875.dita
Symbian3/PDK/Source/GUID-A568F9D3-58E3-58D6-8A6E-4EC6BEC41A4D_d0e389992_href.png
Symbian3/PDK/Source/GUID-A568F9D3-58E3-58D6-8A6E-4EC6BEC41A4D_d0e395845_href.png
Symbian3/PDK/Source/GUID-A5693758-495B-598E-A514-24C48D459BB6.dita
Symbian3/PDK/Source/GUID-A5756C5F-9C93-4949-8B60-03DCA1BAF683.dita
Symbian3/PDK/Source/GUID-A583E66D-D2ED-5C1C-AF2C-38060D926881_d0e458957_href.png
Symbian3/PDK/Source/GUID-A583E66D-D2ED-5C1C-AF2C-38060D926881_d0e464802_href.png
Symbian3/PDK/Source/GUID-A5E152B2-F15C-4809-A52A-BCDDBCD93255_d0e63987_href.png
Symbian3/PDK/Source/GUID-A5E152B2-F15C-4809-A52A-BCDDBCD93255_d0e68210_href.png
Symbian3/PDK/Source/GUID-A5ED089C-8831-5E25-AE7C-8E6F1C21D3BE.dita
Symbian3/PDK/Source/GUID-A5F65344-BE05-5295-85BB-E8114505FB82.dita
Symbian3/PDK/Source/GUID-A6033641-8050-55FF-86EA-FA4D3B273084_d0e450827_href.png
Symbian3/PDK/Source/GUID-A6033641-8050-55FF-86EA-FA4D3B273084_d0e456672_href.png
Symbian3/PDK/Source/GUID-A6116E8B-9C4A-5B9E-AA8A-BE031408AA2F.dita
Symbian3/PDK/Source/GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1.dita
Symbian3/PDK/Source/GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita
Symbian3/PDK/Source/GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita
Symbian3/PDK/Source/GUID-A64C3667-E522-5B23-8679-35B06C609148_d0e590802_href.png
Symbian3/PDK/Source/GUID-A64C3667-E522-5B23-8679-35B06C609148_d0e618696_href.png
Symbian3/PDK/Source/GUID-A6598739-2BB5-546E-931B-B202E3DD49E0_d0e430261_href.png
Symbian3/PDK/Source/GUID-A6598739-2BB5-546E-931B-B202E3DD49E0_d0e436106_href.png
Symbian3/PDK/Source/GUID-A668442E-0768-5AF1-829B-A80864756A0B.dita
Symbian3/PDK/Source/GUID-A67FFE7B-9573-543B-B3EA-0539278FE4AB_d0e258443_href.png
Symbian3/PDK/Source/GUID-A67FFE7B-9573-543B-B3EA-0539278FE4AB_d0e264452_href.png
Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e100007_href.png
Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e68131_href.png
Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e72344_href.png
Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e86749_href.png
Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e90947_href.png
Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e95888_href.png
Symbian3/PDK/Source/GUID-A6BA24CE-23EB-453E-9677-B5F425C1F255.ditamap
Symbian3/PDK/Source/GUID-A6C9E7DF-1ACF-4768-851E-350E3DADEC56_d0e85128_href.png
Symbian3/PDK/Source/GUID-A6C9E7DF-1ACF-4768-851E-350E3DADEC56_d0e89326_href.png
Symbian3/PDK/Source/GUID-A6DE13A9-BD2F-5F14-864E-BAEC9C52B9DD_d0e244749_href.png
Symbian3/PDK/Source/GUID-A6DE13A9-BD2F-5F14-864E-BAEC9C52B9DD_d0e250760_href.png
Symbian3/PDK/Source/GUID-A6E7C805-0515-5F3F-97DB-B5E1A84162B2_d0e445991_href.png
Symbian3/PDK/Source/GUID-A6E7C805-0515-5F3F-97DB-B5E1A84162B2_d0e451836_href.png
Symbian3/PDK/Source/GUID-A6EE8A2A-8B17-5D3A-A9B9-C8D25C92EA21_d0e586037_href.png
Symbian3/PDK/Source/GUID-A6EE8A2A-8B17-5D3A-A9B9-C8D25C92EA21_d0e635325_href.png
Symbian3/PDK/Source/GUID-A6F1F6AC-5D3C-5055-AEF1-B64671941BCB_d0e637948_href.png
Symbian3/PDK/Source/GUID-A6F1F6AC-5D3C-5055-AEF1-B64671941BCB_d0e650770_href.png
Symbian3/PDK/Source/GUID-A719FDFA-903B-5340-AA47-9E5B22DBB253_d0e228678_href.png
Symbian3/PDK/Source/GUID-A719FDFA-903B-5340-AA47-9E5B22DBB253_d0e234677_href.png
Symbian3/PDK/Source/GUID-A726509A-4016-5499-B5A0-F25F505E14C9_d0e230406_href.png
Symbian3/PDK/Source/GUID-A726509A-4016-5499-B5A0-F25F505E14C9_d0e236401_href.png
Symbian3/PDK/Source/GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e551490_href.png
Symbian3/PDK/Source/GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e558946_href.png
Symbian3/PDK/Source/GUID-A780F684-0F67-4A7F-B766-E69A5223F917_d0e83345_href.png
Symbian3/PDK/Source/GUID-A780F684-0F67-4A7F-B766-E69A5223F917_d0e87543_href.png
Symbian3/PDK/Source/GUID-A786DE92-B87E-5D8E-B61D-645BB42BC303_d0e276852_href.png
Symbian3/PDK/Source/GUID-A786DE92-B87E-5D8E-B61D-645BB42BC303_d0e282852_href.png
Symbian3/PDK/Source/GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e466594_href.png
Symbian3/PDK/Source/GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e472439_href.png
Symbian3/PDK/Source/GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e469977_href.jpg
Symbian3/PDK/Source/GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e475813_href.jpg
Symbian3/PDK/Source/GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita
Symbian3/PDK/Source/GUID-A849B353-76E5-5AD6-851A-AF18C66AED48.dita
Symbian3/PDK/Source/GUID-A869BA79-5916-5B60-A02B-EF7D7CCA8C45.dita
Symbian3/PDK/Source/GUID-A898867E-0C50-583E-979F-132504C24C9A.dita
Symbian3/PDK/Source/GUID-A89A50B6-2A3B-54E1-8157-6CC86AFE4A57_d0e584273_href.png
Symbian3/PDK/Source/GUID-A89A50B6-2A3B-54E1-8157-6CC86AFE4A57_d0e633561_href.png
Symbian3/PDK/Source/GUID-A8C80AA1-42CF-5866-B223-FCE1AEC9DF63_d0e512129_href.jpg
Symbian3/PDK/Source/GUID-A8C80AA1-42CF-5866-B223-FCE1AEC9DF63_d0e519591_href.jpg
Symbian3/PDK/Source/GUID-A8ECAA53-9094-5C0A-8893-2757559C15F0.dita
Symbian3/PDK/Source/GUID-A91C6359-E547-51AD-AA8C-45BCAFBA98AC.dita
Symbian3/PDK/Source/GUID-A92CE0FF-113F-55BE-B5EF-7E5C629A4557_d0e210814_href.jpg
Symbian3/PDK/Source/GUID-A92CE0FF-113F-55BE-B5EF-7E5C629A4557_d0e216815_href.jpg
Symbian3/PDK/Source/GUID-A947B5A8-9138-4FA2-B8D8-2850AEB2F38C.dita
Symbian3/PDK/Source/GUID-A950288B-D9D8-59E3-9F4C-0AEE2FC77E38_d0e477296_href.jpg
Symbian3/PDK/Source/GUID-A950288B-D9D8-59E3-9F4C-0AEE2FC77E38_d0e483125_href.jpg
Symbian3/PDK/Source/GUID-A95CDFDE-285F-5DE2-AADE-29B2B9663757.dita
Symbian3/PDK/Source/GUID-A95FEDD4-106A-5E14-8B64-3E2882C76666_d0e347941_href.png
Symbian3/PDK/Source/GUID-A95FEDD4-106A-5E14-8B64-3E2882C76666_d0e353892_href.png
Symbian3/PDK/Source/GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1.dita
Symbian3/PDK/Source/GUID-A9BFB95C-E2B0-5CD0-8B39-C448E3C81400_d0e547572_href.png
Symbian3/PDK/Source/GUID-A9BFB95C-E2B0-5CD0-8B39-C448E3C81400_d0e555028_href.png
Symbian3/PDK/Source/GUID-A9E610B7-505C-41C4-9079-BC83C094982E_d0e13461_href.png
Symbian3/PDK/Source/GUID-A9E610B7-505C-41C4-9079-BC83C094982E_d0e13560_href.png
Symbian3/PDK/Source/GUID-AA276F4E-D032-571E-9B76-BA2351C3F8B7_d0e606979_href.jpg
Symbian3/PDK/Source/GUID-AA276F4E-D032-571E-9B76-BA2351C3F8B7_d0e646141_href.jpg
Symbian3/PDK/Source/GUID-AA53650C-664C-53F0-8BE9-445677FC1FE2_d0e393841_href.png
Symbian3/PDK/Source/GUID-AA53650C-664C-53F0-8BE9-445677FC1FE2_d0e399694_href.png
Symbian3/PDK/Source/GUID-AA5DEEB2-0B13-5FA8-8494-EC2F5C654FEF.dita
Symbian3/PDK/Source/GUID-AA820231-5C46-46A1-A310-ABBA45593B1F_d0e184679_href.png
Symbian3/PDK/Source/GUID-AA820231-5C46-46A1-A310-ABBA45593B1F_d0e190756_href.png
Symbian3/PDK/Source/GUID-AA9611C0-9AFC-530B-9B50-0D6E600C8D3E.dita
Symbian3/PDK/Source/GUID-AB0D05E8-A001-5361-A1FA-BBE4C5F7AAB8.dita
Symbian3/PDK/Source/GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e228209_href.png
Symbian3/PDK/Source/GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e234208_href.png
Symbian3/PDK/Source/GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita
Symbian3/PDK/Source/GUID-AB40C087-F5AF-5D73-82ED-B89BA2B702B9.dita
Symbian3/PDK/Source/GUID-AB68F150-1005-54AE-8F71-A88949463FDD_d0e259440_href.png
Symbian3/PDK/Source/GUID-AB68F150-1005-54AE-8F71-A88949463FDD_d0e265449_href.png
Symbian3/PDK/Source/GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita
Symbian3/PDK/Source/GUID-AB9A3EA2-2B99-4502-A161-8EE5BF477D41.dita
Symbian3/PDK/Source/GUID-ABA6144B-E861-5ABD-969E-03814BB2B38A_d0e232173_href.png
Symbian3/PDK/Source/GUID-ABA6144B-E861-5ABD-969E-03814BB2B38A_d0e238168_href.png
Symbian3/PDK/Source/GUID-ABC01315-D65D-55EA-9D42-4DE6384D517D.dita
Symbian3/PDK/Source/GUID-ABC23765-1553-5235-88C5-39D1DF0D7CA2.dita
Symbian3/PDK/Source/GUID-ABE77283-EED8-5A33-B574-3B771EF11086.dita
Symbian3/PDK/Source/GUID-ABE7BC1A-C51B-5ADD-8568-87A81423B648_d0e304884_href.png
Symbian3/PDK/Source/GUID-ABE7BC1A-C51B-5ADD-8568-87A81423B648_d0e310876_href.png
Symbian3/PDK/Source/GUID-AC3A531E-C6D7-5F04-B8FB-35B37FB01A14_d0e450100_href.png
Symbian3/PDK/Source/GUID-AC3A531E-C6D7-5F04-B8FB-35B37FB01A14_d0e455945_href.png
Symbian3/PDK/Source/GUID-AC3F5010-ECA6-4257-98B5-77FB26B4987F_d0e2262_href.png
Symbian3/PDK/Source/GUID-AC3F5010-ECA6-4257-98B5-77FB26B4987F_d0e2272_href.png
Symbian3/PDK/Source/GUID-AC5ADA77-EBA1-597E-A6B7-80157E9DE2B2_d0e227282_href.png
Symbian3/PDK/Source/GUID-AC5ADA77-EBA1-597E-A6B7-80157E9DE2B2_d0e233275_href.png
Symbian3/PDK/Source/GUID-AC7069ED-8CA5-55FC-9DF6-595C0505C672.dita
Symbian3/PDK/Source/GUID-AC7830F9-C3FB-5117-B851-1D106AE400D4_d0e377757_href.png
Symbian3/PDK/Source/GUID-AC7830F9-C3FB-5117-B851-1D106AE400D4_d0e383610_href.png
Symbian3/PDK/Source/GUID-ACA2AFE8-4872-42FA-A871-34EB80197495_d0e190112_href.png
Symbian3/PDK/Source/GUID-ACA2AFE8-4872-42FA-A871-34EB80197495_d0e196181_href.png
Symbian3/PDK/Source/GUID-ACA48BEE-FE73-5C47-B022-E50728CEDBEE.dita
Symbian3/PDK/Source/GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e654370_href.png
Symbian3/PDK/Source/GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e667197_href.png
Symbian3/PDK/Source/GUID-ACD9E338-DF75-5811-B696-C3900B498218.dita
Symbian3/PDK/Source/GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita
Symbian3/PDK/Source/GUID-ACF69260-D643-4709-8DAB-33FD92940F86.dita
Symbian3/PDK/Source/GUID-AD2BD987-E097-5E1F-A914-B91CFB706D51.dita
Symbian3/PDK/Source/GUID-AD4F041B-4115-5ABE-8909-44156621DF72_d0e450036_href.png
Symbian3/PDK/Source/GUID-AD4F041B-4115-5ABE-8909-44156621DF72_d0e455881_href.png
Symbian3/PDK/Source/GUID-AD5C89AC-51CD-5CC0-961C-62F38E9BEA33.dita
Symbian3/PDK/Source/GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e185940_href.png
Symbian3/PDK/Source/GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e192017_href.png
Symbian3/PDK/Source/GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e100921_href.png
Symbian3/PDK/Source/GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e96842_href.png
Symbian3/PDK/Source/GUID-ADB3FA27-1DC0-4A04-A443-A174EDADF49D_d0e68026_href.png
Symbian3/PDK/Source/GUID-ADB3FA27-1DC0-4A04-A443-A174EDADF49D_d0e72239_href.png
Symbian3/PDK/Source/GUID-ADC9B349-3CE4-5017-B437-A7F8890C7F0F_d0e271514_href.png
Symbian3/PDK/Source/GUID-ADC9B349-3CE4-5017-B437-A7F8890C7F0F_d0e277514_href.png
Symbian3/PDK/Source/GUID-ADCDEFF9-4B1D-5E46-A63B-808192123E15_d0e210520_href.jpg
Symbian3/PDK/Source/GUID-ADCDEFF9-4B1D-5E46-A63B-808192123E15_d0e216521_href.jpg
Symbian3/PDK/Source/GUID-ADDF9C0F-32D3-5CB1-B3B5-2FAD3A4EC278.dita
Symbian3/PDK/Source/GUID-AE3BE603-21ED-5DEA-B1E9-0F1ADBED06D0.dita
Symbian3/PDK/Source/GUID-AE53C15E-0C0F-5726-BBA4-E7DCDA7F48B4_d0e379991_href.png
Symbian3/PDK/Source/GUID-AE53C15E-0C0F-5726-BBA4-E7DCDA7F48B4_d0e385844_href.png
Symbian3/PDK/Source/GUID-AE69AA42-E633-5B7A-BAA1-6896950E0E19_d0e682417_href.png
Symbian3/PDK/Source/GUID-AE69AA42-E633-5B7A-BAA1-6896950E0E19_d0e695244_href.png
Symbian3/PDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita
Symbian3/PDK/Source/GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e202405_href.png
Symbian3/PDK/Source/GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e208412_href.png
Symbian3/PDK/Source/GUID-AE8D314A-5381-5576-9B17-94BA029A7FEA_d0e490421_href.jpg
Symbian3/PDK/Source/GUID-AE8D314A-5381-5576-9B17-94BA029A7FEA_d0e496239_href.jpg
Symbian3/PDK/Source/GUID-AE96F25E-45A2-5C00-9F27-BB3E17C8E6E5.dita
Symbian3/PDK/Source/GUID-AE979B97-5610-42F3-99A7-5A3D66D3C2E6.dita
Symbian3/PDK/Source/GUID-AEBB7F5D-E18E-4E1F-ADE0-C984084AC108_d0e14295_href.png
Symbian3/PDK/Source/GUID-AEBB7F5D-E18E-4E1F-ADE0-C984084AC108_d0e14394_href.png
Symbian3/PDK/Source/GUID-AECDAEBF-777A-579B-92F8-560FD7FF86E7.dita
Symbian3/PDK/Source/GUID-AF8280C0-20B2-5D68-BFF5-7D9D1CE989DD.dita
Symbian3/PDK/Source/GUID-AF91088E-CCE3-5D51-B2E4-09621B4BF506_d0e594398_href.jpg
Symbian3/PDK/Source/GUID-AF91088E-CCE3-5D51-B2E4-09621B4BF506_d0e622292_href.jpg
Symbian3/PDK/Source/GUID-AFAD0F36-330B-50BD-B810-85BE7FA21179.dita
Symbian3/PDK/Source/GUID-AFB1F350-C5D3-5495-AE20-1AA6888B6FB1.dita
Symbian3/PDK/Source/GUID-AFC49653-78E6-5639-911C-E02AEB08AFFC_d0e228632_href.png
Symbian3/PDK/Source/GUID-AFC49653-78E6-5639-911C-E02AEB08AFFC_d0e234631_href.png
Symbian3/PDK/Source/GUID-AFE7F3DA-6D61-5A4C-A08F-C998C8805A06.dita
Symbian3/PDK/Source/GUID-AFF0B669-E0D8-5533-A105-0F5EBC6AF5E1.dita
Symbian3/PDK/Source/GUID-B015C4A3-469E-5AC4-B9B9-A24AF7444E65.dita
Symbian3/PDK/Source/GUID-B025C751-74E1-536C-85F8-668D05C5E80B.dita
Symbian3/PDK/Source/GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita
Symbian3/PDK/Source/GUID-B0391618-0681-5E4E-94BE-C0E24B862AEF_d0e315291_href.png
Symbian3/PDK/Source/GUID-B0391618-0681-5E4E-94BE-C0E24B862AEF_d0e321281_href.png
Symbian3/PDK/Source/GUID-B0449B60-B78E-5CC1-8FAF-E5EE24D88EB2.dita
Symbian3/PDK/Source/GUID-B05B61B8-1217-441F-BAFA-C209C8F123C5.dita
Symbian3/PDK/Source/GUID-B0797210-4EE3-557B-A5A6-D215D030BA0E_d0e228063_href.png
Symbian3/PDK/Source/GUID-B0797210-4EE3-557B-A5A6-D215D030BA0E_d0e234062_href.png
Symbian3/PDK/Source/GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita
Symbian3/PDK/Source/GUID-B1254526-3C72-59E7-88C0-667FC051379F.dita
Symbian3/PDK/Source/GUID-B12AAA82-0534-5FBB-B9BA-33056B988575_d0e583638_href.png
Symbian3/PDK/Source/GUID-B12AAA82-0534-5FBB-B9BA-33056B988575_d0e632926_href.png
Symbian3/PDK/Source/GUID-B12EEEF5-311B-49F8-A2DA-D6EF6A705071_d0e80983_href.png
Symbian3/PDK/Source/GUID-B12EEEF5-311B-49F8-A2DA-D6EF6A705071_d0e85181_href.png
Symbian3/PDK/Source/GUID-B131AE10-B9B1-53D2-8CAA-A9045957D6F9_d0e315462_href.png
Symbian3/PDK/Source/GUID-B131AE10-B9B1-53D2-8CAA-A9045957D6F9_d0e321452_href.png
Symbian3/PDK/Source/GUID-B1362BCE-8043-5183-B287-8381A87555B9_d0e449125_href.png
Symbian3/PDK/Source/GUID-B1362BCE-8043-5183-B287-8381A87555B9_d0e454970_href.png
Symbian3/PDK/Source/GUID-B14B3D67-B0D5-54B6-AAE4-D4486D019498.dita
Symbian3/PDK/Source/GUID-B16E3A7D-FF14-559A-BF86-2A1A1A584CDC_d0e561253_href.png
Symbian3/PDK/Source/GUID-B16E3A7D-FF14-559A-BF86-2A1A1A584CDC_d0e569929_href.png
Symbian3/PDK/Source/GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e596642_href.png
Symbian3/PDK/Source/GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e615026_href.png
Symbian3/PDK/Source/GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e624536_href.png
Symbian3/PDK/Source/GUID-B1800856-3516-5D22-B1C5-556866CDDF46.dita
Symbian3/PDK/Source/GUID-B1C79738-0449-5C26-BA8A-4612C6BF652F.dita
Symbian3/PDK/Source/GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita
Symbian3/PDK/Source/GUID-B1D63E7B-81EB-5F75-96C3-789E5C3E4C03.dita
Symbian3/PDK/Source/GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita
Symbian3/PDK/Source/GUID-B21A4858-162A-50F1-8F88-4259B7F7238E_d0e144206_href.png
Symbian3/PDK/Source/GUID-B21A4858-162A-50F1-8F88-4259B7F7238E_d0e146455_href.png
Symbian3/PDK/Source/GUID-B2523978-4262-4E32-B50D-4818AC561B6D_d0e91869_href.png
Symbian3/PDK/Source/GUID-B2523978-4262-4E32-B50D-4818AC561B6D_d0e96067_href.png
Symbian3/PDK/Source/GUID-B2539DB1-FA06-5900-A859-547D3381E361_d0e447945_href.png
Symbian3/PDK/Source/GUID-B2539DB1-FA06-5900-A859-547D3381E361_d0e453790_href.png
Symbian3/PDK/Source/GUID-B26A4743-F331-5AC3-A40A-28B14B785857.dita
Symbian3/PDK/Source/GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e1661_href.png
Symbian3/PDK/Source/GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e1665_href.png
Symbian3/PDK/Source/GUID-B2BD19A4-132E-5D5C-8870-04BADB6E7815.dita
Symbian3/PDK/Source/GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-9-1-4-1-4-1.dita
Symbian3/PDK/Source/GUID-B2E63B13-7B72-5CBF-ACD0-1F2D2E1EEF19_d0e228689_href.png
Symbian3/PDK/Source/GUID-B2E63B13-7B72-5CBF-ACD0-1F2D2E1EEF19_d0e234688_href.png
Symbian3/PDK/Source/GUID-B2F5537B-3F47-5172-8DFA-185CC1CAAD22.dita
Symbian3/PDK/Source/GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita
Symbian3/PDK/Source/GUID-B30D6027-EB0F-578F-9B2F-AFC2DFD27E39_d0e393768_href.png
Symbian3/PDK/Source/GUID-B30D6027-EB0F-578F-9B2F-AFC2DFD27E39_d0e399621_href.png
Symbian3/PDK/Source/GUID-B3166752-9B99-5669-8AB4-078164144AA1_d0e218927_href.png
Symbian3/PDK/Source/GUID-B3166752-9B99-5669-8AB4-078164144AA1_d0e224947_href.png
Symbian3/PDK/Source/GUID-B32EA1DE-5E64-5A70-8333-B9F462F25C08_d0e231618_href.png
Symbian3/PDK/Source/GUID-B32EA1DE-5E64-5A70-8333-B9F462F25C08_d0e237613_href.png
Symbian3/PDK/Source/GUID-B32ED85A-913E-5C06-AEEB-1E2D6EF4CECF.dita
Symbian3/PDK/Source/GUID-B34485AB-FA14-5453-A2B2-EB85055E62A4_d0e244605_href.png
Symbian3/PDK/Source/GUID-B34485AB-FA14-5453-A2B2-EB85055E62A4_d0e250616_href.png
Symbian3/PDK/Source/GUID-B35A70D2-1BC8-51DE-95BF-F315DB394582.dita
Symbian3/PDK/Source/GUID-B3760707-2810-4CD9-82C7-6A40DE638D36.dita
Symbian3/PDK/Source/GUID-B39483E2-15FC-5214-8B45-58BBB68A7841_d0e536764_href.png
Symbian3/PDK/Source/GUID-B39483E2-15FC-5214-8B45-58BBB68A7841_d0e544224_href.png
Symbian3/PDK/Source/GUID-B3F6FC45-3BF0-5F92-8325-44C705BA47AE.dita
Symbian3/PDK/Source/GUID-B409C23A-F89E-5D30-B172-1F39C3F6A57F_d0e76888_href.png
Symbian3/PDK/Source/GUID-B409C23A-F89E-5D30-B172-1F39C3F6A57F_d0e81101_href.png
Symbian3/PDK/Source/GUID-B4241F5D-5F06-53C4-9F1E-BB7B5DD780B0_d0e55045_href.png
Symbian3/PDK/Source/GUID-B4241F5D-5F06-53C4-9F1E-BB7B5DD780B0_d0e59279_href.png
Symbian3/PDK/Source/GUID-B452DBD8-F9EB-4DAB-9D0C-3B11D7C360F4.dita
Symbian3/PDK/Source/GUID-B459E37A-BECE-5087-9827-C93310890674_d0e482708_href.png
Symbian3/PDK/Source/GUID-B459E37A-BECE-5087-9827-C93310890674_d0e488537_href.png
Symbian3/PDK/Source/GUID-B4653180-46EB-58A8-B2A8-0DD2C3D30FE7_d0e277089_href.png
Symbian3/PDK/Source/GUID-B4653180-46EB-58A8-B2A8-0DD2C3D30FE7_d0e283089_href.png
Symbian3/PDK/Source/GUID-B46C54AD-268C-58A0-B244-134C4D8BDFE1_d0e25164_href.png
Symbian3/PDK/Source/GUID-B46C54AD-268C-58A0-B244-134C4D8BDFE1_d0e27131_href.png
Symbian3/PDK/Source/GUID-B474D319-1E03-57EC-A8F1-2E8D32CD8092_d0e230071_href.png
Symbian3/PDK/Source/GUID-B474D319-1E03-57EC-A8F1-2E8D32CD8092_d0e236066_href.png
Symbian3/PDK/Source/GUID-B479BE8B-5CAD-57C2-9E21-DEB9E64E25EE_d0e489187_href.png
Symbian3/PDK/Source/GUID-B479BE8B-5CAD-57C2-9E21-DEB9E64E25EE_d0e495008_href.png
Symbian3/PDK/Source/GUID-B4834A49-587E-41AD-B0D3-0622B173B2AD_d0e103648_href.png
Symbian3/PDK/Source/GUID-B4834A49-587E-41AD-B0D3-0622B173B2AD_d0e107668_href.png
Symbian3/PDK/Source/GUID-B48F7684-76E6-51C1-B85A-08A1F1EBD807_d0e110825_href.png
Symbian3/PDK/Source/GUID-B48F7684-76E6-51C1-B85A-08A1F1EBD807_d0e113248_href.png
Symbian3/PDK/Source/GUID-B495BE4E-6567-5141-A857-31EF12B19362_d0e464089_href.png
Symbian3/PDK/Source/GUID-B495BE4E-6567-5141-A857-31EF12B19362_d0e469934_href.png
Symbian3/PDK/Source/GUID-B4E5F308-DC7A-5547-8948-9DDCBC104918_d0e524993_href.png
Symbian3/PDK/Source/GUID-B4E5F308-DC7A-5547-8948-9DDCBC104918_d0e532453_href.png
Symbian3/PDK/Source/GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita
Symbian3/PDK/Source/GUID-B51A9A1F-8E80-4DF6-904A-7BD1A8976BBB.dita
Symbian3/PDK/Source/GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27.dita
Symbian3/PDK/Source/GUID-B526BA3A-14E4-53B4-9382-437475A1C8A4.dita
Symbian3/PDK/Source/GUID-B541BD01-29BE-4CB7-9420-ABEE0BDC9BA4.dita
Symbian3/PDK/Source/GUID-B5576E47-CBB6-5E50-91BD-1CA1425EACE8.dita
Symbian3/PDK/Source/GUID-B563AC07-A54B-50E2-A3B2-821E8BC2C863.dita
Symbian3/PDK/Source/GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e1757_href.png
Symbian3/PDK/Source/GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e1762_href.png
Symbian3/PDK/Source/GUID-B58D3727-6E05-51C8-8EC2-52768A136BD5.dita
Symbian3/PDK/Source/GUID-B58D93D7-597C-5200-82ED-F434B297CAC9.dita
Symbian3/PDK/Source/GUID-B5CC77D2-5871-51D8-B359-77EFC081B423.dita
Symbian3/PDK/Source/GUID-B5DE1C86-2B16-4B22-887F-7079E54A8ED6.dita
Symbian3/PDK/Source/GUID-B6088C0A-20AE-5108-A28C-9CA884205493.dita
Symbian3/PDK/Source/GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita
Symbian3/PDK/Source/GUID-B68FF699-923B-530E-A877-86507B1D42F1.dita
Symbian3/PDK/Source/GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita
Symbian3/PDK/Source/GUID-B6F0C909-6E58-584E-9270-8066337FCE0F.dita
Symbian3/PDK/Source/GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita
Symbian3/PDK/Source/GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita
Symbian3/PDK/Source/GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita
Symbian3/PDK/Source/GUID-B7542EA6-6188-5A3D-A287-0766F7B42DC0_d0e584186_href.png
Symbian3/PDK/Source/GUID-B7542EA6-6188-5A3D-A287-0766F7B42DC0_d0e612080_href.png
Symbian3/PDK/Source/GUID-B756AB28-A0EA-5AA3-86E3-CCFFCD642F08.dita
Symbian3/PDK/Source/GUID-B77702FA-7385-51A0-986F-7667669CBDB2.dita
Symbian3/PDK/Source/GUID-B77F8AA2-969A-59CC-908E-CEC486247B2F_d0e450865_href.png
Symbian3/PDK/Source/GUID-B77F8AA2-969A-59CC-908E-CEC486247B2F_d0e456710_href.png
Symbian3/PDK/Source/GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e267145_href.png
Symbian3/PDK/Source/GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e273145_href.png
Symbian3/PDK/Source/GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita
Symbian3/PDK/Source/GUID-B7CC7993-7D71-5237-AF39-2BB63789BACB_d0e277152_href.png
Symbian3/PDK/Source/GUID-B7CC7993-7D71-5237-AF39-2BB63789BACB_d0e283152_href.png
Symbian3/PDK/Source/GUID-B7D1D1ED-932C-4A17-AE80-EDF163FC789A_d0e81413_href.png
Symbian3/PDK/Source/GUID-B7D1D1ED-932C-4A17-AE80-EDF163FC789A_d0e85611_href.png
Symbian3/PDK/Source/GUID-B7E55764-C137-4877-9083-63ACEAF30BE5_d0e86006_href.png
Symbian3/PDK/Source/GUID-B7E55764-C137-4877-9083-63ACEAF30BE5_d0e90204_href.png
Symbian3/PDK/Source/GUID-B7E5C7C1-E02F-575C-981B-E14DA10C63D2.dita
Symbian3/PDK/Source/GUID-B7E7E6D6-7824-505C-BA0B-B7861897E78F_d0e375726_href.png
Symbian3/PDK/Source/GUID-B7E7E6D6-7824-505C-BA0B-B7861897E78F_d0e381570_href.png
Symbian3/PDK/Source/GUID-B7F3F71A-2E05-58A5-98B2-0C62C65286D1_d0e139043_href.png
Symbian3/PDK/Source/GUID-B7F3F71A-2E05-58A5-98B2-0C62C65286D1_d0e141292_href.png
Symbian3/PDK/Source/GUID-B80E3FB0-C26F-52A8-B4DE-0A219B974ABC_d0e260256_href.png
Symbian3/PDK/Source/GUID-B80E3FB0-C26F-52A8-B4DE-0A219B974ABC_d0e266265_href.png
Symbian3/PDK/Source/GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290.dita
Symbian3/PDK/Source/GUID-B87B9E01-F5EB-40F6-A580-A7E46869AE39.dita
Symbian3/PDK/Source/GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9.dita
Symbian3/PDK/Source/GUID-B8BCC4F0-7F55-4728-B7EA-3280CA822C91.dita
Symbian3/PDK/Source/GUID-B8C3E562-EE45-47F2-BC00-F6C10ADD3026.dita
Symbian3/PDK/Source/GUID-B8D630CA-7CED-408E-B570-00FF95BE14ED-master.png
Symbian3/PDK/Source/GUID-B8D630CA-7CED-408E-B570-00FF95BE14ED_d0e105232_href.png
Symbian3/PDK/Source/GUID-B913762A-2C87-4218-8D20-EBF88F9756DC_d0e14221_href.png
Symbian3/PDK/Source/GUID-B913762A-2C87-4218-8D20-EBF88F9756DC_d0e14320_href.png
Symbian3/PDK/Source/GUID-B92B7DF8-0086-431F-91CE-6F193C045FB5_d0e5122_href.png
Symbian3/PDK/Source/GUID-B92B7DF8-0086-431F-91CE-6F193C045FB5_d0e5131_href.png
Symbian3/PDK/Source/GUID-B9306D01-1DE5-511A-AC1A-6E3E9749BA89_d0e348544_href.png
Symbian3/PDK/Source/GUID-B9306D01-1DE5-511A-AC1A-6E3E9749BA89_d0e354487_href.png
Symbian3/PDK/Source/GUID-B9347C4E-8121-57F5-8040-87B5D58C0FC4_d0e449972_href.png
Symbian3/PDK/Source/GUID-B9347C4E-8121-57F5-8040-87B5D58C0FC4_d0e455817_href.png
Symbian3/PDK/Source/GUID-B938FAE4-D854-54E4-BC06-A9B7B55FE4F8-master.png
Symbian3/PDK/Source/GUID-B938FAE4-D854-54E4-BC06-A9B7B55FE4F8_d0e744115_href.png
Symbian3/PDK/Source/GUID-B93C26B8-D767-5341-A629-1A5714A20992_d0e586844_href.jpg
Symbian3/PDK/Source/GUID-B93C26B8-D767-5341-A629-1A5714A20992_d0e614738_href.jpg
Symbian3/PDK/Source/GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita
Symbian3/PDK/Source/GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita
Symbian3/PDK/Source/GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e544339_href.png
Symbian3/PDK/Source/GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e551799_href.png
Symbian3/PDK/Source/GUID-B95D96F5-6EA0-596C-BA06-F0703D3FCDFF.dita
Symbian3/PDK/Source/GUID-B96A7D1B-957C-5050-9D1D-5439A13A5CED_d0e536480_href.png
Symbian3/PDK/Source/GUID-B96A7D1B-957C-5050-9D1D-5439A13A5CED_d0e543940_href.png
Symbian3/PDK/Source/GUID-B97C3C1D-7F35-4B0A-9420-180CE70EF6DE.dita
Symbian3/PDK/Source/GUID-B985B750-9B42-55ED-B7E4-41B06B44C365_d0e512289_href.jpg
Symbian3/PDK/Source/GUID-B985B750-9B42-55ED-B7E4-41B06B44C365_d0e519751_href.jpg
Symbian3/PDK/Source/GUID-BA0D9DA9-3B54-4964-A4D6-9ADA4DEB7231.dita
Symbian3/PDK/Source/GUID-BA1071D5-E358-5B33-9204-CDCD0CECEF0A_d0e507141_href.png
Symbian3/PDK/Source/GUID-BA1071D5-E358-5B33-9204-CDCD0CECEF0A_d0e514603_href.png
Symbian3/PDK/Source/GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita
Symbian3/PDK/Source/GUID-BA49FDC0-808B-5E05-81AC-98637214F304.dita
Symbian3/PDK/Source/GUID-BA518A5F-678A-5821-BF01-C7B8EE4DE278.dita
Symbian3/PDK/Source/GUID-BA7B9BA6-B840-5182-90B0-A4914592A40D.dita
Symbian3/PDK/Source/GUID-BAABB057-5C48-4991-A283-DAC5D54562C1_d0e67998_href.png
Symbian3/PDK/Source/GUID-BAABB057-5C48-4991-A283-DAC5D54562C1_d0e72211_href.png
Symbian3/PDK/Source/GUID-BAD38A27-5A46-5A72-B0AD-A095C207CD2B_d0e430277_href.png
Symbian3/PDK/Source/GUID-BAD38A27-5A46-5A72-B0AD-A095C207CD2B_d0e436122_href.png
Symbian3/PDK/Source/GUID-BADAAC2D-8614-5036-95BC-3889457F7ED0.dita
Symbian3/PDK/Source/GUID-BB0C4204-3C31-57D1-B1C5-6D2FCF571931.dita
Symbian3/PDK/Source/GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC.dita
Symbian3/PDK/Source/GUID-BB38AFE5-56FE-552D-8715-438936865B69_d0e535319_href.jpg
Symbian3/PDK/Source/GUID-BB38AFE5-56FE-552D-8715-438936865B69_d0e542779_href.jpg
Symbian3/PDK/Source/GUID-BB39DE14-B314-59CB-A8EC-BBD2A5C1BCD9.dita
Symbian3/PDK/Source/GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita
Symbian3/PDK/Source/GUID-BBBA5C6C-4E8B-513A-8FA1-C7A04C54C140.dita
Symbian3/PDK/Source/GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita
Symbian3/PDK/Source/GUID-BBC374AD-88E6-5C58-88BB-B939C2948DDA.dita
Symbian3/PDK/Source/GUID-BBCC018A-BBD3-5609-8FCB-C9BF7EC5F627.dita
Symbian3/PDK/Source/GUID-BBDC3880-DFC3-42C0-913D-E90AB318E015_d0e65829_href.png
Symbian3/PDK/Source/GUID-BBDC3880-DFC3-42C0-913D-E90AB318E015_d0e70052_href.png
Symbian3/PDK/Source/GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e527935_href.png
Symbian3/PDK/Source/GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e535395_href.png
Symbian3/PDK/Source/GUID-BC7AFCC5-0052-479E-99AE-F3F982ED1F84-master.png
Symbian3/PDK/Source/GUID-BC7AFCC5-0052-479E-99AE-F3F982ED1F84_d0e95236_href.png
Symbian3/PDK/Source/GUID-BCD83E02-9645-530C-8BD9-CCA1B8756842_d0e54862_href.png
Symbian3/PDK/Source/GUID-BCD83E02-9645-530C-8BD9-CCA1B8756842_d0e59096_href.png
Symbian3/PDK/Source/GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1.dita
Symbian3/PDK/Source/GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita
Symbian3/PDK/Source/GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7.dita
Symbian3/PDK/Source/GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e1845_href.png
Symbian3/PDK/Source/GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e1853_href.png
Symbian3/PDK/Source/GUID-BD347690-2644-59E5-8CC6-769A77274D51_d0e464150_href.png
Symbian3/PDK/Source/GUID-BD347690-2644-59E5-8CC6-769A77274D51_d0e469995_href.png
Symbian3/PDK/Source/GUID-BD649ABC-4DBC-5E37-B80D-2BB86F94F26A.dita
Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e79232_href.png
Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e80583_href.png
Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e83430_href.png
Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e84781_href.png
Symbian3/PDK/Source/GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita
Symbian3/PDK/Source/GUID-BE11D652-3B39-51D2-ACE9-571E8EB71E94_d0e534503_href.png
Symbian3/PDK/Source/GUID-BE11D652-3B39-51D2-ACE9-571E8EB71E94_d0e541963_href.png
Symbian3/PDK/Source/GUID-BE2497DB-999F-5CF8-88E1-A94E8084C841_d0e449958_href.png
Symbian3/PDK/Source/GUID-BE2497DB-999F-5CF8-88E1-A94E8084C841_d0e455803_href.png
Symbian3/PDK/Source/GUID-BE2D9AAB-203B-471A-984D-91E917611641.dita
Symbian3/PDK/Source/GUID-BE3B53A8-B06D-53C4-8FC0-85B3BA4F39EF.dita
Symbian3/PDK/Source/GUID-BE3F31A9-959C-5854-8515-052774D8358E_d0e516289_href.png
Symbian3/PDK/Source/GUID-BE3F31A9-959C-5854-8515-052774D8358E_d0e523749_href.png
Symbian3/PDK/Source/GUID-BE4BA4D8-8FA4-5330-BFF8-311BCADBB7E7_d0e450903_href.png
Symbian3/PDK/Source/GUID-BE4BA4D8-8FA4-5330-BFF8-311BCADBB7E7_d0e456748_href.png
Symbian3/PDK/Source/GUID-BE66CF87-E750-40BE-A5EB-18A43E927257_d0e91670_href.png
Symbian3/PDK/Source/GUID-BE66CF87-E750-40BE-A5EB-18A43E927257_d0e95868_href.png
Symbian3/PDK/Source/GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita
Symbian3/PDK/Source/GUID-BE893F87-E7F6-56E5-BD27-328B532F8332.dita
Symbian3/PDK/Source/GUID-BEA8B4D3-992B-591E-8E2A-BCAC847E0B6E_d0e535518_href.jpg
Symbian3/PDK/Source/GUID-BEA8B4D3-992B-591E-8E2A-BCAC847E0B6E_d0e542978_href.jpg
Symbian3/PDK/Source/GUID-BEDF6765-4BF4-532F-A2C7-F052FE8A9CA2_d0e334730_href.png
Symbian3/PDK/Source/GUID-BEDF6765-4BF4-532F-A2C7-F052FE8A9CA2_d0e340702_href.png
Symbian3/PDK/Source/GUID-BF155E49-35AF-5BC1-80C5-8D6C68C464F8_d0e316625_href.png
Symbian3/PDK/Source/GUID-BF155E49-35AF-5BC1-80C5-8D6C68C464F8_d0e322615_href.png
Symbian3/PDK/Source/GUID-BF157EE2-B680-554A-AE32-69C652B61FA6_d0e390195_href.png
Symbian3/PDK/Source/GUID-BF157EE2-B680-554A-AE32-69C652B61FA6_d0e396048_href.png
Symbian3/PDK/Source/GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita
Symbian3/PDK/Source/GUID-BF4E220C-2388-517B-87D8-78AB1EA6382E.dita
Symbian3/PDK/Source/GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e4934_href.png
Symbian3/PDK/Source/GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e4943_href.png
Symbian3/PDK/Source/GUID-BF822A89-F932-400F-82FC-FB998B768EBF_d0e165387_href.png
Symbian3/PDK/Source/GUID-BF822A89-F932-400F-82FC-FB998B768EBF_d0e171480_href.png
Symbian3/PDK/Source/GUID-BFA254D4-5104-5B15-8035-2491B57D136D_d0e272739_href.png
Symbian3/PDK/Source/GUID-BFA254D4-5104-5B15-8035-2491B57D136D_d0e278739_href.png
Symbian3/PDK/Source/GUID-BFCFD93E-D591-50D2-8263-D13D08DD9F15.dita
Symbian3/PDK/Source/GUID-BFD09EE5-CCB3-5498-BAA6-86F537DE9155_d0e245061_href.png
Symbian3/PDK/Source/GUID-BFD09EE5-CCB3-5498-BAA6-86F537DE9155_d0e251072_href.png
Symbian3/PDK/Source/GUID-BFEEECCA-190B-4DDE-8A04-4FE918BE8690.dita
Symbian3/PDK/Source/GUID-C014FC75-732F-558F-8E6A-77DDAA032930_d0e316185_href.png
Symbian3/PDK/Source/GUID-C014FC75-732F-558F-8E6A-77DDAA032930_d0e322175_href.png
Symbian3/PDK/Source/GUID-C02F7A8B-E6D1-5DB5-A3CA-08875A196199_d0e159505_href.png
Symbian3/PDK/Source/GUID-C02F7A8B-E6D1-5DB5-A3CA-08875A196199_d0e165606_href.png
Symbian3/PDK/Source/GUID-C07B506E-A1C8-537C-A7BF-DD7F449DF8A5.dita
Symbian3/PDK/Source/GUID-C08C9AE9-99A6-4EB7-B665-41E92EDD9747.dita
Symbian3/PDK/Source/GUID-C0A4DA51-3168-4F99-9A8E-66A326186E29_d0e93997_href.png
Symbian3/PDK/Source/GUID-C0A4DA51-3168-4F99-9A8E-66A326186E29_d0e98195_href.png
Symbian3/PDK/Source/GUID-C0CC6EEF-E95F-4DE1-9E53-2B777D9E433D_d0e104820_href.png
Symbian3/PDK/Source/GUID-C0CFFE13-579C-5A93-9B63-DC2DCF98EC61_d0e318616_href.png
Symbian3/PDK/Source/GUID-C0CFFE13-579C-5A93-9B63-DC2DCF98EC61_d0e324606_href.png
Symbian3/PDK/Source/GUID-C103A584-3498-5F0A-8F0B-F97D33749CEF_d0e446297_href.png
Symbian3/PDK/Source/GUID-C103A584-3498-5F0A-8F0B-F97D33749CEF_d0e452142_href.png
Symbian3/PDK/Source/GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-26-1-1-4-1-3-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-28-1-1-4-1-3-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-C156607A-5929-5971-8077-E8974FA43B3C.dita
Symbian3/PDK/Source/GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD.dita
Symbian3/PDK/Source/GUID-C193535D-8756-5A2C-BD3A-280F7DDAF73E_d0e641357_href.jpg
Symbian3/PDK/Source/GUID-C193535D-8756-5A2C-BD3A-280F7DDAF73E_d0e654179_href.jpg
Symbian3/PDK/Source/GUID-C1A6477D-2130-5664-A845-898212F96381_d0e498070_href.png
Symbian3/PDK/Source/GUID-C1A6477D-2130-5664-A845-898212F96381_d0e505532_href.png
Symbian3/PDK/Source/GUID-C1B080D9-9C6C-520B-B73E-4EB344B1FC5E.dita
Symbian3/PDK/Source/GUID-C213B26D-32EC-5CD9-956E-1C2143E5D0CA_d0e471503_href.jpg
Symbian3/PDK/Source/GUID-C213B26D-32EC-5CD9-956E-1C2143E5D0CA_d0e477339_href.jpg
Symbian3/PDK/Source/GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e597089_href.png
Symbian3/PDK/Source/GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e615473_href.png
Symbian3/PDK/Source/GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e624983_href.png
Symbian3/PDK/Source/GUID-C21BB0E4-7AF7-58E5-AAD6-8CE67399460C.dita
Symbian3/PDK/Source/GUID-C23196E8-FDD3-4A10-9DA2-DA83A2AD49D9.dita
Symbian3/PDK/Source/GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita
Symbian3/PDK/Source/GUID-C253D792-7470-5D9F-B39B-1CF42438215A_d0e21325_href.png
Symbian3/PDK/Source/GUID-C253D792-7470-5D9F-B39B-1CF42438215A_d0e23292_href.png
Symbian3/PDK/Source/GUID-C2709212-FD91-5245-9A1D-0E8114D7B202.dita
Symbian3/PDK/Source/GUID-C28FDA4B-0099-4258-8255-6CF7C44FD4E8_d0e95874_href.png
Symbian3/PDK/Source/GUID-C28FDA4B-0099-4258-8255-6CF7C44FD4E8_d0e99993_href.png
Symbian3/PDK/Source/GUID-C29FE12C-C412-40A8-A067-27C63A519D71.dita
Symbian3/PDK/Source/GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e430395_href.png
Symbian3/PDK/Source/GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e436240_href.png
Symbian3/PDK/Source/GUID-C2D6BAB9-89BA-4E8D-82B4-2FAE04B9086C_d0e76308_href.png
Symbian3/PDK/Source/GUID-C2D6BAB9-89BA-4E8D-82B4-2FAE04B9086C_d0e80521_href.png
Symbian3/PDK/Source/GUID-C2D99C88-09C7-55FA-AF95-3F689BA27484_d0e512272_href.jpg
Symbian3/PDK/Source/GUID-C2D99C88-09C7-55FA-AF95-3F689BA27484_d0e519734_href.jpg
Symbian3/PDK/Source/GUID-C2FAEBB2-4A1A-5BB0-9670-4801525CBC6A.dita
Symbian3/PDK/Source/GUID-C31DA918-8DEA-5816-B0A6-4AE90B06DD0D_d0e210683_href.jpg
Symbian3/PDK/Source/GUID-C31DA918-8DEA-5816-B0A6-4AE90B06DD0D_d0e216684_href.jpg
Symbian3/PDK/Source/GUID-C33BAB87-9CFA-58F4-95B7-7A05AB529708_d0e257772_href.png
Symbian3/PDK/Source/GUID-C33BAB87-9CFA-58F4-95B7-7A05AB529708_d0e263783_href.png
Symbian3/PDK/Source/GUID-C37790B3-967C-489C-8753-0434938CBE2B.dita
Symbian3/PDK/Source/GUID-C39CA508-86F7-5B99-9390-56980DD0EFFB.dita
Symbian3/PDK/Source/GUID-C3A3D9CF-4826-4BEB-8778-ECD8E6B6463C.dita
Symbian3/PDK/Source/GUID-C3A8290D-44BA-5AAD-8F0D-745FF3F10E0B_d0e516822_href.png
Symbian3/PDK/Source/GUID-C3A8290D-44BA-5AAD-8F0D-745FF3F10E0B_d0e524282_href.png
Symbian3/PDK/Source/GUID-C3B6E5F6-74DC-5C0E-94C8-B4822F4A2EB6.dita
Symbian3/PDK/Source/GUID-C3CE35FF-240E-5385-9088-38EF926ABB7B_d0e390105_href.png
Symbian3/PDK/Source/GUID-C3CE35FF-240E-5385-9088-38EF926ABB7B_d0e395958_href.png
Symbian3/PDK/Source/GUID-C3D0BA4A-AEC5-5002-916E-CB3F9FE5AC27_d0e257933_href.png
Symbian3/PDK/Source/GUID-C3D0BA4A-AEC5-5002-916E-CB3F9FE5AC27_d0e263944_href.png
Symbian3/PDK/Source/GUID-C4461397-04A0-5056-B8A5-8FEFF9AF052C_d0e450936_href.png
Symbian3/PDK/Source/GUID-C4461397-04A0-5056-B8A5-8FEFF9AF052C_d0e456781_href.png
Symbian3/PDK/Source/GUID-C45FFBDD-37D4-5892-8D13-CFE292264268.dita
Symbian3/PDK/Source/GUID-C47514B1-2DD2-5E75-962A-B8E6358E9880_d0e346339_href.png
Symbian3/PDK/Source/GUID-C47514B1-2DD2-5E75-962A-B8E6358E9880_d0e352290_href.png
Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e79307_href.png
Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e83505_href.png
Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e86800_href.png
Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e87023_href.png
Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e90998_href.png
Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e91221_href.png
Symbian3/PDK/Source/GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e489937_href.jpg
Symbian3/PDK/Source/GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e495755_href.jpg
Symbian3/PDK/Source/GUID-C4C8395E-F982-4D6A-88D3-28EDC494817F.dita
Symbian3/PDK/Source/GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e207170_href.png
Symbian3/PDK/Source/GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e213171_href.png
Symbian3/PDK/Source/GUID-C4D0F943-442D-5F3B-BB5E-6B52C33ABBC6_d0e210740_href.jpg
Symbian3/PDK/Source/GUID-C4D0F943-442D-5F3B-BB5E-6B52C33ABBC6_d0e216741_href.jpg
Symbian3/PDK/Source/GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita
Symbian3/PDK/Source/GUID-C4EFAB2B-5154-56E0-A4B7-234A5EABB796_d0e39288_href.png
Symbian3/PDK/Source/GUID-C4EFAB2B-5154-56E0-A4B7-234A5EABB796_d0e43522_href.png
Symbian3/PDK/Source/GUID-C5103B39-6F67-47E3-938A-32933E75F98E.dita
Symbian3/PDK/Source/GUID-C549EC51-D81F-5AEC-80EA-EF83B2D9AF51.dita
Symbian3/PDK/Source/GUID-C588B869-6940-42B2-84F9-71467F6A4306_d0e3004_href.png
Symbian3/PDK/Source/GUID-C588B869-6940-42B2-84F9-71467F6A4306_d0e3014_href.png
Symbian3/PDK/Source/GUID-C595C1E9-9371-5449-823F-ECEBDE13FB7B_d0e450914_href.png
Symbian3/PDK/Source/GUID-C595C1E9-9371-5449-823F-ECEBDE13FB7B_d0e456759_href.png
Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e79143_href.png
Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e80310_href.png
Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e83341_href.png
Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e84508_href.png
Symbian3/PDK/Source/GUID-C5C42C02-1C22-5537-B966-0F5F78E4D7BE_d0e332284_href.png
Symbian3/PDK/Source/GUID-C5C42C02-1C22-5537-B966-0F5F78E4D7BE_d0e338256_href.png
Symbian3/PDK/Source/GUID-C5DDFD3F-7778-56D6-A10B-741959206C5F_d0e522374_href.png
Symbian3/PDK/Source/GUID-C5DDFD3F-7778-56D6-A10B-741959206C5F_d0e529834_href.png
Symbian3/PDK/Source/GUID-C5E7D88B-C73D-56D8-A8F4-2393E5EEDC8E_d0e423967_href.png
Symbian3/PDK/Source/GUID-C5E7D88B-C73D-56D8-A8F4-2393E5EEDC8E_d0e429820_href.png
Symbian3/PDK/Source/GUID-C5F4CF0F-EC1B-595D-8C95-41891CB5930D.dita
Symbian3/PDK/Source/GUID-C5F77A45-EEE9-4190-B240-E9FCCFC15E72.dita
Symbian3/PDK/Source/GUID-C60254EC-85B4-52A9-A694-A5F6EA0B1DAF_d0e449876_href.png
Symbian3/PDK/Source/GUID-C60254EC-85B4-52A9-A694-A5F6EA0B1DAF_d0e455721_href.png
Symbian3/PDK/Source/GUID-C6086C67-963B-455F-8BA6-58DC568084F0_d0e99781_href.png
Symbian3/PDK/Source/GUID-C60DAE3D-7FB9-5619-9E5D-476A430705AF.dita
Symbian3/PDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita
Symbian3/PDK/Source/GUID-C64D200D-32A9-5F50-ACF1-4D93DDD0B0A4_d0e547818_href.png
Symbian3/PDK/Source/GUID-C64D200D-32A9-5F50-ACF1-4D93DDD0B0A4_d0e555274_href.png
Symbian3/PDK/Source/GUID-C65D4AB3-4F4B-5005-A9C4-96807EDB3EEC_d0e470190_href.jpg
Symbian3/PDK/Source/GUID-C65D4AB3-4F4B-5005-A9C4-96807EDB3EEC_d0e476026_href.jpg
Symbian3/PDK/Source/GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita
Symbian3/PDK/Source/GUID-C6DDF01D-DF54-5C65-9FAC-D3693D30819F_d0e437117_href.png
Symbian3/PDK/Source/GUID-C6DDF01D-DF54-5C65-9FAC-D3693D30819F_d0e442962_href.png
Symbian3/PDK/Source/GUID-C6E29524-AD59-4EBB-9004-13F731FA1F3C.dita
Symbian3/PDK/Source/GUID-C6EA2CFE-EA35-5B05-8103-B06A87BE1828.dita
Symbian3/PDK/Source/GUID-C71311A7-F747-57EB-B31F-6E634D5976A3.dita
Symbian3/PDK/Source/GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita
Symbian3/PDK/Source/GUID-C7560CDB-E8F4-55E8-953C-3731B690CF76_d0e471475_href.jpg
Symbian3/PDK/Source/GUID-C7560CDB-E8F4-55E8-953C-3731B690CF76_d0e477311_href.jpg
Symbian3/PDK/Source/GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1.dita
Symbian3/PDK/Source/GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita
Symbian3/PDK/Source/GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita
Symbian3/PDK/Source/GUID-C762E5B4-A7E3-5CAD-B639-A31F5D1899D3.dita
Symbian3/PDK/Source/GUID-C7B748CF-D080-5448-98AF-1634D821E713.dita
Symbian3/PDK/Source/GUID-C7D026AF-9C07-4221-AEDE-8CC0654A9D57.dita
Symbian3/PDK/Source/GUID-C7F3EDA1-B935-5F5F-AFD4-A3CABA0C031C.dita
Symbian3/PDK/Source/GUID-C7F900F4-7C8E-4922-8785-D6EF9AE23B22.dita
Symbian3/PDK/Source/GUID-C830420C-FBBD-5265-8746-7690C0ADCE81_d0e276368_href.png
Symbian3/PDK/Source/GUID-C830420C-FBBD-5265-8746-7690C0ADCE81_d0e282368_href.png
Symbian3/PDK/Source/GUID-C842C016-0D1B-5462-8B04-49CFE941A964_d0e375243_href.jpg
Symbian3/PDK/Source/GUID-C842C016-0D1B-5462-8B04-49CFE941A964_d0e381087_href.jpg
Symbian3/PDK/Source/GUID-C8450E58-A603-5CF8-993E-053C990DDA19_d0e380027_href.png
Symbian3/PDK/Source/GUID-C8450E58-A603-5CF8-993E-053C990DDA19_d0e385880_href.png
Symbian3/PDK/Source/GUID-C85EECD6-2CFD-5BA9-A60B-F7AF3A74E832.dita
Symbian3/PDK/Source/GUID-C86A7929-DC0F-50FA-93CB-662A22C4CD35.dita
Symbian3/PDK/Source/GUID-C8938826-52F7-5040-B59C-3C06DAEB6F03_d0e174360_href.jpg
Symbian3/PDK/Source/GUID-C8938826-52F7-5040-B59C-3C06DAEB6F03_d0e180428_href.jpg
Symbian3/PDK/Source/GUID-C8AD9E54-F93D-5E04-A958-95934D29180B_d0e245295_href.png
Symbian3/PDK/Source/GUID-C8AD9E54-F93D-5E04-A958-95934D29180B_d0e251306_href.png
Symbian3/PDK/Source/GUID-C8C804F9-860D-590D-B247-FBB1714604B7_d0e228570_href.png
Symbian3/PDK/Source/GUID-C8C804F9-860D-590D-B247-FBB1714604B7_d0e234569_href.png
Symbian3/PDK/Source/GUID-C8D04D54-D391-5505-9E80-596589410179_d0e548048_href.png
Symbian3/PDK/Source/GUID-C8D04D54-D391-5505-9E80-596589410179_d0e555504_href.png
Symbian3/PDK/Source/GUID-C8D5B104-3F34-513B-BA08-5F2FEE60265C_d0e8909_href.png
Symbian3/PDK/Source/GUID-C8D5B104-3F34-513B-BA08-5F2FEE60265C_d0e9031_href.png
Symbian3/PDK/Source/GUID-C9208CCB-1802-5819-AD42-3403807FC3AA_d0e275098_href.png
Symbian3/PDK/Source/GUID-C9208CCB-1802-5819-AD42-3403807FC3AA_d0e281098_href.png
Symbian3/PDK/Source/GUID-C93C2E54-06CE-5BE4-9618-7B62FA086D6B_d0e450854_href.png
Symbian3/PDK/Source/GUID-C93C2E54-06CE-5BE4-9618-7B62FA086D6B_d0e456699_href.png
Symbian3/PDK/Source/GUID-C9429505-EEE7-4E64-BE0A-BC5D57D5B42C_d0e64799_href.png
Symbian3/PDK/Source/GUID-C9429505-EEE7-4E64-BE0A-BC5D57D5B42C_d0e69022_href.png
Symbian3/PDK/Source/GUID-C98DF912-A903-4FDB-B27A-CC8E75E3E40F.dita
Symbian3/PDK/Source/GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8.dita
Symbian3/PDK/Source/GUID-C9BEF1C4-F14A-5386-9DA8-29358694D7AA.dita
Symbian3/PDK/Source/GUID-CA1CE18E-DB40-5608-BE09-3767FB094AB2_d0e684979_href.png
Symbian3/PDK/Source/GUID-CA1CE18E-DB40-5608-BE09-3767FB094AB2_d0e697806_href.png
Symbian3/PDK/Source/GUID-CA2AACD9-A99D-4C34-80AF-C1B61AC9331F.dita
Symbian3/PDK/Source/GUID-CA7B2B53-B0DD-4830-90CF-15FD101C66F1_d0e67869_href.png
Symbian3/PDK/Source/GUID-CA7B2B53-B0DD-4830-90CF-15FD101C66F1_d0e72082_href.png
Symbian3/PDK/Source/GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e4941_href.png
Symbian3/PDK/Source/GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e4950_href.png
Symbian3/PDK/Source/GUID-CAB30473-7829-5F2E-9F45-A2344DEDFC35_d0e352049_href.jpg
Symbian3/PDK/Source/GUID-CAB30473-7829-5F2E-9F45-A2344DEDFC35_d0e357977_href.jpg
Symbian3/PDK/Source/GUID-CAC07A47-1475-5152-83AA-E59FD3AFF321.dita
Symbian3/PDK/Source/GUID-CADAFAF2-24E9-5007-9C2F-5453E8062074.dita
Symbian3/PDK/Source/GUID-CB163645-CB5E-4DB5-9830-B97D12FDCBF5.dita
Symbian3/PDK/Source/GUID-CB3FC449-7994-5510-BD78-F1638CD48A9D.dita
Symbian3/PDK/Source/GUID-CB4E1B33-470F-581A-BC32-99752C2A0DFE_d0e535589_href.jpg
Symbian3/PDK/Source/GUID-CB4E1B33-470F-581A-BC32-99752C2A0DFE_d0e543049_href.jpg
Symbian3/PDK/Source/GUID-CB548959-A1D6-4585-B8E3-B09E37E0CB43.dita
Symbian3/PDK/Source/GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita
Symbian3/PDK/Source/GUID-CB7A54D9-C6C8-562A-8A52-4B17B37242AD_d0e232744_href.png
Symbian3/PDK/Source/GUID-CB7A54D9-C6C8-562A-8A52-4B17B37242AD_d0e238739_href.png
Symbian3/PDK/Source/GUID-CB82C5D5-5714-5F31-A24F-E2259E6E9BD6_d0e430885_href.png
Symbian3/PDK/Source/GUID-CB82C5D5-5714-5F31-A24F-E2259E6E9BD6_d0e436730_href.png
Symbian3/PDK/Source/GUID-CBAF83A9-815E-5C48-BD4A-3B31A115E3FE_d0e160768_href.png
Symbian3/PDK/Source/GUID-CBAF83A9-815E-5C48-BD4A-3B31A115E3FE_d0e166869_href.png
Symbian3/PDK/Source/GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita
Symbian3/PDK/Source/GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3.dita
Symbian3/PDK/Source/GUID-CBD78250-3EF4-5DF0-B356-19996E15BBBD_d0e214193_href.png
Symbian3/PDK/Source/GUID-CBD78250-3EF4-5DF0-B356-19996E15BBBD_d0e220201_href.png
Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1734_href.png
Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1739_href.png
Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1852_href.png
Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1860_href.png
Symbian3/PDK/Source/GUID-CBF1D046-92D4-5936-9946-71BB8FC51AB2_d0e268193_href.png
Symbian3/PDK/Source/GUID-CBF1D046-92D4-5936-9946-71BB8FC51AB2_d0e274193_href.png
Symbian3/PDK/Source/GUID-CC3454B1-21DA-542E-8949-52C30755AC77.dita
Symbian3/PDK/Source/GUID-CC4CA423-0A14-457C-8CBE-4A9F0E8D0B96_d0e64172_href.png
Symbian3/PDK/Source/GUID-CC4CA423-0A14-457C-8CBE-4A9F0E8D0B96_d0e68395_href.png
Symbian3/PDK/Source/GUID-CC95D475-98B9-5279-94BD-1E12449AC0CC.dita
Symbian3/PDK/Source/GUID-CCC121FA-C180-5103-915D-583A0CE9FB45_d0e167645_href.png
Symbian3/PDK/Source/GUID-CCC121FA-C180-5103-915D-583A0CE9FB45_d0e173738_href.png
Symbian3/PDK/Source/GUID-CCC5BE18-E90D-4B81-AE6F-333B96E7A3F7.dita
Symbian3/PDK/Source/GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita
Symbian3/PDK/Source/GUID-CCE61F55-DDCC-566B-B4C6-E094E8E8B073_d0e524074_href.png
Symbian3/PDK/Source/GUID-CCE61F55-DDCC-566B-B4C6-E094E8E8B073_d0e531534_href.png
Symbian3/PDK/Source/GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita
Symbian3/PDK/Source/GUID-CCEE3988-C10A-538A-8107-E2636594443B_d0e533124_href.png
Symbian3/PDK/Source/GUID-CCEE3988-C10A-538A-8107-E2636594443B_d0e540584_href.png
Symbian3/PDK/Source/GUID-CD2BF0EE-5437-4ADA-A447-4B06147754A8.dita
Symbian3/PDK/Source/GUID-CD350815-1387-5C46-9D80-905022A90D8A_d0e605026_href.jpg
Symbian3/PDK/Source/GUID-CD350815-1387-5C46-9D80-905022A90D8A_d0e644188_href.jpg
Symbian3/PDK/Source/GUID-CD4B8ECA-AFE7-593C-B095-5D642EA2EC61.dita
Symbian3/PDK/Source/GUID-CD506806-FC59-547A-B5CD-03314DF847F7.dita
Symbian3/PDK/Source/GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e355751_href.png
Symbian3/PDK/Source/GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e361654_href.png
Symbian3/PDK/Source/GUID-CDDC6DBD-560B-4602-815C-FE3FCDA09AD5.dita
Symbian3/PDK/Source/GUID-CE1F63A6-BF8E-4287-BECE-0248420C86AB.dita
Symbian3/PDK/Source/GUID-CE3C8A77-8797-53FB-984E-A91A413BA254_d0e373271_href.png
Symbian3/PDK/Source/GUID-CE3C8A77-8797-53FB-984E-A91A413BA254_d0e379119_href.png
Symbian3/PDK/Source/GUID-CE49EF9C-C87A-5D4C-91F3-5C2950A5553B_d0e446291_href.png
Symbian3/PDK/Source/GUID-CE49EF9C-C87A-5D4C-91F3-5C2950A5553B_d0e452136_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e568722_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569155_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569234_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569407_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618018_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618451_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618530_href.png
Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618703_href.png
Symbian3/PDK/Source/GUID-CE7C84A5-D2E6-5151-BBC7-6AF9C8A0D978.dita
Symbian3/PDK/Source/GUID-CE7CF024-4898-551A-841B-38EC57A3EC82.dita
Symbian3/PDK/Source/GUID-CE7DA679-D441-4843-A81B-2A60440B50E8_d0e183493_href.png
Symbian3/PDK/Source/GUID-CE7DA679-D441-4843-A81B-2A60440B50E8_d0e189570_href.png
Symbian3/PDK/Source/GUID-CE94AD48-B79B-403A-98E9-F69494D052F9.dita
Symbian3/PDK/Source/GUID-CEDA0EFF-A1D4-53FE-9BF2-DB9AA857BCF5_d0e372717_href.png
Symbian3/PDK/Source/GUID-CEDA0EFF-A1D4-53FE-9BF2-DB9AA857BCF5_d0e378565_href.png
Symbian3/PDK/Source/GUID-CF17532E-5E90-5124-8F05-AA72B848F17F.dita
Symbian3/PDK/Source/GUID-CF252B09-335E-5831-94A6-0B16B64C5030_d0e378040_href.png
Symbian3/PDK/Source/GUID-CF252B09-335E-5831-94A6-0B16B64C5030_d0e383893_href.png
Symbian3/PDK/Source/GUID-CF34E1C9-48E5-5B91-A48E-C68E647116A0_d0e75526_href.png
Symbian3/PDK/Source/GUID-CF34E1C9-48E5-5B91-A48E-C68E647116A0_d0e79739_href.png
Symbian3/PDK/Source/GUID-CF8287B9-2063-5316-A1BF-7DFC58FCDE30.dita
Symbian3/PDK/Source/GUID-CF890168-0FCA-5BFD-AC86-E355B611A6B0.dita
Symbian3/PDK/Source/GUID-CF8FA653-5A3B-5D57-8875-0BC6BDCC1D0A.dita
Symbian3/PDK/Source/GUID-CF9EF400-DE1F-55F7-BD33-C4CD80462971_d0e268956_href.png
Symbian3/PDK/Source/GUID-CF9EF400-DE1F-55F7-BD33-C4CD80462971_d0e274956_href.png
Symbian3/PDK/Source/GUID-CFD3CD78-D99A-57B8-80EB-8C67899E5D27_d0e679639_href.png
Symbian3/PDK/Source/GUID-CFD3CD78-D99A-57B8-80EB-8C67899E5D27_d0e692466_href.png
Symbian3/PDK/Source/GUID-CFD41A5A-2FE2-47FE-8369-08E3C73CB9A5_d0e17025_href.png
Symbian3/PDK/Source/GUID-CFD41A5A-2FE2-47FE-8369-08E3C73CB9A5_d0e18136_href.png
Symbian3/PDK/Source/GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita
Symbian3/PDK/Source/GUID-D04DD8E6-804F-539E-8BD1-146210F4A51C_d0e242220_href.png
Symbian3/PDK/Source/GUID-D04DD8E6-804F-539E-8BD1-146210F4A51C_d0e248231_href.png
Symbian3/PDK/Source/GUID-D0BD34C9-7793-5FA0-8864-FD7444D62F90.dita
Symbian3/PDK/Source/GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita
Symbian3/PDK/Source/GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita
Symbian3/PDK/Source/GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita
Symbian3/PDK/Source/GUID-D0F3FBB0-CE9E-53C0-93B6-A8E3FCCC1530_d0e232162_href.png
Symbian3/PDK/Source/GUID-D0F3FBB0-CE9E-53C0-93B6-A8E3FCCC1530_d0e238157_href.png
Symbian3/PDK/Source/GUID-D0F6E95B-B35A-4EA1-8CC3-D86D1E0E6DD3.dita
Symbian3/PDK/Source/GUID-D0FEE812-AD80-40D8-B902-05EC16C44C42.dita
Symbian3/PDK/Source/GUID-D15068B5-D12E-5515-A772-EA3B304EE01E_d0e581556_href.png
Symbian3/PDK/Source/GUID-D15068B5-D12E-5515-A772-EA3B304EE01E_d0e630844_href.png
Symbian3/PDK/Source/GUID-D173BE00-1DE7-53D0-BBEF-CBF7CACB0193.dita
Symbian3/PDK/Source/GUID-D18E56F1-3DB9-472D-B587-30A168E8B8C4_d0e63774_href.png
Symbian3/PDK/Source/GUID-D18E56F1-3DB9-472D-B587-30A168E8B8C4_d0e67996_href.png
Symbian3/PDK/Source/GUID-D1E80B1B-FBFD-5FBC-981C-E2D04A02EF41_d0e263227_href.png
Symbian3/PDK/Source/GUID-D1E80B1B-FBFD-5FBC-981C-E2D04A02EF41_d0e269227_href.png
Symbian3/PDK/Source/GUID-D1F29744-EB92-5811-A735-B0BC1B352ED5.dita
Symbian3/PDK/Source/GUID-D1F4B2DC-5B18-4454-BFD7-8BB61D80E7CA.dita
Symbian3/PDK/Source/GUID-D205622E-FB0F-59C4-A039-B418B551CBFA_d0e11123_href.png
Symbian3/PDK/Source/GUID-D205622E-FB0F-59C4-A039-B418B551CBFA_d0e11239_href.png
Symbian3/PDK/Source/GUID-D20A513B-C612-5859-A551-28E1AA7FA332_d0e272425_href.png
Symbian3/PDK/Source/GUID-D20A513B-C612-5859-A551-28E1AA7FA332_d0e278425_href.png
Symbian3/PDK/Source/GUID-D222EAAA-ACF4-5837-8CDD-5EDB02EAE259_d0e659341_href.png
Symbian3/PDK/Source/GUID-D222EAAA-ACF4-5837-8CDD-5EDB02EAE259_d0e672168_href.png
Symbian3/PDK/Source/GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e105319_href.png
Symbian3/PDK/Source/GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e81253_href.png
Symbian3/PDK/Source/GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e85451_href.png
Symbian3/PDK/Source/GUID-D24D5F17-462E-5424-99A7-9B16E9FEDC93.dita
Symbian3/PDK/Source/GUID-D2605514-03F4-4A07-943B-E180341518D4.dita
Symbian3/PDK/Source/GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita
Symbian3/PDK/Source/GUID-D2AE7E31-CAE7-5F03-8754-24172580BBAF.dita
Symbian3/PDK/Source/GUID-D2CF64ED-0D85-5535-9A51-C127B10B07B2_d0e577643_href.png
Symbian3/PDK/Source/GUID-D2CF64ED-0D85-5535-9A51-C127B10B07B2_d0e626931_href.png
Symbian3/PDK/Source/GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-3-1.dita
Symbian3/PDK/Source/GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1.dita
Symbian3/PDK/Source/GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625.dita
Symbian3/PDK/Source/GUID-D2D41326-BA88-5A02-805B-5EAEC29ADB5D_d0e394094_href.png
Symbian3/PDK/Source/GUID-D2D41326-BA88-5A02-805B-5EAEC29ADB5D_d0e399947_href.png
Symbian3/PDK/Source/GUID-D2DCBC1F-91B8-5F81-AAE8-546AE3EB1E29_d0e538554_href.png
Symbian3/PDK/Source/GUID-D2DCBC1F-91B8-5F81-AAE8-546AE3EB1E29_d0e546014_href.png
Symbian3/PDK/Source/GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita
Symbian3/PDK/Source/GUID-D3129CC4-AD63-51CE-BFB4-979E26807FA7_d0e590794_href.png
Symbian3/PDK/Source/GUID-D3129CC4-AD63-51CE-BFB4-979E26807FA7_d0e618688_href.png
Symbian3/PDK/Source/GUID-D34DB4A1-1B17-5FAF-A48B-E06D247B0A83.dita
Symbian3/PDK/Source/GUID-D37576D8-1BD6-520B-9C69-60F2F89E4452.dita
Symbian3/PDK/Source/GUID-D37E0579-0F3B-5EE4-8264-1358E493672B.dita
Symbian3/PDK/Source/GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e593157_href.png
Symbian3/PDK/Source/GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e642450_href.png
Symbian3/PDK/Source/GUID-D3B78EAF-CAE8-519D-8E70-FD51C842DC17_d0e231683_href.png
Symbian3/PDK/Source/GUID-D3B78EAF-CAE8-519D-8E70-FD51C842DC17_d0e237678_href.png
Symbian3/PDK/Source/GUID-D3F52BB9-7230-499C-9BB7-CFAEDBA8F48B.dita
Symbian3/PDK/Source/GUID-D3F800F3-0818-5DF2-947C-AB8DE0C0053C_d0e167691_href.png
Symbian3/PDK/Source/GUID-D3F800F3-0818-5DF2-947C-AB8DE0C0053C_d0e173784_href.png
Symbian3/PDK/Source/GUID-D4001895-09B9-5A47-BEE7-648FAB55F85B.dita
Symbian3/PDK/Source/GUID-D429672C-448D-5E91-ABA0-81680869D69E.dita
Symbian3/PDK/Source/GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-9-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-D43AB2F5-32AE-540C-80D8-DE8B2072F1E6_d0e377801_href.png
Symbian3/PDK/Source/GUID-D43AB2F5-32AE-540C-80D8-DE8B2072F1E6_d0e383654_href.png
Symbian3/PDK/Source/GUID-D458A54E-0D19-479C-B628-001C704E1CB3.dita
Symbian3/PDK/Source/GUID-D45A4AE9-4169-4466-B02B-629B15C3E9AA.dita
Symbian3/PDK/Source/GUID-D48AD74E-FF0E-502F-961C-CAD0516B3BA9_d0e559314_href.png
Symbian3/PDK/Source/GUID-D48AD74E-FF0E-502F-961C-CAD0516B3BA9_d0e566770_href.png
Symbian3/PDK/Source/GUID-D492CF6C-F889-4299-AC75-951EF343AC9F_d0e3010_href.png
Symbian3/PDK/Source/GUID-D492CF6C-F889-4299-AC75-951EF343AC9F_d0e3020_href.png
Symbian3/PDK/Source/GUID-D4AA635F-DF24-541A-A452-192DDBEE4142.dita
Symbian3/PDK/Source/GUID-D520CBC3-FCAC-5A53-AE1A-E5254ABBC6A2.dita
Symbian3/PDK/Source/GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita
Symbian3/PDK/Source/GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita
Symbian3/PDK/Source/GUID-D5358527-5E6F-5158-8BCB-F9D74DB9B354.dita
Symbian3/PDK/Source/GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita
Symbian3/PDK/Source/GUID-D553D41C-D724-510A-A239-66CC158D6984.dita
Symbian3/PDK/Source/GUID-D5707217-DE3F-551D-82C9-C82D3047D90E_d0e462644_href.png
Symbian3/PDK/Source/GUID-D5707217-DE3F-551D-82C9-C82D3047D90E_d0e468489_href.png
Symbian3/PDK/Source/GUID-D5984540-A411-52ED-B435-94C67F34ADD5.dita
Symbian3/PDK/Source/GUID-D5A05EE7-5559-55CC-A839-478B4F513CE4_d0e265187_href.png
Symbian3/PDK/Source/GUID-D5A05EE7-5559-55CC-A839-478B4F513CE4_d0e271187_href.png
Symbian3/PDK/Source/GUID-D5A6A5C9-A959-5CE7-AF45-43DA7D8B2EFF.dita
Symbian3/PDK/Source/GUID-D5AB2689-44B7-5E81-888A-48C622AAE21B.dita
Symbian3/PDK/Source/GUID-D5DC22F5-8891-5377-BE54-61FD72046237_d0e607383_href.png
Symbian3/PDK/Source/GUID-D5DC22F5-8891-5377-BE54-61FD72046237_d0e646545_href.png
Symbian3/PDK/Source/GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita
Symbian3/PDK/Source/GUID-D62A0234-348C-5553-B8C0-7B483AF9D50C.dita
Symbian3/PDK/Source/GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita
Symbian3/PDK/Source/GUID-D66415A3-7AFA-50D7-9019-96E20240CF05_d0e427163_href.png
Symbian3/PDK/Source/GUID-D66415A3-7AFA-50D7-9019-96E20240CF05_d0e433008_href.png
Symbian3/PDK/Source/GUID-D6861A7A-1845-52AF-BB09-4B97E6B8AA13_d0e381106_href.png
Symbian3/PDK/Source/GUID-D6861A7A-1845-52AF-BB09-4B97E6B8AA13_d0e386959_href.png
Symbian3/PDK/Source/GUID-D69DD425-5F93-4238-A7E9-915F24A9C9CA.dita
Symbian3/PDK/Source/GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-11-1-1-5-1-9-1.dita
Symbian3/PDK/Source/GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1.dita
Symbian3/PDK/Source/GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9.dita
Symbian3/PDK/Source/GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita
Symbian3/PDK/Source/GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita
Symbian3/PDK/Source/GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita
Symbian3/PDK/Source/GUID-D6B332EB-D9D7-5598-98C7-E73164A2057D_d0e354088_href.jpg
Symbian3/PDK/Source/GUID-D6B332EB-D9D7-5598-98C7-E73164A2057D_d0e360009_href.jpg
Symbian3/PDK/Source/GUID-D6BB18FE-289D-546F-97DC-389B57B5B2E3.dita
Symbian3/PDK/Source/GUID-D6BE4647-25A8-5F88-9137-F4882AF22BCF.dita
Symbian3/PDK/Source/GUID-D6C2202C-778C-558A-97AA-649CD6DB5E87.dita
Symbian3/PDK/Source/GUID-D7179664-C442-5253-9925-994CA0C63B50_d0e577831_href.png
Symbian3/PDK/Source/GUID-D7179664-C442-5253-9925-994CA0C63B50_d0e627119_href.png
Symbian3/PDK/Source/GUID-D729593E-C131-5F67-BF0C-6C9AD847C9F9_d0e534745_href.png
Symbian3/PDK/Source/GUID-D729593E-C131-5F67-BF0C-6C9AD847C9F9_d0e542205_href.png
Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita
Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-5-1-4-1.dita
Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e86872_href.png
Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e87635_href.png
Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e91070_href.png
Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e91833_href.png
Symbian3/PDK/Source/GUID-D754C477-DB73-56F7-A135-13E1179CBB2D_d0e642901_href.png
Symbian3/PDK/Source/GUID-D754C477-DB73-56F7-A135-13E1179CBB2D_d0e655723_href.png
Symbian3/PDK/Source/GUID-D76B1999-E118-585B-A6B4-8AE8CCCB6F8B.dita
Symbian3/PDK/Source/GUID-D76C7759-739D-5C98-B718-7297687FE630.dita
Symbian3/PDK/Source/GUID-D7AFA78E-4B87-554E-B0A5-1AEEA98B537C_d0e39628_href.png
Symbian3/PDK/Source/GUID-D7AFA78E-4B87-554E-B0A5-1AEEA98B537C_d0e43862_href.png
Symbian3/PDK/Source/GUID-D7DF85A8-1F90-5EC8-9EA1-EB33382849B0.dita
Symbian3/PDK/Source/GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e109121_href.png
Symbian3/PDK/Source/GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e111554_href.png
Symbian3/PDK/Source/GUID-D7F000F0-019A-486E-BB0C-C0065D08C5F6_d0e2882_href.png
Symbian3/PDK/Source/GUID-D7F000F0-019A-486E-BB0C-C0065D08C5F6_d0e2892_href.png
Symbian3/PDK/Source/GUID-D81EAF75-EF8C-4B62-8866-439E29325E8A_d0e14240_href.png
Symbian3/PDK/Source/GUID-D81EAF75-EF8C-4B62-8866-439E29325E8A_d0e14339_href.png
Symbian3/PDK/Source/GUID-D82FBEF6-D5F1-409E-AD8C-1CA516F8D318.dita
Symbian3/PDK/Source/GUID-D8302B04-D850-5FA7-A1AD-F5C40CF6A1EF.dita
Symbian3/PDK/Source/GUID-D84847BB-523D-5057-8F14-F6BCEECA2327_d0e228851_href.jpg
Symbian3/PDK/Source/GUID-D84847BB-523D-5057-8F14-F6BCEECA2327_d0e234849_href.jpg
Symbian3/PDK/Source/GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita
Symbian3/PDK/Source/GUID-D8696B0F-01BC-5CBB-A061-6EC62186DD01-master.png
Symbian3/PDK/Source/GUID-D8696B0F-01BC-5CBB-A061-6EC62186DD01_d0e616300_href.png
Symbian3/PDK/Source/GUID-D8837969-74D0-5E17-AD42-3F10DD1FD5BF.dita
Symbian3/PDK/Source/GUID-D8911BE6-100D-588A-8E5C-A429A72AFCDA_d0e394067_href.png
Symbian3/PDK/Source/GUID-D8911BE6-100D-588A-8E5C-A429A72AFCDA_d0e399920_href.png
Symbian3/PDK/Source/GUID-D8A3C18B-A107-5557-B882-CD6CDD0F0F1D_d0e303284_href.png
Symbian3/PDK/Source/GUID-D8A3C18B-A107-5557-B882-CD6CDD0F0F1D_d0e309276_href.png
Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e101350_href.png
Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e79751_href.png
Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e83949_href.png
Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e86419_href.png
Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e90617_href.png
Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e97271_href.png
Symbian3/PDK/Source/GUID-D9040B2E-C4C6-576C-A3B2-9F68E8FCE4A6.dita
Symbian3/PDK/Source/GUID-D9203CF1-E8A7-5886-BD19-BE616BEF9111_d0e275161_href.png
Symbian3/PDK/Source/GUID-D9203CF1-E8A7-5886-BD19-BE616BEF9111_d0e281161_href.png
Symbian3/PDK/Source/GUID-D9393C13-FD50-550C-B6EE-18DAAFF1F3EF_d0e232296_href.png
Symbian3/PDK/Source/GUID-D9393C13-FD50-550C-B6EE-18DAAFF1F3EF_d0e238291_href.png
Symbian3/PDK/Source/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita
Symbian3/PDK/Source/GUID-D96DECA4-99B4-5F08-8FDF-C14771EEFACD_d0e229850_href.png
Symbian3/PDK/Source/GUID-D96DECA4-99B4-5F08-8FDF-C14771EEFACD_d0e235845_href.png
Symbian3/PDK/Source/GUID-D96EE819-DEA9-5B1A-AA94-4AC065C73697.dita
Symbian3/PDK/Source/GUID-D987BEC9-B976-5A65-B6B3-D44BC8A96430.dita
Symbian3/PDK/Source/GUID-D98DA21C-B0F4-5267-AF00-94B789AE302A_d0e446285_href.png
Symbian3/PDK/Source/GUID-D98DA21C-B0F4-5267-AF00-94B789AE302A_d0e452130_href.png
Symbian3/PDK/Source/GUID-D99BA39B-BC58-51AC-B148-0945736FFC03_d0e594638_href.jpg
Symbian3/PDK/Source/GUID-D99BA39B-BC58-51AC-B148-0945736FFC03_d0e622532_href.jpg
Symbian3/PDK/Source/GUID-D99BA4CA-9823-4968-953D-36AA7F266B39_d0e13674_href.png
Symbian3/PDK/Source/GUID-D99BA4CA-9823-4968-953D-36AA7F266B39_d0e13773_href.png
Symbian3/PDK/Source/GUID-D9BE2E51-D80C-537C-BE94-2A3699BE1DC6_d0e230215_href.png
Symbian3/PDK/Source/GUID-D9BE2E51-D80C-537C-BE94-2A3699BE1DC6_d0e236210_href.png
Symbian3/PDK/Source/GUID-D9C4D520-821D-5097-A63C-0BF4C7F59827_d0e436152_href.png
Symbian3/PDK/Source/GUID-D9C4D520-821D-5097-A63C-0BF4C7F59827_d0e441997_href.png
Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e101439_href.png
Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e79873_href.png
Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e84071_href.png
Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e97360_href.png
Symbian3/PDK/Source/GUID-DA070DA3-CE2E-5B4E-834F-32BED736E01D_d0e109777_href.png
Symbian3/PDK/Source/GUID-DA070DA3-CE2E-5B4E-834F-32BED736E01D_d0e112200_href.png
Symbian3/PDK/Source/GUID-DA2C605B-6CCF-4039-BD02-DD4BDA003C97_d0e69055_href.png
Symbian3/PDK/Source/GUID-DA2C605B-6CCF-4039-BD02-DD4BDA003C97_d0e73268_href.png
Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita
Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita
Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita
Symbian3/PDK/Source/GUID-DA7751A1-4EC5-5FBA-A42B-E254133A1D82_d0e303330_href.png
Symbian3/PDK/Source/GUID-DA7751A1-4EC5-5FBA-A42B-E254133A1D82_d0e309322_href.png
Symbian3/PDK/Source/GUID-DA793067-32DD-5D4D-A0E6-E05DF9047529.dita
Symbian3/PDK/Source/GUID-DA8908E9-28C7-5200-A5B2-EC1ED60ABE90.dita
Symbian3/PDK/Source/GUID-DA962F06-7618-5E02-9E05-65AFFA69045E_d0e232343_href.png
Symbian3/PDK/Source/GUID-DA962F06-7618-5E02-9E05-65AFFA69045E_d0e238338_href.png
Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e86835_href.png
Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e87237_href.png
Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e91033_href.png
Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e91435_href.png
Symbian3/PDK/Source/GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita
Symbian3/PDK/Source/GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita
Symbian3/PDK/Source/GUID-DAD40CCE-EA59-4DCA-8922-824B18F0387A.dita
Symbian3/PDK/Source/GUID-DAF12BDB-5453-5DDD-ACBA-4C29AE448D87_d0e214730_href.jpg
Symbian3/PDK/Source/GUID-DAF12BDB-5453-5DDD-ACBA-4C29AE448D87_d0e220750_href.jpg
Symbian3/PDK/Source/GUID-DAF35D49-9630-4186-A350-E8483693D50D.dita
Symbian3/PDK/Source/GUID-DAF86036-CC40-5F26-9F15-2F2093F59C03.dita
Symbian3/PDK/Source/GUID-DB0EDBC2-8204-59F3-9029-EBBCE04A9E3C_d0e380066_href.png
Symbian3/PDK/Source/GUID-DB0EDBC2-8204-59F3-9029-EBBCE04A9E3C_d0e385919_href.png
Symbian3/PDK/Source/GUID-DB571D42-03F4-50F9-974D-B905707FC5F4_d0e110175_href.png
Symbian3/PDK/Source/GUID-DB571D42-03F4-50F9-974D-B905707FC5F4_d0e112598_href.png
Symbian3/PDK/Source/GUID-DB6EC285-F5DB-5A7A-AFF3-E423AD4B9F81-master.png
Symbian3/PDK/Source/GUID-DB6EC285-F5DB-5A7A-AFF3-E423AD4B9F81_d0e715964_href.png
Symbian3/PDK/Source/GUID-DB82D140-AB1B-5AA9-89CB-A5F68F328C85.dita
Symbian3/PDK/Source/GUID-DB9F413A-35E2-577E-91C3-1D519835FAB4_d0e109903_href.png
Symbian3/PDK/Source/GUID-DB9F413A-35E2-577E-91C3-1D519835FAB4_d0e112326_href.png
Symbian3/PDK/Source/GUID-DBEAD516-5DD4-5E33-B6DA-657C1AE60C4B.dita
Symbian3/PDK/Source/GUID-DBF6760F-D209-4B8F-89D5-A7EFFF7959E2.dita
Symbian3/PDK/Source/GUID-DC37C3A9-B03F-5699-9E05-8ADD62C2FF04_d0e8927_href.png
Symbian3/PDK/Source/GUID-DC37C3A9-B03F-5699-9E05-8ADD62C2FF04_d0e9049_href.png
Symbian3/PDK/Source/GUID-DC3A8785-3ED3-5696-A5ED-AB66588A5C14.dita
Symbian3/PDK/Source/GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e156006_href.jpg
Symbian3/PDK/Source/GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e162107_href.jpg
Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e101131_href.png
Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e79523_href.png
Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e83721_href.png
Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e84330_href.png
Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e88528_href.png
Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e97052_href.png
Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e589185_href.png
Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e589493_href.png
Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e617079_href.png
Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e617387_href.png
Symbian3/PDK/Source/GUID-DC8BFEF5-DA50-52DA-8CE2-5729A4A005F6.dita
Symbian3/PDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita
Symbian3/PDK/Source/GUID-DCBBDFA7-1E6C-5B00-A13E-A25794668E12_d0e375632_href.png
Symbian3/PDK/Source/GUID-DCBBDFA7-1E6C-5B00-A13E-A25794668E12_d0e381476_href.png
Symbian3/PDK/Source/GUID-DCCA3BD3-582A-5C71-A104-D922FFE3C680_d0e489690_href.png
Symbian3/PDK/Source/GUID-DCCA3BD3-582A-5C71-A104-D922FFE3C680_d0e495511_href.png
Symbian3/PDK/Source/GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e1761_href.png
Symbian3/PDK/Source/GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e1767_href.png
Symbian3/PDK/Source/GUID-DD04585F-3D60-5CB2-8975-AE602B75740B_d0e643170_href.png
Symbian3/PDK/Source/GUID-DD04585F-3D60-5CB2-8975-AE602B75740B_d0e655992_href.png
Symbian3/PDK/Source/GUID-DD0DA06D-4180-54F1-8807-A7BF31D6A1F1_d0e297526_href.png
Symbian3/PDK/Source/GUID-DD0DA06D-4180-54F1-8807-A7BF31D6A1F1_d0e303518_href.png
Symbian3/PDK/Source/GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574-master.png
Symbian3/PDK/Source/GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e523799_href.png
Symbian3/PDK/Source/GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e531259_href.png
Symbian3/PDK/Source/GUID-DD22D66C-C303-5432-9C24-71F26190FCA0_d0e227747_href.png
Symbian3/PDK/Source/GUID-DD22D66C-C303-5432-9C24-71F26190FCA0_d0e233746_href.png
Symbian3/PDK/Source/GUID-DD263BCA-B660-49A5-BB65-8C45035002BD-master.png
Symbian3/PDK/Source/GUID-DD263BCA-B660-49A5-BB65-8C45035002BD_d0e104877_href.png
Symbian3/PDK/Source/GUID-DD3783B2-B8ED-4CD4-AAF6-75EC8B53B8EF.dita
Symbian3/PDK/Source/GUID-DD39680E-C0CB-4D97-A921-25FACC30FBE3_d0e514595_href.jpg
Symbian3/PDK/Source/GUID-DD39680E-C0CB-4D97-A921-25FACC30FBE3_d0e522049_href.jpg
Symbian3/PDK/Source/GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e77047_href.png
Symbian3/PDK/Source/GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e81260_href.png
Symbian3/PDK/Source/GUID-DD764F2C-365A-5A5C-9412-4AF2EDB16924_d0e584215_href.png
Symbian3/PDK/Source/GUID-DD764F2C-365A-5A5C-9412-4AF2EDB16924_d0e633503_href.png
Symbian3/PDK/Source/GUID-DD77AA04-D0AB-4BEB-900F-B3BE50AC0B7F.dita
Symbian3/PDK/Source/GUID-DD7D33BD-0DDB-584C-9362-AEECFA1EA9A7.dita
Symbian3/PDK/Source/GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-26-1-1-10-1-6-1-4-1-4-1-7-1.dita
Symbian3/PDK/Source/GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-27-1-1-10-1-6-1-4-1-4-1-7-1.dita
Symbian3/PDK/Source/GUID-DD95C4FA-B044-5A0E-A556-C7171AEFED8E.dita
Symbian3/PDK/Source/GUID-DDA0ECF7-BC92-4AFB-998F-5FDD300655FB.dita
Symbian3/PDK/Source/GUID-DDD07E37-E5BE-5187-9C62-A3F4F9343C2A_d0e551725_href.png
Symbian3/PDK/Source/GUID-DDD07E37-E5BE-5187-9C62-A3F4F9343C2A_d0e559181_href.png
Symbian3/PDK/Source/GUID-DDE06BD5-2515-59FD-B91F-4C78A768533D.dita
Symbian3/PDK/Source/GUID-DDEDB7CB-E0B2-5F7F-A9D9-79EFCBBFB022_d0e231418_href.png
Symbian3/PDK/Source/GUID-DDEDB7CB-E0B2-5F7F-A9D9-79EFCBBFB022_d0e237413_href.png
Symbian3/PDK/Source/GUID-DE0E5230-A422-5859-A8DF-5E51AAA9B23A_d0e263033_href.png
Symbian3/PDK/Source/GUID-DE0E5230-A422-5859-A8DF-5E51AAA9B23A_d0e269033_href.png
Symbian3/PDK/Source/GUID-DE417474-906D-5EB8-A80D-2CBF099EC81C_d0e535431_href.jpg
Symbian3/PDK/Source/GUID-DE417474-906D-5EB8-A80D-2CBF099EC81C_d0e542891_href.jpg
Symbian3/PDK/Source/GUID-DE5FC074-75C1-5833-83B2-D25396F52732_d0e581278_href.png
Symbian3/PDK/Source/GUID-DE5FC074-75C1-5833-83B2-D25396F52732_d0e630566_href.png
Symbian3/PDK/Source/GUID-DE76FE7C-962D-5344-815F-E44145E2A684.dita
Symbian3/PDK/Source/GUID-DE7BD5C8-9966-5D5E-B81F-D57EA9FBA451_d0e380007_href.png
Symbian3/PDK/Source/GUID-DE7BD5C8-9966-5D5E-B81F-D57EA9FBA451_d0e385860_href.png
Symbian3/PDK/Source/GUID-DEB6E162-B2AA-5DF6-B750-E833C7DE4902.dita
Symbian3/PDK/Source/GUID-DEF3B8B3-5BD7-505B-93F9-A20CE00FFAE6.dita
Symbian3/PDK/Source/GUID-DF14773D-6A2E-5FAD-A1CC-5D54E53BEA2E_d0e590591_href.png
Symbian3/PDK/Source/GUID-DF14773D-6A2E-5FAD-A1CC-5D54E53BEA2E_d0e618485_href.png
Symbian3/PDK/Source/GUID-DF1B3C55-2CFC-49C8-88A2-D10925ECAC3E.dita
Symbian3/PDK/Source/GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e393517_href.png
Symbian3/PDK/Source/GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e399370_href.png
Symbian3/PDK/Source/GUID-DF3ECD47-4A5B-5836-B5CA-ACCEE98412D4_d0e74379_href.png
Symbian3/PDK/Source/GUID-DF3ECD47-4A5B-5836-B5CA-ACCEE98412D4_d0e78592_href.png
Symbian3/PDK/Source/GUID-DF3F2FD0-FF68-4CEF-843F-CBC9E84F3A7F.dita
Symbian3/PDK/Source/GUID-DF756D6C-1E03-4EC0-B074-09611D122359.dita
Symbian3/PDK/Source/GUID-DF7959E7-15A4-5504-8D22-B8189DB2688E.dita
Symbian3/PDK/Source/GUID-DF83E798-408C-5E69-9520-A733DAEAB788_d0e109400_href.png
Symbian3/PDK/Source/GUID-DF83E798-408C-5E69-9520-A733DAEAB788_d0e111823_href.png
Symbian3/PDK/Source/GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e382400_href.png
Symbian3/PDK/Source/GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e388253_href.png
Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e101297_href.png
Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e79693_href.png
Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e83891_href.png
Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e86395_href.png
Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e90593_href.png
Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e97218_href.png
Symbian3/PDK/Source/GUID-E0284006-9173-5BC5-A899-E0873CA1AE1F.dita
Symbian3/PDK/Source/GUID-E04B4397-2926-4F4D-A7FE-F79F3BF37BF8-master.png
Symbian3/PDK/Source/GUID-E04B4397-2926-4F4D-A7FE-F79F3BF37BF8_d0e95674_href.png
Symbian3/PDK/Source/GUID-E08D9F14-F50A-56C7-9D95-9306E540A02C_d0e167315_href.png
Symbian3/PDK/Source/GUID-E08D9F14-F50A-56C7-9D95-9306E540A02C_d0e173408_href.png
Symbian3/PDK/Source/GUID-E08F6BA9-F1A9-50D5-8CBE-8304BBA24D1F.dita
Symbian3/PDK/Source/GUID-E09CA978-2599-50F9-AF6D-077AD7D5CA6F_d0e511350_href.jpg
Symbian3/PDK/Source/GUID-E09CA978-2599-50F9-AF6D-077AD7D5CA6F_d0e518812_href.jpg
Symbian3/PDK/Source/GUID-E09F74E2-B5A2-51F8-BD9E-882BE2661D5C.dita
Symbian3/PDK/Source/GUID-E0A02CCA-486B-592E-9B3B-BA4A378EC5AD.dita
Symbian3/PDK/Source/GUID-E0C21636-657A-413F-A905-A08608B60768.dita
Symbian3/PDK/Source/GUID-E0D4EFAC-85E6-4EF6-B65C-1D1602E3A8FD.dita
Symbian3/PDK/Source/GUID-E1410365-7254-5326-B3F7-D7100D31E59F.dita
Symbian3/PDK/Source/GUID-E161AB84-1B24-53AF-B313-D68CF9F8EE60.dita
Symbian3/PDK/Source/GUID-E16E286C-FB6A-5D3E-95D6-044C39DBA2B4.dita
Symbian3/PDK/Source/GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita
Symbian3/PDK/Source/GUID-E18592CD-223D-5B50-AF40-1AC7267BAB8C.dita
Symbian3/PDK/Source/GUID-E189B0C0-AAB5-5472-996B-91043DE0B6D4.dita
Symbian3/PDK/Source/GUID-E1E25E68-7FE3-53A7-980E-CCF25090715F_d0e275300_href.png
Symbian3/PDK/Source/GUID-E1E25E68-7FE3-53A7-980E-CCF25090715F_d0e281300_href.png
Symbian3/PDK/Source/GUID-E1EBBB56-4835-5048-9383-A9DB948E9541.dita
Symbian3/PDK/Source/GUID-E238B1FE-BBD8-5C6D-AE04-258188EFF9FF.dita
Symbian3/PDK/Source/GUID-E244744F-4837-5B46-8E37-4666A28BF0B7.dita
Symbian3/PDK/Source/GUID-E2455472-49FA-5492-B7CB-2C33BD830591_d0e210721_href.jpg
Symbian3/PDK/Source/GUID-E2455472-49FA-5492-B7CB-2C33BD830591_d0e216722_href.jpg
Symbian3/PDK/Source/GUID-E24F15B4-D767-5B79-B0EB-88294B9BC16A_d0e260881_href.png
Symbian3/PDK/Source/GUID-E24F15B4-D767-5B79-B0EB-88294B9BC16A_d0e266890_href.png
Symbian3/PDK/Source/GUID-E2641957-8163-5EF4-B282-FC3FD9CA75A6.dita
Symbian3/PDK/Source/GUID-E2AB4BDF-8AFD-5776-A614-50DC3ACF3AD4_d0e175292_href.png
Symbian3/PDK/Source/GUID-E2AB4BDF-8AFD-5776-A614-50DC3ACF3AD4_d0e181361_href.png
Symbian3/PDK/Source/GUID-E2CB0826-FC44-5AC9-BBB1-B449073484F3.dita
Symbian3/PDK/Source/GUID-E2E2FACF-5D4F-43E8-8B53-B268252CF572.dita
Symbian3/PDK/Source/GUID-E2F6A71A-4A18-5E0B-AE77-C059C59448E4_d0e577709_href.png
Symbian3/PDK/Source/GUID-E2F6A71A-4A18-5E0B-AE77-C059C59448E4_d0e595154_href.png
Symbian3/PDK/Source/GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita
Symbian3/PDK/Source/GUID-E35C440C-4191-510A-AD33-2CF56E41EDD2_d0e442890_href.png
Symbian3/PDK/Source/GUID-E35C440C-4191-510A-AD33-2CF56E41EDD2_d0e448735_href.png
Symbian3/PDK/Source/GUID-E36B0B87-7948-5288-9F4D-9A1F1EBDF972_d0e367379_href.png
Symbian3/PDK/Source/GUID-E36B0B87-7948-5288-9F4D-9A1F1EBDF972_d0e373227_href.png
Symbian3/PDK/Source/GUID-E3F116C0-F133-5008-BD7A-421D66FB6588_d0e442635_href.png
Symbian3/PDK/Source/GUID-E3F116C0-F133-5008-BD7A-421D66FB6588_d0e448480_href.png
Symbian3/PDK/Source/GUID-E3F9B236-39DF-5BC0-BE13-E10CEEF2BB45_d0e455956_href.png
Symbian3/PDK/Source/GUID-E3F9B236-39DF-5BC0-BE13-E10CEEF2BB45_d0e461801_href.png
Symbian3/PDK/Source/GUID-E401D2B1-5360-57E3-99D6-3D08730E6C09_d0e263871_href.png
Symbian3/PDK/Source/GUID-E401D2B1-5360-57E3-99D6-3D08730E6C09_d0e269871_href.png
Symbian3/PDK/Source/GUID-E402616A-7ED8-45AC-B836-99C3A3760B33.dita
Symbian3/PDK/Source/GUID-E449F309-F230-46F9-B777-EF64D0E3191D.dita
Symbian3/PDK/Source/GUID-E4543D60-A9D0-5121-9540-993BB15D3275_d0e546767_href.png
Symbian3/PDK/Source/GUID-E4543D60-A9D0-5121-9540-993BB15D3275_d0e554223_href.png
Symbian3/PDK/Source/GUID-E455ABFF-3EFF-5396-A52A-A33CDB2EB41A.dita
Symbian3/PDK/Source/GUID-E489F575-DD07-4949-AB98-8F6A11BF708A_d0e94610_href.png
Symbian3/PDK/Source/GUID-E489F575-DD07-4949-AB98-8F6A11BF708A_d0e98808_href.png
Symbian3/PDK/Source/GUID-E48B708E-8B0B-5CF7-80D5-B55966387021.dita
Symbian3/PDK/Source/GUID-E4A23972-CC2F-5773-B1A4-6123333D1F5E.dita
Symbian3/PDK/Source/GUID-E4B5C7CE-7820-5D80-8CD1-DCD692C11F23_d0e169016_href.png
Symbian3/PDK/Source/GUID-E4B5C7CE-7820-5D80-8CD1-DCD692C11F23_d0e175104_href.png
Symbian3/PDK/Source/GUID-E4BF80BE-17E9-5622-9E10-43C96EAC9754.dita
Symbian3/PDK/Source/GUID-E51546A8-D000-540C-A757-56B323EA9DA7_d0e260545_href.png
Symbian3/PDK/Source/GUID-E51546A8-D000-540C-A757-56B323EA9DA7_d0e266554_href.png
Symbian3/PDK/Source/GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita
Symbian3/PDK/Source/GUID-E52D52C8-AC58-5550-8932-59B314A47313_d0e535365_href.jpg
Symbian3/PDK/Source/GUID-E52D52C8-AC58-5550-8932-59B314A47313_d0e542825_href.jpg
Symbian3/PDK/Source/GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e1562_href.png
Symbian3/PDK/Source/GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e1566_href.png
Symbian3/PDK/Source/GUID-E55B3ACD-4651-5FBD-AC9F-511E5CBCC0C9_d0e46311_href.png
Symbian3/PDK/Source/GUID-E55B3ACD-4651-5FBD-AC9F-511E5CBCC0C9_d0e50545_href.png
Symbian3/PDK/Source/GUID-E55B594F-CC84-5984-9307-9819F6EBEB7F_d0e389916_href.png
Symbian3/PDK/Source/GUID-E55B594F-CC84-5984-9307-9819F6EBEB7F_d0e395769_href.png
Symbian3/PDK/Source/GUID-E56D30B2-9EF7-555C-8119-9F5E0F959AB4_d0e263000_href.png
Symbian3/PDK/Source/GUID-E56D30B2-9EF7-555C-8119-9F5E0F959AB4_d0e269000_href.png
Symbian3/PDK/Source/GUID-E56E21A9-B545-5217-A877-E64D30275157.dita
Symbian3/PDK/Source/GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita
Symbian3/PDK/Source/GUID-E58FA02A-D721-42FC-941F-1D8E5BCD96BC_d0e99876_href.png
Symbian3/PDK/Source/GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e1801_href.png
Symbian3/PDK/Source/GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e1807_href.png
Symbian3/PDK/Source/GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e531328_href.png
Symbian3/PDK/Source/GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e538788_href.png
Symbian3/PDK/Source/GUID-E5FB2D04-D57E-4EEA-850F-40F813C75D8C_d0e2538_href.png
Symbian3/PDK/Source/GUID-E5FB2D04-D57E-4EEA-850F-40F813C75D8C_d0e2548_href.png
Symbian3/PDK/Source/GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e102650_href.png
Symbian3/PDK/Source/GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e106670_href.png
Symbian3/PDK/Source/GUID-E61A931D-6E66-5E17-AE61-ABFB74CB8EF2.dita
Symbian3/PDK/Source/GUID-E63899B3-8EA8-5EF7-982E-EC161B3A4794_d0e107649_href.png
Symbian3/PDK/Source/GUID-E63899B3-8EA8-5EF7-982E-EC161B3A4794_d0e110092_href.png
Symbian3/PDK/Source/GUID-E63AAE78-335F-5BD3-BECA-1709C3C7FB3F.dita
Symbian3/PDK/Source/GUID-E63D0A01-EF87-566F-9BFA-9E75AD6F3205.dita
Symbian3/PDK/Source/GUID-E64A8D76-28AD-4F75-9E92-3290488F85D9_d0e95509_href.png
Symbian3/PDK/Source/GUID-E64A8D76-28AD-4F75-9E92-3290488F85D9_d0e99705_href.png
Symbian3/PDK/Source/GUID-E651C7A7-D6EB-533E-A97A-360D089DE7A5.dita
Symbian3/PDK/Source/GUID-E65D89C5-0472-573A-BD1C-B298848CD4CF.dita
Symbian3/PDK/Source/GUID-E6803961-14A0-44BD-A94E-5D8A38EA907F.dita
Symbian3/PDK/Source/GUID-E6B77879-DA27-5D8C-B72D-A165F80CFF3B.dita
Symbian3/PDK/Source/GUID-E6BC747F-12E6-5866-99E2-D13E5AAE1F12_d0e450925_href.png
Symbian3/PDK/Source/GUID-E6BC747F-12E6-5866-99E2-D13E5AAE1F12_d0e456770_href.png
Symbian3/PDK/Source/GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9.dita
Symbian3/PDK/Source/GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita
Symbian3/PDK/Source/GUID-E6F08B67-8DBC-5896-946D-BD0D27F82FE2.dita
Symbian3/PDK/Source/GUID-E71D8907-236E-5948-9594-E14E34A31DC8.dita
Symbian3/PDK/Source/GUID-E71DEB5F-A13A-5675-B2DE-9BCFDB38A3EC.dita
Symbian3/PDK/Source/GUID-E726406A-2DAF-5A5F-91AF-7919C671F18F_d0e549108_href.png
Symbian3/PDK/Source/GUID-E726406A-2DAF-5A5F-91AF-7919C671F18F_d0e556564_href.png
Symbian3/PDK/Source/GUID-E73A181C-0C9B-513C-ABAE-585C80D566DF.dita
Symbian3/PDK/Source/GUID-E77E2E2A-2F2D-549E-ABD6-175E68A406CB_d0e552552_href.png
Symbian3/PDK/Source/GUID-E77E2E2A-2F2D-549E-ABD6-175E68A406CB_d0e560008_href.png
Symbian3/PDK/Source/GUID-E7C820D7-7E00-5A95-9847-29A0FB0E78F1.dita
Symbian3/PDK/Source/GUID-E7DD9CFD-F477-5D25-BC10-BEBFB1022F7E.dita
Symbian3/PDK/Source/GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita
Symbian3/PDK/Source/GUID-E808AB2B-3A2D-5C91-9047-A74AAA770CE6_d0e147949_href.png
Symbian3/PDK/Source/GUID-E808AB2B-3A2D-5C91-9047-A74AAA770CE6_d0e150190_href.png
Symbian3/PDK/Source/GUID-E80AA33B-E5E0-5F4B-9A7F-65B357F7161C.dita
Symbian3/PDK/Source/GUID-E81D70B1-FB3F-501D-AD3F-038C8BE997BF.dita
Symbian3/PDK/Source/GUID-E81D72B2-BA77-5F4E-8742-3812A60A4DAC.dita
Symbian3/PDK/Source/GUID-E8266924-FA52-5171-BD73-423A46227A74.dita
Symbian3/PDK/Source/GUID-E86347E8-8D3C-5FCB-BD9F-EA0DF8F0D9FD_d0e434869_href.png
Symbian3/PDK/Source/GUID-E86347E8-8D3C-5FCB-BD9F-EA0DF8F0D9FD_d0e440714_href.png
Symbian3/PDK/Source/GUID-E87018CD-01B4-5886-87FC-CD25EE90587D.dita
Symbian3/PDK/Source/GUID-E88E64C6-5A80-59EE-8227-455EC033E6E9.dita
Symbian3/PDK/Source/GUID-E89F034F-C807-5FF9-B06B-F7CCD2441041.dita
Symbian3/PDK/Source/GUID-E8B0BDC7-714E-48EF-89F3-D8B7B34552ED.dita
Symbian3/PDK/Source/GUID-E8E32DC5-EABC-5125-8EDA-718CF434E01C_d0e467635_href.png
Symbian3/PDK/Source/GUID-E8E32DC5-EABC-5125-8EDA-718CF434E01C_d0e473480_href.png
Symbian3/PDK/Source/GUID-E8EF06D7-FB4E-598D-9D9D-4395AB6F51C8.dita
Symbian3/PDK/Source/GUID-E9191C31-4D09-4C95-85E4-4282ADEE1D82.dita
Symbian3/PDK/Source/GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e141418_href.png
Symbian3/PDK/Source/GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e143667_href.png
Symbian3/PDK/Source/GUID-E932B20C-5155-530F-9669-6F5BB1F1AD41.dita
Symbian3/PDK/Source/GUID-E93EE459-8CF4-42A1-B06C-E78E56FD25A0.dita
Symbian3/PDK/Source/GUID-E96D8052-0CB2-53A6-915F-133D3058DCF9.dita
Symbian3/PDK/Source/GUID-E9AF73E8-DF31-5C5E-889E-96CCD4C4A46B.dita
Symbian3/PDK/Source/GUID-E9C620EF-4C77-56C3-8023-A6F13989246A_d0e665517_href.png
Symbian3/PDK/Source/GUID-E9C620EF-4C77-56C3-8023-A6F13989246A_d0e678344_href.png
Symbian3/PDK/Source/GUID-E9C6DBBF-1910-595D-94A1-67664CF7B7A6.dita
Symbian3/PDK/Source/GUID-E9E21C82-13F6-50D4-A271-F9E5F1BD982F.dita
Symbian3/PDK/Source/GUID-E9F08BCA-39F6-55D3-8974-BD0FFB90DE11_d0e485521_href.png
Symbian3/PDK/Source/GUID-E9F08BCA-39F6-55D3-8974-BD0FFB90DE11_d0e491350_href.png
Symbian3/PDK/Source/GUID-E9F203A6-D9E3-41B7-9FC4-24EDE20C4753.dita
Symbian3/PDK/Source/GUID-EA0C5715-7CE8-5415-A915-D5701E3C957A_d0e377898_href.png
Symbian3/PDK/Source/GUID-EA0C5715-7CE8-5415-A915-D5701E3C957A_d0e383751_href.png
Symbian3/PDK/Source/GUID-EA107811-240C-5F95-922B-7C042FA00A87.dita
Symbian3/PDK/Source/GUID-EA20E614-C911-4EE9-92B5-C8F9B657D59E.dita
Symbian3/PDK/Source/GUID-EA2AAE86-0BD3-52C9-BD13-75E9F04DE77F_d0e330727_href.png
Symbian3/PDK/Source/GUID-EA2AAE86-0BD3-52C9-BD13-75E9F04DE77F_d0e336704_href.png
Symbian3/PDK/Source/GUID-EA3419BD-D757-5AC3-AE6F-DF21F794AE47.dita
Symbian3/PDK/Source/GUID-EA5E9A07-587C-5E64-A157-1077AD9E56ED_d0e604073_href.png
Symbian3/PDK/Source/GUID-EA5E9A07-587C-5E64-A157-1077AD9E56ED_d0e631967_href.png
Symbian3/PDK/Source/GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita
Symbian3/PDK/Source/GUID-EA8974A2-1E8F-4272-880A-183AD1A40371.dita
Symbian3/PDK/Source/GUID-EAA6A9FB-A470-550C-B7B4-FF68A733A2D5.dita
Symbian3/PDK/Source/GUID-EADC4EA6-4492-5A00-A29E-6F7747FCAAC9_d0e228016_href.png
Symbian3/PDK/Source/GUID-EADC4EA6-4492-5A00-A29E-6F7747FCAAC9_d0e234015_href.png
Symbian3/PDK/Source/GUID-EAFD71DD-0EB2-402A-9511-D0F3362BDCE3_d0e95787_href.png
Symbian3/PDK/Source/GUID-EAFD71DD-0EB2-402A-9511-D0F3362BDCE3_d0e99906_href.png
Symbian3/PDK/Source/GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita
Symbian3/PDK/Source/GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3.dita
Symbian3/PDK/Source/GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita
Symbian3/PDK/Source/GUID-EBD1242B-6BD9-5ABB-B471-24ABC78A918C.dita
Symbian3/PDK/Source/GUID-EBF025DB-1552-5E99-8C07-09932DB60552.dita
Symbian3/PDK/Source/GUID-EBF4F1F1-F76B-455B-B8EE-B7965CF0717E.dita
Symbian3/PDK/Source/GUID-EBFD653D-6E6A-5F6F-88D7-8CCE07B4002D.dita
Symbian3/PDK/Source/GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita
Symbian3/PDK/Source/GUID-EC6B9856-978A-5C5C-AC44-B6C93D631FD6_d0e450816_href.png
Symbian3/PDK/Source/GUID-EC6B9856-978A-5C5C-AC44-B6C93D631FD6_d0e456661_href.png
Symbian3/PDK/Source/GUID-EC6C21FB-16E1-57FA-B995-8B0F34B6588A_d0e489112_href.png
Symbian3/PDK/Source/GUID-EC6C21FB-16E1-57FA-B995-8B0F34B6588A_d0e494933_href.png
Symbian3/PDK/Source/GUID-EC7DE823-BFAC-47E5-B7CC-154B11FE5D77.dita
Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e101368_href.png
Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e79773_href.png
Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e83971_href.png
Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e86312_href.png
Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e90510_href.png
Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e97289_href.png
Symbian3/PDK/Source/GUID-EC824DA2-CA19-567C-8218-7C6E1C5ED461_d0e481267_href.png
Symbian3/PDK/Source/GUID-EC824DA2-CA19-567C-8218-7C6E1C5ED461_d0e487096_href.png
Symbian3/PDK/Source/GUID-EC98E7E0-872D-467D-BDC8-6471F6165705.dita
Symbian3/PDK/Source/GUID-ECACB935-AD19-5BE6-AC27-A63465244087_d0e219852_href.png
Symbian3/PDK/Source/GUID-ECACB935-AD19-5BE6-AC27-A63465244087_d0e225872_href.png
Symbian3/PDK/Source/GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita
Symbian3/PDK/Source/GUID-ED784025-4E65-4BE9-ADA8-A13427B6EA30.dita
Symbian3/PDK/Source/GUID-ED823C5E-A59B-476A-BF88-0FCBA5D35FED_d0e100410_href.png
Symbian3/PDK/Source/GUID-ED823C5E-A59B-476A-BF88-0FCBA5D35FED_d0e104495_href.png
Symbian3/PDK/Source/GUID-EDAF82B1-C388-5F57-890F-68010A6E5800_d0e450008_href.png
Symbian3/PDK/Source/GUID-EDAF82B1-C388-5F57-890F-68010A6E5800_d0e455853_href.png
Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e79198_href.png
Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e79578_href.png
Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e83396_href.png
Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e83776_href.png
Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e95358_href.png
Symbian3/PDK/Source/GUID-EDC16636-B24E-598B-9084-EAE782A4A213.dita
Symbian3/PDK/Source/GUID-EDC39EFF-B633-41DE-93A4-A52D2E7A4A64_d0e90175_href.jpg
Symbian3/PDK/Source/GUID-EDC39EFF-B633-41DE-93A4-A52D2E7A4A64_d0e94373_href.jpg
Symbian3/PDK/Source/GUID-EDC405DC-F222-59CD-836E-180F8E1D2D11_d0e237481_href.png
Symbian3/PDK/Source/GUID-EDC405DC-F222-59CD-836E-180F8E1D2D11_d0e243454_href.png
Symbian3/PDK/Source/GUID-EDCBBB5E-FAAD-50A5-9EE4-B4F399B77CE9.dita
Symbian3/PDK/Source/GUID-EDDEA6A0-D45D-5241-B594-94ADDD803646.dita
Symbian3/PDK/Source/GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita
Symbian3/PDK/Source/GUID-EE2F64B2-A2E3-524F-8E04-68BE9AA9EA36_d0e389647_href.png
Symbian3/PDK/Source/GUID-EE2F64B2-A2E3-524F-8E04-68BE9AA9EA36_d0e395500_href.png
Symbian3/PDK/Source/GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e549066_href.jpg
Symbian3/PDK/Source/GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e556522_href.jpg
Symbian3/PDK/Source/GUID-EE5937B6-9103-4711-B13B-06A62D56AF79_d0e102012_href.png
Symbian3/PDK/Source/GUID-EE5937B6-9103-4711-B13B-06A62D56AF79_d0e97934_href.png
Symbian3/PDK/Source/GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF.dita
Symbian3/PDK/Source/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651.dita
Symbian3/PDK/Source/GUID-EEF2F892-8900-475F-926B-A49D0D98C1C6.dita
Symbian3/PDK/Source/GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0.dita
Symbian3/PDK/Source/GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita
Symbian3/PDK/Source/GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e174623_href.png
Symbian3/PDK/Source/GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e180691_href.png
Symbian3/PDK/Source/GUID-EFAEDFA5-3807-56EB-8D47-3A6960C4056C.dita
Symbian3/PDK/Source/GUID-EFC72FB6-5FA0-537C-978D-50FC67A6F857_d0e449518_href.png
Symbian3/PDK/Source/GUID-EFC72FB6-5FA0-537C-978D-50FC67A6F857_d0e455363_href.png
Symbian3/PDK/Source/GUID-EFE378EA-C668-5CD5-A630-B8041027791A_d0e107198_href.png
Symbian3/PDK/Source/GUID-EFE378EA-C668-5CD5-A630-B8041027791A_d0e109641_href.png
Symbian3/PDK/Source/GUID-EFEACBE5-B9E1-5315-88CA-DA3B7C1BFCE0_d0e389963_href.png
Symbian3/PDK/Source/GUID-EFEACBE5-B9E1-5315-88CA-DA3B7C1BFCE0_d0e395816_href.png
Symbian3/PDK/Source/GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita
Symbian3/PDK/Source/GUID-EFF8D1A1-00D5-5F96-8285-414DC0044AB8.dita
Symbian3/PDK/Source/GUID-EFFEB18E-5BF5-5855-9D1F-E7C39CB569D0_d0e278346_href.png
Symbian3/PDK/Source/GUID-EFFEB18E-5BF5-5855-9D1F-E7C39CB569D0_d0e284346_href.png
Symbian3/PDK/Source/GUID-F0185CC2-C175-556E-A4BB-0D781487817A.dita
Symbian3/PDK/Source/GUID-F03A323A-2FCC-5247-909F-4AB2701B1C45.dita
Symbian3/PDK/Source/GUID-F041E4F2-AAA3-5C8C-B8C6-646974DEF76E_d0e49420_href.png
Symbian3/PDK/Source/GUID-F041E4F2-AAA3-5C8C-B8C6-646974DEF76E_d0e53654_href.png
Symbian3/PDK/Source/GUID-F057FFF8-EA6A-5719-BE6B-B37950A07A7B_d0e321628_href.png
Symbian3/PDK/Source/GUID-F057FFF8-EA6A-5719-BE6B-B37950A07A7B_d0e327614_href.png
Symbian3/PDK/Source/GUID-F0923110-D5D9-56D7-8CBC-82CAE062BC1A.dita
Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e101025_href.png
Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e79393_href.png
Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e83591_href.png
Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e96946_href.png
Symbian3/PDK/Source/GUID-F0BDE1EC-5042-5328-9290-22BB2189F6B4.dita
Symbian3/PDK/Source/GUID-F0C47F37-354B-51BD-B607-D4575C249DC8.dita
Symbian3/PDK/Source/GUID-F0DCFAB5-DE92-5336-B4E2-1ED40BE05DEC_d0e684686_href.png
Symbian3/PDK/Source/GUID-F0DCFAB5-DE92-5336-B4E2-1ED40BE05DEC_d0e697513_href.png
Symbian3/PDK/Source/GUID-F12437C5-BD96-5B43-AD76-614CFAB104D2_d0e296351_href.png
Symbian3/PDK/Source/GUID-F12437C5-BD96-5B43-AD76-614CFAB104D2_d0e302343_href.png
Symbian3/PDK/Source/GUID-F127644A-6072-52CA-9B17-E9DDEA784BE0_d0e379843_href.png
Symbian3/PDK/Source/GUID-F127644A-6072-52CA-9B17-E9DDEA784BE0_d0e385696_href.png
Symbian3/PDK/Source/GUID-F13D4492-4E0C-5D7A-A30D-9E79F092CF72.dita
Symbian3/PDK/Source/GUID-F149726A-CC79-42A1-8A25-E15AC14ABE9A.dita
Symbian3/PDK/Source/GUID-F14A2252-7D7B-5631-9796-3C9AC54014E7.dita
Symbian3/PDK/Source/GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita
Symbian3/PDK/Source/GUID-F15D2D1A-FA45-5665-9507-1EC7ECB301BF.dita
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e101332_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e79732_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e83930_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e86411_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e90609_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e92147_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e96345_href.png
Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e97253_href.png
Symbian3/PDK/Source/GUID-F18A6C91-136D-450E-90F0-7C2B9263777C_d0e3021_href.png
Symbian3/PDK/Source/GUID-F18A6C91-136D-450E-90F0-7C2B9263777C_d0e3031_href.png
Symbian3/PDK/Source/GUID-F18AA5AC-80C6-51B2-8D15-61C59D877520_d0e602735_href.jpg
Symbian3/PDK/Source/GUID-F18AA5AC-80C6-51B2-8D15-61C59D877520_d0e630629_href.jpg
Symbian3/PDK/Source/GUID-F1CC06C0-0D3A-4BBC-97E1-E52D2856D7A7.dita
Symbian3/PDK/Source/GUID-F1DD8800-389C-5A88-A5EB-138359EF7DC5.dita
Symbian3/PDK/Source/GUID-F1E8B6F9-AAEA-5A55-B838-36C74FC8B4BA_d0e373132_href.png
Symbian3/PDK/Source/GUID-F1E8B6F9-AAEA-5A55-B838-36C74FC8B4BA_d0e378980_href.png
Symbian3/PDK/Source/GUID-F1EFB7C3-BC06-4822-BA37-06B02BECE80A_d0e102540_href.png
Symbian3/PDK/Source/GUID-F1EFB7C3-BC06-4822-BA37-06B02BECE80A_d0e106560_href.png
Symbian3/PDK/Source/GUID-F21A1ABE-4844-54E2-83E0-4AD25E867A72.dita
Symbian3/PDK/Source/GUID-F220E2B7-DE9B-5230-A396-15853369C176_d0e227215_href.png
Symbian3/PDK/Source/GUID-F220E2B7-DE9B-5230-A396-15853369C176_d0e233208_href.png
Symbian3/PDK/Source/GUID-F22B8035-CD08-4181-B03A-759E92CA967B.dita
Symbian3/PDK/Source/GUID-F23BB1F1-CF90-597F-8410-34AB8B567501.dita
Symbian3/PDK/Source/GUID-F2487AEE-966E-472E-9162-E0400C9A8234.dita
Symbian3/PDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita
Symbian3/PDK/Source/GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita
Symbian3/PDK/Source/GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e549917_href.png
Symbian3/PDK/Source/GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e557373_href.png
Symbian3/PDK/Source/GUID-F2D86E40-279A-5B48-B91F-922803FEF5DE.dita
Symbian3/PDK/Source/GUID-F2D96A30-7264-5CAF-9CC7-8AF05EF978E1_d0e147981_href.png
Symbian3/PDK/Source/GUID-F2D96A30-7264-5CAF-9CC7-8AF05EF978E1_d0e150222_href.png
Symbian3/PDK/Source/GUID-F2E8CB4B-C1BB-577D-B018-7FF231B70D8C_d0e236815_href.png
Symbian3/PDK/Source/GUID-F2E8CB4B-C1BB-577D-B018-7FF231B70D8C_d0e242788_href.png
Symbian3/PDK/Source/GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e95030_href.png
Symbian3/PDK/Source/GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e99228_href.png
Symbian3/PDK/Source/GUID-F31EC49A-FE01-58B2-9CB5-4A3BBCCB7DA7_d0e227999_href.png
Symbian3/PDK/Source/GUID-F31EC49A-FE01-58B2-9CB5-4A3BBCCB7DA7_d0e233998_href.png
Symbian3/PDK/Source/GUID-F322F81A-40D3-5365-A437-73B60DD31D5E_d0e448716_href.png
Symbian3/PDK/Source/GUID-F322F81A-40D3-5365-A437-73B60DD31D5E_d0e454561_href.png
Symbian3/PDK/Source/GUID-F32E2F00-B68F-59B2-AABA-181E16354C86.dita
Symbian3/PDK/Source/GUID-F342B002-0667-5D51-AE2D-3CF534D70B62_d0e315439_href.png
Symbian3/PDK/Source/GUID-F342B002-0667-5D51-AE2D-3CF534D70B62_d0e321429_href.png
Symbian3/PDK/Source/GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita
Symbian3/PDK/Source/GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1.dita
Symbian3/PDK/Source/GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita
Symbian3/PDK/Source/GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1-4-1.dita
Symbian3/PDK/Source/GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-9-1-4-1-6-1-4-1.dita
Symbian3/PDK/Source/GUID-F392355C-C499-555A-85B7-1DF40492E9B2_d0e321805_href.png
Symbian3/PDK/Source/GUID-F392355C-C499-555A-85B7-1DF40492E9B2_d0e327791_href.png
Symbian3/PDK/Source/GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB.dita
Symbian3/PDK/Source/GUID-F40BA7EA-AF7E-5BCF-96DD-9C4D8E947F0C.dita
Symbian3/PDK/Source/GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1.dita
Symbian3/PDK/Source/GUID-F4203C60-EB2A-4644-8B2D-291087724BA9_d0e184675_href.png
Symbian3/PDK/Source/GUID-F4203C60-EB2A-4644-8B2D-291087724BA9_d0e190752_href.png
Symbian3/PDK/Source/GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita
Symbian3/PDK/Source/GUID-F46D5A5B-EC44-53B0-9A11-886735B28610.dita
Symbian3/PDK/Source/GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita
Symbian3/PDK/Source/GUID-F492978A-1732-4BCD-8D3C-D2F657BAB504_d0e18587_href.png
Symbian3/PDK/Source/GUID-F492978A-1732-4BCD-8D3C-D2F657BAB504_d0e20579_href.png
Symbian3/PDK/Source/GUID-F4C3DDE1-F7D3-5256-BABD-34759DCA57BF.dita
Symbian3/PDK/Source/GUID-F4E04E00-D9C6-5E8F-9EC6-F90BC951D4D0_d0e291444_href.png
Symbian3/PDK/Source/GUID-F4E04E00-D9C6-5E8F-9EC6-F90BC951D4D0_d0e297436_href.png
Symbian3/PDK/Source/GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F.dita
Symbian3/PDK/Source/GUID-F4F3A37A-AB0C-47B8-A538-C05F1CA73BF3.dita
Symbian3/PDK/Source/GUID-F50E1C81-E80F-5692-996B-3AC2BE995425_d0e411499_href.png
Symbian3/PDK/Source/GUID-F50E1C81-E80F-5692-996B-3AC2BE995425_d0e417352_href.png
Symbian3/PDK/Source/GUID-F5107783-6B4F-549B-B46D-E1294C241306_d0e230721_href.png
Symbian3/PDK/Source/GUID-F5107783-6B4F-549B-B46D-E1294C241306_d0e236716_href.png
Symbian3/PDK/Source/GUID-F5371A59-A637-4623-A2C0-9A8B8E5F3CFB.dita
Symbian3/PDK/Source/GUID-F58C17D1-3834-5DEB-8B8B-52CD81AA9BF4_d0e244344_href.png
Symbian3/PDK/Source/GUID-F58C17D1-3834-5DEB-8B8B-52CD81AA9BF4_d0e250355_href.png
Symbian3/PDK/Source/GUID-F59B0B89-94C3-4E0B-BF87-2AE5B3811F59.dita
Symbian3/PDK/Source/GUID-F5A82F61-B93A-5652-93A4-B9CE877B4D4A_d0e546929_href.png
Symbian3/PDK/Source/GUID-F5A82F61-B93A-5652-93A4-B9CE877B4D4A_d0e554385_href.png
Symbian3/PDK/Source/GUID-F5B58B20-B85C-5BCD-B1EB-69CCE42DE6BB_d0e218447_href.png
Symbian3/PDK/Source/GUID-F5B58B20-B85C-5BCD-B1EB-69CCE42DE6BB_d0e224467_href.png
Symbian3/PDK/Source/GUID-F5BFE35F-ED90-50C5-8F63-7A780A97689B_d0e275314_href.png
Symbian3/PDK/Source/GUID-F5BFE35F-ED90-50C5-8F63-7A780A97689B_d0e281314_href.png
Symbian3/PDK/Source/GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.dita
Symbian3/PDK/Source/GUID-F618EE02-927E-584B-8F80-79DE766AA62F_d0e536773_href.png
Symbian3/PDK/Source/GUID-F618EE02-927E-584B-8F80-79DE766AA62F_d0e544233_href.png
Symbian3/PDK/Source/GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita
Symbian3/PDK/Source/GUID-F6460808-A806-5701-983E-CCD92EF3F688.dita
Symbian3/PDK/Source/GUID-F64B88E0-49DA-5563-896E-29BAB8A244C9.dita
Symbian3/PDK/Source/GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita
Symbian3/PDK/Source/GUID-F669F877-2DBD-55C3-97DA-78745E78347D.dita
Symbian3/PDK/Source/GUID-F6780E5A-26DA-5453-B9BE-11039CFA4FFB.dita
Symbian3/PDK/Source/GUID-F681C857-086F-527A-9946-A91560601658_d0e655935_href.jpg
Symbian3/PDK/Source/GUID-F681C857-086F-527A-9946-A91560601658_d0e668762_href.jpg
Symbian3/PDK/Source/GUID-F68FF4C2-F9DB-5935-9027-9BEC006D031F_d0e538236_href.png
Symbian3/PDK/Source/GUID-F68FF4C2-F9DB-5935-9027-9BEC006D031F_d0e545696_href.png
Symbian3/PDK/Source/GUID-F6903E31-DF4A-572F-BF2C-65CE618F016E.dita
Symbian3/PDK/Source/GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita
Symbian3/PDK/Source/GUID-F6B9860A-E7F2-5B03-878D-9BCA0AF029C2.dita
Symbian3/PDK/Source/GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB.dita
Symbian3/PDK/Source/GUID-F6C68A6B-2D66-56A6-A706-7145C5E7F52A_d0e450838_href.png
Symbian3/PDK/Source/GUID-F6C68A6B-2D66-56A6-A706-7145C5E7F52A_d0e456683_href.png
Symbian3/PDK/Source/GUID-F7181D22-8607-56CE-B8CC-77AE0E378503_d0e527048_href.png
Symbian3/PDK/Source/GUID-F7181D22-8607-56CE-B8CC-77AE0E378503_d0e534508_href.png
Symbian3/PDK/Source/GUID-F740BA72-B00E-5D98-BD0F-5937F60460BC_d0e210795_href.jpg
Symbian3/PDK/Source/GUID-F740BA72-B00E-5D98-BD0F-5937F60460BC_d0e216796_href.jpg
Symbian3/PDK/Source/GUID-F765C7EB-A8C6-50C0-B350-85BE04C8984F.dita
Symbian3/PDK/Source/GUID-F77CC49A-904D-486B-8D16-972525EC34D5.dita
Symbian3/PDK/Source/GUID-F78F12AE-64CA-50BD-A715-8F254FBDB793_d0e214506_href.png
Symbian3/PDK/Source/GUID-F78F12AE-64CA-50BD-A715-8F254FBDB793_d0e220526_href.png
Symbian3/PDK/Source/GUID-F79A3DD7-DB91-545F-8165-F1F2DD6D0AD2.dita
Symbian3/PDK/Source/GUID-F79E4F18-19E2-577E-8409-8B82BD48AC66.dita
Symbian3/PDK/Source/GUID-F79EE68F-FFC3-541E-AE3A-D7203034DA43.dita
Symbian3/PDK/Source/GUID-F7A17E65-CB2D-41D3-9404-1A7D7F55FABC_d0e103103_href.png
Symbian3/PDK/Source/GUID-F7A17E65-CB2D-41D3-9404-1A7D7F55FABC_d0e99023_href.png
Symbian3/PDK/Source/GUID-F7AE615A-DA24-5F88-A505-89962CA43E93_d0e531178_href.png
Symbian3/PDK/Source/GUID-F7AE615A-DA24-5F88-A505-89962CA43E93_d0e538638_href.png
Symbian3/PDK/Source/GUID-F7BFE6E3-0EEE-536C-8411-65D8F5FEBF2E_d0e109434_href.png
Symbian3/PDK/Source/GUID-F7BFE6E3-0EEE-536C-8411-65D8F5FEBF2E_d0e111857_href.png
Symbian3/PDK/Source/GUID-F7C762AA-3961-4739-ADD1-346DBF7CD7F8-master.png
Symbian3/PDK/Source/GUID-F7C762AA-3961-4739-ADD1-346DBF7CD7F8_d0e105362_href.png
Symbian3/PDK/Source/GUID-F7C9730D-7A41-4EE3-881C-393BB52B99C8_d0e63710_href.png
Symbian3/PDK/Source/GUID-F7C9730D-7A41-4EE3-881C-393BB52B99C8_d0e67932_href.png
Symbian3/PDK/Source/GUID-F7CC81CE-E823-5196-944A-5F7524411A08.dita
Symbian3/PDK/Source/GUID-F7FEB759-E64D-5B6D-9017-C5E982E4FC16.dita
Symbian3/PDK/Source/GUID-F8069628-BD32-535C-963A-A1CF8172E275.dita
Symbian3/PDK/Source/GUID-F82675C4-C2FD-50E2-BEDA-EB454FF1C57E_d0e260935_href.png
Symbian3/PDK/Source/GUID-F82675C4-C2FD-50E2-BEDA-EB454FF1C57E_d0e266944_href.png
Symbian3/PDK/Source/GUID-F84E18B8-5883-5A3A-A9DB-EC25BB86149F.dita
Symbian3/PDK/Source/GUID-F8A32666-5003-5B14-A700-C6E6388D2D38_d0e291470_href.png
Symbian3/PDK/Source/GUID-F8A32666-5003-5B14-A700-C6E6388D2D38_d0e297462_href.png
Symbian3/PDK/Source/GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita
Symbian3/PDK/Source/GUID-F9455FE8-5247-58D5-ACEF-52753B88444F.dita
Symbian3/PDK/Source/GUID-F9558573-7C79-57C5-809A-9257BF84758A.dita
Symbian3/PDK/Source/GUID-F95A7D74-FD5C-40D2-BF4F-2F75443CAE51.dita
Symbian3/PDK/Source/GUID-F9605837-2209-500D-AB62-48A433489C5E.dita
Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e101465_href.png
Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e90859_href.png
Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e95057_href.png
Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e97386_href.png
Symbian3/PDK/Source/GUID-F96D14A5-58BB-4F1A-A6FB-5D13DCB84B33_d0e89929_href.png
Symbian3/PDK/Source/GUID-F96D14A5-58BB-4F1A-A6FB-5D13DCB84B33_d0e94127_href.png
Symbian3/PDK/Source/GUID-F97EA91E-35E3-5E69-A4C4-7415AB91C1BC_d0e107418_href.png
Symbian3/PDK/Source/GUID-F97EA91E-35E3-5E69-A4C4-7415AB91C1BC_d0e109861_href.png
Symbian3/PDK/Source/GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita
Symbian3/PDK/Source/GUID-F99938E9-9E06-53C0-B762-2CE51BC5F1E2_d0e679667_href.png
Symbian3/PDK/Source/GUID-F99938E9-9E06-53C0-B762-2CE51BC5F1E2_d0e692494_href.png
Symbian3/PDK/Source/GUID-F9BEC749-D535-55EA-8601-A961EA1E441B.dita
Symbian3/PDK/Source/GUID-F9E10A82-88E9-57AA-AFEE-3C1A21BF05BC.dita
Symbian3/PDK/Source/GUID-FA12B3F7-4E84-5BBD-8598-9A974FFA7FCC.dita
Symbian3/PDK/Source/GUID-FA18838A-F0C6-5241-8913-BFB46571D908.dita
Symbian3/PDK/Source/GUID-FA5A24BE-F4AF-5EC3-8969-6184A5A5BBFA.dita
Symbian3/PDK/Source/GUID-FAC309FE-B7DA-572B-9165-BC9BEF944D83_d0e548989_href.png
Symbian3/PDK/Source/GUID-FAC309FE-B7DA-572B-9165-BC9BEF944D83_d0e556445_href.png
Symbian3/PDK/Source/GUID-FAD4A8FF-CD83-56E5-B469-5670ED873AD5.dita
Symbian3/PDK/Source/GUID-FAFDBFC2-BFFF-536C-A96D-8404C389DD0C.dita
Symbian3/PDK/Source/GUID-FB12481D-B3F6-5901-A0DC-DF92BCED3B18_d0e210633_href.jpg
Symbian3/PDK/Source/GUID-FB12481D-B3F6-5901-A0DC-DF92BCED3B18_d0e216634_href.jpg
Symbian3/PDK/Source/GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e430653_href.png
Symbian3/PDK/Source/GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e436498_href.png
Symbian3/PDK/Source/GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e597614_href.png
Symbian3/PDK/Source/GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e616455_href.png
Symbian3/PDK/Source/GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e625508_href.png
Symbian3/PDK/Source/GUID-FB479891-8788-5548-B875-A5C637EC2DE6_d0e219494_href.png
Symbian3/PDK/Source/GUID-FB479891-8788-5548-B875-A5C637EC2DE6_d0e225514_href.png
Symbian3/PDK/Source/GUID-FB654184-C256-546F-AF6C-E0FADA78D5D0_d0e316335_href.png
Symbian3/PDK/Source/GUID-FB654184-C256-546F-AF6C-E0FADA78D5D0_d0e322325_href.png
Symbian3/PDK/Source/GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e382289_href.png
Symbian3/PDK/Source/GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e388142_href.png
Symbian3/PDK/Source/GUID-FBB9ED48-3C0F-4B2D-90FC-52127698F253.dita
Symbian3/PDK/Source/GUID-FBBC7F0D-FD4B-58B7-BEAC-B68EEBD19ACF_d0e106444_href.png
Symbian3/PDK/Source/GUID-FBBC7F0D-FD4B-58B7-BEAC-B68EEBD19ACF_d0e108887_href.png
Symbian3/PDK/Source/GUID-FBC9FA67-847F-599B-B244-3E9B72D40505_d0e536307_href.jpg
Symbian3/PDK/Source/GUID-FBC9FA67-847F-599B-B244-3E9B72D40505_d0e543767_href.jpg
Symbian3/PDK/Source/GUID-FBF2ED6F-D1C5-5368-96C2-FCF38234BF43_d0e275334_href.png
Symbian3/PDK/Source/GUID-FBF2ED6F-D1C5-5368-96C2-FCF38234BF43_d0e281334_href.png
Symbian3/PDK/Source/GUID-FC230C68-18FC-5DB9-A5B2-942B48DC5590_d0e549001_href.png
Symbian3/PDK/Source/GUID-FC230C68-18FC-5DB9-A5B2-942B48DC5590_d0e556457_href.png
Symbian3/PDK/Source/GUID-FC929B37-20E1-5DA7-91A7-CBBED2E69A6E.dita
Symbian3/PDK/Source/GUID-FCA90B94-B0D1-5479-A1BF-28758FB830E5_d0e230975_href.png
Symbian3/PDK/Source/GUID-FCA90B94-B0D1-5479-A1BF-28758FB830E5_d0e236970_href.png
Symbian3/PDK/Source/GUID-FCC51FFE-DC34-5168-9564-8F30273DE1BD_d0e514193_href.png
Symbian3/PDK/Source/GUID-FCC51FFE-DC34-5168-9564-8F30273DE1BD_d0e521657_href.png
Symbian3/PDK/Source/GUID-FCE138BF-A471-5864-AE4C-8D89EF5F2BB9.dita
Symbian3/PDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita
Symbian3/PDK/Source/GUID-FCFF0750-0AE9-5F51-B4F7-B1655E1AD244_d0e317480_href.png
Symbian3/PDK/Source/GUID-FCFF0750-0AE9-5F51-B4F7-B1655E1AD244_d0e323470_href.png
Symbian3/PDK/Source/GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e241381_href.png
Symbian3/PDK/Source/GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e247389_href.png
Symbian3/PDK/Source/GUID-FD1916A9-694B-5CC6-A79C-493F754F0E64.dita
Symbian3/PDK/Source/GUID-FD1BB5C6-A042-56C9-8F1F-B51BF9DF5389_d0e597407_href.png
Symbian3/PDK/Source/GUID-FD1BB5C6-A042-56C9-8F1F-B51BF9DF5389_d0e625301_href.png
Symbian3/PDK/Source/GUID-FD21D8B1-EB37-409A-9158-19DBBF1A67B7_d0e101081_href.png
Symbian3/PDK/Source/GUID-FD21D8B1-EB37-409A-9158-19DBBF1A67B7_d0e105166_href.png
Symbian3/PDK/Source/GUID-FD49B745-965F-5CC6-A9FC-D950FDEB00FD_d0e450022_href.png
Symbian3/PDK/Source/GUID-FD49B745-965F-5CC6-A9FC-D950FDEB00FD_d0e455867_href.png
Symbian3/PDK/Source/GUID-FD503B6E-889C-521F-B61A-0EBDCA8CD9AC_d0e581918_href.png
Symbian3/PDK/Source/GUID-FD503B6E-889C-521F-B61A-0EBDCA8CD9AC_d0e631206_href.png
Symbian3/PDK/Source/GUID-FD52DFC5-03CD-4C7A-B118-0D5C90D99F1A_d0e104020_href.png
Symbian3/PDK/Source/GUID-FD52DFC5-03CD-4C7A-B118-0D5C90D99F1A_d0e99935_href.png
Symbian3/PDK/Source/GUID-FD8634B8-E522-4AC4-8129-ED807A7754A2.dita
Symbian3/PDK/Source/GUID-FDA575AB-F5A5-4244-B47C-F1B1794F09F6.dita
Symbian3/PDK/Source/GUID-FDC0004A-A2EE-5B73-9E2D-B6864C600AF9.dita
Symbian3/PDK/Source/GUID-FDDDF1F0-42D8-570E-AF06-620825FA1022_d0e270583_href.png
Symbian3/PDK/Source/GUID-FDDDF1F0-42D8-570E-AF06-620825FA1022_d0e276583_href.png
Symbian3/PDK/Source/GUID-FE1F6768-FCF8-5670-8621-DC0DBDB0B706_d0e466468_href.png
Symbian3/PDK/Source/GUID-FE1F6768-FCF8-5670-8621-DC0DBDB0B706_d0e472313_href.png
Symbian3/PDK/Source/GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita
Symbian3/PDK/Source/GUID-FE3C8D39-CE17-5AC7-AB6A-4D6664D52196_d0e228096_href.png
Symbian3/PDK/Source/GUID-FE3C8D39-CE17-5AC7-AB6A-4D6664D52196_d0e234095_href.png
Symbian3/PDK/Source/GUID-FE4794F8-2519-5AC2-BCF7-168ECA6645EA.dita
Symbian3/PDK/Source/GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e234649_href.png
Symbian3/PDK/Source/GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e240639_href.png
Symbian3/PDK/Source/GUID-FE9017F4-4197-472F-A3E7-267169A51ABD.dita
Symbian3/PDK/Source/GUID-FE922294-380D-447D-AC46-A46EFAD79168.dita
Symbian3/PDK/Source/GUID-FE94596E-B5BB-51FE-BE38-069840323915.dita
Symbian3/PDK/Source/GUID-FEE01F5F-1F7E-569C-950E-7793DA8F26A2_d0e426920_href.png
Symbian3/PDK/Source/GUID-FEE01F5F-1F7E-569C-950E-7793DA8F26A2_d0e432765_href.png
Symbian3/PDK/Source/GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e234674_href.png
Symbian3/PDK/Source/GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e240664_href.png
Symbian3/PDK/Source/GUID-FF08B8F5-9881-5BA3-ACD1-C09E40A09438.dita
Symbian3/PDK/Source/GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e411208_href.png
Symbian3/PDK/Source/GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e417061_href.png
Symbian3/PDK/Source/GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita
Symbian3/PDK/Source/GUID-FF81C5C5-09B7-5194-928E-0BA87417B2CD.dita
Symbian3/PDK/Source/GUID-FF8D78A2-8F4D-5CAE-B3DB-E2400ABD6B5F.dita
Symbian3/PDK/Source/GUID-FFBB390B-0A5D-5ABC-A111-95B3C84818DE_d0e110291_href.png
Symbian3/PDK/Source/GUID-FFBB390B-0A5D-5ABC-A111-95B3C84818DE_d0e112714_href.png
Symbian3/PDK/Source/GUID-FFC6F01E-15AB-43E6-90E8-0E42DA297AE9_d0e2156_href.png
Symbian3/PDK/Source/GUID-FFC6F01E-15AB-43E6-90E8-0E42DA297AE9_d0e2166_href.png
Symbian3/PDK/Source/GUID-FFD56DA3-9301-5679-9209-A70CE63A34A2.dita
Symbian3/PDK/Source/GUID-FFE6BAF8-C093-53FC-8672-365BAF38E048_d0e553256_href.png
Symbian3/PDK/Source/GUID-FFE6BAF8-C093-53FC-8672-365BAF38E048_d0e560712_href.png
Binary file Symbian3/PDK/Source/92_201008_S60.52_apidocsP_sf.zip has changed
--- a/Symbian3/PDK/Source/GUID-000ACB11-EDD0-5160-BC5E-4593F1BAF293.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-000ACB11-EDD0-5160-BC5E-4593F1BAF293.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,7 +39,7 @@
 to it is closed. The queue itself is simply a block of memory divided into
 slots, managed by the <codeph>DMsgQueue</codeph> object. </p>
 <fig id="GUID-BDA4A786-57B2-529D-BDFB-72D2B2B30670">
-<image href="GUID-7C061090-83A8-5E0F-B42B-2D722BE054EE_d0e344560_href.png" placement="inline"/>
+<image href="GUID-7C061090-83A8-5E0F-B42B-2D722BE054EE_d0e350511_href.png" placement="inline"/>
 </fig>
 <section id="GUID-1D2EF848-8068-56B9-850B-56AE88E192DE"><title>Handle to a
 message queue</title> <p>A message queue is created, opened, written to and
@@ -50,7 +50,7 @@
 the implementation, while <codeph>RMsgQueue</codeph> provides type safety.
 An <codeph>RMsgQueueBase</codeph> object is a valid message queue handle,
 but does not offer the type safety that <codeph>RMsgQueue</codeph> does. </p> <fig id="GUID-B9685695-0E07-5CC1-AFED-0ABF4DC93ACB">
-<image href="GUID-2F6EF388-CA87-5AAD-A4C5-37FC3CE15331_d0e344599_href.png" placement="inline"/>
+<image href="GUID-2F6EF388-CA87-5AAD-A4C5-37FC3CE15331_d0e350550_href.png" placement="inline"/>
 </fig> <p>Message queues are used for one-way, one to one communications only.
 The message queue is therefore unicast. If there are multiple readers of the
 message queue only one will receive the message. </p> </section>
--- a/Symbian3/PDK/Source/GUID-006C503D-1E52-450D-A4DA-8C19B141E09F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-006C503D-1E52-450D-A4DA-8C19B141E09F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 where C and C++ (and Symbian C++ as well) codes will be used together. The
 open source community implements a vast number of libraries that export C
 APIs to the user of such libraries.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-13-1-1-5-1-3-1-7-1-4-1-4-1-3-1">       <title>When
+<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-14-1-1-5-1-3-1-7-1-4-1-4-1-3-1">       <title>When
 and why to use C linkage</title>       <p>While porting such applications,
 if developers have to intermix C and C++ code, they then have to depend on
 C++ language features like extern "C" for giving C linkage to some set of
@@ -32,7 +32,7 @@
 It applies when the developer tries to use C APIs by including corresponding
 headers. To avoid name mangling, the developer should mention explicitly that
 those APIs are C APIs, by using the extern "C" keyword.  </p>     </section>
-<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-13-1-1-5-1-3-1-7-1-4-1-4-1-3-2">       <title>Syntax
+<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-14-1-1-5-1-3-1-7-1-4-1-4-1-3-2">       <title>Syntax
 of extern C</title>       <p>The syntax of extern "C" is shown below: </p><codeblock xml:space="preserve">extern "C" declaration ;
 </codeblock><p>The declaration (or definition) that immediately follows extern
 "C" has the C linkage. </p><codeblock xml:space="preserve">extern "C" { 
@@ -41,7 +41,7 @@
    ... 
 }</codeblock><p>Everything between the curly braces has C linkage, unless
 declared otherwise. </p>     </section>
-<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-13-1-1-5-1-3-1-7-1-4-1-4-1-3-3">       <title>How
+<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-14-1-1-5-1-3-1-7-1-4-1-4-1-3-3">       <title>How
 to use extern C</title>       <p>While writing header files with C functions
 which will be included by both C and C++ source files, the user must use extern
 "C" properly. See the example below: </p><codeblock xml:space="preserve">/*File: GoodCHeader.h */
@@ -83,7 +83,7 @@
    int ret = Function2(10);
 }
 </codeblock>     </section>
-<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-13-1-1-5-1-3-1-7-1-4-1-4-1-3-4">       <title>Mixing
+<section id="GUID-88635D46-AEF6-4E8E-969D-D3E56941F289-GENID-1-12-1-14-1-1-5-1-3-1-7-1-4-1-4-1-3-4">       <title>Mixing
 C and C++ features using extern "C"</title>       <p>The developer
 can use all the features of C++ except templates within C by giving those
 functions extern "C" linkage. See the example below:</p><codeblock xml:space="preserve">#include &lt;iostream&gt;
--- a/Symbian3/PDK/Source/GUID-009D71C6-481F-5EF1-B230-EB64F67047C8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-009D71C6-481F-5EF1-B230-EB64F67047C8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 <p>The platform specific layer performs the following calculation to convert
 between ADC values and co-ordinates: </p>
 <fig id="GUID-932E1DED-C393-5C26-A08F-E270CF5DC90B">
-<image href="GUID-D6861A7A-1845-52AF-BB09-4B97E6B8AA13_d0e381106_href.png" placement="inline"/>
+<image href="GUID-D6861A7A-1845-52AF-BB09-4B97E6B8AA13_d0e386959_href.png" placement="inline"/>
 </fig>
 <p>Where the <b>R</b> matrix determines the scaling and rotation, and the <b>T</b> vector
 determines the translation. </p>
--- a/Symbian3/PDK/Source/GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE"><title>What are Layers</title><shortdesc>This topic describes the concept of a <i>Layer</i> in the Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>A Layer is a horizontal division of functionality in a stack. </p> <p>A Layer matches the concept of the Layer in the seven-layer International Organization for Standardization's OSI Model. A Layer also matches the concept of the Layer in the five layer model used to describe TCP/IP. </p> <p>A Layer can contain a single Communications Protocol. A Layer can also contain a number of related protocols collected into a single unit. TLS, TCP, IP, Ethernet are examples of the protocols. </p> <p>The concept of a Layer allows device creators to have different implementations in a given Layer. When a data connection starts or when the environment changes, the best protocol can be selected. </p> <p>The following diagram shows the concept. The diagram also shows the position of the Sockets Server Client APIs. </p> <fig id="GUID-B1EA40DF-E7D2-5326-9516-0DA2A917DC02"><title>
           Layers in the Communications Framework 
-        </title> <image href="GUID-479133EB-1154-554E-8CEA-C61EDA747B69_d0e106535_href.png" placement="inline"/></fig> <p>Although each Layer contains a different protocol, the Communications Framework allows separate protocols to make a single Layer. For example: NCP, LCP and HDLC together make the PPP protocol. TCP, UDP, ICMP, IP together make the TCP/IP group of protocols. Each of these groups of protocols can be put together into a single Layer. </p> <p>The number of Layers only depends on the configuration of the Communications Stack. The top Layer has the Sockets Server. The bottom Layer has the drivers for the communication hardware . Each Layer interacts only with the Layer immediately above and the Layer immediately below. </p> <p>The framework APIs that connect the protocols in each Layer are consistent across the Communications Framework. All protocols share a common method of communication that is independent of protocol behaviour. A common method of communication allows protocols to be stacked. The Communications Framework provides flexibility in the configuration of the protocol stacks for each device. The following diagram shows a number of protocols at each Layer. </p> <fig id="GUID-D4A66FE7-8163-5383-A500-A8591CA9538E"><title>
+        </title> <image href="GUID-479133EB-1154-554E-8CEA-C61EDA747B69_d0e108978_href.png" placement="inline"/></fig> <p>Although each Layer contains a different protocol, the Communications Framework allows separate protocols to make a single Layer. For example: NCP, LCP and HDLC together make the PPP protocol. TCP, UDP, ICMP, IP together make the TCP/IP group of protocols. Each of these groups of protocols can be put together into a single Layer. </p> <p>The number of Layers only depends on the configuration of the Communications Stack. The top Layer has the Sockets Server. The bottom Layer has the drivers for the communication hardware . Each Layer interacts only with the Layer immediately above and the Layer immediately below. </p> <p>The framework APIs that connect the protocols in each Layer are consistent across the Communications Framework. All protocols share a common method of communication that is independent of protocol behaviour. A common method of communication allows protocols to be stacked. The Communications Framework provides flexibility in the configuration of the protocol stacks for each device. The following diagram shows a number of protocols at each Layer. </p> <fig id="GUID-D4A66FE7-8163-5383-A500-A8591CA9538E"><title>
           Protocols arranged in Layers in the Communications Framework 
-        </title> <image href="GUID-5357F135-46B1-5C3F-BD2D-2E71D7BD0046_d0e106550_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Socket Server</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-5357F135-46B1-5C3F-BD2D-2E71D7BD0046_d0e108993_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Socket Server</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0142B290-DA6C-5574-83D7-7555D804D9B5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0142B290-DA6C-5574-83D7-7555D804D9B5" xml:lang="en"><title>How
-to initialise array RESOURCE members</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><i><codeph>&lt;array-initialiser&gt;</codeph></i> </p>
-<p><b>array-initialiser ::=</b>     </p>
-<p><b> {</b> <i><codeph>&lt;array-initialiser-item-comma-list&gt;</codeph></i><b> }</b> <i><codeph>&lt;array-initialiser-item&gt;</codeph></i> </p>
-<p><b>array-initialiser-item ::=</b>     </p>
-<p><codeph><i>&lt;initialiser&gt;</i></codeph></p>
-<p><b>Fixed-length arrays</b> </p>
-<p>If a member is declared as a fixed-length array in the <codeph>STRUCT</codeph> or <codeph>RESOURCE</codeph> definition,
-for example,</p>
-<codeblock id="GUID-B2D4E3E1-2F01-53A4-92AE-AB99E3D2A680" xml:space="preserve">WORD elements[10]</codeblock>
-<p>then you must not specify any more items than were given in the length. </p>
-<p>If fewer items are specified in the default initialisation (i.e. in the <codeph>STRUCT</codeph> definition),
-then an error also results. </p>
-<p>Note that no values will be given to unspecified elements at the end of
-the array, even if they have been default initialised in the <codeph>STRUCT</codeph> definition.
-Take the following example:</p>
-<codeblock id="GUID-02A51707-F693-588B-9B84-35D5F04E26EB" xml:space="preserve">STRUCT SAMPLE
- {
- BYTE bts[3]={1,2,3};
- }</codeblock>
-<p>In the following resource:</p>
-<codeblock id="GUID-D1C8604D-6877-54EA-A880-14316BC11008" xml:space="preserve">RESOURCE SAMPLE default
- {}</codeblock>
-<p>the output will be the whole default array</p>
-<codeblock id="GUID-6CA06CBD-03A3-5CA9-8E66-69E8F703470D" xml:space="preserve">0x01 0x02 0x03</codeblock>
-<p>but in this resource:</p>
-<codeblock id="GUID-4B3D2892-C408-547F-9D83-40963CF68D19" xml:space="preserve">RESOURCE SAMPLE first_specified
- {
- bts={5};
- }</codeblock>
-<p>the output is:</p>
-<codeblock id="GUID-DE3C3486-1084-5A69-8BAE-0DDC0975D8B6" xml:space="preserve">0x05</codeblock>
-<p>with the second and third elements lost. </p>
-<p>If you specify only the second element in the <codeph>RESOURCE</codeph> definition,
-then the first element is taken from the default initialisation, the second
-from the explicit initialisation and the third element is lost. The following
-resource:</p>
-<codeblock id="GUID-0A8BB7DF-64BC-5399-921C-82E304B0F58D" xml:space="preserve">RESOURCE SAMPLE  second_specified
- {
- bts[1]=5;
- }</codeblock>
-<p>results in the 2-byte output:</p>
-<codeblock id="GUID-90DEAE7C-41E3-5D14-B074-A9BDC3862363" xml:space="preserve">0x01 0x05</codeblock>
-<p>If, however, you explicitly initialise an element in the middle of an array
-without having supplied default values for array members before it, then an
-error will result.</p>
-<section><title>Using expressions to initialise array elements</title> <p>You
-may initialise array elements with expressions. You must explicitly initialise
-each member component of the array otherwise the expressions will be evaluated
-incorrectly. The following resource:</p> <codeblock id="GUID-59A9B709-7E44-51BE-A690-7E126EBF4483" xml:space="preserve">RESOURCE SAMPLE correct_expression
- {
- bts[0]=3+1;
- bts[1]=2;
- bts[2]=3;
- }</codeblock> <p>will generate the correct output <codeph>0x04  0x02 0x03</codeph>.
-However, if you use the following syntax:</p> <codeblock id="GUID-943761CA-D4ED-5B8E-9997-17785E1881FB" xml:space="preserve">RESOURCE SAMPLE incorrect_expression
- {
- bts={3+1,2,3};
- }</codeblock> <p>the output will be <codeph>0x03 0x02 0x03</codeph>. This
-is because the pre-processor treats <codeph>3+1</codeph> as a literal string
-that is then interpreted by the compiler as 3. In the resource <codeph>correct_expression</codeph> above
-the ‘=‘ sign forces the pre-processor to evaluate the expression.</p> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-016704BE-DC2B-5AD3-B9BE-76A327678B38_d0e357477_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-016704BE-DC2B-5AD3-B9BE-76A327678B38_d0e363354_href.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-016876C8-7E13-5A3E-9A15-992B7EEEEA38.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-016876C8-7E13-5A3E-9A15-992B7EEEEA38" xml:lang="en"><title>Software Component
+Registry</title><shortdesc>The Software Component Registry (SCR) is a unified registry of
+native and non-native software components.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0181F4BD-51A2-49AF-9DAC-517F8BAD8DBC_d0e80547_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0181F4BD-51A2-49AF-9DAC-517F8BAD8DBC_d0e84745_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0185D5DC-5142-42C3-8FFB-8EB76D49AB06.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0185D5DC-5142-42C3-8FFB-8EB76D49AB06.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,8 +21,8 @@
 for the request to complete. This approach is not recommended in case of a
 server, as synchronous call blocks the server and it cannot serve its clients
 during synchronous wait.</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-6-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-6-1-3-3-1"><cmd>Request free memory.</cmd>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-6-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-6-1-3-3-1"><cmd>Request free memory.</cmd>
 <info>           <codeblock xml:space="preserve">User::LeaveIfError(iOomMonitorSession.RequestFreeMemory(KLargeValueToAllocate));
 DoFunctionRequiring_KLargeValueToAllocate_Bytes();</codeblock>         </info>
 </step>
Binary file Symbian3/PDK/Source/GUID-018A685B-5C9D-5C7C-8615-D413ABBF7CFB_d0e343841_href.png has changed
Binary file Symbian3/PDK/Source/GUID-018A685B-5C9D-5C7C-8615-D413ABBF7CFB_d0e349792_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1"><title>Secure Sockets Architecture</title><shortdesc>This section describes the architectural relationships of the Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Architectural relationships</title> <p>The Secure sockets architecture provides a client interface and a server. Protocol modules are plugged into the client. The client uses protocol modules to supply protocol-specific parameters to the Secure Socket API functions. </p> <p>The <filepath>ssl.dll</filepath> plug-in supports the Transport Layer Security (TLS) v1.0 and Secure Sockets Layer (SSL) v3.0. The protocols use the socket methods to pass data between a client and a server. This method prevents the security violations. </p> <p>The following diagram shows the relationship between an application and the secure sockets. </p> <fig id="GUID-F82B19A2-7F0C-5369-BDBD-6F7806B71B7D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1-3-1-5"><image href="GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e568315_href.png" placement="inline"/></fig> </section> <section><title>See also</title> <p> <xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Sockets Server</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-3-1"><title>Secure Sockets Architecture</title><shortdesc>This section describes the architectural relationships of the Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Architectural relationships</title> <p>The Secure sockets architecture provides a client interface and a server. Protocol modules are plugged into the client. The client uses protocol modules to supply protocol-specific parameters to the Secure Socket API functions. </p> <p>The <filepath>ssl.dll</filepath> plug-in supports the Transport Layer Security (TLS) v1.0 and Secure Sockets Layer (SSL) v3.0. The protocols use the socket methods to pass data between a client and a server. This method prevents the security violations. </p> <p>The following diagram shows the relationship between an application and the secure sockets. </p> <fig id="GUID-F82B19A2-7F0C-5369-BDBD-6F7806B71B7D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-3-1-3-1-5"><image href="GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e568925_href.png" placement="inline"/></fig> </section> <section><title>See also</title> <p> <xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Sockets Server</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-9-1-4-1-4-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-9-1-4-1-4-1-3-1"><title>Secure Sockets Architecture</title><shortdesc>This section describes the architectural relationships of the Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Architectural relationships</title> <p>The Secure sockets architecture provides a client interface and a server. Protocol modules are plugged into the client. The client uses protocol modules to supply protocol-specific parameters to the Secure Socket API functions. </p> <p>The <filepath>ssl.dll</filepath> plug-in supports the Transport Layer Security (TLS) v1.0 and Secure Sockets Layer (SSL) v3.0. The protocols use the socket methods to pass data between a client and a server. This method prevents the security violations. </p> <p>The following diagram shows the relationship between an application and the secure sockets. </p> <fig id="GUID-F82B19A2-7F0C-5369-BDBD-6F7806B71B7D-GENID-1-12-1-24-1-1-9-1-4-1-4-1-3-1-3-1-5"><image href="GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e572398_href.png" placement="inline"/></fig> </section> <section><title>See also</title> <p> <xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Sockets Server</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-01979029-C009-5FD3-9925-2B7945FB96A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-01979029-C009-5FD3-9925-2B7945FB96A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-01979029-C009-5FD3-9925-2B7945FB96A6"><title>Restarting a Network Connection Tutorial</title><shortdesc>This section describes the steps used to start a network connection that was stopped due to contention. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-23-1-1-8-1-4-1-5-1-8-1-3-1"><title>Introduction</title> <p>A low priority connection is terminated when a contention issue occurs and the incoming connection has a higher priority. The low priority connection can be restarted when the higher priority connection is complete. For example, if an always-on Internet connection is terminated to enable the user to send an MMS, the Internet connection is restarted when the message is sent. </p> </section> <section><title>Introduction</title> <ol id="GUID-409D0186-1BE4-5F7B-999D-0A9FFDED5F14"><li id="GUID-99D5A504-3DE4-59A1-AFC0-A49D13A8B7F5"><p>To terminate the high priority connection on of the following occurs: </p> <ol id="GUID-CF81E2BE-E5E4-5143-AA5C-B0355FB9F9BE"><li id="GUID-E8FE9288-9E3C-58CC-B7AA-435FB1D8DFBF"><p>The Connection Provider (CPR) receives a <codeph>TStopNormal</codeph> message to terminate the process. </p> </li> <li id="GUID-DC6D3CEA-8CD1-5B36-856A-A20AEED6DA0E"><p>The connection remains idle and is automatically terminated. </p> </li> </ol> </li> <li id="GUID-9F56D151-DD81-5706-B82B-3194FA85DAD0"><p>The PDP Tier Manager does the following: </p> <ol id="GUID-E813DD8A-5F6C-5D92-9F99-B596FC7CB8D7"><li id="GUID-6D80A333-6517-5314-B8CA-797AF13D21C3"><p>Indicates to the PDP Meta-Connection Provider (MCPR) of the low priority connection that it can restore the connection. </p> </li> <li id="GUID-D14D495F-5C98-5C80-8A90-50C22806ADC3"><p>The PDP MCPR sends an availability notification to the <codeph>CConnection</codeph> of the low priority connection. </p> </li> </ol> </li> <li id="GUID-AA69E7A9-F16C-5284-9406-C6874569C897"><p> <codeph>CConnection</codeph> of the low priority connection receives the availability notification and uses <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-C7F27821-BE25-3560-B1A9-74D1A2BB38A9"><apiname>RConnection::Start(TConnPrefList)</apiname></xref> to establish the connection. </p> </li> </ol>  </section> <section><title>Restoring a connection </title> <p>Use the following code to ensure a stopped connection is restored when the higher priority connection has completed. </p> <codeblock id="GUID-92251970-53D1-5DE7-A67E-BC392C43B470" xml:space="preserve">
+<concept xml:lang="en" id="GUID-01979029-C009-5FD3-9925-2B7945FB96A6"><title>Restarting a Network Connection Tutorial</title><shortdesc>This section describes the steps used to start a network connection that was stopped due to contention. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-24-1-1-8-1-6-1-5-1-8-1-3-1"><title>Introduction</title> <p>A low priority connection is terminated when a contention issue occurs and the incoming connection has a higher priority. The low priority connection can be restarted when the higher priority connection is complete. For example, if an always-on Internet connection is terminated to enable the user to send an MMS, the Internet connection is restarted when the message is sent. </p> </section> <section><title>Introduction</title> <ol id="GUID-409D0186-1BE4-5F7B-999D-0A9FFDED5F14"><li id="GUID-99D5A504-3DE4-59A1-AFC0-A49D13A8B7F5"><p>To terminate the high priority connection on of the following occurs: </p> <ol id="GUID-CF81E2BE-E5E4-5143-AA5C-B0355FB9F9BE"><li id="GUID-E8FE9288-9E3C-58CC-B7AA-435FB1D8DFBF"><p>The Connection Provider (CPR) receives a <codeph>TStopNormal</codeph> message to terminate the process. </p> </li> <li id="GUID-DC6D3CEA-8CD1-5B36-856A-A20AEED6DA0E"><p>The connection remains idle and is automatically terminated. </p> </li> </ol> </li> <li id="GUID-9F56D151-DD81-5706-B82B-3194FA85DAD0"><p>The PDP Tier Manager does the following: </p> <ol id="GUID-E813DD8A-5F6C-5D92-9F99-B596FC7CB8D7"><li id="GUID-6D80A333-6517-5314-B8CA-797AF13D21C3"><p>Indicates to the PDP Meta-Connection Provider (MCPR) of the low priority connection that it can restore the connection. </p> </li> <li id="GUID-D14D495F-5C98-5C80-8A90-50C22806ADC3"><p>The PDP MCPR sends an availability notification to the <codeph>CConnection</codeph> of the low priority connection. </p> </li> </ol> </li> <li id="GUID-AA69E7A9-F16C-5284-9406-C6874569C897"><p> <codeph>CConnection</codeph> of the low priority connection receives the availability notification and uses <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-C7F27821-BE25-3560-B1A9-74D1A2BB38A9"><apiname>RConnection::Start(TConnPrefList)</apiname></xref> to establish the connection. </p> </li> </ol>  </section> <section><title>Restoring a connection </title> <p>Use the following code to ensure a stopped connection is restored when the higher priority connection has completed. </p> <codeblock id="GUID-92251970-53D1-5DE7-A67E-BC392C43B470" xml:space="preserve">
 
     TConnPrefList* prefs = TConnPrefList::NewL();
     CleanupStack::PushL(prefs);
--- a/Symbian3/PDK/Source/GUID-01F1C399-25F6-54E8-B48D-521187A63096.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-01F1C399-25F6-54E8-B48D-521187A63096" xml:lang="en"><title>Capability Management tools</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-01F1F488-8E95-56B0-818E-6096CAE4C50C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-01F1F488-8E95-56B0-818E-6096CAE4C50C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,6 +20,6 @@
 diagram shows the relative position of the Base Starter in the start-up sequence. </p>
 <fig id="GUID-C184517B-0E86-5E22-BCD6-F4DFD7AEA731">
 <title>           Base Starter architecture         </title>
-<image href="GUID-CEDA0EFF-A1D4-53FE-9BF2-DB9AA857BCF5_d0e372717_href.png" placement="inline"/>
+<image href="GUID-CEDA0EFF-A1D4-53FE-9BF2-DB9AA857BCF5_d0e378565_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e101253_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e90319_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e94517_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e97174_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0211CAA4-32FF-52F2-81DA-78C52C412AED_d0e155252_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0211CAA4-32FF-52F2-81DA-78C52C412AED_d0e161353_href.png has changed
--- a/Symbian3/PDK/Source/GUID-023268BB-8C52-51A1-9E3B-4C7E265DFDAB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-023268BB-8C52-51A1-9E3B-4C7E265DFDAB"><title>-wrap</title><prolog><metadata><keywords/></metadata></prolog><conbody><codeblock id="GUID-1B836AA0-6B54-57A7-BF00-7D117924FBA0" xml:space="preserve">-wrap[=&lt;value&gt;]</codeblock> <p>A static analysis tool can be invoked if <codeph>[=&lt;value&gt;]</codeph> is not specified. For example, <codeph>-wrap</codeph>. </p> <p>The name of the static analysis tool executable is set using the environment variable <codeph>ABLD_COMPWRAP</codeph>. For more information, see <xref href="GUID-61459132-3AC2-55D3-AC28-D6FA689409E6.dita">How to invoke a static analysis tool using abld</xref>. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-023D30F0-C1E8-5E09-92AD-C5A7963DCF70_d0e512262_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-023D30F0-C1E8-5E09-92AD-C5A7963DCF70_d0e519724_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-02442ADC-1C4C-5489-825F-7E1630415086_d0e230144_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02442ADC-1C4C-5489-825F-7E1630415086_d0e236139_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02521DB0-53C4-55D5-856F-BD478E134B73_d0e547910_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02521DB0-53C4-55D5-856F-BD478E134B73_d0e555366_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0259868F-8F88-5D9D-A9DE-9309C3BFBA85_d0e478805_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0259868F-8F88-5D9D-A9DE-9309C3BFBA85_d0e484634_href.png has changed
--- a/Symbian3/PDK/Source/GUID-02659624-4C27-573C-BE2E-0250D860BEA3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-02659624-4C27-573C-BE2E-0250D860BEA3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,6 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-02659624-4C27-573C-BE2E-0250D860BEA3"><title>Media Client Video Display Overview</title><shortdesc>This document provides an overview of the Media Client Video Display library that is used by the Video Client library in the Multimedia Framework component. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Media Client Video Display library allows you to display video in a window and to support a graphic surface. </p> </section> <section><title>Media Client Video Display library details</title> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-95C28A17-6CB2-5FAC-A687-30CB0D597683"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short description</entry> </row> </thead> <tbody><row><entry><p> <filepath>mediaclientvideodisplay.dll</filepath>  </p> </entry> <entry><p> <filepath>mediaclientvideodisplay.lib</filepath>  </p> </entry> <entry><p>These files are used to implement the display video functionality and support graphics surfaces. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architecture</title> <p>Media Client Video Display is a standalone library used by the <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client</xref> library to support video display. This allows you to use video display functionality separately from the client utilities. The class diagram for<xref href="GUID-2BE86C43-A982-39BC-B881-C190966A7E77.dita"><apiname>CMediaClientVideoDisplay</apiname></xref> is as follows: </p> <fig id="GUID-F8823BC8-AACB-5B7A-A751-11C1C326B71E"><image href="GUID-3542A39C-8D0F-53A0-A5A2-81F381D3BA7B_d0e522848_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Media Client Video Display library is a client interface to access display functions. The display functions are as follows: </p> <ul><li id="GUID-188BF5BC-EE01-5593-B7BD-57253F0C465E"><p>Adding a new window </p> </li> <li id="GUID-08928C55-2B49-5EFC-B1E1-35AB5271A6C3"><p>Redrawing the window </p> </li> <li id="GUID-69333E32-73A4-5354-9513-7D91FFF6D6D5"><p>Setting the video data for automatic and specified dimension scaling </p> </li> <li id="GUID-A53EAB56-691A-5A5C-AF0E-60B4F67B6997"><p>Rotating the video image </p> </li> <li id="GUID-D63B8851-2A38-5DF2-A2A8-5EDD3BB6A198"><p>Clipping the window </p> </li> <li id="GUID-A8A4DF2F-AC7A-5005-A5DD-AF996740557E"><p>Setting the video extension on the screen that is relative to the window. </p> </li> </ul> <p>The Media Client Video Display library allows you to perform rendering of video to graphics surfaces. It provides APIs to: </p> <ul><li id="GUID-4235EB20-E591-5A83-9380-799122774221"><p>Create the graphic surface </p> </li> <li id="GUID-4E7AF838-3DAD-5A28-B4FF-7AF9882A2716"><p>Update the graphic surface </p> </li> <li id="GUID-4A154439-4857-5A1D-97D6-0DB1E18BAAD3"><p>Surface parameters changed during video play back </p> </li> <li id="GUID-66212705-E07F-55BB-8404-EE7F392F08AE"><p>Remove the graphic surface. </p> </li> </ul> </section> <section><title>APIs</title> <p>The key class of Media Client Video Display is as follows: </p> <table id="GUID-65E3B808-88AF-569A-847F-DE3ABE4CCC1B"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-2BE86C43-A982-39BC-B881-C190966A7E77.dita"><apiname>CMediaClientVideoDisplay</apiname></xref>  </p> </entry> <entry><p>This class is an interface to add or remove video display windows. The <codeph>CMediaClientVideoDisplay</codeph> class supports graphics surfaces and provides display handling functions like video extension, scaling and rotation. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Using Media Client Video Display</title> <p>Clients use <codeph>CMediaClientVideoDisplay</codeph> to: </p> <ul><li id="GUID-104EE148-7167-5F88-B9BB-42BA7A39B08F"><p>Display video in a window </p> </li> <li id="GUID-962251B9-D784-5DB9-AB52-293039E78F9A"><p>Support graphics surfaces. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-152BF5C3-CE32-5174-A043-1B2D5D8168C3.dita"><linktext>Media Client Video Display
+<concept xml:lang="en" id="GUID-02659624-4C27-573C-BE2E-0250D860BEA3"><title>Media Client Video Display Overview</title><shortdesc>This document provides an overview of the Media Client Video Display library that is used by the Video Client library in the Multimedia Framework component. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Media Client Video Display library allows you to display video in a window and to support a graphic surface. </p> </section> <section><title>Media Client Video Display library details</title> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-95C28A17-6CB2-5FAC-A687-30CB0D597683"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short description</entry> </row> </thead> <tbody><row><entry><p> <filepath>mediaclientvideodisplay.dll</filepath>  </p> </entry> <entry><p> <filepath>mediaclientvideodisplay.lib</filepath>  </p> </entry> <entry><p>These files are used to implement the display video functionality and support graphics surfaces. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architecture</title> <p>Media Client Video Display is a standalone library used by the <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client</xref> library to support video display. This allows you to use video display functionality separately from the client utilities. The class diagram for<xref href="GUID-2BE86C43-A982-39BC-B881-C190966A7E77.dita"><apiname>CMediaClientVideoDisplay</apiname></xref> is as follows: </p> <fig id="GUID-F8823BC8-AACB-5B7A-A751-11C1C326B71E"><image href="GUID-3542A39C-8D0F-53A0-A5A2-81F381D3BA7B_d0e530308_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Media Client Video Display library is a client interface to access display functions. The display functions are as follows: </p> <ul><li id="GUID-188BF5BC-EE01-5593-B7BD-57253F0C465E"><p>Adding a new window </p> </li> <li id="GUID-08928C55-2B49-5EFC-B1E1-35AB5271A6C3"><p>Redrawing the window </p> </li> <li id="GUID-69333E32-73A4-5354-9513-7D91FFF6D6D5"><p>Setting the video data for automatic and specified dimension scaling </p> </li> <li id="GUID-A53EAB56-691A-5A5C-AF0E-60B4F67B6997"><p>Rotating the video image </p> </li> <li id="GUID-D63B8851-2A38-5DF2-A2A8-5EDD3BB6A198"><p>Clipping the window </p> </li> <li id="GUID-A8A4DF2F-AC7A-5005-A5DD-AF996740557E"><p>Setting the video extension on the screen that is relative to the window. </p> </li> </ul> <p>The Media Client Video Display library allows you to perform rendering of video to graphics surfaces. It provides APIs to: </p> <ul><li id="GUID-4235EB20-E591-5A83-9380-799122774221"><p>Create the graphic surface </p> </li> <li id="GUID-4E7AF838-3DAD-5A28-B4FF-7AF9882A2716"><p>Update the graphic surface </p> </li> <li id="GUID-4A154439-4857-5A1D-97D6-0DB1E18BAAD3"><p>Surface parameters changed during video play back </p> </li> <li id="GUID-66212705-E07F-55BB-8404-EE7F392F08AE"><p>Remove the graphic surface. </p> </li> </ul> </section> <section><title>APIs</title> <p>The key class of Media Client Video Display is as follows: </p> <table id="GUID-65E3B808-88AF-569A-847F-DE3ABE4CCC1B"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-2BE86C43-A982-39BC-B881-C190966A7E77.dita"><apiname>CMediaClientVideoDisplay</apiname></xref>  </p> </entry> <entry><p>This class is an interface to add or remove video display windows. The <codeph>CMediaClientVideoDisplay</codeph> class supports graphics surfaces and provides display handling functions like video extension, scaling and rotation. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Using Media Client Video Display</title> <p>Clients use <codeph>CMediaClientVideoDisplay</codeph> to: </p> <ul><li id="GUID-104EE148-7167-5F88-B9BB-42BA7A39B08F"><p>Display video in a window </p> </li> <li id="GUID-962251B9-D784-5DB9-AB52-293039E78F9A"><p>Support graphics surfaces. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-152BF5C3-CE32-5174-A043-1B2D5D8168C3.dita"><linktext>Media Client Video Display
                 Tutorial</linktext> </link> <link href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita"><linktext>Video Client Overview</linktext> </link> <link href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita"><linktext>Graphics Composition
                 Surfaces</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0268102D-D238-5C5E-818F-6ACC4A85B022_d0e8848_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0268102D-D238-5C5E-818F-6ACC4A85B022_d0e8970_href.png has changed
--- a/Symbian3/PDK/Source/GUID-026E865E-12FA-59A9-B923-309B65790E23.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-026E865E-12FA-59A9-B923-309B65790E23.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 </ul> </prereq>
 <context><p>The flowchart below shows the steps to create a Fat Filename Conversion
 plug-in DLL. </p> <fig id="GUID-B3799729-B2DB-55E3-AE09-E045A9E1AE8B">
-<image href="GUID-9482CC98-2600-539D-A243-639CF11A2599_d0e678806_href.jpg" placement="inline"/>
+<image href="GUID-9482CC98-2600-539D-A243-639CF11A2599_d0e691633_href.jpg" placement="inline"/>
 </fig> <p> <b>Note</b>: To create the plug-in DLL, the <filepath>unicodeconv.cpp</filepath> file
 is needed. It provides the functions to convert text between Unicode and a
 foreign encoding. It is available on the <xref href="https://developer.symbian.org/xref/sfl/xref/MCL/sf/os/kernelhwsrv/userlibandfileserver/fatfilenameconversionplugins/src/" scope="external">Symbian Foundation</xref> web site. </p><p>This tutorial
Binary file Symbian3/PDK/Source/GUID-02970C7B-5B98-50C7-A324-0DDD71120DEB_d0e228901_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02970C7B-5B98-50C7-A324-0DDD71120DEB_d0e234899_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02F4AA24-283A-503D-8BA9-7C926DC7E306_d0e638138_href.png has changed
Binary file Symbian3/PDK/Source/GUID-02F4AA24-283A-503D-8BA9-7C926DC7E306_d0e650960_href.png has changed
--- a/Symbian3/PDK/Source/GUID-032BE80C-CF9B-564C-B2F8-F254B12699CB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-032BE80C-CF9B-564C-B2F8-F254B12699CB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,116 +1,237 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-032BE80C-CF9B-564C-B2F8-F254B12699CB" xml:lang="en"><title>Release Notes</title><shortdesc>The Symbian Developer Library for Product Developers is
-intended for device developers and contributors to the Symbian platform.
-The information in the library corresponds to the Symbian^3 platform
-release.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-21AAFD40-C4A1-43CF-B087-3638A2E2CC97"><title>Major
-changes between the week 12 2010 release and week 22 2010 release</title><p>Since the week 12 2010 documentation submission to the Symbian
-Foundation, the following major additions have been made:</p><ul>
-<li><p><xref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7.dita">CryptoSPI
- documentation</xref>.</p></li>
-<li><p><xref href="GUID-E7A53792-5ABC-460C-87EA-36E8C6989A2C.dita">API
-changes and compatibility breaks</xref>.</p></li>
-<li><p><xref href="GUID-4FCF605D-52D9-5B2D-80CF-80C940F680CA.dita">Time
-Zone Services overviews and tutorials</xref>.</p></li>
-<li><p><xref href="GUID-D280276A-6E4C-41B7-B6EA-700B33B04981.dita">IP Connection
-Management</xref>.</p></li>
-</ul><p><b>Bug fixes</b>:</p><p>This release contains fixes for the
-following bugs and known issues:</p><ul>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=2714" scope="external">Symbian^3 documentation</xref>.</p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=462" scope="external">Buildrom content is missing</xref>.</p></li>
-<li><p>Some links to Multimedia example code occur more than once
-in the table of contents and in landing pages.</p></li>
-<li><p>Links to the Open C examples in the full example code list
-are broken.</p></li>
-<li><p>Broken and incorrect links in Platform security architecture
-and Optional resource file statements topics.</p></li>
-<li><p>The breadcrumb trails for Application framework guide, Multimedia
-example code and System GUI Framework example code are wrong and contains
-duplicates.</p></li>
-</ul></section>
-<section id="GUID-A425EC89-28E2-4185-94DA-538E53EFF44C"><title>Major
-changes between the week 03 2010 release and week 12 2010 release</title><p>Since the week 03 2010 documentation submission to the Symbian
-Foundation, the following major additions have been made:</p><ul>
-<li><p>Inclusion of API reference extracted from the Symbian^3 source
-code.</p></li>
-<li><p>Inclusion of API specifications.</p></li>
-<li><p>A new <xref href="GUID-190478E6-E614-4386-9431-15672FDB88D4.dita">About Symbian^3</xref> topic, including What's new and Porting applications
-from S60 5th Edition to Symbian^3.</p></li>
-<li><p>A new <xref href="GUID-AFAD9FAE-D09B-4778-8981-47A8073BC044.dita">Getting Started</xref> topic, consisting of the Symbian Foundation's
-C++ Quick Start and Going Beyond Hello tutorials.</p></li>
-<li><p>Integration of the <xref href="GUID-A294084E-B5BB-54C6-A622-49F20E8C927B.dita">Panic Codes Reference</xref>.</p></li>
-<li><p>Addition of new topics: <xref href="GUID-620CD3E3-61C4-4643-8922-48DEA9EF0A6E.dita">Common Email Guide</xref> and <xref href="GUID-C3919681-BB41-4CFA-812F-2D7989E952DC.dita">System
-Resource Monitoring</xref>.</p></li>
-<li><p>The Graphics Guide has been updated for Symbian^3. For details,
-see <xref href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's
-New in Graphics in Symbian^3</xref>.</p></li>
-<li><p>The <xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita">Classic UI Guide</xref> has been updated for Symbian^3. </p></li>
-<li><p>All guides have been updated to refer to the Symbian platform
-rather than to Symbian OS and to S60, apart from where it is necessary
-to refer to past releases. </p></li>
-</ul><p><b>Bug fixes</b>:</p><p>This release contains fixes for the
-following bugs:</p><ul>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1892" scope="external">Change section headings in Symbian^3 product/app
-reference </xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1522" scope="external">Fix up the links in the Platform security architecture
-page</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1520" scope="external">Link to sample chapter of quick recipes book in SDK
-docs</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=394" scope="external">Remove "Using the Indexes"</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1319" scope="external">ambiguous documentation of text-options</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=344" scope="external">Remove references to SDN and SDN++ from Symbian Developer
-Library</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1897" scope="external">Guide landing page is empty</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=463" scope="external">Change references to "Template Port" in the kernel
-&amp; hardware services guide</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=390" scope="external">Example of sharing chunks between surfaces is confusing
-(maybe incorrect?)</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=381" scope="external">Comments on graphics composition overview</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1583" scope="external">Documentation for WDP device driver migration is
-wrong</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=2054" scope="external">Please Check/Update the Paths used in the Reference
-Library</xref> </p></li>
-</ul></section>
-<section id="GUID-C454C6AE-8348-45C4-A374-11598B78193A"><title>Major
-changes between the week 43 2009 release and week 03 2010 release</title><p><b>New content:</b></p><ul>
-<li><p><xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita">Classic
-UI Guide</xref></p></li>
-<li><p><xref href="GUID-C0D38954-2FC5-4E8B-BC11-229464DCF16C.dita">High
-Level Internet Protocols Guide</xref></p></li>
-<li><p><xref href="GUID-DD13AA8E-BDAD-57EC-81EC-49C8D6D30A86.dita">Short
-Link Services Guide</xref></p></li>
-<li><p><xref href="GUID-F9F53050-AAFA-4685-8C62-033E585F061B.dita">Web
-Guide</xref></p></li>
-</ul><p>The following S60 5th Edition C++ Developer's Library 'Technology
-area guides' have been integrated into the Symbian guide:</p><ul>
-<li><p><xref href="GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita">Application
-and UI frameworks</xref> is now in Classic UI Guide.</p></li>
-<li><p><xref href="GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita">S60
-UI components</xref> is now in Classic UI Guide.</p></li>
-<li><p><xref href="GUID-3E341F9F-2635-589B-A59A-B999FE7DF9BE.dita">Multimedia</xref> is now in Multimedia Guide.</p></li>
-<li><p><xref href="GUID-377F7C19-C799-45CE-9ADA-4BB884B422BA.dita">Browsing
-and downloading</xref> is now in Web Guide. </p></li>
-<li><p><xref href="GUID-1E158DE6-33F5-4B45-8923-28117EBAB68A.dita">Location</xref> is now in Location Based Services (LBS).</p></li>
-<li><p><xref href="GUID-AB3D07E6-83C9-4948-A13F-75A65498F444.dita">Security</xref> is now found at the top level. </p></li>
-</ul><p>The S60 Open C and Open C++ documentation has been merged
-into the Symbian P.I.P.S. documentation and is now in <xref href="GUID-5072BE46-B1B4-5C3A-BF55-BEA7443E7657.dita">Generic OS Services
-Guide</xref>.</p><p><b>Other changes:</b></p><p>The Symbian Developer
-Library is now released under the <xref href="http://www.eclipse.org/legal/epl-v10.html" scope="external">Eclipse Public License</xref> (EPL). </p></section>
-<section id="GUID-98071523-F33D-477B-931C-EEF8716BFCFB"><title>Known
-issues in the week 22 2010 release</title><p>See <xref href="http://developer.symbian.org/wiki/index.php/Known_issues_with_Symbian3_product_developers_library" scope="external">Known issues with Symbian3 product developers
-library</xref>.</p></section>
-<section id="GUID-DA20A251-8794-4CA9-B34B-73D8BD8E8A09"><title>Upcoming
-releases and improvements in the Symbian Developer Library for Product
-Developers</title><p>See the <xref href="http://developer.symbian.org/wiki/index.php/Docscontent/Backlog" scope="external">Documentation Content Package Backlog</xref>.</p></section>
-<section id="GUID-D21694BA-16D0-461E-81F5-DEEED9DC83A7"><title>Feedback</title><p>To give feedback, please go to the <xref href="http://developer.symbian.org/bugs/enter_bug.cgi?product=Documentation%20Content" scope="external">Symbian Foundation Bugtracker</xref> (login required).</p></section>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-032BE80C-CF9B-564C-B2F8-F254B12699CB" xml:lang="en">
+<title>Release Notes</title>
+<shortdesc>The Symbian Developer Library for Product Developers is
+intended for device developers and contributors to the Symbian platform.
+The information in the library corresponds to the Symbian^3 platform
+release.</shortdesc>
+<prolog>
+<metadata>
+<keywords></keywords>
+</metadata>
+</prolog>
+<conbody>
+<section><title>Major changes between the week 22 2010 release and
+week 28 2010 release</title><p>The following API specifications are
+new (Product Developer Library build only):</p><ul>
+<li><p><xref
+href="specs/guides/AI_Content_Model_API_Specification/AI_Content_Model_API_Specification.html"
+scope="peer">AI Content Model API</xref></p></li>
+<li><p><xref
+href="specs/guides/AI_Plug-in_Management_API_Specification/AI_Plug-in_Management_API_Specification.html"
+scope="peer">AI Plug-in Management API</xref></p></li>
+<li><p><xref
+href="specs/guides/AI_Utilities_API_Specification/AI_Utilities_API_Specification.html"
+scope="peer">AI Utilities API</xref></p></li>
+<li><p><xref
+href="specs/guides/discreet_popup_api_Specification/discreet_popup_api_Specification.html"
+scope="peer">Discreet Pop-up API</xref></p></li>
+<li><p><xref
+href="specs/guides/Adaptive_History_List_API_Specification/Adaptive_History_List_API_Specification.html"
+scope="peer">Generic AHL API</xref></p></li>
+<li><p><xref
+href="specs/guides/hs_content_control_api_Specification/hs_content_control_api_Specification.html"
+scope="peer">HS Content Control API</xref></p></li>
+<li><p><xref
+href="specs/guides/HS_Rendering_Plug-in_API_Specification/HS_Rendering_Plug-in_API_Specification.html"
+scope="peer">HS External Rendering Plug-in API</xref></p></li>
+<li><p><xref
+href="specs/guides/hs_settings_api_Specification/hs_settings_api_Specification.html"
+scope="peer">HS Settings API</xref></p></li>
+<li><p><xref
+href="specs/guides/idlefw_api_Specification/idlefw_api_Specification.html"
+scope="peer">Idle Fw API</xref></p></li>
+<li><p><xref
+href="specs/guides/menu_content_service_api_Specification/menu_content_service_api_Specification.html"
+scope="peer">Menu Content Service API</xref></p></li>
+<li><p><xref
+href="specs/guides/NP_Proxy_Configuration_API_Specification/NP_Proxy_Configuration_API_Specification.html"
+scope="peer">Network Positioning Proxy Configuration API</xref></p
+></li>
+<li><p><xref
+href="specs/guides/Touch_Gesture_Framework_API_Specification/Touch_Gesture_Framework_API_Specification.html"
+scope="peer">Touch Gesture Framework API</xref></p></li>
+</ul><p><b>Other changes</b>:</p><ul>
+<li><p>The PIM Application Engines and Services section has been split
+into <xref href="GUID-0522B178-0FD5-4416-B7FE-390749F7A13D.dita">Contacts
+Guide</xref> and <xref
+href="GUID-F22B8035-CD08-4181-B03A-759E92CA967B.dita">Organizer Guide</xref
+> to match the Symbian Foundation package structure.</p></li>
+<li><p>The Tools and Utilities section has been removed. The content
+previously included in this section will be delivered with other Tools
+documentation in the Symbian^3 and Symbian^4 Tools Guides (coming
+soon).</p></li>
+</ul><p><b>Bug fixes</b>:</p><p>This release contains fixes for the
+following bugs:</p><ul>
+<li><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1897"
+scope="external">Guide landing page is empty</xref></li>
+<li><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=344"
+scope="external">Remove references to SDN and SDN++ from Symbian Developer
+Library</xref> </li>
+<li><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=2681"
+scope="external">Code listings in API specs are unreadable</xref></li>
+<li><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=463"
+scope="external">Change references to "Template Port" in the kernel
+&amp; hardware services guide</xref></li>
+<li><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=1522"
+scope="external">Fix up the links in the Platform security architecture
+page</xref></li>
+</ul></section>
+<section id="GUID-21AAFD40-C4A1-43CF-B087-3638A2E2CC97"><title>Major
+changes between the week 12 2010 release and week 22 2010 release</title
+><p>Since the week 12 2010 documentation submission to the Symbian
+Foundation, the following major additions have been made:</p><ul>
+<li><p><xref
+href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita"
+>CryptoSPI  documentation</xref>.</p></li>
+<li><p><xref href="GUID-E7A53792-5ABC-460C-87EA-36E8C6989A2C.dita"
+>API changes and compatibility breaks</xref>.</p></li>
+<li><p><xref href="GUID-4FCF605D-52D9-5B2D-80CF-80C940F680CA.dita"
+>Time Zone Services overviews and tutorials</xref>.</p></li>
+<li><p><xref href="GUID-D280276A-6E4C-41B7-B6EA-700B33B04981.dita"
+>IP Connection Management</xref>.</p></li>
+</ul><p><b>Bug fixes</b>:</p><p>This release contains fixes for the
+following bugs and known issues:</p><ul>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=2714"
+scope="external">Symbian^3 documentation</xref>.</p></li>
+<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=462"
+scope="external">Buildrom content is missing</xref>.</p></li>
+<li><p>Some links to Multimedia example code occur more than once
+in the table of contents and in landing pages.</p></li>
+<li><p>Links to the Open C examples in the full example code list
+are broken.</p></li>
+<li><p>Broken and incorrect links in Platform security architecture
+and Optional resource file statements topics.</p></li>
+<li><p>The breadcrumb trails for Application framework guide, Multimedia
+example code and System GUI Framework example code are wrong and contains
+duplicates.</p></li>
+</ul></section>
+<section id="GUID-A425EC89-28E2-4185-94DA-538E53EFF44C"><title>Major
+changes between the week 03 2010 release and week 12 2010 release</title
+><p>Since the week 03 2010 documentation submission to the Symbian
+Foundation, the following major additions have been made:</p><ul>
+<li><p>Inclusion of API reference extracted from the Symbian^3 source
+code.</p></li>
+<li><p>Inclusion of API specifications.</p></li>
+<li><p>A new <xref href="GUID-190478E6-E614-4386-9431-15672FDB88D4.dita"
+>About Symbian^3</xref> topic, including What's new and Porting applications
+from S60 5th Edition to Symbian^3.</p></li>
+<li><p>A new <xref href="GUID-AFAD9FAE-D09B-4778-8981-47A8073BC044.dita"
+>Getting Started</xref> topic, consisting of the Symbian Foundation's
+C++ Quick Start and Going Beyond Hello tutorials.</p></li>
+<li><p>Integration of the <xref
+href="GUID-A294084E-B5BB-54C6-A622-49F20E8C927B.dita">Panic Codes
+Reference</xref>.</p></li>
+<li><p>Addition of new topics: <xref
+href="GUID-620CD3E3-61C4-4643-8922-48DEA9EF0A6E.dita">Common Email
+Guide</xref> and <xref
+href="GUID-C3919681-BB41-4CFA-812F-2D7989E952DC.dita">System Resource
+Monitoring</xref>.</p></li>
+<li><p>The Graphics Guide has been updated for Symbian^3. For details,
+see <xref href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's
+New in Graphics in Symbian^3</xref>.</p></li>
+<li><p>The <xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita"
+>Classic UI Guide</xref> has been updated for Symbian^3. </p></li>
+<li><p>All guides have been updated to refer to the Symbian platform
+rather than to Symbian OS and to S60, apart from where it is necessary
+to refer to past releases. </p></li>
+</ul><p><b>Bug fixes</b>:</p><p>This release contains fixes for the
+following bugs:</p><ul>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=1892"
+scope="external">Change section headings in Symbian^3 product/app
+reference </xref></p></li>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=1522"
+scope="external">Fix up the links in the Platform security architecture
+page</xref></p></li>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=1520"
+scope="external">Link to sample chapter of quick recipes book in SDK
+docs</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=394"
+scope="external">Remove "Using the Indexes"</xref></p></li>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=1319"
+scope="external">ambiguous documentation of text-options</xref></p
+></li>
+<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=344"
+scope="external">Remove references to SDN and SDN++ from Symbian Developer
+Library</xref></p></li>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=1897"
+scope="external">Guide landing page is empty</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=463"
+scope="external">Change references to "Template Port" in the kernel
+&amp; hardware services guide</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=390"
+scope="external">Example of sharing chunks between surfaces is confusing
+(maybe incorrect?)</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/bugs/show_bug.cgi?id=381"
+scope="external">Comments on graphics composition overview</xref></p
+></li>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=1583"
+scope="external">Documentation for WDP device driver migration is
+wrong</xref></p></li>
+<li><p><xref
+href="http://developer.symbian.org/bugs/show_bug.cgi?id=2054"
+scope="external">Please Check/Update the Paths used in the Reference
+Library</xref> </p></li>
+</ul></section>
+<section id="GUID-C454C6AE-8348-45C4-A374-11598B78193A"><title>Major
+changes between the week 43 2009 release and week 03 2010 release</title
+><p><b>New content:</b></p><ul>
+<li><p><xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita"
+>Classic UI Guide</xref></p></li>
+<li><p><xref href="GUID-C0D38954-2FC5-4E8B-BC11-229464DCF16C.dita"
+>High Level Internet Protocols Guide</xref></p></li>
+<li><p><xref href="GUID-DD13AA8E-BDAD-57EC-81EC-49C8D6D30A86.dita"
+>Short Link Services Guide</xref></p></li>
+<li><p><xref href="GUID-F9F53050-AAFA-4685-8C62-033E585F061B.dita"
+>Web Guide</xref></p></li>
+</ul><p>The following S60 5th Edition C++ Developer's Library 'Technology
+area guides' have been integrated into the Symbian guide:</p><ul>
+<li><p><xref href="GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita"
+>Application and UI frameworks</xref> is now in Classic UI Guide.</p
+></li>
+<li><p><xref href="GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita"
+>S60 UI components</xref> is now in Classic UI Guide.</p></li>
+<li><p><xref href="GUID-3E341F9F-2635-589B-A59A-B999FE7DF9BE.dita"
+>Multimedia</xref> is now in Multimedia Guide.</p></li>
+<li><p><xref href="GUID-377F7C19-C799-45CE-9ADA-4BB884B422BA.dita"
+>Browsing and downloading</xref> is now in Web Guide. </p></li>
+<li><p><xref href="GUID-1E158DE6-33F5-4B45-8923-28117EBAB68A.dita"
+>Location</xref> is now in Location Based Services (LBS).</p></li>
+<li><p><xref href="GUID-AB3D07E6-83C9-4948-A13F-75A65498F444.dita"
+>Security</xref> is now found at the top level. </p></li>
+</ul><p>The S60 Open C and Open C++ documentation has been merged
+into the Symbian P.I.P.S. documentation and is now in <xref
+href="GUID-5072BE46-B1B4-5C3A-BF55-BEA7443E7657.dita">Generic OS Services
+Guide</xref>.</p><p><b>Other changes:</b></p><p>The Symbian Developer
+Library is now released under the <xref
+href="http://www.eclipse.org/legal/epl-v10.html" scope="external"
+>Eclipse Public License</xref> (EPL). </p></section>
+<section id="GUID-98071523-F33D-477B-931C-EEF8716BFCFB"><title>Known
+issues in the week 28<?Pub Caret?> 2010 release</title><p>See <xref
+href="http://developer.symbian.org/wiki/index.php/Known_issues_with_Symbian3_product_developers_library"
+scope="external">Known issues with Symbian3 product developers library</xref
+>.</p></section>
+<section id="GUID-DA20A251-8794-4CA9-B34B-73D8BD8E8A09"><title>Upcoming
+releases and improvements in the Symbian Developer Library for Product
+Developers</title><p>See the <xref
+href="http://developer.symbian.org/wiki/index.php/Docscontent/Backlog"
+scope="external">Documentation Content Package Backlog</xref>.</p
+></section>
+<section id="GUID-D21694BA-16D0-461E-81F5-DEEED9DC83A7"><title>Feedback</title
+><p>To give feedback, please go to the <xref
+href="http://developer.symbian.org/bugs/enter_bug.cgi?product=Documentation%20Content"
+scope="external">Symbian Foundation Bugtracker</xref> (login required).</p
+></section>
+</conbody>
+</concept>
+<?Pub *0000012487?>
--- a/Symbian3/PDK/Source/GUID-0348B62D-1AE0-45F5-B06E-9EE2D83326E8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0348B62D-1AE0-45F5-B06E-9EE2D83326E8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 general, only the most important status indicators are displayed. </p>
 <fig id="GUID-32C43BF4-7575-46B6-B2BC-FDDD5B0E9BCA">
 <title>Universal status indicators displayed in the top-right corner</title>
-<image href="GUID-0181F4BD-51A2-49AF-9DAC-517F8BAD8DBC_d0e80547_href.png" placement="inline"/>
+<image href="GUID-0181F4BD-51A2-49AF-9DAC-517F8BAD8DBC_d0e84745_href.png" placement="inline"/>
 </fig>
 <section id="GUID-4920B037-BE5E-460F-B3D6-267F57E663CF"><title>Using
 universal indicators in applications</title><p>The universal
Binary file Symbian3/PDK/Source/GUID-03671C88-6911-5184-A9D4-A2D2FD69A2B9_d0e665539_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03671C88-6911-5184-A9D4-A2D2FD69A2B9_d0e678366_href.png has changed
--- a/Symbian3/PDK/Source/GUID-037DFEEE-757A-5C0B-AAA7-62E3E39FAF30.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-037DFEEE-757A-5C0B-AAA7-62E3E39FAF30.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-037DFEEE-757A-5C0B-AAA7-62E3E39FAF30"><title>Migrating from Feature Registry to Feature Manager</title><shortdesc>Provides detailed instructions for migrating Feature registry to Feature Manager runtime and buildtime. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-E0D11AEA-EFA1-5D4D-9BF2-6B067DBCC5D3"><p><xref href="GUID-D5FE0A98-4529-522A-825C-2444E78B9325.dita#GUID-D5FE0A98-4529-522A-825C-2444E78B9325/GUID-3F4DFEAF-1EFA-5E73-A582-7C5308361F9E">Migrating to Feature Manager runtime APIs</xref>  </p> </li> <li id="GUID-68E62080-C93B-5653-81C1-B7D73B136954"><p><xref href="GUID-4B2E38E1-323C-5523-BA20-B01053D4302B.dita">Migrating to Feature Manager buildtime tooling</xref>  </p> </li> </ul> <p id="GUID-D5FE0A98-4529-522A-825C-2444E78B9325">   </p> <section id="GUID-3F4DFEAF-1EFA-5E73-A582-7C5308361F9E-GENID-1-12-1-24-1-1-4-1-1-4-1-3-3"><title>Migrating to Feature Manager runtime APIs</title> <p>FeatureRegistry queries the presence of a feature with the functions QuerySupport() and QuerySupportS() which are now deprecated. The publishPartner version of Feature Manager implements the corresponding functionality with a choice of function calls, either static or dynamic. The SDK version only provides the static function calls. </p> <table id="GUID-93462398-D94F-5D22-8315-9FC7DB736274"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Old</entry> <entry>New</entry> </row> </thead> <tbody><row><entry><p>TInt RFeatureRegistry:: QuerySupport(TUid aFeatureUid) </p> </entry> <entry><p>TInt RFeatureControl:: FeatureSupported( TUid aFeature ) </p> </entry> </row> <row><entry><p>TInt RFeatureRegistry:: QuerySupport(TUid aFeatureUid, TUint32&amp; aInfo); </p> </entry> <entry><p>TInt RFeatureControl::FeatureSupported( TFeatureEntry&amp; aFeature ) </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid); </p> </entry> <entry><p>TBool static CFeatureDiscovery ::IsFeatureSupportedL( TUid aFeature ) </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid); </p> </entry> <entry><p>Dynamic calls to the Open(), FeatureSupported() and Close() functions of an RFeatureControl object. </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid, TUint32&amp; aInfo); </p> </entry> <entry><p>TBool static CFeatureDiscovery ::IsFeatureSupportedL( TUid aFeature ) </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid, TUint32&amp; aInfo); </p> </entry> <entry><p>Dynamic calls to the Open(), FeatureSupported() and Close() functions of an RFeatureControl object. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-3F4DFEAF-1EFA-5E73-A582-7C5308361F9E-GENID-1-12-1-24-1-1-4-1-1-4-1-3-4"><title>Migrating to Feature Manager buildtime tooling</title> <p>The transition from Feature Registry to Feature Manager also involves changes to the process of building ROM. Features can be included in ROM as a partial build with the purpose of upgrading features, or as the corresponding section of a full build: the changes to the procedure are the same either way. </p> <p>Two tools are used to automate the process: a new version of the old tool <codeph>buildrom</codeph> and a new tool <codeph>features</codeph>. </p> <p>The procedure for building ROM uses a feature database in the form of an an .xml file to specify the features to be included and an .iby file to specify those to be excluded. The structure of these files has been modified slightly. </p> <p>The old feature database, called featureUIDs.xml is replaced by a new version called featuredatabase.xml with a new XML structure. The old XML tags correspond to the new ones like this. </p> <table id="GUID-6070A53F-F510-58C5-BA9C-75670812FE4D"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Feature Registry</entry> <entry>Feature Manager</entry> </row> </thead> <tbody><row><entry><p>&lt;featureuids&gt; </p> </entry> <entry><p>&lt;featuredatabase&gt; </p> </entry> </row> <row><entry><p>&lt;features&gt; </p> </entry> <entry><p>&lt;featureset&gt; </p> </entry> </row> <row><entry><p>&lt;features&gt;:: uid </p> </entry> <entry><p>&lt;feature&gt;::uid </p> </entry> </row> <row><entry><p>&lt;features&gt;::name </p> </entry> <entry><p>&lt;feature&gt;::name </p> </entry> </row> <row><entry><p>None </p> </entry> <entry><p>&lt;feature&gt;:: statusflags </p> </entry> </row> <row><entry><p>&lt;default&gt; </p> </entry> <entry><p>&lt;defaultfeaturerange&gt; </p> </entry> </row> <row><entry><p>&lt;default&gt;:: min </p> </entry> <entry><p>&lt;defaultfeaturerange&gt;:: loweruid </p> </entry> </row> <row><entry><p>&lt;default&gt;:: max </p> </entry> <entry><p>&lt;defaultfeaturerange&gt;:: higheruid </p> </entry> </row> <row><entry><p>&lt;default&gt;:: support </p> </entry> <entry><p>&lt;defaultfeaturerange&gt;:: support </p> </entry> </row> </tbody> </tgroup> </table> <p>The values of the attributes are the same in both versions of the schema. The new attribute statusflags of &lt;feature&gt; takes the mandatory value of 0x00000001. </p> <p>You can upgrade your XML feature database in three ways. </p> <ul><li id="GUID-EF0C9947-688D-5EC1-B04A-76F0C5DCB285"><p>by upgrading the file manually in accordance with the equivalences given, </p> </li> <li id="GUID-A237CB02-642C-5D85-8E79-51E469424A26"><p>by calling the tool features to perform the conversion automatically, or </p> </li> <li id="GUID-FC07D4B8-BF7C-52A0-A029-99B62EAAED56"><p>by leaving the file as it is and calling the tool buildrom with the flag -fm. </p> </li> </ul> <p>You call the tool features like this: </p> <codeblock id="GUID-5472CE98-470D-5752-9FCF-DB18956E701C" xml:space="preserve">features -c &lt;destination&gt; featureUIDs.xml</codeblock> <p>where -c is a flag forcing the conversion. The output is a file <filepath>featureUIDs_converted.xml</filepath> in the folder specified at &lt;destination&gt;. </p> <p>Whether or not you force the conversion, a call to features will generate the file <filepath>feature.iby</filepath> and the header file <filepath>featureUIDs.h</filepath>. </p> <p>The .iby file, called <filepath>feature.iby</filepath>, has a new extended syntax. There are now two new flags which override the default values for the status flags and user-defined data: </p> <ul><li id="GUID-B386B0A1-3CBA-55EF-91FA-4FFC106F0535"><p>SF followed by a value for the status flags of the feature, and </p> </li> <li id="GUID-836C9FD2-C92A-5192-A6EA-A2B19B724435"><p>UD followed by a value for the user-defined data for the feature. </p> </li> </ul> <p>For example: </p> <codeblock id="GUID-D584D3C2-30BD-5948-9F8F-D11023CF59B5" xml:space="preserve">EXCLUDE_FEATURE Fax SF 0x00000008 
+<concept xml:lang="en" id="GUID-037DFEEE-757A-5C0B-AAA7-62E3E39FAF30"><title>Migrating from Feature Registry to Feature Manager</title><shortdesc>Provides detailed instructions for migrating Feature registry to Feature Manager runtime and buildtime. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-E0D11AEA-EFA1-5D4D-9BF2-6B067DBCC5D3"><p><xref href="GUID-D5FE0A98-4529-522A-825C-2444E78B9325.dita#GUID-D5FE0A98-4529-522A-825C-2444E78B9325/GUID-3F4DFEAF-1EFA-5E73-A582-7C5308361F9E">Migrating to Feature Manager runtime APIs</xref>  </p> </li> <li id="GUID-68E62080-C93B-5653-81C1-B7D73B136954"><p><xref href="GUID-4B2E38E1-323C-5523-BA20-B01053D4302B.dita">Migrating to Feature Manager buildtime tooling</xref>  </p> </li> </ul> <p id="GUID-D5FE0A98-4529-522A-825C-2444E78B9325">   </p> <section id="GUID-3F4DFEAF-1EFA-5E73-A582-7C5308361F9E-GENID-1-12-1-27-1-1-4-1-1-4-1-3-3"><title>Migrating to Feature Manager runtime APIs</title> <p>FeatureRegistry queries the presence of a feature with the functions QuerySupport() and QuerySupportS() which are now deprecated. The publishPartner version of Feature Manager implements the corresponding functionality with a choice of function calls, either static or dynamic. The SDK version only provides the static function calls. </p> <table id="GUID-93462398-D94F-5D22-8315-9FC7DB736274"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Old</entry> <entry>New</entry> </row> </thead> <tbody><row><entry><p>TInt RFeatureRegistry:: QuerySupport(TUid aFeatureUid) </p> </entry> <entry><p>TInt RFeatureControl:: FeatureSupported( TUid aFeature ) </p> </entry> </row> <row><entry><p>TInt RFeatureRegistry:: QuerySupport(TUid aFeatureUid, TUint32&amp; aInfo); </p> </entry> <entry><p>TInt RFeatureControl::FeatureSupported( TFeatureEntry&amp; aFeature ) </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid); </p> </entry> <entry><p>TBool static CFeatureDiscovery ::IsFeatureSupportedL( TUid aFeature ) </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid); </p> </entry> <entry><p>Dynamic calls to the Open(), FeatureSupported() and Close() functions of an RFeatureControl object. </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid, TUint32&amp; aInfo); </p> </entry> <entry><p>TBool static CFeatureDiscovery ::IsFeatureSupportedL( TUid aFeature ) </p> </entry> </row> <row><entry><p>TInt static RFeatureRegistry:: QuerySupportS(TUid aFeatureUid, TUint32&amp; aInfo); </p> </entry> <entry><p>Dynamic calls to the Open(), FeatureSupported() and Close() functions of an RFeatureControl object. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-3F4DFEAF-1EFA-5E73-A582-7C5308361F9E-GENID-1-12-1-27-1-1-4-1-1-4-1-3-4"><title>Migrating to Feature Manager buildtime tooling</title> <p>The transition from Feature Registry to Feature Manager also involves changes to the process of building ROM. Features can be included in ROM as a partial build with the purpose of upgrading features, or as the corresponding section of a full build: the changes to the procedure are the same either way. </p> <p>Two tools are used to automate the process: a new version of the old tool <codeph>buildrom</codeph> and a new tool <codeph>features</codeph>. </p> <p>The procedure for building ROM uses a feature database in the form of an an .xml file to specify the features to be included and an .iby file to specify those to be excluded. The structure of these files has been modified slightly. </p> <p>The old feature database, called featureUIDs.xml is replaced by a new version called featuredatabase.xml with a new XML structure. The old XML tags correspond to the new ones like this. </p> <table id="GUID-6070A53F-F510-58C5-BA9C-75670812FE4D"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Feature Registry</entry> <entry>Feature Manager</entry> </row> </thead> <tbody><row><entry><p>&lt;featureuids&gt; </p> </entry> <entry><p>&lt;featuredatabase&gt; </p> </entry> </row> <row><entry><p>&lt;features&gt; </p> </entry> <entry><p>&lt;featureset&gt; </p> </entry> </row> <row><entry><p>&lt;features&gt;:: uid </p> </entry> <entry><p>&lt;feature&gt;::uid </p> </entry> </row> <row><entry><p>&lt;features&gt;::name </p> </entry> <entry><p>&lt;feature&gt;::name </p> </entry> </row> <row><entry><p>None </p> </entry> <entry><p>&lt;feature&gt;:: statusflags </p> </entry> </row> <row><entry><p>&lt;default&gt; </p> </entry> <entry><p>&lt;defaultfeaturerange&gt; </p> </entry> </row> <row><entry><p>&lt;default&gt;:: min </p> </entry> <entry><p>&lt;defaultfeaturerange&gt;:: loweruid </p> </entry> </row> <row><entry><p>&lt;default&gt;:: max </p> </entry> <entry><p>&lt;defaultfeaturerange&gt;:: higheruid </p> </entry> </row> <row><entry><p>&lt;default&gt;:: support </p> </entry> <entry><p>&lt;defaultfeaturerange&gt;:: support </p> </entry> </row> </tbody> </tgroup> </table> <p>The values of the attributes are the same in both versions of the schema. The new attribute statusflags of &lt;feature&gt; takes the mandatory value of 0x00000001. </p> <p>You can upgrade your XML feature database in three ways. </p> <ul><li id="GUID-EF0C9947-688D-5EC1-B04A-76F0C5DCB285"><p>by upgrading the file manually in accordance with the equivalences given, </p> </li> <li id="GUID-A237CB02-642C-5D85-8E79-51E469424A26"><p>by calling the tool features to perform the conversion automatically, or </p> </li> <li id="GUID-FC07D4B8-BF7C-52A0-A029-99B62EAAED56"><p>by leaving the file as it is and calling the tool buildrom with the flag -fm. </p> </li> </ul> <p>You call the tool features like this: </p> <codeblock id="GUID-5472CE98-470D-5752-9FCF-DB18956E701C" xml:space="preserve">features -c &lt;destination&gt; featureUIDs.xml</codeblock> <p>where -c is a flag forcing the conversion. The output is a file <filepath>featureUIDs_converted.xml</filepath> in the folder specified at &lt;destination&gt;. </p> <p>Whether or not you force the conversion, a call to features will generate the file <filepath>feature.iby</filepath> and the header file <filepath>featureUIDs.h</filepath>. </p> <p>The .iby file, called <filepath>feature.iby</filepath>, has a new extended syntax. There are now two new flags which override the default values for the status flags and user-defined data: </p> <ul><li id="GUID-B386B0A1-3CBA-55EF-91FA-4FFC106F0535"><p>SF followed by a value for the status flags of the feature, and </p> </li> <li id="GUID-836C9FD2-C92A-5192-A6EA-A2B19B724435"><p>UD followed by a value for the user-defined data for the feature. </p> </li> </ul> <p>For example: </p> <codeblock id="GUID-D584D3C2-30BD-5948-9F8F-D11023CF59B5" xml:space="preserve">EXCLUDE_FEATURE Fax SF 0x00000008 
 FEATURE Print UD 0x00000010 
         </codeblock> <p>The possible values and significance of the status flags are listed in the enumeration <codeph>TFeatureFlags</codeph>. The user-defined data consists of a 32 bit integer. </p> <p>If you call the tool <codeph>buildrom</codeph> with the new flag -fm then it will convert <filepath>featureUIDs.xml</filepath> into <filepath>featuredatabase.xml</filepath>. This flag replaces the old -f and -fr. </p> </section> </conbody><related-links><link href="GUID-F55EAA3A-5D30-5983-9053-7C3935D99802.dita"><linktext>Feature Registry
                 Overview</linktext> </link> <link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager
--- a/Symbian3/PDK/Source/GUID-038747F2-E5A2-5739-BFF5-69B6BD0DCEB2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-038747F2-E5A2-5739-BFF5-69B6BD0DCEB2" xml:lang="en"><title>abld command syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e80445_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e84643_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e95454_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e99650_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03AC137D-173A-558C-A2F3-9522870AC43C_d0e315969_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03AC137D-173A-558C-A2F3-9522870AC43C_d0e321959_href.png has changed
--- a/Symbian3/PDK/Source/GUID-03BBEA31-3266-5B1C-9017-4EE7EA4AF1A8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-03BBEA31-3266-5B1C-9017-4EE7EA4AF1A8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -44,7 +44,7 @@
 example: <codeblock xml:space="preserve">createsis create -cert trustedchain.pem -key eecertkey.key mypackage.pkg
 </codeblock></note><p>The process of creating an installation file can be
 understood using the following illustration:</p><fig id="GUID-DB0D2E8C-E8B6-46C8-8CF4-1970EA1B3A03">
-<image href="GUID-B46C54AD-268C-58A0-B244-134C4D8BDFE1_d0e25164_href.png" placement="inline"/>
+<image href="GUID-B46C54AD-268C-58A0-B244-134C4D8BDFE1_d0e27131_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Notes</title> <p>While creating a SIS file using the <b>CreateSIS</b> tool,
 if you do not specify the key or certificate on the command line the <codeph>create</codeph> method
Binary file Symbian3/PDK/Source/GUID-03ED031D-65DB-51DE-8238-1F2ADF3BC936_d0e270512_href.png has changed
Binary file Symbian3/PDK/Source/GUID-03ED031D-65DB-51DE-8238-1F2ADF3BC936_d0e276512_href.png has changed
--- a/Symbian3/PDK/Source/GUID-043A9408-1A97-4122-9364-965ECC08B40F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-043A9408-1A97-4122-9364-965ECC08B40F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task id="GUID-043A9408-1A97-4122-9364-965ECC08B40F" xml:lang="en"><title>Converting
 from any local time to UTC</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-3-1-6-1-2-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-3-1-6-1-2-1-1"><cmd>To convert the local
+<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-3-1-6-1-2-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-3-1-6-1-2-1-1"><cmd>To convert the local
 time of a non-system time zone to UTC, use <xref href="GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF.dita#GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF/GUID-F2FCFD02-8FF3-3171-AF90-9755C00A87F8"><apiname>CTzConverter::ConvertToUniversalTime()</apiname></xref>,
 specifying the time zone to convert from: </cmd>
 <stepxmp><p><codeblock xml:space="preserve">TInt errCode = myConverter-&gt;ConvertToUniversalTime(myTime, myZoneId); 
Binary file Symbian3/PDK/Source/GUID-043CFB8D-8780-478C-A3B2-FE5838795665_d0e81300_href.png has changed
Binary file Symbian3/PDK/Source/GUID-043CFB8D-8780-478C-A3B2-FE5838795665_d0e85498_href.png has changed
Binary file Symbian3/PDK/Source/GUID-045F3455-2B5A-5B20-ABCE-ED202DC5078A_d0e7684_href.png has changed
Binary file Symbian3/PDK/Source/GUID-045F3455-2B5A-5B20-ABCE-ED202DC5078A_d0e7806_href.png has changed
Binary file Symbian3/PDK/Source/GUID-04820567-5745-56D3-9D9D-05E576FF7454_d0e607371_href.png has changed
Binary file Symbian3/PDK/Source/GUID-04820567-5745-56D3-9D9D-05E576FF7454_d0e646533_href.png has changed
--- a/Symbian3/PDK/Source/GUID-049A089E-FF08-5706-8485-8C9A5A0BCF6F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-049A089E-FF08-5706-8485-8C9A5A0BCF6F"><title>Symbian Emulator build output locations</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>In versions of the OS from v9.0, all executable files (exes and libraries) are built on the Symbian emulator to <filepath>epoc32\release\winscw\udeb\</filepath> (or <filepath>urel\</filepath> for release builds). This location is the equivalent to <filepath>\sys\bin\</filepath> on target devices. </p> <p>Resource files and other non-executable files are built to the location specified in the mmp file below <filepath>epoc32\release\winscw\</filepath> <varname>udeb or
-        urel</varname> <filepath>\z\</filepath>, for example, <filepath>epoc32\release\winscw\</filepath> <varname>udeb or
-        urel</varname> <filepath>\z\resource\apps\</filepath> for GUI application resources. </p> <p>A copy of the built resources etc. is also put under <filepath>epoc32\data\Z\</filepath>, which is used when building for any target, Symbian emulator or ARM. Because the same resource files apply to all build targets, it makes sense for them to be located in a common directory. </p> <p>To run an executable file, start the Symbian emulator <filepath>epoc32\release\winscw\</filepath> <varname>udeb or
-        urel</varname> <filepath>\epoc.exe</filepath>, and run the program from whatever shell program the UI being used provides. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-04B044E7-5F10-47BC-B95F-27B62C2870E8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-04B044E7-5F10-47BC-B95F-27B62C2870E8" xml:lang="en"><title>Keypad
-tone</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A tone can be generated whenever a key event occurs. The tones for short
-key presses (actually a key down event) and long key presses are different;
-a key repeat event uses the long key press tone.</p>
-<p>The keypad tone can be adjusted or turned ON or OFF by the
-user.</p>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-04B1D977-EE3F-5EC6-B1C7-68F6E4C801E2_d0e49428_href.png has changed
Binary file Symbian3/PDK/Source/GUID-04B1D977-EE3F-5EC6-B1C7-68F6E4C801E2_d0e53662_href.png has changed
--- a/Symbian3/PDK/Source/GUID-04D917A1-E1A0-5149-9660-80A1146D0984.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-04D917A1-E1A0-5149-9660-80A1146D0984.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 (shown in green). </p>
 <fig id="GUID-41677786-E59F-5DF7-97BB-05D7FDA0950C">
 <title>           OpenGLES component relationships          </title>
-<image href="GUID-D5A05EE7-5559-55CC-A839-478B4F513CE4_d0e265187_href.png" placement="inline"/>
+<image href="GUID-D5A05EE7-5559-55CC-A839-478B4F513CE4_d0e271187_href.png" placement="inline"/>
 </fig>
 <p>It is possible for the OpenGL ES and EGL implementations to communicate
 through a private interface that is not standardized by Symbian. </p>
--- a/Symbian3/PDK/Source/GUID-0504B740-FB22-4399-B16D-BE6030B512B3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0504B740-FB22-4399-B16D-BE6030B512B3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,11 +21,11 @@
 button present within the input.</p>
 <fig id="GUID-DB5AC3A3-3C98-4046-BAEE-EDAE8781C57B">
 <title>Split view ITU-T</title>
-<image href="GUID-706263D6-AAE2-40E2-B0B4-D12E253F70A8_d0e98944_href.png" placement="inline"/>
+<image href="GUID-706263D6-AAE2-40E2-B0B4-D12E253F70A8_d0e103024_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-E94E447D-186F-410C-BE48-A3466E3E39FC">
 <title>Split view QWERTY</title>
-<image href="GUID-1A488C86-C0D7-49DE-A32B-6AFEDDC9E89F_d0e98952_href.png" placement="inline"/>
+<image href="GUID-1A488C86-C0D7-49DE-A32B-6AFEDDC9E89F_d0e103032_href.png" placement="inline"/>
 </fig>
 <p>In hybrid devices, when the hardware keyboard is opened, the virtual keyboard
 (full screen or split view) disappears.</p>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-0522B178-0FD5-4416-B7FE-390749F7A13D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0522B178-0FD5-4416-B7FE-390749F7A13D" xml:lang="en"><title>Contacts Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Contacts package offers services for managing contacts-related
+data. Contacts package includes Phonebook and Logs applications. </p>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0528A294-AC1B-5CDD-B59C-A105F39D748F_d0e237324_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0528A294-AC1B-5CDD-B59C-A105F39D748F_d0e243297_href.png has changed
--- a/Symbian3/PDK/Source/GUID-053FFF2B-6FB1-5065-B9D1-047477F3DE01.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-053FFF2B-6FB1-5065-B9D1-047477F3DE01.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 <p>The following diagram illustrates the concept of the dictionary store.</p>
 <fig id="GUID-6EEADFD0-FFCD-513F-BC26-99B46B54D600">
 <title>Dictionary store</title>
-<image href="GUID-22699952-D032-5B69-B38A-43347A40A420_d0e582132_href.png" placement="inline"/>
+<image href="GUID-22699952-D032-5B69-B38A-43347A40A420_d0e631420_href.png" placement="inline"/>
 </fig>
 <p>The interface to a dictionary store is provided by the <codeph>CDictionaryStore</codeph> abstract
 class. The classes for concrete dictionary stores are derived from this abstract
Binary file Symbian3/PDK/Source/GUID-0554F7DB-9102-5BB4-AD10-D6FDE77F1117_d0e464132_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0554F7DB-9102-5BB4-AD10-D6FDE77F1117_d0e469977_href.png has changed
Binary file Symbian3/PDK/Source/GUID-055E42B2-27E7-45F2-8450-5CCF4E1DEB15_d0e91710_href.png has changed
Binary file Symbian3/PDK/Source/GUID-055E42B2-27E7-45F2-8450-5CCF4E1DEB15_d0e95908_href.png has changed
--- a/Symbian3/PDK/Source/GUID-056165A7-E8A1-4868-8051-9EC58C5A3342.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-056165A7-E8A1-4868-8051-9EC58C5A3342.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -54,7 +54,7 @@
 this case, scrollbars are used as navigation indicators.</p></li>
 </ul>
 <fig id="GUID-604A80CE-CB23-45A9-BC29-A01395CD6A2F">
-<image href="GUID-EE5937B6-9103-4711-B13B-06A62D56AF79_d0e97934_href.png" scale="60" placement="inline"/>
+<image href="GUID-EE5937B6-9103-4711-B13B-06A62D56AF79_d0e102012_href.png" scale="60" placement="inline"/>
 </fig>
 <p>Direct taps and strokes are far easier for the user to understand and pick
 up than abstract, indirect ones. A single view must always employ only a few
--- a/Symbian3/PDK/Source/GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,58 +9,58 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F" xml:lang="en"><title>SemaphoreExample:
-thread synchronisation using semaphores</title><shortdesc>Explains how to use Semaphores to achieve thread synchronization.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>It is recommended to use semaphores instead of thread priorities for the
-following reasons:<ul>
-<li><p> In a uniprocessor environment, setting the thread priorities does
-not guarantee prioritized or serialized execution.</p></li>
-<li><p>In a multiprocessor or SMP environment, thread priorities are irrelevant
-as multiple threads can run simultaneously.</p></li>
+<concept id="GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F" xml:lang="en"><title>SemaphoreExample: thread synchronisation using semaphores</title><shortdesc>Explains how to use Semaphores to achieve thread synchronization.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>It is recommended to use semaphores instead of thread priorities
+for the following reasons:<ul>
+<li><p> In a uniprocessor environment, setting the thread priorities
+does not guarantee prioritized or serialized execution.</p></li>
+<li><p>In a multiprocessor or SMP environment, thread priorities are
+irrelevant as multiple threads can run simultaneously.</p></li>
 </ul></p>
-<section id="GUID-48668C9B-6B42-4FE8-899B-403D5EB5FB53"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-34775913-c5c2-41ba-a591-827039bbe7af.zip" scope="external">SemaphoreExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-34775913-c5c2-41ba-a591-827039bbe7af.html" scope="peer">browse</xref> to view the example code. </p></section>
-<section id="GUID-2E531F3D-EEC8-40FD-9F32-2071FDECAE61"><title>Description: </title><p> The example creates a database containing
-a table of three columns with integer entries.</p><p> The example creates
-two threads:</p><ul>
-<li><p><codeph>WriterThread</codeph>: This thread calls a periodic function
-at an interval of one second, and in each iteration it inserts one row of
-integers in the table. </p></li>
-<li><p><codeph>ReaderThread</codeph>: This thread also calls a periodic function
-at an interval of one second, and in each iteration it reads one row of integers
-following the last row read.</p></li>
-</ul><p> The example uses a macro <codeph>USE_SEMAPHORE</codeph> to show the
-difference between the code using semaphores and the code which doesn't use
-semaphores. When not using semaphores, it is not guaranteed that the <codeph>ReaderThread</codeph> will
-be able to read the database because in an SMP environment, data may not yet
-have been written by the <codeph>WriterThread</codeph>.</p><p>Using a semaphore
-serializes the thread execution. The read operation waits on the semaphore
-until it gets a signal from the write operation. This ensures that the <codeph>ReaderThread</codeph> only
-reads a row from the database after the <codeph>WriterThread</codeph> has
-written it. </p></section>
-<section id="GUID-07CAD3CA-86DB-4245-8565-C618E59718A5"><title>Class summary</title><ul>
+<section id="GUID-48668C9B-6B42-4FE8-899B-403D5EB5FB53"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-34775913-c5c2-41ba-a591-827039bbe7af.zip" scope="external">SemaphoreExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-34775913-c5c2-41ba-a591-827039bbe7af.html" scope="peer">browse</xref> to view the example code. </p></section>
+<section id="GUID-2E531F3D-EEC8-40FD-9F32-2071FDECAE61"><title>Description: </title><p> The example creates a database containing a table of three columns
+with integer entries.</p><p> The example creates two threads:</p><ul>
+<li><p><codeph>WriterThread</codeph>: This thread calls a periodic
+function at an interval of one second, and in each iteration it inserts
+one row of integers in the table. </p></li>
+<li><p><codeph>ReaderThread</codeph>: This thread also calls a periodic
+function at an interval of one second, and in each iteration it reads
+one row of integers following the last row read.</p></li>
+</ul><p> The example uses a macro <codeph>USE_SEMAPHORE</codeph> to
+show the difference between the code using semaphores and the code
+which doesn't use semaphores. When not using semaphores, it is not
+guaranteed that the <codeph>ReaderThread</codeph> will be able to
+read the database because in an SMP environment, data may not yet
+have been written by the <codeph>WriterThread</codeph>.</p><p>Using
+a semaphore serializes the thread execution. The read operation waits
+on the semaphore until it gets a signal from the write operation.
+This ensures that the <codeph>ReaderThread</codeph> only reads a row
+from the database after the <codeph>WriterThread</codeph> has written
+it. </p></section>
+<section id="GUID-07CAD3CA-86DB-4245-8565-C618E59718A5"><title>Class
+summary</title><ul>
 <li><p><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref> - A handle to a thread.</p></li>
 <li><p><xref href="GUID-F4A68645-2265-307F-B951-8295827E000B.dita"><apiname>RDbStoreDatabase</apiname></xref> - DBMS Store database implementation</p></li>
 <li><p><xref href="GUID-AED27A76-3645-3A04-B80D-10473D9C5A27.dita"><apiname>RSemaphore</apiname></xref> - Used for thread synchronization. </p></li>
 </ul></section>
-<section id="GUID-863B0EDF-F3F8-4345-9FEE-824350A2DBCE"><title>Building and configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-037442C7-2436-5152-9A3E-9DC0B4283A9C-GENID-1-12-1-17-1-1-9-1-4-1-25-1-31-1-3-5-3-1"><p>The example builds an
-executable called <filepath>semaphoreexample.exe</filepath> in the standard
-location. </p> </li>
-<li id="GUID-B7C849B9-0885-5253-A78B-71854F86D772-GENID-1-12-1-17-1-1-9-1-4-1-25-1-31-1-3-5-3-2"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
+<section id="GUID-863B0EDF-F3F8-4345-9FEE-824350A2DBCE"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-037442C7-2436-5152-9A3E-9DC0B4283A9C-GENID-1-12-1-18-1-1-9-1-4-1-25-1-31-1-3-5-3-1"><p>The example
+builds an executable called <filepath>semaphoreexample.exe</filepath> in the standard location. </p> </li>
+<li id="GUID-B7C849B9-0885-5253-A78B-71854F86D772-GENID-1-12-1-18-1-1-9-1-4-1-25-1-31-1-3-5-3-2"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> .</p> </li>
 </ul> </section>
-<section id="GUID-278DD8CF-28AF-4826-B938-20EC19F3A5B0"><title>Running the example</title> <p>The example code contains a
-macro<codeph>USE_SEMAPHORE</codeph> in the <filepath>mmp</filepath> file.
-By default it is commented out and on execution the example runs without using
-semaphores; the macro should be uncommented to use semaphores. The console
-output will generally look the same whether using semaphores or not if there
-is a single processor, but differences will occur in an SMP environment. Run
-the example following the instructions provided in the console. </p> </section>
+<section id="GUID-278DD8CF-28AF-4826-B938-20EC19F3A5B0"><title>Running
+the example</title> <p>The example code contains a macro<codeph>USE_SEMAPHORE</codeph> in the <filepath>mmp</filepath> file. By default it is commented
+out and on execution the example runs without using semaphores; the
+macro should be uncommented to use semaphores. The console output
+will generally look the same whether using semaphores or not if there
+is a single processor, but differences will occur in an SMP environment.
+Run the example following the instructions provided in the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-057891A5-2394-489E-9323-91BE256F2188_d0e92399_href.png has changed
Binary file Symbian3/PDK/Source/GUID-057891A5-2394-489E-9323-91BE256F2188_d0e96597_href.png has changed
Binary file Symbian3/PDK/Source/GUID-058FAE44-DF72-53E2-BE62-EDC840A7C87F_d0e376244_href.png has changed
Binary file Symbian3/PDK/Source/GUID-058FAE44-DF72-53E2-BE62-EDC840A7C87F_d0e382088_href.png has changed
Binary file Symbian3/PDK/Source/GUID-05C87497-738B-473C-B5B2-BE46D32225F5_d0e94566_href.png has changed
Binary file Symbian3/PDK/Source/GUID-05C87497-738B-473C-B5B2-BE46D32225F5_d0e98764_href.png has changed
--- a/Symbian3/PDK/Source/GUID-063020E5-51C0-45C3-8B8B-015385FA0928.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-063020E5-51C0-45C3-8B8B-015385FA0928.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,14 +18,14 @@
 Calling <xref href="GUID-6A17B64B-44DC-33F0-B18A-25004500C831.dita"><apiname>freopen()</apiname></xref> once more, the user can change the filename
 during execution. This helps to redirect application <xref href="GUID-919E1C29-029A-38E2-B844-141A6E02ADA2.dita"><apiname>printf()</apiname></xref> messages
 into a log file. </p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-15-1-3-2"><title>Download</title> <p>Click
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-15-1-3-2"><title>Download</title> <p>Click
 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b83a4952-b5e5-4ef5-a1c9-ee48705964a1.zip" scope="external">redirectprintf.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b83a4952-b5e5-4ef5-a1c9-ee48705964a1.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-15-1-3-3"><title>Design and
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-15-1-3-3"><title>Design and
 Implementation</title> <p>The following sections provide information about
 the implementation of the example. </p> <p><b>Capabilities</b> </p>The program
 capabilities are defined in <filepath>redirectprintf.mmp</filepath> : <codeph>CAPABILITY
 NONE</codeph>. </section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-15-1-3-4"><title>Building and
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-15-1-3-4"><title>Building and
 Using</title> To build the example application, go to the redirectprintf\group
 directory and build the application.  The definition for the whole application
 can be found in the bld.inf file in the group subdirectory of the applications
--- a/Symbian3/PDK/Source/GUID-064302D7-3598-57C2-89B7-CED294BE78AE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-064302D7-3598-57C2-89B7-CED294BE78AE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,6 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-064302D7-3598-57C2-89B7-CED294BE78AE"><title>Certificate Store Framework</title><shortdesc>Certificate store (certstore) framework provides interfaces for implementing certstore. A certstore is a database that stores certificates. The framework provide functionalities such as generation, storage and retrieval of certificates, assigning trust status to certificates and retrieving list of applications trusting a certificate. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-27-1-1-8-1-3-1-4-1-4-1-3-1"><title>Description</title> <p>The certstore framework is an extension framework of <xref href="GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita">CryptoToken Framework</xref>. The framework provides interfaces that must be implemented to retrieve certificates as tokens from the store. </p> <fig id="GUID-A8B9F0A9-4AE5-5311-B066-ACBEC21F1577"><title>
+<concept xml:lang="en" id="GUID-064302D7-3598-57C2-89B7-CED294BE78AE"><title>Certificate Store Framework</title><shortdesc>Certificate store (certstore) framework provides interfaces for implementing certstore. A certstore is a database that stores certificates. The framework provide functionalities such as generation, storage and retrieval of certificates, assigning trust status to certificates and retrieving list of applications trusting a certificate. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-26-1-1-8-1-3-1-4-1-4-1-3-1"><title>Description</title> <p>The certstore framework is an extension framework of <xref href="GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita">CryptoToken Framework</xref>. The framework provides interfaces that must be implemented to retrieve certificates as tokens from the store. </p> <fig id="GUID-A8B9F0A9-4AE5-5311-B066-ACBEC21F1577"><title>
              Certstore Framework Implementation 
-          </title> <image href="GUID-32A0AE67-0AC4-534F-B978-6D82A205EA48_d0e622146_href.jpg" placement="inline"/></fig> <table id="GUID-8E5BB2F2-C8EF-5E3C-B20F-7CA991A3E2C8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Classes</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCTTokenInterface</apiname></xref>  </p> </entry> <entry><p>Provides an interface for the implementation of an appropriate token </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCertStore</apiname></xref>  </p> </entry> <entry><p>Defines an interface for retrieving details of a stored certificate </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCTCertStore</apiname></xref>  </p> </entry> <entry><p>Defines an interface to implement a read-only certstore using the token framework. This class allows retrieving details of a certificate stored using the CryptoToken framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCTWritableCertStore</apiname></xref>  </p> </entry> <entry><p>Defines an interface to implement a writable certstore. This class allows modifications of the certstore. </p> </entry> </row> </tbody> </tgroup> </table> <p>Device creators can use the interfaces provided by the framework to implement certstore for managing certificates. </p> </section> </conbody><related-links><link href="GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita"><linktext> CryptoToken Framework Overview</linktext> </link> <link href="GUID-0010EB39-8C23-5453-BE96-4EFC520B6F81.dita"><linktext>Unified Certstore</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-32A0AE67-0AC4-534F-B978-6D82A205EA48_d0e594252_href.jpg" placement="inline"/></fig> <table id="GUID-8E5BB2F2-C8EF-5E3C-B20F-7CA991A3E2C8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Classes</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCTTokenInterface</apiname></xref>  </p> </entry> <entry><p>Provides an interface for the implementation of an appropriate token </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCertStore</apiname></xref>  </p> </entry> <entry><p>Defines an interface for retrieving details of a stored certificate </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCTCertStore</apiname></xref>  </p> </entry> <entry><p>Defines an interface to implement a read-only certstore using the token framework. This class allows retrieving details of a certificate stored using the CryptoToken framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-975FC383-552B-3049-BAD8-CF9B8BB9E6A8.dita"><apiname>MCTWritableCertStore</apiname></xref>  </p> </entry> <entry><p>Defines an interface to implement a writable certstore. This class allows modifications of the certstore. </p> </entry> </row> </tbody> </tgroup> </table> <p>Device creators can use the interfaces provided by the framework to implement certstore for managing certificates. </p> </section> </conbody><related-links><link href="GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita"><linktext> CryptoToken Framework Overview</linktext> </link> <link href="GUID-0010EB39-8C23-5453-BE96-4EFC520B6F81.dita"><linktext>Unified Certstore</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-067BC702-4F66-5CAF-952D-7CFA35F5EB1E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-067BC702-4F66-5CAF-952D-7CFA35F5EB1E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,5 +9,5 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-067BC702-4F66-5CAF-952D-7CFA35F5EB1E"><title>Twip to Pixel Mapping</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic provides an introduction to two classes that embody the important GUI features of device independence and the ability to zoom. </p> <p>Two desirable facilities of a GUI are: </p> <ul><li id="GUID-BD40B76E-A127-5E3D-B166-8D875EA8DEA9"><p>device independence </p> </li> <li id="GUID-9440091B-CE23-568D-9A32-062A627A40C8"><p>zooming to reveal greater levels of detail or, conversely, more of a document </p> </li> </ul> <p>These two facilities are embodied in the two classes <codeph>MGraphicsDeviceMap</codeph> and <codeph>TZoomFactor</codeph>. </p> <p>Device independence is facilitated by storing drawings and text in device-independent form and then converting the device-independent units (twips) into device-dependent units (pixels) for different devices such as screens and printers. The conversion interface is <codeph>MGraphicsDeviceMap</codeph>, and it is implemented by graphics devices. </p> <p> <codeph>TZoomFactor</codeph> also implements this interface. It takes a mapping between twips and pixels, and then also applies a zooming factor: the larger the zooming factor, the more pixels per twip. The relationship between the classes is shown below: </p> <fig id="GUID-FE1CA913-3E44-506E-B8A6-253D169946F7"><image href="GUID-E51546A8-D000-540C-A757-56B323EA9DA7_d0e260545_href.png" placement="inline"/></fig> <p>Note that <codeph>TZoomFactor</codeph> not only implements <codeph>MGraphicsDeviceMap</codeph> but also uses it. The point is that the <codeph>MGraphicsDeviceMap</codeph> -supporting object used can either be a graphics device, or another <codeph>TZoomFactor</codeph>. This allows zooming to be applied to an already zoomed mapping. </p> </conbody><related-links><link href="GUID-6AE2F937-69BB-5330-A2B5-44D37FA1DE16.dita"><linktext>Using TZoomFactor and
+<concept xml:lang="en" id="GUID-067BC702-4F66-5CAF-952D-7CFA35F5EB1E"><title>Twip to Pixel Mapping</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic provides an introduction to two classes that embody the important GUI features of device independence and the ability to zoom. </p> <p>Two desirable facilities of a GUI are: </p> <ul><li id="GUID-BD40B76E-A127-5E3D-B166-8D875EA8DEA9"><p>device independence </p> </li> <li id="GUID-9440091B-CE23-568D-9A32-062A627A40C8"><p>zooming to reveal greater levels of detail or, conversely, more of a document </p> </li> </ul> <p>These two facilities are embodied in the two classes <codeph>MGraphicsDeviceMap</codeph> and <codeph>TZoomFactor</codeph>. </p> <p>Device independence is facilitated by storing drawings and text in device-independent form and then converting the device-independent units (twips) into device-dependent units (pixels) for different devices such as screens and printers. The conversion interface is <codeph>MGraphicsDeviceMap</codeph>, and it is implemented by graphics devices. </p> <p> <codeph>TZoomFactor</codeph> also implements this interface. It takes a mapping between twips and pixels, and then also applies a zooming factor: the larger the zooming factor, the more pixels per twip. The relationship between the classes is shown below: </p> <fig id="GUID-FE1CA913-3E44-506E-B8A6-253D169946F7"><image href="GUID-E51546A8-D000-540C-A757-56B323EA9DA7_d0e266554_href.png" placement="inline"/></fig> <p>Note that <codeph>TZoomFactor</codeph> not only implements <codeph>MGraphicsDeviceMap</codeph> but also uses it. The point is that the <codeph>MGraphicsDeviceMap</codeph> -supporting object used can either be a graphics device, or another <codeph>TZoomFactor</codeph>. This allows zooming to be applied to an already zoomed mapping. </p> </conbody><related-links><link href="GUID-6AE2F937-69BB-5330-A2B5-44D37FA1DE16.dita"><linktext>Using TZoomFactor and
                 MGraphicsDeviceMap</linktext> </link> <link href="GUID-1C3455BE-2082-504D-9157-88D8C72B1B80.dita"><linktext>Graphics Device Interface Concepts</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-06B287CD-C19A-4CAC-8378-5563C552448B_d0e86014_href.png has changed
Binary file Symbian3/PDK/Source/GUID-06B287CD-C19A-4CAC-8378-5563C552448B_d0e90212_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-06CB380C-A0F9-5AAE-B66E-AFCAABE9BA39.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-06CB380C-A0F9-5AAE-B66E-AFCAABE9BA39"><title>Dependency diagram for hash.dll on Symbian OS v8.1</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The diagram below shows the inter-dependencies between <filepath>pbe.dll</filepath> (shaded) and its clients. <filepath>Pbe.dll</filepath> imports <filepath>hash.dll</filepath>, <filepath>cryptography.dll</filepath> and <filepath>random.dll</filepath>, and also <filepath>euser.dll</filepath> from the <filepath>base/e32</filepath> component. Line colour has no significance. </p> <fig id="GUID-202F3638-54EA-53BE-B7BE-C66C19784C89"><image href="GUID-62746B54-FFEB-532F-BA00-D6C22F82DBA4_d0e617298_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-074F3499-54FE-58BC-A0F4-D8EA632AF76B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-074F3499-54FE-58BC-A0F4-D8EA632AF76B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-074F3499-54FE-58BC-A0F4-D8EA632AF76B"><title>Externalising a Swizzle</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Typically, externalizing a Swizzle is a two stage process which involves:</p> <ul><li id="GUID-EB65444C-7693-53BB-B3B8-D072F80B0CFD"><p>externalizing the in-memory object which the Swizzle represents, to its own stream</p> </li> <li id="GUID-90A275E2-B9C2-5162-ADBA-1035102A93E1"><p>externalizing the resulting stream ID.</p> </li> </ul> <p>For example, given a container type object, <codeph>CClassABC</codeph>, with a data member <codeph>TSwizzle&lt;CClassB&gt; iB</codeph> representing a <codeph>CClassB</codeph> object in memory, the diagram below illustrates the result of storing the container object.</p> <fig id="GUID-E32084CE-13EE-5F32-A62E-A57C30768AE2"><image href="GUID-530AB0D9-BE70-5892-BFBA-213687CA62D1_d0e584031_href.png" placement="inline"/></fig> <p>The following code fragments illustrates the process.</p> <p><codeph>iB</codeph> is a <codeph>CClassB</codeph> type component of a class <codeph>CClassABC</codeph>, and is represented by a Swizzle. The data member is defined as:</p> <codeblock id="GUID-9751293C-D5CD-5397-97F3-C0E5F4A877DF" xml:space="preserve">class CCClassABC : public CBase
+<concept xml:lang="en" id="GUID-074F3499-54FE-58BC-A0F4-D8EA632AF76B"><title>Externalising a Swizzle</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Typically, externalizing a Swizzle is a two stage process which involves:</p> <ul><li id="GUID-EB65444C-7693-53BB-B3B8-D072F80B0CFD"><p>externalizing the in-memory object which the Swizzle represents, to its own stream</p> </li> <li id="GUID-90A275E2-B9C2-5162-ADBA-1035102A93E1"><p>externalizing the resulting stream ID.</p> </li> </ul> <p>For example, given a container type object, <codeph>CClassABC</codeph>, with a data member <codeph>TSwizzle&lt;CClassB&gt; iB</codeph> representing a <codeph>CClassB</codeph> object in memory, the diagram below illustrates the result of storing the container object.</p> <fig id="GUID-E32084CE-13EE-5F32-A62E-A57C30768AE2"><image href="GUID-530AB0D9-BE70-5892-BFBA-213687CA62D1_d0e633319_href.png" placement="inline"/></fig> <p>The following code fragments illustrates the process.</p> <p><codeph>iB</codeph> is a <codeph>CClassB</codeph> type component of a class <codeph>CClassABC</codeph>, and is represented by a Swizzle. The data member is defined as:</p> <codeblock id="GUID-9751293C-D5CD-5397-97F3-C0E5F4A877DF" xml:space="preserve">class CCClassABC : public CBase
     {
     ...
     TSwizzle&lt;CClassB&gt; iB;
@@ -45,4 +45,4 @@
     aStream &lt;&lt; iB
     ...
     }
-</codeblock> <p>At this point, the Swizzle still represents the <codeph>CClassB</codeph> object as a pointer, and the object itself is still in memory.</p> <p>The mechanism underlying the implementation of the stream <codeph>operator&lt;&lt;</codeph>, assumes that the stream ID associated with the Swizzle has been placed in the store map. It also assumes that the <codeph>RStoreWriteStream</codeph> object has been constructed, specifying the store map as an externalizer.</p> <p>The end result of the operation <codeph>aStream &lt;&lt; iB;</codeph>, is to externalise, to the stream, the stream ID associated with the Swizzle <codeph>iB</codeph>. The following diagram shows this:</p> <fig id="GUID-0958AA91-661B-54EA-B540-067DB933169D"><image href="GUID-DD764F2C-365A-5A5C-9412-4AF2EDB16924_d0e584215_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+</codeblock> <p>At this point, the Swizzle still represents the <codeph>CClassB</codeph> object as a pointer, and the object itself is still in memory.</p> <p>The mechanism underlying the implementation of the stream <codeph>operator&lt;&lt;</codeph>, assumes that the stream ID associated with the Swizzle has been placed in the store map. It also assumes that the <codeph>RStoreWriteStream</codeph> object has been constructed, specifying the store map as an externalizer.</p> <p>The end result of the operation <codeph>aStream &lt;&lt; iB;</codeph>, is to externalise, to the stream, the stream ID associated with the Swizzle <codeph>iB</codeph>. The following diagram shows this:</p> <fig id="GUID-0958AA91-661B-54EA-B540-067DB933169D"><image href="GUID-DD764F2C-365A-5A5C-9412-4AF2EDB16924_d0e633503_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-07791D92-4B0F-5D11-9874-4C03FA1A2C02.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-07791D92-4B0F-5D11-9874-4C03FA1A2C02.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,35 +1,36 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-07791D92-4B0F-5D11-9874-4C03FA1A2C02" xml:lang="en"><title>MClasses1-3:
-abstract interface classes</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Description</title> <p>The three examples show the use of
-‘M’ (abstract interface) classes, the only type of multiple inheritance used
-on the Symbian platform. </p> <p>They show how interfaces can be used to define
-a protocol. The interface is implemented by a protocol provider, and called
-by a protocol user. The user is not supposed to know anything about the provider's
-implementation, only about the protocol it's interested in. </p> </section>
-<section><title>Download</title> <p>Click on the following links to download
-the examples: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-58f282fd-d552-4f00-a0db-9d15054c1f1b.zip" scope="external">MClasses1.zip </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-7c247e26-e8e4-4d94-9dc8-287b73e6ccb7.zip" scope="external">MClasses2.zip </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e67b5701-f1ec-4c9a-85f0-a44117c97673.zip" scope="external">MClasses3.zip </xref></p><p>Click on the following link to
-download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click the following links
-to view the example code.</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-58f282fd-d552-4f00-a0db-9d15054c1f1b.html" scope="peer">MClasses1 </xref> </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-7c247e26-e8e4-4d94-9dc8-287b73e6ccb7.html" scope="peer">MClasses2 </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e67b5701-f1ec-4c9a-85f0-a44117c97673.html" scope="peer">MClasses3 </xref> </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse CommonFramework</xref> to view the additional
-files.</p> </section>
-<section><title>Build</title> <p>The examples each include the two project
-files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian platform build
-process</xref> describes how to build these applications. They results in
-executables called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or           udeb&gt;\MCLASSES1.EXE</filepath>. </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or           udeb&gt;\MCLASSES2.EXE</filepath>. </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or           udeb&gt;\MCLASSES3.EXE</filepath>. </p> </section>
-<section><title>Usage</title> <p>Run the executables <filepath>MCLASSES1.EXE</filepath>, <filepath>MCLASSES2.EXE</filepath> and <filepath>MCLASSES3.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can
-be run on your PC. Executables for ARM targets must be copied to your target
-platform before being run. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-07791D92-4B0F-5D11-9874-4C03FA1A2C02" xml:lang="en"><title>MClasses1-3: abstract interface classes</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-98902784-1ACF-4AD3-B63B-E0F5583469AE"><title>Description</title> <p>The three examples show the
+use of ‘M’ (abstract interface) classes, the only type of multiple
+inheritance used on the Symbian platform. </p> <p>They show how interfaces
+can be used to define a protocol. The interface is implemented by
+a protocol provider, and called by a protocol user. The user is not
+supposed to know anything about the provider's implementation, only
+about the protocol it's interested in. </p> </section>
+<section id="GUID-0695D4FF-9177-4005-A21E-29EDE8D7E8B9"><title>Download</title> <p>Click on the following links to
+download the examples: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-58f282fd-d552-4f00-a0db-9d15054c1f1b.zip" scope="external">MClasses1.zip </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-7c247e26-e8e4-4d94-9dc8-287b73e6ccb7.zip" scope="external">MClasses2.zip </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e67b5701-f1ec-4c9a-85f0-a44117c97673.zip" scope="external">MClasses3.zip </xref></p><p>Click on the following
+link to download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click the following
+links to view the example code.</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-58f282fd-d552-4f00-a0db-9d15054c1f1b.html" scope="peer">MClasses1 </xref> </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-7c247e26-e8e4-4d94-9dc8-287b73e6ccb7.html" scope="peer">MClasses2 </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e67b5701-f1ec-4c9a-85f0-a44117c97673.html" scope="peer">MClasses3 </xref> </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse CommonFramework</xref> to view the additional
+files.</p> </section>
+<section id="GUID-62AED2C3-EB1E-45EB-AE2E-1817FB4D72A4"><title>Build</title> <p>The examples each include the two
+project files needed for building: <filepath>bld.inf</filepath> and
+the <filepath>.mmp</filepath> file. </p> <p> The Symbian platform
+build process describes how to build these applications. They result
+in executables called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or           udeb&gt;\MCLASSES1.EXE</filepath>. </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or           udeb&gt;\MCLASSES2.EXE</filepath>. </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or           udeb&gt;\MCLASSES3.EXE</filepath>. </p> </section>
+<section id="GUID-F7654084-81BB-453C-BEE9-0E05F7CF2415"><title>Usage</title> <p>Run the executables <filepath>MCLASSES1.EXE</filepath>, <filepath>MCLASSES2.EXE</filepath> and <filepath>MCLASSES3.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can be run on your PC. Executables
+for ARM targets must be copied to your target platform before being
+run. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-077B0CE8-FDC1-5BE9-B356-F8E545A0A53D_d0e276163_href.png has changed
Binary file Symbian3/PDK/Source/GUID-077B0CE8-FDC1-5BE9-B356-F8E545A0A53D_d0e282163_href.png has changed
--- a/Symbian3/PDK/Source/GUID-07A42662-87A1-4537-89B9-F87DFC8481E8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-07A42662-87A1-4537-89B9-F87DFC8481E8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 indicator, and the corresponding top-right area for the battery level indicator.</p>
 <fig id="GUID-DF681F66-0CB3-4D53-A853-6BA9DF1D4BA2">
 <title>Signal and battery indicators on the sides of the status pane.</title>
-<image href="GUID-9E705383-5D3F-45D9-82F7-EB76112F2800_d0e80498_href.png" placement="inline"/>
+<image href="GUID-9E705383-5D3F-45D9-82F7-EB76112F2800_d0e84696_href.png" placement="inline"/>
 </fig>
 <p>The signal indicator is a part of the Status pane, and it is displayed
 in all states where the Status pane exists. Indicators consist of a bar graph
Binary file Symbian3/PDK/Source/GUID-07B6D7EE-575A-5E8E-A2BB-8893F84F7F6D_d0e535715_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-07B6D7EE-575A-5E8E-A2BB-8893F84F7F6D_d0e543175_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-07C031C2-7FFC-5B0E-9691-E6E678E65C4B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-07C031C2-7FFC-5B0E-9691-E6E678E65C4B" xml:lang="en"><title>Resource file source format</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,12 +11,12 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955" xml:lang="en"><title>Implementing
 framework requirements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<fig id="GUID-0BBC3D60-0EF0-4446-A1A5-CF84A4728C72"><title>Application Menu</title><image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e64164_href.png"/></fig>
+<fig id="GUID-0BBC3D60-0EF0-4446-A1A5-CF84A4728C72"><title>Application Menu</title><image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e68387_href.png"/></fig>
 <p>In the Symbian platform, mobile device users start applications from
 the application menu. When the mobile device user selects an application,
 the application framework calls the application's entry point to launch the
 application. In some cases, applications can also be started by other executables.</p>
-<fig id="GUID-5A76CBEA-8AF3-4F68-B2FB-9F402D748DF3"><title>Application launch</title><image href="GUID-CC4CA423-0A14-457C-8CBE-4A9F0E8D0B96_d0e64172_href.png"/></fig>
+<fig id="GUID-5A76CBEA-8AF3-4F68-B2FB-9F402D748DF3"><title>Application launch</title><image href="GUID-CC4CA423-0A14-457C-8CBE-4A9F0E8D0B96_d0e68395_href.png"/></fig>
 <p>When an application starts, objects are created in the following order:</p>
 <ol>
 <li id="GUID-BC07E865-8B42-4654-90F9-4644B202EDBC"><p>application
Binary file Symbian3/PDK/Source/GUID-07F65EEA-5969-5E56-9570-245712FB3EE3_d0e341787_href.png has changed
Binary file Symbian3/PDK/Source/GUID-07F65EEA-5969-5E56-9570-245712FB3EE3_d0e347738_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e14596_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e14692_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,86 +1,80 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E" xml:lang="en"><title>Descriptors
-Overview</title><shortdesc>This document provides an overview of descriptors.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-B9DAC214-E22A-4E05-AC39-CE994E87C8CA"><title>Purpose</title> <p>Manipulates
-string and data buffers. </p> </section>
-<section id="GUID-A49ACEBD-15DA-4525-BAA7-C15635518D52"><title>Description</title> <p>Descriptors
-are a family of classes that are used in Symbian platform for string handling.
-They are used in preference to NULL-terminated C strings. The same classes
-are used for general binary data. </p> <p>The basic classification of descriptor
-types is given below. Concrete descriptor classes implement variations on
-these basic types for different data widths and for different abilities to
-modify the data. The names of the concrete classes follow certain naming conventions
-that modify the basic name given in the table. </p> <p><b>Basic
-classification</b> </p> <table id="GUID-F074AE70-AC9D-53E5-AD5F-BB391CD32831">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<tbody>
-<row>
-<entry><p> <b>Type</b>  </p> </entry>
-<entry><p> <b>Description</b>  </p> </entry>
-<entry><p> <b>Basic name</b>  </p> </entry>
-</row>
-<row>
-<entry><p>abstract </p> </entry>
-<entry><p>Base interface: allows descriptors of different types to be use
-polymorphically </p> </entry>
-<entry><p> <xref href="GUID-49D4E917-57EA-39AE-8941-144AA8AC2584.dita"><apiname>TDes</apiname></xref>  </p> </entry>
-</row>
-<row>
-<entry><p>buffer </p> </entry>
-<entry><p>Stack based: contains the data as part of itself. Buffer descriptors
-have a maximum length set at compile time. </p> </entry>
-<entry><p> <xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref>  </p> </entry>
-</row>
-<row>
-<entry><p>pointer </p> </entry>
-<entry><p>Refer to data stored elsewhere that is not owned by the descriptor </p> </entry>
-<entry><p> <xref href="GUID-EA7DEFA4-D4D9-3B2B-86A3-C3FB1A682E61.dita"><apiname>TPtr</apiname></xref>  </p> </entry>
-</row>
-<row>
-<entry><p>heap </p> </entry>
-<entry><p>Refers to data stored on the heap that is owned by the descriptor.
-The maximum length of this data can be set and changed dynamically. </p> </entry>
-<entry><p> <xref href="GUID-A103FB19-60B3-3E45-97A5-1F295934ACA1.dita"><apiname>HBufC</apiname></xref>  </p> <p> <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita"><apiname>RBuf</apiname></xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Width</b> </p> <p>Descriptor
-types can store 8-bit or 16-bit data. These types are indicated by the convention
-of appending 8 or 16 on the basic name, e.g. <xref href="GUID-C04A9A0C-DBA7-37DA-B744-54FBF3D544CD.dita"><apiname>TDes16</apiname></xref>. In
-practice, the basic names correspond to 16-bit types, for example <xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref> is
-defined to be <xref href="GUID-EF25E407-26DF-3D97-B725-2DD0345975BA.dita"><apiname>TBuf16</apiname></xref>. </p> <p><b>Modifiable and non-modifiable</b> </p> <p>Modifiable descriptor types
-have an interface that allows callers to alter their contents, such as appending
-characters. </p> <p>Non-modifiable descriptor types can have their contents
-reset, but not modified. The convention is for non-modifiable types to append
-a C on the basic name, e.g. <xref href="GUID-4D64E4B7-6BEE-3900-A115-460FE5B2D79E.dita"><apiname>TBufC</apiname></xref>. </p> <p>Heap type descriptors
-are an exceptional case: they are available only in the non-modifiable form,
-but can, nevertheless, be modified through use of a pointer: see <codeph>HBufC::Des()</codeph>.
-Alternatively, you can use the <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita"><apiname>RBuf</apiname></xref> descriptor, which is
-simpler to use than <codeph>HBufC</codeph>. The general rule is: </p> <ul>
-<li id="GUID-82384688-B4EB-545B-869D-9BF5C0BC3DD2"><p>use <codeph>HBufC</codeph> for
-data that rarely changes. </p> </li>
-<li id="GUID-A15A3A8B-4B8A-58FB-A972-91242331502D"><p>Use <codeph>RBuf</codeph> for
-data that changes frequently. </p> </li>
-</ul> <p><b>Example code</b></p><p>For
-examples, see:</p><ul>
-<li><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita">Descriptor Example
-Code</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/wiki/index.php/Descriptors_Cookbook.dita">Descriptors
-Cookbook</xref> at the Symbian Foundation.</p></li>
-<li><p><xref href="http://www.forum.nokia.com/info/sw.nokia.com/id/9c61aadd-8ae7-4c19-9484-2b165f0cb55e/S60_Platform_Descriptor_Example_v2_1_en.zip.html" scope="external">S60 Platform: Descriptor Example v2.1</xref> on Forum Nokia.</p></li>
-</ul></section>
-<section id="GUID-72EDBF0F-A0EB-4D93-85D0-55D0EA4740BB"><title>See also</title> <p> <xref href="GUID-EA98D77C-743B-5BA5-B131-A327B12A099C.dita">Character Representation
-Of Real Numbers Overview</xref>  </p> <p> <xref href="GUID-C15F56E3-753C-55CA-B3EF-63B2D139BCE4.dita">Dynamic
-Buffers Overview</xref>  </p> <p> <xref href="GUID-106B5A31-012E-503D-A972-A745ECADC1E7.dita">Literals
-Overview</xref>  </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E" xml:lang="en"><title>Descriptors Overview</title><shortdesc>This document provides an overview of descriptors.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-B9DAC214-E22A-4E05-AC39-CE994E87C8CA"><title>Purpose</title> <p>Manipulates string and data buffers. </p> </section>
+<section id="GUID-A49ACEBD-15DA-4525-BAA7-C15635518D52"><title>Description</title> <p>Descriptors are a family of classes that are used in Symbian
+platform for string handling. They are used in preference to NULL-terminated
+C strings. The same classes are used for general binary data. </p> <p>The basic classification of descriptor types is given below.
+Concrete descriptor classes implement variations on these basic types
+for different data widths and for different abilities to modify the
+data. The names of the concrete classes follow certain naming conventions
+that modify the basic name given in the table. </p> <p><b>Basic classification</b> </p> <table id="GUID-F074AE70-AC9D-53E5-AD5F-BB391CD32831">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/>
+<colspec colname="col2"/>
+<tbody>
+<row>
+<entry><p> <b>Type</b>  </p> </entry>
+<entry><p> <b>Description</b>  </p> </entry>
+<entry><p> <b>Basic name</b>  </p> </entry>
+</row>
+<row>
+<entry><p>abstract </p> </entry>
+<entry><p>Base interface: allows descriptors of different types to
+be use polymorphically </p> </entry>
+<entry><p> <xref href="GUID-49D4E917-57EA-39AE-8941-144AA8AC2584.dita"><apiname>TDes</apiname></xref>  </p> </entry>
+</row>
+<row>
+<entry><p>buffer </p> </entry>
+<entry><p>Stack based: contains the data as part of itself. Buffer
+descriptors have a maximum length set at compile time. </p> </entry>
+<entry><p> <xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref>  </p> </entry>
+</row>
+<row>
+<entry><p>pointer </p> </entry>
+<entry><p>Refer to data stored elsewhere that is not owned by the
+descriptor </p> </entry>
+<entry><p> <xref href="GUID-EA7DEFA4-D4D9-3B2B-86A3-C3FB1A682E61.dita"><apiname>TPtr</apiname></xref>  </p> </entry>
+</row>
+<row>
+<entry><p>heap </p> </entry>
+<entry><p>Refers to data stored on the heap that is owned by the descriptor.
+The maximum length of this data can be set and changed dynamically. </p> </entry>
+<entry><p> <xref href="GUID-A103FB19-60B3-3E45-97A5-1F295934ACA1.dita"><apiname>HBufC</apiname></xref>  </p> <p> <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita"><apiname>RBuf</apiname></xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p><b>Width</b> </p> <p>Descriptor types can store 8-bit or 16-bit data.
+These types are indicated by the convention of appending 8 or 16 on
+the basic name, e.g. <xref href="GUID-C04A9A0C-DBA7-37DA-B744-54FBF3D544CD.dita"><apiname>TDes16</apiname></xref>. In practice, the basic
+names correspond to 16-bit types, for example <xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref> is defined to be <xref href="GUID-EF25E407-26DF-3D97-B725-2DD0345975BA.dita"><apiname>TBuf16</apiname></xref>. </p> <p><b>Modifiable and non-modifiable</b> </p> <p>Modifiable descriptor
+types have an interface that allows callers to alter their contents,
+such as appending characters. </p> <p>Non-modifiable descriptor types
+can have their contents reset, but not modified. The convention is
+for non-modifiable types to append a C on the basic name, e.g. <xref href="GUID-4D64E4B7-6BEE-3900-A115-460FE5B2D79E.dita"><apiname>TBufC</apiname></xref>. </p> <p>Heap type descriptors are an exceptional
+case: they are available only in the non-modifiable form, but can,
+nevertheless, be modified through use of a pointer: see <codeph>HBufC::Des()</codeph>. Alternatively, you can use the <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita"><apiname>RBuf</apiname></xref> descriptor,
+which is simpler to use than <codeph>HBufC</codeph>. The general rule
+is: </p> <ul>
+<li id="GUID-82384688-B4EB-545B-869D-9BF5C0BC3DD2"><p>Use <codeph>HBufC</codeph> for data that rarely changes. </p> </li>
+<li id="GUID-A15A3A8B-4B8A-58FB-A972-91242331502D"><p>Use <codeph>RBuf</codeph> for data that changes frequently. </p> </li>
+</ul> <p><b>Example code</b></p><p>For
+examples, see:</p><ul>
+<li><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita">Descriptor
+Example Code</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/wiki/index.php/Descriptors_Cookbook" scope="external">Descriptors Cookbook</xref> at the Symbian Foundation.</p></li>
+<li><p><xref format="html" href="http://www.forum.nokia.com/info/sw.nokia.com/id/9c61aadd-8ae7-4c19-9484-2b165f0cb55e/S60_Platform_Descriptor_Example_v2_1_en.zip.html" scope="external">S60 Platform: Descriptor Example v2.1</xref> on Forum
+Nokia.</p></li>
+</ul></section>
+<section id="GUID-72EDBF0F-A0EB-4D93-85D0-55D0EA4740BB"><title>See
+also</title> <p> <xref href="GUID-EA98D77C-743B-5BA5-B131-A327B12A099C.dita">Character Representation Of Real Numbers Overview</xref>  </p> <p> <xref href="GUID-C15F56E3-753C-55CA-B3EF-63B2D139BCE4.dita">Dynamic Buffers
+Overview</xref>  </p> <p> <xref href="GUID-106B5A31-012E-503D-A972-A745ECADC1E7.dita">Literals Overview</xref>  </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -38,15 +38,15 @@
 one or the other should happen for every item in the list.</p>
 <fig id="GUID-010C51B9-5D2A-4DD5-A1DA-67A30CD132FD">
 <title>Select action opens a view</title>
-<image href="GUID-B7E55764-C137-4877-9083-63ACEAF30BE5_d0e86006_href.png" placement="inline"/>
+<image href="GUID-B7E55764-C137-4877-9083-63ACEAF30BE5_d0e90204_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-5DD10CF4-6E68-4C81-81D8-1CA45CD674C4">
 <title>Select action performs a command</title>
-<image href="GUID-06B287CD-C19A-4CAC-8378-5563C552448B_d0e86014_href.png" placement="inline"/>
+<image href="GUID-06B287CD-C19A-4CAC-8378-5563C552448B_d0e90212_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-B8275C0A-50B9-4A48-AC20-8E2B84F23F8B">
 <title>Context sensitive Options menu opened with the Selection key</title>
-<image href="GUID-26778399-0105-413F-A39D-535A3BF5EBE2_d0e86022_href.png" placement="inline"/>
+<image href="GUID-26778399-0105-413F-A39D-535A3BF5EBE2_d0e90220_href.png" placement="inline"/>
 </fig>
 <p>The keypad functions for selection lists are as follows:</p>
 <table id="GUID-2AF81DA9-8C20-47AE-87DE-8252CC1DAF59"><title>Default key events
@@ -146,7 +146,7 @@
 </table>
 <fig id="GUID-4149CCA2-D8FE-4393-8D82-A736EF5337C5">
 <title>Selection lists </title>
-<image href="GUID-829C15B1-0769-4E90-935D-4DCA58895E81_d0e86283_href.png" placement="inline"/>
+<image href="GUID-829C15B1-0769-4E90-935D-4DCA58895E81_d0e90481_href.png" placement="inline"/>
 </fig>
 <section id="GUID-FA4ACC82-0080-429B-A155-433F175138A6"><title>Using
 selection lists in applications</title><p>The API to use for selection lists
Binary file Symbian3/PDK/Source/GUID-084C5F8F-3310-5BDE-BB4B-110361D45AB0_d0e321813_href.png has changed
Binary file Symbian3/PDK/Source/GUID-084C5F8F-3310-5BDE-BB4B-110361D45AB0_d0e327799_href.png has changed
Binary file Symbian3/PDK/Source/GUID-085CD9C3-706F-51E7-A1D5-95483D3C9254_d0e147882_href.png has changed
Binary file Symbian3/PDK/Source/GUID-085CD9C3-706F-51E7-A1D5-95483D3C9254_d0e150123_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08698D45-1F37-553A-9497-0081271535A1_d0e167629_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08698D45-1F37-553A-9497-0081271535A1_d0e173722_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0886F421-4895-5007-AAE7-0013E9FF211F_d0e231831_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0886F421-4895-5007-AAE7-0013E9FF211F_d0e237826_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08A6B93F-92CD-5182-B142-D353E78016F3_d0e658855_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08A6B93F-92CD-5182-B142-D353E78016F3_d0e671682_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08E31D57-A84D-5B6B-B16F-3F7025A763E9_d0e338593_href.png has changed
Binary file Symbian3/PDK/Source/GUID-08E31D57-A84D-5B6B-B16F-3F7025A763E9_d0e344565_href.png has changed
--- a/Symbian3/PDK/Source/GUID-08ED8657-DB96-59AC-9016-602BD5680752.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-08ED8657-DB96-59AC-9016-602BD5680752.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 </codeblock> </stepxmp>
 </step>
 </steps>
-<result id="GUID-1C697056-2837-50A1-96AA-801CCC600BD2-GENID-1-12-1-24-1-1-4-1-1-5-1-14-1-9-1-3-3"><p> <xref href="GUID-B22EB47E-EDDB-3F1A-9365-4A093DBBBDFE.dita"><apiname>IsSupportedL()</apiname></xref> returns <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref> if
+<result id="GUID-1C697056-2837-50A1-96AA-801CCC600BD2-GENID-1-12-1-27-1-1-4-1-1-5-1-14-1-9-1-3-3"><p> <xref href="GUID-B22EB47E-EDDB-3F1A-9365-4A093DBBBDFE.dita"><apiname>IsSupportedL()</apiname></xref> returns <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref> if
 the feature is supported or else an error message. </p> </result>
 </taskbody><related-links>
 <link href="GUID-711594BD-9B8E-5E8A-A5A9-6C94F65AF064.dita"><linktext>Querying
Binary file Symbian3/PDK/Source/GUID-09044578-9ADB-540F-A854-A818EA3970B7_d0e342094_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09044578-9ADB-540F-A854-A818EA3970B7_d0e348045_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09142C26-0AFA-510E-836D-010EE07A1549_d0e235717_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09142C26-0AFA-510E-836D-010EE07A1549_d0e241690_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09263C33-EE63-530C-A6B9-70806F0BC16D-master.png has changed
Binary file Symbian3/PDK/Source/GUID-09263C33-EE63-530C-A6B9-70806F0BC16D_d0e724127_href.png has changed
--- a/Symbian3/PDK/Source/GUID-092C18D4-A525-5562-9BF6-41435E400290.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-092C18D4-A525-5562-9BF6-41435E400290.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,19 +16,20 @@
 <p>The purpose is to create a basic multithreading example showing
 the usage of the LibpThread APIs. This example also shows how multi-threading
 is used to achieve concurrency in tasks and sharing of resources. </p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-7-1-2-3"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-84e8baf2-57f1-4255-aeb8-a6ed0ed2145e.zip" scope="external"> LibpThreadExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-84e8baf2-57f1-4255-aeb8-a6ed0ed2145e.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-7-1-2-4"><title>Description</title> <p>The following sections provide more information about the steps
-that the example performs. </p> <p><b> Thread Synchronisation</b> </p> <p>The example creates three threads named ThreadOne,
-ThreadTwo and ThreadThree. The threads write "One", "Two" and "Three"
-five times in a text file. The text file, located in <filepath>epoc32\winscw\c\newfile.txt</filepath>, is used as a shared resource for all three threads. A mutex is
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-7-1-2-3"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-84e8baf2-57f1-4255-aeb8-a6ed0ed2145e.zip" scope="external"> LibpThreadExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-84e8baf2-57f1-4255-aeb8-a6ed0ed2145e.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-7-1-2-4"><title>Description</title> <p>The following sections provide more information about the steps
+that the example performs. </p> <p><b> Thread Synchronisation</b> </p> <p>The example creates three threads named ThreadOne, ThreadTwo
+and ThreadThree. The threads write "One", "Two" and "Three" five times
+in a text file. The text file, located in <filepath>epoc32\winscw\c\newfile.txt</filepath>, is used as a shared resource for all three threads. A mutex is
 used to ensure that first ThreadOne writes in the file, then ThreadTwo
 and then ThreadThree. If the mutex is not used all the threads can
 simultaneously write in the file. This can be seen by commenting out <codeph>pthread_mutex_lock</codeph> and <codeph>pthread_mutex_unlock</codeph> in the code. </p> </section>
 <section id="GUID-236CB272-E196-4A61-B627-ACFFC4B37AA1"><title>Related
 APIs</title><p><xref href="GUID-94FEEC14-384E-364F-929F-0339FE559FB0.dita"><apiname>pthread_mutex_lock(pthread_mutex_t *)</apiname></xref> </p><p><xref href="GUID-E0AABD52-5A8F-3F49-A46D-5CE5BE975765.dita"><apiname>pthread_mutex_unlock(pthread_mutex_t *)</apiname></xref> </p><p><xref href="GUID-23868643-4C61-3661-843B-2D67C54CF163.dita"><apiname>pthread_join(pthread_t,void **)</apiname></xref></p><p><xref href="GUID-889CB456-6980-3B92-9350-0C6C8C9AC435.dita"><apiname>pthread_mutex_t</apiname></xref></p></section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-7-1-2-6"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this example application. </p> <p>The example builds an executable called <filepath>LibpThreadExample.exe</filepath> in the standard locations. </p> <p>To run the example, start <filepath>LibpThreadExample.exe</filepath> from the file system or from your
-IDE. After launching the executable, depending on the emulator you
-are using, you may need to navigate away from the application launcher
-or shell screen to view the console. </p> </section>
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-7-1-2-6"><title>Build</title> <p>The Symbian build process describes how to build this example
+application. </p> <p>The example builds an executable
+called <filepath>LibpThreadExample.exe</filepath> in the standard
+locations. </p> <p>To run the example, start <filepath>LibpThreadExample.exe</filepath> from the file system or from your IDE. After launching the executable,
+depending on the emulator you are using, you may need to navigate
+away from the application launcher or shell screen to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0991E536-97B2-4EAA-9448-A090BD073140_d0e100003_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0991E536-97B2-4EAA-9448-A090BD073140_d0e104088_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09A58B23-68EA-58D7-BBC9-E7F4C4BF55D7_d0e580777_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09A58B23-68EA-58D7-BBC9-E7F4C4BF55D7_d0e630065_href.png has changed
--- a/Symbian3/PDK/Source/GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -45,7 +45,7 @@
 following diagram is an example of a content file. The same diagram is used
 in the procedure to illustrate the implementation of Consumer API. </p> <fig id="GUID-BA86F65C-C34B-57C3-8FD5-A76C61EDF035">
 <title>              Example content file            </title>
-<image href="GUID-1467745D-7C3F-52EC-8C1E-7E2F505B7313_d0e616857_href.png" placement="inline"/>
+<image href="GUID-1467745D-7C3F-52EC-8C1E-7E2F505B7313_d0e588963_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Procedure</title> <ol id="GUID-FE716629-86BE-513F-82F5-89107FB41F0E">
 <li id="GUID-BD7166E0-7D9C-5F55-9DF3-1DE17AEBB80B"><p><xref href="GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C.dita#GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C/GUID-09F7434B-318B-5084-8E8B-54FA0ED48031">Create a content object</xref>. </p> </li>
@@ -84,7 +84,7 @@
 as a jpeg image is a container, it's just that the file only has the <codeph>"DEFAULT"</codeph> object
 embedded inside. </p> <p>So, when the example file shown earlier is opened,
 the following objects can be seen by the <xref href="GUID-EF3C33C0-F02E-3C35-B289-3800631EDC3A.dita"><apiname>CContent</apiname></xref>: </p> <fig id="GUID-EC064DCF-FC5D-59AC-BF5F-378A57808A47">
-<image href="GUID-518FC822-AF10-57E8-990E-BB03C2D6ACBE_d0e617030_href.png" placement="inline"/>
+<image href="GUID-518FC822-AF10-57E8-990E-BB03C2D6ACBE_d0e589136_href.png" placement="inline"/>
 </fig> <p>In this top level container, there is only one embedded content
 object visible (the <filepath>.jpg</filepath> file) and two embedded container
 objects. </p> <codeblock id="GUID-87F01EE6-EDEC-584B-844C-1DDB939FB5B3" xml:space="preserve">// Create an array to store the results of CContent::GetEmbeddedObjectsL() 
@@ -118,7 +118,7 @@
 // Open the first container 
 content-&gt;OpenContainer(UniqueId);</codeblock> <p>Now <xref href="GUID-EF3C33C0-F02E-3C35-B289-3800631EDC3A.dita"><apiname>CContent</apiname></xref> can
 see the contents of Container 1: </p> <fig id="GUID-2A67C29A-FBF3-553E-B653-462F5128B2F4">
-<image href="GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e617079_href.png" placement="inline"/>
+<image href="GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e589185_href.png" placement="inline"/>
 </fig> <p>At this point, listing the objects that <xref href="GUID-EF3C33C0-F02E-3C35-B289-3800631EDC3A.dita"><apiname>CContent</apiname></xref> can
 see gives six MP3 files and one container object. </p> <codeblock id="GUID-F1A7C149-9AB1-5DD2-BE20-280431DBAF40" xml:space="preserve">// Get the embedded content objects in the current container 
 content-&gt;GetEmbeddedObjectsL(myArray, EContentObject); 
@@ -266,6 +266,6 @@
 content-&gt;GetEmbeddedObjectsL(myArray, EContainerObject); 
 i = myArray.Count(); // One container object 
 myArray.ResetAndDestroy();</codeblock> <fig id="GUID-F3A1B237-A07C-5AE7-82F1-5DAA3BA65553">
-<image href="GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e617387_href.png" placement="inline"/>
+<image href="GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e589493_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-09E44FE5-6BEE-49FF-8BBF-CBB3C066EE10.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-09E44FE5-6BEE-49FF-8BBF-CBB3C066EE10.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 <prereq id="GUID-03B31784-B731-43C4-B2DC-38DD4898AE22">       <p>Before listening
 for channel changes, you must <xref href="GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita#GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B/GUID-FBBD3A8B-F240-4DC0-B516-3A51FDD86A88">open
 the sensor channel</xref>.</p>     </prereq>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-9-1-3-2">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-9-1-3-2">
 <step id="GUID-B454B117-4FC5-4B19-B512-7B4A213E4C51"><cmd>Create a channel
 listener implementation for the <parmname>MSensrvChannelListener</parmname> interface.</cmd>
 <stepxmp><codeblock xml:space="preserve">class ChannelListener:public MSensrvChannelListener
Binary file Symbian3/PDK/Source/GUID-09EE01E2-BF5E-5302-BA25-46C440ADECF5_d0e378223_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09EE01E2-BF5E-5302-BA25-46C440ADECF5_d0e384076_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09EFBBDE-780D-5A16-8E3B-78DEFF1F8938_d0e453895_href.png has changed
Binary file Symbian3/PDK/Source/GUID-09EFBBDE-780D-5A16-8E3B-78DEFF1F8938_d0e459740_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0A13A931-016C-5325-97AF-2DE0B210DF2F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0A13A931-016C-5325-97AF-2DE0B210DF2F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -53,7 +53,7 @@
 <title>              Window Server            </title>
 <desc><p>The Window Server controls access by many client applications,
 to the machine’s screen, keyboard and pointer. </p> </desc>
-<image href="GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e234649_href.png" placement="inline"/>
+<image href="GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e240639_href.png" placement="inline"/>
 </fig> <p>The Window Server thread runs at a higher priority than
 any application; only the kernel runs at a higher priority. Therefore,
 all applications' requests for screen updates, and all handling of
@@ -79,7 +79,7 @@
 we provide a summary of the key concepts. </p> <fig id="GUID-A84A2706-1AF0-598B-976E-0980AD69E6E7">
 <title>             Window Server client-side API classes        
    </title>
-<image href="GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e234674_href.png" placement="inline"/>
+<image href="GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e240664_href.png" placement="inline"/>
 </fig> <table id="GUID-37EDAB58-6F7B-526A-8E46-891598924120">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
@@ -178,18 +178,12 @@
 the Window Server and write to the screen directly. This avoids client-server
 communication and as a result is faster. However, some interaction
 with the Window Server is needed to prevent the application from drawing
-over other application's data. </p> <p>In ScreenPlay, Symbian recommends
-the use of <xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">external surfaces</xref> in preference to DSA. However, support for
-DSA is maintained for backward compatibility reasons, although there
-are some subtle changes in the support offered.</p><p>ScreenPlay does
-not support the mixing of <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> and DSA rendering
-to the same window. When DSA rendering is present, any <codeph>CWindowGc</codeph> rendering to the same window is ignored. For example, an application
-that uses <codeph>CWindowGC</codeph> rendering in one part of a window
-and DSA rendering in another part will not work as expected in a ScreenPlay
-environment. Similarly, <codeph>CWindowGc</codeph> rendering can no
-longer be used to seed the DSA content as it could previously. However, <codeph>CWindowGc</codeph> rendering can be provided but it is not rendered
-until the DSA rendering finishes. It is therefore best to avoid mixing
-the rendering types in the same window.</p> </entry>
+over other application's data. </p> <p>On ScreenPlay, support for
+direct screen access (DSA) is maintained for backward compatibility
+reasons, although Symbian recommends the use of <xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">external surfaces</xref> in preference to DSA. However, whereas on some earlier devices,
+applications might work without fully conforming to the rules of DSA,
+these rules are now necessarily enforced. See <xref href="GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita">DSA Migration Guide</xref> for information about the guidelines applications must follow in
+order to be able to run correctly on a ScreenPlay device.</p> </entry>
 </row>
 </tbody>
 </tgroup>
Binary file Symbian3/PDK/Source/GUID-0A24FF35-5A61-5305-812B-632F20F0395D_d0e454299_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0A24FF35-5A61-5305-812B-632F20F0395D_d0e460144_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0A61CB48-B8EA-5516-B24E-65898CDF2566.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0A61CB48-B8EA-5516-B24E-65898CDF2566.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -541,7 +541,7 @@
 the C32 server. Each of these configurations is explained in more detail below. </p> <fig id="GUID-BC275667-5D19-56CA-ABD9-68265A852282">
 <title>              Figure 1 - No CSYs in main thread: RootServer with 4
 C32 CPMs            </title>
-<image href="GUID-085CD9C3-706F-51E7-A1D5-95483D3C9254_d0e147882_href.png" placement="inline"/>
+<image href="GUID-085CD9C3-706F-51E7-A1D5-95483D3C9254_d0e150123_href.png" placement="inline"/>
 </fig> <p>Referring to Figure 1, the following can be observed: </p> <ol id="GUID-DA3BC841-1BE9-5483-8EC0-7BA479D85C14">
 <li id="GUID-EAD7752C-A094-51CA-903C-52DCF2AB5353"><p>The Main Thread has <codeph>WorkerId=0</codeph>,
 Role as Dealer and is configured to load no CSY </p> </li>
@@ -573,7 +573,7 @@
 </codeblock> <fig id="GUID-92921AF5-D056-52A9-B10E-80760DE9CD2F">
 <title>              Figure 2 - All CSYs in main thread: RootServer with single
 C32 CPM            </title>
-<image href="GUID-E808AB2B-3A2D-5C91-9047-A74AAA770CE6_d0e147949_href.png" placement="inline"/>
+<image href="GUID-E808AB2B-3A2D-5C91-9047-A74AAA770CE6_d0e150190_href.png" placement="inline"/>
 </fig> <p>In Figure 2 the CPM loads any CSYs, and so should contain <codeph>CSYList</codeph> tag
 in the IniData section. </p> <p>The Main Thread has <codeph>WorkerId=0</codeph>,
 Role as Dealer and is configured to load <i>any</i> CSY. In this configuration
@@ -585,7 +585,7 @@
 </codeblock> <fig id="GUID-8F658644-2E07-53A3-A003-C1F015E1396B">
 <title>                 Figure 3 - Some CSYs in main thread: RootServer with
 3 CPMs               </title>
-<image href="GUID-F2D96A30-7264-5CAF-9CC7-8AF05EF978E1_d0e147981_href.png" placement="inline"/>
+<image href="GUID-F2D96A30-7264-5CAF-9CC7-8AF05EF978E1_d0e150222_href.png" placement="inline"/>
 </fig> <p>From Figure 3, the following can be observed. </p> <ol id="GUID-E945237B-900A-588A-A3FF-C0B75A43BB4A">
 <li id="GUID-0A3CEB52-2C0F-5BB9-A271-756F9F374111"><p>The Main Thread has <codeph>WorkerId=0</codeph>,
 Role as Dealer and is configured to load HSDPA csy </p> </li>
--- a/Symbian3/PDK/Source/GUID-0A7AB5BF-B126-4A3C-AC0D-C5443C06A82E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0A7AB5BF-B126-4A3C-AC0D-C5443C06A82E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 possible solution is to send the cancel completion message from the <codeph>RunL()</codeph> function
 call of the server.</p><fig id="GUID-6792304C-AE6D-450A-B4BE-60B48F981CF5">
 <title>Error in cancellation sequence</title>
-<image href="GUID-F492978A-1732-4BCD-8D3C-D2F657BAB504_d0e18587_href.png" placement="inline"/>
+<image href="GUID-F492978A-1732-4BCD-8D3C-D2F657BAB504_d0e20579_href.png" placement="inline"/>
 </fig></section>
 <example><title>Client code</title><codeblock xml:space="preserve">// [...]
 //Whilst running
--- a/Symbian3/PDK/Source/GUID-0A932926-281D-5465-9F38-E5FA8AA7EBD4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0A932926-281D-5465-9F38-E5FA8AA7EBD4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 following illustration shows the steps for creating a CSIPContactHeader instance.
   </p><fig id="GUID-6E4ECB08-CAED-4062-BCF3-AE2210317B52">
 <title>Creating a Contact Header </title>
-<image href="GUID-E726406A-2DAF-5A5F-91AF-7919C671F18F_d0e549108_href.png" placement="inline"/>
+<image href="GUID-E726406A-2DAF-5A5F-91AF-7919C671F18F_d0e556564_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-1E82D5DB-9B70-5C2F-A2E8-B777727F8468"><title>Error handling</title><p>If
 an error occurs during a synchronous operation initiated by the client, the
--- a/Symbian3/PDK/Source/GUID-0AD34BA6-D0C5-5AD7-B8E1-F737BB5FC0AC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0AD34BA6-D0C5-5AD7-B8E1-F737BB5FC0AC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 <p>The classes involved with redraw stores are as follows: </p>
 <fig id="GUID-85C23EC3-BADE-5DE1-872D-0D8399209874">
 <title>           Redraw stores class diagram          </title>
-<image href="GUID-40437D9A-7503-5087-851A-D1269F0AF9A9_d0e248069_href.png" placement="inline"/>
+<image href="GUID-40437D9A-7503-5087-851A-D1269F0AF9A9_d0e254080_href.png" placement="inline"/>
 </fig>
 <p> <xref href="GUID-FF963788-695A-320F-9E81-76E45B0287D1.dita"><apiname>CWsRedrawMsgWindow</apiname></xref> is the class representing a redraw
 store. Draw commands are stored in a number of segments, stored in the nested
Binary file Symbian3/PDK/Source/GUID-0B0EF90E-45A4-467F-8CD9-33FBC612B3BD_d0e2460_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B0EF90E-45A4-467F-8CD9-33FBC612B3BD_d0e2470_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B151FE8-21E1-58A1-BEB3-5502EDF052C0_d0e109584_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B151FE8-21E1-58A1-BEB3-5502EDF052C0_d0e112007_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B1A4D73-AB81-586C-9D95-A0F5EE1F4BC7_d0e541071_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B1A4D73-AB81-586C-9D95-A0F5EE1F4BC7_d0e548531_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B41947E-B710-5D89-AEEF-6EFF496BAD96_d0e458990_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B41947E-B710-5D89-AEEF-6EFF496BAD96_d0e464835_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B45D491-F88A-5036-A51C-9BFD6DB574D5_d0e63250_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0B45D491-F88A-5036-A51C-9BFD6DB574D5_d0e67481_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0B4D4675-2CFB-5964-A869-7275202AC71D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0B4D4675-2CFB-5964-A869-7275202AC71D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 </codeblock> </stepxmp> </step> <step id="GUID-82CD3F69-85A8-5D9D-9C38-9F4424A33B4A"><cmd>Write code to handle the Location Server setting GPS options </cmd> <info>The PSY can also be passed options for a position request. The parameters are obtained through accessor methods provided on the <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref> class. </info> <info>The <codeph>CPositioner</codeph> base class provides a default implementation that retrieves the options provided by the client application when it makes a location request. The PSY implementation can override these methods if required: </info> <substeps id="GUID-F357104A-BE9B-5919-8AB6-15114BF7DC17"><substep id="GUID-D91E3CAB-29D6-5CBE-912A-CBAF4A54F83C"><cmd/><info> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-F72BE40F-537B-3633-B6BF-65B694682681"><apiname>CPositioner::GetMaxAge()</apiname></xref>  </info> <info>A client application may specify a maximum age when performing a position request. This means that a position can be returned from an old measurement as long as the position is not older than the specified maximum age. Supporting maximum age is optional in a PSY. If the PSY developer wants to support the maximum age, the PSY must be implemented to cache the latest position estimate. <codeph>GetMaxAge()</codeph> is the function that the PSY implementation can use to retrieve the maximum age specified by the client. </info> </substep> <substep id="GUID-EFB2A64D-109F-5D1D-94C1-88316F12ADCA"><cmd/><info> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-53E2D165-76D4-3329-9834-B64EEC11604F"><apiname>CPositioner::IsPartialUpdateAllowed()</apiname></xref>   </info> <info>A client application may specify that it accepts incomplete location information. Incomplete location information is only required to contain the time and the PSY ID. It is not required to include latitude or longitude. For example, a GPS PSY may read NMEA sentences, which does not include a fix because the terminal is indoors. The GPS PSY could still return satellite information to the client if partial updates are allowed. The PSY can check if partial location information is accepted by the client by calling <codeph>IsPartialUpdateAllowed()</codeph>. If <codeph>ETrue</codeph> is returned, then the PSY can return an incomplete fix. </info> </substep> <substep id="GUID-AEA081B2-E438-51D5-8CE8-956BD929AE32"><cmd/><info> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-C7BB2CA5-3351-3117-B859-C3014B80653C"><apiname>CPositioner::GetRequiredPositionQuality()</apiname></xref>  </info> <info>A client application may specify a required position quality. The PSY can use the position quality if it is possible to specify the required quality of position to the positioning technology that it encapsulates. <codeph>GetRequiredPositionQuality()</codeph> returns <codeph>KErrNotFound</codeph> if no quality has been specified by the client. </info> <info> Important Note:  <codeph>
                      GetRequiredPositionQuality()</codeph> is not currently supported and always returns <codeph>KErrNotFound</codeph>. </info> </substep> </substeps> </step> <step id="GUID-83717E31-D4E4-5937-A6D0-6A8368798C8B"><cmd>Write code to handle a single location request </cmd> <info>When a client requests location information from the Location Framework, the framework forwards the request to a PSY instance. <codeph>CPositioner</codeph> provides a pure virtual method <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-03A37FAC-3129-3483-AC7F-C17A46D9F431"><apiname>CPositioner::NotifyPositionUpdate()</apiname></xref> that must be implemented by the PSY in order to handle a position request. </info> <info> <codeph>NotifyPositionUpdate()</codeph> is an asynchronous call and must be implemented in the PSY to return at once. If positioning takes time, it should be implemented using active objects, otherwise the Location Server is blocked for the time that a position fix is being obtained by the PSY. <codeph>NotifyPositionUpdate()</codeph> has a <codeph>TRequestStatus</codeph> parameter which is used to signal that the position acquisition is complete. </info> <info> <codeph>NotifyPositionUpdate</codeph> () also has a <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref> as an output parameter. This object is used to pass position information back to the client. <codeph>TPositionInfoBase</codeph> is an abstract class and the actual class hierarchy of the position information object can be obtained by calling <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita#GUID-73D6F438-C270-33B9-974B-D4D1583E1738/GUID-CD86897E-5924-3758-BD92-1D324BE4287C"><apiname>TPositionInfoBase::PositionClassType()</apiname></xref>. The PSY must cast the position information object to the actual subclass and the appropriate position information filled in. PSYs can support different sets of position information classes but <xref href="GUID-D5B2E933-209D-3871-8E27-CC5C8855C745.dita"><apiname>TPositionInfo</apiname></xref> and <xref href="GUID-ADB30502-C84C-3027-B457-9150FA4AC510.dita"><apiname>HGenericPositionInfo</apiname></xref> are mandatory. The position information class must store data as specified by the WGS84 geodetic datum. </info> <info>The PSY must also report the data quality status while returning position information. </info> <info>This sequence diagram of figure 1 shows the steps that are involved when the Location Framework makes a request for a position update from a PSY. </info> <info><fig id="GUID-E194C421-6C62-5538-809C-DB33A454B930"><title>
                   Figure 1. Handling a request for position information. 
-                </title> <image href="GUID-2D86812F-5DB1-5FD9-A199-AE344D5A10C8_d0e456651_href.png" placement="inline"/></fig> </info> <info>The following code example shows how to process a location request. </info> <stepxmp><codeblock id="GUID-8D2520E2-38D9-5412-A1C7-B57B88998576" xml:space="preserve">void CPosExamplePositioner::NotifyPositionUpdate(
+                </title> <image href="GUID-2D86812F-5DB1-5FD9-A199-AE344D5A10C8_d0e462496_href.png" placement="inline"/></fig> </info> <info>The following code example shows how to process a location request. </info> <stepxmp><codeblock id="GUID-8D2520E2-38D9-5412-A1C7-B57B88998576" xml:space="preserve">void CPosExamplePositioner::NotifyPositionUpdate(
     TPositionInfoBase&amp; aPosInfo,
     TRequestStatus&amp; aStatus)
     {
@@ -68,9 +68,9 @@
     } 
 </codeblock> </stepxmp> </step> <step id="GUID-100F3359-EDCF-5555-A38B-B379F0A7C572"><cmd>Write code to handle periodic location requests (tracking) </cmd> <info>A client application can request periodic position updates from the Location Framework. This is known as tracking. If the client application continues to reissue position requests as soon as the last request completes then it receives periodic position updates. </info> <info>The Location Framework sends a position request to a PSY when a location update is required by a client. The PSY must be ready to give position information as soon as the Location Framework sends a request. A PSY needs to know about the requirement for periodic position requests if the underlying positioning technology needs to be kept powered in order to provide fast position updates. Conversely, a PSY can go into standby mode if it knows that it is a long time until the next request. </info> <info>To support tracking the PSY must implement the following virtual methods in <codeph>CPositioner</codeph>: </info> <substeps id="GUID-F84A38AA-F86B-5049-984D-296896BB7FAA"><substep id="GUID-65D1CB9C-B8AA-54AF-A4E0-0527F3BC0A52"><cmd/><info> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-EF23126A-7869-3113-9ED6-530BB57D66A2"><apiname>CPositioner::TrackingOverridden()</apiname></xref> must be implemented by the PSY <codeph>CPositioner</codeph> subclass to return <codeph>ETrue</codeph>. This indicates that the PSY implements specific logic to handle periodic position updates. The default implementation for <codeph>TrackingOverridden</codeph> in <codeph>CPositioner</codeph> returns <codeph>EFalse</codeph>. </info> </substep> <substep id="GUID-57D535CB-67A1-5027-92D7-4998926556E8"><cmd/><info> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-C0CCADDD-6CD8-37E9-BC7F-19ECF0F72C84"><apiname>CPositioner::StopTracking()</apiname></xref> must be overridden by the PSY <codeph>CPositioner</codeph> subclass. It is called by the Location Framework to signal that the tracking session has been closed so the PSY can put the positioning technology hardware into standby mode. The default implementation for <codeph>StopTracking() </codeph> in <codeph>CPositioner</codeph> does not perform any action. </info> <info>If a PSY implementation returns <codeph>ETrue</codeph> from <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-EF23126A-7869-3113-9ED6-530BB57D66A2"><apiname>CPositioner::TrackingOverridden()</apiname></xref> then it should provide an implementation of <codeph>StopTracking()</codeph>. </info> </substep> <substep id="GUID-EFE1E5CA-E9A4-56BE-82C1-5A2EA31BD985"><cmd/><info> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-4DFC679F-F6F6-39A1-91DF-69661ABC0FA8"><apiname>CPositioner::StartTrackingL()</apiname></xref> must be overridden by the PSY <codeph>CPositioner</codeph> subclass. It is called by the Location Framework to signal that the Location Server has started a tracking session. The PSY can start the positioning technology specific device/protocol and keep it in state where position information can be obtained quickly. </info> <info>The periodicity of position updates requested by theclient application is passed as an input parameter to this method. If the PSY cannot support the periodicity, it must return fixes as frequently as possible. The default implementation for <codeph>StartTrackingL()</codeph> in <codeph>CPositioner</codeph> leaves with <codeph>KErrNotSupported</codeph>. If the PSY implementation returns <codeph>ETrue</codeph> from <codeph>TrackingOverridden</codeph> then it needs to provide an implementation of <codeph>StartTrackingL()</codeph>. </info> </substep> </substeps> <info>Figure 2 shows the steps that are involved when the Location Framework initiates a periodic position request from a PSY: </info> <info><fig id="GUID-B62DCC66-0C97-594A-A22F-EEC88E507924"><title>
                   Figure 2. Handling periodic position determination request 
-                </title> <image href="GUID-474654BE-D73E-5249-B7E3-7F2656DAB190_d0e456780_href.png" placement="inline"/></fig> </info> </step> <step id="GUID-1FC0C372-4FA8-5F16-86DC-158F09F4246F"><cmd>Write code to handle request cancellation </cmd> <info>When the client requests cancellation of an outstanding location request from the Location Framework, the framework forwards the request to the corresponding PSY instance. The <codeph>CPositioner</codeph> provides a pure virtual method <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-D28C6BC6-69B8-3D69-BE46-5745C5B77A4D"><apiname>CPositioner::CancelNotifyPositionUpdate()</apiname></xref> that has to be implemented by the PSY in order to handle cancellation of a position request. </info> <info> <codeph>CancelNotifyPositionUpdate()</codeph> must be implemented to cancel any outstanding request in the PSY. Typically this involves cancelling some active object. If there is an outstanding request, it must be completed with the code <codeph>KErrCancel</codeph>. </info> <info>Figure 3 shows the steps that are involved when the Location framework initiates a cancel request for an outstanding position request. </info> <info><fig id="GUID-BC2EE2F2-4F13-5EFA-B80B-B79E90EA5B3E"><title>
+                </title> <image href="GUID-474654BE-D73E-5249-B7E3-7F2656DAB190_d0e462625_href.png" placement="inline"/></fig> </info> </step> <step id="GUID-1FC0C372-4FA8-5F16-86DC-158F09F4246F"><cmd>Write code to handle request cancellation </cmd> <info>When the client requests cancellation of an outstanding location request from the Location Framework, the framework forwards the request to the corresponding PSY instance. The <codeph>CPositioner</codeph> provides a pure virtual method <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-D28C6BC6-69B8-3D69-BE46-5745C5B77A4D"><apiname>CPositioner::CancelNotifyPositionUpdate()</apiname></xref> that has to be implemented by the PSY in order to handle cancellation of a position request. </info> <info> <codeph>CancelNotifyPositionUpdate()</codeph> must be implemented to cancel any outstanding request in the PSY. Typically this involves cancelling some active object. If there is an outstanding request, it must be completed with the code <codeph>KErrCancel</codeph>. </info> <info>Figure 3 shows the steps that are involved when the Location framework initiates a cancel request for an outstanding position request. </info> <info><fig id="GUID-BC2EE2F2-4F13-5EFA-B80B-B79E90EA5B3E"><title>
                   Figure 3. Cancelling a position determination request 
-                </title> <image href="GUID-502C26EB-BB1F-547C-B93B-8A516D545561_d0e456815_href.png" placement="inline"/></fig> </info> <stepxmp><codeblock id="GUID-8346C01C-AE15-5D30-9C66-4B2EB249B35F" xml:space="preserve">void CPosExamplePositioner::CancelNotifyPositionUpdate()
+                </title> <image href="GUID-502C26EB-BB1F-547C-B93B-8A516D545561_d0e462660_href.png" placement="inline"/></fig> </info> <stepxmp><codeblock id="GUID-8346C01C-AE15-5D30-9C66-4B2EB249B35F" xml:space="preserve">void CPosExamplePositioner::CancelNotifyPositionUpdate()
     {
     // Since the Example PSY can deliver a position very
     // fast it has been implemented synchronously which
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-0B6222F1-F5A1-5E9A-B495-C68585C92022.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0B6222F1-F5A1-5E9A-B495-C68585C92022" xml:lang="en"><title>Universal Software Install
+Framework</title><shortdesc>The Universal Software Install Framework provides standard interfaces
+for installing, registering, verifying, restoring and uninstalling software
+packages on a device such as SIS files.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0BAE2D0E-604B-4A62-B5EB-AC68EAF7F589.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0BAE2D0E-604B-4A62-B5EB-AC68EAF7F589" xml:lang="en"><title>Navigating
-in applications</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The traditional hierarchical tree structure forms the basis for navigation.
-The user can move forward from one node (state) by opening an available item
-or selecting an option from a menu. The Back function (available in the right
-softkey Back) returns to the previous level in the hierarchy. In the initial
-state of an application (number 1 in the figure below), the Exit function
-replaces Back in the right softkey and is used for closing the application.</p>
-<fig id="GUID-E040C6A4-5CB6-4DEC-99A8-8704AD6C3CCF">
-<title>Example of the basic state hierarchy in an application. The solid lines
-indicate moving forward from a state into a sub-state. The dotted lines are
-backward moves to the previous level.</title>
-<image href="GUID-C0CC6EEF-E95F-4DE1-9E53-2B777D9E433D_d0e104820_href.png" scale="70" placement="inline"/>
-</fig>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0BD22FDB-1A5C-56AA-A7FC-BD2271B2F928.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0BD22FDB-1A5C-56AA-A7FC-BD2271B2F928.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 with the Backup Engine which in turn calls data owner applications for data
 request or supply. The backup server finally transfers the data to and from
 the host PC. </p> <fig id="GUID-52D747F3-9EA8-5474-B854-A00A01D6B8F1">
-<image href="GUID-414DD60D-C5C3-5A75-9DF7-8980F72CB485_d0e606318_href.jpg" placement="inline"/>
+<image href="GUID-414DD60D-C5C3-5A75-9DF7-8980F72CB485_d0e645480_href.jpg" placement="inline"/>
 </fig> <p>In the CSBEClient API, <codeph>RequestDataL()</codeph> and <codeph>SupplyDataL()</codeph> are
 two major functions for backup and restore: </p> <ul>
 <li id="GUID-7641D61E-215C-5326-B05B-9367DB79AC4D"><p>For a backup, the backup
@@ -43,7 +43,7 @@
 which supplies the data to the Backup Engine for a restore. </p> </li>
 </ul> <p>A particular type of <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-27BF6AEB-72A0-3E39-9598-AB97BE2569FC"><apiname>conn::CSBGenericTransferType</apiname></xref> is
 passed to these functions depending on the data to be transferred, such as
-a snapshot or incremental data. Refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita">Creating
+a snapshot or incremental data. Refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita">Creating
 transfer types</xref> section for an example. </p><p> The backup and restore
 sections below describe the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref> function calls.
 The sequence of the calls depends on the requests from the host PC and the
@@ -61,7 +61,7 @@
 call for partial and incremental data restore. </info>
 </step>
 <step id="GUID-151F94B7-4A9F-5C58-8AE0-B15C83025801"><cmd/>
-<info><xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita">Creating Transfer
+<info><xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita">Creating Transfer
 Types</xref> describes how to create a particular <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-27BF6AEB-72A0-3E39-9598-AB97BE2569FC"><apiname>conn::CSBGenericTransferType</apiname></xref> transfer
 data type. The data type is passed to the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref> to
 transfer the data from or to the Backup Engine. </info>
--- a/Symbian3/PDK/Source/GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33"><title>Privacy Protocol Module Overview</title><shortdesc>The Privacy Protocol Module (PPM) is an optional LBS component that allows the LBS subsystem to process privacy requests from the device domestic OS. The privacy request may have been received from the network or from an installed application. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Network Gateway (NG) is the LBS subsystem component that interfaces the LBS subsystem with a network. The NG loads a Protocol Module to support a specific protocol and location based services architecture. </p> <p>A Protocol Module such as the SUPL Protocol Module interfaces directly to the network to process privacy requests and location requests. The Privacy Protocol Module allows the LBS subsystem to process privacy requests from the device domestic OS. </p> </section> <section><title>Required background</title> <p>A knowledge of LBS <xref href="GUID-CDE5CC9D-F6DE-5A21-97C3-59A2F3398A15.dita">Privacy Requests</xref> is assumed. </p> </section> <section><title>Key concepts and terms</title> <p>See <xref href="GUID-CDE5CC9D-F6DE-5A21-97C3-59A2F3398A15.dita">Privacy Requests</xref> for key concepts. </p> </section> <section><title>Architecture</title> <p>Figure 1 shows the Privacy Protocol Module in context in the LBS subsystem. </p> <p>The PPM is an optional LBS component. To use the PPM, LBS must be configured so that the PPM is part of the LBS subsystem and so that the Network Gateway loads it on startup. </p> <p>The PPM is a Protocol Module ECOM plug-in that implements the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref>. The Network Protocol Module API defines functions for processing both privacy requests and location requests. The PPM implements only the privacy request processing functions and cannot be used to process location requests. </p> <p>The PPM contains a server that handles privacy requests sent from one of two PPM client libraries. A client process uses one of the client libraries to send privacy requests to the PPM and to receive privacy responses (acceptance or denial of the request). The PPM starts the LBS subsystem if it is not running when a privacy request is received. </p> <p>Privacy requests are sent into the LBS subsystem via the Network Gateway. They are processed by a Privacy Controller or Privacy Notifier (not shown on figure 1) which returns a privacy response. </p> <p>Note that the PPM does not connect directly to the network to receive privacy requests. In figure 1, the Privacy Client executables are processes that run in the domestic OS. They receive privacy requests and use one of the PPM client libraries to send them into the LBS subsystem. </p> <fig id="GUID-E5CFA05D-4A5E-51B7-8B80-0CD3C139ED23"><title>
              Figure 1. Privacy Protocol Module and client libraries. 
-          </title> <image href="GUID-331DB770-D699-58CB-9BA6-1AE6F08D7050_d0e449317_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>There are two APIs that can be used to send privacy requests to the PPM. </p> <table id="GUID-41B056A8-7252-52CA-A46C-F4642933F229"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> </entry> <entry><p>An API used to forward privacy requests to the PPM. Packaged in <filepath>lbsprivacyrequest.dll</filepath>. </p> </entry> </row> <row><entry><p> <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref>  </p> </entry> <entry><p>The API that was formerly provided by the S60 Privacy Framework. Packaged in <filepath>eposnwprv.dll</filepath>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The PPM can be used when a device creator wants to use the LBS subsystem to process privacy requests. </p> <p>The privacy request is typically sent to the PPM by a process running in the device domestic OS. The process may have received the request either from the network or from an installed application. </p> </section> </conbody><related-links><link href="GUID-CDE5CC9D-F6DE-5A21-97C3-59A2F3398A15.dita"><linktext>Privacy
+          </title> <image href="GUID-331DB770-D699-58CB-9BA6-1AE6F08D7050_d0e455162_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>There are two APIs that can be used to send privacy requests to the PPM. </p> <table id="GUID-41B056A8-7252-52CA-A46C-F4642933F229"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> </entry> <entry><p>An API used to forward privacy requests to the PPM. Packaged in <filepath>lbsprivacyrequest.dll</filepath>. </p> </entry> </row> <row><entry><p> <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref>  </p> </entry> <entry><p>The API that was formerly provided by the S60 Privacy Framework. Packaged in <filepath>eposnwprv.dll</filepath>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The PPM can be used when a device creator wants to use the LBS subsystem to process privacy requests. </p> <p>The privacy request is typically sent to the PPM by a process running in the device domestic OS. The process may have received the request either from the network or from an installed application. </p> </section> </conbody><related-links><link href="GUID-CDE5CC9D-F6DE-5A21-97C3-59A2F3398A15.dita"><linktext>Privacy
                 Requests</linktext> </link> <link href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita"><linktext>Privacy
                 Request API</linktext> </link> <link href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita"><linktext>Network
                 Privacy API</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0BF25E2A-99B9-5558-B805-019430409518.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-0BF25E2A-99B9-5558-B805-019430409518"><title>SBSv1 and SBSv2 Build Systems</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian provides two command line build systems, called SBSv1 and SBSv2, to build Symbian platform and applications developed for Symbian platform. </p> <p>SBSv1 is the name that is now given to the <codeph>bldmake</codeph> and <codeph>abld</codeph> build tools that have been provided on Symbian platform kits since Symbian OS v6. In SBSv1 , <codeph>bldmake</codeph> first generates top-level makefiles for a component, then <codeph>abld</codeph> builds the component. The <codeph>bldmake</codeph> and the <codeph>abld</codeph> commands must be run from the directory containing the <filepath>bld.inf</filepath> file. The documentation for the these tools is provided in the Symbian Developer Library. For more information, see <xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref>. </p> <p>SBSv2 is a newer build system. Its advantages over SBSv1 include: </p> <ul><li id="GUID-FAA52CDF-408E-54E5-A7A5-2E96BC48FB27"><p>It can run on both Microsoft Windows and Linux operating systems. </p> </li> <li id="GUID-C266954C-BC42-5030-B3CA-E002CAECBAC7"><p>It can use third-party make engine to run parallel builds. </p> </li> <li id="GUID-84C7E8AD-9380-5683-BE6D-4512CB0FB404"><p>It can build the entire Symbian platform from a system definition file. </p> </li> <li id="GUID-F6888067-D5D5-560A-87D1-AA973AD9FEE2"><p>It generates and builds the makefiles in a single step. </p> </li> <li id="GUID-F6555FF3-11C8-50B8-8C7C-0D63AFC30B8C"><p>It can be used from any directory location. </p> </li> </ul> <p>Though SBSv2 uses the same build metadata files (<filepath>bld.inf</filepath> and <filepath>.mmp</filepath>) as SBSv1 for building Symbian platform, SBSv2 can help achieve improved build speed over SBSv1. </p> <p>For more information about SBSv2, see the <i>Symbian Build System v2</i> documentation that is provided with the Platform Developer Toolkit. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0C01305E-9E73-4E44-BD13-361C93CC5E79_d0e423843_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0C01305E-9E73-4E44-BD13-361C93CC5E79_d0e429696_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0C435514-EEC6-5660-BB5F-535790349632.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0C435514-EEC6-5660-BB5F-535790349632.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 <p>The interfaces for power management on the kernel-side are shown in the
 following diagram: </p>
 <fig id="GUID-4020768D-7FDF-58EC-82A7-F98E259046D0">
-<image href="GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e376930_href.png" placement="inline"/>
+<image href="GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e382774_href.png" placement="inline"/>
 </fig>
 <ul>
 <li id="GUID-4E59C261-2025-5402-9EE1-EBC50BCD409F"><p>The power manager manages
@@ -73,7 +73,7 @@
 into the Symbian platform internal <codeph>DPowerManager</codeph> object. </p> <p>The
 power controller is responsible for tracking wake-up events, notifying the
 power manager of such events through a call to <xref href="GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366.dita#GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366/GUID-3524A807-F4A9-3DE4-918A-0C03BE0D1AEF"><apiname>DPowerController::WakeUpEvent()</apiname></xref>. </p> <fig id="GUID-7BBCE70B-381C-5E65-83CF-498B2C6D15DA">
-<image href="GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e377026_href.png" placement="inline"/>
+<image href="GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e382870_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-DC5F1ECD-CCA3-59FF-A2F1-A3DBD76CD458"><title>Power handlers</title> <p>Device
 drivers interface to the power manager through the <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita"><apiname>DPowerHandler</apiname></xref> class.
@@ -88,7 +88,7 @@
 The power manager calls <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-DDC564B4-BD12-30E9-B04A-DBA6CFAF8743"><apiname>DPowerHandler::PowerUp()</apiname></xref> when it
 requests a power state transition to the <i>Active</i> state. The driver must
 respond to a power transition notification after it has dealt with it by calling <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-BF62042B-FB7B-3D5B-8379-490FBA284A7A"><apiname>DPowerHandler::PowerUpDone()</apiname></xref> or <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-EBE8CFF8-50BD-3AC3-A4C8-47094DA5674D"><apiname>DPowerHandler::PowerDownDone()</apiname></xref> as appropriate. </p> <fig id="GUID-5A5E8846-DE8A-50FC-9D0E-8D8E88291835">
-<image href="GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e377081_href.png" placement="inline"/>
+<image href="GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e382925_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-8062EF29-9CE3-5414-9DE2-E494F48F0CFB"><title>Shared power
 sources</title> <p>Note: this information applies to Symbian platform before
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1" xml:lang="en"><title>PBE
+-- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-BE431C93-15F3-5A3E-B461-6D0B8CAA50CA-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-1-1"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1/GUID-297963A8-4FD2-5350-AE7C-18D6C7C11179-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-2">What is PBE?</xref>  </p> </li>
+<li id="GUID-3A2686D3-6A20-5E45-AB34-256BE39862FF-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-1-2"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1/GUID-CC39624C-D78C-5AD4-A5CA-8E9C09C4C80F-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-3">What is PBE used for?</xref>  </p> </li>
+<li id="GUID-9E2294EF-D5B2-5C80-ABB4-1E5A100FF96F-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-1-3"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1/GUID-6EFD52CC-D8C7-57A3-8607-6EA6DD09ABEE-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-4">Base classes and their derived classes</xref>  </p> </li>
+<li id="GUID-B433029C-EF44-5536-ADE8-2DA4A64E2A4C-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-1-4"><p> <xref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita">Example
+code</xref>  </p> </li>
+</ul>
+<section id="GUID-297963A8-4FD2-5350-AE7C-18D6C7C11179-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-2"><title>What is PBE?</title> <p>PBE
+provides an API to encrypt and decrypt data with a user-supplied password.
+It is intended to be used by applications, such as editors or database programs,
+that might provide the ability to encrypt a user's documents. It aims to be
+secure and easy to use, and attempts to overcome the common pitfalls of encryption
+based on user-supplied passwords. Specifically, it uses a <xref href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html" scope="external">PKCS#5</xref> -based key derivation function to create the
+symmetric key based on the user's password. </p> <p> <xref href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html" scope="external">PKCS#5</xref> is the Password Based Encryption standard produced
+by RSA laboratories. It describes a method to generate a symmetric key based
+on a password. We use PKCS#5 v2.0 (specified in <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2898.txt" scope="external">RFC 2898</xref>), which is able to generate unlimited key
+length. </p> <p>The PBE algorithm generates a symmetric key based on a password,
+which is provided by the user. To impede dictionary attacks, the password
+is appended with a salt before being digested to produce the key; the salt
+is generated using a pseudo random number generator. Furthermore, the PBE
+algorithm by which the keys are derived is iterated a number of times, the
+default being <codeph>KDefaultIterations</codeph>. As the ciphers operate
+in CBC mode, a randomly selected Initialization Vector (IV) is passed to them
+as a seed. Note that the salt value, iteration count value, and the IV (i.e.,
+the <codeph>CPBEncryptParms</codeph> object) do not have to be kept secret
+and can be sent along with the ciphertext. </p> <p>PBE provides APIs for encrypting
+a single object (<codeph>CPBEncryptElement</codeph>) and multiple objects
+(<codeph>CPBEncryptSet</codeph>). The latter is useful in the situation if
+one wants random access to an encrypted source consisting of multiple, independent
+elements; for example a database or a store. </p> </section>
+<section id="GUID-CC39624C-D78C-5AD4-A5CA-8E9C09C4C80F-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-3"><title>What is PBE
+used for?</title> <p>PBE is used to implement <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita">Secure
+Stream Encryption</xref>, which can be used, for example: </p> <ul>
+<li id="GUID-13D8CD70-E1A2-5635-8515-C6C8811F468D-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-3-3-1"><p>to password protect
+a database file </p> </li>
+<li id="GUID-2F2CC007-18BA-5254-AAF6-428C57F12DDE-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-3-3-2"><p>to store contacts encrypted
+on a mobile phone. </p> </li>
+</ul> </section>
+<section id="GUID-6EFD52CC-D8C7-57A3-8607-6EA6DD09ABEE-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-4"><title>Base classes
+and their derived classes</title> <p>The diagrams below show the main classes
+used in password based encryption and which are implemented in <filepath>pbe.dll</filepath>.
+Blue dotted arrows indicate that a class is contained or used by another class.
+The arrows are labelled with the variable(s) through which the pointed class
+is accessible. The color of the boxes indicates the type of Symbian class,
+i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class.
+For detailed information on each component see the Cryptography API Reference
+material. </p> <fig id="GUID-E3F6C83F-6B73-52A1-88F2-B996E2FD1D5C-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-4-3">
+<title>The inheritance diagram above shows the <codeph>CPBEncryptionBase</codeph> abstract
+base class. Also shown are the following classes from the Cryptography API: <codeph>CPBEncryptElement</codeph>, <codeph>CPBEncryptSet</codeph>, <codeph>CPBAuthData</codeph>, <codeph>CPBEncryptionData</codeph>, and <codeph>CPBEncryptParams</codeph>.</title>
+<image href="GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e616455_href.png" placement="inline"/>
+</fig> <fig id="GUID-3843237A-3246-5179-8481-426A0E0CD095-GENID-1-12-1-26-1-1-11-1-1-6-1-3-1-2-4-4">
+<title>The inheritance diagram above shows the <codeph>CPBEncryptor</codeph> abstract
+base class. Also shown are the following classes from the Cryptography API: <codeph>CPBDecryptor</codeph>, <codeph>CPBDecryptorElement</codeph>, <codeph>CPBDecryptorSet</codeph>, <codeph>CSymmetricCipher</codeph>, <codeph>CPBEncryptorElement</codeph>, <codeph>CPBEncryptorSet</codeph>.</title>
+<image href="GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e616484_href.png" placement="inline"/>
+</fig> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1" xml:lang="en"><title>PBE
+-- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-BE431C93-15F3-5A3E-B461-6D0B8CAA50CA-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-1-1"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1/GUID-297963A8-4FD2-5350-AE7C-18D6C7C11179-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-2">What is PBE?</xref>  </p> </li>
+<li id="GUID-3A2686D3-6A20-5E45-AB34-256BE39862FF-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-1-2"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1/GUID-CC39624C-D78C-5AD4-A5CA-8E9C09C4C80F-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-3">What is PBE used for?</xref>  </p> </li>
+<li id="GUID-9E2294EF-D5B2-5C80-ABB4-1E5A100FF96F-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-1-3"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1/GUID-6EFD52CC-D8C7-57A3-8607-6EA6DD09ABEE-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-4">Base classes and their derived classes</xref>  </p> </li>
+<li id="GUID-B433029C-EF44-5536-ADE8-2DA4A64E2A4C-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-1-4"><p> <xref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita">Example
+code</xref>  </p> </li>
+</ul>
+<section id="GUID-297963A8-4FD2-5350-AE7C-18D6C7C11179-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-2"><title>What is PBE?</title> <p>PBE
+provides an API to encrypt and decrypt data with a user-supplied password.
+It is intended to be used by applications, such as editors or database programs,
+that might provide the ability to encrypt a user's documents. It aims to be
+secure and easy to use, and attempts to overcome the common pitfalls of encryption
+based on user-supplied passwords. Specifically, it uses a <xref href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html" scope="external">PKCS#5</xref> -based key derivation function to create the
+symmetric key based on the user's password. </p> <p> <xref href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html" scope="external">PKCS#5</xref> is the Password Based Encryption standard produced
+by RSA laboratories. It describes a method to generate a symmetric key based
+on a password. We use PKCS#5 v2.0 (specified in <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2898.txt" scope="external">RFC 2898</xref>), which is able to generate unlimited key
+length. </p> <p>The PBE algorithm generates a symmetric key based on a password,
+which is provided by the user. To impede dictionary attacks, the password
+is appended with a salt before being digested to produce the key; the salt
+is generated using a pseudo random number generator. Furthermore, the PBE
+algorithm by which the keys are derived is iterated a number of times, the
+default being <codeph>KDefaultIterations</codeph>. As the ciphers operate
+in CBC mode, a randomly selected Initialization Vector (IV) is passed to them
+as a seed. Note that the salt value, iteration count value, and the IV (i.e.,
+the <codeph>CPBEncryptParms</codeph> object) do not have to be kept secret
+and can be sent along with the ciphertext. </p> <p>PBE provides APIs for encrypting
+a single object (<codeph>CPBEncryptElement</codeph>) and multiple objects
+(<codeph>CPBEncryptSet</codeph>). The latter is useful in the situation if
+one wants random access to an encrypted source consisting of multiple, independent
+elements; for example a database or a store. </p> </section>
+<section id="GUID-CC39624C-D78C-5AD4-A5CA-8E9C09C4C80F-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-3"><title>What is PBE
+used for?</title> <p>PBE is used to implement <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita">Secure
+Stream Encryption</xref>, which can be used, for example: </p> <ul>
+<li id="GUID-13D8CD70-E1A2-5635-8515-C6C8811F468D-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-3-3-1"><p>to password protect
+a database file </p> </li>
+<li id="GUID-2F2CC007-18BA-5254-AAF6-428C57F12DDE-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-3-3-2"><p>to store contacts encrypted
+on a mobile phone. </p> </li>
+</ul> </section>
+<section id="GUID-6EFD52CC-D8C7-57A3-8607-6EA6DD09ABEE-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-4"><title>Base classes
+and their derived classes</title> <p>The diagrams below show the main classes
+used in password based encryption and which are implemented in <filepath>pbe.dll</filepath>.
+Blue dotted arrows indicate that a class is contained or used by another class.
+The arrows are labelled with the variable(s) through which the pointed class
+is accessible. The color of the boxes indicates the type of Symbian class,
+i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class.
+For detailed information on each component see the Cryptography API Reference
+material. </p> <fig id="GUID-E3F6C83F-6B73-52A1-88F2-B996E2FD1D5C-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-4-3">
+<title>The inheritance diagram above shows the <codeph>CPBEncryptionBase</codeph> abstract
+base class. Also shown are the following classes from the Cryptography API: <codeph>CPBEncryptElement</codeph>, <codeph>CPBEncryptSet</codeph>, <codeph>CPBAuthData</codeph>, <codeph>CPBEncryptionData</codeph>, and <codeph>CPBEncryptParams</codeph>.</title>
+<image href="GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e597614_href.png" placement="inline"/>
+</fig> <fig id="GUID-3843237A-3246-5179-8481-426A0E0CD095-GENID-1-12-1-26-1-1-9-1-4-1-9-1-2-4-4">
+<title>The inheritance diagram above shows the <codeph>CPBEncryptor</codeph> abstract
+base class. Also shown are the following classes from the Cryptography API: <codeph>CPBDecryptor</codeph>, <codeph>CPBDecryptorElement</codeph>, <codeph>CPBDecryptorSet</codeph>, <codeph>CSymmetricCipher</codeph>, <codeph>CPBEncryptorElement</codeph>, <codeph>CPBEncryptorSet</codeph>.</title>
+<image href="GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e597643_href.png" placement="inline"/>
+</fig> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E" xml:lang="en"><title>PBE
--- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-BE431C93-15F3-5A3E-B461-6D0B8CAA50CA"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E/GUID-297963A8-4FD2-5350-AE7C-18D6C7C11179">What is PBE?</xref>  </p> </li>
-<li id="GUID-3A2686D3-6A20-5E45-AB34-256BE39862FF"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E/GUID-CC39624C-D78C-5AD4-A5CA-8E9C09C4C80F">What is PBE used for?</xref>  </p> </li>
-<li id="GUID-9E2294EF-D5B2-5C80-ABB4-1E5A100FF96F"><p> <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita#GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E/GUID-6EFD52CC-D8C7-57A3-8607-6EA6DD09ABEE">Base classes and their derived classes</xref>  </p> </li>
-<li id="GUID-B433029C-EF44-5536-ADE8-2DA4A64E2A4C"><p> <xref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D.dita">Example
-code</xref>  </p> </li>
-</ul>
-<section id="GUID-297963A8-4FD2-5350-AE7C-18D6C7C11179"><title>What is PBE?</title> <p>PBE
-provides an API to encrypt and decrypt data with a user-supplied password.
-It is intended to be used by applications, such as editors or database programs,
-that might provide the ability to encrypt a user's documents. It aims to be
-secure and easy to use, and attempts to overcome the common pitfalls of encryption
-based on user-supplied passwords. Specifically, it uses a <xref href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html" scope="external">PKCS#5</xref> -based key derivation function to create the
-symmetric key based on the user's password. </p> <p> <xref href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html" scope="external">PKCS#5</xref> is the Password Based Encryption standard produced
-by RSA laboratories. It describes a method to generate a symmetric key based
-on a password. We use PKCS#5 v2.0 (specified in <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2898.txt" scope="external">RFC 2898</xref>), which is able to generate unlimited key
-length. </p> <p>The PBE algorithm generates a symmetric key based on a password,
-which is provided by the user. To impede dictionary attacks, the password
-is appended with a salt before being digested to produce the key; the salt
-is generated using a pseudo random number generator. Furthermore, the PBE
-algorithm by which the keys are derived is iterated a number of times, the
-default being <codeph>KDefaultIterations</codeph>. As the ciphers operate
-in CBC mode, a randomly selected Initialization Vector (IV) is passed to them
-as a seed. Note that the salt value, iteration count value, and the IV (i.e.,
-the <codeph>CPBEncryptParms</codeph> object) do not have to be kept secret
-and can be sent along with the ciphertext. </p> <p>PBE provides APIs for encrypting
-a single object (<codeph>CPBEncryptElement</codeph>) and multiple objects
-(<codeph>CPBEncryptSet</codeph>). The latter is useful in the situation if
-one wants random access to an encrypted source consisting of multiple, independent
-elements; for example a database or a store. </p> </section>
-<section id="GUID-CC39624C-D78C-5AD4-A5CA-8E9C09C4C80F"><title>What is PBE
-used for?</title> <p>PBE is used to implement <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita">Secure
-Stream Encryption</xref>, which can be used, for example: </p> <ul>
-<li id="GUID-13D8CD70-E1A2-5635-8515-C6C8811F468D"><p>to password protect
-a database file </p> </li>
-<li id="GUID-2F2CC007-18BA-5254-AAF6-428C57F12DDE"><p>to store contacts encrypted
-on a mobile phone. </p> </li>
-</ul> </section>
-<section id="GUID-6EFD52CC-D8C7-57A3-8607-6EA6DD09ABEE"><title>Base classes
-and their derived classes</title> <p>The diagrams below show the main classes
-used in password based encryption and which are implemented in <filepath>pbe.dll</filepath>.
-Blue dotted arrows indicate that a class is contained or used by another class.
-The arrows are labelled with the variable(s) through which the pointed class
-is accessible. The color of the boxes indicates the type of Symbian class,
-i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class.
-For detailed information on each component see the Cryptography API Reference
-material. </p> <fig id="GUID-E3F6C83F-6B73-52A1-88F2-B996E2FD1D5C">
-<title>The inheritance diagram above shows the <codeph>CPBEncryptionBase</codeph> abstract
-base class. Also shown are the following classes from the Cryptography API: <codeph>CPBEncryptElement</codeph>, <codeph>CPBEncryptSet</codeph>, <codeph>CPBAuthData</codeph>, <codeph>CPBEncryptionData</codeph>, and <codeph>CPBEncryptParams</codeph>.</title>
-<image href="GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e625508_href.png" placement="inline"/>
-</fig> <fig id="GUID-3843237A-3246-5179-8481-426A0E0CD095">
-<title>The inheritance diagram above shows the <codeph>CPBEncryptor</codeph> abstract
-base class. Also shown are the following classes from the Cryptography API: <codeph>CPBDecryptor</codeph>, <codeph>CPBDecryptorElement</codeph>, <codeph>CPBDecryptorSet</codeph>, <codeph>CSymmetricCipher</codeph>, <codeph>CPBEncryptorElement</codeph>, <codeph>CPBEncryptorSet</codeph>.</title>
-<image href="GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e625537_href.png" placement="inline"/>
-</fig> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,238 +9,225 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90" xml:lang="en"><title>Going
-Beyond Hello: A Tutorial for Symbian C++ Applications</title><shortdesc>This tutorial shows how you can extend that basic example to create
-a small paint application, along the way learning more about the application
-frameworks (e.g. defining menus, how to handle touch-screen events, drawing
-to the screen etc.).</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In the <xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian C++
-Quick Start</xref> you learned how to create a basic example application using
-Carbide.c++, and how to build and run it on the Windows emulator and on a
-device.  </p>
-<p><b>Comes with Code</b>: <xref href="http://developer.symbian.org/wiki/images/e/eb/HelloSymbianWorld_Example_Code.zip.dita">File:
-HelloSymbianWorld Example Code.zip</xref></p>
-<section id="GUID-14C6D367-D806-45F8-BC44-C5DBC78096D9">       <title> Application
-Structure</title>       <p>Carbide.c++ offers two ways of exploring your project.
-The traditional <b>Project Explorer</b> window, which can also be found in
-Eclipse, lists the files belonging to the project in the same directory structure
-as in the file system.  </p><p>The <b>Symbian Project Navigator</b> contains
-the same contents, but displays them in a logical hierarchy according to <xref href="http://developer.symbian.org/wiki/index.php/Coding_Standards_and_Conventions.dita">Symbian
-Conventions</xref>. </p><p> You might wonder why a basic "Hello World" application
-contains so many files. The answer is straightforward - a much simpler Hello
-World wouldn’t be a very good starting point for real-world applications.
- </p><p>Instead the wizard generates the project for a complete and readily
-extensible application. The project separates code and data, and uses a form
-of the <xref href="http://wiki.forum.nokia.com/index.php/Design_Patterns_in_Symbian.dita#http://wiki.forum.nokia.com/index.php/Design_Patterns_in_Symbian/Model-View-Control_Pattern">model
-view controller pattern</xref> for structuring your code. The application
-already reacts to system events and contains everything that is required for
-localization. </p><p/><p><b>What are the directories of a project?</b><fig id="GUID-898488F8-5CF9-4A01-95F8-45E2C5D2E501">
-<image href="GUID-FFC6F01E-15AB-43E6-90E8-0E42DA297AE9_d0e2166_href.png" placement="inline"/>
+<concept id="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90" xml:lang="en"><title>Going Beyond Hello: A Tutorial for Symbian C++ Applications</title><shortdesc>This tutorial shows how you can extend that basic example
+to create a small paint application, along the way learning more about
+the application frameworks (e.g. defining menus, how to handle touch-screen
+events, drawing to the screen etc.).</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In the <xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian
+C++ Quick Start</xref> you learned how to create a basic example application
+using Carbide.c++, and how to build and run it on the Windows emulator
+and on a device.  </p>
+<p><b>Comes with Code</b>: <xref href="http://developer.symbian.org/wiki/images/e/eb/HelloSymbianWorld_Example_Code.zip" scope="external">File: HelloSymbianWorld Example Code.zip</xref></p>
+<section id="GUID-14C6D367-D806-45F8-BC44-C5DBC78096D9">       <title> Application Structure</title>       <p>Carbide.c++ offers two ways
+of exploring your project. The traditional <b>Project Explorer</b> window, which can also be found in Eclipse, lists the files belonging
+to the project in the same directory structure as in the file system.
+ </p><p>The <b>Symbian Project Navigator</b> contains the same contents,
+but displays them in a logical hierarchy according to <xref href="http://developer.symbian.org/wiki/index.php/Coding_Standards_and_Conventions" scope="external">Symbian Conventions</xref>. </p><p> You might wonder
+why a basic "Hello World" application contains so many files. The
+answer is straightforward - a much simpler Hello World wouldn’t be
+a very good starting point for real-world applications.  </p><p>Instead
+the wizard generates the project for a complete and readily extensible
+application. The project separates code and data, and uses a form
+of the <xref href="http://wiki.forum.nokia.com/index.php/Design_Patterns_in_Symbian#Model-View-Control_Pattern" scope="external">model view controller pattern</xref> for structuring
+your code. The application already reacts to system events and contains
+everything that is required for localization. </p><p/><p><b>What
+are the directories of a project?</b><fig id="GUID-898488F8-5CF9-4A01-95F8-45E2C5D2E501">
+<image href="GUID-FFC6F01E-15AB-43E6-90E8-0E42DA297AE9_d0e2156_href.png" placement="inline"/>
 </fig></p><p/><b>\group</b><ul>
-<li><p><b>bld.inf</b>: Component-definition file. This specifies the <codeph>mmp</codeph> files
-that belong to your component, any shared header files that it exports, and
-the default build targets (e.g. GCCE, WINSCW).</p><ul>
-<li><p><codeph>Bld.inf</codeph> is used to generate the makefiles and <codeph>abld.bat</codeph> used
-to build for the command-line (see <xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian
-C++ Quick Start</xref>). </p></li>
-<li><p>This file is the starting point when you want to import a Symbian C++
-project into Carbide.c++, because it contains references to all executables
-in your project (see the section on Importing Other Examples). </p></li>
+<li><p><b>bld.inf</b>: Component-definition file. This specifies the <codeph>mmp</codeph> files that belong to your component, any shared header
+files that it exports, and the default build targets (e.g. GCCE, WINSCW).</p><ul>
+<li><p><codeph>Bld.inf</codeph> is used to generate the makefiles
+and <codeph>abld.bat</codeph> used to build for the command-line (see <xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian C++ Quick
+Start</xref>). </p></li>
+<li><p>This file is the starting point when you want to import a Symbian
+C++ project into Carbide.c++, because it contains references to all
+executables in your project (see the section on Importing Other Examples). </p></li>
 </ul></li>
-<li><p><b>HelloWorld.mmp</b>: Project-definition file. This specifies how
-to build an executable (in this case <codeph>HelloWorld.exe</codeph>) in a
-platform- and compiler-independent way. It contains information such as resource
-files to be compiled, source files to include when compiling, and the libraries
-to include when linking. </p></li>
-<li><p><b>Icons_aif_scalable_dc.mk</b>: Makefile used to create the application's
-icon from the <codeph>*.svg</codeph> file in the <codeph>/gfx</codeph> folder. </p></li>
+<li><p><b>HelloWorld.mmp</b>: Project-definition file. This specifies
+how to build an executable (in this case <codeph>HelloWorld.exe</codeph>) in a platform- and compiler-independent way. It contains information
+such as resource files to be compiled, source files to include when
+compiling, and the libraries to include when linking. </p></li>
+<li><p><b>Icons_aif_scalable_dc.mk</b>: Makefile used to create the
+application's icon from the <codeph>*.svg</codeph> file in the <codeph>/gfx</codeph> folder. </p></li>
 </ul><p> </p><p><b>\src</b></p><ul>
-<li><p> <b>HelloWorldApplication.cpp</b>: This file contains the entry point
-for the EXE file (<codeph>E32Main()</codeph>) as well as the implementation
-of the Application class (which provides some basic functionality for the
-GUI framework). Normally this is "boilerplate" code and you do not need to
-make any changes. </p></li>
-<li><p><b>HelloWorldDocument.cpp</b>: This class is supposed to take care
-of the persistent data model of your application and therefore provides some
-functions to load and save <codeph>.ini</codeph> files. This mechanism is
-disabled by default - for most applications you may treat this as "boilerplate"
-code. </p></li>
-<li><p><b>HelloWorldAppUi.cpp</b>: This is the main controller of your application.
-It contains the logic for handling application-wide events (so you don’t have
-to handle, for example, the exit event in every view). It owns all the views
-that you use. </p></li>
-<li><p><b>HelloWorldContainerView.cpp</b>: This is a kind of controller, which
-is responsible for handling events and the UI elements of the currently visible
-view. It’s not visible itself, but owns and manages the <i>Container</i> (below),
-which corresponds to the view in the traditional model view controller pattern.</p></li>
-<li><p><b>HelloWorldContainer.cpp</b>: Contains the UI elements that should
-be displayed by the view. Therefore, the ContainerView and the Container usually
-have a very strong relationship. </p></li>
+<li><p> <b>HelloWorldApplication.cpp</b>: This file contains the entry
+point for the EXE file (<codeph>E32Main()</codeph>) as well as the
+implementation of the Application class (which provides some basic
+functionality for the GUI framework). Normally this is "boilerplate"
+code and you do not need to make any changes. </p></li>
+<li><p><b>HelloWorldDocument.cpp</b>: This class is supposed to take
+care of the persistent data model of your application and therefore
+provides some functions to load and save <codeph>.ini</codeph> files.
+This mechanism is disabled by default - for most applications you
+may treat this as "boilerplate" code. </p></li>
+<li><p><b>HelloWorldAppUi.cpp</b>: This is the main controller of
+your application. It contains the logic for handling application-wide
+events (so you don’t have to handle, for example, the exit event in
+every view). It owns all the views that you use. </p></li>
+<li><p><b>HelloWorldContainerView.cpp</b>: This is a kind of controller,
+which is responsible for handling events and the UI elements of the
+currently visible view. It’s not visible itself, but owns and manages
+the <i>Container</i> (below), which corresponds to the view in the
+traditional model view controller pattern.</p></li>
+<li><p><b>HelloWorldContainer.cpp</b>: Contains the UI elements that
+should be displayed by the view. Therefore, the ContainerView and
+the Container usually have a very strong relationship. </p></li>
 </ul><p>During start-up, one class instance creates the next:</p><fig id="GUID-2A3EE3C2-3515-4217-BCB3-182A01936898">
-<image href="GUID-AC3F5010-ECA6-4257-98B5-77FB26B4987F_d0e2272_href.png" placement="inline"/>
+<image href="GUID-AC3F5010-ECA6-4257-98B5-77FB26B4987F_d0e2262_href.png" placement="inline"/>
 </fig><p/><p><b>\inc</b></p><ul>
-<li><p><b>HelloWorldApplication.h</b>, <b>HelloWorldDocument.h</b>, <b>HelloWorldAppUi.h</b>, <b>HelloWorldContainerView.h</b>, <b>HelloWorldContainer.h</b>: Header files corresponding to each of the main source files above. </p></li>
-<li><p><b>HelloWorld.hrh</b>: UIDs/identifiers for UI elements including views.
-These are shared between the resource file definitions for UI elements and
-the source code command handlers.</p></li>
+<li><p><b>HelloWorldApplication.h</b>, <b>HelloWorldDocument.h</b>, <b>HelloWorldAppUi.h</b>, <b>HelloWorldContainerView.h</b>, <b>HelloWorldContainer.h</b>: Header files corresponding to each of
+the main source files above. </p></li>
+<li><p><b>HelloWorld.hrh</b>: UIDs/identifiers for UI elements including
+views. These are shared between the resource file definitions for
+UI elements and the source code command handlers.</p></li>
 <li><p><b>HelloWorld.pan</b>: Panic code and method definitions.</p></li>
 </ul><p/><p><b>\data</b></p><ul>
-<li><p><b>HelloWorld_reg.rss</b>: Contains registration information about
-the application, such as its title.</p></li>
-<li><p><b>HelloWorld.rss</b>: Main resource file. Contains additional information
-about the application, as well as user interface and text resource definitions.
-     </p></li>
-<li><p><b>HelloWorld.loc</b>, <b>HelloWorld.l01</b>: Localization files. Strings
-used by UI are defined in separate localization resource files. Each file
-has the format <codeph>.lxx</codeph>, where <i>xx</i> is a language specific
-numeric file extension - e.g. UK English is ‘01’, French ‘02’ and German ‘03’.
-The <codeph>.loc</codeph> file is a kind of junction that <codeph>#includes</codeph> the
-language specific files. The languages are compiled into separate resource
-files (extension <codeph>.rxx</codeph>; the resource file for the current
-language is loaded by the UI framework at runtime</p></li>
+<li><p><b>HelloWorld_reg.rss</b>: Contains registration information
+about the application, such as its title.</p></li>
+<li><p><b>HelloWorld.rss</b>: Main resource file. Contains additional
+information about the application, as well as user interface and text
+resource definitions.      </p></li>
+<li><p><b>HelloWorld.loc</b>, <b>HelloWorld.l01</b>: Localization
+files. Strings used by UI are defined in separate localization resource
+files. Each file has the format <codeph>.lxx</codeph>, where <i>xx</i> is a language specific numeric file extension - e.g. UK English
+is ‘01’, French ‘02’ and German ‘03’. The <codeph>.loc</codeph> file
+is a kind of junction that <codeph>#includes</codeph> the language
+specific files. The languages are compiled into separate resource
+files (extension <codeph>.rxx</codeph>; the resource file for the
+current language is loaded by the UI framework at runtime</p></li>
 </ul><p/><p><b>\gfx</b></p><ul>
-<li><p><b>list_icon.bmp</b>, <b>list_icon_mask.bmp</b>, <b>mark_icon.bmp</b>, <b>mark_icon_mask.bmp</b>:
-Bitmap and bitmap masks. These are compiled into the MultiBitMap (<codeph>mbm</codeph>)
-format for display in the application.</p></li>
-<li><p> <b>qgn_menu_HelloWorld.svg</b>: SVG-T image that gets compiled into
-the <codeph>HelloWorld_aif.mif</codeph> MultiImageFile (<codeph>mif</codeph>)
-used for the application icon.</p></li>
+<li><p><b>list_icon.bmp</b>, <b>list_icon_mask.bmp</b>, <b>mark_icon.bmp</b>, <b>mark_icon_mask.bmp</b>: Bitmap and bitmap masks. These are compiled
+into the MultiBitMap (<codeph>mbm</codeph>) format for display in
+the application.</p></li>
+<li><p> <b>qgn_menu_HelloWorld.svg</b>: SVG-T image that gets compiled
+into the <codeph>HelloWorld_aif.mif</codeph> MultiImageFile (<codeph>mif</codeph>) used for the application icon.</p></li>
 </ul><p/><p><b>\sis</b></p><ul>
-<li><p><b>HelloWorld.pkg</b>: Defines the contents that should be packaged
-into the installable <codeph>.sis</codeph> file for the device. This includes
-the executable as well as all resources required by the application (graphics
-and so on).</p></li>
-<li><p><b>HelloWorld.sis</b>: Compressed and self-contained installation file
-for the device. Compiled based on the package file.     </p></li>
-<li><p><b>HelloWorld.sisx</b>: <codeph>.sis</codeph> file which has been signed
-with a certificate (in this case self-signed).</p></li>
+<li><p><b>HelloWorld.pkg</b>: Defines the contents that should be
+packaged into the installable <codeph>.sis</codeph> file for the device.
+This includes the executable as well as all resources required by
+the application (graphics and so on).</p></li>
+<li><p><b>HelloWorld.sis</b>: Compressed and self-contained installation
+file for the device. Compiled based on the package file.     </p></li>
+<li><p><b>HelloWorld.sisx</b>: <codeph>.sis</codeph> file which has
+been signed with a certificate (in this case self-signed).</p></li>
 </ul>     </section>
 <section id="GUID-65BEDD17-334B-4C42-8D89-DAB355F97F51"><title> Extending
-Hello World – Drawing</title><p>To make our application a little bit more
-interactive, we are going to implement a simple paint tool, allowing the user
-to draw lines by touching the screen.    </p><p>We could draw the lines directly
-on the screen, but then everything would get lost when something caused our
-application to redraw the screen – for example, a telephone call that came
-through while our application was running. Therefore, we have to draw the
-lines to a bitmap, which is simply copied to the screen whenever required.
-  </p><p>Another solution (more difficult but also more flexible!) would be
-to store all lines in a list and to iterate over the list each time the application
+Hello World – Drawing</title><p>To make our application a little bit
+more interactive, we are going to implement a simple paint tool, allowing
+the user to draw lines by touching the screen.    </p><p>We could
+draw the lines directly on the screen, but then everything would get
+lost when something caused our application to redraw the screen –
+for example, a telephone call that came through while our application
+was running. Therefore, we have to draw the lines to a bitmap, which
+is simply copied to the screen whenever required.   </p><p>Another
+solution (more difficult but also more flexible!) would be to store
+all lines in a list and to iterate over the list each time the application
 needs to draw the contents of the screen. </p></section>
-<section id="GUID-217EFA6E-9B5F-4B65-8B99-E056CC26156D"><title> Using the
-SDK Documentation</title><p>The class that can handle bitmap data is called <codeph>CFbsBitmap</codeph>.
-Let’s take a look at the documentation for this class to find out more about
-the required header files, libraries and available methods.    </p><p><xref href="http://developer.symbian.org/search/search_results.php?txtSearch=CFbsBitmap&amp;site=sdl_collection.dita">Search</xref> the
-online documentation for the class you're interested in, in this case <codeph>CFbsBitmap</codeph>. <xref href="http://developer.symbian.org/main/documentation/reference/s%5E2/doc_source/reference/tb91sf-PP/fontandbitmapserver/index.html.dita">CFbsBitmap
-in Os Font_and_Bitmap_Server</xref> should be (one of the) first topics you
-find. </p><p/><note>If you're working offline you can also search for documentation
-in the SDK. <b>Start</b> menu: <b>Start - S60 Developer Tools - 5th Edition
-SDK, v<i>1.0</i> - SDK Documentation</b></note><p>Right at the top of the
-reference page you will see that the header file we need to use is <codeph>FBS.H</codeph> and
-the library we need to link against is called <codeph>fbscli.lib</codeph>. </p><fig id="GUID-23B3B7CF-E676-4FBC-8B26-E7B88764781C">
-<image href="GUID-0B0EF90E-45A4-467F-8CD9-33FBC612B3BD_d0e2470_href.png" placement="inline"/>
-</fig><p>This class is capable of storing a bitmap. It's also possible to
-get direct access to the bitmap data. However for more convenient methods
-of drawing we will work through a drawing device and context.    </p><p>To
-find out more about bitmaps, contexts and drawing functions, <xref href="http://developer.symbian.org/search/search_results.php?txtSearch=bitmaps&amp;site=sdl_collection.dita">Search for ‘bitmaps’</xref> in the documentation, and go to the page <b>Bitmaps
-in Using Bitmaps</b>, or <b>Using Bitmaps in Using Graphics Device Interfaces</b>.
-   Symbian provides several different device and context classes. For our
-application we’re going to use <codeph>CFbsBitmapDevice</codeph> (header file: <codeph>bitdev.h</codeph>,
-library: <codeph>bitgdi.lib</codeph>) and <codeph>CFbsBitGc</codeph> (header
-file: <codeph>bitstd.h</codeph>, library: <codeph>bitgdi.lib</codeph>). </p></section>
-<section id="GUID-D9C51891-11DE-4042-AE32-CC7EA362C32A"><title> Adding Libraries
-To a Project</title><p>In the previous step, we determined that we need two
-libraries in order to use all three bitmap-related classes: <codeph>fbscli.lib</codeph> and <codeph>bitgdi.lib</codeph>.
-To add them to our project, open the <codeph>HelloWorld.mmp</codeph> project
-file (in the <codeph>/group/</codeph> folder if you’re using the <b>Project
-Explorer</b> window). Switch to the <b>Libraries</b> tab.    At the top of
-this page, you will see a list of included libraries. <codeph>fbscli.lib</codeph> is
-already in the list, so we don’t need to add it. However <codeph>bitgdi.lib</codeph> is
-missing. </p><note>There are more libraries in the list than are used by our
-project (added by the wizard!). These cause no harm so we choose not to remove
-them.</note><p>Click on the <b>Add</b> button. Search for <codeph>bitgdi.lib</codeph> in
-the list and add it to the <b>Libraries</b> list. </p><fig id="GUID-7D1E15B4-5157-4F48-9084-6DDBD6EE0208">
-<image href="GUID-E5FB2D04-D57E-4EEA-850F-40F813C75D8C_d0e2548_href.png" placement="inline"/>
-</fig><p>When you’re finished, make sure that both libraries are in the <b>Libraries</b> list.
-   </p><p>When you compile your application again, Carbide.c++ will detect
-the changes in the .mmp file and ask you what to do. Click on <b>Compile and
-Link</b> to update the project with the changes we have made to the <codeph>.mmp</codeph> file. <fig id="GUID-77F781CD-A2EF-4489-BAE2-EB283057670E">
-<image href="GUID-10540A35-7E8E-40F0-BF93-CBC01884550C_d0e2565_href.png" placement="inline"/>
+<section id="GUID-217EFA6E-9B5F-4B65-8B99-E056CC26156D"><title> Using
+the SDK Documentation</title><p>The class that can handle bitmap data
+is called <codeph>CFbsBitmap</codeph>. Let’s take a look at the documentation
+for this class to find out more about the required header files, libraries
+and available methods.    </p><p><xref href="http://developer.symbian.org/search/search_results.php?txtSearch=CFbsBitmap&amp;site=sdl_collection.dita">Search</xref> the online documentation for the class you're interested
+in, in this case <codeph>CFbsBitmap</codeph>. <xref format="html" href="http://developer.symbian.org/main/documentation/reference/s%5E2/doc_source/reference/tb91sf-PP/fontandbitmapserver/index.html" scope="external">CFbsBitmap in Os Font_and_Bitmap_Server</xref> should
+be (one of the) first topics you find. </p><p/><note>If you're
+working offline you can also search for documentation in the SDK. <b>Start</b> menu: <b>Start - S60 Developer Tools - 5th Edition SDK,
+v<i>1.0</i> - SDK Documentation</b></note><p>Right at the top of the
+reference page you will see that the header file we need to use is <codeph>FBS.H</codeph> and the library we need to link against is called <codeph>fbscli.lib</codeph>. </p><fig id="GUID-23B3B7CF-E676-4FBC-8B26-E7B88764781C">
+<image href="GUID-0B0EF90E-45A4-467F-8CD9-33FBC612B3BD_d0e2460_href.png" placement="inline"/>
+</fig><p>This class is capable of storing a bitmap. It's also possible
+to get direct access to the bitmap data. However for more convenient
+methods of drawing we will work through a drawing device and context.
+   </p><p>To find out more about bitmaps, contexts and drawing functions, <xref href="http://developer.symbian.org/search/search_results.php?txtSearch=bitmaps&amp;site=sdl_collection" scope="external">Search for ‘bitmaps’</xref> in the documentation,
+and go to the page <b>Bitmaps in Using Bitmaps</b>, or <b>Using Bitmaps
+in Using Graphics Device Interfaces</b>.    Symbian provides several
+different device and context classes. For our application we’re going
+to use <codeph>CFbsBitmapDevice</codeph> (header file: <codeph>bitdev.h</codeph>, library: <codeph>bitgdi.lib</codeph>) and <codeph>CFbsBitGc</codeph> (header file: <codeph>bitstd.h</codeph>, library: <codeph>bitgdi.lib</codeph>). </p></section>
+<section id="GUID-D9C51891-11DE-4042-AE32-CC7EA362C32A"><title> Adding
+Libraries To a Project</title><p>In the previous step, we determined
+that we need two libraries in order to use all three bitmap-related
+classes: <codeph>fbscli.lib</codeph> and <codeph>bitgdi.lib</codeph>. To add them to our project, open the <codeph>HelloWorld.mmp</codeph> project file (in the <codeph>/group/</codeph> folder if you’re using
+the <b>Project Explorer</b> window). Switch to the <b>Libraries</b> tab.    At the top of this page, you will see a list of included
+libraries. <codeph>fbscli.lib</codeph> is already in the list, so
+we don’t need to add it. However <codeph>bitgdi.lib</codeph> is missing. </p><note>There are more libraries in the list than are used by our project
+(added by the wizard!). These cause no harm so we choose not to remove
+them.</note><p>Click on the <b>Add</b> button. Search for <codeph>bitgdi.lib</codeph> in the list and add it to the <b>Libraries</b> list. </p><fig id="GUID-7D1E15B4-5157-4F48-9084-6DDBD6EE0208">
+<image href="GUID-E5FB2D04-D57E-4EEA-850F-40F813C75D8C_d0e2538_href.png" placement="inline"/>
+</fig><p>When you’re finished, make sure that both libraries are in
+the <b>Libraries</b> list.    </p><p>When you compile your application
+again, Carbide.c++ will detect the changes in the .mmp file and ask
+you what to do. Click on <b>Compile and Link</b> to update the project
+with the changes we have made to the <codeph>.mmp</codeph> file. <fig id="GUID-77F781CD-A2EF-4489-BAE2-EB283057670E">
+<image href="GUID-10540A35-7E8E-40F0-BF93-CBC01884550C_d0e2555_href.png" placement="inline"/>
 </fig></p></section>
-<section id="GUID-F2A4FC0F-8C67-4151-8BD2-808FCEDD121F"><title> Creating Bitmaps</title><p>Now
-the libraries have been added, we can use the bitmap classes in our project.
-Open the file <codeph>HelloWorldContainer.h</codeph> and add the following
-include statements: </p><codeblock xml:space="preserve">#include &lt;fbs.h&gt;
+<section id="GUID-F2A4FC0F-8C67-4151-8BD2-808FCEDD121F"><title> Creating
+Bitmaps</title><p>Now the libraries have been added, we can use the
+bitmap classes in our project. Open the file <codeph>HelloWorldContainer.h</codeph> and add the following include statements: </p><codeblock xml:space="preserve">#include &lt;fbs.h&gt;
 #include &lt;bitdev.h&gt;
 #include &lt;bitstd.h&gt;
-</codeblock><p>We also need to store the bitmap objects as instance (member)
-variables. Add the following definitions to a private section of the <codeph>CHelloWorldContainer</codeph> class.
-Be careful not to write anything into areas managed by the UI designer, because
-your changes could be overwritten. These areas are marked by comments.   
- </p><codeblock xml:space="preserve">private:  
+</codeblock><p>We also need to store the bitmap objects as instance
+(member) variables. Add the following definitions to a private section
+of the <codeph>CHelloWorldContainer</codeph> class. Be careful not
+to write anything into areas managed by the UI designer, because your
+changes could be overwritten. These areas are marked by comments.
+    </p><codeblock xml:space="preserve">private:  
 CFbsBitmap* iBitmap;  
 CFbsBitmapDevice* iBmpDevice;  
-CFbsBitGc* iBmpGc;   </codeblock><p>Symbian C++ uses some <xref href="http://developer.symbian.org/wiki/index.php/Coding_Standards_and_Conventions.dita#http://developer.symbian.org/wiki/index.php/Coding_Standards_and_Conventions/Naming_Conventions">naming conventions</xref>. Instance variables should have a lowercase <codeph>i</codeph> at
-the beginning of the variable name (<codeph>iBitmap</codeph>). Arguments should
-be marked by an a (<codeph>aBitmap</codeph>). Normal local variables that
-you create inside a function do not need any prefix. That way, you instantly
-know where the variable is coming from – this is very important when deleting
-objects.    Next, we want to create the bitmap. Define and implement a new
-method: </p><codeph>void CHelloWorldContainer::CreateBitmapsL()</codeph><p>Let’s
-go line by line through the required code for this method:    First, we have
-to make sure that any previous objects are deleted if they already exist.
-This would be required (for example) if the running application needs to re-create
-the bitmap because the screen layout changes. You don’t need to add an if
-statement to check if the pointer is NULL beforehand – the C++ <codeph>delete</codeph> statement
-only deletes the object if the pointer is not NULL. You do however need to
-ensure that the objects are set to NULL after deletion to avoid possible "double
-deletion" in the destructor. </p><codeblock xml:space="preserve">delete iBitmap; iBitmap = NULL;  
+CFbsBitGc* iBmpGc;   </codeblock><p>Symbian C++ uses some <xref href="http://developer.symbian.org/wiki/index.php/Coding_Standards_and_Conventions#Naming_Conventions" scope="external">naming conventions</xref>. Instance variables should
+have a lowercase <codeph>i</codeph> at the beginning of the variable
+name (<codeph>iBitmap</codeph>). Arguments should be marked by an
+a (<codeph>aBitmap</codeph>). Normal local variables that you create
+inside a function do not need any prefix. That way, you instantly
+know where the variable is coming from – this is very important when
+deleting objects.    Next, we want to create the bitmap. Define and
+implement a new method: </p><codeph>void CHelloWorldContainer::CreateBitmapsL()</codeph><p>Let’s go line by line through the required code for this method:
+   First, we have to make sure that any previous objects are deleted
+if they already exist. This would be required (for example) if the
+running application needs to re-create the bitmap because the screen
+layout changes. You don’t need to add an if statement to check if
+the pointer is NULL beforehand – the C++ <codeph>delete</codeph> statement
+only deletes the object if the pointer is not NULL. You do however
+need to ensure that the objects are set to NULL after deletion to
+avoid possible "double deletion" in the destructor. </p><codeblock xml:space="preserve">delete iBitmap; iBitmap = NULL;  
 delete iBmpDevice; iBmpDevice = NULL;  
-delete iBmpGc; iBmpGc = NULL;</codeblock><p>This following line of code should
-look familiar – it simply creates an instance of the <codeph>CFbsBitmap</codeph> class:
-     </p><p><codeph> iBitmap = new (ELeave) CFbsBitmap();</codeph>       </p><p>The
-(<codeph>ELeave</codeph>) parameter is Symbian C++ specific. This causes a <xref href="http://developer.symbian.org/wiki/index.php/Leaves_%26_The_Cleanup_Stack_(Fundamentals_of_Symbian_C%2B%2B).dita"> leave</xref> (the
-Symbian C++ equivalent of standard exceptions) if allocating the object fails
-– for example, because there is not enough free memory. With the (<codeph>ELeave</codeph>),
-you don’t have to manually check if the pointer is actually pointing to a
-valid object after creating the object instance. You can find out more about
-leaves in <xref href="http://developer.symbian.org/wiki/index.php/Fundamentals_of_Symbian_C%2B%2B.dita">Fundamentals
-of C++</xref>.    </p><p>We do not handle the potential leave here; that’s
-why the method name (<codeph>CreateBitmapL()</codeph>) has a trailing L to
-show that it can also leave. More on this topic in a moment.    </p><p>Now,
-it’s time to let the <codeph>CFbsBitmap</codeph> class allocate the memory
-for the bitmap it is going to manage. The available drawing size for our container
-can be queried by the method <codeph>Size()</codeph> from its base class. <codeph>EColor16MU</codeph> specifies
-the color depth – in this case, it’s a true color display mode with 32 bits
-per pixel; the top byte is unused. The color mode <codeph>EColor16MA</codeph> would
-use the top byte for the alpha channel, several other modes are available
-as well.   </p><p><codeph>iBitmap-&gt;Create(Size(), EColor16MU);</codeph>  
- </p><p>The next line creates a graphics device based on the bitmap. A graphics
-device represents the medium being drawn to and is needed to create a graphics
-context. The use of a <codeph>NewL()</codeph> method is common in Symbian
-C++; it is a static factory function which returns a fully constructed object
-of the desired type.   </p><p><codeph> iBmpDevice = CFbsBitmapDevice::NewL(iBitmap);</codeph> 
-  </p><p>A graphics context provides a large number of drawing operations,
-along with state settings defining how the drawing is performed. The bitmap
-graphics context used here is a specialization of the generic graphics context
-and adds some methods that can be used for bitmaps only – such as clearing
-and copying rectangular areas.    </p><p><codeph>iBmpDevice-&gt;CreateContext(iBmpGc);</codeph> 
-  </p><p>Whenever you create objects, it’s best to think about where and when
-they are going to be deleted right away. Memory leaks are a serious issue
-on a mobile device where no virtual memory is available and the main memory
-is limited to 30-80 MB. Therefore, go to the destructor of <codeph>CHelloWorldContainer</codeph> and
-add the required statements for deleting the three objects:      </p><p> <codeblock xml:space="preserve">delete iBmpGc;  
+delete iBmpGc; iBmpGc = NULL;</codeblock><p>This following line of
+code should look familiar – it simply creates an instance of the <codeph>CFbsBitmap</codeph> class:      </p><p><codeph> iBitmap = new (ELeave)
+CFbsBitmap();</codeph>       </p><p>The (<codeph>ELeave</codeph>)
+parameter is Symbian C++ specific. This causes a <xref href="http://developer.symbian.org/wiki/index.php/Leaves_%26_The_Cleanup_Stack_(Fundamentals_of_Symbian_C%2B%2B)" scope="external"> leave</xref> (the Symbian C++ equivalent of standard
+exceptions) if allocating the object fails – for example, because
+there is not enough free memory. With the (<codeph>ELeave</codeph>), you don’t have to manually check if the pointer is actually pointing
+to a valid object after creating the object instance. You can find
+out more about leaves in <xref href="http://developer.symbian.org/wiki/index.php/Fundamentals_of_Symbian_C%2B%2B" scope="external">Fundamentals of C++</xref>.    </p><p>We do not handle
+the potential leave here; that’s why the method name (<codeph>CreateBitmapL()</codeph>) has a trailing L to show that it can also leave. More on this topic
+in a moment.    </p><p>Now, it’s time to let the <codeph>CFbsBitmap</codeph> class allocate the memory for the bitmap it is going to manage.
+The available drawing size for our container can be queried by the
+method <codeph>Size()</codeph> from its base class. <codeph>EColor16MU</codeph> specifies the color depth – in this case, it’s a true color display
+mode with 32 bits per pixel; the top byte is unused. The color mode <codeph>EColor16MA</codeph> would use the top byte for the alpha channel,
+several other modes are available as well.   </p><p><codeph>iBitmap-&gt;Create(Size(),
+EColor16MU);</codeph>    </p><p>The next line creates a graphics device
+based on the bitmap. A graphics device represents the medium being
+drawn to and is needed to create a graphics context. The use of a <codeph>NewL()</codeph> method is common in Symbian C++; it is a static factory
+function which returns a fully constructed object of the desired type.
+  </p><p><codeph> iBmpDevice = CFbsBitmapDevice::NewL(iBitmap);</codeph>    </p><p>A graphics context provides a large number of drawing
+operations, along with state settings defining how the drawing is
+performed. The bitmap graphics context used here is a specialization
+of the generic graphics context and adds some methods that can be
+used for bitmaps only – such as clearing and copying rectangular areas.
+   </p><p><codeph>iBmpDevice-&gt;CreateContext(iBmpGc);</codeph>    </p><p>Whenever you create objects, it’s best to think about where and
+when they are going to be deleted right away. Memory leaks are a serious
+issue on a mobile device where no virtual memory is available and
+the main memory is limited to 30-80 MB. Therefore, go to the destructor
+of <codeph>CHelloWorldContainer</codeph> and add the required statements
+for deleting the three objects:      </p><p> <codeblock xml:space="preserve">delete iBmpGc;  
 delete iBmpDevice;  
-delete iBitmap;</codeblock>       </p><p>The next step addresses the remaining
-question: where to call the <codeph>CreateBitmapsL()</codeph> method. Of course,
-you could do this from the construction methods of the class. But what if,
-while your application is running, the user physically turns the phone, causing
-it to switch from portrait to landscape mode? Because the bitmap was created
-with the portrait size in mind, the user would no longer be able to use the
-full screen for drawing.    </p><p>Therefore, we have to react to events that
-inform us when the screen size is changed. In those situations, <codeph>SizeChanged()</codeph> is
-executed. When the container is first constructed, its size changes as well.
-Because of this, we can simply call our <codeph>CreateBitmapsL()</codeph> method
-from within <codeph>SizeChanged()</codeph>:       </p><p><codeblock xml:space="preserve">void CHelloWorldContainer::SizeChanged()  
+delete iBitmap;</codeblock>       </p><p>The next step addresses the
+remaining question: where to call the <codeph>CreateBitmapsL()</codeph> method. Of course, you could do this from the construction methods
+of the class. But what if, while your application is running, the
+user physically turns the phone, causing it to switch from portrait
+to landscape mode? Because the bitmap was created with the portrait
+size in mind, the user would no longer be able to use the full screen
+for drawing.    </p><p>Therefore, we have to react to events that
+inform us when the screen size is changed. In those situations, <codeph>SizeChanged()</codeph> is executed. When the container is first constructed,
+its size changes as well. Because of this, we can simply call our <codeph>CreateBitmapsL()</codeph> method from within <codeph>SizeChanged()</codeph>:       </p><p><codeblock xml:space="preserve">void CHelloWorldContainer::SizeChanged()  
 	{  
 	CCoeControl::SizeChanged();  
 	LayoutControls();     
@@ -250,70 +237,62 @@
 		{
 		TRAPD(err, CreateBitmapsL());
 		}
-	}</codeblock>      </p><p>In the source code above, an additional check ensures
-that the bitmap is only re-created if the size available for the container
-is really different to the existing bitmap size – the <codeph>SizeChanged()</codeph> method
-is also called, for example, when the option menu obscures part of our view.
-This does not affect the available space for our drawing area and therefore
-should not lead to re-creating the bitmap.    </p><p>But what is the <codeph>TRAPD()</codeph> statement
-doing here? Let’s use this to take a closer look at the concept of leaves. </p><p/><p><b>Leaves</b></p><p>When
-programming using Symbian C++, an L is appended to the name of methods that
-can leave (usually because it contains other methods that can leave and does
-not choose to "TRAP" them). Note: this is a helpful convention, but is not
-checked or required by the compiler.    </p><p>Our <codeph>CreateBitmapsL()</codeph> method
-contains two methods that can leave: the (<codeph>ELeave</codeph>) parameter
-causes a leave if there is not enough memory to allocate the object. The <codeph>NewL()</codeph> method
-from the graphics device also has a trailing <codeph>L</codeph> – meaning
-that this method can also leave. We did not catch any (all) of those leaves
-in the <codeph>CreateBitmapsL()</codeph> method so it was named with a trailing <codeph>L</codeph>.
-   </p><p>Any leaves are passed up in the call stack until caught by a <codeph>TRAPD</codeph> macro.
-The <codeph>SizeChanged()</codeph> method traps any leaves from <codeph>CreateBitmapsL()</codeph> and
-consequently does <b>not</b> need to have a trailing <codeph>L</codeph>. 
-  </p><p>The error code of the leave is stored in the err variable, which
-is declared as a normal integer by this macro. It would be a good idea to
-take a look at the contents of this variable and to handle errors instead
-of ignoring them as we’re doing here. But for the sake of simplicity, we do
-not handle any errors that might occur in this situation. </p><p/><p><b>Tip</b></p><p>A
-good way to automatically check your code for potential problems is to use
-the <i>CodeScanner</i> tool that comes with Carbide.c++. It is a static code-analysis
-tool looking at Symbian coding rules and standards. Find out more at: <xref href="http://carbidehelp.nokia.com/help/topic/com.nokia.carbide.cpp.codescanner/html/codescanner.htm.dita">http://carbidehelp.nokia.com/help/topic/com.nokia.carbide.cpp.codescanner/html/codescanner.htm</xref></p></section>
-<section id="GUID-7E4A9491-8F22-4D68-9890-95332D31412B"><title> Handling Touch
-Events</title><p>Before we start handling the touch events, we need one more
-instance variable in our code. To draw a line from one touch position to the
-next, it’s necessary to save the first position. Therefore, add the following
-private instance variable to <codeph>CHelloWorldContainer</codeph>: <codeblock xml:space="preserve">TPoint iLastPos;</codeblock></p><p><codeph>TPoint</codeph> is
-a convenience class that stores two integers that can be used as co-ordinates.
-Additionally, it provides some methods to modify the point. We do not need
-to initialize the variable in the constructor of the <codeph>CHelloWorldContainer</codeph> class
-– the container class is indirectly derived from the class <codeph>CBase</codeph>,
-which automatically zero-initializes all member variables.    Touch events
-are delivered to the container class, which is responsible for managing the
-visible UI content in the main pane of your application. To handle the events
-ourselves, we have to override the following method in <codeph>CHelloWorldContainer</codeph>: </p><p><codeph>void
-CHelloWorldContainer::HandlePointerEventL(const TPointerEvent&amp; aPointerEvent)</codeph></p><p>Define
-this method in the header file (can be private or protected) and add its implementation
-in the <codeph>.cpp</codeph> file.    The information about the new event
-is sent through the argument <codeph>aPointerEvent</codeph>. We are interested
-in the up event for the first button (there is only one in current touch devices;
-you can’t click with a right button as you would with a mouse). Whenever the
-user releases the stylus or finger from the touch screen, we want to draw
-a line to this position. Put the following code into this if statement: <codeblock xml:space="preserve">if (aPointerEvent.iType == TPointerEvent::EButton1Up)
+	}</codeblock>      </p><p>In the source code above, an additional
+check ensures that the bitmap is only re-created if the size available
+for the container is really different to the existing bitmap size
+– the <codeph>SizeChanged()</codeph> method is also called, for example,
+when the option menu obscures part of our view. This does not affect
+the available space for our drawing area and therefore should not
+lead to re-creating the bitmap.    </p><p>But what is the <codeph>TRAPD()</codeph> statement doing here? Let’s use this to take a closer
+look at the concept of leaves. </p><p/><p><b>Leaves</b></p><p>When
+programming using Symbian C++, an L is appended to the name of methods
+that can leave (usually because it contains other methods that can
+leave and does not choose to "TRAP" them). Note: this is a helpful
+convention, but is not checked or required by the compiler.    </p><p>Our <codeph>CreateBitmapsL()</codeph> method contains two methods
+that can leave: the (<codeph>ELeave</codeph>) parameter causes a leave
+if there is not enough memory to allocate the object. The <codeph>NewL()</codeph> method from the graphics device also has a trailing <codeph>L</codeph> – meaning that this method can also leave. We did not
+catch any (all) of those leaves in the <codeph>CreateBitmapsL()</codeph> method so it was named with a trailing <codeph>L</codeph>.    </p><p>Any leaves are passed up in the call stack until caught by a <codeph>TRAPD</codeph> macro. The <codeph>SizeChanged()</codeph> method traps
+any leaves from <codeph>CreateBitmapsL()</codeph> and consequently
+does <b>not</b> need to have a trailing <codeph>L</codeph>.    </p><p>The error code of the leave is stored in the err variable, which
+is declared as a normal integer by this macro. It would be a good
+idea to take a look at the contents of this variable and to handle
+errors instead of ignoring them as we’re doing here. But for the sake
+of simplicity, we do not handle any errors that might occur in this
+situation. </p><p/><p><b>Tip</b></p><p>A good way to automatically
+check your code for potential problems is to use the <i>CodeScanner</i> tool that comes with Carbide.c++. It is a static code-analysis tool
+looking at Symbian coding rules and standards. Find out more at: <xref format="html" href="http://carbidehelp.nokia.com/help/topic/com.nokia.carbide.cpp.codescanner/html/codescanner.htm" scope="external">http://carbidehelp.nokia.com/help/topic/com.nokia.carbide.cpp.codescanner/html/codescanner.htm</xref></p></section>
+<section id="GUID-7E4A9491-8F22-4D68-9890-95332D31412B"><title> Handling
+Touch Events</title><p>Before we start handling the touch events,
+we need one more instance variable in our code. To draw a line from
+one touch position to the next, it’s necessary to save the first position.
+Therefore, add the following private instance variable to <codeph>CHelloWorldContainer</codeph>: <codeblock xml:space="preserve">TPoint iLastPos;</codeblock></p><p><codeph>TPoint</codeph> is a convenience class that stores
+two integers that can be used as co-ordinates. Additionally, it provides
+some methods to modify the point. We do not need to initialize the
+variable in the constructor of the <codeph>CHelloWorldContainer</codeph> class – the container class is indirectly derived from the class <codeph>CBase</codeph>, which automatically zero-initializes all member variables.
+   Touch events are delivered to the container class, which is responsible
+for managing the visible UI content in the main pane of your application.
+To handle the events ourselves, we have to override the following
+method in <codeph>CHelloWorldContainer</codeph>: </p><p><codeph>void
+CHelloWorldContainer::HandlePointerEventL(const TPointerEvent&amp;
+aPointerEvent)</codeph></p><p>Define this method in the header file
+(can be private or protected) and add its implementation in the <codeph>.cpp</codeph> file.    The information about the new event is sent
+through the argument <codeph>aPointerEvent</codeph>. We are interested
+in the up event for the first button (there is only one in current
+touch devices; you can’t click with a right button as you would with
+a mouse). Whenever the user releases the stylus or finger from the
+touch screen, we want to draw a line to this position. Put the following
+code into this if statement: <codeblock xml:space="preserve">if (aPointerEvent.iType == TPointerEvent::EButton1Up)
   {
-  }</codeblock></p><p>Drawing the line itself is rather simple. First, define
-the color and style that should be used for drawing, then call the function
-for drawing the line. Note that the settings concerning the color and style
-stay active until they are changed again in this graphics context – you do
-not need to set them every time when executing consecutive drawing operations. </p><codeblock xml:space="preserve">iBmpGc-&gt;SetPenColor(KRgbRed);  
+  }</codeblock></p><p>Drawing the line itself is rather simple. First,
+define the color and style that should be used for drawing, then call
+the function for drawing the line. Note that the settings concerning
+the color and style stay active until they are changed again in this
+graphics context – you do not need to set them every time when executing
+consecutive drawing operations. </p><codeblock xml:space="preserve">iBmpGc-&gt;SetPenColor(KRgbRed);  
 iBmpGc-&gt;SetPenSize(TSize(2,2));  
-iBmpGc-&gt;DrawLine(iLastPos, aPointerEvent.iPosition);</codeblock><p>Next, we
-have to save the new position, because it will be required as the starting
-point for the next line. </p><codeph>iLastPos = aPointerEvent.iPosition;</codeph><p>Finally,
-issue a request to the framework to redraw the screen. Otherwise, the user
-won’t see the new line! </p><codeph>DrawDeferred();</codeph><p>At the end
-of the method, also call the <codeph>HandlePointerEventL()</codeph> method
-of the base class (the container is derived from <codeph>CCoeControl</codeph>,
-because it is a normal UI control by itself): </p><codeph>CCoeControl::HandlePointerEventL(aPointerEvent);</codeph><p>To
-sum it up, this is the final code for the <codeph>HandlePointerEvent()</codeph> method: </p><codeblock xml:space="preserve">void CHelloWorldContainer::HandlePointerEventL(const TPointerEvent&amp; aPointerEvent)
+iBmpGc-&gt;DrawLine(iLastPos, aPointerEvent.iPosition);</codeblock><p>Next, we have to save the new position, because it will be required
+as the starting point for the next line. </p><codeph>iLastPos = aPointerEvent.iPosition;</codeph><p>Finally, issue a request to the framework to redraw the screen.
+Otherwise, the user won’t see the new line! </p><codeph>DrawDeferred();</codeph><p>At the end of the method, also call the <codeph>HandlePointerEventL()</codeph> method of the base class (the container is derived from <codeph>CCoeControl</codeph>, because it is a normal UI control by itself): </p><codeph>CCoeControl::HandlePointerEventL(aPointerEvent);</codeph><p>To sum it up, this is the final code for the <codeph>HandlePointerEvent()</codeph> method: </p><codeblock xml:space="preserve">void CHelloWorldContainer::HandlePointerEventL(const TPointerEvent&amp; aPointerEvent)
     {
     if (aPointerEvent.iType == TPointerEvent::EButton1Up)
       {
@@ -324,132 +303,127 @@
       DrawDeferred();
       }
     CCoeControl::HandlePointerEventL(aPointerEvent);
-    }</codeblock><p>We’ve already added all the code required for drawing
-to the bitmap, but this bitmap still has to be transferred to the screen.
-The <codeph>CHelloWorldContainer::Draw()</codeph> method is called when the
-system wants the contents of the container to be redrawn. Therefore, we need
-to add the following line of code to the end of the <codeph>Draw()</codeph> method,
-which copies the bitmap to the top left of the graphics context of the screen: </p><codeph>gc.BitBlt(TPoint(0,
-0), iBitmap);</codeph><p>Now compile the project. It should already work –
-you can draw red lines by just clicking inside the main pane of the emulator! </p><fig id="GUID-CFD29EE4-464B-498C-80F5-493847DE0AEE">
-<image href="GUID-700CD2E2-DBB7-40BD-BC6D-9BC79C5A0BBF_d0e2845_href.png" placement="inline"/>
+    }</codeblock><p>We’ve already added all the code required for
+drawing to the bitmap, but this bitmap still has to be transferred
+to the screen. The <codeph>CHelloWorldContainer::Draw()</codeph> method
+is called when the system wants the contents of the container to be
+redrawn. Therefore, we need to add the following line of code to the
+end of the <codeph>Draw()</codeph> method, which copies the bitmap
+to the top left of the graphics context of the screen: </p><codeph>gc.BitBlt(TPoint(0, 0), iBitmap);</codeph><p>Now compile the project.
+It should already work – you can draw red lines by just clicking inside
+the main pane of the emulator! </p><fig id="GUID-CFD29EE4-464B-498C-80F5-493847DE0AEE">
+<image href="GUID-700CD2E2-DBB7-40BD-BC6D-9BC79C5A0BBF_d0e2835_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-8DC096A0-807D-437C-9A96-ABAFE2AF7F26"><title>  Defining
-a Menu </title><p>The application would be improved if the user could clear
-the drawing during use, rather than having to restart it. This section shows
-how you add and handle menu items to provide this functionality, and to exit
-the application    Open the <codeph>HelloWorldContainer.uidesign</codeph> document.
-You can find it in the root folder of your project in the <b>Project Explorer</b> or
-in the <b>UI Designs</b> folder of the Symbian Project Navigator.    </p><p>Click
-on the <b>Options</b> menu item below the UI design to reveal the menu. As
-indicated, you simply need to click on the empty menu item and start typing. </p><fig id="GUID-96D944A2-87C5-4530-AB0C-580C3277285D">
-<image href="GUID-20FEEF54-23CB-4D30-B846-11B4ACE8E772_d0e2869_href.png" placement="inline"/>
-</fig><p>Add two menu items – <b>Clear</b> (for clearing the image) and <b>Exit</b> (for
-closing the application).    </p><p>Then click once on the Exit menu item
-to select it. Go to the <b>Behavior</b> group of the <b>Properties</b> window
-and change the command ID to <codeph>EAknCmdExit</codeph> (this is available
-in the drop-down list). This command will also be sent to your application
-if the operating system wants to shut it down, for example, when the phone
-does not have enough memory left. Therefore, it is necessary that every application
-always responds to this event and instantly shuts the application down. It
-is already handled by the basic application that the Carbide.c++ wizard generated
-for you; you don’t need to implement the command handling for this event yourself. </p><fig id="GUID-8FD2973F-23FF-4734-AE16-CA39C02C7DE5">
-<image href="GUID-D7F000F0-019A-486E-BB0C-C0065D08C5F6_d0e2892_href.png" placement="inline"/>
-</fig><p>If you try your application now, you will see that the Exit menu
-item already works. </p><p/><p><b>Tip</b></p><p> When testing the application,
-always quit your application using the <b>Exit</b> command (rather than just
-closing the emulator). The application environment will then automatically
-check for memory leaks. If you just shut down the emulator you may not discover
-the leak until much later, making it a lot more difficult to find the cause.</p></section>
-<section id="GUID-0090F731-A243-44C7-96ED-1EC5DB172F8D"><title> Clearing the
-Drawing </title><p>Whenever the <b>Clear</b> menu item is selected the view
-class method <codeph>CHelloWorldContainerView::HandleCommandL()</codeph> is
-called with the command ID of the menu item as a parameter.   </p><p> If we
-want to handle the menu item, the UI designer can create the necessary code
-for us. Right-click on the menu item and choose <b>Handle ‘selected’ Event</b>.
-The UI designer will ask you to save the design – choose <b>Yes</b>. The code
-will then be generated and you will jump into the code view to a new method
-called <codeph>HandleClearMenuItemSelectedL()</codeph> – a more convenient
-place to put your command-handling code than directly in a big <codeph>HandleCommandL()</codeph> method
-that receives all commands. The auto-generated source code therefore calls
-the new extra method from within <codeph>HandleCommandL()</codeph> (take a
+a Menu </title><p>The application would be improved if the user could
+clear the drawing during use, rather than having to restart it. This
+section shows how you add and handle menu items to provide this functionality,
+and to exit the application    Open the <codeph>HelloWorldContainer.uidesign</codeph> document. You can find it in the root folder of your project in
+the <b>Project Explorer</b> or in the <b>UI Designs</b> folder of
+the Symbian Project Navigator.    </p><p>Click on the <b>Options</b> menu item below the UI design to reveal the menu. As indicated,
+you simply need to click on the empty menu item and start typing. </p><fig id="GUID-96D944A2-87C5-4530-AB0C-580C3277285D">
+<image href="GUID-20FEEF54-23CB-4D30-B846-11B4ACE8E772_d0e2859_href.png" placement="inline"/>
+</fig><p>Add two menu items – <b>Clear</b> (for clearing the image)
+and <b>Exit</b> (for closing the application).    </p><p>Then click
+once on the Exit menu item to select it. Go to the <b>Behavior</b> group of the <b>Properties</b> window and change the command ID
+to <codeph>EAknCmdExit</codeph> (this is available in the drop-down
+list). This command will also be sent to your application if the operating
+system wants to shut it down, for example, when the phone does not
+have enough memory left. Therefore, it is necessary that every application
+always responds to this event and instantly shuts the application
+down. It is already handled by the basic application that the Carbide.c++
+wizard generated for you; you don’t need to implement the command
+handling for this event yourself. </p><fig id="GUID-8FD2973F-23FF-4734-AE16-CA39C02C7DE5">
+<image href="GUID-D7F000F0-019A-486E-BB0C-C0065D08C5F6_d0e2882_href.png" placement="inline"/>
+</fig><p>If you try your application now, you will see that the Exit
+menu item already works. </p><p/><p><b>Tip</b></p><p> When testing
+the application, always quit your application using the <b>Exit</b> command (rather than just closing the emulator). The application
+environment will then automatically check for memory leaks. If you
+just shut down the emulator you may not discover the leak until much
+later, making it a lot more difficult to find the cause.</p></section>
+<section id="GUID-0090F731-A243-44C7-96ED-1EC5DB172F8D"><title> Clearing
+the Drawing </title><p>Whenever the <b>Clear</b> menu item is selected
+the view class method <codeph>CHelloWorldContainerView::HandleCommandL()</codeph> is called with the command ID of the menu item as a parameter. 
+ </p><p> If we want to handle the menu item, the UI designer can create
+the necessary code for us. Right-click on the menu item and choose <b>Handle ‘selected’ Event</b>. The UI designer will ask you to save
+the design – choose <b>Yes</b>. The code will then be generated and
+you will jump into the code view to a new method called <codeph>HandleClearMenuItemSelectedL()</codeph> – a more convenient place to put your command-handling code than
+directly in a big <codeph>HandleCommandL()</codeph> method that receives
+all commands. The auto-generated source code therefore calls the new
+extra method from within <codeph>HandleCommandL()</codeph> (take a
 look at that method to see what really happens). </p><fig id="GUID-8E944FEE-EFDF-4AFE-BEB8-F3B216B91A98">
-<image href="GUID-881C353C-6482-4DFE-9D43-CFB80DEB77A5_d0e2936_href.png" placement="inline"/>
-</fig><p>Now, we only need to tell the container that it should clear its
-bitmap buffer. To do this, create a new public method in the container: </p><codeblock xml:space="preserve">void CHelloWorldContainer::ClearDrawing()
+<image href="GUID-881C353C-6482-4DFE-9D43-CFB80DEB77A5_d0e2926_href.png" placement="inline"/>
+</fig><p>Now, we only need to tell the container that it should clear
+its bitmap buffer. To do this, create a new public method in the container: </p><codeblock xml:space="preserve">void CHelloWorldContainer::ClearDrawing()
   {
   iBmpGc-&gt;Clear();
   DrawDeferred();
-  }</codeblock><p>Now, call this method from the menu item handler method.
-As explained in the section about the application architecture, the view class
-(<codeph>CHelloWorldContainerView</codeph>) is the controller and owner for/of
-the container class (<codeph>CHelloWorldContainer</codeph>). Therefore, this
-class has a pointer to the container as an instance variable, which you can
-use to clear the drawing. </p><codeblock xml:space="preserve">TBool CHelloWorldContainerView::HandleClearMenuItemSelectedL(TInt aCommand)
+  }</codeblock><p>Now, call this method from the menu item handler
+method. As explained in the section about the application architecture,
+the view class (<codeph>CHelloWorldContainerView</codeph>) is the
+controller and owner for/of the container class (<codeph>CHelloWorldContainer</codeph>). Therefore, this class has a pointer to the container as an instance
+variable, which you can use to clear the drawing. </p><codeblock xml:space="preserve">TBool CHelloWorldContainerView::HandleClearMenuItemSelectedL(TInt aCommand)
   {
   iHelloWorldContainer-&gt;ClearDrawing();
   return ETrue;
-  }</codeblock><p>The menu command should now clear the image.    </p><p>Congratulations,
-you have completed the tutorial and have created your own small mobile painting
-application! </p></section>
-<section id="GUID-2BD775FF-BD36-4550-A388-48A3B1832D9E"><title> Further Exercises</title><p>As
-an exercise, it’s a good idea to extend the application by yourself – for
-example, you could add some menu items that allow the end user to change the
-color of the pen. </p><p/><p><b>Tip</b></p><p> It’s a good idea to learn
-keyboard shortcuts as early as possible, because they can significantly increase
-the efficiency of your work. For example, you can press <b>Ctrl + B</b> to
-build the project, instead of using the icon or the menu commands. Also very
-helpful: <b>Ctrl + Shift + F</b> automatically formats and indents your code.
-You can get a full list of commands by pressing <b>Ctrl + 3</b>. A hot keys
-list appears when you press <b>Ctrl + Shift + L</b>.</p><p/><p> <b>Importing
-Other Examples</b></p><p>The S60 SDK itself installs many examples; additional
-applications can be downloaded from the developer.symbian.org and Forum Nokia
-(see the Related Info section  for more information).    To import ready-made
+  }</codeblock><p>The menu command should now clear the image.    </p><p>Congratulations, you have completed the tutorial and have created
+your own small mobile painting application! </p></section>
+<section id="GUID-2BD775FF-BD36-4550-A388-48A3B1832D9E"><title> Further
+Exercises</title><p>As an exercise, it’s a good idea to extend the
+application by yourself – for example, you could add some menu items
+that allow the end user to change the color of the pen. </p><p/><p><b>Tip</b></p><p> It’s a good idea to learn keyboard shortcuts
+as early as possible, because they can significantly increase the
+efficiency of your work. For example, you can press <b>Ctrl + B</b> to build the project, instead of using the icon or the menu commands.
+Also very helpful: <b>Ctrl + Shift + F</b> automatically formats and
+indents your code. You can get a full list of commands by pressing <b>Ctrl + 3</b>. A hot keys list appears when you press <b>Ctrl + Shift
++ L</b>.</p><p/><p> <b>Importing Other Examples</b></p><p>The S60
+SDK itself installs many examples; additional applications can be
+downloaded from the developer.symbian.org and Forum Nokia (see the
+Related Info section  for more information).    To import ready-made
 applications in Carbide.c++, go to <b>File | Import</b>. In the following
 dialog, select <b>Symbian OS Bld.inf file</b> and click <b>Next</b>. </p><fig id="GUID-8E8F4507-70E7-496C-AE4D-16DAD8146ABA">
-<image href="GUID-631E27DB-97A7-47E2-8FC1-856198435FFF_d0e2998_href.png" placement="inline"/>
-</fig><p/><p>Now, click <b>Browse</b> and navigate to the <codeph>bld.inf</codeph> file
-of the project you want to import. It’s usually stored in the <codeph>/group/</codeph> subfolder
-of the project. </p><fig id="GUID-B682943D-10EE-4DC8-B510-7C2D54C536EE">
-<image href="GUID-C588B869-6940-42B2-84F9-71467F6A4306_d0e3014_href.png" placement="inline"/>
-</fig><p>In the following step, select which SDKs you would like to use. The
-same considerations as those explained when creating your Hello World application
-apply. </p><fig id="GUID-5A381CA4-CCE0-4359-8F02-697AEDA72BDE">
-<image href="GUID-D492CF6C-F889-4299-AC75-951EF343AC9F_d0e3020_href.png" placement="inline"/>
-</fig><p>You can usually accept the default values for the next step and let
-the wizard import everything.    </p><p>In the last step, you have to define
-the <b>Project Properties</b>. In most cases, you can leave the default values. </p><fig id="GUID-1AB6D789-9407-4AB0-8F52-B1138DE063BD">
-<image href="GUID-F18A6C91-136D-450E-90F0-7C2B9263777C_d0e3031_href.png" placement="inline"/>
-</fig><p>Afterwards, the project is imported and you can start working. The
-project contents will not be copied to the current Carbide.c++ workspace,
-so you will work directly on the original directory and the original files.
-Copy the project to a different directory first if you want to keep the original
-project or example in its original state – for example, into the workspace
-directory.    </p><p><b>Troubleshooting</b>: If <keyword>importing</keyword> the
-project fails, take special care of the last step of the import process: the
-root directory should be set correctly to the root directory of the project
-and not one level above it. Also, the project name should be the same as the
-last part of the root directory. From time to time, the default values are
-not configured properly, causing problems in the import process. </p><p/><p><b>Warning</b>  </p><p>Do
-not use the standard (Eclipse) project import! The reason is that this import
-method would also import all build configuration settings, including references
-to installed SDKs and paths on the original system. Therefore, if you import
-a project from somebody else but don’t have the SDK installed in exactly the
-same directory, the build configurations will no longer work. The <codeph>bld.inf</codeph> import
-method recreates the SDK bindings and only imports the real contents of the
-project.</p></section>
-<section id="GUID-191D5D9D-00FB-47F0-B88B-8B87588A20C8"><title> Summary</title><p>This
-part of the tutorial has shown how we can extend the basic skeleton from the <xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian C++ Quick Start</xref> to
-create a small paint application. The tutorial explains the application framework,
-including how you define menus, how to handle touch-screen events, drawing
-to the screen etc. </p></section>
-<section id="GUID-8B6E602D-CA6B-41DD-B3DC-4C3BC9A04154"><title> Related Info</title><ul>
-<li><p><xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian C++
-Quick Start</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device.dita">Getting
-Started with Debugging on the Device</xref></p></li>
-<li><p><xref href="http://developer.symbian.org/wiki/images/e/eb/HelloSymbianWorld_Example_Code.zip.dita">File:
-HelloSymbianWorld Example Code.zip</xref>  (code example associated with this
-article)</p></li>
+<image href="GUID-631E27DB-97A7-47E2-8FC1-856198435FFF_d0e2988_href.png" placement="inline"/>
+</fig><p/><p>Now, click <b>Browse</b> and navigate to the <codeph>bld.inf</codeph> file of the project you want to import. It’s usually
+stored in the <codeph>/group/</codeph> subfolder of the project. </p><fig id="GUID-B682943D-10EE-4DC8-B510-7C2D54C536EE">
+<image href="GUID-C588B869-6940-42B2-84F9-71467F6A4306_d0e3004_href.png" placement="inline"/>
+</fig><p>In the following step, select which SDKs you would like to
+use. The same considerations as those explained when creating your
+Hello World application apply. </p><fig id="GUID-5A381CA4-CCE0-4359-8F02-697AEDA72BDE">
+<image href="GUID-D492CF6C-F889-4299-AC75-951EF343AC9F_d0e3010_href.png" placement="inline"/>
+</fig><p>You can usually accept the default values for the next step
+and let the wizard import everything.    </p><p>In the last step,
+you have to define the <b>Project Properties</b>. In most cases, you
+can leave the default values. </p><fig id="GUID-1AB6D789-9407-4AB0-8F52-B1138DE063BD">
+<image href="GUID-F18A6C91-136D-450E-90F0-7C2B9263777C_d0e3021_href.png" placement="inline"/>
+</fig><p>Afterwards, the project is imported and you can start working.
+The project contents will not be copied to the current Carbide.c++
+workspace, so you will work directly on the original directory and
+the original files. Copy the project to a different directory first
+if you want to keep the original project or example in its original
+state – for example, into the workspace directory.    </p><p><b>Troubleshooting</b>: If <keyword>importing</keyword> the project fails, take special
+care of the last step of the import process: the root directory should
+be set correctly to the root directory of the project and not one
+level above it. Also, the project name should be the same as the last
+part of the root directory. From time to time, the default values
+are not configured properly, causing problems in the import process. </p><p/><p><b>Warning</b>  </p><p>Do not use the standard (Eclipse)
+project import! The reason is that this import method would also import
+all build configuration settings, including references to installed
+SDKs and paths on the original system. Therefore, if you import a
+project from somebody else but don’t have the SDK installed in exactly
+the same directory, the build configurations will no longer work.
+The <codeph>bld.inf</codeph> import method recreates the SDK bindings
+and only imports the real contents of the project.</p></section>
+<section id="GUID-191D5D9D-00FB-47F0-B88B-8B87588A20C8"><title> Summary</title><p>This part of the tutorial has shown how we can extend the basic
+skeleton from the <xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian C++ Quick Start</xref> to create a small paint application.
+The tutorial explains the application framework, including how you
+define menus, how to handle touch-screen events, drawing to the screen
+etc. </p></section>
+<section id="GUID-8B6E602D-CA6B-41DD-B3DC-4C3BC9A04154"><title> Related
+Info</title><ul>
+<li><p><xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian
+C++ Quick Start</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref></p></li>
+<li><p><xref href="http://developer.symbian.org/wiki/images/e/eb/HelloSymbianWorld_Example_Code.zip" scope="external">File: HelloSymbianWorld Example Code.zip</xref> 
+(code example associated with this article)</p></li>
 </ul></section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0CA7F22E-59D7-4D65-9D6C-735E4E0F0454.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0CA7F22E-59D7-4D65-9D6C-735E4E0F0454.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,8 +14,8 @@
 <prereq id="GUID-578E2FA5-5265-4AF7-88EC-9BA5C143DDF7">       <p>Before setting
 channel properties, you must <xref href="GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita#GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B/GUID-FBBD3A8B-F240-4DC0-B516-3A51FDD86A88">open
 the sensor channel</xref>.</p>     </prereq>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-7-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-4-1-5-1-7-1-3-2-1"><cmd>Create a <parmname>TSensrvProperty</parmname> property
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-7-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-4-1-5-1-7-1-3-2-1"><cmd>Create a <parmname>TSensrvProperty</parmname> property
 object for setting the <parmname>KSensrvPropIdDataRate</parmname> property
 using the <parmname>TSensrvProperty(const TSensrvPropertyId,const TInt,const
 TInt)</parmname> constructor.</cmd>
Binary file Symbian3/PDK/Source/GUID-0CA8B17D-92D7-4293-B611-E0DDA05A6579_d0e63646_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0CA8B17D-92D7-4293-B611-E0DDA05A6579_d0e67868_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,67 +9,57 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66" xml:lang="en"><title>BIOMessageMgr:
-BIO Message manager using the message server</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66" xml:lang="en"><title>BIOMessageMgr: BIO Message manager using the message server</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The BIO Message manager example comprises two projects <filepath>BIOMessage.exe</filepath> and <filepath>BIOParser.dll</filepath>.
-The <filepath>BIOMessage.exe</filepath> example connects to the message server,
-creates a BIO message and sends the registered parser DLL and message entry
-to <filepath>BIOParser.dll</filepath>. </p>
-<section id="GUID-BBF66472-C97E-5C14-85BB-30AD56703E83"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-34a2835d-797c-4d05-8919-03fc43821825.zip" scope="external">Biomsgexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-34a2835d-797c-4d05-8919-03fc43821825.html" scope="peer"> browse</xref> to view the example code. </p> </section>
-<section id="GUID-3CD32BF4-F354-4281-9C9A-1FD5ED4761C7"><title>BIOMessage: BIO messaging using the message server</title> <p><b>Description</b> </p> <p>This
-example code demonstrates BIO messaging using <xref href="GUID-E1699CAB-423D-3AFA-BE77-3AFF38886EA3.dita"><apiname>RSendAs</apiname></xref> and <xref href="GUID-4499491F-FA1A-38E1-BB13-1AB184A31DA6.dita"><apiname>RSendAsMessage</apiname></xref> and
-other supporting classes as mentioned in the <xref href="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita#GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66/GUID-5048F691-DBA0-52DC-BBBA-922EE5DDE8D5">Class
-Summary</xref> below. </p> <p>The <filepath>BIOMessage</filepath> example
-code provides the following functionality: </p> <p><b>Creating a session </b> </p> <codeblock id="GUID-822DA39D-0568-54D9-A8EA-D49ABAB6D4D5" xml:space="preserve">void CBioMessage::Connect();</codeblock> <p>Creates
-a session with the message server using <xref href="GUID-E1699CAB-423D-3AFA-BE77-3AFF38886EA3.dita"><apiname>RSendAs</apiname></xref>. </p> <p>The
-generated console output looks like this: </p> <fig id="GUID-3F7EFDA7-7103-58F2-819B-F50A564F67F9">
-<image href="GUID-13F10D4C-BA0C-5B46-804D-191A70C36324_d0e489576_href.png" placement="inline"/>
+The <filepath>BIOMessage.exe</filepath> example connects to the message
+server, creates a BIO message and sends the registered parser DLL
+and message entry to <filepath>BIOParser.dll</filepath>. </p>
+<section id="GUID-BBF66472-C97E-5C14-85BB-30AD56703E83"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-34a2835d-797c-4d05-8919-03fc43821825.zip" scope="external">Biomsgexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-34a2835d-797c-4d05-8919-03fc43821825.html" scope="peer"> browse</xref> to view the example code. </p> </section>
+<section id="GUID-3CD32BF4-F354-4281-9C9A-1FD5ED4761C7"><title>BIOMessage:
+BIO messaging using the message server</title> <p><b>Description</b> </p> <p>This example code demonstrates BIO messaging using <xref href="GUID-E1699CAB-423D-3AFA-BE77-3AFF38886EA3.dita"><apiname>RSendAs</apiname></xref> and <xref href="GUID-4499491F-FA1A-38E1-BB13-1AB184A31DA6.dita"><apiname>RSendAsMessage</apiname></xref> and other
+supporting classes as mentioned in the <xref href="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita#GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66/GUID-5048F691-DBA0-52DC-BBBA-922EE5DDE8D5">Class Summary</xref> below. </p> <p>The <filepath>BIOMessage</filepath> example code provides the following functionality: </p> <p><b>Creating
+a session </b> </p> <codeblock id="GUID-822DA39D-0568-54D9-A8EA-D49ABAB6D4D5" xml:space="preserve">void CBioMessage::Connect();</codeblock> <p>Creates a session with the message server using <xref href="GUID-E1699CAB-423D-3AFA-BE77-3AFF38886EA3.dita"><apiname>RSendAs</apiname></xref>. </p> <p>The generated console output looks like this: </p> <fig id="GUID-3F7EFDA7-7103-58F2-819B-F50A564F67F9">
+<image href="GUID-13F10D4C-BA0C-5B46-804D-191A70C36324_d0e495397_href.png" placement="inline"/>
 </fig> <p><b>Creating a BIO message </b> </p> <codeblock id="GUID-898B2AF1-6B24-516A-A8CF-CE210D9136EC" xml:space="preserve">void CBioMessage::Create(RSendAsMessage&amp; aMessage);</codeblock> <p>This function does the following: </p> <ul>
-<li id="GUID-3B28353D-8885-56A2-9000-B2B481045A4A"><p>creates a BIO message
-of VCard type </p> </li>
-<li id="GUID-B8FE7FB1-D904-5520-9762-A0BAE0D53833"><p>sets the message body
-text </p> </li>
-<li id="GUID-AE681720-90EE-5AEE-9D98-54C41DD19E49"><p>adds the message recipients
-for the message to be sent. </p> </li>
+<li id="GUID-3B28353D-8885-56A2-9000-B2B481045A4A"><p>creates a BIO
+message of VCard type </p> </li>
+<li id="GUID-B8FE7FB1-D904-5520-9762-A0BAE0D53833"><p>sets the message
+body text </p> </li>
+<li id="GUID-AE681720-90EE-5AEE-9D98-54C41DD19E49"><p>adds the message
+recipients for the message to be sent. </p> </li>
 </ul> <p>The generated console output looks like this: </p> <fig id="GUID-7E3F4DA5-BFC3-5393-A04A-FDE944A89815">
-<image href="GUID-7DDC1BC6-A100-5B50-ABFE-B4AA466716A6_d0e489613_href.png" placement="inline"/>
-</fig> <p><b>Sending the BIO message </b> </p> <codeblock id="GUID-AA6C86D7-1657-5E3D-A025-43EB77FD3D31" xml:space="preserve">void CBioMessage::Send(RSendAsMessage&amp; aMessage);</codeblock> <p>Sends the message to the recipients. </p> <p>The generated console output
-looks like this: </p> <fig id="GUID-75B51188-D5AA-5BBD-90CA-3C33D2CF3744">
-<image href="GUID-3239641A-2D13-56D7-B18D-6E65B6B24886_d0e489632_href.png" placement="inline"/>
-</fig> <p><b>Creating the parser </b> </p> <codeblock id="GUID-0E38D4C7-B9D8-5F6E-A0AB-315447101C1D" xml:space="preserve">CBioParser::NewL(CMsvEntry* aEntry);</codeblock> <p>Creates a <codeph>CBioParser</codeph> object based on the message entry. </p> <p><b>Parsing
-the BIO message </b> </p> <codeblock id="GUID-BF605939-E297-5131-AFFA-DFED793492DF" xml:space="preserve">CBioParser::ParserL();</codeblock> <p>This
-function does the following: </p> <ul>
-<li id="GUID-A05F6576-7677-5D92-A9C4-1697D64CBAF3"><p>calls <codeph>ExtractMessageBodyL()</codeph> to
-extract the message body text from <xref href="GUID-8CB90FA2-A6CF-3FA2-81FF-7D22EFD9C2CE.dita"><apiname>CMsvStore</apiname></xref>, the message
-store </p> </li>
-<li id="GUID-ADAB322E-2354-52C5-9B7C-A4335E84B6EF"><p>finds, loads and maintains
-a reference count of client processes for a BIO parser DLL </p> </li>
-<li id="GUID-5F5D6BE4-EECE-5E70-82C6-2EB92133A2AF"><p>parses the message body
-text. </p> </li>
+<image href="GUID-7DDC1BC6-A100-5B50-ABFE-B4AA466716A6_d0e495434_href.png" placement="inline"/>
+</fig> <p><b>Sending the BIO message </b> </p> <codeblock id="GUID-AA6C86D7-1657-5E3D-A025-43EB77FD3D31" xml:space="preserve">void CBioMessage::Send(RSendAsMessage&amp; aMessage);</codeblock> <p>Sends the message to the recipients. </p> <p>The generated console
+output looks like this: </p> <fig id="GUID-75B51188-D5AA-5BBD-90CA-3C33D2CF3744">
+<image href="GUID-3239641A-2D13-56D7-B18D-6E65B6B24886_d0e495453_href.png" placement="inline"/>
+</fig> <p><b>Creating the parser </b> </p> <codeblock id="GUID-0E38D4C7-B9D8-5F6E-A0AB-315447101C1D" xml:space="preserve">CBioParser::NewL(CMsvEntry* aEntry);</codeblock> <p>Creates a <codeph>CBioParser</codeph> object based on the message
+entry. </p> <p><b>Parsing the BIO message </b> </p> <codeblock id="GUID-BF605939-E297-5131-AFFA-DFED793492DF" xml:space="preserve">CBioParser::ParserL();</codeblock> <p>This function does the following: </p> <ul>
+<li id="GUID-A05F6576-7677-5D92-A9C4-1697D64CBAF3"><p>calls <codeph>ExtractMessageBodyL()</codeph> to extract the message body text from <xref href="GUID-8CB90FA2-A6CF-3FA2-81FF-7D22EFD9C2CE.dita"><apiname>CMsvStore</apiname></xref>, the message store </p> </li>
+<li id="GUID-ADAB322E-2354-52C5-9B7C-A4335E84B6EF"><p>finds, loads
+and maintains a reference count of client processes for a BIO parser
+DLL </p> </li>
+<li id="GUID-5F5D6BE4-EECE-5E70-82C6-2EB92133A2AF"><p>parses the message
+body text. </p> </li>
 </ul> <p>The generated console output looks like this: </p> <fig id="GUID-2E3907F9-E810-5B1F-A6A0-60484FE004DF">
-<image href="GUID-DCCA3BD3-582A-5C71-A104-D922FFE3C680_d0e489690_href.png" placement="inline"/>
+<image href="GUID-DCCA3BD3-582A-5C71-A104-D922FFE3C680_d0e495511_href.png" placement="inline"/>
 </fig><p><b>Class Summary</b></p><p><xref href="GUID-E1699CAB-423D-3AFA-BE77-3AFF38886EA3.dita"><apiname>RSendAs</apiname></xref></p><p> <xref href="GUID-4499491F-FA1A-38E1-BB13-1AB184A31DA6.dita"><apiname>RSendAsMessage</apiname></xref></p><p> <xref href="GUID-CB2BB982-F91D-3E06-8D66-56731AA60EB8.dita"><apiname>CSendAsMessageTypes</apiname></xref></p><p> <xref href="GUID-90C4FDEE-3E4D-32B3-85E1-52C157AC4AC4.dita"><apiname>CSendAsAccounts</apiname></xref></p><p> <xref href="GUID-49738A1E-D452-30F3-9044-6528CABBD5D4.dita"><apiname>CRegisteredParserDll</apiname></xref></p><p> <xref href="GUID-115327CD-43D1-324B-84D7-8DFB6226C42A.dita"><apiname>CBIODatabase</apiname></xref></p><p> <xref href="GUID-8CB90FA2-A6CF-3FA2-81FF-7D22EFD9C2CE.dita"><apiname>CMsvStore</apiname></xref></p> </section>
-<section id="GUID-A61C8676-A44E-4F4B-96F3-D4836FD47370"><title>BIOParser: BIO message parsing</title> <p><b>Description</b> </p> <p>This
-example code demonstrates the parsing of the message. <codeph>CBIOExampleParser</codeph> is
-the wrapper class which uses <xref href="GUID-7A187B0D-79D6-3EAD-8181-FE2EBB9043DC.dita"><apiname>CBaseScriptParser2</apiname></xref> and other
-supporting classes mentioned in the <xref href="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita#GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66/GUID-E9472DA3-DA7B-5F4B-ACBF-770D3DE81580">Class
-Summary</xref> below. </p> <p>The <filepath>BIOParser</filepath> example code
-provides the following functionality: </p> <p><b>Creating the parser </b> </p> <codeblock id="GUID-C4ED1683-524A-55DA-88CB-D321C2AA59C2" xml:space="preserve">CBIOExampleParser* CBIOExampleParser::NewL(CRegisteredParserDll&amp; aRegisteredParserDll, CMsvEntry&amp; aEntry, RFs&amp; aFs);</codeblock> <p>Creates a <codeph>CBIOExampleParser</codeph> object based on the registered
-parser DLL and the message entry. </p> <p><b>Parsing the BIO message </b> </p> <codeblock id="GUID-6F493EBE-BD8C-5982-B1AB-B592A3BAD1F4" xml:space="preserve">void CBIOExampleParser::ParseL();</codeblock> <p>Parses
-the BIO message. </p> <p><b>Processing the BIO message </b> </p> <codeblock id="GUID-106E21B6-CDFE-51AB-9C91-C263033B60AE" xml:space="preserve">CBIOExampleParser::ProcessL();</codeblock> <p>Processes
-the parsed data. </p> <p id="GUID-E9472DA3-DA7B-5F4B-ACBF-770D3DE81580"><b>Class
-Summary</b> </p><p><xref href="GUID-7A187B0D-79D6-3EAD-8181-FE2EBB9043DC.dita"><apiname>CBaseScriptParser2</apiname></xref></p> </section>
-<section id="GUID-15A5B370-1546-4A27-8F3D-8BE336AE32FD"><title>Build</title> <p>The <filepath>BIOMessageMgr</filepath> example
-code includes the following project files for building the application: <filepath>BIOParser.mmp</filepath>, <filepath>BIOMessage.mmp</filepath> and <filepath>bld.inf</filepath>. </p> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this application. </p> <p>In CodeWarrior:
-firstly, 'make' the <filepath>BIOParser.mcp</filepath> which creates <filepath>BIOParser.dll</filepath> and <filepath>BIOParser.lib</filepath> in <filepath>\epoc32\release\winscw\</filepath>  <i>&lt;build_variant&gt;</i>, then secondly,
-make <filepath>BIOMessage.exe</filepath> in the same directory. Run <filepath>BIOMessage.mcp</filepath>,
-which runs <filepath>BIOMessage.exe</filepath> thus launching the emulator. </p> </section>
-<section id="GUID-E5C238CE-1321-4F18-9E37-C2CFE6D3995E"><title>Usage</title> <p>Launch the target. For emulator targets,
-run: <filepath>\epoc32\release\&lt;wins or winscw&gt;\&lt;urel or           udeb&gt;\BIOMessage.exe</filepath>.
-If TechView emulator is used, to run the application go to System menu and
-click on Open files / programs window. Start the "BIO Messaging Example" application. </p> <p>Step
-through each phase of the example by pressing the space bar or by tapping
-on the window drawn by the example. </p> </section>
+<section id="GUID-A61C8676-A44E-4F4B-96F3-D4836FD47370"><title>BIOParser:
+BIO message parsing</title> <p><b>Description</b> </p> <p>This example
+code demonstrates the parsing of the message. <codeph>CBIOExampleParser</codeph> is the wrapper class which uses <xref href="GUID-7A187B0D-79D6-3EAD-8181-FE2EBB9043DC.dita"><apiname>CBaseScriptParser2</apiname></xref> and other supporting classes mentioned in the <xref href="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita#GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66/GUID-E9472DA3-DA7B-5F4B-ACBF-770D3DE81580">Class Summary</xref> below. </p> <p>The <filepath>BIOParser</filepath> example code provides the following functionality: </p> <p><b>Creating
+the parser </b> </p> <codeblock id="GUID-C4ED1683-524A-55DA-88CB-D321C2AA59C2" xml:space="preserve">CBIOExampleParser* CBIOExampleParser::NewL(CRegisteredParserDll&amp; aRegisteredParserDll, CMsvEntry&amp; aEntry, RFs&amp; aFs);</codeblock> <p>Creates a <codeph>CBIOExampleParser</codeph> object based on
+the registered parser DLL and the message entry. </p> <p><b>Parsing
+the BIO message </b> </p> <codeblock id="GUID-6F493EBE-BD8C-5982-B1AB-B592A3BAD1F4" xml:space="preserve">void CBIOExampleParser::ParseL();</codeblock> <p>Parses the BIO message. </p> <p><b>Processing the BIO message </b> </p> <codeblock id="GUID-106E21B6-CDFE-51AB-9C91-C263033B60AE" xml:space="preserve">CBIOExampleParser::ProcessL();</codeblock> <p>Processes the parsed data. </p> <p id="GUID-E9472DA3-DA7B-5F4B-ACBF-770D3DE81580"><b>Class Summary</b> </p><p><xref href="GUID-7A187B0D-79D6-3EAD-8181-FE2EBB9043DC.dita"><apiname>CBaseScriptParser2</apiname></xref></p> </section>
+<section id="GUID-15A5B370-1546-4A27-8F3D-8BE336AE32FD"><title>Build</title> <p>The <filepath>BIOMessageMgr</filepath> example code includes
+the following project files for building the application: <filepath>BIOParser.mmp</filepath>, <filepath>BIOMessage.mmp</filepath> and <filepath>bld.inf</filepath>. </p> <p>The Symbian build process describes how
+to build this application. </p> <p>In CodeWarrior:
+firstly, 'make' the <filepath>BIOParser.mcp</filepath> which creates <filepath>BIOParser.dll</filepath> and <filepath>BIOParser.lib</filepath> in <filepath>\epoc32\release\winscw\</filepath>  <i>&lt;build_variant&gt;</i>, then
+secondly, make <filepath>BIOMessage.exe</filepath> in the same directory.
+Run <filepath>BIOMessage.mcp</filepath>, which runs <filepath>BIOMessage.exe</filepath> thus launching the emulator. </p> </section>
+<section id="GUID-E5C238CE-1321-4F18-9E37-C2CFE6D3995E"><title>Usage</title> <p>Launch the target. For emulator targets, run: <filepath>\epoc32\release\&lt;wins
+or winscw&gt;\&lt;urel or           udeb&gt;\BIOMessage.exe</filepath>.
+If TechView emulator is used, to run the application go to System
+menu and click on Open files / programs window. Start the "BIO Messaging
+Example" application. </p> <p>Step through each phase of the example
+by pressing the space bar or by tapping on the window drawn by the
+example. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0CCCF088-E636-4C12-AA5E-3E2CB04424AD_d0e424006_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0CCCF088-E636-4C12-AA5E-3E2CB04424AD_d0e429859_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0CD18555-07EB-545D-9D47-D69A6BE6D2C8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0CD18555-07EB-545D-9D47-D69A6BE6D2C8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-0CD18555-07EB-545D-9D47-D69A6BE6D2C8"><title>Standard SMS Converter</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes the Standard SMS Converter and the alphabet it supports. </p> <section><title>Introduction</title> <p>The Standard SMS Converter is a built-in converter based on the GSM 7-bit encoding. This converter is identified by the <codeph>KCharacterSetIdentifierSms7Bit</codeph> UID, which is defined in the <filepath>charconv.h</filepath> header file. To better understand the different character set of each SMS converter, the Standard SMS Converter is set as the baseline. Any differences or additions to the character set of Standard SMS Converter are listed. </p> <p>For all of the converters, any undefined Unicode is converted to a question mark (?)–GSM code <codeph>0x37</codeph>. Any code outside GSM <codeph>0x00</codeph> ~<codeph>0x7F</codeph> is converted to the Unicode replacement character <codeph>0xFFFD</codeph>. </p> </section> <section id="GUID-2EE2587C-16F2-524C-B350-E22A75F86F3A"><title>Alphabet</title> <p>The highlighted boxes in Figure 1 illustrate the alphabet of the standard SMS converter: </p> <ul><li id="GUID-16BD53E0-8C2B-503B-82BE-0A1D3D0AF2F1"><p>GSM 7-bit default alphabet </p> </li> <li id="GUID-16D5929D-8A03-5082-9B82-F68D863D69A1"><p>GSM 7-bit default alphabet extension table </p> </li> <li id="GUID-743F9057-8A3E-520B-8F8A-C6FBA3DFEEDD"><p>Extra lossy conversions–shown as Lossy Characters 1 in Figure 4. </p> </li> </ul> <p>Figure 1 </p> <fig id="GUID-51217C83-4B41-5A05-B5FB-100C89996B6B"><title>
              Alphabet of the Standard SMS Converter 
-          </title> <image href="GUID-D222EAAA-ACF4-5837-8CDD-5EDB02EAE259_d0e659341_href.png" placement="inline"/></fig> <p>For information about the GSM 7-bit default alphabet and extension table, see 3GPP TS 23.038 V8.1.0. The table below lists the extra lossy conversions supported by the standard converter. </p> <table id="GUID-6CCD9755-6504-590B-B061-57B4B5C67DED"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Character</b>  </p> </entry> <entry><p> <b>Unicode</b>  </p> </entry> <entry><p> <b>GSM</b>  </p> </entry> <entry><p> <b>Converted Character</b>  </p> </entry> </row> <row><entry><p>ç LATIN SMALL LETTER C WITH CEDILLA </p> </entry> <entry><p>0x00E7 </p> </entry> <entry><p>0x09 </p> </entry> <entry><p>Ç LATIN CAPITAL LETTER C WITH CEDILLA </p> </entry> </row> <row><entry><p>δ GREEK SMALL LETTER DELTA </p> </entry> <entry><p>0x03B4 </p> </entry> <entry><p>0x10 </p> </entry> <entry><p>Δ GREEK CAPITAL LETTER DELTA </p> </entry> </row> <row><entry><p>φ GREEK SMALL LETTER PHI </p> </entry> <entry><p>0x03C6 </p> </entry> <entry><p>0x12 </p> </entry> <entry><p>Φ GREEK CAPITAL LETTER PHI </p> </entry> </row> <row><entry><p>ϕ GREEK PHI SYMBOL </p> </entry> <entry><p>0x03D5 </p> </entry> <entry><p>0x12 </p> </entry> <entry><p>Φ GREEK CAPITAL LETTER PHI </p> </entry> </row> <row><entry><p>γ GREEK SMALL LETTER GAMMA </p> </entry> <entry><p>0x03B3 </p> </entry> <entry><p>0x13 </p> </entry> <entry><p>Γ GREEK CAPITAL LETTER GAMMA </p> </entry> </row> <row><entry><p>λ GREEK SMALL LETTER LAMDA </p> </entry> <entry><p>0x03BB </p> </entry> <entry><p>0x14 </p> </entry> <entry><p>Λ GREEK CAPITAL LETTER LAMDA </p> </entry> </row> <row><entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> <entry><p>0x03A9 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>ω GREEK SMALL LETTER OMEGA </p> </entry> <entry><p>0x03C9 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>ώ GREEK SMALL LETTER OMEGA WITH TONOS </p> </entry> <entry><p>0x03CE </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>Ω OHM SIGN </p> </entry> <entry><p>0x2126 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>π GREEK SMALL LETTER PI </p> </entry> <entry><p>0x03C0 </p> </entry> <entry><p>0x16 </p> </entry> <entry><p>Π GREEK CAPITAL LETTER PI </p> </entry> </row> <row><entry><p>∏ N-ARY PRODUCT </p> </entry> <entry><p>0x220F </p> </entry> <entry><p>0x16 </p> </entry> <entry><p>Π GREEK CAPITAL LETTER PI </p> </entry> </row> <row><entry><p>ψ GREEK SMALL LETTER PSI </p> </entry> <entry><p>0x03C8 </p> </entry> <entry><p>0x17 </p> </entry> <entry><p>Ψ GREEK CAPITAL LETTER PSI </p> </entry> </row> <row><entry><p>ς GREEK SMALL LETTER FINAL SIGMA </p> </entry> <entry><p>0x03C2 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>σ GREEK SMALL LETTER SIGMA </p> </entry> <entry><p>0x03C3 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>∑ N-ARY SUMMATION </p> </entry> <entry><p>0x2211 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>θ GREEK SMALL LETTER THETA </p> </entry> <entry><p>0x03B8 </p> </entry> <entry><p>0x19 </p> </entry> <entry><p>Θ GREEK CAPITAL LETTER THETA </p> </entry> </row> <row><entry><p>ϑ GREEK THETA SYMBOL </p> </entry> <entry><p>0x03D1 </p> </entry> <entry><p>0x19 </p> </entry> <entry><p>Θ GREEK CAPITAL LETTER THETA </p> </entry> </row> <row><entry><p>ξ GREEK SMALL LETTER XI </p> </entry> <entry><p>0x03BE </p> </entry> <entry><p>0x1A </p> </entry> <entry><p>Ξ GREEK CAPITAL LETTER XI </p> </entry> </row> <row><entry><p>(FORM FEED) </p> </entry> <entry><p>0x000C </p> </entry> <entry><p>0x1B0A </p> </entry> <entry><p>(PAGE BREAK) </p> </entry> </row> <row><entry><p>À LATIN CAPITAL LETTER A WITH GRAVE </p> </entry> <entry><p>0x00C0 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Á LATIN CAPITAL LETTER A WITH ACUTE </p> </entry> <entry><p>0x00C1 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX </p> </entry> <entry><p>0x00C2 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ã LATIN CAPITAL LETTER A WITH TILDE </p> </entry> <entry><p>0x00C3 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ά GREEK CAPITAL LETTER ALPHA WITH TONOS </p> </entry> <entry><p>0x0386 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Α GREEK CAPITAL LETTER ALPHA </p> </entry> <entry><p>0x0391 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>ά GREEK SMALL LETTER ALPHA WITH TONOS </p> </entry> <entry><p>0x03AC </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>α GREEK SMALL LETTER ALPHA </p> </entry> <entry><p>0x03B1 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Β GREEK CAPITAL LETTER BETA </p> </entry> <entry><p>0x0392 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>β GREEK SMALL LETTER BETA </p> </entry> <entry><p>0x03B2 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>ϐ GREEK BETA SYMBOL </p> </entry> <entry><p>0x03D0 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>È LATIN CAPITAL LETTER E WITH GRAVE </p> </entry> <entry><p>0x00C8 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX </p> </entry> <entry><p>0x00CA </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ë LATIN CAPITAL LETTER E WITH DIAERESIS </p> </entry> <entry><p>0x00CB </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Έ GREEK CAPITAL LETTER EPSILON WITH TONOS </p> </entry> <entry><p>0x0388 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ε GREEK CAPITAL LETTER EPSILON </p> </entry> <entry><p>0x0395 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>έ GREEK SMALL LETTER EPSILON WITH TONOS </p> </entry> <entry><p>0x03AD </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>ε GREEK SMALL LETTER EPSILON </p> </entry> <entry><p>0x03B5 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ή GREEK CAPITAL LETTER ETA WITH TONOS </p> </entry> <entry><p>0x0389 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Η GREEK CAPITAL LETTER ETA </p> </entry> <entry><p>0x0397 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>ή GREEK SMALL LETTER ETA WITH TONOS </p> </entry> <entry><p>0x03AE </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>η GREEK SMALL LETTER ETA </p> </entry> <entry><p>0x03B7 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Ì LATIN CAPITAL LETTER I WITH GRAVE </p> </entry> <entry><p>0x00CC </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Í LATIN CAPITAL LETTER I WITH ACUTE </p> </entry> <entry><p>0x00CD </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX </p> </entry> <entry><p>0x00CE </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ï LATIN CAPITAL LETTER I WITH DIAERESIS </p> </entry> <entry><p>0x00CF </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ί GREEK CAPITAL LETTER IOTA WITH TONOS </p> </entry> <entry><p>0x038A </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ΐ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS </p> </entry> <entry><p>0x0390 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ι GREEK CAPITAL LETTER IOTA </p> </entry> <entry><p>0x0399 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA </p> </entry> <entry><p>0x03AA </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ί GREEK SMALL LETTER IOTA WITH TONOS </p> </entry> <entry><p>0x03AF </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ι GREEK SMALL LETTER IOTA </p> </entry> <entry><p>0x03B9 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ϊ GREEK SMALL LETTER IOTA WITH DIALYTIKA </p> </entry> <entry><p>0x03CA </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Κ GREEK CAPITAL LETTER KAPPA </p> </entry> <entry><p>0x039A </p> </entry> <entry><p>0x4B </p> </entry> <entry><p>K LATIN CAPITAL LETTER K </p> </entry> </row> <row><entry><p>κ GREEK SMALL LETTER KAPPA </p> </entry> <entry><p>0x03BA </p> </entry> <entry><p>0x4B </p> </entry> <entry><p>K LATIN CAPITAL LETTER K </p> </entry> </row> <row><entry><p>Μ GREEK CAPITAL LETTER MU </p> </entry> <entry><p>0x039C </p> </entry> <entry><p>0x4D </p> </entry> <entry><p>M LATIN CAPITAL LETTER M </p> </entry> </row> <row><entry><p>μ GREEK SMALL LETTER MU </p> </entry> <entry><p>0x03BC </p> </entry> <entry><p>0x4D </p> </entry> <entry><p>M LATIN CAPITAL LETTER M </p> </entry> </row> <row><entry><p>Ν GREEK CAPITAL LETTER NU </p> </entry> <entry><p>0x039D </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>ν GREEK SMALL LETTER NU </p> </entry> <entry><p>0x03BD </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ò LATIN CAPITAL LETTER O WITH GRAVE </p> </entry> <entry><p>0x00D2 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ó LATIN CAPITAL LETTER O WITH ACUTE </p> </entry> <entry><p>0x00D3 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX </p> </entry> <entry><p>0x00D4 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Õ LATIN CAPITAL LETTER O WITH TILDE </p> </entry> <entry><p>0x00D5 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ό GREEK CAPITAL LETTER OMICRON WITH TONOS </p> </entry> <entry><p>0x038C </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ο GREEK CAPITAL LETTER OMICRON </p> </entry> <entry><p>0x039F </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>ο GREEK SMALL LETTER OMICRON </p> </entry> <entry><p>0x03BF </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>ό GREEK SMALL LETTER OMICRON WITH TONOS </p> </entry> <entry><p>0x03CC </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ρ GREEK CAPITAL LETTER RHO </p> </entry> <entry><p>0x03A1 </p> </entry> <entry><p>0x50 </p> </entry> <entry><p>P LATIN CAPITAL LETTER P </p> </entry> </row> <row><entry><p>ρ GREEK SMALL LETTER RHO </p> </entry> <entry><p>0x03C1 </p> </entry> <entry><p>0x50 </p> </entry> <entry><p>P LATIN CAPITAL LETTER P </p> </entry> </row> <row><entry><p>Τ GREEK CAPITAL LETTER TAU </p> </entry> <entry><p>0x03A4 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>τ GREEK SMALL LETTER TAU </p> </entry> <entry><p>0x03C4 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ù LATIN CAPITAL LETTER U WITH GRAVE </p> </entry> <entry><p>0x00D9 </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ú LATIN CAPITAL LETTER U WITH ACUTE </p> </entry> <entry><p>0x00DA </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX </p> </entry> <entry><p>0x00DB </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Χ GREEK CAPITAL LETTER CHI </p> </entry> <entry><p>0x03A7 </p> </entry> <entry><p>0x58 </p> </entry> <entry><p>X LATIN CAPITAL LETTER X </p> </entry> </row> <row><entry><p>χ GREEK SMALL LETTER CHI </p> </entry> <entry><p>0x03C7 </p> </entry> <entry><p>0x58 </p> </entry> <entry><p>X LATIN CAPITAL LETTER X </p> </entry> </row> <row><entry><p>Ý LATIN CAPITAL LETTER Y WITH ACUTE </p> </entry> <entry><p>0x00DD </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ύ GREEK CAPITAL LETTER UPSILON WITH TONOS </p> </entry> <entry><p>0x038E </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Υ GREEK CAPITAL LETTER UPSILON </p> </entry> <entry><p>0x03A5 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ϋ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA </p> </entry> <entry><p>0x03AB </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ΰ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS </p> </entry> <entry><p>0x03B0 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>υ GREEK SMALL LETTER UPSILON </p> </entry> <entry><p>0x03C5 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϋ GREEK SMALL LETTER UPSILON WITH DIALYTIKA </p> </entry> <entry><p>0x03CB </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ύ GREEK SMALL LETTER UPSILON WITH TONOS </p> </entry> <entry><p>0x03CD </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϒ GREEK UPSILON WITH HOOK SYMBOL </p> </entry> <entry><p>0x03D2 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϓ GREEK UPSILON WITH ACUTE AND HOOK SYMBOL </p> </entry> <entry><p>0x03D3 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϔ GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL </p> </entry> <entry><p>0x03D4 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ζ GREEK CAPITAL LETTER ZETA </p> </entry> <entry><p>0x0396 </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>ζ GREEK SMALL LETTER ZETA </p> </entry> <entry><p>0x03b6 </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>á LATIN SMALL LETTER A WITH ACUTE </p> </entry> <entry><p>0x00E1 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>â LATIN SMALL LETTER A WITH CIRCUMFLEX </p> </entry> <entry><p>0x00E2 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ã LATIN SMALL LETTER A WITH TILDE </p> </entry> <entry><p>0x00E3 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ê LATIN SMALL LETTER E WITH CIRCUMFLEX </p> </entry> <entry><p>0x00EA </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ë LATIN SMALL LETTER E WITH DIAERESIS </p> </entry> <entry><p>0x00EB </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>í LATIN SMALL LETTER I WITH ACUTE </p> </entry> <entry><p>0x00ED </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>î LATIN SMALL LETTER I WITH CIRCUMFLEX </p> </entry> <entry><p>0x00EE </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ï LATIN SMALL LETTER I WITH DIAERESIS </p> </entry> <entry><p>0x00EF </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ó LATIN SMALL LETTER O WITH ACUTE </p> </entry> <entry><p>0x00f3 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ô LATIN SMALL LETTER O WITH CIRCUMFLEX </p> </entry> <entry><p>0x00F4 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>õ LATIN SMALL LETTER O WITH TILDE </p> </entry> <entry><p>0x00F5 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ú LATIN SMALL LETTER U WITH ACUTE </p> </entry> <entry><p>0x00FA </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>û LATIN SMALL LETTER U WITH CIRCUMFLEX </p> </entry> <entry><p>0x00FB </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ý LATIN SMALL LETTER Y WITH ACUTE </p> </entry> <entry><p>0x00FD </p> </entry> <entry><p>0x79 </p> </entry> <entry><p>y LATIN SMALL LETTER Y </p> </entry> </row> <row><entry><p>ÿ LATIN SMALL LETTER Y WITH DIAERESIS </p> </entry> <entry><p>0x00FF </p> </entry> <entry><p>0x79 </p> </entry> <entry><p>y LATIN SMALL LETTER Y </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>See also</title> <p> <xref href="GUID-0BC9A9A1-DB99-5095-8390-E1C1B04D0080.dita">SMS Encodings and Converters Overview</xref> </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-D222EAAA-ACF4-5837-8CDD-5EDB02EAE259_d0e672168_href.png" placement="inline"/></fig> <p>For information about the GSM 7-bit default alphabet and extension table, see 3GPP TS 23.038 V8.1.0. The table below lists the extra lossy conversions supported by the standard converter. </p> <table id="GUID-6CCD9755-6504-590B-B061-57B4B5C67DED"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Character</b>  </p> </entry> <entry><p> <b>Unicode</b>  </p> </entry> <entry><p> <b>GSM</b>  </p> </entry> <entry><p> <b>Converted Character</b>  </p> </entry> </row> <row><entry><p>ç LATIN SMALL LETTER C WITH CEDILLA </p> </entry> <entry><p>0x00E7 </p> </entry> <entry><p>0x09 </p> </entry> <entry><p>Ç LATIN CAPITAL LETTER C WITH CEDILLA </p> </entry> </row> <row><entry><p>δ GREEK SMALL LETTER DELTA </p> </entry> <entry><p>0x03B4 </p> </entry> <entry><p>0x10 </p> </entry> <entry><p>Δ GREEK CAPITAL LETTER DELTA </p> </entry> </row> <row><entry><p>φ GREEK SMALL LETTER PHI </p> </entry> <entry><p>0x03C6 </p> </entry> <entry><p>0x12 </p> </entry> <entry><p>Φ GREEK CAPITAL LETTER PHI </p> </entry> </row> <row><entry><p>ϕ GREEK PHI SYMBOL </p> </entry> <entry><p>0x03D5 </p> </entry> <entry><p>0x12 </p> </entry> <entry><p>Φ GREEK CAPITAL LETTER PHI </p> </entry> </row> <row><entry><p>γ GREEK SMALL LETTER GAMMA </p> </entry> <entry><p>0x03B3 </p> </entry> <entry><p>0x13 </p> </entry> <entry><p>Γ GREEK CAPITAL LETTER GAMMA </p> </entry> </row> <row><entry><p>λ GREEK SMALL LETTER LAMDA </p> </entry> <entry><p>0x03BB </p> </entry> <entry><p>0x14 </p> </entry> <entry><p>Λ GREEK CAPITAL LETTER LAMDA </p> </entry> </row> <row><entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> <entry><p>0x03A9 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>ω GREEK SMALL LETTER OMEGA </p> </entry> <entry><p>0x03C9 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>ώ GREEK SMALL LETTER OMEGA WITH TONOS </p> </entry> <entry><p>0x03CE </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>Ω OHM SIGN </p> </entry> <entry><p>0x2126 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>π GREEK SMALL LETTER PI </p> </entry> <entry><p>0x03C0 </p> </entry> <entry><p>0x16 </p> </entry> <entry><p>Π GREEK CAPITAL LETTER PI </p> </entry> </row> <row><entry><p>∏ N-ARY PRODUCT </p> </entry> <entry><p>0x220F </p> </entry> <entry><p>0x16 </p> </entry> <entry><p>Π GREEK CAPITAL LETTER PI </p> </entry> </row> <row><entry><p>ψ GREEK SMALL LETTER PSI </p> </entry> <entry><p>0x03C8 </p> </entry> <entry><p>0x17 </p> </entry> <entry><p>Ψ GREEK CAPITAL LETTER PSI </p> </entry> </row> <row><entry><p>ς GREEK SMALL LETTER FINAL SIGMA </p> </entry> <entry><p>0x03C2 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>σ GREEK SMALL LETTER SIGMA </p> </entry> <entry><p>0x03C3 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>∑ N-ARY SUMMATION </p> </entry> <entry><p>0x2211 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>θ GREEK SMALL LETTER THETA </p> </entry> <entry><p>0x03B8 </p> </entry> <entry><p>0x19 </p> </entry> <entry><p>Θ GREEK CAPITAL LETTER THETA </p> </entry> </row> <row><entry><p>ϑ GREEK THETA SYMBOL </p> </entry> <entry><p>0x03D1 </p> </entry> <entry><p>0x19 </p> </entry> <entry><p>Θ GREEK CAPITAL LETTER THETA </p> </entry> </row> <row><entry><p>ξ GREEK SMALL LETTER XI </p> </entry> <entry><p>0x03BE </p> </entry> <entry><p>0x1A </p> </entry> <entry><p>Ξ GREEK CAPITAL LETTER XI </p> </entry> </row> <row><entry><p>(FORM FEED) </p> </entry> <entry><p>0x000C </p> </entry> <entry><p>0x1B0A </p> </entry> <entry><p>(PAGE BREAK) </p> </entry> </row> <row><entry><p>À LATIN CAPITAL LETTER A WITH GRAVE </p> </entry> <entry><p>0x00C0 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Á LATIN CAPITAL LETTER A WITH ACUTE </p> </entry> <entry><p>0x00C1 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX </p> </entry> <entry><p>0x00C2 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ã LATIN CAPITAL LETTER A WITH TILDE </p> </entry> <entry><p>0x00C3 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ά GREEK CAPITAL LETTER ALPHA WITH TONOS </p> </entry> <entry><p>0x0386 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Α GREEK CAPITAL LETTER ALPHA </p> </entry> <entry><p>0x0391 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>ά GREEK SMALL LETTER ALPHA WITH TONOS </p> </entry> <entry><p>0x03AC </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>α GREEK SMALL LETTER ALPHA </p> </entry> <entry><p>0x03B1 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Β GREEK CAPITAL LETTER BETA </p> </entry> <entry><p>0x0392 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>β GREEK SMALL LETTER BETA </p> </entry> <entry><p>0x03B2 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>ϐ GREEK BETA SYMBOL </p> </entry> <entry><p>0x03D0 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>È LATIN CAPITAL LETTER E WITH GRAVE </p> </entry> <entry><p>0x00C8 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX </p> </entry> <entry><p>0x00CA </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ë LATIN CAPITAL LETTER E WITH DIAERESIS </p> </entry> <entry><p>0x00CB </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Έ GREEK CAPITAL LETTER EPSILON WITH TONOS </p> </entry> <entry><p>0x0388 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ε GREEK CAPITAL LETTER EPSILON </p> </entry> <entry><p>0x0395 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>έ GREEK SMALL LETTER EPSILON WITH TONOS </p> </entry> <entry><p>0x03AD </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>ε GREEK SMALL LETTER EPSILON </p> </entry> <entry><p>0x03B5 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ή GREEK CAPITAL LETTER ETA WITH TONOS </p> </entry> <entry><p>0x0389 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Η GREEK CAPITAL LETTER ETA </p> </entry> <entry><p>0x0397 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>ή GREEK SMALL LETTER ETA WITH TONOS </p> </entry> <entry><p>0x03AE </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>η GREEK SMALL LETTER ETA </p> </entry> <entry><p>0x03B7 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Ì LATIN CAPITAL LETTER I WITH GRAVE </p> </entry> <entry><p>0x00CC </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Í LATIN CAPITAL LETTER I WITH ACUTE </p> </entry> <entry><p>0x00CD </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX </p> </entry> <entry><p>0x00CE </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ï LATIN CAPITAL LETTER I WITH DIAERESIS </p> </entry> <entry><p>0x00CF </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ί GREEK CAPITAL LETTER IOTA WITH TONOS </p> </entry> <entry><p>0x038A </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ΐ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS </p> </entry> <entry><p>0x0390 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ι GREEK CAPITAL LETTER IOTA </p> </entry> <entry><p>0x0399 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA </p> </entry> <entry><p>0x03AA </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ί GREEK SMALL LETTER IOTA WITH TONOS </p> </entry> <entry><p>0x03AF </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ι GREEK SMALL LETTER IOTA </p> </entry> <entry><p>0x03B9 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>ϊ GREEK SMALL LETTER IOTA WITH DIALYTIKA </p> </entry> <entry><p>0x03CA </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Κ GREEK CAPITAL LETTER KAPPA </p> </entry> <entry><p>0x039A </p> </entry> <entry><p>0x4B </p> </entry> <entry><p>K LATIN CAPITAL LETTER K </p> </entry> </row> <row><entry><p>κ GREEK SMALL LETTER KAPPA </p> </entry> <entry><p>0x03BA </p> </entry> <entry><p>0x4B </p> </entry> <entry><p>K LATIN CAPITAL LETTER K </p> </entry> </row> <row><entry><p>Μ GREEK CAPITAL LETTER MU </p> </entry> <entry><p>0x039C </p> </entry> <entry><p>0x4D </p> </entry> <entry><p>M LATIN CAPITAL LETTER M </p> </entry> </row> <row><entry><p>μ GREEK SMALL LETTER MU </p> </entry> <entry><p>0x03BC </p> </entry> <entry><p>0x4D </p> </entry> <entry><p>M LATIN CAPITAL LETTER M </p> </entry> </row> <row><entry><p>Ν GREEK CAPITAL LETTER NU </p> </entry> <entry><p>0x039D </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>ν GREEK SMALL LETTER NU </p> </entry> <entry><p>0x03BD </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ò LATIN CAPITAL LETTER O WITH GRAVE </p> </entry> <entry><p>0x00D2 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ó LATIN CAPITAL LETTER O WITH ACUTE </p> </entry> <entry><p>0x00D3 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX </p> </entry> <entry><p>0x00D4 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Õ LATIN CAPITAL LETTER O WITH TILDE </p> </entry> <entry><p>0x00D5 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ό GREEK CAPITAL LETTER OMICRON WITH TONOS </p> </entry> <entry><p>0x038C </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ο GREEK CAPITAL LETTER OMICRON </p> </entry> <entry><p>0x039F </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>ο GREEK SMALL LETTER OMICRON </p> </entry> <entry><p>0x03BF </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>ό GREEK SMALL LETTER OMICRON WITH TONOS </p> </entry> <entry><p>0x03CC </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ρ GREEK CAPITAL LETTER RHO </p> </entry> <entry><p>0x03A1 </p> </entry> <entry><p>0x50 </p> </entry> <entry><p>P LATIN CAPITAL LETTER P </p> </entry> </row> <row><entry><p>ρ GREEK SMALL LETTER RHO </p> </entry> <entry><p>0x03C1 </p> </entry> <entry><p>0x50 </p> </entry> <entry><p>P LATIN CAPITAL LETTER P </p> </entry> </row> <row><entry><p>Τ GREEK CAPITAL LETTER TAU </p> </entry> <entry><p>0x03A4 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>τ GREEK SMALL LETTER TAU </p> </entry> <entry><p>0x03C4 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ù LATIN CAPITAL LETTER U WITH GRAVE </p> </entry> <entry><p>0x00D9 </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ú LATIN CAPITAL LETTER U WITH ACUTE </p> </entry> <entry><p>0x00DA </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX </p> </entry> <entry><p>0x00DB </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Χ GREEK CAPITAL LETTER CHI </p> </entry> <entry><p>0x03A7 </p> </entry> <entry><p>0x58 </p> </entry> <entry><p>X LATIN CAPITAL LETTER X </p> </entry> </row> <row><entry><p>χ GREEK SMALL LETTER CHI </p> </entry> <entry><p>0x03C7 </p> </entry> <entry><p>0x58 </p> </entry> <entry><p>X LATIN CAPITAL LETTER X </p> </entry> </row> <row><entry><p>Ý LATIN CAPITAL LETTER Y WITH ACUTE </p> </entry> <entry><p>0x00DD </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ύ GREEK CAPITAL LETTER UPSILON WITH TONOS </p> </entry> <entry><p>0x038E </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Υ GREEK CAPITAL LETTER UPSILON </p> </entry> <entry><p>0x03A5 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ϋ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA </p> </entry> <entry><p>0x03AB </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ΰ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS </p> </entry> <entry><p>0x03B0 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>υ GREEK SMALL LETTER UPSILON </p> </entry> <entry><p>0x03C5 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϋ GREEK SMALL LETTER UPSILON WITH DIALYTIKA </p> </entry> <entry><p>0x03CB </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ύ GREEK SMALL LETTER UPSILON WITH TONOS </p> </entry> <entry><p>0x03CD </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϒ GREEK UPSILON WITH HOOK SYMBOL </p> </entry> <entry><p>0x03D2 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϓ GREEK UPSILON WITH ACUTE AND HOOK SYMBOL </p> </entry> <entry><p>0x03D3 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϔ GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL </p> </entry> <entry><p>0x03D4 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ζ GREEK CAPITAL LETTER ZETA </p> </entry> <entry><p>0x0396 </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>ζ GREEK SMALL LETTER ZETA </p> </entry> <entry><p>0x03b6 </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>á LATIN SMALL LETTER A WITH ACUTE </p> </entry> <entry><p>0x00E1 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>â LATIN SMALL LETTER A WITH CIRCUMFLEX </p> </entry> <entry><p>0x00E2 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ã LATIN SMALL LETTER A WITH TILDE </p> </entry> <entry><p>0x00E3 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ê LATIN SMALL LETTER E WITH CIRCUMFLEX </p> </entry> <entry><p>0x00EA </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ë LATIN SMALL LETTER E WITH DIAERESIS </p> </entry> <entry><p>0x00EB </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>í LATIN SMALL LETTER I WITH ACUTE </p> </entry> <entry><p>0x00ED </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>î LATIN SMALL LETTER I WITH CIRCUMFLEX </p> </entry> <entry><p>0x00EE </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ï LATIN SMALL LETTER I WITH DIAERESIS </p> </entry> <entry><p>0x00EF </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ó LATIN SMALL LETTER O WITH ACUTE </p> </entry> <entry><p>0x00f3 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ô LATIN SMALL LETTER O WITH CIRCUMFLEX </p> </entry> <entry><p>0x00F4 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>õ LATIN SMALL LETTER O WITH TILDE </p> </entry> <entry><p>0x00F5 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ú LATIN SMALL LETTER U WITH ACUTE </p> </entry> <entry><p>0x00FA </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>û LATIN SMALL LETTER U WITH CIRCUMFLEX </p> </entry> <entry><p>0x00FB </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ý LATIN SMALL LETTER Y WITH ACUTE </p> </entry> <entry><p>0x00FD </p> </entry> <entry><p>0x79 </p> </entry> <entry><p>y LATIN SMALL LETTER Y </p> </entry> </row> <row><entry><p>ÿ LATIN SMALL LETTER Y WITH DIAERESIS </p> </entry> <entry><p>0x00FF </p> </entry> <entry><p>0x79 </p> </entry> <entry><p>y LATIN SMALL LETTER Y </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>See also</title> <p> <xref href="GUID-0BC9A9A1-DB99-5095-8390-E1C1B04D0080.dita">SMS Encodings and Converters Overview</xref> </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e17786_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e19778_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0D093559-793F-5CDC-BB66-8FE1C8A3850E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0D093559-793F-5CDC-BB66-8FE1C8A3850E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,13 +19,13 @@
 other techniques. </p> <p id="GUID-828B8B44-8CC3-5CCA-A4C9-BF90353B2002"><b> Transient tables</b> </p> <p>Transient
 tables are created by the database engine to compute intermediate results. </p> <p>Transient
 tables are stored on disk by default, which may result in unexpected I/O calls
-that will probably have a negative impact on database performance. </p> <p id="GUID-0F43181C-2C32-5B5D-8AA2-4588D3DAF171-GENID-1-12-1-24-1-1-6-1-1-9-1-7-1-5-1-4-1-3-2-6"><b>Prevent datafile corruption</b> </p> <p>Datafile
+that will probably have a negative impact on database performance. </p> <p id="GUID-0F43181C-2C32-5B5D-8AA2-4588D3DAF171-GENID-1-12-1-27-1-1-6-1-1-9-1-7-1-5-1-4-1-3-2-6"><b>Prevent datafile corruption</b> </p> <p>Datafile
 corruption is corruption of the file containing a database with invalid data. </p> <p>Datafile
 corruption can occur after a system crash or loss of power. SQLite maintains
 files called rollback journals from which the last valid state of a database
 can be reconstructed. However, if a rollback journal is removed or renamed
 during recovery from a crash, for instance in the course of application recovery
-the database will remain corrupted. </p> <p id="GUID-0F43181C-2C32-5B5D-8AA2-4588D3DAF171-GENID-1-12-1-24-1-1-6-1-1-9-1-7-1-5-1-4-1-3-2-9"><b>SQL index tips</b> </p> <p>Indexes
+the database will remain corrupted. </p> <p id="GUID-0F43181C-2C32-5B5D-8AA2-4588D3DAF171-GENID-1-12-1-27-1-1-6-1-1-9-1-7-1-5-1-4-1-3-2-9"><b>SQL index tips</b> </p> <p>Indexes
 are added either manually or automatically to columns of a data table to speed
 up SELECT operations. </p> <p>Indexes greatly speed up the performance of
 SELECT statements but can impact on insertions, updates and deletions and
--- a/Symbian3/PDK/Source/GUID-0D1E30D8-D900-5FD9-BD1F-1B93BAD8AEF5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0D1E30D8-D900-5FD9-BD1F-1B93BAD8AEF5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-0D1E30D8-D900-5FD9-BD1F-1B93BAD8AEF5"><title>What are fields</title><shortdesc>This topic describes the structure of a field. A field is an item that can be stored in the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <p>A field is a container and an element. A field is the basic unit of information in the Comms Database. </p> <p>A field is represented by the templated class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;T&gt;</codeph>. The template parameter defines the type of data that the field contains. For example <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>TInt</apiname></xref>, <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>TDesC</apiname></xref>, <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>TBool</apiname></xref>   </p> <p>Fields are collected into records. </p> <fig id="GUID-39CDC3FB-156B-539B-A513-7B725A97D3B9"><image href="GUID-DA070DA3-CE2E-5B4E-834F-32BED736E01D_d0e109777_href.png" placement="inline"/></fig> <p><b>Getting data from a field </b> </p> <p>An overloaded conversion operator converts the data value in a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;T&gt;</codeph> object to the template type. The template type is the type defined by the characters <codeph>T</codeph>. The operator allows you to use a <codeph>CMDBField&lt;T&gt;</codeph> object on the right-hand side of an assignment call. The operator also allows you to pass a <codeph>CMDBField&lt;T&gt;</codeph> object into a function that requires items of the template type. </p> <p>The value of a field in memory is NULL: </p> <ul><li id="GUID-1500B567-B899-5769-97D8-E7949B6034CA"><p>if the caller has not set the value </p> </li> <li id="GUID-2766C253-443B-5BD1-977F-69EB4E2349CD"><p>if the field as not been loaded from the Comms Database </p> </li> </ul> <p>If the value of a field is NULL after the field has been successfully loaded from the Comms Database, the field has been explicitly set to NULL by the writer of the record. </p> <p><b>Setting data into a field </b> </p> <p>A field has an assignment operator. A type <codeph>T</codeph> field accepts a type <codeph>T</codeph> item on the right-hand side of an assignment. </p> <p>A descriptor has variable length data. You need to set the size of the buffer that the field uses to store data. You must call <codeph>SetMaxLengthL()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;T&gt;</codeph> object and pass the length of the data to be added. You then use the assignment operator. The length that you set must be enough or the assignment operator does not work. The <codeph>SetL()</codeph> function is an alternative method. This function calculates the length of a descriptor parameter for a descriptor field type and performs the allocation and assignment. </p> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-0D1E30D8-D900-5FD9-BD1F-1B93BAD8AEF5"><title>What are fields</title><shortdesc>This topic describes the structure of a field. A field is an item that can be stored in the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <p>A field is a container and an element. A field is the basic unit of information in the Comms Database. </p> <p>A field is represented by the templated class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;T&gt;</codeph>. The template parameter defines the type of data that the field contains. For example <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>TInt</apiname></xref>, <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>TDesC</apiname></xref>, <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>TBool</apiname></xref>   </p> <p>Fields are collected into records. </p> <fig id="GUID-39CDC3FB-156B-539B-A513-7B725A97D3B9"><image href="GUID-DA070DA3-CE2E-5B4E-834F-32BED736E01D_d0e112200_href.png" placement="inline"/></fig> <p><b>Getting data from a field </b> </p> <p>An overloaded conversion operator converts the data value in a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;T&gt;</codeph> object to the template type. The template type is the type defined by the characters <codeph>T</codeph>. The operator allows you to use a <codeph>CMDBField&lt;T&gt;</codeph> object on the right-hand side of an assignment call. The operator also allows you to pass a <codeph>CMDBField&lt;T&gt;</codeph> object into a function that requires items of the template type. </p> <p>The value of a field in memory is NULL: </p> <ul><li id="GUID-1500B567-B899-5769-97D8-E7949B6034CA"><p>if the caller has not set the value </p> </li> <li id="GUID-2766C253-443B-5BD1-977F-69EB4E2349CD"><p>if the field as not been loaded from the Comms Database </p> </li> </ul> <p>If the value of a field is NULL after the field has been successfully loaded from the Comms Database, the field has been explicitly set to NULL by the writer of the record. </p> <p><b>Setting data into a field </b> </p> <p>A field has an assignment operator. A type <codeph>T</codeph> field accepts a type <codeph>T</codeph> item on the right-hand side of an assignment. </p> <p>A descriptor has variable length data. You need to set the size of the buffer that the field uses to store data. You must call <codeph>SetMaxLengthL()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;T&gt;</codeph> object and pass the length of the data to be added. You then use the assignment operator. The length that you set must be enough or the assignment operator does not work. The <codeph>SetL()</codeph> function is an alternative method. This function calculates the length of a descriptor parameter for a descriptor field type and performs the allocation and assignment. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0D2F811C-81C3-526F-8EA4-98E50261BF4B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0D2F811C-81C3-526F-8EA4-98E50261BF4B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 classes and structs that form the DMA Framework. The individual items are
 described in more detail below. </p>
 <fig id="GUID-C6B032F0-7E05-5E29-8024-B713C42A2434">
-<image href="GUID-D43AB2F5-32AE-540C-80D8-DE8B2072F1E6_d0e377801_href.png" placement="inline"/>
+<image href="GUID-D43AB2F5-32AE-540C-80D8-DE8B2072F1E6_d0e383654_href.png" placement="inline"/>
 </fig>
 <section id="GUID-D9855D5F-3D4D-5A65-A1BB-B7CB94E60316"><title>The DMA Software
 Controller</title> <p>This is the <xref href="GUID-25398075-927B-36E4-B953-16785EC4086C.dita"><apiname>TDmac</apiname></xref> object. It has
@@ -55,7 +55,7 @@
 1000 bytes long. Assume that the DMA descriptors are allocated in a pool starting
 at address 600. The following diagram shows the scatter/gather list that the
 device driver might create: </p> <fig id="GUID-966DC875-FA9E-59E5-A1CA-842F4A82592D">
-<image href="GUID-EA0C5715-7CE8-5415-A915-D5701E3C957A_d0e377898_href.png" placement="inline"/>
+<image href="GUID-EA0C5715-7CE8-5415-A915-D5701E3C957A_d0e383751_href.png" placement="inline"/>
 </fig> <p>If the DMA controller supports the scatter/gather arrangement, then
 the framework uses a structure that will be specific to the hardware. This
 structure is defined in the platform specific layer. </p> <p>If the DMA controller
@@ -84,7 +84,7 @@
 and each descriptor is always associated with the header of same index, so
 that there is always a one-to-one relationship between the header and the
 descriptor. </p> <fig id="GUID-A635E3EA-883C-5857-8690-E0AE6F43CAC4">
-<image href="GUID-99F7E70F-2733-57B2-94F5-A0C0FF9219FE_d0e377954_href.png" placement="inline"/>
+<image href="GUID-99F7E70F-2733-57B2-94F5-A0C0FF9219FE_d0e383807_href.png" placement="inline"/>
 </fig> <p>In the current design, the only information in the descriptor header
 is a pointer, <codeph>SDmaDesHdr::iNext</codeph>, that is used to chain headers
 together on various lists. So, although the pool of headers is allocated as
@@ -119,7 +119,7 @@
 always true when the request is queued (i.e. when the request is being transferred
 or is still pending). The following diagram shows an idle request with three
 fragments. </p> <fig id="GUID-0A5594BD-05E4-5A97-A3F7-459E3F8638A2">
-<image href="GUID-CF252B09-335E-5831-94A6-0B16B64C5030_d0e378040_href.png" placement="inline"/>
+<image href="GUID-CF252B09-335E-5831-94A6-0B16B64C5030_d0e383893_href.png" placement="inline"/>
 </fig> <p>Splitting a request into fragments is useful because: </p> <ul>
 <li id="GUID-BEA0F4C5-4308-54E9-82AB-91570ACC9ADC"><p>it insulates device
 drivers from the maximum transfer size supported by the underlying DMA controller. </p> </li>
@@ -183,7 +183,7 @@
 following diagram shows a DMA channel with a three-fragment request being
 transferred and a two-fragment one pending. The fragment currently being transferred
 is the second one of the first request. </p> <fig id="GUID-36E11A64-4626-53F9-925C-3DC323DEA895">
-<image href="GUID-86C21C9B-9F08-579F-84E9-CBE46F756373_d0e378153_href.png" placement="inline"/>
+<image href="GUID-86C21C9B-9F08-579F-84E9-CBE46F756373_d0e384006_href.png" placement="inline"/>
 </fig> <p>The <xref href="GUID-83882548-FAC5-3EFF-92ED-14D1D9A85D37.dita"><apiname>TDmaChannel</apiname></xref> class contains the code and data
 that is common to all of the channel types. The code and data for the specific
 channel types: single buffer, double buffer, and scatter/gather channels,
@@ -192,17 +192,17 @@
 State Machine</b> </p> <p>For reference purposes, the following diagram shows
 the state machine that <xref href="GUID-A8B4AD1B-770C-363E-A0DE-C78A9786CBDC.dita"><apiname>TDmaSbChannel</apiname></xref> implements to deal
 with a single buffer channel. </p> <fig id="GUID-82A8742D-CE5E-5EA2-A19E-6DCA30D9AE61">
-<image href="GUID-85332468-292D-589B-891B-0E7ACBADC7BA_d0e378189_href.png" placement="inline"/>
+<image href="GUID-85332468-292D-589B-891B-0E7ACBADC7BA_d0e384042_href.png" placement="inline"/>
 </fig> <p><b>TDmaDbChannel
 State Machine</b> </p> <p>For reference purposes, the following diagram shows
 the state machine that <xref href="GUID-FD76AF08-6250-3054-8A06-16343E385B23.dita"><apiname>TDmaDbChannel</apiname></xref> implements to deal
 with a double buffer channel. </p> <fig id="GUID-1CF4D292-310C-5D75-9E3B-2DB65217FEEA">
-<image href="GUID-91958EA5-9444-5895-B4B8-F2C670B81CD7_d0e378206_href.png" placement="inline"/>
+<image href="GUID-91958EA5-9444-5895-B4B8-F2C670B81CD7_d0e384059_href.png" placement="inline"/>
 </fig> <p><b>TDmaSgChannel
 State Machine</b> </p> <p>For reference purposes, the following diagram shows
 the state machine that <xref href="GUID-2D4CFBB1-8D64-3CF5-B6F0-B24D16D5BAD4.dita"><apiname>TDmaSgChannel</apiname></xref> implements to deal
 with a scatter/gather channel. </p> <fig id="GUID-1206C662-9856-57A1-A0C5-FDF74F2A3BD3">
-<image href="GUID-09EE01E2-BF5E-5302-BA25-46C440ADECF5_d0e378223_href.png" placement="inline"/>
+<image href="GUID-09EE01E2-BF5E-5302-BA25-46C440ADECF5_d0e384076_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-2F8979D3-A4DC-5919-B027-F8C17739A05D"><title>Streaming and
 Scatter/Gather DMA Controllers</title> <p>When a transfer request is queued
@@ -212,7 +212,7 @@
 they must also be linked together. </p> <p>The following diagram shows how
 headers and descriptors for a new request are appended to the existing ones
 for a DMA controller. The dashed arrows represent the new links. </p> <fig id="GUID-7E06E92E-C8D1-53FF-AF03-5B1A3EBC1EA5">
-<image href="GUID-28F3F720-A2E0-59C9-8BB4-B6124CFC6C89_d0e378239_href.png" placement="inline"/>
+<image href="GUID-28F3F720-A2E0-59C9-8BB4-B6124CFC6C89_d0e384092_href.png" placement="inline"/>
 </fig> <p> <i>Note that hardware descriptors are linked together using physical
 addresses, not virtual ones.</i>  </p> <p>Linking hardware descriptors together
 is implemented in the platform specific layer. There are two issues to consider: </p> <ul>
Binary file Symbian3/PDK/Source/GUID-0D3060BE-8C0F-564A-8979-C9A88C49C5E8_d0e108723_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0D3060BE-8C0F-564A-8979-C9A88C49C5E8_d0e111166_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0D619063-F2DB-53FC-A5E6-BC09AD915FA4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0D619063-F2DB-53FC-A5E6-BC09AD915FA4" xml:lang="en"><title>Resource
-member initialisation overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The resource initialiser has different forms depending on whether a single,
-simple, member is being initialised, or whether a struct or an array is being
-initialised:</p>
-<codeblock xml:space="preserve">&lt;resource-initialiser&gt;
-<b>resource-initialiser ::</b>=
-	&lt;member-name&gt; [ (&lt;length-limit&gt;) ] = &lt;initialiser&gt;&lt;initialiser&gt;
-<b>initialiser :</b>:=
-	&lt;simple-initialiser&gt; | &lt;struct-initialiser&gt; | &lt;array-initialiser&gt;</codeblock>
-<p>Resource members may be initialised by default (in the struct definition)
-or explicitly initialised (in the resource definition).</p>
-<p>In general,</p>
-<ul>
-<li id="GUID-E712BF25-9F6A-5E9E-8F85-7ACBF010F7C1"><p>If a member is initialised
-in a <codeph>RESOURCE</codeph> statement, then that is its value.</p> </li>
-<li id="GUID-FF416E99-A21F-5525-B01C-BEA51B216E25"><p>If a member is initialised
-in a <codeph>STRUCT</codeph> statement, then that is its value for all resources
-which do not explicitly initialise it.</p> </li>
-<li id="GUID-CA918017-F0C1-5E1F-8D8A-893653C2D94E"><p>If a member is <i>neither</i> initialised
-in a <codeph>RESOURCE</codeph> statement <i>nor</i> a <codeph>STRUCT</codeph> statement,
-then: <codeph>BYTE</codeph>, <codeph>WORD</codeph> and <codeph>DOUBLE</codeph> members
-contain zero; <codeph>TEXT</codeph>, <codeph>LTEXT</codeph> and <codeph>BUF</codeph> members
-contain an empty string.</p> </li>
-<li id="GUID-590BD79C-AB1B-537C-9A23-3F0902539B3A"><p>It is an error for <codeph>LINK</codeph> and <codeph>LLINK</codeph> members
-to have no explicit value, so they must be initialised, either by default
-(in the <codeph>STRUCT</codeph> statement) or explicitly (in the <codeph>RESOURCE</codeph> statement).</p> </li>
-<li id="GUID-F0C0C9CB-625B-5307-81EF-F78AC284CB0B"><p><codeph>SRLINK</codeph> members
-may not be initialised (either in the <codeph>STRUCT</codeph> statement or
-a <codeph>RESOURCE</codeph> statement) since they are automatically assigned
-the resource id of the resource in which they appear.</p> </li>
-<li id="GUID-23FBAA84-2826-5972-9D75-AEB2082A01D7"><p>Members which are themselves <codeph>STRUCT</codeph> s
-may not be default initialised. They can only be initialised in the <codeph>RESOURCE</codeph> definition.
-If they are not explicitly initialised, they will take up zero bytes in the
-resource file. For example, given the following <codeph>STRUCT</codeph> definition:</p> <codeblock id="GUID-82D529DD-EF78-56B6-96CC-D245C0C5C046" xml:space="preserve">STRUCT TEST2 
- {
- WORD    value;
- STRUCT  tester;
- }</codeblock> <p>The following <codeph>RESOURCE</codeph> statement only generates
-the two bytes <codeph>0xFF 0x00</codeph>.</p> <codeblock id="GUID-B97A619C-8299-5FC9-AD49-658F21568E2F" xml:space="preserve">RESOURCE TEST2 item
- {
- value=255;
- }</codeblock> </li>
-</ul>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0DB79535-E4E6-50BD-852D-B2F177202C9C_d0e375610_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0DB79535-E4E6-50BD-852D-B2F177202C9C_d0e381454_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0DC3E5AA-1706-5255-ACD6-E7AB732E1095.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0DC3E5AA-1706-5255-ACD6-E7AB732E1095.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-0DC3E5AA-1706-5255-ACD6-E7AB732E1095"><title>Graphics Composition Collection Overview</title><shortdesc>This topic provides an introduction to the Graphics Composition collection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <p>In the context of <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>, composition is the process of combining content, possibly from several different sources, before it is displayed. For example, the following figure represents a scenario where content from the camera viewfinder, video, and OpenVG 2D and OpenGL ES 3D games are brought together with the UI content and then displayed on the screen. This process of bringing the content together is called <b>composition</b>. Some of the incoming content may be produced by hardware renderers and the composition itself may be hardware accelerated. </p> <fig id="GUID-05E408F2-C16E-5A9A-AFCB-9659E15014C9"><title>
           Composition of several different types of content 
-        </title> <image href="GUID-30E37559-B24D-569B-89BF-D5261DC5C689_d0e275140_href.png" placement="inline"/></fig> <p>In ScreenPlay, sources that generate complex graphical output (such as the camera viewfinder, video, and OpenGLES and OpenVG games) can render directly to <b>composition surfaces</b>. These are essentially pixel buffers with associated metadata describing the width, height, stride and pixel format. In the Symbian implementation, surfaces are implemented using <xref href="GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita">shared chunks</xref>, which are memory regions that can be safely shared between user-side and kernel-side processes. </p> <p>The Window Server's render stage plug-ins render all of the UI content onto a special surface that is known as the <b>UI surface</b>. This is semi-transparent—unlike the background surfaces, which are opaque. The following diagram shows the composition engine bringing together the UI surface and the background surfaces onto the frame buffer, which the Display Driver then displays on the screen. </p> <fig id="GUID-22111593-A1B0-5714-AFAE-F386012F0EED"><title>
+        </title> <image href="GUID-30E37559-B24D-569B-89BF-D5261DC5C689_d0e281140_href.png" placement="inline"/></fig> <p>In ScreenPlay, sources that generate complex graphical output (such as the camera viewfinder, video, and OpenGLES and OpenVG games) can render directly to <b>composition surfaces</b>. These are essentially pixel buffers with associated metadata describing the width, height, stride and pixel format. In the Symbian implementation, surfaces are implemented using <xref href="GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita">shared chunks</xref>, which are memory regions that can be safely shared between user-side and kernel-side processes. </p> <p>The Window Server's render stage plug-ins render all of the UI content onto a special surface that is known as the <b>UI surface</b>. This is semi-transparent—unlike the background surfaces, which are opaque. The following diagram shows the composition engine bringing together the UI surface and the background surfaces onto the frame buffer, which the Display Driver then displays on the screen. </p> <fig id="GUID-22111593-A1B0-5714-AFAE-F386012F0EED"><title>
           The ScreenPlay rendering stack 
-        </title> <image href="GUID-D9203CF1-E8A7-5886-BD19-BE616BEF9111_d0e275161_href.png" placement="inline"/></fig> <p>The composition engine maintains a stack of <b>scene elements</b> or layers (which describe the geometric positions, size and orientation), computes what is visible and performs the actual composition work. </p> <p>For a general introduction to some of the key composition concepts, see <xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics Composition</xref> and <xref href="GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita">Scene Elements</xref>. </p> <section><title>Components</title> <p>The following diagram shows the composition interface and engine and related components and indicates which are generic parts of the Symbian platform and which can be adapted by device and hardware manufacturers. </p> <fig id="GUID-FC7504F9-F965-5484-AE80-E1E03D7190B0"><title>
+        </title> <image href="GUID-D9203CF1-E8A7-5886-BD19-BE616BEF9111_d0e281161_href.png" placement="inline"/></fig> <p>The composition engine maintains a stack of <b>scene elements</b> or layers (which describe the geometric positions, size and orientation), computes what is visible and performs the actual composition work. </p> <p>For a general introduction to some of the key composition concepts, see <xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics Composition</xref> and <xref href="GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita">Scene Elements</xref>. </p> <section><title>Components</title> <p>The following diagram shows the composition interface and engine and related components and indicates which are generic parts of the Symbian platform and which can be adapted by device and hardware manufacturers. </p> <fig id="GUID-FC7504F9-F965-5484-AE80-E1E03D7190B0"><title>
              Key composition components 
-          </title> <image href="GUID-1DD48C1F-B7E0-5379-BDF1-70C8744B57DD_d0e275189_href.png" placement="inline"/></fig> <p>Here we will look briefly at the role of the key components. </p> <ul><li id="GUID-635A150F-3298-578B-BE21-53255CB55235"><p>The composition engine maintains the stack of elements and computes what is visible. For example, it culls invisible areas and maintains a list of dirty rectangles. The composition engine also performs the actual composition work, blending the pixels if necessary. It supports limited transformation, such as scaling and rotation (in 90° increments). It can utilize GPU hardware composition and LCD hardware rotation if they are available. The Symbian Foundation provides a reference implementation based on the <xref href="GUID-3B9AC7E9-3133-505F-9C1E-EB4BB4969838.dita">OpenWF Composition (OpenWF-C) APIs</xref> defined by the Khronos Group. </p> </li> <li id="GUID-44E97944-7628-5E4D-BDDD-23FE6E1AC26D"><p>The <xref href="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita">Surface Manager</xref> creates and manages surfaces. As mentioned above, in the Symbian implementation, surfaces are implemented as shared chunks because they must be accessible by user-side processes and the kernel and composition hardware. Because shared chunks can only be allocated on the kernel side, the Surface Manager is a logical device driver (LDD) and kernel extension. Surfaces can be multi-buffered and are identified by a 128 bit identifier (called the surface ID). </p> </li> <li id="GUID-0514F41D-841A-5C4B-95F9-F8862FC87B8A"><p>The <xref href="GUID-8E8FE99A-5F4D-5B0F-87AB-A58EB4BEB6E9.dita">Surface Update Server</xref> provides a communication mechanism between the composition engine and its clients. This is particularly useful for clients (such as video) that produce fast updates and use multi-buffered surfaces. The Surface Update Server sends back to the client notification of which surface and which buffer within a multi-buffered surface was used for the last composition operation. The client can then start updating the buffer without risk of tearing or artefacts. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita"><linktext>Graphics Composition Collection</linktext> </link> <link href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita"><linktext>Graphics Composition</linktext> </link> <link href="GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita"><linktext>Scene Elements</linktext> </link> <link href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita"><linktext>Surfaces</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-1DD48C1F-B7E0-5379-BDF1-70C8744B57DD_d0e281189_href.png" placement="inline"/></fig> <p>Here we will look briefly at the role of the key components. </p> <ul><li id="GUID-635A150F-3298-578B-BE21-53255CB55235"><p>The composition engine maintains the stack of elements and computes what is visible. For example, it culls invisible areas and maintains a list of dirty rectangles. The composition engine also performs the actual composition work, blending the pixels if necessary. It supports limited transformation, such as scaling and rotation (in 90° increments). It can utilize GPU hardware composition and LCD hardware rotation if they are available. The Symbian Foundation provides a reference implementation based on the <xref href="GUID-3B9AC7E9-3133-505F-9C1E-EB4BB4969838.dita">OpenWF Composition (OpenWF-C) APIs</xref> defined by the Khronos Group. </p> </li> <li id="GUID-44E97944-7628-5E4D-BDDD-23FE6E1AC26D"><p>The <xref href="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita">Surface Manager</xref> creates and manages surfaces. As mentioned above, in the Symbian implementation, surfaces are implemented as shared chunks because they must be accessible by user-side processes and the kernel and composition hardware. Because shared chunks can only be allocated on the kernel side, the Surface Manager is a logical device driver (LDD) and kernel extension. Surfaces can be multi-buffered and are identified by a 128 bit identifier (called the surface ID). </p> </li> <li id="GUID-0514F41D-841A-5C4B-95F9-F8862FC87B8A"><p>The <xref href="GUID-8E8FE99A-5F4D-5B0F-87AB-A58EB4BEB6E9.dita">Surface Update Server</xref> provides a communication mechanism between the composition engine and its clients. This is particularly useful for clients (such as video) that produce fast updates and use multi-buffered surfaces. The Surface Update Server sends back to the client notification of which surface and which buffer within a multi-buffered surface was used for the last composition operation. The client can then start updating the buffer without risk of tearing or artefacts. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita"><linktext>Graphics Composition Collection</linktext> </link> <link href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita"><linktext>Graphics Composition</linktext> </link> <link href="GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita"><linktext>Scene Elements</linktext> </link> <link href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita"><linktext>Surfaces</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0DD1EBC4-6068-5FE7-B649-CABA57E86195.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0DD1EBC4-6068-5FE7-B649-CABA57E86195.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,7 +33,7 @@
 gc.DrawPolyLine(mypoints);
 ...</codeblock> </section> <section><title>Drawing a polygon</title> <p>The following example code illustrates how to draw a filled polygon from an array of points. The polygon is self-crossing. Self-crossing polygons can be filled according to one of two rules, <codeph>TFillRule::EAlternate</codeph> (the default), or <codeph>TFillRule::EWinding</codeph>. These rules work with the concept of a winding number, as shown in the following figure: </p> <fig id="GUID-DCCC82D0-04BD-5CE5-B21E-1DF921F7E956"><title>
              Winding numbers 
-          </title> <image href="GUID-93A4CD14-A3CD-57B2-BF32-57EF38F59ECF_d0e261285_href.png" placement="inline"/></fig> <p> <codeph>EWinding</codeph> fills all areas, while <codeph>EAlternate</codeph> only fills areas with odd winding numbers. </p> <p><b>Drawing a polygon using the EWinding fill rule</b> </p> <ol id="GUID-40875382-97F3-5BBA-9CE7-C49A6418ECCD"><li id="GUID-8A0BBCBF-BAB2-59A0-BE7B-F27875318DF5"><p>Use <codeph>SetBrushStyle()</codeph> to set a cross-hatched brush style. </p> </li> <li id="GUID-C7845F63-2332-5FA4-A750-0223ECFED056"><p>Use <codeph>DrawPolygon()</codeph> to draw the polygon with the <codeph>EWinding</codeph> fill rule. </p> </li> </ol> <codeblock id="GUID-893413B0-E8AA-5317-95B1-A8970D63FFC9" xml:space="preserve">...
+          </title> <image href="GUID-93A4CD14-A3CD-57B2-BF32-57EF38F59ECF_d0e267294_href.png" placement="inline"/></fig> <p> <codeph>EWinding</codeph> fills all areas, while <codeph>EAlternate</codeph> only fills areas with odd winding numbers. </p> <p><b>Drawing a polygon using the EWinding fill rule</b> </p> <ol id="GUID-40875382-97F3-5BBA-9CE7-C49A6418ECCD"><li id="GUID-8A0BBCBF-BAB2-59A0-BE7B-F27875318DF5"><p>Use <codeph>SetBrushStyle()</codeph> to set a cross-hatched brush style. </p> </li> <li id="GUID-C7845F63-2332-5FA4-A750-0223ECFED056"><p>Use <codeph>DrawPolygon()</codeph> to draw the polygon with the <codeph>EWinding</codeph> fill rule. </p> </li> </ol> <codeblock id="GUID-893413B0-E8AA-5317-95B1-A8970D63FFC9" xml:space="preserve">...
 // draw self-crossing polygon using the winding fill rule
 gc.SetBrushStyle(CGraphicsContext::ESquareCrossHatchBrush);
 gc.SetBrushColor(black);
Binary file Symbian3/PDK/Source/GUID-0DE924C3-B740-515E-8B29-4BDEFDA2960B_d0e231757_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0DE924C3-B740-515E-8B29-4BDEFDA2960B_d0e237752_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0DEDC917-05C9-5D43-B839-73C043624BE9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0DEDC917-05C9-5D43-B839-73C043624BE9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,51 +9,51 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-0DEDC917-05C9-5D43-B839-73C043624BE9" xml:lang="en"><title> circularbuffer:
-Circular Buffer Example</title><shortdesc>This example demonstrates the how to use the circular buffer classes <codeph>CCirBuf</codeph> and <codeph>CCirBuffer</codeph>. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-4AF25C42-D4E3-54AC-A493-F17995CF27A0"><title>Purpose</title> <p>This
-example application shows how to construct and make use of circular buffers
-containing integers, objects of user defined classes and objects of an R class. </p> </section>
-<section id="GUID-DC849488-96A4-41A7-A088-4F4CC406F68B"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-07c0d4d4-3e5e-4329-a0c5-e569e89d3a9e.zip" scope="external">circularbuffer .zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-07c0d4d4-3e5e-4329-a0c5-e569e89d3a9e.html" scope="peer"> browse </xref> to view the example code.</p> </section>
-<section id="GUID-014CB2CC-94DC-4DF5-AA93-9157B756C915"><title>class summary</title><p><xref href="GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623.dita"><apiname>CCirBuffer </apiname></xref> <xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita"><apiname>CCirBuf</apiname></xref> </p></section>
-<section id="GUID-2B02964A-812A-5838-9A6F-64E4C8D069EF"><title>Design and
-implementation</title> <p>Class diagram: </p> <fig id="GUID-1424998B-6CBC-5CEF-9A2D-4DBB286F409B">
-<title>              Circular buffers example class diagram            </title>
-<image href="GUID-1BDBFC07-A8E8-5150-953D-CA9CFE1CBF16_d0e351375_href.jpg" placement="inline"/>
-</fig> <p>The example creates a circular buffer of integers using <xref href="GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623.dita#GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623/GUID-600BE94B-72FF-3A44-92EC-3806B7F5E4E5"><apiname>CCirBuffer::Put()</apiname></xref> to
-add elements and <xref href="GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623.dita#GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623/GUID-112CD6F9-DAB4-30E5-9E5C-B636F8AEEC08"><apiname>CCirBuffer::Get()</apiname></xref> to remove an element.
-To demonstrate the circular nature of the buffer, the example: </p> <ul>
-<li id="GUID-950580F8-9810-5172-95AD-7B3C2B933818"><p>adds four elements until
-the buffer is full, </p> </li>
-<li id="GUID-28BD6FC5-80AC-5567-94E6-4592A0BD2751"><p>tries to adds another
-element to the buffer, which fails with a buffer full error message, </p> </li>
-<li id="GUID-AAB4C513-DB1C-5BEF-9C2E-9CED284A2C58"><p>removes elements 1 and
-2 from the buffer, leaving elements 3 and 4, </p> </li>
-<li id="GUID-3DE3EB5E-5080-527B-8C69-92535A6CB6CC"><p>adds two new elements
-(5 and 6) to the buffer, </p> </li>
-<li id="GUID-A7CDA10E-DF03-5460-BA7A-1E85B3FC66D8"><p>removes all elements
-(3, 4, 5 and 6) from the buffer. </p> </li>
-</ul> <p>Similar steps are performed using <xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita"><apiname>CCirBuf</apiname></xref> to add
-(<xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita#GUID-1D73835F-4361-3216-8EFC-669364E3F5E7/GUID-1EE35B7E-6E95-3B6A-9EE4-B5CCFA4F772D"><apiname>CCirBuf::Add()</apiname></xref>) and remove (<xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita#GUID-1D73835F-4361-3216-8EFC-669364E3F5E7/GUID-FFCCB7E3-B69F-3CC8-B38C-0179915C1E20"><apiname>CCirBuf::Remove()</apiname></xref>)
-user-defined objects, and objects of an <codeph>R</codeph> class to and from
-the buffer. </p> <p>After removing R class objects from the circular buffer,
-they must be closed in order to release the resource held by the R Class objects. </p> </section>
-<section id="GUID-6CB8757B-66CF-577C-A490-99CBBC10E2B5"><title>Building and
-configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-48DC5748-F246-57CB-9568-4B49E09A2CAA"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-DEEF2C1B-2D81-5DA7-BE70-EAD7496B16FA"><p>For the emulator, the
-example builds an executable called <filepath>circularbuffer.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or                 urel&gt;\</filepath> folder. </p> </li>
+<reference id="GUID-0DEDC917-05C9-5D43-B839-73C043624BE9" xml:lang="en"><title> circularbuffer: Circular Buffer Example</title><shortdesc>This example demonstrates the how to use the circular buffer
+classes <codeph>CCirBuf</codeph> and <codeph>CCirBuffer</codeph>. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-4AF25C42-D4E3-54AC-A493-F17995CF27A0"><title>Purpose</title> <p>This example application shows how to construct and make use
+of circular buffers containing integers, objects of user defined classes
+and objects of an R class. </p> </section>
+<section id="GUID-DC849488-96A4-41A7-A088-4F4CC406F68B"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-07c0d4d4-3e5e-4329-a0c5-e569e89d3a9e.zip" scope="external">circularbuffer .zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-07c0d4d4-3e5e-4329-a0c5-e569e89d3a9e.html" scope="peer"> browse </xref> to view the example code.</p> </section>
+<section id="GUID-014CB2CC-94DC-4DF5-AA93-9157B756C915"><title>class
+summary</title><p><xref href="GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623.dita"><apiname>CCirBuffer </apiname></xref> <xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita"><apiname>CCirBuf</apiname></xref> </p></section>
+<section id="GUID-2B02964A-812A-5838-9A6F-64E4C8D069EF"><title>Design
+and implementation</title> <p>Class diagram: </p> <fig id="GUID-1424998B-6CBC-5CEF-9A2D-4DBB286F409B">
+<title>              Circular buffers example class diagram      
+     </title>
+<image href="GUID-1BDBFC07-A8E8-5150-953D-CA9CFE1CBF16_d0e357313_href.jpg" placement="inline"/>
+</fig> <p>The example creates a circular buffer of integers using <xref href="GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623.dita#GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623/GUID-600BE94B-72FF-3A44-92EC-3806B7F5E4E5"><apiname>CCirBuffer::Put()</apiname></xref> to add elements and <xref href="GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623.dita#GUID-620EC30F-933F-3073-9E5F-CAC9F2BA4623/GUID-112CD6F9-DAB4-30E5-9E5C-B636F8AEEC08"><apiname>CCirBuffer::Get()</apiname></xref> to remove an element. To demonstrate the circular nature of the
+buffer, the example: </p> <ul>
+<li id="GUID-950580F8-9810-5172-95AD-7B3C2B933818"><p>adds four elements
+until the buffer is full, </p> </li>
+<li id="GUID-28BD6FC5-80AC-5567-94E6-4592A0BD2751"><p>tries to adds
+another element to the buffer, which fails with a buffer full error
+message, </p> </li>
+<li id="GUID-AAB4C513-DB1C-5BEF-9C2E-9CED284A2C58"><p>removes elements
+1 and 2 from the buffer, leaving elements 3 and 4, </p> </li>
+<li id="GUID-3DE3EB5E-5080-527B-8C69-92535A6CB6CC"><p>adds two new
+elements (5 and 6) to the buffer, </p> </li>
+<li id="GUID-A7CDA10E-DF03-5460-BA7A-1E85B3FC66D8"><p>removes all
+elements (3, 4, 5 and 6) from the buffer. </p> </li>
+</ul> <p>Similar steps are performed using <xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita"><apiname>CCirBuf</apiname></xref> to add (<xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita#GUID-1D73835F-4361-3216-8EFC-669364E3F5E7/GUID-1EE35B7E-6E95-3B6A-9EE4-B5CCFA4F772D"><apiname>CCirBuf::Add()</apiname></xref>) and remove (<xref href="GUID-1D73835F-4361-3216-8EFC-669364E3F5E7.dita#GUID-1D73835F-4361-3216-8EFC-669364E3F5E7/GUID-FFCCB7E3-B69F-3CC8-B38C-0179915C1E20"><apiname>CCirBuf::Remove()</apiname></xref>) user-defined objects, and objects of
+an <codeph>R</codeph> class to and from the buffer. </p> <p>After
+removing R class objects from the circular buffer, they must be closed
+in order to release the resource held by the R Class objects. </p> </section>
+<section id="GUID-6CB8757B-66CF-577C-A490-99CBBC10E2B5"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-48DC5748-F246-57CB-9568-4B49E09A2CAA"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> .</p> </li>
+<li id="GUID-DEEF2C1B-2D81-5DA7-BE70-EAD7496B16FA"><p>For the emulator,
+the example builds an executable called <filepath>circularbuffer.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or             
+   urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
-<section id="GUID-BC504F56-2676-5CBB-8DC1-57B3D9DD3950"><title>Running the
-example</title> <p>The user is prompted to press a key in order to progress
-from one function to the next. </p> </section>
+<section id="GUID-BC504F56-2676-5CBB-8DC1-57B3D9DD3950"><title>Running
+the example</title> <p>The user is prompted to press a key in order
+to progress from one function to the next. </p> </section>
 </refbody></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0E21EAE4-BF71-55FD-9561-EA5530696627_d0e554061_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0E21EAE4-BF71-55FD-9561-EA5530696627_d0e561517_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0"><title>Troubleshooting Tips for RVCT v3.1</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section is intended to help you troubleshoot the errors that may occur after migrating to RealView Compilation Tools (RVCT) v3.1. It provides a list of common problems that you may face while building your component using RVCT v3.1, with possible causes and ways to troubleshoot the problems. </p> <table id="GUID-0909177E-FB3B-592E-9225-88056198100B"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Problem</entry> <entry>Possible cause</entry> <entry>Possible solution</entry> </row> </thead> <tbody><row><entry><p>Error: L6410W: Symbol &lt;<varname>symbol_name</varname> &gt; with non <codeph>STV_DEFAULT</codeph> visibility <codeph>STV_HIDDEN</codeph> should be resolved statically, cannot use definition in &lt;<varname>dso_file_name</varname> &gt; </p> </entry> <entry><p>The linker is aware that the symbol (function) is present in another DLL, but in at least one of the source files of your component the symbol (function) has been declared without the <codeph>IMPORT_C</codeph> modifier. </p> </entry> <entry><p>Identify such source files and prefix the symbol declaration with the <codeph>IMPORT_C</codeph> modifier. </p> </entry> </row> <row><entry><p>elf2e32 : Error: E1036: Symbol &lt;<varname>symbol_name</varname> &gt; Missing from ELF file: &lt;<varname>file_name</varname> &gt; </p> </entry> <entry><p>The symbol (function) is present in the generated ELF DLL, but it is not visible externally. This is because the symbol (function) definition is not annotated with <codeph>EXPORT_C</codeph>, or when callers within the DLL does not prefix the function declaration with the <codeph>IMPORT_C</codeph> modifier. </p> </entry> <entry><p>Identify such symbol definitions and annotate them with the <codeph>EXPORT_C</codeph> modifier. Prefix the function declaration with the <codeph>IMPORT_C</codeph> modifier if you are trying to call a function in another DLL. </p> </entry> </row> </tbody> </tgroup> </table> <p>If you are unable to troubleshoot the problems listed in this table, perform the following steps: </p> <ol id="GUID-B672622E-1D57-50F9-A96D-CAFCC3187867"><li id="GUID-6F7500C5-4C34-5BD9-B11E-238E4213CDA6"><p>Browse to the directory where the object files of your component are stored. </p> </li> <li id="GUID-5C71DFDF-E76C-5098-AAE4-D33E9C668399"><p>Create a dump of the symbol table for each object file using the command, <codeph>fromelf -s &lt;object_filename&gt;</codeph> and locate the problematic function. If the function does not have the <codeph>STV_DEFAULT</codeph> visibility, then you have found the cause, or at least have identified the source file that is causing the problem. </p> </li> <li id="GUID-4C3C0F3B-D190-57F7-9F4D-2DC238E62F26"><p>If you are still unable to identify the cause of the problem, check the pre-processed source file to find out the cause. Perform the following steps to pre-process the source file: </p> <ol id="GUID-8063B78C-824E-5AF1-A431-EF04FD4CEDC0"><li id="GUID-58C05FC4-F81B-5317-9E8F-C78A86A10197"><p>Identify the <codeph>armcc</codeph> command (copy from the log file) that compiled the object. </p> </li> <li id="GUID-CD8F60F9-A0DE-5AA5-99C6-F7C10FE63D31"><p>Run the command after replacing <codeph>-c</codeph> with <codeph>-E</codeph> and specifying the output file as an argument to the -o option. </p> </li> <li id="GUID-8C26FD2C-776A-5493-AC43-5AFF9D16EBE2"><p>Check whether the function has been annotated with <codeph>__declspec(dllimport)</codeph>, which is the expansion of <codeph>IMPORT_C</codeph>. </p> <p> <b>Note:</b> If the function declaration is incorrect in more than one place, then repeat this whole procedure until all instances are identified. </p> </li> </ol> </li> </ol> </conbody><related-links><link href="GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254.dita"><linktext>Overview of the
-                native build targets</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0E55E007-913C-56DA-8BEF-7EC00FFCCE51_d0e512182_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-0E55E007-913C-56DA-8BEF-7EC00FFCCE51_d0e519644_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-0E695106-4139-4335-A11F-BD04418DD583.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0E695106-4139-4335-A11F-BD04418DD583.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,7 +27,7 @@
 <fig id="GUID-5ACB3332-F5FF-4BAD-AC49-2B569DB54378">
 <title>Multi-selection lists: in the main pane (left) and in a setting editor
 (right)</title>
-<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e85695_href.png" placement="inline"/>
+<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e89893_href.png" placement="inline"/>
 </fig>
 <p>The keypad functions for multi-selection lists are as follows:</p>
 <table id="GUID-94AC7390-A39D-48A4-AF4E-FF34EBE44593"><title>Default key event
Binary file Symbian3/PDK/Source/GUID-0E91173A-BA80-5817-866A-7A284573EBCE_d0e483000_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0E91173A-BA80-5817-866A-7A284573EBCE_d0e488829_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -38,7 +38,7 @@
 variant</xref>. </p> <fig id="GUID-FF86B974-1B1E-5EE1-A88A-9CD11B213A9B">
 <title>The screen mode enables old applications to run on new            
  phones with higher resolutions            </title>
-<image href="GUID-AFC49653-78E6-5639-911C-E02AEB08AFFC_d0e228632_href.png" placement="inline"/>
+<image href="GUID-AFC49653-78E6-5639-911C-E02AEB08AFFC_d0e234631_href.png" placement="inline"/>
 </fig> <p>There are several similar use cases, such as swapping between portrait
 and landscape orientations and flip phones that have a flap that, when closed,
 partially obscures the main screen. The Window Server uses the screen mode
@@ -70,7 +70,7 @@
 area. The application's area (which corresponds to the screen mode) is referred
 to as the <b>application extent</b> in ScreenPlay. </p> <fig id="GUID-724DB4EE-1F45-58D9-889C-B42ECEE7208D">
 <title>Coordinate spaces in ScreenPlay            </title>
-<image href="GUID-A719FDFA-903B-5340-AA47-9E5B22DBB253_d0e228678_href.png" placement="inline"/>
+<image href="GUID-A719FDFA-903B-5340-AA47-9E5B22DBB253_d0e234677_href.png" placement="inline"/>
 </fig> <p>ScreenPlay handles application sizing and positioning in a fundamentally
 different way from the non-ScreenPlay variant. Using a fixed offset to position
 the application within the screen is inadequate when connecting to an external
@@ -80,7 +80,7 @@
 diagram, where the red cross indicates the offset for a QVGA display. </p> <fig id="GUID-A2816D08-B61F-5605-B6AF-A9D186F6BED5">
 <title>A fixed offset and several display resolutions (not drawn         
     to scale)            </title>
-<image href="GUID-B2E63B13-7B72-5CBF-ACD0-1F2D2E1EEF19_d0e228689_href.png" placement="inline"/>
+<image href="GUID-B2E63B13-7B72-5CBF-ACD0-1F2D2E1EEF19_d0e234688_href.png" placement="inline"/>
 </fig> <p>In ScreenPlay there is no scaling of the application extent relative
 to the full UI area—there is always a 1:1 pixel correspondence between them.
 In addition, although supported, the screen mode offset is not necessarily
Binary file Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e100989_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e79103_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e80014_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e83301_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e84212_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e96910_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,9 +12,9 @@
 <concept xml:lang="en" id="GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF"><title>Textual Logging</title><shortdesc>This topic describes the textual logging mechanisms available to help debugging the Communication-related components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>Most Comms components can output debugging information. These components must be configured to output information, with the configuration procedure dependent on the logging mechanism used by the component. The following mechanisms are used to log the information: </p> <ul><li id="GUID-726B089B-F8E0-5893-9D3F-4AEBD1751BF1"><p> <b>Flogger</b> - This logging mechanism is a file logger. It used to be the standard mechanism for Comms logging, but it is being replaced by CDU (below). </p> </li> <li id="GUID-FC40C065-ED23-5F49-AAA7-F557BD12CD58"><p> <b>Comms Debug Utility (CDU)</b> - This logging mechanism is currently used for the majority of Comms logging. It is the successor to Flogger and adds a two-phase logging system to give flexibility in debugging problems which are difficult to reproduce in debug binary files. It unifies Comms logging into one text file and allows the output to be redirected to RDebug for easier on-target debugging, or on emulator to the fast Windows Debug port. For more information see <xref href="GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF.dita#GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF/GUID-34383668-480A-50DF-A3DB-8DE17D49ED30">Post-processing CDU log files</xref>, <xref href="GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF.dita#GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF/GUID-217068A5-CC0A-5548-898E-C392F2031647">Default CDU</xref> and <xref href="GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF.dita#GUID-0EF25CCA-1E6B-5B62-8E77-9A670986C5EF/GUID-3F3CDC4F-A2C4-5DD4-8E7C-24D67DA8DA3B">Interpreting the log files</xref>. </p> <p> <b>Note:</b> The CDU API is not published and so its APIs cannot be used for adding new logging. </p> </li> <li id="GUID-FBD09686-A6AD-5781-BA2D-E1041B0B4D47"><p> <b>Unified Trace/UTrace/ULogger</b> - This logging mechanism is currently used for a small amount of Comms logging. For more information see <xref href="GUID-ABE77283-EED8-5A33-B574-3B771EF11086.dita">How to Use ULogger with Comms</xref>  </p> </li> <li id="GUID-EBC721D3-8EF5-5C5D-8AC7-F606B809E4E2"><p> <b>Proprietary</b> - This logging mechanism belongs to the component itself. A few components still use their own logging mechanisms, but these usually behave similarly to Flogger in that to obtain the logs the appropriate folder needs to exist while the component is running. </p> </li> </ul> <p> <b> Note:</b> When you enable logging for a component, the component may run significantly slower as it performs the logging. This could make reproducing a problem more difficult if the reduced component execution performance changes the sequence of events leading to the problem. </p> <section id="GUID-34383668-480A-50DF-A3DB-8DE17D49ED30"><title>Post-processing CDU log files</title> <p>The CDU log file format is designed to be viewed unprocessed. However, in some cases post-processing is required. Two post-processing tools are available: </p> <ul><li id="GUID-7C6331FC-D651-5813-B8EF-9762600682BB"><p> <b>Splitlog</b> - is supplied in <codeph>epoc32\tools</codeph> and splits the single <codeph>log.txt</codeph> file into multiple files by each unique tag combination. This tool is used to extract embedded binary logging such as that for PPP described below in <xref href="GUID-935DF48C-F014-5E2A-8BE6-29B00C4FD31D.dita">Component-Specific Debugging Help</xref>. </p> </li> <li id="GUID-27AF2B6F-5108-5A98-AD3E-23445E1ED87C"><p> <b>Networking Message Sequence Display Tool</b> - processes a standard <codeph>log.txt</codeph> file to extract the Comms Framework messages and generates HTML/SVG output files for display on a suitable SVG-enabled browser. </p> <fig id="GUID-02A86F64-2278-5B46-82A4-7243C4790107"><title>
                   Figure 1 - Example SVG output from the Message Sequence Display
                   Tool 
-                </title> <image href="GUID-6CE1C2E0-8F57-57D3-9041-929FE30ECEB9_d0e108704_href.png" placement="inline"/></fig> </li> </ul> </section> <section id="GUID-217068A5-CC0A-5548-898E-C392F2031647"><title>Default CDU</title> <p>CDU provides a default configuration file which lists all the known components which use it, and also provides a reference listing of <keyword>iby</keyword> files and their respective component source code and log tags. Figure 2 provides a snapshot of the configuration file: </p> <fig id="GUID-22A390A6-F81E-5ECF-8A48-07D51ABD9037"><title>
+                </title> <image href="GUID-6CE1C2E0-8F57-57D3-9041-929FE30ECEB9_d0e111147_href.png" placement="inline"/></fig> </li> </ul> </section> <section id="GUID-217068A5-CC0A-5548-898E-C392F2031647"><title>Default CDU</title> <p>CDU provides a default configuration file which lists all the known components which use it, and also provides a reference listing of <keyword>iby</keyword> files and their respective component source code and log tags. Figure 2 provides a snapshot of the configuration file: </p> <fig id="GUID-22A390A6-F81E-5ECF-8A48-07D51ABD9037"><title>
              Figure 2 - The default commsdbg.ini file 
-          </title> <image href="GUID-0D3060BE-8C0F-564A-8979-C9A88C49C5E8_d0e108723_href.png" placement="inline"/></fig> <p>The default CDU file is located at <filepath>..\comms-infras\commsdebugutility\group\commsdbgdefault.ini</filepath> and is available for the emulator in <filepath>epoc32\&lt;data|release\winscw\&lt;udeb|urel&gt;&gt;\z\resource\commsdbg.ini</filepath>. </p> </section> <section id="GUID-3F3CDC4F-A2C4-5DD4-8E7C-24D67DA8DA3B"><title>Interpreting the log files</title> <p>Comms components have specific log file schemes with some similarities. The following are guidelines for interpreting the files: </p> <ul><li id="GUID-54407D7D-E1FC-50C2-BFF5-961E699C02DE"><p> <b>Errors are logged</b> - when a panic or other serious error condition is encountered. Often the last few log lines includes where the critical condition was reached, since usually the panic code or error code alone is not enough. If not, then often searching for "warning" or "error" in the earlier logging will identify where the problem began. </p> </li> <li id="GUID-26C4961B-BA78-53B0-BEE4-E591D1C1717C"><p> <b>Multi-threaded module output prefixes thread number</b> - ESock and the C32 Serial Server prefix the log lines with the thread number within the specific thread numbering scheme. For example: </p> <codeblock id="GUID-6E3B1FF9-8FC2-5C5A-87E0-7D2BA45BFDCA" xml:space="preserve">esock   esock   a 2e W0: CWorkerThread::ConstructL Init RS ChannelHandler
+          </title> <image href="GUID-0D3060BE-8C0F-564A-8979-C9A88C49C5E8_d0e111166_href.png" placement="inline"/></fig> <p>The default CDU file is located at <filepath>..\comms-infras\commsdebugutility\group\commsdbgdefault.ini</filepath> and is available for the emulator in <filepath>epoc32\&lt;data|release\winscw\&lt;udeb|urel&gt;&gt;\z\resource\commsdbg.ini</filepath>. </p> </section> <section id="GUID-3F3CDC4F-A2C4-5DD4-8E7C-24D67DA8DA3B"><title>Interpreting the log files</title> <p>Comms components have specific log file schemes with some similarities. The following are guidelines for interpreting the files: </p> <ul><li id="GUID-54407D7D-E1FC-50C2-BFF5-961E699C02DE"><p> <b>Errors are logged</b> - when a panic or other serious error condition is encountered. Often the last few log lines includes where the critical condition was reached, since usually the panic code or error code alone is not enough. If not, then often searching for "warning" or "error" in the earlier logging will identify where the problem began. </p> </li> <li id="GUID-26C4961B-BA78-53B0-BEE4-E591D1C1717C"><p> <b>Multi-threaded module output prefixes thread number</b> - ESock and the C32 Serial Server prefix the log lines with the thread number within the specific thread numbering scheme. For example: </p> <codeblock id="GUID-6E3B1FF9-8FC2-5C5A-87E0-7D2BA45BFDCA" xml:space="preserve">esock   esock   a 2e W0: CWorkerThread::ConstructL Init RS ChannelHandler
 esock   esock   a    32    W4: SocketServer::InitL() Done!
 esock   Booting a 32 W4: CWorkerThread::ConstructL Init ProtocolManager
 </codeblock> <p>The log lines indicate that ESock's Worker zero - the main thread - has initiated construction of its Rootserver (RS) communications channel, while Worker four has started constructing the Protocol Manager. </p> <p> <b>Note:</b> The "2e" and "32" numbers are the kernel's own numbers for these threads. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B"><title>Editing media files</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>You can use the MVS to edit media files (or "clips"). You can either crop a newly recorded file before saving it, or specify that only a portion of a saved file should play. </p> <section><title>Cropping a file</title> <p>You can crop a file - remove a specified number of seconds from the beginning or end of a file open for record - before saving it. </p> <p>Note: The audio or video cropped is deleted from the file and cannot be retrieved. </p> <p>To crop a file: </p> <ol id="GUID-E1702588-76EB-5658-9E41-58C321AB0238"><li id="GUID-C529BFF0-0C77-551F-BCEF-9CAFC45B91D5"><p>In the <i>Edit</i> menu, click <i>SetCropWindow</i>. The <i>Crop This Clip</i> dialog box is displayed. </p> <fig id="GUID-4B84821D-D691-5D9A-9CBF-91139A6D6527"><image href="GUID-2C8F2C68-5D25-5DB8-973C-E9CA6882A3FB_d0e535985_href.jpg" placement="inline"/></fig> </li> <li id="GUID-385C53A9-2E7E-545E-AA68-0DF92192DE31"><p>Select the position of the <i>Crop</i>: offset from either the beginning or the end of the clip. </p> </li> <li id="GUID-2390AFE2-4A30-578E-9A01-C31C81FD7411"><p>Enter the <i>Cropping Point</i>: the offset in seconds. </p> </li> <li id="GUID-08C1E43C-563B-5DDA-8532-CD77766BBC12"><p>Click <i>Crop!</i> to crop the clip. </p> </li> </ol> </section> <section><title> Selecting a portion of a file to play</title> <p>Before you play a media file you can specify that you want to play only a portion of it. </p> <p>To select a portion of clip for playing: </p> <ol id="GUID-BA9788F7-8EC9-5CC9-8B46-7A7EF656E391"><li id="GUID-477D1475-0503-59EE-818A-CBF2EE56B577"><p>In the <i>Edit</i> menu, click <i>Set PlayWindow</i>. This displays the <i>Set PlayWindow</i> dialog box. </p> <fig id="GUID-00172882-B439-5834-9EC4-B2631C527E78"><image href="GUID-37DCD20D-E123-5B62-976D-F91AD99A765D_d0e536039_href.jpg" placement="inline"/></fig> </li> <li id="GUID-A1571A8E-CF88-5DF0-B574-81165B85CF45"><p>Enter the <i>Start</i> and <i>End</i> times of the portion in milliseconds. </p> </li> <li id="GUID-C383DC7C-86D5-5B87-BF4A-99C2E32C11D1"><p>Click <i>OK</i> to confirm the clip length. </p> <p>When you play the clip, only the selected portion is played. </p> </li> </ol> <p><b>Clearing a selected portion </b> </p> <p>To set the portion to play back to its original value (entire clip): from the <i>Edit</i> menu, click <i>ClearPlayWindow</i>. </p> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita">MVS GUI layout</xref> </p> <p> <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita">Recording media files</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita">Configuring and clearing files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B"><title>Editing media files</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>You can use the MVS to edit media files (or "clips"). You can either crop a newly recorded file before saving it, or specify that only a portion of a saved file should play. </p> <section><title>Cropping a file</title> <p>You can crop a file - remove a specified number of seconds from the beginning or end of a file open for record - before saving it. </p> <p>Note: The audio or video cropped is deleted from the file and cannot be retrieved. </p> <p>To crop a file: </p> <ol id="GUID-E1702588-76EB-5658-9E41-58C321AB0238"><li id="GUID-C529BFF0-0C77-551F-BCEF-9CAFC45B91D5"><p>In the <i>Edit</i> menu, click <i>SetCropWindow</i>. The <i>Crop This Clip</i> dialog box is displayed. </p> <fig id="GUID-4B84821D-D691-5D9A-9CBF-91139A6D6527"><image href="GUID-2C8F2C68-5D25-5DB8-973C-E9CA6882A3FB_d0e543445_href.jpg" placement="inline"/></fig> </li> <li id="GUID-385C53A9-2E7E-545E-AA68-0DF92192DE31"><p>Select the position of the <i>Crop</i>: offset from either the beginning or the end of the clip. </p> </li> <li id="GUID-2390AFE2-4A30-578E-9A01-C31C81FD7411"><p>Enter the <i>Cropping Point</i>: the offset in seconds. </p> </li> <li id="GUID-08C1E43C-563B-5DDA-8532-CD77766BBC12"><p>Click <i>Crop!</i> to crop the clip. </p> </li> </ol> </section> <section><title> Selecting a portion of a file to play</title> <p>Before you play a media file you can specify that you want to play only a portion of it. </p> <p>To select a portion of clip for playing: </p> <ol id="GUID-BA9788F7-8EC9-5CC9-8B46-7A7EF656E391"><li id="GUID-477D1475-0503-59EE-818A-CBF2EE56B577"><p>In the <i>Edit</i> menu, click <i>Set PlayWindow</i>. This displays the <i>Set PlayWindow</i> dialog box. </p> <fig id="GUID-00172882-B439-5834-9EC4-B2631C527E78"><image href="GUID-37DCD20D-E123-5B62-976D-F91AD99A765D_d0e543499_href.jpg" placement="inline"/></fig> </li> <li id="GUID-A1571A8E-CF88-5DF0-B574-81165B85CF45"><p>Enter the <i>Start</i> and <i>End</i> times of the portion in milliseconds. </p> </li> <li id="GUID-C383DC7C-86D5-5B87-BF4A-99C2E32C11D1"><p>Click <i>OK</i> to confirm the clip length. </p> <p>When you play the clip, only the selected portion is played. </p> </li> </ol> <p><b>Clearing a selected portion </b> </p> <p>To set the portion to play back to its original value (entire clip): from the <i>Edit</i> menu, click <i>ClearPlayWindow</i>. </p> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita">MVS GUI layout</xref> </p> <p> <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita">Recording media files</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita">Configuring and clearing files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0F2AE495-F6D8-5351-BD83-76D579564C2E_d0e243480_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0F2AE495-F6D8-5351-BD83-76D579564C2E_d0e249491_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 of displays varies among <xref href="http://www.forum.nokia.com/devices/matrix_s60_1.html" scope="external">legacy
 S60 devices and devices based on the Symbian platform</xref>, as do the
 keys available for input.</p>
-<fig id="GUID-84A0AF11-85F9-45E1-B723-47A696C42619"><title>Device display and keypad controls</title><image href="GUID-CA7B2B53-B0DD-4830-90CF-15FD101C66F1_d0e67869_href.png"/></fig>
+<fig id="GUID-84A0AF11-85F9-45E1-B723-47A696C42619"><title>Device display and keypad controls</title><image href="GUID-CA7B2B53-B0DD-4830-90CF-15FD101C66F1_d0e72082_href.png"/></fig>
 <p>The display consists of the following elements:</p>
 <ul>
 <li><p><b>Window</b> - An area on the display. There are windows
@@ -31,7 +31,7 @@
 </ul>
 <section id="GUID-4D941E4F-5954-4132-AAB4-CD4A725862EE"><title>Windows</title>
 <p>The following figure illustrates a typical window for an application:</p>
-<fig id="GUID-4707694E-3017-4CD2-A5EC-63B3C624C6DF"><title>Symbian UI window</title><image href="GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e67904_href.png"/></fig>
+<fig id="GUID-4707694E-3017-4CD2-A5EC-63B3C624C6DF"><title>Symbian UI window</title><image href="GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e72117_href.png"/></fig>
 <p>Typically, a window contains a status pane, a main pane, and a control
 pane.</p>
 <note>
@@ -62,17 +62,17 @@
 tree structure forms the basis for navigation, with mobile device users moving
 from one node, which represents a state, to another. </p>
 <p>The figure below illustrates an example of a basic state hierarchy.</p>
-<fig id="GUID-C8A1E4B5-8737-4378-A44A-21EB14882EF5"><title>Example of a basic state hierarchy in an application</title><image href="GUID-BAABB057-5C48-4991-A283-DAC5D54562C1_d0e67998_href.png"/></fig>
+<fig id="GUID-C8A1E4B5-8737-4378-A44A-21EB14882EF5"><title>Example of a basic state hierarchy in an application</title><image href="GUID-BAABB057-5C48-4991-A283-DAC5D54562C1_d0e72211_href.png"/></fig>
 </section>
 <section id="GUID-1ADE27AA-CFB6-42C2-8AE2-E7EDD4EC627A"><title>Tabs</title>
 <p>The Symbian UI supports tabs, which allow you to collect information
 for a state onto different pages. These tabs exist in the same node of the
 navigation hierarchy. The concept of tabs is related to the term <xref href="GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita"><i>view</i></xref>.</p>
 <p>The following figure illustrates the use of tabs in an application.</p>
-<fig id="GUID-7090D372-4DB7-43E6-95CA-22E39FE20752"><title>Windows with tabs</title><image href="GUID-65365507-5773-4FE9-B63E-450CC2DD7570_d0e68018_href.png"/></fig>
+<fig id="GUID-7090D372-4DB7-43E6-95CA-22E39FE20752"><title>Windows with tabs</title><image href="GUID-65365507-5773-4FE9-B63E-450CC2DD7570_d0e72231_href.png"/></fig>
 <p>The following figures illustrates how tabs appear in the navigation
 hierarchy.</p>
-<fig id="GUID-F595A77A-00A2-484F-85E5-3318749979E7"><title>Example of a hierarchy with tabs</title><image href="GUID-ADB3FA27-1DC0-4A04-A443-A174EDADF49D_d0e68026_href.png"/></fig>
+<fig id="GUID-F595A77A-00A2-484F-85E5-3318749979E7"><title>Example of a hierarchy with tabs</title><image href="GUID-ADB3FA27-1DC0-4A04-A443-A174EDADF49D_d0e72239_href.png"/></fig>
 <p>See also:</p>
 </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0F5C8DA1-EF91-588B-A917-350793DA03A5_d0e63448_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0F5C8DA1-EF91-588B-A917-350793DA03A5_d0e67679_href.png has changed
--- a/Symbian3/PDK/Source/GUID-0F784804-8452-4C92-ABB3-56B81BAED744.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0F784804-8452-4C92-ABB3-56B81BAED744.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 <section id="GUID-567734D1-EDE0-4799-8851-B798BB7ACF50"><title>Architecture</title> 
      <fig id="GUID-BD0DC0F8-9DA8-40D2-ABE5-F6D7D36BB4B6">
 <title>Sensor Services Architecture</title>
-<image href="GUID-5B8FEDA0-624E-44D6-BF70-C5228234BD15_d0e163290_href.png" placement="inline"/>
+<image href="GUID-5B8FEDA0-624E-44D6-BF70-C5228234BD15_d0e169383_href.png" placement="inline"/>
 </fig><p>The Sensor Services collection consists of the following components:</p><ul>
 <li><p><b>Sensor Framework</b>, which provides sensor server and plug-in interfaces
 for adding any new sensor plug-in as required. The framework also provides
--- a/Symbian3/PDK/Source/GUID-0F8D0399-58CD-4EB6-82DF-75D6BE5B0A84.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0F8D0399-58CD-4EB6-82DF-75D6BE5B0A84.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,35 +1,30 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0F8D0399-58CD-4EB6-82DF-75D6BE5B0A84" xml:lang="en"><title>Application
-framework concepts</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The application framework contains a set of libraries and components
-provided by the Symbian platform to make common functions available to applications.
-Examples of the available functions include: </p>
-<ul>
-<li><p><xref href="GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita">application
-launching</xref></p></li>
-<li><p><xref href="GUID-A9330FEF-C559-4E2B-B064-0151FDADEA8C.dita">event
-handling</xref></p></li>
-<li><p><xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">internationalization
-and localization</xref></p></li>
-<li><p><xref href="GUID-E402616A-7ED8-45AC-B836-99C3A3760B33.dita">keyboard</xref> and <xref href="GUID-4D2AA522-82AB-4D1E-9F1E-5C6A35DEF195.dita">pointer</xref> support</p>
-</li>
-</ul>
-<p>All GUI-based applications use the application framework architecture.
-You must derive the application classes from base classes provided by AVKON.
-For more information on the classes involved in the application framework,
-see <xref href="GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita">Framework
-requirements for GUI applications</xref>. For more
-information on the UI, see <xref href="GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita">UI concepts</xref>.</p>
-<p>In addition, the following concepts are relevant in the context of the
-application framework:</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0F8D0399-58CD-4EB6-82DF-75D6BE5B0A84" xml:lang="en"><title>Application framework concepts</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The application framework contains a set of libraries and components
+provided by the Symbian platform to make common functions available
+to applications. Examples of the available functions include: </p>
+<ul>
+<li><p><xref href="GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita">application launching</xref></p></li>
+<li><p><xref href="GUID-A9330FEF-C559-4E2B-B064-0151FDADEA8C.dita">event handling</xref></p></li>
+<li><p><xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">internationalization and localization</xref></p></li>
+<li><p><xref href="GUID-E402616A-7ED8-45AC-B836-99C3A3760B33.dita">keyboard</xref> and <xref href="GUID-4D2AA522-82AB-4D1E-9F1E-5C6A35DEF195.dita">pointer</xref> support</p>
+</li>
+</ul>
+<p>All GUI-based applications use the application framework architecture.
+You must derive the application classes from base classes provided
+by AVKON. For more information on the classes involved in the application
+framework, see <xref href="GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita">Framework
+requirements for GUI applications</xref>. For more information on the UI, see <xref href="GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita">UI concepts</xref>.</p>
+<p>In addition, the following concepts are relevant in the context
+of the application framework:</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,35 +1,33 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B" xml:lang="en"><title>Managing
-resource files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In the Symbian platform, <xref href="GUID-5F749184-C804-41FC-BA81-038783BDC967.dita">resource</xref> files
-are used to define UI components such as status panes, <xref href="GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita">CBA
-(Control Button Area) buttons</xref>, <xref href="GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita">menu
-bars</xref>, <xref href="GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita">views</xref>,
-dialogs, strings, and constants used in applications. The UI components consist
-of data structures that are defined in resource files. These data structures
-are then invoked from the classes controlling the UI implementation. When
-UI component implementation is split into these two approaches, it means that
-resources can be recompiled, for example for new languages, without having
-to recompile the application code (unless you change the resource identifiers).</p>
-<p>This section includes the following:</p>
-<note>
-<p>For demonstration purposes, the sections on resources contain examples
-with arbitrary values. In your own code, it is recommend that you use a system
-of easy to remember value names.</p>
-</note>
-<p>For an introduction to the UI, see <xref href="GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita">UI concepts</xref>.</p>
-<p>For more information on resources, resource files, and their use in
-the Symbian platform, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/guide/System-Libraries-subsystem-guide/bafl94/InterfaceToResourceFiles/InterfaceToResourceFilesOverview.guide.html" format="application/java-archive">Resource
-Files</xref>.</p>
-<p>This section explains the following:</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B" xml:lang="en"><title>Managing resource files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In the Symbian platform, <xref href="GUID-5F749184-C804-41FC-BA81-038783BDC967.dita">resource</xref> files
+are used to define UI components such as status panes, <xref href="GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita">CBA (Control Button
+Area) buttons</xref>, <xref href="GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita">menu bars</xref>, <xref href="GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita">views</xref>, dialogs,
+strings, and constants used in applications. The UI components consist
+of data structures that are defined in resource files. These data
+structures are then invoked from the classes controlling the UI implementation.
+When UI component implementation is split into these two approaches,
+it means that resources can be recompiled, for example for new languages,
+without having to recompile the application code (unless you change
+the resource identifiers).</p>
+<p>This section includes the following:</p>
+<note>
+<p>For demonstration purposes, the sections on resources contain
+examples with arbitrary values. In your own code, it is recommend
+that you use a system of easy to remember value names.</p>
+</note>
+<p>For an introduction to the UI, see <xref href="GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita">UI concepts</xref>.</p>
+<p>For more information on resources, resource files, and their
+use in the Symbian platform, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/guide/System-Libraries-subsystem-guide/bafl94/InterfaceToResourceFiles/InterfaceToResourceFilesOverview.guide.html" format="application/java-archive">Resource Files</xref>.</p>
+<p>This section explains the following:</p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e596593_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e614538_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e624487_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0FE0B646-A62F-55A8-A6E6-587D0909CE19_d0e301860_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0FE0B646-A62F-55A8-A6E6-587D0909CE19_d0e307852_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0FF61B9C-8B0D-5369-B0DA-29AA169B4308_d0e110036_href.png has changed
Binary file Symbian3/PDK/Source/GUID-0FF61B9C-8B0D-5369-B0DA-29AA169B4308_d0e112459_href.png has changed
Binary file Symbian3/PDK/Source/GUID-10540A35-7E8E-40F0-BF93-CBC01884550C_d0e2555_href.png has changed
Binary file Symbian3/PDK/Source/GUID-10540A35-7E8E-40F0-BF93-CBC01884550C_d0e2565_href.png has changed
--- a/Symbian3/PDK/Source/GUID-107AE89E-901E-535F-8D1A-EE347D7822B1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-107AE89E-901E-535F-8D1A-EE347D7822B1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,12 +40,12 @@
 <fig id="GUID-4F316E33-41C6-5BF4-AAE1-2750C58CC1AA">
 <title>           Figure 1 - The architecture and the appropriate APIs at
 each level         </title>
-<image href="GUID-44ADB485-69C2-5557-AB95-3B6D20870F73_d0e146068_href.png" placement="inline"/>
+<image href="GUID-44ADB485-69C2-5557-AB95-3B6D20870F73_d0e148309_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-5B17051E-C4E7-5657-BB62-26072FB13D83">
 <title>           Figure 2 - The architecture with three CSYs loaded     
    </title>
-<image href="GUID-45DD08DB-FCB3-5546-91B4-25868C8ABAE4_d0e146076_href.png" placement="inline"/>
+<image href="GUID-45DD08DB-FCB3-5546-91B4-25868C8ABAE4_d0e148317_href.png" placement="inline"/>
 </fig>
 <p>Each serial port has a limited availability when multiple clients attempt
 to use the port. The Serial Communications Server provides some functionality
Binary file Symbian3/PDK/Source/GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e482716_href.png has changed
Binary file Symbian3/PDK/Source/GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e488545_href.png has changed
Binary file Symbian3/PDK/Source/GUID-10936B26-D4F3-5EC6-BBBA-009AA27045F7_d0e608580_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-10936B26-D4F3-5EC6-BBBA-009AA27045F7_d0e647742_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-10C32642-CF1C-5C60-A81B-9D65F03A45C4_d0e322506_href.png has changed
Binary file Symbian3/PDK/Source/GUID-10C32642-CF1C-5C60-A81B-9D65F03A45C4_d0e328492_href.png has changed
--- a/Symbian3/PDK/Source/GUID-10CF321F-3298-4527-BFF5-0351085C7C8C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-10CF321F-3298-4527-BFF5-0351085C7C8C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,6 +19,6 @@
 other double item types, too.</p>
 <fig id="GUID-4B95B534-90BC-42B9-ACAF-ED4BC30E19A2">
 <title>Setting list containing a non-setting item to access another view</title>
-<image href="GUID-B7D1D1ED-932C-4A17-AE80-EDF163FC789A_d0e81413_href.png" placement="inline"/>
+<image href="GUID-B7D1D1ED-932C-4A17-AE80-EDF163FC789A_d0e85611_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-10F1D390-2CB6-584B-B760-E6A6E1D8FDDA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-10F1D390-2CB6-584B-B760-E6A6E1D8FDDA"><title>C++ pre-processor statements</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The following pre-processor statements are supported by the resource compiler:</p> <ul><li id="GUID-B6A111FB-FFA2-531C-91EE-35DB9AF19A9A"><p><codeph>#define</codeph> </p> </li> <li id="GUID-C0EF333E-FE70-5EF3-BE14-04A89AF99C85"><p><codeph>#undef</codeph> </p> </li> <li id="GUID-7BAC9B37-F0A3-5578-A9BC-6DEB4A2D2E94"><p><codeph>#line</codeph> </p> </li> <li id="GUID-99F8E077-BB0B-56BD-AFFA-337E2B5956FF"><p><codeph>#include</codeph> </p> </li> <li id="GUID-A47F1114-2DAB-5D15-AE12-4505D527D8E3"><p><codeph>#ifdef</codeph> </p> </li> <li id="GUID-FDD096E0-E286-5CF0-89A3-F9F82E2FE506"><p><codeph>#ifndef</codeph> </p> </li> <li id="GUID-D8A7A176-582C-5A50-B7D7-FE6CD744F709"><p><codeph>#if</codeph> </p> </li> <li id="GUID-749EED33-0711-5E12-B3B3-C4F48A249775"><p><codeph>#else</codeph> </p> </li> <li id="GUID-A03EA147-F9F4-575A-BE46-79BDA3C4BB4A"><p><codeph>#endif</codeph> </p> </li> </ul> <p>The following sections give more detail on the use of the <codeph>#ifdef</codeph> and <codeph>#include</codeph> statements.</p> <section id="GUID-934725A2-90C8-522F-9E25-5E2993049976"><title>Conditional compilation in resource files</title> <p>The resource compiler supports conditional compilation such as</p> <codeblock id="GUID-24DB03FA-A503-5E14-8A78-3A011F4CE634" xml:space="preserve">#ifdef SOMETHING 
-// do something 
-#else 
-// do something else 
-#endif</codeblock> <p>or</p> <codeblock id="GUID-8CE01535-672E-5FBE-BBD9-2DB6FCE44959" xml:space="preserve">#ifndef WHATEVER 
-// do something 
-#endif</codeblock> </section> <section><title>Include files within a source file</title> <p>You can include files within the source file by using a <codeph>#include</codeph> directive, for example:</p> <codeblock id="GUID-E96237E1-93C5-51DF-92E1-E7CC86E9DA42" xml:space="preserve">#include &lt;eikdef.rh&gt;</codeblock> <p>or </p> <codeblock id="GUID-C2587C86-8839-593E-B33A-AC8368DD6B61" xml:space="preserve">#include "eikdef.hrh"</codeblock> <p>The searching algorithm used by the resource compiler depends on whether the item to be included is enclosed in double-quotes or angled brackets.</p> <p>If the filename is enclosed in double-quotes, the resource compiler searches for that file through the following directories in the following order:</p> <ul><li id="GUID-FCCC6197-6ECA-5CAD-9620-071D9A2438EE"><p>the <i>current</i> directory</p> </li> <li id="GUID-06833D1D-FB68-56FB-85FA-CCD1FA149C9C"><p>the relative directory <filepath>..\inc</filepath> </p> </li> <li id="GUID-E6A7515D-B1DE-5279-808A-AD1D9F8D3459"><p>the absolute directory <varname>epocroot</varname> <filepath>\epoc32\include</filepath> </p> </li> </ul> <p>If the filename is enclosed in angled brackets, the resource compiler searches for that file through the following directories in the following order:</p> <ul><li id="GUID-A9F5D3C9-C143-5A94-B31D-58AB83485F72"><p>the relative directory <filepath>..\inc</filepath> </p> </li> <li id="GUID-D33154C8-E215-588C-B186-C3FF2C00ABE9"><p>the absolute directory <varname>epocroot</varname> <filepath>\epoc32\include</filepath> </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-110DB7EF-5E85-5BC4-9BBB-9A37B2D0C3A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-110DB7EF-5E85-5BC4-9BBB-9A37B2D0C3A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -61,7 +61,7 @@
 (and most importantly, key press events). It makes a request for further events
 by a call to the <i>internal function</i>  <codeph>UserSvr::RequestEvent()</codeph>. </p> </li>
 </ul> <fig id="GUID-03C2DFBA-F3C9-5A3F-9DE4-3FE30DECB239">
-<image href="GUID-8A1B6104-4B13-5200-AF3D-64B3929707BB_d0e381849_href.png" placement="inline"/>
+<image href="GUID-8A1B6104-4B13-5200-AF3D-64B3929707BB_d0e387702_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-98528897-D236-56A8-BBDE-6CF09BFDE499"><title>What the Window
 Server does</title> <p>There are two services that the Window Server needs
--- a/Symbian3/PDK/Source/GUID-114A23CF-BF8B-54F5-8AF6-FEF007891884.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-114A23CF-BF8B-54F5-8AF6-FEF007891884.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -64,7 +64,7 @@
 <section id="GUID-0EA05AC0-557D-573F-B907-41752445DC60"><title>SD controller
 classes</title> <fig id="GUID-F044A820-5E7E-5A99-83D5-7CA47EBABBC8">
 <title>              SD controller classes            </title>
-<image href="GUID-58A5C008-88B6-5C91-8BE5-E98CA5E5A438_d0e400148_href.png" placement="inline"/>
+<image href="GUID-58A5C008-88B6-5C91-8BE5-E98CA5E5A438_d0e406001_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-25A29720-A91E-49FA-8E60-3060F25536EA"><title>SD Stack </title><p>The SD controller is implemented through
 a set of classes derived from the MMC controller. The <xref href="GUID-3DC34D4F-E693-3BF0-B5D6-DF22FCE37340.dita"><apiname>DMMCStack</apiname></xref> maintains
--- a/Symbian3/PDK/Source/GUID-114D4F3F-9358-5B50-94DC-45CCBA783DF4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-114D4F3F-9358-5B50-94DC-45CCBA783DF4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -96,7 +96,7 @@
 client for the Alarm Alert server. The following diagram illustrates the Alarm
 Server architecture: </p> <fig id="GUID-D6309F3E-4835-5703-8929-8A108CC5D376">
 <title>              Alarm Server Architecture            </title>
-<image href="GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e172462_href.png" placement="inline"/>
+<image href="GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e178530_href.png" placement="inline"/>
 </fig> <p><b>Alarm Client and Alarm Shared</b> </p> <p>They are the static
 interface DLLs. Alarm client is the client side of the Alarm Server, which
 allows other components to interact with the Alarm Server. </p> <p>The Alarm
Binary file Symbian3/PDK/Source/GUID-1158BDD3-69F7-5892-9887-FAE30110E33C_d0e547793_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1158BDD3-69F7-5892-9887-FAE30110E33C_d0e555249_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11678281-9A86-5D8A-B907-D7940B3A07D4_d0e450474_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11678281-9A86-5D8A-B907-D7940B3A07D4_d0e456319_href.png has changed
--- a/Symbian3/PDK/Source/GUID-11761887-0C37-46E6-A7F6-E6F7FDE7C5A1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-11761887-0C37-46E6-A7F6-E6F7FDE7C5A1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,8 +28,8 @@
    </prereq>
 <context>       <p>Purpose of the task and when it should be carried out</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-27-1-1-6-1-5-1-5-1-6-1-4-1-5-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-27-1-1-6-1-5-1-5-1-6-1-4-1-5-1-3-3-1"><cmd>List the CAF agents.</cmd>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-26-1-1-6-1-5-1-5-1-6-1-4-1-5-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-26-1-1-6-1-5-1-5-1-6-1-4-1-5-1-3-3-1"><cmd>List the CAF agents.</cmd>
 <info>           <p>Before working with one particular agent, the client needs
 to find out which agents are installed on the device. The <xref href="GUID-7F3D9E35-A8FC-35A6-8036-23396BAADFDC.dita#GUID-7F3D9E35-A8FC-35A6-8036-23396BAADFDC/GUID-49BBD20E-5C75-3495-A789-854B14A2EFA4"><apiname>CManager::ListAgentsL()</apiname></xref> function
 provides this list of agents. The F32Agent is not included in the list, as
--- a/Symbian3/PDK/Source/GUID-1197F032-1B73-58E1-8B45-E5D58B9DF788.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1197F032-1B73-58E1-8B45-E5D58B9DF788.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 that the domain manager uses to access that tree. A default implementation
 is provided by Symbian platform. </p>
 <fig id="GUID-C902A1BA-C300-5A93-8385-F4D39FB6F86A">
-<image href="GUID-CE3C8A77-8797-53FB-984E-A91A413BA254_d0e373271_href.png" placement="inline"/>
+<image href="GUID-CE3C8A77-8797-53FB-984E-A91A413BA254_d0e379119_href.png" placement="inline"/>
 </fig>
 <p>The domain hierarchy itself is defined in terms of a simple array of <xref href="GUID-15A31C41-77E0-3E6D-B106-D4FBFA9A52C6.dita"><apiname>TDmDomainSpec</apiname></xref> objects.
 Each <codeph>TDmDomainSpec</codeph> item defines a domain, its characteristics,
@@ -35,7 +35,7 @@
 domain tree must have domain Id <codeph>KDmIdRoot</codeph>. </p>
 <fig id="GUID-7590D6B6-A264-58A6-8764-8491020B921C">
 <title>           Default domain tree          </title>
-<image href="GUID-32C58139-E341-5A15-B20C-D3EA4117AC6E_d0e373296_href.png" placement="inline"/>
+<image href="GUID-32C58139-E341-5A15-B20C-D3EA4117AC6E_d0e379144_href.png" placement="inline"/>
 </fig>
 <p>The default domain hierarchy supplied by Symbian platform in <filepath>domainpolicy.cpp</filepath> is
 simply: </p>
Binary file Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e101097_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e79481_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e83679_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e84215_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e88413_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11A79174-485E-425C-9653-193B670A3F03_d0e97018_href.png has changed
--- a/Symbian3/PDK/Source/GUID-11BF98BD-814A-5CB8-B83E-6D14F38F1783.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-11BF98BD-814A-5CB8-B83E-6D14F38F1783" xml:lang="en"><title>ENUM
-statement</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;enum-statement&gt;
-enum-statement ::= 
-enum [&lt;enum-label&gt; ] { &lt;enum-list&gt; };</codeblock>
-<p>Use an <codeph>enum</codeph> (or an <codeph>ENUM</codeph>) statement to
-define a set of integer values. The values are associated with symbols defined
-in the <codeph>enum-list</codeph>; the syntax and the semantics are compatible
-with those of C++ enumerations. Note that the final semi-colon in an <codeph>enum</codeph> may
-be omitted; however, to retain compatibility with the C++ compiler, it is
-advisable to retain it.</p>
-<p>Each member of the <codeph>enum-list</codeph> is followed by a comma except
-for the last one. The syntax of a member is defined as:</p>
-<codeblock xml:space="preserve">&lt;enum-member&gt;
-enum-member ::= 
-&lt;member-name&gt; [ = &lt;initialiser&gt; ] </codeblock>
-<p>The defined enumerator symbols can be used in both C++ code and resource
-scripts and are commonly defined in files which have the conventional file
-extension <filepath>hrh</filepath>. The <filepath>.hrh</filepath> files are
-included in both C++ files and resource source files.</p>
-<p>In general, each enumerator can be assigned a specific value. If no value
-is explicitly assigned, the value generated by the resource compiler is the
-value of the previous enumerator plus one. If the first enumerator is not
-assigned an explicit value, it defaults to <codeph>0</codeph>.</p>
-<p>The assigned value can be coded in either hexadecimal or plain decimal
-notation.</p>
-<example><p>The <codeph>enum</codeph> definition:</p><codeblock id="GUID-838045EF-9C35-5864-B327-D486D8A87E3D" xml:space="preserve">enum
- {
- EExampleCmdIdFirst=0x100,
- EExampleCmdIdSecond,
- EExampleCmdIdThird,
- EExampleCmdIdFourth
- };</codeblock><p>defines the enumerators <codeph>EExampleCmdIdFirst</codeph>, <codeph>EExampleCmdIdSecond</codeph> etc.
-and assigns values to them. <codeph>EExampleCmdIdFirst</codeph> is assigned
-the value <codeph>0x100</codeph> (decimal 256), <codeph>EExampleCmdIdSecond</codeph> is
-assigned the value <codeph>0x101</codeph> (decimal 257) etc.</p><codeblock id="GUID-47858CC6-812E-5668-A82E-612C9708D2E2" xml:space="preserve">enum {
- testvalue1=10,
- testvalue2,
- testvalue3=20,
- testvalue4
- }; 
-
-STRUCT TEST1
- {
- BYTE b1;
- BYTE b2;
- BYTE b3;
- BYTE b4;
- } 
-
-RESOURCE TEST1 test
- {
- b1=testvalue1;
- b2=testvalue2;
- b3=testvalue3;
- b4=testvalue4;
- }</codeblock><p>In this example the resource generated is: <codeph>0x0A 0x0B
-0x14 0x15</codeph> </p></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 is displayed also on pop-up components.</p>
 <fig id="GUID-1C685A4B-F3EF-4A43-9233-E84C67FD74F4">
 <title>Scroll pane with scrollbar</title>
-<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e96189_href.png" placement="inline"/>
+<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e100308_href.png" placement="inline"/>
 </fig>
 <ul>
 <li><p>The placement of the scroll handle on the scrollbar reflects the position
Binary file Symbian3/PDK/Source/GUID-11CBC0BA-3683-584A-9DC9-8BD3C9573F01_d0e137791_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11CBC0BA-3683-584A-9DC9-8BD3C9573F01_d0e140040_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11E35C60-12DF-4014-AB3F-0314D8536AC0_d0e16457_href.png has changed
Binary file Symbian3/PDK/Source/GUID-11E35C60-12DF-4014-AB3F-0314D8536AC0_d0e16547_href.png has changed
--- a/Symbian3/PDK/Source/GUID-11F00FB3-7353-5545-9A39-BEB3B489A15C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-11F00FB3-7353-5545-9A39-BEB3B489A15C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -82,7 +82,7 @@
 the interfaces. </p> <fig id="GUID-D23E912B-C752-5F20-A595-3F779B4E7C5D">
 <title>              Figure 1: The graphics resource adapter interfaces  
          </title>
-<image href="GUID-BFA254D4-5104-5B15-8035-2491B57D136D_d0e272739_href.png" placement="inline"/>
+<image href="GUID-BFA254D4-5104-5B15-8035-2491B57D136D_d0e278739_href.png" placement="inline"/>
 </fig> <p> <b>Driver adapter</b>. You must provide a concrete driver adapter
 class that implements the <xref href="GUID-62D3F49B-E048-3C07-ABDC-2DB6CC268127.dita"><apiname>MSgDriverAdapter</apiname></xref> interface. This
 is a singleton class. A single instance of it is created for each process
@@ -182,7 +182,7 @@
 all of the handles to the image are closed, the image itself is destroyed. </p> <fig id="GUID-189A3A15-947A-5C39-9B84-630679944C30">
 <title>              Figure 2: Reference counting resources and adapter objects
            </title>
-<image href="GUID-582B36BD-88B3-5B5B-8A20-058318E80D0B_d0e272975_href.png" placement="inline"/>
+<image href="GUID-582B36BD-88B3-5B5B-8A20-058318E80D0B_d0e278975_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-A254D2A4-AAF4-43CA-9C4F-DB41F5F2F13B"><title>Thread safety</title> <p>All
 of the adapter objects can potentially be shared between all of the threads
--- a/Symbian3/PDK/Source/GUID-11F63309-1C6B-52D4-A1A0-D7F3C64DE4F5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-11F63309-1C6B-52D4-A1A0-D7F3C64DE4F5" xml:lang="en"><title>Unified Trace Framework 2.0 Vs Unified Trace Framework 1.0</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section explains the various differences between Unified Trace Framework (UTF) 2.0 and Unified Trace Framework 1.0. It explains the changes in the following: </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-120CA508-9984-54D0-B366-6D10D646FD49_d0e454529_href.png has changed
Binary file Symbian3/PDK/Source/GUID-120CA508-9984-54D0-B366-6D10D646FD49_d0e460374_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1248ED3E-438C-41E5-81D4-19FC721408BA_d0e105014_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -51,7 +51,7 @@
 API functions. </p> <fig id="GUID-253611E8-9893-5261-830F-28B888FFA15B">
 <title>              Figure 1 - The Socket Server's position in the Communications
              Framework Architecture.            </title>
-<image href="GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e141096_href.png" placement="inline"/>
+<image href="GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e143345_href.png" placement="inline"/>
 </fig> <p>The TCP/IP API enables clients to use sockets for TCP/IP, including
 UDP, TCP, ICMP, IPv4, IPv6, ARP, and DNS. </p> <p>The IrDA Sockets API enables
 clients to use sockets for IrDA infra-red. </p> <p>The Bluetooth Sockets API
--- a/Symbian3/PDK/Source/GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,40 +9,38 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1293DE8C-E803-4ADF-9FA8-862519337331" xml:lang="en"><title>Software
-installer</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>End users can install new software from a variety of sources: through
-e-mail, Internet downloads, multimedia messaging service (MMS) and WAP push
-messages, infrared and Bluetooth connections, PC Suite, and removable memory
-cards. The diversity of software vendors and delivery channels requires a
-sophisticated system for managing installed software.</p>
-<p>The Symbian <i>Software Installer</i> uses <i>digital signatures</i> and <i>certificates</i> to
-authenticate that the application being installed on a mobile device is from
-a known vendor. The signature can be obtained through the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian
-Signed</xref> process, and the default certificates installed in the mobile
-device act as root certificates. During installation the signature is validated
-against the certificates. If they match, the application is installed and
-the requested <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capabilities</xref> are
-stored in the executable, assuming that the root certificate can grant the
-capabilities. Only <i>user capabilities</i> can be granted to unsigned or
-self-signed applications, and these are always confirmed by the user. </p>
+<concept id="GUID-1293DE8C-E803-4ADF-9FA8-862519337331" xml:lang="en"><title>Software installer</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>End users can install new software from a variety of sources:
+through e-mail, Internet downloads, multimedia messaging service (MMS)
+and WAP push messages, infrared and Bluetooth connections, PC Suite,
+and removable memory cards. The diversity of software vendors and
+delivery channels requires a sophisticated system for managing installed
+software.</p>
+<p>The Symbian <i>Software Installer</i> uses <i>digital signatures</i> and <i>certificates</i> to authenticate that the application being
+installed on a mobile device is from a known vendor. The signature
+can be obtained through the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian Signed</xref> process, and the default certificates installed in the mobile device
+act as root certificates. During installation the signature is validated
+against the certificates. If they match, the application is installed
+and the requested <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capabilities</xref> are stored in the executable, assuming that the
+root certificate can grant the capabilities. Only <i>user capabilities</i> can be granted to unsigned or self-signed applications, and these
+are always confirmed by the user. </p>
 <note>
-<p>The end users have an option to cancel the installation if they detect
-that the vendor of the software package and certificate authority are not
-trustworthy. This is especially important when installing security-related
-components (for example, VPN clients, firewalls and virus scanners) or other
-business-related software.</p>
+<p>The end users have an option to cancel the installation if they
+detect that the vendor of the software package and certificate authority
+are not trustworthy. This is especially important when installing
+security-related components (for example, VPN clients, firewalls and
+virus scanners) or other business-related software.</p>
 </note>
-<p>The Software Installer ensures that no two applications have the same <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">SID</xref> value
-on a particular target device. The Software Installer has the <codeph>TCB</codeph> capability
-to read and modify content in the <xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita"><codeph>\sys</codeph> </xref> folder
-and all its subfolders, which means that you can write to third-party application
-executables in the <codeph>\sys\bin</codeph> folder when they are installed
-through the Software Installer.</p>
-<p>For more information on the Software Installer, see <xref href="GUID-8E160B29-18C4-574B-9259-9A8E958CDA91.dita">Secure
-Software Install Tools</xref>.</p>
+<p>The Software Installer ensures that no two applications have
+the same <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">SID</xref> value on a particular target device. The Software Installer
+has the <codeph>TCB</codeph> capability to read and modify content
+in the <xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita"><codeph>\sys</codeph> </xref> folder and all its subfolders, which means
+that you can write to third-party application executables in the <codeph>\sys\bin</codeph> folder when they are installed through the Software
+Installer.</p>
+<p>For more information on the Software Installer, see <xref href="GUID-8E160B29-18C4-574B-9259-9A8E958CDA91.dita">Secure Software Install
+Tools</xref>.</p>
 <p>The following figure illustrates the steps of software installation:</p>
-<fig id="GUID-98820420-7C7A-46EC-9DE4-EA3F5FFD39A8"><title>Installation process for signed packages</title><image href="GUID-85291DF3-C134-4231-938A-C20DD122AB7D_d0e14048_href.png"/></fig>
+<fig id="GUID-98820420-7C7A-46EC-9DE4-EA3F5FFD39A8"><title>Installation process for signed packages</title><image href="GUID-85291DF3-C134-4231-938A-C20DD122AB7D_d0e14147_href.png"/></fig>
 <p>The Software Installer can install the following types of packages:</p>
 <ul>
 <li><p>signed <codeph>sis</codeph> packages</p></li>
@@ -50,9 +48,10 @@
 </li>
 <li><p>Web Runtime widgets</p></li>
 </ul>
-<p>The Software Installer recognizes different devices, which allows you
-to define the platforms and devices to which the software can be installed.</p>
+<p>The Software Installer recognizes different devices, which allows
+you to define the platforms and devices to which the software can
+be installed.</p>
 
-<p>If you receive an error message when using the Software Installer, see <xref href="http://developer.symbian.org/wiki/index.php/Troubleshooting_Installation_Errors.dita">Troubleshooting
-Installation Errors</xref> at the Symbian Foundation.</p>
+<p>If you receive an error message when using the Software Installer,
+see <xref href="http://developer.symbian.org/wiki/index.php/Troubleshooting_Installation_Errors.dita">Troubleshooting Installation Errors</xref> at the Symbian Foundation.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-12C9C36B-8AD4-544E-A6A3-54A799EF0280.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-12C9C36B-8AD4-544E-A6A3-54A799EF0280.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -120,7 +120,7 @@
 <section id="GUID-3CBE467D-11B7-40F7-B681-D40F4D48D18F"><p>How APIs related to the 3-Plane Comms Architecture. </p> <fig id="GUID-FC69453E-CA12-5CDB-A7E6-B2FA542BBE06">
 <title>           Figure 1 - How ESock APIs related to the 3-Plane Comms Architecture
          </title>
-<image href="GUID-239B8B32-5816-575E-97B1-FF7B68BC7575_d0e144608_href.png" placement="inline"/>
+<image href="GUID-239B8B32-5816-575E-97B1-FF7B68BC7575_d0e146857_href.png" placement="inline"/>
 </fig> <p>The Sockets Client API also defines a number of support classes
 used in conjunction with the above interfaces. These encapsulate: </p> <ul>
 <li id="GUID-A1132B04-61D5-53E5-85A5-E7BBFA598B72"><p> <i>Addresses</i>: a
Binary file Symbian3/PDK/Source/GUID-12CD8E91-4102-5253-A7DE-E5436028764F_d0e406936_href.png has changed
Binary file Symbian3/PDK/Source/GUID-12CD8E91-4102-5253-A7DE-E5436028764F_d0e412789_href.png has changed
--- a/Symbian3/PDK/Source/GUID-12D8C373-5199-5B89-9910-00F769AC164A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-12D8C373-5199-5B89-9910-00F769AC164A" xml:lang="en"><title>How
-to build EXEs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>An .EXE program typically has a single executable component. Unlike GUI
-application targets there is no application information file, and in most
-cases a resource file will not be needed.</p>
-<p>Under WINS/WINSCW, the C++ source is compiled to object files in the build
-directory; these are then linked, together with standard libraries, into the
-release directory. You may run the program directly from the release directory.</p>
-<p>Under ARM targets, the C++ source is compiled using a native compiler,
-and then linked into a <filepath>.exe</filepath> in the release directory.
-You may then transfer the program to the target machine and execute it.</p>
-<section><title>mmp project specification</title><p>For an EXE
-target, only a minimum of essential information need be specified:</p><ul>
-<li id="GUID-A0E2ED12-C5F4-5F6D-BDBB-B3B87B09F502"><p>Specify the <codeph>TARGETTYPE</codeph> line
-as:</p> <codeblock id="GUID-02CE2D53-6886-5263-812D-BCD24186C3DE" xml:space="preserve">TARGETTYPE    exe</codeblock> </li>
-<li id="GUID-2FFB1967-3C8D-5235-89D0-6D8D5971F54E"><p>Specify the <codeph>UID</codeph> as
-zero in a <codeph>UID</codeph> line:</p> <codeblock id="GUID-F813D71D-300B-5C3C-80DC-08F136A1F7F3" xml:space="preserve">UID   0</codeblock> <p>EXEs
-do not strictly speaking need a UID value. However specifying zero suppresses
-a build tools warning.</p> </li>
-</ul></section>
-<example><p>An example of the project file for a console program is given
-below</p><codeblock id="GUID-05B15418-43DB-5192-9B93-042B08499724" xml:space="preserve">TARGET        HelloWorld.exe
-TARGETTYPE    exe
-UID           0
-SOURCEPATH    .
-SOURCE        HelloWorld.cpp
-USERINCLUDE   .
-USERINCLUDE   ..\CommonFramework
-SYSTEMINCLUDE \Epoc32\include
-LIBRARY       euser.lib</codeblock></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-130C21D7-0A39-5A54-8545-C82B2ED4398C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-130C21D7-0A39-5A54-8545-C82B2ED4398C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 <context id="GUID-02566DCB-EFC4-4C74-A9FD-98417AC0AF9D"><p>This state diagram shows how to dial or answer one or two calls
 at a time. </p> <fig id="GUID-3603A3BF-5E3F-5945-B762-42411EF4B497">
 <title>              Simultaneous Call State Diagram            </title>
-<image href="GUID-7E6634DC-7F07-5687-AFEE-D5BD268B8E1D_d0e61445_href.png" placement="inline"/>
+<image href="GUID-7E6634DC-7F07-5687-AFEE-D5BD268B8E1D_d0e65679_href.png" placement="inline"/>
 </fig> <p>The boxes are states. The enumeration value in each box is the status
 of the voice line. <xref href="GUID-0DA6722B-0700-5612-884A-F3B7733E5252.dita">Voice
 line status</xref> describes these states and their meaning. The arrows show
Binary file Symbian3/PDK/Source/GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e1746_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e1751_href.png has changed
Binary file Symbian3/PDK/Source/GUID-135681B6-3131-57C6-AFED-CCE35431AF9E_d0e159999_href.png has changed
Binary file Symbian3/PDK/Source/GUID-135681B6-3131-57C6-AFED-CCE35431AF9E_d0e166100_href.png has changed
Binary file Symbian3/PDK/Source/GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e393700_href.png has changed
Binary file Symbian3/PDK/Source/GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e399553_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1391CDCC-9A09-54FB-BA7D-BC7A91DB2351.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1391CDCC-9A09-54FB-BA7D-BC7A91DB2351.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 Tutorial</linktext></link>
 <link href="GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita"><linktext>OBY
 Tutorial</linktext></link>
-<link href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-6-1-3-4.dita"><linktext>Building
+<link href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita"><linktext>Building
 ROM Tutorial</linktext></link>
 </linklist>
 <linklist>
--- a/Symbian3/PDK/Source/GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 </ul><p>For more information about layers of the Symbian platform
 and the packages contained within it, see the <xref href="http://developer.symbian.org/downloads/system_models/foundationpkg_22-05-09.svg" scope="external">Package view of the current Symbian Foundation platform</xref>.</p><fig id="GUID-AD79AEF5-1DB3-47F7-9B42-FE5C7FE7C6A3">
 <title>Architecture of the Symbian platform</title>
-<image href="GUID-6913F58F-FDA1-4708-B03E-16AF6C545E5B_d0e3161_href.jpg" placement="inline"/>
+<image href="GUID-6913F58F-FDA1-4708-B03E-16AF6C545E5B_d0e3152_href.jpg" placement="inline"/>
 </fig><p>A layer can have packages from any <xref format="html" href="http://developer.symbian.org/main/source/technology_domains/index.php" scope="external">technology domain</xref>. Technology domains are
 a group of packages, each of which is a collection of components.
 To understand more about the architecture, what the platform offers,
--- a/Symbian3/PDK/Source/GUID-139E7235-4F23-5F0E-A969-6D7165AE5298.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-139E7235-4F23-5F0E-A969-6D7165AE5298"><title>-inv or -invariant</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>By default all DLLs are considered to be variant across all feature variant builds. </p> <p>To disable considering all DLLs as variants, use <codeph>-inv</codeph> or <codeph>-invariant</codeph> option. </p> <p> <codeph>abld -inv build armv5.myvar</codeph>  </p> <p>A DLL marked as <codeph>FEATUREVARIANT</codeph> in its <filepath>.mmp</filepath> file remains variant, even if <codeph>-invariant</codeph> or <codeph>-inv</codeph> option is specified in the <codeph>abld</codeph> command. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-13AA46F9-7D5E-5BBE-8021-C9326121E605.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-13AA46F9-7D5E-5BBE-8021-C9326121E605"><title>srcdbg</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>srcdbg</codeph>  </p> <p>Use the <codeph>srcdbg</codeph> statement to disable the use of optimisation in debug builds. This makes it significantly easier to step through the execution of code with a source-level debugger.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,7 +39,7 @@
 entries in a file to be modified. The database implementations use these stores
 for the underlying data storage. </p> <fig id="GUID-6907C48E-3E72-5FED-B5E5-67C6F6922ED9">
 <title>              DBMS Class Diagrams           </title>
-<image href="GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e578451_href.png" placement="inline"/>
+<image href="GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e627739_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-CC1087EA-0995-4ABE-8C28-8CBF0D62E7FA"><title>DBMS Summary</title> <p>DBMS provides the following: </p> <ul>
 <li id="GUID-CA46F9A6-15C2-5584-A907-9D1DD79C8711"><p> <b>Database Management
Binary file Symbian3/PDK/Source/GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e640624_href.png has changed
Binary file Symbian3/PDK/Source/GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e653446_href.png has changed
--- a/Symbian3/PDK/Source/GUID-13DEE42F-3EAB-4EB7-9CE1-C4930BCACE01.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-13DEE42F-3EAB-4EB7-9CE1-C4930BCACE01.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 layouts</xref>.</p>
 <fig id="GUID-A44481C9-82CA-46DE-8D54-1BCC033A8CAB">
 <title>List query </title>
-<image href="GUID-431119D1-1B55-4503-905E-6E290FA241CE_d0e91636_href.png" placement="inline"/>
+<image href="GUID-431119D1-1B55-4503-905E-6E290FA241CE_d0e95834_href.png" placement="inline"/>
 </fig>
 <p>The number of items in the list should be kept low, so that all items can
 be seen without scrolling.</p>
Binary file Symbian3/PDK/Source/GUID-13F10D4C-BA0C-5B46-804D-191A70C36324_d0e489576_href.png has changed
Binary file Symbian3/PDK/Source/GUID-13F10D4C-BA0C-5B46-804D-191A70C36324_d0e495397_href.png has changed
--- a/Symbian3/PDK/Source/GUID-141633B8-A3D4-5BBB-97C5-3D928746ECE7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-141633B8-A3D4-5BBB-97C5-3D928746ECE7" xml:lang="en"><title>Resource
-localisable strings</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Resource localisable strings (RLS) are defined in the resource files. Each
-RLS item definition is a new-line separated entry in the resource file, using
-literals to define a localisable string, number or character. </p>
-<p><b>Defining RLS items </b> </p>
-<p>The following literals can be used to define an RLS item: </p>
-<table id="GUID-F30AE1BF-B383-5A66-99C1-AD2110C41368">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>Name</entry>
-<entry>Description</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <i>rls_string</i>  </p> </entry>
-<entry><p>Use this literal to define a 16-bit Unicode string </p> </entry>
-</row>
-<row>
-<entry><p> <i>rls_string8</i>  </p> </entry>
-<entry><p>Use this literal to define an 8-bit Unicode string </p> </entry>
-</row>
-<row>
-<entry><p> <i>rls_byte</i>  </p> </entry>
-<entry><p>Use this literal to define an 8-bit number </p> </entry>
-</row>
-<row>
-<entry><p> <i>rls_word</i>  </p> </entry>
-<entry><p>Use this literal to define a 16-bit number </p> </entry>
-</row>
-<row>
-<entry><p> <i>rls_long</i>  </p> </entry>
-<entry><p>Use this literal to define a long number </p> </entry>
-</row>
-<row>
-<entry><p> <i>rls_double</i>  </p> </entry>
-<entry><p>Use this literal to define a decimal number </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p><b>BNF description </b> </p>
-<p><i><codeph>&lt;rls-file&gt;</codeph></i>
-</p>
-<p><b>rls-file ::=</b>
-    </p>
-<p><i><codeph>&lt;rls-entry&gt;* &lt;rls-entry&gt;</codeph></i>
-</p>
-<p><b>rls-entry ::=</b>
-   </p>
-<p> <i><codeph>&lt;rls-item&gt; &lt;rls-item&gt;</codeph></i>
-</p>
-<p><b>rls-item ::=</b>
-    </p>
-<p><i><codeph>&lt;type&gt;[&lt;length&gt; &lt;cardinality&gt;] &lt;symbolic-identifier&gt;
-&lt;value&gt; &lt;type&gt;</codeph></i>
-</p>
-<p><b>type ::=</b>
-   </p>
-<p><b><codeph> rls_string | rls_string8 | rls_byte | rls_word | rls_long |
-rls_double</codeph></b> <i><codeph>&lt;value&gt;</codeph></i>
-</p>
-<p><b>value ::=</b>
-   </p>
-<p> <i><codeph>&lt;text&gt; | &lt;number&gt;</codeph></i></p>
-<p>where, </p>
-<table id="GUID-1B30B956-E495-5EE7-B5FA-33A336712087">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <varname>length</varname>  </p> </entry>
-<entry><p>The optional maximum length of the <codeph>text</codeph> applicable
-to <codeph>rls_string</codeph> or <codeph>rls_string8</codeph> types only </p> </entry>
-</row>
-<row>
-<entry><p> <varname>cardinality</varname>  </p> </entry>
-<entry><p>You can use the optional keyword qualifier "multi", which indicates
-that the localisable item may be used by more than one resource </p> </entry>
-</row>
-<row>
-<entry><p> <varname>symbolic-identifier</varname>  </p> </entry>
-<entry><p>A unique ID for the localisable string or number </p> </entry>
-</row>
-<row>
-<entry><p> <varname>text</varname>  </p> </entry>
-<entry><p>This is a string expression, which may include a string enclosed
-in double quotes (") and a character code enclosed in angle brackets (&lt;&gt;) </p> </entry>
-</row>
-<row>
-<entry><p> <varname>number</varname>  </p> </entry>
-<entry><p>A numeric value for the literals <codeph>rls_byte</codeph>, <codeph>rls_word</codeph>, <codeph>rls_long</codeph> and <codeph>rls_double</codeph>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>The following example shows how to define an RLS string and number: </p>
-<codeblock id="GUID-2B139C40-7B9C-502B-A709-ABEC93D3200E" xml:space="preserve">rls_string&lt;32&gt; STRING_1 "Example menu item"&lt;0x2026&gt;
-rls_byte multi NUMBER_1 17
-</codeblock>
-<p>Characters are declared using the RLS type identifiers <codeph>rls_byte</codeph>, <codeph>rls_word</codeph> or <codeph>rls_long</codeph>.
-The type identifier to be used depends on the type of the structure member
-they will be included into. However, the value can be declared within single
-quotes. For example: </p>
-<codeblock id="GUID-A6595588-C05D-5883-B2A7-A7645270F657" xml:space="preserve">
-    rls_long hotkey_zoomin 'M'</codeblock>
-<p><b>Commenting RLS items </b> </p>
-<p>RLS items can be tagged with appropriate comments, which are placed just
-before each RLS item declaration. Optionally, if a <codeph>RESOURCE</codeph> declaration
-contains localisable data, a comment can precede the <codeph>RESOURCE</codeph> declaration. </p>
-<p>These comments save time and cost in localisation, and improve quality
-of localised text. If you supply more context information to the translators
-(maximum string length allowed, the details of the GUI in which their text
-will be displayed), the quality of the localised text is better. This will
-also reduce the need for re-translating the text. </p>
-<p>The localisation comments must be enclosed within the comment brackets
-/*&amp;...*/. These comment brackets include a set of tags to provide more
-details about the RLS item. </p>
-<p>The resource compiler (<codeph>epocrc</codeph>) can warn if comments are
-missing. A Symbian platform licensee can configure the <codeph>epocrc</codeph> tool
-to emit warnings for missing comments through the <xref href="GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita#GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0/GUID-014671B6-C19E-528A-984C-D8226375AC5A">epocrc configuration file</xref>. </p>
-<p>The following is a list of tags used within the comment brackets: </p>
-<ul>
-<li id="GUID-23B9063B-ED0F-538C-AAB2-6AAE1E2993E5"><p> <codeph>@localize</codeph>:
-This is an optional tag used to specify whether to allow the translator to
-change the string or not. The translator is allowed to change the RLS item,
-only if the tag is set to '<codeph>yes</codeph>'. To disallow any change to
-the RLS item, set it to '<codeph>no</codeph>'. By default, the translator
-is allowed to change an RLS item, if the corresponding localisation comment
-does not include this tag. </p> <p>For example: </p> <codeblock id="GUID-1FCD24E2-7F1A-59DA-BF72-6612D9ABF22A" xml:space="preserve">/*&amp;
-@localize yes
-*/
-rls_string STRING_1 "Device locked"
-</codeblock> </li>
-<li id="GUID-C674C795-950D-5432-8908-89F20F85A891"><p> <codeph>@description</codeph>:
-This is mandatory tag used to provide a description about the RLS item. This
-tag is used to provide the following information to the translator: </p> <ul>
-<li id="GUID-D0519085-B8A6-5658-A7F5-D2891B033B89"><p>The context in which
-the string is used and the purpose of the dialog or views using the string. </p> </li>
-<li id="GUID-9591133E-65C3-5D7B-9B72-DE1D1B790FEE"><p>Its relationships with
-other strings. </p> </li>
-<li id="GUID-E8405E4E-A0AC-53B9-A6B5-630B276B7B7E"><p>If the localisable strings
-represent file names or URIs that must point to existing objects, describe
-those objects briefly. </p> </li>
-<li id="GUID-11F95E12-CECE-5311-8800-673FF4B3C059"><p>If the RLS items are
-tagged with <codeph>@restriction other</codeph>, describe the restriction. </p> </li>
-</ul> </li>
-<li id="GUID-A84221B4-5327-551A-8F92-ECC5B8D13F33"><p> <codeph>@restriction</codeph>:
-This is an optional tag used to specify the scope of the RLS item. The possible
-values for this tag are: </p> <ul>
-<li id="GUID-4C0C8F25-F6D0-550C-9A31-B96B483AD408"><p> <codeph>uri</codeph> to
-specify that the localisable item is an URI. If the URI changes, the resulting
-URI should be a valid URI pointing to the correct object. The description
-in the comment bracket can be used to give more details about the URI. </p> </li>
-<li id="GUID-F5FEC94D-DA1C-509E-A0BD-E35260F399E6"><p> <codeph>file</codeph> to
-specify that the localisable item is a file name. If the file changes, the
-ROM must be rebuilt to accommodate the change. If the full path of the file
-is not given, the description for the localisable item can be used to provide
-more details. </p> </li>
-<li id="GUID-1115504D-14E8-5997-9FF8-F79EC650943A"><p> <codeph>trademark</codeph> to
-specify that the localisable item is a trademark. The trademark differs from
-country to country, but any change to it must be subject to trademark owner's
-rules. The description for the localisable item can be used to provide more
-details. </p> </li>
-<li id="GUID-FF6ABAD0-2BC3-5445-842A-282CBEC7DBFE"><p> <codeph>other</codeph> to
-specify that the localisable item is none of the above. In such a case, the
-description should include the effects of changing the localisable item and
-the constraints. </p> </li>
-</ul> <p>For example: </p> <codeblock id="GUID-BD4F8548-23BD-5945-882E-54ABE0AF4468" xml:space="preserve">/*&amp; @description Must point to the happy bugle wave file, used as a ring tone and displayed to the user in the ring-tone selection dialog.
-@localize yes
-@restriction file
-*/
-rls_string STRING_2 "happy bugle.wav"
-</codeblock> </li>
-<li id="GUID-E2630A48-BC17-51FD-B6F0-EA425DD64318"><p> <codeph>@uicontext</codeph>:
-This is a mandatory tag for RLS items defined using <codeph>rls_string</codeph> and <codeph>rls_string8</codeph>.
-It is used to specify the type of widget in which the localisable item is
-used. There is a list of UI contexts for Symbian developers, which are extended
-by the platform suppliers. The Symbian developers must use the values defined
-for the platforms on which they are developing. </p> <p>The possible values
-for this tag are: </p> <ul>
-<li id="GUID-E21387AA-B4DA-59CD-9C96-783DEA10529B"><p> <codeph>notvisible</codeph> to
-specify that the item does not appear in the UI. </p> </li>
-<li id="GUID-800536F2-9524-5A8F-8919-A57962346F91"><p> <codeph>pluginname</codeph> to
-specify that the string is the name of an ECOM (or other) plug-in. </p> </li>
-<li id="GUID-26670A96-7A7C-558F-8747-5D77F24EA2EE"><p> <codeph>system</codeph> to
-specify that the item may appear in the UI, but the component that supplies
-the UI does not mandate where. </p> </li>
-<li id="GUID-1E32422C-C7AE-59CE-9E55-956614395349"><p> <codeph>errortext</codeph> to
-specify that the string is used by the error resolver. </p> </li>
-<li id="GUID-C3AAA814-0117-5083-A272-81968E7399E9"><p> <codeph>fragment</codeph> to
-specify that the item is part of a string that appears in the UI. For example,
-a list separator. </p> </li>
-<li id="GUID-4A0EADED-7CB0-5105-AEBF-B0ACC10A1F21"><p> <codeph>appname</codeph> to
-specify the application name in the <codeph>APP_REGISTRATION_INFO</codeph> structure. </p> </li>
-<li id="GUID-7527BBBE-3AA6-5CCD-A124-4977316B5814"><p> <codeph>appgroup</codeph> to
-specify the application group in the <codeph>APP_REGISTRATION_INFO</codeph> structure. </p> </li>
-</ul> <p>For example: </p> <codeblock id="GUID-876F09BF-98DA-5CFD-8E8F-C5CB57A60A52" xml:space="preserve">/*&amp;
-@uicontext pluginname
-*/
-rls_string STRING_1 "Device locked"
-</codeblock> </li>
-<li id="GUID-9E1F9CBA-14EC-52F1-8A8B-6AA3C6B07762"><p> <codeph>@group</codeph>:
-This is an optional tag used to group strings together. For example, you can
-group all strings that appear in the same view together. To group strings
-under a group, you have to define a group using the following syntax: </p> <codeblock id="GUID-05A63AFD-99A4-5C8E-9C62-8BB8F70D10DD" xml:space="preserve">@tagvalue group &lt;your-group-name&gt; [group-description]</codeblock> <p>Where, <varname>your-group-name</varname> is a name for the group, and <varname>group-description</varname> is an
-optional description about the group. </p> <p>For example, </p> <codeblock id="GUID-425EEBDF-432B-5D2E-A524-EBF0DB8A7187" xml:space="preserve">/*&amp;
-@tagvalue group lock_dialog
-*/
-</codeblock> <p>You can use the group defined above as follows: </p> <codeblock id="GUID-1A81832F-679D-5DC0-A237-C4496A3610CA" xml:space="preserve">/*&amp;
-@localize yes
-@group lock_dialog
-*/
-rls_string STRING_1 "Device locked"
-</codeblock> </li>
-<li id="GUID-A2E5B5EB-8EC1-5632-A576-DFBE1DD879C5"><p> <codeph>@uispec</codeph>:
-This is an optional tag used to specify where in the specifications document
-the RLS item appears. </p> <p>For example: </p> <codeblock id="GUID-E7E2A822-6840-5F69-A5F7-864882AABC4F" xml:space="preserve">/*&amp;
-@uispec    UIQ/ringtones-specification.doc/4.31
-*/
-rls_string STRING_2 "happy bugle.wav"
-</codeblock> </li>
-</ul>
-<p><b>Creating new RLS comment tags </b> </p>
-<p>Apart from the pre-defined set of tags listed above, you can also declare
-a new tag and use it in the localisation comments. Tags are declared in resource
-header files (<filepath>.rh</filepath>). You can configure the <codeph>epocrc</codeph> tool
-to recognise the comment definitions from such files through the <filepath>epocrc.config</filepath> configuration
-file. For more information, refer to <xref href="GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita#GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0/GUID-014671B6-C19E-528A-984C-D8226375AC5A">epocrc
-configuration file format</xref>. </p>
-<p>The following is the BNF description for declaring a new tag: </p>
-<p><i><codeph>&lt;tag-declaration&gt;</codeph></i>
-</p>
-<p><b>tag-declaration ::=</b>
-    </p>
-<p><b><codeph>@declaretag </codeph></b><i><codeph>&lt;tag-type&gt; &lt;new-tag-name&gt;
-[&lt;description&gt;] &lt;tag-type&gt;</codeph></i>
-</p>
-<p><b>tag-type ::=
-</b>    </p>
-<p><b><codeph>single | multiple | text | void</codeph></b></p>
-<p>Where, <varname>tag-type</varname> is used to specify the type value the
-tag can take. If you want the tag to take a single value, use "<codeph>single</codeph> "
-as the tag type. If you want the tag to take a single value from a set of
-values, use "<codeph>multiple</codeph> " as the tag type. For example, the <codeph>@uicontext</codeph> tag
-is of <codeph>multiple</codeph> type. If you want the tag not to take any
-value, use "<codeph>void</codeph> " as the tag type. If you want the tag to
-take free text, use "<codeph>text</codeph> " as the tag type. For example,
-the <codeph>@description</codeph> tag is of <codeph>text</codeph> type. </p>
-<p>For example, the following declares a tag called “visible” of type single: </p>
-<codeblock id="GUID-8C1F4921-CF51-57FA-8DDB-A9106B0AAF26" xml:space="preserve">@declaretag single visible</codeblock>
-<p>If you had declared the tag as <codeph>single</codeph> or <codeph>multiple</codeph>,
-you must declare its values. Value declaration is not required for other tag
-types. </p>
-<p>The following is the BNF description for declaring values for a tag: </p>
-<p><i><codeph>&lt;tag-value-declaration&gt;</codeph></i></p>
-<p>
-<b>tag-value-declaration ::=</b></p>
-<p>
-    <b>@tagvalue</b> <i><codeph>&lt;tag-name&gt; &lt;list-of-values&gt;</codeph></i></p>
-<p>Where, <varname>tag-name</varname> is the name of the tag declared earlier.
-If the tag is of multiple type, the <varname>list-of-values</varname> lists
-a set of values for the tag, otherwise a single value must be specified. </p>
-<p>For example, the following declares that the permitted value for the visible
-tag is "yes": </p>
-<codeblock id="GUID-EE092FF4-FA7A-591B-9103-5875CE422224" xml:space="preserve">@tagvalue visible yes</codeblock>
-<p>After declaring the values for the tag, you must specify whether the tag
-is required or optional for an RLS item. The BNF description for this is as
-follows: </p>
-<p><i><codeph>&lt;tag-required-statement&gt;</codeph></i></p>
-<p><b>
-tag-required-statement ::=</b></p>
-<p>
-    <b>@tagrequired</b><i><codeph> &lt;tag-name&gt; &lt;rls-type-identifier&gt;
-&lt;tag-optional-statement&gt;</codeph></i>
-</p>
-<p><b>tag-optional-statement ::=</b></p>
-<p>
-    <b>@tagoptional</b> <i><codeph>&lt;tag-name&gt;=[&lt;default-value&gt;] &lt;rls-type-identifier&gt;
-&lt;rls-type-identifier&gt;</codeph></i>
-</p>
-<p><b>rls-type-identifier ::=</b></p>
-<p>
-    <b><codeph>rls_string | rls_string8 | rls_byte | rls_word | rls_long |
-rls_double</codeph></b></p>
-<p>Where, <varname>tag-name</varname> is the name of the declared tag, <varname>default-value</varname> is
-the default value used for optional tags. </p>
-<p>For example, the following declares that the visible tag is optional, and
-has a default value of “yes” for rls_string items: </p>
-<codeblock id="GUID-8793CE31-6D00-5607-AD69-77E7FC7B5D54" xml:space="preserve">@tagoptional visible=yes rls_string</codeblock>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-141D8786-9987-4E5E-9395-484C87B323FB_d0e498445_href.png has changed
Binary file Symbian3/PDK/Source/GUID-141D8786-9987-4E5E-9395-484C87B323FB_d0e505907_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1467745D-7C3F-52EC-8C1E-7E2F505B7313_d0e588963_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1467745D-7C3F-52EC-8C1E-7E2F505B7313_d0e616857_href.png has changed
Binary file Symbian3/PDK/Source/GUID-147C77CB-16A1-548B-A1C7-05F2C5FF9E27_d0e462630_href.png has changed
Binary file Symbian3/PDK/Source/GUID-147C77CB-16A1-548B-A1C7-05F2C5FF9E27_d0e468475_href.png has changed
--- a/Symbian3/PDK/Source/GUID-14A0FC93-2AD9-5B33-B423-2CCAD3C96B5F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-14A0FC93-2AD9-5B33-B423-2CCAD3C96B5F"><title>clean</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>clean</codeph>  <codeph> ( ( [-c] | [-w] ) | ( [-k] [-v] ) ) </codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>This command will erase all the files created by the corresponding <codeph>abld
-          target</codeph> command.</p> <p><codeph>abld clean</codeph> makes use of the <codeph>clean</codeph> targets provided in makefiles generated by <filepath>makmake</filepath>. </p> <p>The files that are removed by this command include all the intermediate files created during compilation and all the executables and import libraries created by the linker.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-14B2BA6D-EB1D-527C-BBA5-27097D47F5E1_d0e231842_href.png has changed
Binary file Symbian3/PDK/Source/GUID-14B2BA6D-EB1D-527C-BBA5-27097D47F5E1_d0e237837_href.png has changed
Binary file Symbian3/PDK/Source/GUID-14B9B9FB-E7E4-5C28-9821-52EE40B2658B_d0e231164_href.png has changed
Binary file Symbian3/PDK/Source/GUID-14B9B9FB-E7E4-5C28-9821-52EE40B2658B_d0e237159_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15591211-58D3-56B6-868F-D34C30ED7A7A_d0e218436_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15591211-58D3-56B6-868F-D34C30ED7A7A_d0e224456_href.png has changed
Binary file Symbian3/PDK/Source/GUID-155C5B39-CB9B-5405-B9BB-EB34CA7C43BC_d0e553988_href.png has changed
Binary file Symbian3/PDK/Source/GUID-155C5B39-CB9B-5405-B9BB-EB34CA7C43BC_d0e561444_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15CAB5AF-CAA5-5D1B-9236-7874BF944484_d0e547506_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15CAB5AF-CAA5-5D1B-9236-7874BF944484_d0e554962_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15D5E0D3-B643-5C72-A3D4-03E2480890EF_d0e19121_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15D5E0D3-B643-5C72-A3D4-03E2480890EF_d0e21088_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e140088_href.png has changed
Binary file Symbian3/PDK/Source/GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e142337_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1635E243-BDC9-55D8-8913-0D2DB622B22C_d0e233865_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1635E243-BDC9-55D8-8913-0D2DB622B22C_d0e239855_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-16406797-20EA-5469-B036-0B46B6162385.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-16406797-20EA-5469-B036-0B46B6162385" xml:lang="en"><title>Software Transaction
+Support</title><shortdesc>Software Transaction Support (STS) provides transaction support
+to ensure that the file system remains secure in the event of a software installation
+failure.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -105,9 +105,9 @@
 <postreq id="GUID-DFC44549-2B7B-5D4F-9686-7E7BEA7E430A"><p>This tutorial only
 covers the configuration of the general demand paging parameters. To see how
 to make individual executables pageable see (<xref href="GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita#GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68/GUID-9A892A74-0823-57D7-A146-BC8E14508B99">the
-mmp configuration tutorial</xref>). </p> <p>The next step is to <xref href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-6-1-3-4.dita">build
+mmp configuration tutorial</xref>). </p> <p>The next step is to <xref href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita">build
 the writable data paging ROM</xref>  </p> </postreq>
 </taskbody><related-links>
-<link href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-6-1-3-4.dita"><linktext>Building
+<link href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita"><linktext>Building
 ROM tutorial</linktext></link>
 </related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-165EE4DD-C9CA-430B-8377-068A4194716E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-165EE4DD-C9CA-430B-8377-068A4194716E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -46,10 +46,10 @@
 <stepresult><p>The following illustrations show how applications behave
 before and after the single-tap changes are made:</p><fig id="GUID-7015C5AD-8162-4185-801C-BEF4352B9837">
 <title>Double-tap enabled: By default, UI component is highlighted.</title>
-<image href="GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e4943_href.png" placement="inline"/>
+<image href="GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e4934_href.png" placement="inline"/>
 </fig><fig id="GUID-12C4AB22-ACF7-4A43-B322-ABB39B5653DC">
 <title>Single-tap enabled: By default, no UI component is highlighted.</title>
-<image href="GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e4950_href.png" placement="inline"/>
+<image href="GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e4941_href.png" placement="inline"/>
 </fig></stepresult>
 </step>
 <step id="GUID-CCF099FE-76F5-49AC-99A7-E834A07FD628"><cmd>Hide item-specific
Binary file Symbian3/PDK/Source/GUID-166BB47B-3E5A-56C6-8FBE-0D71924C11DF_d0e449994_href.png has changed
Binary file Symbian3/PDK/Source/GUID-166BB47B-3E5A-56C6-8FBE-0D71924C11DF_d0e455839_href.png has changed
--- a/Symbian3/PDK/Source/GUID-16781448-75CB-5C11-B9E6-288BA3C0B43E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-16781448-75CB-5C11-B9E6-288BA3C0B43E"><title>staticlibrary</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>staticibrary</codeph>  <varname>filename-list</varname> </p> <p>Use the <codeph>staticlibrary</codeph> statement to specify static libraries.</p> <p>The <codeph>staticibrary</codeph> statement may specify any number of files, and there may be many <codeph>library</codeph> statements. Specify the entire filename, e.g. <filepath>euser.lib</filepath>.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-16794D4F-23D7-5A96-B363-E25A3DD75C45.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-16794D4F-23D7-5A96-B363-E25A3DD75C45.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-16794D4F-23D7-5A96-B363-E25A3DD75C45"><title>Location Monitor Overview</title><shortdesc>The Location Monitor is responsible for storing position fixes calculated by the LBS subsystem. It provides the stored fixes to LBS components that request them. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Location Monitor monitors internal communications between LBS components and with the network in order to maintain its database of stored position fixes. Whenever the Location Monitor obtains a position fix it adds it to the database, together with the Global Cell ID received from the network. </p> <p>When the Location Monitor receives a request for location information, it uses the current network Global Cell ID to search the database for the closest stored position. </p> <p>If the database search is successful the Location Monitor returns the stored position with an indication of its accuracy, based on the current information received from the network. A stored position's accuracy can be estimated to be at the country level (least accurate), down to street level in urban areas (most accurate). </p> <p>If the database search is unsuccessful the Location Monitor simply returns the most recently stored position. </p> </section> <section><title>Required background</title> <p>A knowledge of the material covered in the following is useful to understanding how this component fits into the LBS architecture: </p> <ul><li id="GUID-D7EAF921-5D72-533E-B08F-69FE32FDA50D"><p><xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS Architecture Overview</xref>  </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <p>The Location Monitor uses the Global Cell ID broadcast by the network. </p> <p>The Global Cell ID is made up of four values: </p> <dl><dlentry><dt>MCC</dt> <dd><p>Mobile Country Code. A unique three digit number used to identify a country. </p> </dd> </dlentry> <dlentry><dt>MNC</dt> <dd><p>Mobile Network Code. A unique three digit number used to identify a mobile phone operator. </p> </dd> </dlentry> <dlentry><dt>LAC</dt> <dd><p>Location Area Code. A unique number used to identify a group of cells within a cellular network. </p> </dd> </dlentry> <dlentry><dt>CID</dt> <dd><p>Cell ID. The unique number used to identify an individual cell within a cellular network. </p> </dd> </dlentry> </dl> <p>A Location Monitor client can get these values from the Location Monitor, or a simple single value that is an estimate of the stored position accuracy. </p> </section> <section><title>Architecture</title> <p>The Location Monitor is a server with a client interface. Currently the Location Monitior does not have a published API. </p> <p>Client applications use the Location Monitor indirectly via the Location Server (<codeph>eposserver.exe</codeph>). Figure 1 shows the Location Monitor architecture. </p> <fig id="GUID-C080410E-38C6-5E1E-BC1A-4E9B0D208507"><title>
              Figure 1. Location Monitor architecture 
-          </title> <image href="GUID-5384FBBC-0171-5AD2-8CDA-23548DF99DCE_d0e449052_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Location Monitor does not have a published API at this time. It has an internal API which is used by other LBS components. </p> </section> <section><title>Typical uses</title> <p>Client applications use the Location Monitor indirectly through the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>An Location Acquisition API client calls <xref href="GUID-51157D56-2848-300C-8B1E-A26E7EA6AF20.dita"><apiname>RPositioner::GetLastKnownPositionArea()</apiname></xref> to get a stored position with an accuracy estimate. The Location Server delegates this function call to the Location Monitor. </p> </section> </conbody><related-links><link href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita"><linktext>How to Get Location
+          </title> <image href="GUID-5384FBBC-0171-5AD2-8CDA-23548DF99DCE_d0e454897_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Location Monitor does not have a published API at this time. It has an internal API which is used by other LBS components. </p> </section> <section><title>Typical uses</title> <p>Client applications use the Location Monitor indirectly through the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>An Location Acquisition API client calls <xref href="GUID-51157D56-2848-300C-8B1E-A26E7EA6AF20.dita"><apiname>RPositioner::GetLastKnownPositionArea()</apiname></xref> to get a stored position with an accuracy estimate. The Location Server delegates this function call to the Location Monitor. </p> </section> </conbody><related-links><link href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita"><linktext>How to Get Location
                 Information</linktext> </link> <link href="GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA.dita"><linktext>Position Area Data
                 Classes</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1686AFA7-F0FA-5B3D-9E2F-EE2D7CDC338B_d0e161014_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1686AFA7-F0FA-5B3D-9E2F-EE2D7CDC338B_d0e167115_href.png has changed
--- a/Symbian3/PDK/Source/GUID-16950F22-F5DE-4D52-8414-544105BA3200.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-16950F22-F5DE-4D52-8414-544105BA3200.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 and as pop-ups.</p>
 <fig id="GUID-5CC170B7-72AA-422E-8C44-AFB135C596D6">
 <title>Hierarchical list component</title>
-<image href="GUID-9955D228-75CE-45B3-9714-AF635D04E553_d0e84573_href.png" placement="inline"/>
+<image href="GUID-9955D228-75CE-45B3-9714-AF635D04E553_d0e88771_href.png" placement="inline"/>
 </fig>
 <p>Owing to the need for horizontal scrolling, it is not possible to use tabs
 in the Navi pane. Typically the hierarchical list component is capable of
--- a/Symbian3/PDK/Source/GUID-16A1C613-288D-471C-8551-51B61290E28F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-16A1C613-288D-471C-8551-51B61290E28F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,184 +1,188 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-16A1C613-288D-471C-8551-51B61290E28F" xml:lang="en"><title>Application
-Start-Up Time Optimization</title><shortdesc>It is important that phone users do not have to wait long for applications
-to start. This document summarizes the techniques for optimizing application
-start-up time.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-4585EAA0-4169-4C5C-A7AD-AAA7FDA529C6">       <title>Introduction</title> 
-     <p>The techniques discussed in this document are limited in scope to
-application programming. In other words, they do not require modification
-of any core OS components or servers. Some of the techniques are general good
-practice and are useful to developers at all levels. </p>     <p>The techniques
-can be summarized as follows:</p><ul>
-<li><p>Avoid causing unnecessary code to be executed as an effect of your
-code.</p></li>
-<li><p>Defer construction of objects, loading of dynamic libraries (for example,
-the application model), and starting servers until you need to use them.</p></li>
-<li><p>Write efficient code!</p></li>
-</ul><note>There is an inevitable trade-off between shortening the start-up
-time and introducing latency elsewhere in the application. For example, if
-you don’t connect to a server at start-up, you will have to do it later on,
-when the application needs to use the server. This may be overcome by a central
-component that coordinates background connections, or construction, such as
-the view server.</note></section>
-<section id="GUID-818EB735-F408-47D9-9759-A180766996B4"><title>Measure start-up
-time before you start optimizing</title><p>Do not assume you know which methods
-take the most time. Pay close attention to iterative and recursive operations.
-Many useful tools and techniques are available to help identify poorly performing
-code:</p><ul>
-<li><p>Software analysis tools, for instance <xref href="http://www.glowcode.com.dita">GlowCode</xref> and
-MetroWerks <xref href="http://www.metrowerks.com/MW/Develop/AMC/CodeTEST/default.htm.dita">CodeTEST</xref></p></li>
-<li><p>The Symbian profiling tool, profiler.exe, which is supplied on DevKits </p></li>
-<li><p>The RDebug class provides some profiling functions </p></li>
-<li><p>The TTime class can be used to time blocks of code, but beware of context
-switches, otherwise you may end up timing other threads!</p></li>
-<li><p>Deliberately slowing down suspect blocks of code can reveal whether
-or not optimizing it would bring a significant performance improvement. </p></li>
-</ul></section>
-<section id="GUID-594EC7CB-3477-4D0F-B489-8C1A42ED0789"><title>Defer construction
-of the application model and other data members</title><p>Many applications
-instantiate their components, for instance error handlers, dialogs and menus,
-during start-up. In turn, each of these components may instantiate other components,
-for instance menu resources and icons. This can bring some benefits, for instance
-reducing application complexity, revealing memory allocation problems at start-up
-rather than after the application has been running for some time and improving
-the runtime performance of the application. However, to minimize application
-start-up time, it is recommended to avoid this behavior. Your goal should
-be to only do what is immediately necessary during start-up. </p></section>
-<section id="GUID-F7BE9B30-1993-4736-9E88-F0E065BE1A3C"><title>Draw the application
-as quickly as possible</title><p>During application start-up, only construct
-UI components that appear in the application’s initial view. This applies
-especially to the application's implementations of <codeph>CXxxApplication::CreateDocumentL()</codeph>, <codeph>CXxxDocument::ConstructL()</codeph> and <codeph>CXxxDocument::CreateAppUiL()</codeph>, all of which are called
-before <codeph>CXxxAppUi::ConstructL()</codeph>. Do not read bitmaps, resources,
-or any other data associated with the UI from files unless it is necessary.</p><p>In <codeph>CXxxAppUi::ConstructL()</codeph>,
-make sure <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-C79D0B6F-C2D7-3F22-A62B-88762092E869"><apiname>CCoeControl::ActivateL()</apiname></xref> and <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> are
-called on all controls that must be drawn when the application is launched.
-Also ensure that the client-side window server command buffer is flushed by
-calling <codeph>Flush()</codeph> on the application's window server session.
-This ensures that there aren't any drawing commands left in the client-side
-buffer, after <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> has completed. </p></section>
-<section id="GUID-B320F7A3-C0E3-4A3D-8B45-AEFEDFBAAD2E"><title>Minimize the
-number of bitmaps used by GUI components</title><p>Often, when a large number
-of small images are required by an application, the overhead associated with
-loading each bitmap outweighs any benefit associated with their size. Some
-possible ways to avoid this are: </p><ul>
-<li><p>use text instead, </p></li>
-<li><p>for very simple graphics, draw directly using drawing primitives rather
-than loading a bitmap,  </p></li>
-<li><p>concatenate many small bitmaps into one large bitmap file to reduce
-the need to search for and load multiple files.</p></li>
-</ul></section>
-<section id="GUID-F00BA3FF-D9BD-44DF-A284-BAF5701179D8"><title>Reduce the
-number of redraws</title><p>Some GUI components redraw themselves every time
-their data changes. This may not always be necessary. Complicated GUI components
-should implement their<codeph>Draw()</codeph> method to only update the area
-of the screen that has changed. For example, there is no point in redrawing
-a whole list box every time a new item is appended to it. In such cases, a
-GUI API should allow you to switch off redrawing. Beware of GUI methods that
-cause the object they are called upon to redraw itself.</p><p>Use <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-9FB682AC-0209-302A-83F3-7BCB1162B998"><apiname>CCoeControl::DrawDeferred()</apiname></xref> in
-preference to <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> if possible, because
-excessive use of <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> can cause GUI flicker.
-For an explanation, see the documentation for <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-9FB682AC-0209-302A-83F3-7BCB1162B998"><apiname>CCoeControl::DrawDeferred()</apiname></xref>. </p></section>
-<section id="GUID-71443827-BF8D-4BD8-8136-5023B6D65204"><title>Use ROM-based
-bitmaps rather than filestore bitmaps</title><p>Uncompressed ROM-based bitmaps
-that can be used in place from ROM are approximately three times faster to
-use than filestore bitmaps. Using them can bring a significant reduction in
-application start-up time.</p><p>Specifying bitmap= instead of file= in the
-.OBY and .IBY files when building the ROM causes bitmaps to be uncompressed
-before inclusion in the ROM. Other bitmaps need to be uncompressed at runtime,
-which impacts performance.   </p><p>The drawback of such bitmaps is that they
-are large (up to 3 times larger than file based) and cannot be compressed,
-although decompressing bitmaps should probably be avoided during start-up
-anyway due to the extra processing required.   </p><p>If ROM space is limited,
-consider using such ROM-based bitmaps only if they are displayed during application
-start-up. </p></section>
-<section id="GUID-5FFD3311-DF8D-4EB1-9C76-EB9F3D306655"><title>Color depth
-matching</title><p>When bitmaps are drawn to the screen, optimum performance
-is achieved by ensuring that:</p><codeph>Bitmap color depth = Window color
-depth = Screen device color depth </codeph><p>If this is the case, no palette
-mapping between the different color depths is needed. On real hardware, this
-optimization has been found to improve drawing speed by up to ten times. However,
-in order to match the screen and window color depth, bitmaps may need to increase
-in size and so this optimization is only possible if the increase in ROM or
-RAM usage is acceptable. </p></section>
-<section id="GUID-5E89E812-4B22-4B5C-A5E4-5FBE6619DC25"><title>Minimize access
-to the file system</title><p>The file server can be a major bottleneck during
-start-up when virtually all threads are searching for and loading data, libraries
-and plug-ins. Therefore reducing file access is one of the most effective
-ways to improve performance. </p></section>
-<section id="GUID-9218ABF0-4062-439A-A5E9-273D76D4B711"><title>Minimize the
-use of resource files</title><p>Resource files are used for localization and
-allow modifications to be made to an application without the need to rebuild
-it, but they are expensive to use because they require access to the file
-system. </p></section>
-<section id="GUID-C1CCFD4F-5C63-47C4-A312-38ACB5C16676"><title>Do not specify
-a default document filename for non document-based applications</title><p>Many
-applications on a smartphone do not need to use documents, for example Telephony,
-Contacts (this uses the contacts database), Browser and Messaging.   </p><p>By
-not specifying a default document filename, hundreds of milliseconds can potentially
-be saved from such applications' start-up time.   </p><p>If an application
-uses a document file, application start-up may involve the following steps: </p><ul>
-<li><p>reading the name of the last used document file from the application’s
-.ini file,</p></li>
-<li><p>opening the document file, or if one doesn't exist, creating a default
-document file, after reading its name from the application's resource file, </p></li>
-<li><p>writing the name of the last used file to the application’s .ini file
-(which is created if it doesn’t exist),  </p></li>
-<li><p>writing an entry to the most recently used file list (mru.dat), </p></li>
-<li><p>additional document-related processing within <xref href="GUID-96CA3B4B-993F-36C0-9A5B-DF5CC74EE20E.dita#GUID-96CA3B4B-993F-36C0-9A5B-DF5CC74EE20E/GUID-E2A40307-6EB6-3ABC-B97A-63B77F565CCF"><apiname>CEikonEnv::ConstructAppFromCommandLineL()</apiname></xref>. </p></li>
-</ul><p>The default document's name is read from the application's resource
-file by <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita#GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E/GUID-5D851D0B-6399-3BD8-ADB5-63AD48494D47"><apiname>CEikAppUi::ProcessCommandParametersL()</apiname></xref>. There are
-two ways of preventing the application from using a default document file: </p><ul>
-<li><p>Give the default document a NULL name in the resource file:</p><codeph>RESOURCE
-TBUF { buf=""; }</codeph></li>
-<li><p>Override <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita#GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E/GUID-5D851D0B-6399-3BD8-ADB5-63AD48494D47"><apiname>CEikAppUi::ProcessCommandParametersL()</apiname></xref> to
-zero the document name and return EFalse. This method is slightly more efficient
-because it avoids reading the default document name from the resource file
-altogether: </p><codeblock xml:space="preserve">TBool CMyAppUi::ProcessCommandParametersL(TApaCommand /*aCommand*/, TFileName&amp; aDocumentName, const TDesC8&amp; /*aTail*/){aDocumentName.Zero();return EFalse;}</codeblock></li>
-</ul></section>
-<section id="GUID-2DF939E2-C30C-4A84-90DC-92234BEB6AA0"><title>Drive scanning</title><p>This
-can be a cause of unnecessary file server use.   </p><p>To prevent excessive
-drive access and scanning, always specify a drive letter in file paths, if
-known. The omission of a drive letter will cause all available drives to be
-searched in the standard Symbian platform order, in which Z: is always searched
-last. </p></section>
-<section id="GUID-C555545B-977F-490D-A7A7-5B6D0D0AD889"><title>Only make server
-requests if you need to</title><p> Server requests involve context switching
-and may cause the server to run instead of the application. In the worse case
-if you make a request to a server that has not yet been started you may cause
-the server to start. This will involve creating a new thread
-(and possibly process) and running any server initialization code.</p></section>
-<section id="GUID-1E571A30-5D8A-4647-939E-EF79B033B88E"><title>Use asynchronous
-server requests instead of synchronous server requests</title><p> Synchronous
-operations or methods (particularly for server requests) can cause general
-application slowness, and in particular, a significant reduction in responsiveness.
-Synchronous requests to servers mean your thread is waiting, so that no start-up
-progress is being made.   </p><p>No 'Golden Rule' exists about when to avoid
-synchronous requests. However, if an asynchronous version of a method exists,
-it is a good indication that the synchronous method could potentially take
-some time. Whilst it may take a little extra effort to handle asynchronous
-versions of method calls, you should consider very carefully any decision
-to use the synchronous version. It’s often easier to change from using an
-asynchronous version to synchronous than vice versa.   </p><p>Note that in
-some situations, you might know that the server is implementing your asynchronous
-request synchronously. If this is the case, and the server runs with a higher
-priority than your application, then both versions of the API may have the
-same performance. However, using the synchronous version in this case has
-the drawback that it relies upon knowledge of the server's implementation,
-which could potentially change. </p></section>
-<section id="GUID-4C7697BD-2898-4E1E-AA88-41E9F3CE2603"><title>Do not repeatedly
-open and close connections to the same server</title><p> Opening a connection
-to a server is an expensive operation. If an application uses a server frequently
-then it should create one connection and leave it open until the application
-is destroyed. R classes declared as temporaries (on the stack, in other words)
-within a method may be a sign of this behavior. </p></section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-16A1C613-288D-471C-8551-51B61290E28F" xml:lang="en"><title>Application Start-Up Time Optimization</title><shortdesc>It is important that phone users do not have to wait long
+for applications to start. This document summarizes the techniques
+for optimizing application start-up time.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-4585EAA0-4169-4C5C-A7AD-AAA7FDA529C6">       <title>Introduction</title>       <p>The techniques discussed in this document
+are limited in scope to application programming. In other words, they
+do not require modification of any core OS components or servers.
+Some of the techniques are general good practice and are useful to
+developers at all levels. </p>     <p>The techniques can be summarized
+as follows:</p><ul>
+<li><p>Avoid causing unnecessary code to be executed as an effect
+of your code.</p></li>
+<li><p>Defer construction of objects, loading of dynamic libraries
+(for example, the application model), and starting servers until you
+need to use them.</p></li>
+<li><p>Write efficient code!</p></li>
+</ul><note>There is an inevitable trade-off between shortening the
+start-up time and introducing latency elsewhere in the application.
+For example, if you don’t connect to a server at start-up, you will
+have to do it later on, when the application needs to use the server.
+This may be overcome by a central component that coordinates background
+connections, or construction, such as the view server.</note></section>
+<section id="GUID-818EB735-F408-47D9-9759-A180766996B4"><title>Measure
+start-up time before you start optimizing</title><p>Do not assume
+you know which methods take the most time. Pay close attention to
+iterative and recursive operations. Many useful tools and techniques
+are available to help identify poorly performing code:</p><ul>
+<li><p>Software analysis tools, for instance <xref href="http://www.glowcode.com" scope="external">GlowCode</xref> and
+MetroWerks <xref format="html" href="http://www.metrowerks.com/MW/Develop/AMC/CodeTEST/default.htm" scope="external">CodeTEST</xref></p></li>
+<li><p>The Symbian profiling tool, profiler.exe, which is supplied
+on DevKits </p></li>
+<li><p>The RDebug class provides some profiling functions </p></li>
+<li><p>The TTime class can be used to time blocks of code, but beware
+of context switches, otherwise you may end up timing other threads!</p></li>
+<li><p>Deliberately slowing down suspect blocks of code can reveal
+whether or not optimizing it would bring a significant performance
+improvement. </p></li>
+</ul></section>
+<section id="GUID-594EC7CB-3477-4D0F-B489-8C1A42ED0789"><title>Defer
+construction of the application model and other data members</title><p>Many applications instantiate their components, for instance error
+handlers, dialogs and menus, during start-up. In turn, each of these
+components may instantiate other components, for instance menu resources
+and icons. This can bring some benefits, for instance reducing application
+complexity, revealing memory allocation problems at start-up rather
+than after the application has been running for some time and improving
+the runtime performance of the application. However, to minimize application
+start-up time, it is recommended to avoid this behavior. Your goal
+should be to only do what is immediately necessary during start-up. </p></section>
+<section id="GUID-F7BE9B30-1993-4736-9E88-F0E065BE1A3C"><title>Draw
+the application as quickly as possible</title><p>During application
+start-up, only construct UI components that appear in the application’s
+initial view. This applies especially to the application's implementations
+of <codeph>CXxxApplication::CreateDocumentL()</codeph>, <codeph>CXxxDocument::ConstructL()</codeph> and <codeph>CXxxDocument::CreateAppUiL()</codeph>, all of which
+are called before <codeph>CXxxAppUi::ConstructL()</codeph>. Do not
+read bitmaps, resources, or any other data associated with the UI
+from files unless it is necessary.</p><p>In <codeph>CXxxAppUi::ConstructL()</codeph>, make sure <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-C79D0B6F-C2D7-3F22-A62B-88762092E869"><apiname>CCoeControl::ActivateL()</apiname></xref> and <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> are called on all controls that
+must be drawn when the application is launched. Also ensure that the
+client-side window server command buffer is flushed by calling <codeph>Flush()</codeph> on the application's window server session. This
+ensures that there aren't any drawing commands left in the client-side
+buffer, after <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> has completed. </p></section>
+<section id="GUID-B320F7A3-C0E3-4A3D-8B45-AEFEDFBAAD2E"><title>Minimize
+the number of bitmaps used by GUI components</title><p>Often, when
+a large number of small images are required by an application, the
+overhead associated with loading each bitmap outweighs any benefit
+associated with their size. Some possible ways to avoid this are: </p><ul>
+<li><p>use text instead, </p></li>
+<li><p>for very simple graphics, draw directly using drawing primitives
+rather than loading a bitmap,  </p></li>
+<li><p>concatenate many small bitmaps into one large bitmap file to
+reduce the need to search for and load multiple files.</p></li>
+</ul></section>
+<section id="GUID-F00BA3FF-D9BD-44DF-A284-BAF5701179D8"><title>Reduce
+the number of redraws</title><p>Some GUI components redraw themselves
+every time their data changes. This may not always be necessary. Complicated
+GUI components should implement their<codeph>Draw()</codeph> method
+to only update the area of the screen that has changed. For example,
+there is no point in redrawing a whole list box every time a new item
+is appended to it. In such cases, a GUI API should allow you to switch
+off redrawing. Beware of GUI methods that cause the object they are
+called upon to redraw itself.</p><p>Use <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-9FB682AC-0209-302A-83F3-7BCB1162B998"><apiname>CCoeControl::DrawDeferred()</apiname></xref> in preference to <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> if possible,
+because excessive use of <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-D5458F8C-E199-37DD-B821-050B749122C6"><apiname>CCoeControl::DrawNow()</apiname></xref> can cause GUI flicker. For an explanation, see the documentation
+for <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-9FB682AC-0209-302A-83F3-7BCB1162B998"><apiname>CCoeControl::DrawDeferred()</apiname></xref>. </p></section>
+<section id="GUID-71443827-BF8D-4BD8-8136-5023B6D65204"><title>Use
+ROM-based bitmaps rather than filestore bitmaps</title><p>Uncompressed
+ROM-based bitmaps that can be used in place from ROM are approximately
+three times faster to use than filestore bitmaps. Using them can bring
+a significant reduction in application start-up time.</p><p>Specifying
+bitmap= instead of file= in the .OBY and .IBY files when building
+the ROM causes bitmaps to be uncompressed before inclusion in the
+ROM. Other bitmaps need to be uncompressed at runtime, which impacts
+performance.   </p><p>The drawback of such bitmaps is that they are
+large (up to 3 times larger than file based) and cannot be compressed,
+although decompressing bitmaps should probably be avoided during start-up
+anyway due to the extra processing required.   </p><p>If ROM space
+is limited, consider using such ROM-based bitmaps only if they are
+displayed during application start-up. </p></section>
+<section id="GUID-5FFD3311-DF8D-4EB1-9C76-EB9F3D306655"><title>Color
+depth matching</title><p>When bitmaps are drawn to the screen, optimum
+performance is achieved by ensuring that:</p><codeph>Bitmap color
+depth = Window color depth = Screen device color depth </codeph><p>If this is the case, no palette mapping between the different color
+depths is needed. On real hardware, this optimization has been found
+to improve drawing speed by up to ten times. However, in order to
+match the screen and window color depth, bitmaps may need to increase
+in size and so this optimization is only possible if the increase
+in ROM or RAM usage is acceptable. </p></section>
+<section id="GUID-5E89E812-4B22-4B5C-A5E4-5FBE6619DC25"><title>Minimize
+access to the file system</title><p>The file server can be a major
+bottleneck during start-up when virtually all threads are searching
+for and loading data, libraries and plug-ins. Therefore reducing file
+access is one of the most effective ways to improve performance. </p></section>
+<section id="GUID-9218ABF0-4062-439A-A5E9-273D76D4B711"><title>Minimize
+the use of resource files</title><p>Resource files are used for localization
+and allow modifications to be made to an application without the need
+to rebuild it, but they are expensive to use because they require
+access to the file system. </p></section>
+<section id="GUID-C1CCFD4F-5C63-47C4-A312-38ACB5C16676"><title>Do
+not specify a default document filename for non document-based applications</title><p>Many applications on a smartphone do not need to use documents,
+for example Telephony, Contacts (this uses the contacts database),
+Browser and Messaging.   </p><p>By not specifying a default document
+filename, hundreds of milliseconds can potentially be saved from such
+applications' start-up time.   </p><p>If an application uses a document
+file, application start-up may involve the following steps: </p><ul>
+<li><p>reading the name of the last used document file from the application’s
+.ini file,</p></li>
+<li><p>opening the document file, or if one doesn't exist, creating
+a default document file, after reading its name from the application's
+resource file, </p></li>
+<li><p>writing the name of the last used file to the application’s
+.ini file (which is created if it doesn’t exist),  </p></li>
+<li><p>writing an entry to the most recently used file list (mru.dat), </p></li>
+<li><p>additional document-related processing within <xref href="GUID-96CA3B4B-993F-36C0-9A5B-DF5CC74EE20E.dita#GUID-96CA3B4B-993F-36C0-9A5B-DF5CC74EE20E/GUID-E2A40307-6EB6-3ABC-B97A-63B77F565CCF"><apiname>CEikonEnv::ConstructAppFromCommandLineL()</apiname></xref>. </p></li>
+</ul><p>The default document's name is read from the application's
+resource file by <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita#GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E/GUID-5D851D0B-6399-3BD8-ADB5-63AD48494D47"><apiname>CEikAppUi::ProcessCommandParametersL()</apiname></xref>. There are two ways of preventing the application from using a default
+document file: </p><ul>
+<li><p>Give the default document a NULL name in the resource file:</p><codeph>RESOURCE TBUF { buf=""; }</codeph></li>
+<li><p>Override <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita#GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E/GUID-5D851D0B-6399-3BD8-ADB5-63AD48494D47"><apiname>CEikAppUi::ProcessCommandParametersL()</apiname></xref> to zero the document name and return EFalse. This method is slightly
+more efficient because it avoids reading the default document name
+from the resource file altogether: </p><codeblock xml:space="preserve">TBool CMyAppUi::ProcessCommandParametersL(TApaCommand /*aCommand*/, TFileName&amp; aDocumentName, const TDesC8&amp; /*aTail*/){aDocumentName.Zero();return EFalse;}</codeblock></li>
+</ul></section>
+<section id="GUID-2DF939E2-C30C-4A84-90DC-92234BEB6AA0"><title>Drive
+scanning</title><p>This can be a cause of unnecessary file server
+use.   </p><p>To prevent excessive drive access and scanning, always
+specify a drive letter in file paths, if known. The omission of a
+drive letter will cause all available drives to be searched in the
+standard Symbian platform order, in which Z: is always searched last. </p></section>
+<section id="GUID-C555545B-977F-490D-A7A7-5B6D0D0AD889"><title>Only
+make server requests if you need to</title><p> Server requests involve
+context switching and may cause the server to run instead of the application.
+In the worse case if you make a request to a server that has not yet
+been started you may cause the server to start. This will involve
+creating a new thread (and possibly process) and running any server
+initialization code.</p></section>
+<section id="GUID-1E571A30-5D8A-4647-939E-EF79B033B88E"><title>Use
+asynchronous server requests instead of synchronous server requests</title><p> Synchronous operations or methods (particularly for server requests)
+can cause general application slowness, and in particular, a significant
+reduction in responsiveness. Synchronous requests to servers mean
+your thread is waiting, so that no start-up progress is being made.
+  </p><p>No 'Golden Rule' exists about when to avoid synchronous requests.
+However, if an asynchronous version of a method exists, it is a good
+indication that the synchronous method could potentially take some
+time. Whilst it may take a little extra effort to handle asynchronous
+versions of method calls, you should consider very carefully any decision
+to use the synchronous version. It’s often easier to change from using
+an asynchronous version to synchronous than vice versa.   </p><p>Note
+that in some situations, you might know that the server is implementing
+your asynchronous request synchronously. If this is the case, and
+the server runs with a higher priority than your application, then
+both versions of the API may have the same performance. However, using
+the synchronous version in this case has the drawback that it relies
+upon knowledge of the server's implementation, which could potentially
+change. </p></section>
+<section id="GUID-4C7697BD-2898-4E1E-AA88-41E9F3CE2603"><title>Do
+not repeatedly open and close connections to the same server</title><p> Opening a connection to a server is an expensive operation. If
+an application uses a server frequently then it should create one
+connection and leave it open until the application is destroyed. R
+classes declared as temporaries (on the stack, in other words) within
+a method may be a sign of this behavior. </p></section>
 </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-16AB388A-ED3E-4901-857D-834072437D25.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-16AB388A-ED3E-4901-857D-834072437D25" xml:lang="en"><title>Spin
+Locks</title><shortdesc>Spin locks allow resource execution control through fast lock context
+switching. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-9AE2107C-CEA2-453E-9E89-5F1075370F86"><title>Introduction</title><p>Spin
+locks are a type of lock mechanism. In a spin lock, the thread will simply
+wait in a loop checking for the resource to become available. It is the execution
+of the thread waiting in a loop ("spins"), that gives this lock mechanism
+its name. The thread will only come out of the loop once the resource is available.</p><p>When
+using a spin lock, the following should be noted :</p><ul>
+<li><p>Spin locks should only be used in environments where the waiting period
+will be short</p></li>
+<li><p>Spin locks are very wasteful, since the thread in question is always
+in the active state</p></li>
+<li><p>Spin locks can lock/unlock very quickly, since the thread never changes
+state</p></li>
+<li><p>For spin locks to work on the Symbian platform, the interrupts have
+to be disabled before use. This is due to the fact that spin locks do not
+protect against interrupts from occurring on the same CPU.</p></li>
+</ul><p>Because of these properties, spin locks are used in environments where
+the operation has to be fast and where the waiting times have to be short.
+For this reason, on the Symbian platform they are only used in kernel code.
+If a more efficient use of thread processing time is required, then a mutex
+should be used.</p><p>There are two types of spin lock:</p><ul>
+<li><p>spin locks and</p></li>
+<li><p>read write spin locks.</p></li>
+</ul><p>The difference between the two types of spin locks is that the read
+write spin locks have been optimised to allow multiple reading threads to
+acquire the lock simultaneously.</p>     </section>
+<section id="GUID-B99EB4FC-3845-4B04-928F-914EFCB879F5"><title>Required interrupt
+behaviour</title><p>When using spin locks, the following steps have to be
+carried out:</p><ol>
+<li id="GUID-B1271135-AC0F-4E19-9077-915B71E8618E"><p>disable the interrupts</p></li>
+<li id="GUID-0422F03D-D250-47C9-9255-49BEA54B9D54"><p>acquire the lock</p></li>
+<li id="GUID-593FDE3C-8509-4329-B258-009139095785"><p>enable the interrupts
+after the lock is released.</p></li>
+</ol><p>If the above steps have not been carried out, then a dead lock condition
+could occur.</p></section>
+<section id="GUID-5DBAD802-F902-4B5E-A190-40BC05313FEA"><title>The types of
+spin locks available</title><p>There are two types of spin locks on the Symbian
+platform. These are spin locks and read write spin locks. Read write spin
+locks are described in the next section.</p><p>There are two ways of implementing
+spin locks on the Symbian platform:</p><ul>
+<li><p>A Spin lock API and</p></li>
+<li><p>the use of spin lock macros.</p></li>
+</ul><p>The spin lock API should never be used directly, instead the macros
+should be used. This is due to:</p><ul>
+<li><p>The spin lock macros carry out the required interrupt enable/disable
+operations</p></li>
+<li><p>The spin lock macros provide compatibility between SMP and non-SMP
+builds.</p></li>
+</ul><p>The spin lock API is only for internal use and should never be used.
+For spin locks it is provided by the <xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref> class and
+is defined in <filepath>nkern.h</filepath>. It will not be discussed any further.</p><p>The
+spin lock macros available are :</p><table id="GUID-CF9670A1-AB07-4451-AB4F-20F44D8FC5F9">
+<tgroup cols="5"><colspec colname="col1" colwidth="0.96*"/><colspec colname="col2" colwidth="0.96*"/><colspec colname="col3" colwidth="0.97*"/><colspec colname="COLSPEC0" colwidth="0.97*"/><colspec colname="col4" colwidth="1.15*"/>
+<tbody>
+<row>
+<entry><p><b>Macro</b></p></entry>
+<entry><p><b>Parameter 1</b></p><p><b>Purpose and Data Type</b></p></entry>
+<entry><p><b>Parameter 2</b></p><p><b>Purpose and Data Type</b></p></entry>
+<entry><p><b>Return Value</b></p><p><b>Purpose and Data Type</b></p></entry>
+<entry><p><b>Operation</b></p></entry>
+</row>
+<row>
+<entry><p>__SPIN_LOCK_IRQSAVE(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>The original interrupt state.</p><xref href="GUID-7A2A43EC-6125-3BFE-834B-23C37F7B40D5.dita"><apiname>TInt</apiname></xref></entry>
+<entry><p>Disable interrupts and acquire the lock.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_UNLOCK_IRQRESTORE(lock,irq)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>The interrupt state</p><xref href="GUID-7A2A43EC-6125-3BFE-834B-23C37F7B40D5.dita"><apiname>TInt</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>Release the lock, then restore the interrupt state.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_FLASH_IRQRESTORE(lock,irq)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>The interrupt state.</p><xref href="GUID-7A2A43EC-6125-3BFE-834B-23C37F7B40D5.dita"><apiname>TInt</apiname></xref></entry>
+<entry><p>ETrue if the lock/unlock operation has occurred, otherwise EFalse.</p><xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref></entry>
+<entry><p>If another thread is waiting for the spin lock or there is an interrupt
+pending, then execute the __SPIN_UNLOCK_IRQRESTORE macro and then execute
+the __SPIN_LOCK_IRQ macro.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_LOCK(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>N/A</p></entry>
+<entry><p>Acquire the lock, assuming the interrupts and preemption have been
+disabled.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_UNLOCK(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>N/A</p></entry>
+<entry><p>Release the lock without changing the interrupt and preemption states.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_FLASH_PREEMPT(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>ETrue if the lock/unlock operation has occurred, otherwise EFalse.</p><xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref></entry>
+<entry><p>If another thread is waiting for the lock, then execute (after the
+unlock <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-C9314237-B43B-34E0-9108-E8861196022E"><apiname>NKern::PreemptionPoint</apiname></xref> has been called) the __SPIN_UNLOCK
+macro and then the __SPIN_LOCK macro.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_LOCK_IRQ(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>N/A</p></entry>
+<entry><p>Disable interrupts and acquire the lock.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_UNLOCK_IRQ(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>N/A</p></entry>
+<entry><p>Release the lock, then enable the interrupts.</p></entry>
+</row>
+<row>
+<entry><p>__SPIN_FLASH_IRQ(lock)</p></entry>
+<entry><p>The spin lock order.</p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref></entry>
+<entry><p>N/A</p></entry>
+<entry><p>ETrue if the lock/unlock operation has occurred, otherwise EFalse.</p><xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref></entry>
+<entry><p>If another thread is waiting for the spin lock or if there is an
+interrupt pending, then execute the __SPIN_UNLOCK_IRQ macro and then execute
+the __SPIN_LOCK_IRQ macro.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p>The spin lock order parameter is used to provide a priority of
+the spin lock. The spin lock order parameter allows spin locks to be nested
+and to guard against deadlocks.</p><p>The list of acceptable spin lock order
+values are defined in <filepath>nkern.h</filepath>.</p><p>Which spin lock
+macro should be used is shown in the following table :</p><table id="GUID-FD737DFA-85A9-4C8F-BE02-2CCB08096E65">
+<tgroup cols="4"><colspec colname="col1" colwidth="0.58*"/><colspec colname="col2" colwidth="0.84*"/><colspec colname="col3" colwidth="1.29*"/><colspec colname="col4" colwidth="1.29*"/>
+<tbody>
+<row>
+<entry><p><b>Is the spin lock to be used within an ISR ?</b></p></entry>
+<entry><p><b>The ISR State</b></p></entry>
+<entry><p><b>Other Circumstances to Consider</b></p></entry>
+<entry><p><b>The Spin Lock Macros to Use</b></p></entry>
+</row>
+<row>
+<entry><p>Yes</p></entry>
+<entry><p>Unknown</p></entry>
+<entry><p>None</p></entry>
+<entry><p>__SPIN_LOCK_IRQSAVE(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_UNLOCK_IRQRESTORE(lock,irq)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_FLASH_IRQRESTORE(lock,irq)</p></entry>
+</row>
+<row>
+<entry><p>N/A</p></entry>
+<entry><p>The interrupts have already been disabled.</p></entry>
+<entry><p>None</p></entry>
+<entry><p>__SPIN_LOCK(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_UNLOCK(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_FLASH_IRQRESTORE(lock,irq)</p></entry>
+</row>
+<row>
+<entry><p>No</p></entry>
+<entry><p>N/A</p></entry>
+<entry><p>Code is within a pair of <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-61C8A02A-B7F9-3BF9-B677-6BF83C6972B0"><apiname>NKern::Lock</apiname></xref>/<xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-A1DA547A-B5C2-3951-9613-DC1D6A313C70"><apiname>NKern::Unlock</apiname></xref> statements.</p></entry>
+<entry><p>__SPIN_LOCK(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_UNLOCK(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_FLASH_PREEMPT(lock)</p></entry>
+</row>
+<row>
+<entry><p>Yes</p></entry>
+<entry><p>Known</p></entry>
+<entry><p>The interrupts must already be disabled.</p></entry>
+<entry><p>__SPIN_LOCK_IRQ(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_UNLOCK_IRQ(lock)</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+<entry/>
+<entry><p>__SPIN_FLASH_IRQ(lock)</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><note/><p>Only the above combinations of interrupt states and
+spin lock macros are allowed.</p><p>The spin lock macros __SPIN_LOCK_IRQSAVE
+and __SPIN_UNLOCK_IRQRESTORE would be used in almost all cases.</p></section>
+<section id="GUID-85F32921-FE0C-48EE-9B88-C45A76DC8481"><title>How to Use
+Spin Locks</title><p>An example of how to use the spin lock macros is :</p><codeblock xml:space="preserve">TInt irq = __SPIN_LOCK_IRQSAVE(EOrderThread);
+// some code...
+__SPIN_UNLOCK_IRQSTORE(EOrderThread,irq);</codeblock><p>The first line calls
+the macro to disable the interrupts and acquire the spin lock. This line returns
+the original interrupt state (stored in the variable irq).</p><p>The last
+line calls the macro to release the spin lock and then restore the IRQ to
+its original state.</p></section>
+<section id="GUID-66A13635-5DDD-40D3-B113-234D811ACBF2"><title>Read Write
+Spin Locks</title><p>This sub set of spin locks allows for the multiple reading
+threads to acquire the lock simultaneously. The operation of read write spin
+locks is :</p><table id="GUID-FB47DAFD-955C-4E3B-93B3-293CC54910FD">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<tbody>
+<row>
+<entry><p><b>Behaviour</b></p></entry>
+<entry><p><b>Required Conditions</b></p></entry>
+</row>
+<row>
+<entry><p>Acquire the lock for a read operation</p></entry>
+<entry><p>The lock is either free or is being held for reading</p></entry>
+</row>
+<row>
+<entry><p>Blocked for a read operation</p></entry>
+<entry><p>The lock is held for a write operation</p></entry>
+</row>
+<row>
+<entry><p>Acquire the lock for a write operation</p></entry>
+<entry><p>The lock is free</p></entry>
+</row>
+<row>
+<entry><p>Blocked for a write operation</p></entry>
+<entry><p>The lock is held for a read or a write operation</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p>The macros are the same name as for the spin locks, except :</p><table id="GUID-7FB86C27-DDC5-4AC3-982F-2736FBA9BAA8">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<tbody>
+<row>
+<entry><p><b>Operation</b></p></entry>
+<entry><p><b>Postfix</b></p></entry>
+</row>
+<row>
+<entry><p>read access</p></entry>
+<entry><p>_R</p></entry>
+</row>
+<row>
+<entry><p>write access</p></entry>
+<entry><p>_W</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p>An example of the use of read write spin lock macros are __SPIN_LOCK_IRQ_R(lock)
+and __SPIN_UNLOCK_IRQ_W(lock).</p><p>Read write spin locks are implemented
+by the <xref href="GUID-F8145088-041C-35E3-9AB2-AF151832ECC8.dita"><apiname>TRWSpinLock</apiname></xref> class. As with the <xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref> class,
+this class is for internal use only and will not be discussed any further.</p><p>An
+example of the use of read write spin locks is :</p><codeblock xml:space="preserve">
+__SPIN_LOCK_IRQ_R(EOrderThread);
+// some code...
+__SPIN_UNLOCK_IRQ_R(EOrderThread);</codeblock></section>
+</conbody><related-links>
+<link href="GUID-CE72E71B-6ED3-4961-B4C5-C43D823ACA9D.dita"><linktext>SMP Overview</linktext>
+</link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-16AED228-539F-4BF7-A7FD-9A01FF1A9A84.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-16AED228-539F-4BF7-A7FD-9A01FF1A9A84.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 good scaling on small numbers of processors.</p><fig id="GUID-D70A45BC-E281-403E-9D7F-519D990F0DAE">
 <title>Coarse-Grained Lock</title>
 <desc/>
-<image href="GUID-91BD4E81-4CDC-4279-8E19-5B79A63B838E_d0e16923_href.png" placement="inline"/>
+<image href="GUID-91BD4E81-4CDC-4279-8E19-5B79A63B838E_d0e17222_href.png" placement="inline"/>
 </fig><ul>
 <li><p><b>Fine-Grained Locks</b> enclose a small area of code for example
 a data structure. These locks are added to the code and the user must remember
@@ -49,7 +49,7 @@
 apply lock for each piece of code. Fine-grained locking can result in near
 perfect scaling.</p><fig id="GUID-97F40770-1B6C-435B-AFF0-3BA3AC66F7DA">
 <title>Fine-Grained Lock</title>
-<image href="GUID-2E3F9FBD-21FE-4F02-B410-F756012805D2_d0e16940_href.png" placement="inline"/>
+<image href="GUID-2E3F9FBD-21FE-4F02-B410-F756012805D2_d0e17239_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-94FDD42D-9D26-4A41-BFB6-57648083EC41"><title>Type of Locks</title><ul>
 <li><p><xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref> is the lightest weight lock available
Binary file Symbian3/PDK/Source/GUID-16B42854-F27D-5CB3-BCFE-8F711793EE60_d0e582704_href.png has changed
Binary file Symbian3/PDK/Source/GUID-16B42854-F27D-5CB3-BCFE-8F711793EE60_d0e603974_href.png has changed
Binary file Symbian3/PDK/Source/GUID-16C323DC-B43F-5621-B617-C31FBB25379B_d0e156178_href.png has changed
Binary file Symbian3/PDK/Source/GUID-16C323DC-B43F-5621-B617-C31FBB25379B_d0e600212_href.png has changed
--- a/Symbian3/PDK/Source/GUID-16D0854D-55EF-4E22-B7D2-72603699BC59.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-16D0854D-55EF-4E22-B7D2-72603699BC59.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 <title>Empty list: the primary font is used to inform about an empty list
 and provide the user with further information (used only in cases when genuinely
 useful additional information is available).</title>
-<image href="GUID-3A8755A9-139E-4845-9B52-13AEECF9EBBD_d0e80619_href.png" placement="inline"/>
+<image href="GUID-3A8755A9-139E-4845-9B52-13AEECF9EBBD_d0e84817_href.png" placement="inline"/>
 </fig>
 <p>Depending on the case, the text may be aligned to prompt the user to create
 the first item for an empty list.</p>
Binary file Symbian3/PDK/Source/GUID-16D6C3BB-45C0-5669-93FB-846386F586B4_d0e229998_href.png has changed
Binary file Symbian3/PDK/Source/GUID-16D6C3BB-45C0-5669-93FB-846386F586B4_d0e235993_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1704898B-7836-53C2-8743-F733836EDE7B_d0e547128_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1704898B-7836-53C2-8743-F733836EDE7B_d0e554584_href.png has changed
--- a/Symbian3/PDK/Source/GUID-170EDC68-77C7-4FD9-A81E-C9F75698F7A3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-170EDC68-77C7-4FD9-A81E-C9F75698F7A3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,11 +24,11 @@
 events.</p>
 <fig id="GUID-0300A264-1F48-4D4F-A3ED-18734983B36E">
 <title>Scalable UI implementation in control</title>
-<image href="GUID-BBDC3880-DFC3-42C0-913D-E90AB318E015_d0e65829_href.png" placement="inline"/>
+<image href="GUID-BBDC3880-DFC3-42C0-913D-E90AB318E015_d0e70052_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-39D4E25F-C4C3-4C19-BED0-42E06F63A0BD">
 <title>Scalable UI implementation in UI controller</title>
-<image href="GUID-5D831531-2430-4C61-B8C4-BEE9850387C2_d0e65837_href.png" placement="inline"/>
+<image href="GUID-5D831531-2430-4C61-B8C4-BEE9850387C2_d0e70060_href.png" placement="inline"/>
 </fig>
 <p>For further implementation information, see <xref href="GUID-DD15F24B-0786-4531-A6C5-A5E70EBE2732.dita">Handling
 layout change events</xref>.</p>
Binary file Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e90521_href.png has changed
Binary file Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e91991_href.png has changed
Binary file Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e94719_href.png has changed
Binary file Symbian3/PDK/Source/GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e96189_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1742B2A1-6EC1-5368-919B-362516A5D452_d0e577370_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1742B2A1-6EC1-5368-919B-362516A5D452_d0e594815_href.png has changed
--- a/Symbian3/PDK/Source/GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,39 +1,32 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4" xml:lang="en"><title>CreateStaticDLL
-and UseStaticDLL: using a statically linked DLL</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A88465CB-D776-49CD-AA0C-1BAD59D340B6"><title>Description</title> <p>The example shows how a class implemented
-in a statically linked DLL is used. The DLL is built by <filepath>CreateStaticDLL</filepath> and
-is used by <filepath>UseStaticDLL</filepath>. </p> </section>
-<section id="GUID-D201398C-0D5C-4DA5-BEE6-A85BFDDD16BE"><title>Download</title> <p>Click on the following link
-to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-2e2b4dbb-291f-428c-82bf-fe796b4f50f4.zip" scope="external">StaticDLL.zip</xref></p><p>Click on the following link to
-download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-2e2b4dbb-291f-428c-82bf-fe796b4f50f4.html" scope="peer"> browse StaticDLL</xref> to view the example code. </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse CommonFramework</xref>  to view additional files.</p> </section>
-<section id="GUID-98C5D73C-E983-4530-92E9-439E47B43162"><title>Build and Usage</title> <p>The example may be in the directory
-in which you installed the Symbian platform, or it may be in <filepath>src\common\developerlibrary\</filepath>.
-The example includes the project files needed for building: <filepath>bld.inf</filepath> and
-two <filepath>.mmp</filepath> files. </p> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian platform build process</xref> describes how to build Symbian programs.
-To run this example: </p> <ol id="GUID-C12016AA-4582-5812-BD1B-4D36A27679EB">
-<li id="GUID-9CC286FF-4935-5C53-A5D5-486A280E4437"><p>Build <filepath>CreateStaticDLL</filepath> project,
-which results in the following: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or                 udeb&gt;\CREATESTATICDLL.DLL</filepath>. </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or                 udeb&gt;\CREATESTATICDLL.lib</filepath>. </p> <p>They are
-needed by the <filepath>UseStaticDLL</filepath> project. </p> </li>
-<li id="GUID-BE21E3AF-9D89-5CC3-915E-1688BCC49866"><p>Build <filepath>UseStaticDLL</filepath>,
-which results in: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or                 udeb&gt;\USESTATICDLL.EXE</filepath>. </p> <p>This project
-use the DLL created in the previous steps. </p> </li>
-<li id="GUID-E857288D-77D6-58E5-971A-7FFF8B95E843"><p>Run the executable <filepath>USESTATICDLL.EXE</filepath>. </p> <p>Executables
-for the <filepath>winscw</filepath> target can be run on your PC. Executables
-for ARM targets must be copied to a phone before being run. </p> </li>
-</ol> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4" xml:lang="en"><title>CreateStaticDLL and UseStaticDLL: using a statically linked
+DLL</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-A88465CB-D776-49CD-AA0C-1BAD59D340B6"><title>Description</title> <p>The example shows how a class implemented in a statically linked
+DLL is used. The DLL is built by <filepath>CreateStaticDLL</filepath> and is used by <filepath>UseStaticDLL</filepath>. </p> </section>
+<section id="GUID-D201398C-0D5C-4DA5-BEE6-A85BFDDD16BE"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-2e2b4dbb-291f-428c-82bf-fe796b4f50f4.zip" scope="external">StaticDLL.zip</xref></p><p>Click on the following
+link to download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-2e2b4dbb-291f-428c-82bf-fe796b4f50f4.html" scope="peer"> browse StaticDLL</xref> to view the example code. </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse CommonFramework</xref>  to view additional files.</p> </section>
+<section id="GUID-98C5D73C-E983-4530-92E9-439E47B43162"><title>Build
+and Usage</title> <p>The example may be in the directory in which
+you installed the Symbian platform, or it may be in <filepath>src\common\developerlibrary\</filepath>. The example includes the project files needed for building: <filepath>bld.inf</filepath> and two <filepath>.mmp</filepath> files. </p> <p> The Symbian platform build process describes how to build Symbian
+programs. To run this example: </p> <ol id="GUID-C12016AA-4582-5812-BD1B-4D36A27679EB">
+<li id="GUID-9CC286FF-4935-5C53-A5D5-486A280E4437"><p>Build <filepath>CreateStaticDLL</filepath> project, which results in the following: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel or          
+      udeb&gt;\CREATESTATICDLL.DLL</filepath>. </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or                 udeb&gt;\CREATESTATICDLL.lib</filepath>. </p> <p>They
+are needed by the <filepath>UseStaticDLL</filepath> project. </p> </li>
+<li id="GUID-BE21E3AF-9D89-5CC3-915E-1688BCC49866"><p>Build <filepath>UseStaticDLL</filepath>, which results in: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or                 udeb&gt;\USESTATICDLL.EXE</filepath>. </p> <p>This
+project use the DLL created in the previous steps. </p> </li>
+<li id="GUID-E857288D-77D6-58E5-971A-7FFF8B95E843"><p>Run the executable <filepath>USESTATICDLL.EXE</filepath>. </p> <p>Executables for the <filepath>winscw</filepath> target can be run on your PC. Executables for ARM
+targets must be copied to a phone before being run. </p> </li>
+</ol> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-17798BAC-F887-515F-B90E-CAAE81D8530F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-17798BAC-F887-515F-B90E-CAAE81D8530F"><title>Trace Terminologies</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic lists the various trace terminologies that are changed or added in UTF 2.0. </p> <section id="GUID-8AA6AFDC-6E86-56A8-8DD8-71F06590E62F"><title>ModuleUid</title> <p>The secondary filter in UTF 1.0 is replaced with ModuleUid in UTF 2.0. </p> <p>Every trace packet is assigned a default value <codeph>0</codeph> to ModuleUid by its originating trace point to indicate the code module in which the trace point is defined. You are recommended to override the default value ModuleUid by adding the macro <codeph>MACRO
-          EXECUTABLE_DEFAULT_MODULEUID=0xuid3</codeph> to your <filepath>MMP</filepath> file. </p> <p>A common value for the ModuleUid is the UID3 of the associated binary file. In some cases, it is not suitable to use the UID3 as a ModuleUid. For example, you may not need to trace across the entire component, if it is very big. In such cases, you can obtain a unique ModuleUid from <codeph>SymbianSigned</codeph> and assign to a particular use case or set a ModuleUid for each instance of <codeph>TTraceContext</codeph> without setting a default value for the component. </p> <p>For details about SymbianSigned, see <xref scope="external" href="https://www.symbiansigned.com">https://www.symbiansigned.com</xref>. </p> <p> <b>Note</b>: A ModuleUid must not be used for trace points in more than one compiled binary file. </p> </section> <section id="GUID-B8F5C3DB-6C9D-514E-8B4E-DC6B994789B9"><title>Classification</title> <p>The primary filter in UTF 1.0 is replaced with Classification in UTF 2.0. </p> <p>Every trace packet is assigned a classification by its originating trace point. This is a label that indicates the intended use of the trace points or trace packets. </p> <p>The classification can reflect a system-wide tracing use-case, such as indicating why a Panic occurred. It can also be assigned to trace packets from performance critical software, such as the kernel or other key services. </p> <p> <b>Note</b>: The ModuleUid and Classification attributes of a trace point are independent. </p> </section> <section id="GUID-FEE8132A-0BF4-5D25-AF12-D5B7CF2071A3"><title>FormatId</title> <p>The 1-byte schema in UTF 1.0 is replaced with 2-byte FormatId. </p> <p>FormatId is a numerical value assigned to a trace point which is used on the host PC to look up the format of the associated trace packets. </p> <p>The meaning of a FormatId is specific to the ModuleUid of the associated trace packet. For example, the FormatId <codeph>1</codeph> can be interpreted on the host PC as “<codeph>RProcess::Create returned %d</codeph> ” for the ModuleUid <codeph>130e0751</codeph> but can be interpreted as “<codeph>Something
-          odd happened: %s</codeph> ” for the ModuleUid <codeph>1000015c</codeph>. </p> <p> <b>Note</b>: A trace point with no FormatId (using a <codeph>Printf</codeph> call instead of a Trace call) indicates that the trace packet contains text and needs no further formatting. </p> </section> <section id="GUID-2AC3D214-D959-523C-9F9D-784A463FE6E0"><title>Trace Point Context</title> <p>The trace point context is newly added in UTF 2.0. It includes information describing the circumstances of a trace point. The trace point context data is used to include certain data in the trace packet generated at run-time. </p> <p>The context of a trace point can include information such as source code line, source file and binary file. It can be used to map trace information to the source. </p> <p> <b>Note</b>: A trace point context can be re-used by several trace points. </p> </section> <section><title>UTF Namespace</title> <p>The UTF namespace is newly added in UTF 2.0. It contains a set of libraries providing the trace point, trace filter, storage, buffer management and transport APIs required on the device for tracing to be performed. </p> </section> </conbody><related-links><link href="GUID-B95D96F5-6EA0-596C-BA06-F0703D3FCDFF.dita"><linktext>Trace Record Frame Format</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-178E140F-BB15-5A82-99A6-D1BC0E11E018.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-178E140F-BB15-5A82-99A6-D1BC0E11E018.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 defined in <filepath>...\kernel\kernel.h</filepath>, which is exported to <filepath>epoc32\include\kernel</filepath>. </p>
 <fig id="GUID-230AECE3-5006-543A-9F4F-088C62E14E6D">
 <title>Message threads and queues</title>
-<image href="GUID-D8A3C18B-A107-5557-B882-CD6CDD0F0F1D_d0e303284_href.png" placement="inline"/>
+<image href="GUID-D8A3C18B-A107-5557-B882-CD6CDD0F0F1D_d0e309276_href.png" placement="inline"/>
 </fig>
 <p> <xref href="GUID-CAAD5B87-CEE7-30E8-BA6A-08F9407C4C20.dita"><apiname>SDblQueLink</apiname></xref> is simply an object that allows a message
 to be linked to another in the form of a doubly-linked list. </p>
@@ -43,7 +43,7 @@
 and the message queues: </p>
 <fig id="GUID-2D1F4468-5208-51F1-9E48-B5E9DC44B6B2">
 <title>Relationship between messages and message queues</title>
-<image href="GUID-DA7751A1-4EC5-5FBA-A42B-E254133A1D82_d0e303330_href.png" placement="inline"/>
+<image href="GUID-DA7751A1-4EC5-5FBA-A42B-E254133A1D82_d0e309322_href.png" placement="inline"/>
 </fig>
 <p>When a message is sent to the queue, either: </p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5"><title>Network PSY Overview</title><shortdesc>This document describes the Network PSY, which connects the Location Server (<codeph>eposserver.exe</codeph>) to the Network Location Manager. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Network PSY connects the Location Server (<codeph>eposserver.exe</codeph>) to the Network Location Manager. It allows the Location Server to use the network to obtain cell-based position fixes. The PSY does not interface directly with the network. You must install a Network Protocol Module to use the Network PSY. </p> <p>This document is for device creators. </p> </section> <section><title>Required background</title> <p>This document assumes a knowledge of the material covered in the following: </p> <ul><li id="GUID-06CE28F8-A54D-5D72-92F5-2B8BC32373C1"><p><xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS Architecture Overview</xref>  </p> </li> <li id="GUID-7BEF2FE9-48A3-5B79-BDA7-543F38F18FCD"><p><xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref>  </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>PSY</dt> <dd><p>A Positioning Plug-in. The Network PSY implements the Positioning Plug-in API to interface with the Location Server. It uses the Positioning Plug-in Information API (central repository key/value pairs) to register itself with the LBS subsystem. </p> </dd> </dlentry> <dlentry><dt>Network Protocol Module</dt> <dd><p>An ECom plug-in loaded by the Network Gateway. A Network Protocol Module connects the LBS subsystem to a network via the ETel or ESock communication stacks. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>Figure 1 shows the Network PSY with associated LBS components. </p> <fig id="GUID-0CC6BDFE-4DDB-5F72-B233-6B239E311D96"><title>
              Figure 1. Network PSY with components on which it depends. 
-          </title> <image href="GUID-E8E32DC5-EABC-5125-8EDA-718CF434E01C_d0e467635_href.png" placement="inline"/></fig> <p>The Network PSY implements the Positioning Plug-in API. The PSY does not interface directly with the network. It connects with the network via the Network Location Manager and a Network Protocol Module. To use the Network PSY, you must install a Network Protocol Module. </p> <p>The Network PSY is packaged in the library <filepath>lbsnetpsy.dll</filepath>. This DLL contains one ECom plug-in implementation of the PSY interface. </p> <p>If you include the Network PSY in your LBS ROM using the LBS <codeph>buildrom</codeph> macros, a file containing the central repository keys and values for the PSY is also included. The keys and values in the file register the PSY with the Location Server. The keys in the file are defined by the Positioning Plug-in Information API. </p> <p>The Network PSY appears as a normal PSY to the Location Server and is selected by Location Acquisition API client applications by UID, or by the Default PSY. </p> <p>See <xref href="GUID-6FE3CBB5-869E-5F45-B74D-E2C86BD3746B.dita">Network PSY Tutorial</xref> for an explanation of how to configure the PSY. </p> </section> <section><title>APIs</title> <p>The Network PSY implements the Positioning Plug-in API to integrate with the LBS subsystem. The code distribution for this PSY includes a central repository initialisation file that contains key/value pairs specified by the Positioning Plug-in Information API. </p> <p>The Network PSY does not provide any APIs. </p> </section> <section><title>Typical uses</title> <p>The Network PSY is used by the LBS Location Server <codeph>eposserver.exe</codeph> to obtain position fixes using cell-based positioning. The Network Gateway and Network Protocol Module are responsible for interfacing with a communication stack to obtain the position. </p> </section> </conbody><related-links><link href="GUID-A2721B54-9B0A-572E-A695-22058F627639.dita"><linktext>Network PSY
+          </title> <image href="GUID-E8E32DC5-EABC-5125-8EDA-718CF434E01C_d0e473480_href.png" placement="inline"/></fig> <p>The Network PSY implements the Positioning Plug-in API. The PSY does not interface directly with the network. It connects with the network via the Network Location Manager and a Network Protocol Module. To use the Network PSY, you must install a Network Protocol Module. </p> <p>The Network PSY is packaged in the library <filepath>lbsnetpsy.dll</filepath>. This DLL contains one ECom plug-in implementation of the PSY interface. </p> <p>If you include the Network PSY in your LBS ROM using the LBS <codeph>buildrom</codeph> macros, a file containing the central repository keys and values for the PSY is also included. The keys and values in the file register the PSY with the Location Server. The keys in the file are defined by the Positioning Plug-in Information API. </p> <p>The Network PSY appears as a normal PSY to the Location Server and is selected by Location Acquisition API client applications by UID, or by the Default PSY. </p> <p>See <xref href="GUID-6FE3CBB5-869E-5F45-B74D-E2C86BD3746B.dita">Network PSY Tutorial</xref> for an explanation of how to configure the PSY. </p> </section> <section><title>APIs</title> <p>The Network PSY implements the Positioning Plug-in API to integrate with the LBS subsystem. The code distribution for this PSY includes a central repository initialisation file that contains key/value pairs specified by the Positioning Plug-in Information API. </p> <p>The Network PSY does not provide any APIs. </p> </section> <section><title>Typical uses</title> <p>The Network PSY is used by the LBS Location Server <codeph>eposserver.exe</codeph> to obtain position fixes using cell-based positioning. The Network Gateway and Network Protocol Module are responsible for interfacing with a communication stack to obtain the position. </p> </section> </conbody><related-links><link href="GUID-A2721B54-9B0A-572E-A695-22058F627639.dita"><linktext>Network PSY
                 Tutorial</linktext> </link> <link href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita"><linktext>LBS Architecture Overview</linktext> </link> <link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>LBS
                 Integration and Configuration Guide</linktext> </link> <link href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita"><linktext>Positioning
                 Plug-in API (PSY API)</linktext> </link> <link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
--- a/Symbian3/PDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,98 +1,88 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-17C64C2F-9426-4B41-9F0A-23060289D644" xml:lang="en">
-<title>Mu<?Pub Caret?>ltiple touch</title>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>Multiple touch is an enhancement to the touch screen, which provides
-the user with the ability to apply elaborate finger gestures onto
-the display as commands to the device.</p>
-<p>Multiple touch is implemented based on the size and type of interfaces.
-When a finger or an object touches the display causing the light to
-scatter, the reflection is caught by the sensors. The response for
-the touch is sent back based on the type of reflection measured.</p>
-<p>Only the devices with multiple touch support have 'Pinch Stroke'
-as a touch stroke.</p>
-<section id="GUID-7AECBBDD-8583-4555-A2F3-83404CBC64C1"><title>Pinch
-Stroke</title>Pinch stroke is invoked by two separate but simultaneously
-active touch down events and dragging movements along the line that
-goes through both touch down points. On release, the pinch in or pinch
-out state is maintained. Pinch stroke can be utilized, for example,
-in Photo viewer to zoom in and zoom out.<fig
-id="GUID-93C93C51-1F0D-4ADE-8FEC-3223B9C9F60B"><image
-href="GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e98725_href.png"
-placement="inline"></image></fig><p>The following table lists the
-default touch-events for pinch-stroke:</p><table
-id="GUID-D5917E40-42B1-461B-8722-C7AD66482078-GENID-1-12-1-7-1-1-6-2-1-5-1-1-6-1-2-4-4">
-<title>Default touch events for pinch-stroke</title>
-<tgroup cols="3"><colspec colname="col1" colwidth="0.68*"/><colspec
-colname="col2" colwidth="1.00*"/><colspec colname="col3" colwidth="1.32*"/>
-<thead>
-<row>
-<entry valign="top"><p>User action</p></entry>
-<entry valign="top"><p>State change</p></entry>
-<entry valign="top"><p>Feedback</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>First touch down</p></entry>
-<entry><p>No action.</p></entry>
-<entry><p>Tactile: <ul>
-<li><p>First touch down tactile feedback follows the context-based
-feedback. </p></li>
-<li><p>Audio feedback is provided with touch down.</p></li>
-</ul></p></entry>
-</row>
-<row>
-<entry><p>Second simultaneous touch down</p></entry>
-<entry><p>Activates multiple touch mode for the content defined.</p
-></entry>
-<entry><p>Tactile: <ul>
-<li><p>When second finger is touched down, two sensitive pulses effect
-is provided.</p></li>
-<li><p>Audio feedback is provided with touch down.</p></li>
-</ul></p></entry>
-</row>
-<row>
-<entry><p>Pinch in</p></entry>
-<entry><p>Moving the touch points (directly) closer to each other
-is recognized as pinch in. Application can use it, for example, for
-zooming out a picture. The behavior should be in relation to the speed
-and size of the stroke.</p></entry>
-<entry><p>Tactile: Smooth pinch effect is provided while moving the
-fingers. </p><p>No audio feedback is provided.</p></entry>
-</row>
-<row>
-<entry><p>Pinch out</p></entry>
-<entry><p>Moving the touch points (directly) away from each other
-is recognized as pinch out. Application can use it, for example, for
-zooming in a picture. The behavior should be in relation to the speed
-and size of the stroke.</p></entry>
-<entry><p>Tactile: Smooth pinch effect is provided while moving the
-fingers. </p><p>No audio feedback is provided.</p></entry>
-</row>
-<row>
-<entry><p>Touch release</p></entry>
-<entry><p>Releasing one or both fingers stops the pinch.</p></entry>
-<entry><p>No tactile or audio feedback given.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></section>
-<section id="GUID-C9D46D3B-B1D0-45C7-8A9F-FCF82653D78F"><title>Using
-multiple touch in applications</title>For multiple touch, use classes <xref
-href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
-></xref> and <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"
-><apiname>TAdvancedPointerEvent</apiname></xref> (which extends <xref
-href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
-></xref>). For more information, see <xref
-href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced pointers</xref
-> section.</section>
-</conbody>
-</concept>
-<?Pub *0000004277?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-17C64C2F-9426-4B41-9F0A-23060289D644" xml:lang="en"><title>Multiple touch</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Multiple touch is an enhancement to the touch screen, which provides
+the user with the ability to apply elaborate finger gestures onto
+the display as commands to the device.</p>
+<p>Multiple touch is implemented based on the size and type of interfaces.
+When a finger or an object touches the display causing the light to
+scatter, the reflection is caught by the sensors. The response for
+the touch is sent back based on the type of reflection measured.</p>
+<p>Only the devices with multiple touch support have 'Pinch Stroke'
+as a touch stroke.</p>
+<section id="GUID-7AECBBDD-8583-4555-A2F3-83404CBC64C1"><title>Pinch
+Stroke</title>Pinch stroke is invoked by two separate but simultaneously
+active touch down events and dragging movements along the line that
+goes through both touch down points. On release, the pinch in or pinch
+out state is maintained. Pinch stroke can be utilized, for example,
+in Photo viewer to zoom in and zoom out.<fig id="GUID-93C93C51-1F0D-4ADE-8FEC-3223B9C9F60B">
+<image href="GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e102803_href.png" placement="inline"/>
+</fig><p>The following table lists the default touch-events for pinch-stroke:</p><table id="GUID-D5917E40-42B1-461B-8722-C7AD66482078-GENID-1-12-1-7-1-1-6-2-1-5-1-1-6-1-2-4-4"><title>Default
+touch events for pinch-stroke</title>
+<tgroup cols="3"><colspec colname="col1" colwidth="0.68*"/><colspec colname="col2" colwidth="1.00*"/><colspec colname="col3" colwidth="1.32*"/>
+<thead>
+<row>
+<entry valign="top"><p>User action</p></entry>
+<entry valign="top"><p>State change</p></entry>
+<entry valign="top"><p>Feedback</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>First touch down</p></entry>
+<entry><p>No action.</p></entry>
+<entry><p>Tactile: <ul>
+<li><p>First touch down tactile feedback follows the context-based
+feedback. </p></li>
+<li><p>Audio feedback is provided with touch down.</p></li>
+</ul></p></entry>
+</row>
+<row>
+<entry><p>Second simultaneous touch down</p></entry>
+<entry><p>Activates multiple touch mode for the content
+defined.</p></entry>
+<entry><p>Tactile: <ul>
+<li><p>When second finger is touched down multiple touch recognition,
+two sensitive pulses effect is provided.</p></li>
+<li><p>Audio feedback is provided with touch down.</p></li>
+</ul></p></entry>
+</row>
+<row>
+<entry><p>Pinch in</p></entry>
+<entry><p>Moving the touch points (directly) closer to each other
+is recognized as pinch in. Application can use it, for example, for
+zooming out a picture. The behavior should be in relation to the speed
+and size of the stroke.</p></entry>
+<entry><p>Tactile: Smooth pinch effect is provided while moving the
+fingers. </p><p>No audio feedback is provided.</p></entry>
+</row>
+<row>
+<entry><p>Pinch out</p></entry>
+<entry><p>Moving the touch points (directly) away from each other
+is recognized as pinch out. Application can use it, for example, for
+zooming in a picture. The behavior should be in relation to the speed
+and size of the stroke.</p></entry>
+<entry><p>Tactile: Smooth pinch effect is provided while moving the
+fingers. </p><p>No audio feedback is provided.</p></entry>
+</row>
+<row>
+<entry><p>Touch release</p></entry>
+<entry><p>Releasing one or both fingers stops the pinch.</p></entry>
+<entry><p>No tactile or audio feedback given.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></section>
+<section id="GUID-C9D46D3B-B1D0-45C7-8A9F-FCF82653D78F"><title>Using
+multiple touch in applications</title>For multiple touch, use classes <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> and <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> (which
+extends <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref>). For more information, see <xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced pointers</xref> section.</section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-17D1489B-F7F7-5CA7-9F81-850AA9ACEFEB_d0e546792_href.png has changed
Binary file Symbian3/PDK/Source/GUID-17D1489B-F7F7-5CA7-9F81-850AA9ACEFEB_d0e554248_href.png has changed
--- a/Symbian3/PDK/Source/GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -48,7 +48,7 @@
 Framework to tag the messages with the correct BIO ID. </p> <p>The following
 figure illustrates the BIO Messaging Framework architecture: </p> <fig id="GUID-2CEE40B9-2559-5CF3-B98F-2472F6B4D35D">
 <title>              BIO Messaging Framework architecture            </title>
-<image href="GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e488909_href.png" placement="inline"/>
+<image href="GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e494730_href.png" placement="inline"/>
 </fig> <p id="GUID-38031091-ED66-51CF-A025-85C7CEEC3D7D"><b>BIO database</b> </p> <p>The
 BIO database is used to identify the type of BIO messages. It maps message
 attributes, such as port number, MIME type, or leading string to a BIO type.
Binary file Symbian3/PDK/Source/GUID-182326EB-E818-4146-82D9-494D59E430B8-master.png has changed
Binary file Symbian3/PDK/Source/GUID-182326EB-E818-4146-82D9-494D59E430B8_d0e105087_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1" xml:lang="en"><title>Example code</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1" xml:lang="en"><title>Example code</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-18358882-A4DD-5010-BED7-4ACAE021495D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-18358882-A4DD-5010-BED7-4ACAE021495D" xml:lang="en"><title>Example code</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e653899_href.png has changed
Binary file Symbian3/PDK/Source/GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e666726_href.png has changed
Binary file Symbian3/PDK/Source/GUID-18547A2C-7425-5478-8235-EC6D3848B404_d0e278520_href.png has changed
Binary file Symbian3/PDK/Source/GUID-18547A2C-7425-5478-8235-EC6D3848B404_d0e284520_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1879BEEB-9945-55F4-817E-8D6117055B1D"><title>nocompresstarget</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>nocompresstarget</codeph> </p> <p>Use the <codeph>nocompresstarget</codeph> statement to specify that the target executable should not be compressed (see <xref href="GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita">compresstarget</xref> for details of the compression option).</p> <p>If neither <codeph>nocompresstarget</codeph> nor <codeph>compresstarget</codeph> is specified, then the default for the platform is selected.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-188F9462-F805-522A-84FF-770EAB045504.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-188F9462-F805-522A-84FF-770EAB045504" xml:lang="en"><title>An
-example registration file and icon/caption file</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Introduction</title> <p>This document describes two methods
-of defining application registration information. In both cases, a minimal
-example registration file called <filepath>HelloWorld_reg.rss</filepath> is
-used. In the first method, the icon/caption information is defined in its
-own file. In the second, it is defined in the application's UI resource file.
-The registration file is largely the same in both cases. </p> </section>
-<section><title>Registration file with an icon/caption definition file</title> <p><b>The
-registration file </b> </p> <p>A registration file is a resource file that
-is compiled by the resource compiler in the standard way, by including lines
-like the following in the application's mmp file: </p> <codeblock id="GUID-CA21DAF9-C789-54D3-B768-212F03EB8EAB" xml:space="preserve">START RESOURCE    HelloWorld_reg.rss
-TARGETPATH        \private\10003a3f\apps
-END</codeblock> <p>This will cause <filepath>HelloWorld_reg.rss</filepath> to
-be compiled, creating <filepath>HelloWorld_reg.rsc</filepath>. On the Symbian
-emulator, all registration files should be located in <filepath>\private\10003a3f\apps</filepath>.
-This is also true on real hardware for registration files built into the ROM.
-For applications installed onto a phone using the standard software installation
-method, their registration files should be installed into <filepath>\private\10003a3f\import\apps</filepath>.
-In all cases, the registration file must be located on the same drive as the
-application. </p> <p>A minimal registration file looks like this: </p> <codeblock id="GUID-386B4305-538A-58B7-9908-34104EE20814" xml:space="preserve">#include &lt;appinfo.rh&gt;
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10004299 // application UID
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "HelloWorld";
-    localisable_resource_file = "\\resource\\apps\\HelloWorld_loc";
- }</codeblock> <p>All registration files must define <codeph>UID2</codeph>,
-which is always <codeph>KUidAppRegistrationResourceFile</codeph>, and <codeph>UID3</codeph>,
-which is the application's UID, and an <codeph>APP_REGISTRATION_INFO</codeph> resource
-that minimally needs to provide the name of the application binary (using
-the <codeph>app_file</codeph> statement). All registration files need to <codeph>#include</codeph>  <filepath>appinfo.rh</filepath>. </p> <p>If
-a localisable icon/caption definition file is provided, as in this example,
-its full path and filename must be specified, excluding the drive letter and
-file extension. </p> <p><b>The localisable icon/caption definition
-file </b> </p> <p>This file defines the application's captions and the name
-of the icon file. It is built to the <filepath>\resource\apps\</filepath> directory
-on the same drive as the registration file; this applies both on the Symbian
-emulator and target phone. By convention it has the same filename as the application,
-but with a <filepath>_loc</filepath> suffix. </p> <p>It is a standard localisable
-Symbian resource file, so it is compiled by the resource compiler by including
-lines like the following in the application's mmp file: </p> <codeblock id="GUID-FB3180D0-086E-5B3B-BC73-51BA723512D6" xml:space="preserve">start resource    HelloWorld_loc.rss
-targetpath        \resource\apps
-lang            01 02
-end</codeblock> <p>These lines cause two versions of the file to be compiled,
-called <filepath>HelloWorld_loc.r01</filepath> and <filepath>HelloWorld_loc.r02</filepath>. <filepath>HelloWorld_loc.rss</filepath> looks
-like this: </p> <codeblock id="GUID-BFADC6C8-6D06-50A6-BB0E-CCE40C7D12D0" xml:space="preserve">#include &lt;appinfo.rh&gt;
-#ifdef LANGUAGE_01
-#include "HelloWorld01.rls"
-#elif defined LANGUAGE_02
-#include "HelloWorld02.rls"
-#endif
-RESOURCE LOCALISABLE_APP_INFO
-    {
-    short_caption = STRING_r_short_caption;
-    caption_and_icon =
-        {
-        CAPTION_AND_ICON_INFO
-            {
-            caption = STRING_r_caption;
-            number_of_icons = 3; // each icon must be a bitmap/mask pair
-            icon_file = STRING_r_icon_file;
-            }
-        };                            
-    }</codeblock> <p>Unlike most resource files, because there is only one
-resource defined in the file, it does not need to include a four character <codeph>NAME</codeph> or
-an <codeph>RSS_SIGNATURE</codeph> resource, and the <codeph>LOCALISABLE_APP_INFO</codeph> resource
-does not need an ID. </p> <p>The captions and the icon filename are referred
-to by symbolic identifiers rather than by the strings themselves. The strings
-are defined in <filepath>.rls</filepath> files (resource localisable string
-files), as shown below and conditional compilation statements are used to
-include the appropriate <filepath>.rls</filepath> file. For more information,
-on localising strings in resource files, see <xref href="GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita">How
-to localise resources</xref>. </p> <p> <filepath>HelloWorld01.rls</filepath> contains: </p> <codeblock id="GUID-CC264837-CE3D-514A-A35A-032CE6F040C1" xml:space="preserve">rls_string STRING_r_short_caption "Hello"
-rls_string STRING_r_caption "Hello World"
-rls_string STRING_r_icon_file "z:\\resource\\apps\\Hello.mbm"</codeblock> <p> <filepath>HelloWorld02.rls</filepath> contains: </p> <codeblock id="GUID-941FDCF8-FAE9-5E3B-A5AA-FC85A6D6B9FA" xml:space="preserve">rls_string STRING_r_short_caption "Bonjour"
-rls_string STRING_r_caption "Bonjour tout le monde"
-rls_string STRING_r_icon_file "z:\\resource\\apps\\Bonjour.mbm"</codeblock> <p>The
-mbm icon files are built by adding <xref href="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita">start
-bitmap</xref> statements to the mmp file, for instance: </p> <codeblock id="GUID-B73430EF-510C-583E-B721-E82BB4BE1784" xml:space="preserve">START BITMAP    Hello.mbm
-TARGETPATH        \Resource\Apps
-SOURCE            c8,1 icon24.bmp icon24m.bmp icon32.bmp icon32m.bmp icon48.bmp icon48m.bmp
-END</codeblock> </section>
-<section><title>Registration file without an icon/caption definition file</title> <p>As
-an alternative to defining the icon/caption information in an icon/caption
-definition file, it can be defined in the application's existing UI resource
-definition file. In this case, the <codeph>LOCALISABLE_APP_INFO</codeph> resource
-must be given an ID, because it is no longer the only resource defined in
-the file. The registration file is as before, except that it must now specify
-the ID of the <codeph>LOCALISABLE_APP_INFO</codeph> resource as well as the
-name and location of the UI resource file. In other words, the line: </p> <codeblock id="GUID-08AEB128-25E5-52DA-AD3E-C8733BA660A1" xml:space="preserve">localisable_resource_file = "\\resource\\apps\\HelloWorld_loc";</codeblock> <p>needs
-to be changed to: </p> <codeblock id="GUID-3EE8477E-4FB1-51F9-AF42-42107FFA6933" xml:space="preserve">localisable_resource_file = "\\resource\\apps\\HelloWorld";
-localisable_resource_id = R_LAI;</codeblock> <p>where <codeph>R_LAI</codeph> is
-the ID of the <codeph>LOCALISABLE_APP_INFO</codeph> resource. Because the
-registration file needs to give the resource ID, it must <codeph>#include</codeph> the
-application's generated resource header file, <filepath>HelloWorld.rsg</filepath>.
-Also, the UI resource file needs to <codeph>#include</codeph>  <filepath>AppInfo.rh</filepath> for
-the <codeph>LOCALISABLE_APP_INFO</codeph> definition. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -76,7 +76,7 @@
 registered clients as soon as the data becomes available. </p> <p>The API
 is split into five classes to separate control flow and data flow methods. </p> <fig id="GUID-699CB340-3DBB-50F5-8555-D4E2609BDECC">
 <title>              MBca2 design            </title>
-<image href="GUID-0B45D491-F88A-5036-A51C-9BFD6DB574D5_d0e63250_href.png" placement="inline"/>
+<image href="GUID-0B45D491-F88A-5036-A51C-9BFD6DB574D5_d0e67481_href.png" placement="inline"/>
 </fig> <p>Moreover, the <xref href="GUID-55442FD0-FD97-3FA3-A61A-C1288C4D5670.dita"><apiname>MBca2</apiname></xref> interface
 relies on shared buffers instead of regular buffers. Using shared buffers
 avoids data copies between different layers of the stack. For more information,
@@ -142,15 +142,15 @@
 concepts and terms</xref> section. </p> <fig id="GUID-4B18CDAD-FDF3-5AF2-8B7C-85DC77C3E5FE">
 <title>              Use case for BCA: IP communication through the serial
 port            </title>
-<image href="GUID-0F5C8DA1-EF91-588B-A917-350793DA03A5_d0e63448_href.png" placement="inline"/>
+<image href="GUID-0F5C8DA1-EF91-588B-A917-350793DA03A5_d0e67679_href.png" placement="inline"/>
 </fig> <fig id="GUID-1297D10A-59C2-5C15-877D-7CF94B667878">
 <title>              Use case for BCA: PPP communication through the serial
 port            </title>
-<image href="GUID-760222AA-59F0-58E6-A494-F9CB6D739960_d0e63456_href.png" placement="inline"/>
+<image href="GUID-760222AA-59F0-58E6-A494-F9CB6D739960_d0e67687_href.png" placement="inline"/>
 </fig> <fig id="GUID-4A636F57-AF70-5646-A957-4B4F4AD5EA70">
 <title>              Use case for BCA: PPP communication over Ethernet   
         </title>
-<image href="GUID-96F5CB06-F1C2-5F37-B5B8-DA8C086B73AA_d0e63464_href.png" placement="inline"/>
+<image href="GUID-96F5CB06-F1C2-5F37-B5B8-DA8C086B73AA_d0e67695_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-E054E7F6-3918-5F76-8489-D5CFC9EE257A.dita"><linktext>BCA2 Control
Binary file Symbian3/PDK/Source/GUID-18D2E6CC-ED84-5A6F-B25D-7693432A2E58_d0e230532_href.png has changed
Binary file Symbian3/PDK/Source/GUID-18D2E6CC-ED84-5A6F-B25D-7693432A2E58_d0e236527_href.png has changed
--- a/Symbian3/PDK/Source/GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2"><title>Recording Video Data</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to record video data. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to use the video recorder to control video recording. </p> <p><b>Required Background</b> </p> <p>The <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref> introduces the video client utilities. </p> <p><b>Introduction</b> </p> <p>The video recorder utility is used to record video clips to files, descriptors or URLs and manipulate embedded meta data. This functionality is implemented by the <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita"><apiname>CVideoRecorderUtility</apiname></xref> class. </p> <p>The sequence diagram below explains the different functionalities of the video recorder utility: </p> <fig id="GUID-ADEA2E56-8601-55C2-9887-C35B366C3C87"><title>
                 Video recorder sequence diagram 
-             </title> <image href="GUID-C5DDFD3F-7778-56D6-A10B-741959206C5F_d0e522374_href.png" placement="inline"/></fig> </section> <section><title>Using Video Recording </title> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-120128C4-C7E9-5DD6-84CA-7798CCE7AB01"><p><xref href="GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2.dita#GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2/GUID-5378C592-9E29-554C-A4CB-90A9D8210239"> Record Video Data</xref>  </p> </li> </ul> <p id="GUID-5378C592-9E29-554C-A4CB-90A9D8210239"><b>Basic Procedure</b> </p> <p>The high level steps to record video data are shown here: </p> <ol id="GUID-B0CCE7C7-7428-5198-A5AD-BDB45D73D19D"><li id="GUID-5A3C0168-F27E-5136-B1EC-635827F51A80"><p>If you are using an audio clip, the recording gain must be set using the <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita#GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D/GUID-411D9EF8-93AA-3BC6-85CF-38BFF142D379"><apiname>CVideoRecorderUtility::SetGainL()</apiname></xref> function before recording because the initial gain is undefined or may also have been modified by another client application. </p> </li> <li id="GUID-93560BD5-6FAD-5939-9C7B-9FBE5E22F4F8"><p>The specific functions to record and perform related tasks are as follows: </p> <ul><li id="GUID-A2E04F54-BE9C-5AC8-A2C3-A8421E03E829"><p>To start recording video data to the specified file, descriptor or URL, use the <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita#GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D/GUID-0336E439-275D-3766-9840-37F4C8218F5A"><apiname>CVideoRecorderUtility::Record()</apiname></xref> function. </p> <codeblock id="GUID-A5C5F5F6-5137-5742-ADF6-E99DC00A9FCC" xml:space="preserve">void CRecordVideo::Record()
+             </title> <image href="GUID-C5DDFD3F-7778-56D6-A10B-741959206C5F_d0e529834_href.png" placement="inline"/></fig> </section> <section><title>Using Video Recording </title> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-120128C4-C7E9-5DD6-84CA-7798CCE7AB01"><p><xref href="GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2.dita#GUID-18D7228F-A1E5-594A-B654-EF5D74CE17D2/GUID-5378C592-9E29-554C-A4CB-90A9D8210239"> Record Video Data</xref>  </p> </li> </ul> <p id="GUID-5378C592-9E29-554C-A4CB-90A9D8210239"><b>Basic Procedure</b> </p> <p>The high level steps to record video data are shown here: </p> <ol id="GUID-B0CCE7C7-7428-5198-A5AD-BDB45D73D19D"><li id="GUID-5A3C0168-F27E-5136-B1EC-635827F51A80"><p>If you are using an audio clip, the recording gain must be set using the <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita#GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D/GUID-411D9EF8-93AA-3BC6-85CF-38BFF142D379"><apiname>CVideoRecorderUtility::SetGainL()</apiname></xref> function before recording because the initial gain is undefined or may also have been modified by another client application. </p> </li> <li id="GUID-93560BD5-6FAD-5939-9C7B-9FBE5E22F4F8"><p>The specific functions to record and perform related tasks are as follows: </p> <ul><li id="GUID-A2E04F54-BE9C-5AC8-A2C3-A8421E03E829"><p>To start recording video data to the specified file, descriptor or URL, use the <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita#GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D/GUID-0336E439-275D-3766-9840-37F4C8218F5A"><apiname>CVideoRecorderUtility::Record()</apiname></xref> function. </p> <codeblock id="GUID-A5C5F5F6-5137-5742-ADF6-E99DC00A9FCC" xml:space="preserve">void CRecordVideo::Record()
     {
     iVideoRecordUtility-&gt;Record();
     }</codeblock> </li> <li id="GUID-1B3162D7-A0A6-5556-B81B-21BE3AB21F1C"><p>To pause recording, use the <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita#GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D/GUID-394D2DB5-7545-390B-8CB8-C321EA897298"><apiname>CVideoRecorderUtility::PauseL()</apiname></xref> function. The position within the video clip is maintained in case a subsequent <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita#GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D/GUID-0336E439-275D-3766-9840-37F4C8218F5A"><apiname>CVideoRecorderUtility::Record()</apiname></xref> is called. </p> <codeblock id="GUID-1D3CFFBF-8040-534A-B878-AAE2F29A70EC" xml:space="preserve">void CRecordVideo::PauseL()
--- a/Symbian3/PDK/Source/GUID-18D92465-3F62-55CF-8229-EE811FD5F568.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-18D92465-3F62-55CF-8229-EE811FD5F568.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-18D92465-3F62-55CF-8229-EE811FD5F568"><title>Stream networks</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>When a store stream is created, a stream ID is generated. This ID can be used to open the stream later. Stream IDs can be externalised into another stream, and this allows streams in a store to be built into a network.</p> <p>An object that is saved to a store may use a network of streams, typically starting with a single head stream.</p> <p>An object stores itself using a function of the form:</p> <codeblock id="GUID-A150BE2B-BCC6-52DC-BEB4-826FDDB28C09" xml:space="preserve">streamId=object.StoreL(store);</codeblock> <p>Given the correct stream ID, the object may be restored using a function of the form:</p> <codeblock id="GUID-2F6D9176-0ED8-5696-9FF8-D347084B9CFB" xml:space="preserve">object.RestoreL(store,streamId)</codeblock> <p>where <codeph>store</codeph> is a reference or pointer to a store.</p> <p>The function names <codeph>StoreL()</codeph> and <codeph>RestoreL()</codeph> are conventional for this purpose.</p> <p>The following diagram shows the idea of stream networks:</p> <fig id="GUID-970A4AE3-62C2-5BFD-990D-96D76735049A"><image href="GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e583262_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-18D92465-3F62-55CF-8229-EE811FD5F568"><title>Stream networks</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>When a store stream is created, a stream ID is generated. This ID can be used to open the stream later. Stream IDs can be externalised into another stream, and this allows streams in a store to be built into a network.</p> <p>An object that is saved to a store may use a network of streams, typically starting with a single head stream.</p> <p>An object stores itself using a function of the form:</p> <codeblock id="GUID-A150BE2B-BCC6-52DC-BEB4-826FDDB28C09" xml:space="preserve">streamId=object.StoreL(store);</codeblock> <p>Given the correct stream ID, the object may be restored using a function of the form:</p> <codeblock id="GUID-2F6D9176-0ED8-5696-9FF8-D347084B9CFB" xml:space="preserve">object.RestoreL(store,streamId)</codeblock> <p>where <codeph>store</codeph> is a reference or pointer to a store.</p> <p>The function names <codeph>StoreL()</codeph> and <codeph>RestoreL()</codeph> are conventional for this purpose.</p> <p>The following diagram shows the idea of stream networks:</p> <fig id="GUID-970A4AE3-62C2-5BFD-990D-96D76735049A"><image href="GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e632550_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1910C54E-44E0-4D36-820A-BCD5FFCDA719.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1910C54E-44E0-4D36-820A-BCD5FFCDA719.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,12 +21,12 @@
    </prereq>
 <context id="GUID-829B7AE0-8480-45AE-A611-BDE659FF01B9">       <p>To migrate
 from STLport v4 to v5, perform the following steps:</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-5-1-4-1-9-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-5-1-4-1-9-1-3-3-1"><cmd/>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-5-1-4-1-9-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-5-1-4-1-9-1-3-3-1"><cmd/>
 <info><p>Replace the <codeph>LIBRARY</codeph> entry in the <filepath>.MMP</filepath> file
 from <filepath>libstdcpp.lib</filepath> to <filepath>libstdcppv5.lib</filepath>.</p></info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-5-1-4-1-9-1-3-3-2"><cmd/>
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-5-1-4-1-9-1-3-3-2"><cmd/>
 <info><p>Replace the <codeph>SYSTEMINCLUDE</codeph> path in the <filepath>.MMP</filepath> file
 from <filepath>\epoc32\include\stdapis\stlport</filepath> to <filepath>\epoc32\include\stdapis\stlportv5</filepath>.</p></info>
 </step>
Binary file Symbian3/PDK/Source/GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e654514_href.png has changed
Binary file Symbian3/PDK/Source/GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e667341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-192C7AC8-DCBD-5AA8-984A-35D9602C0ADB_d0e471517_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-192C7AC8-DCBD-5AA8-984A-35D9602C0ADB_d0e477353_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-1944C350-900E-5621-BF43-6A366844E9DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1944C350-900E-5621-BF43-6A366844E9DD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,40 +9,32 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1944C350-900E-5621-BF43-6A366844E9DD" xml:lang="en"><title>MenuApp:
-An Application with a Menu</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a13df6fa-ad69-40b4-8923-11dbd4775915.zip" scope="external">MenuApp.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a13df6fa-ad69-40b4-8923-11dbd4775915.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section><title>Description</title> <p>This example builds on the <xref href="GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita">minimal</xref> UI
-application by adding a menu bar and menu pane. The menu bar is defined in
-a resource file, and the menu pane is populated dynamically in the app UI's <codeph>DynInitMenuPaneL()</codeph> function.
-The menu pane contains a list of all applications present on the device. If
-a menu item is selected by the user, the corresponding application is launched. </p> <p>The
-menu application displays a list of applications on the menu pane: </p> <fig id="GUID-B2DD173E-A5FE-5DF3-9750-491E0A18A2B6">
-<image href="GUID-2183F898-48C2-53A3-ADA0-1132EF7D4380_d0e170520_href.png" placement="inline"/>
+<concept id="GUID-1944C350-900E-5621-BF43-6A366844E9DD" xml:lang="en"><title>MenuApp: An Application with a Menu</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-4DA645E1-7FBA-4777-BF59-87B54A04E539"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a13df6fa-ad69-40b4-8923-11dbd4775915.zip" scope="external">MenuApp.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a13df6fa-ad69-40b4-8923-11dbd4775915.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-B412BBB6-7A38-451F-8501-4BB4B017B790"><title>Description</title> <p>This example builds on the <xref href="GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita">minimal</xref> UI
+application by adding a menu bar and menu pane. The menu bar is defined
+in a resource file, and the menu pane is populated dynamically in
+the app UI's <codeph>DynInitMenuPaneL()</codeph> function. The menu
+pane contains a list of all applications present on the device. If
+a menu item is selected by the user, the corresponding application
+is launched. </p> <p>The menu application displays a list of applications
+on the menu pane: </p> <fig id="GUID-B2DD173E-A5FE-5DF3-9750-491E0A18A2B6">
+<image href="GUID-2183F898-48C2-53A3-ADA0-1132EF7D4380_d0e176594_href.png" placement="inline"/>
 </fig> </section>
-<section><title>Class Summary</title><p><xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref></p><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p><p><xref href="GUID-F6168582-DFF1-31DF-87F9-FF2AEC5EE0FF.dita"><apiname>CEikMenuPane</apiname></xref></p></section>
-<section><title>Application list</title> <p>To create the application list,
-the app UI first makes a connection to the application architecture server,
-using <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-A92887D0-694C-3792-B3C9-46B155FE83B9"><apiname>RApaLsSession::Connect()</apiname></xref>. Then, it requests notification
-from the server that the application list is fully populated, using <codeph>RApaLsSession::RegisterListPopulationCompleteObserver()</codeph>.
-When the request completes, <codeph>RApaLsSession::GetNextApp()</codeph> is
-called in a loop to get a list of application names and UIDs. This list is
-used to populate the menu pane. </p> </section>
-<section><title>Launching an application</title> <p> <codeph>CEikAppUi::HandleCommandL()</codeph> handles
-commands based on a command ID. The <codeph>EEikCmdExit</codeph> command ID
-is generated by the <systemoutput>Close</systemoutput> menu option, and <codeph>HandleCommandL()</codeph> responds
-to it by exiting the application. The other possible command IDs are the UIDs
-of the applications in the list. This allows <codeph>CEikAppUi::HandleCommandL()</codeph> to
-launch applications based on the command ID. </p> <p>An application is launched
-by getting the executable name (using <codeph>RApaLsSession::GetAppInfo()</codeph>),
-creating a command line (<codeph>CApaCommandLine</codeph>) containing the
-executable name, and passing this to <codeph>RApaLsSession::StartApp()</codeph>. </p> </section>
-<section><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build an application. </p> <p>The <filepath>MenuApp</filepath> example
-builds an executable called <filepath>MenuApp.exe</filepath> in the standard
-location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
-CodeWarrior). Either launch the executable itself, or launch the emulator
-and then select the <filepath>MenuApp</filepath> application from the Emulator's
-extras bar. </p> </section>
+<section id="GUID-FE3F5411-B575-4284-A841-158A65F5A9C0"><title>Class Summary</title><p><xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref></p><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p><p><xref href="GUID-F6168582-DFF1-31DF-87F9-FF2AEC5EE0FF.dita"><apiname>CEikMenuPane</apiname></xref></p></section>
+<section id="GUID-8B7554ED-99FA-41A0-94A5-529FD719A40B"><title>Application list</title> <p>To create the application
+list, the app UI first makes a connection to the application architecture
+server, using <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-A92887D0-694C-3792-B3C9-46B155FE83B9"><apiname>RApaLsSession::Connect()</apiname></xref>. Then, it
+requests notification from the server that the application list is
+fully populated, using <codeph>RApaLsSession::RegisterListPopulationCompleteObserver()</codeph>. When the request completes, <codeph>RApaLsSession::GetNextApp()</codeph> is called in a loop to get a list of application names and UIDs.
+This list is used to populate the menu pane. </p> </section>
+<section id="GUID-BA8A16BE-F0A3-429A-9D78-1E4AD833A095"><title>Launching an application</title> <p> <codeph>CEikAppUi::HandleCommandL()</codeph> handles commands based on a command ID. The <codeph>EEikCmdExit</codeph> command ID is generated by the <systemoutput>Close</systemoutput> menu option, and <codeph>HandleCommandL()</codeph> responds to it
+by exiting the application. The other possible command IDs are the
+UIDs of the applications in the list. This allows <codeph>CEikAppUi::HandleCommandL()</codeph> to launch applications based on the command ID. </p> <p>An application
+is launched by getting the executable name (using <codeph>RApaLsSession::GetAppInfo()</codeph>), creating a command line (<codeph>CApaCommandLine</codeph>) containing
+the executable name, and passing this to <codeph>RApaLsSession::StartApp()</codeph>. </p> </section>
+<section id="GUID-6BD34EA5-E1B4-47C1-8D64-CFDB0E26B786"><title>Build</title> <p>The Symbian build process describes
+how to build an application. </p> <p>The <filepath>MenuApp</filepath> example builds an executable called <filepath>MenuApp.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). Either launch the executable
+itself, or launch the emulator and then select the <filepath>MenuApp</filepath> application from the Emulator's extras bar. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1969956D-CDA0-5DA0-ACF8-69AFBBEC1408.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1969956D-CDA0-5DA0-ACF8-69AFBBEC1408.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-1969956D-CDA0-5DA0-ACF8-69AFBBEC1408"><title>Light API</title><shortdesc>Light API is a library API that provides the ability to control various light targets of the device. It also provides methods to retrieve the current light status and the supported light targets of the device. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>It uses synchronous method calls which block the client application until a response is received from the plug-in. The API consists of <codeph>CHWRMLight</codeph> and <codeph>MHWRMLightObserver</codeph> classes. </p> <fig id="GUID-CA2D2394-FF93-54F9-880A-7AD56CFB1BDE"><title>
           Light API Interfaces 
-        </title> <image href="GUID-3F0789DE-8455-5BA6-850C-45C60C581F18_d0e155655_href.png" placement="inline"/></fig> <p>The client creates an instance of <codeph>CHWRMLight</codeph> using <xref href="GUID-93132FF9-512F-30EC-8AB0-BD3E98F668E6.dita"><apiname>NewL()</apiname></xref>. If the client requires status information, it must also provide a callback pointer of the <xref href="GUID-54A448DF-6C1A-347F-9B11-734DAA813268.dita"><apiname>MHWRMLightObserver</apiname></xref> implementing class for the <xref href="GUID-93132FF9-512F-30EC-8AB0-BD3E98F668E6.dita"><apiname>NewL()</apiname></xref> method. </p> <p>Usually HWRM Light interface supports restoring the previous or default light state (ON/OFF/BLINK). The already supported (reservation controller) functionality in existing HWRM light APIs is extended to restore the previous or default color of the LED as well. </p> <p>HWRM also supports automatic reserve and release the targets depends on the client application foreground observer notification through an UI plugin. During these states the light state with color value would be stored and restored automatically. This means if the client application window comes on the foreground then the reserved target’s state will be restored. </p> <section><title>Definitions</title> <table id="GUID-62DF1B4F-EC68-53EB-B620-0D1AC8EC8D35"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Term</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p>Light target </p> </entry> <entry><p>A separate entity that can be lighted in the device. For example, the primary display of the device is a light target. </p> </entry> </row> <row><entry><p>Lights frozen state </p> </entry> <entry><p>Whenever lights are released, their current state is stored as frozen state. On next reserve, the user can specify that frozen state be restored. </p> </entry> </row> <row><entry><p>Lights default state </p> </entry> <entry><p>Lights default state is determined by device inactivity time and relevant general settings. </p> </entry> </row> <row><entry><p>Lights base state </p> </entry> <entry><p>It is the state of the light target set for infinite duration (after all the time-based operation is completed). </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody><related-links><link href="GUID-D4E06508-4346-5294-995A-64B403467EC5.dita"><linktext>Light API Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-3F0789DE-8455-5BA6-850C-45C60C581F18_d0e161756_href.png" placement="inline"/></fig> <p>The client creates an instance of <codeph>CHWRMLight</codeph> using <xref href="GUID-93132FF9-512F-30EC-8AB0-BD3E98F668E6.dita"><apiname>NewL()</apiname></xref>. If the client requires status information, it must also provide a callback pointer of the <xref href="GUID-54A448DF-6C1A-347F-9B11-734DAA813268.dita"><apiname>MHWRMLightObserver</apiname></xref> implementing class for the <xref href="GUID-93132FF9-512F-30EC-8AB0-BD3E98F668E6.dita"><apiname>NewL()</apiname></xref> method. </p> <p>Usually HWRM Light interface supports restoring the previous or default light state (ON/OFF/BLINK). The already supported (reservation controller) functionality in existing HWRM light APIs is extended to restore the previous or default color of the LED as well. </p> <p>HWRM also supports automatic reserve and release the targets depends on the client application foreground observer notification through an UI plugin. During these states the light state with color value would be stored and restored automatically. This means if the client application window comes on the foreground then the reserved target’s state will be restored. </p> <section><title>Definitions</title> <table id="GUID-62DF1B4F-EC68-53EB-B620-0D1AC8EC8D35"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Term</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p>Light target </p> </entry> <entry><p>A separate entity that can be lighted in the device. For example, the primary display of the device is a light target. </p> </entry> </row> <row><entry><p>Lights frozen state </p> </entry> <entry><p>Whenever lights are released, their current state is stored as frozen state. On next reserve, the user can specify that frozen state be restored. </p> </entry> </row> <row><entry><p>Lights default state </p> </entry> <entry><p>Lights default state is determined by device inactivity time and relevant general settings. </p> </entry> </row> <row><entry><p>Lights base state </p> </entry> <entry><p>It is the state of the light target set for infinite duration (after all the time-based operation is completed). </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody><related-links><link href="GUID-D4E06508-4346-5294-995A-64B403467EC5.dita"><linktext>Light API Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1" xml:lang="en"><title>Network Security</title><shortdesc>Network Security is the set of components that provide security
+protocols for an IP connection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The set of components includes IPSec, SSL, and TLS. </p>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-5-1" xml:lang="en"><title>Network Security</title><shortdesc>Network Security is the set of components that provide security
+protocols for an IP connection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The set of components includes IPSec, SSL, and TLS. </p>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-9-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-9-1" xml:lang="en"><title>Network Security</title><shortdesc>Network Security is the set of components that provide security
+protocols for an IP connection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The set of components includes IPSec, SSL, and TLS. </p>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-198DCEE2-5089-5D0C-83CE-E1CDC2AD3196_d0e230910_href.png has changed
Binary file Symbian3/PDK/Source/GUID-198DCEE2-5089-5D0C-83CE-E1CDC2AD3196_d0e236905_href.png has changed
Binary file Symbian3/PDK/Source/GUID-19B2E0BF-9766-55C6-A37F-188A9EDAFF39_d0e479166_href.png has changed
Binary file Symbian3/PDK/Source/GUID-19B2E0BF-9766-55C6-A37F-188A9EDAFF39_d0e484995_href.png has changed
--- a/Symbian3/PDK/Source/GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -73,7 +73,7 @@
 </tgroup>
 </table> <p>The following diagram provides an overview of the <codeph>TDisplayConfiguration</codeph> hierarchy. </p> <fig id="GUID-6C3EB1E5-4608-5D6C-9DF1-77502B3645E8">
 <title> The display configuration hierarchy            </title>
-<image href="GUID-3ABE5DA5-F6FD-5439-ADED-CBF0B2554D94_d0e274231_href.png" placement="inline"/>
+<image href="GUID-3ABE5DA5-F6FD-5439-ADED-CBF0B2554D94_d0e280231_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita"><linktext>Dynamic Resolution
--- a/Symbian3/PDK/Source/GUID-19E070EA-13C2-5A0C-9DF8-EC2E7BBC4F96.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-19E070EA-13C2-5A0C-9DF8-EC2E7BBC4F96.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-19E070EA-13C2-5A0C-9DF8-EC2E7BBC4F96"><title>Network Adaptation Overview</title><shortdesc>The Network Adaptation collection contains Protocol Module ECOM plug-ins that can be loaded by the Network Gateway to support location based services privacy requests and location requests. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-A5BA13B4-A5E0-55E0-80E8-EBE28B022C62"><title>Purpose</title> <p>The LBS Network Gateway must load at least one Protocol Module plug-in. A plug-in may be developed by a device creator, or it may be one provided by Symbian as part of this collection. </p> </section> <section id="GUID-825F97B6-C433-5901-AAD9-84712A5F9118"><title>Architecture</title> <p>Figure 1 shows this collection within the context of the LBS system model. </p> <fig id="GUID-943C295D-DD0A-520D-A4F5-07A3BAEB6A91"><title>
              Figure 1. Network Adaptation collection in the LBS system model. 
-          </title> <image href="GUID-B1362BCE-8043-5183-B287-8381A87555B9_d0e449125_href.png" placement="inline"/></fig> </section> <section id="GUID-40EABE64-29AB-584A-9579-0676CF9CD30B"><title>Description</title> <p>A Protocol Module is loaded by the Network Gateway to allow it to process location based services privacy requests and location requests using a specific protocol. </p> <p>A Protocol Module implements the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref> of the <xref href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita">Network Gateway</xref>. </p> </section> <section id="GUID-41EBC8CD-6112-5D0C-B0BE-6DEDB20F1F64"><title>Components</title> <p>The Network Adaptation collection contains the following components: </p> <ul><li id="GUID-6DE2DAE8-79FC-535F-988A-8BBD18B6D017"><p><xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> (SPM) </p> <p>The Symbian SUPL Protocol Module supports the OMA SUPL v1.0 architecture. The SPM can be used by device creators to configure a phone as a SUPL Enabled Terminal (SET). The SPM may be customised and extended by a device creator. </p> </li> <li id="GUID-1D054309-9AB2-5E7A-B173-903D6A67BD33"><p><xref href="GUID-B27F6C1D-6815-5DF5-B3F8-449260030B3D.dita">Privacy Protocol Module</xref> (PPM) </p> <p>The Privacy Protocol Module gives device creators the ability to send privacy requests to the LBS subsystem from a process running on the device in the domestic OS. </p> <p>The PPM is intended for use by device creators who want to receive both privacy and location requests in the domestic OS. The privacy requests are forwarded to the LBS subsystem via the PPM for processing. Location requests cannot be sent to LBS via the PPM. </p> </li> <li id="GUID-FD43612C-F8E1-57C2-A51C-E9DFA9421588"><p>Network Protocol Module </p> <p>This is a component used for internal testing of the Symbian platform LBS subsystem by Symbian. </p> </li> </ul> <p>Symbian does not provide a Protocol Module to support a location based services control plane architecture. A device creator must develop their own Protocol Module to support a control plane architecture. The SUPL Protocol Module supports the SUPL v1.0 user plane architecture. </p> </section> <section id="GUID-C23DBB12-EBD6-524C-9306-940BF1177D2E"><title>Using the Network Adaptation collection</title> <p>The LBS subsystem must be configured to load Protocol Modules. The <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> describes how a device creator configures LBS, including how to specify the UIDs of the Protocol Modules to load. </p> <p>For details of how to use the SPM and the PPM follow the links to the relevant documentation: </p> <ul><li id="GUID-F996260E-755B-52F8-8A26-CB79F4226C8F"><p><xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref>  </p> <p> </p> </li> <li id="GUID-7ADCAE14-BC1E-58F7-9524-849AFDAFF579"><p><xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">Privacy Protocol Module</xref>  </p> </li> </ul> </section> </conbody><related-links><link href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita"><linktext>Network
+          </title> <image href="GUID-B1362BCE-8043-5183-B287-8381A87555B9_d0e454970_href.png" placement="inline"/></fig> </section> <section id="GUID-40EABE64-29AB-584A-9579-0676CF9CD30B"><title>Description</title> <p>A Protocol Module is loaded by the Network Gateway to allow it to process location based services privacy requests and location requests using a specific protocol. </p> <p>A Protocol Module implements the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref> of the <xref href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita">Network Gateway</xref>. </p> </section> <section id="GUID-41EBC8CD-6112-5D0C-B0BE-6DEDB20F1F64"><title>Components</title> <p>The Network Adaptation collection contains the following components: </p> <ul><li id="GUID-6DE2DAE8-79FC-535F-988A-8BBD18B6D017"><p><xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> (SPM) </p> <p>The Symbian SUPL Protocol Module supports the OMA SUPL v1.0 architecture. The SPM can be used by device creators to configure a phone as a SUPL Enabled Terminal (SET). The SPM may be customised and extended by a device creator. </p> </li> <li id="GUID-1D054309-9AB2-5E7A-B173-903D6A67BD33"><p><xref href="GUID-B27F6C1D-6815-5DF5-B3F8-449260030B3D.dita">Privacy Protocol Module</xref> (PPM) </p> <p>The Privacy Protocol Module gives device creators the ability to send privacy requests to the LBS subsystem from a process running on the device in the domestic OS. </p> <p>The PPM is intended for use by device creators who want to receive both privacy and location requests in the domestic OS. The privacy requests are forwarded to the LBS subsystem via the PPM for processing. Location requests cannot be sent to LBS via the PPM. </p> </li> <li id="GUID-FD43612C-F8E1-57C2-A51C-E9DFA9421588"><p>Network Protocol Module </p> <p>This is a component used for internal testing of the Symbian platform LBS subsystem by Symbian. </p> </li> </ul> <p>Symbian does not provide a Protocol Module to support a location based services control plane architecture. A device creator must develop their own Protocol Module to support a control plane architecture. The SUPL Protocol Module supports the SUPL v1.0 user plane architecture. </p> </section> <section id="GUID-C23DBB12-EBD6-524C-9306-940BF1177D2E"><title>Using the Network Adaptation collection</title> <p>The LBS subsystem must be configured to load Protocol Modules. The <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> describes how a device creator configures LBS, including how to specify the UIDs of the Protocol Modules to load. </p> <p>For details of how to use the SPM and the PPM follow the links to the relevant documentation: </p> <ul><li id="GUID-F996260E-755B-52F8-8A26-CB79F4226C8F"><p><xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref>  </p> <p> </p> </li> <li id="GUID-7ADCAE14-BC1E-58F7-9524-849AFDAFF579"><p><xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">Privacy Protocol Module</xref>  </p> </li> </ul> </section> </conbody><related-links><link href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita"><linktext>Network
                 Gateway</linktext> </link> <link href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita"><linktext>SUPL Protocol Module
                 </linktext> </link> <link href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita"><linktext>Privacy Protocol
                 Module</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-19E5720A-2B50-4515-AE90-A40C1BEDF4BA_d0e88498_href.png has changed
Binary file Symbian3/PDK/Source/GUID-19E5720A-2B50-4515-AE90-A40C1BEDF4BA_d0e92696_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A02B1FB-FDE3-565B-8E52-0F7FD3AC5188_d0e263892_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A02B1FB-FDE3-565B-8E52-0F7FD3AC5188_d0e269892_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e239367_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e241047_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e245362_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e247058_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1A3E282E-ACC0-5F88-A759-3ED6106B02B4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1A3E282E-ACC0-5F88-A759-3ED6106B02B4"><title>win32_library</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>win32_library</codeph>  <varname>filename-list</varname> </p> <p>Use <codeph>win32_library</codeph> to specify Win32 libraries in the same way that other libraries are specified with the <codeph>library</codeph> statement. </p> <p>If any Win32 system libraries are specified, directories specified by the <codeph>INCLUDE</codeph> environmental variable will be searched for system-included header files that are not found in the system include paths specified for the project.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1A488C86-C0D7-49DE-A32B-6AFEDDC9E89F_d0e103032_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A488C86-C0D7-49DE-A32B-6AFEDDC9E89F_d0e98952_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1A5C7320-B017-5CD9-B3EA-1301CC08A762.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1A5C7320-B017-5CD9-B3EA-1301CC08A762.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-1A5C7320-B017-5CD9-B3EA-1301CC08A762"><title>User Prompt Service Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>User Prompt Service (UPS) allows device creators to specify whether requests made by applications to access services, such as a request to make a telephone call, are processed silently or whether they require the user to be prompted. </p> <section><title>Purpose</title> <p>An application requests a service. The service provider (a system server) requests a decision from the UPS. The UPS searches for a matching policy file and policy. Based on the policy for the service, the service request may be immediately accepted or denied or it may need to receive a decision from the user, in which case it is accepted or denied after several further steps are carried out. </p> <p>Device creators can customize the circumstances under which prompts are generated by configuring policies. Policies are made up of details about the service being requested as well as information about whether to accept or deny silently or to ask the user. They are defined in policy lists. Each service has one policy list defining any number of policies. In cases where the policy specifies that a user prompt is required, ECom plug-ins called <xref href="GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita">Policy Evaluators</xref> and <xref href="GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita">Dialog Creators</xref>, written by device creators. </p> </section> <section><title>Key concepts</title> <p>The component has the following key concepts: </p> <dl><dlentry><dt>Policy</dt> <dd><p>Policies specify whether application requests to access services should be processed silently or whether the user should be prompted for a decision. Policies may be general or specific – for example a policy may be specific to a single application, a group of applications or a class of applications (For example, those with unprotected secure ids). Policies are defined in policy lists. Device creators define policies. </p> </dd> </dlentry> <dlentry><dt>UPS policy file</dt> <dd><p>A UPS policy file is a compiled resource file containing all of the policies for a given service. The policies are ordered from most specific to least specific. </p> <p>Because policies are matched in order, each service may have only one policy file. To define a policy safely, you need to know which other policies have been defined. If you place a general policy near the beginning of the list of policies, you prevent other policies from being evaluated. </p> </dd> </dlentry> <dlentry><dt>Policy evaluator</dt> <dd><p>Policy evaluators are Ecom plug-ins, which are responsible for generating fingerprints (see below) used to locate previous decision records related to the request. Device creators define policy evaluators. </p> </dd> </dlentry> <dlentry><dt>Dialog creator</dt> <dd><p>Dialog creators are Ecom plug-ins, which display and generate dialog prompts. Device creators define dialog creators. </p> </dd> </dlentry> <dlentry><dt>Fingerprint</dt> <dd><p>A fingerprint is a collection of data to do with the service being requested. The fingerprint usually includes the destination string supplied by the service that is matched to the destination string of a policy in the policy file. It might be a phone number, domain name, access point etc. A fingerprint is used to search the decision database for a match and to add a record to the decision database if a match was not found in the initial search. Device creators define the <codeph>GenerateFingerprints()</codeph> function in the Policy Evaluator plug-in. </p> <p>A fingerprint serves two purposes: </p> <ul><li id="GUID-2F6022DE-F9C0-5560-A966-F77F5F8077AC"><p>The UPS uses it to search the decision database for a match. </p> </li> <li id="GUID-2BB4C56D-055D-5E79-97D7-CCC2E0D69700"><p>If the UPS finds no record of a previous user decision and the user selects "always" or "never" in response to the UPS prompt, it uses the fingerprint to create a new record in the decision database. </p> </li> </ul> <p>It is possible to specify one or many policy evaluators. It is also possible not to specify a policy evaluator and to depend on the default policy evaluator. </p> </dd> </dlentry> <dlentry><dt>Decision database</dt> <dd><p>A decision database stores the phone user's choice of whether a request is always granted or never granted. Decisions stored in the decision database persist across reboots of the device. The decision database is provided by Symbian. </p> <p>The decision database may not be accessed directly. However, records may be retrieved and deleted via the management APIs. This might be used by a control-panel application. </p> </dd> </dlentry> </dl> </section> <section><title>Architectural relationships</title> <p>The UPS provides <xref href="GUID-F1FE58C4-2703-3651-8721-D018865BA169.dita"><apiname>CDialogCreator</apiname></xref> and <xref href="GUID-FDE91CAC-1588-3EED-B509-08168F4B881B.dita"><apiname>CPolicyEvaluator</apiname></xref> interfaces for device creators to implement. </p> <fig id="GUID-66482906-10D7-5536-87CE-0B97C1DFBB16"><title>
              UPS components 
-          </title> <image href="GUID-9C837724-B00E-58F4-8B71-53ECDBFF5CCE_d0e611954_href.png" placement="inline"/></fig> </section> <section><title>API summary</title> <p>The following diagram shows the relationships between some of the key classes in the UPS. </p> <fig id="GUID-2D2DB4F6-6526-585A-835F-FD78E43B5079"><title>
+          </title> <image href="GUID-9C837724-B00E-58F4-8B71-53ECDBFF5CCE_d0e584060_href.png" placement="inline"/></fig> </section> <section><title>API summary</title> <p>The following diagram shows the relationships between some of the key classes in the UPS. </p> <fig id="GUID-2D2DB4F6-6526-585A-835F-FD78E43B5079"><title>
              Class diagram of key classes in UPS 
-          </title> <image href="GUID-395C240D-6487-5832-B5F6-FC92991001FE_d0e611968_href.png" placement="inline"/></fig> <table id="GUID-3A54E48E-35CF-5B20-8139-BF63B7EF3EDB"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-179AD3F9-8121-3F65-B393-CA3924A3111B"><apiname>UserPromptService::CClientEntity</apiname></xref>  </p> </entry> <entry><p>Class representing an entity executing within a client process. For example, a script. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-0F7D8FF7-6176-32F8-8469-253D81848090"><apiname>UserPromptService::CDialogCreator</apiname></xref>  </p> </entry> <entry><p>Abstract base class for dialog creator Ecom plug-ins. Dialog creators are responsible for generating and displaying prompt dialogs. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-2E49A95A-8CAC-36B9-BAC8-A9DED4AE7CFE"><apiname>UserPromptService::CFingerprint</apiname></xref>  </p> </entry> <entry><p>Class that represents the fingerprint data for a stored decision. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-490A81F4-B763-3D01-AAAC-61B94793B0CB"><apiname>UserPromptService::CPolicy</apiname></xref>  </p> </entry> <entry><p>Class for a single policy record. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-65A2A57C-E9BB-3957-BC16-5579BF105329"><apiname>UserPromptService::CPolicyEvaluator</apiname></xref>  </p> </entry> <entry><p>Abstract base class for a policy evaluator Ecom plug-in. Policy evaluators are primarily responsible for generating the fingerprints used to locate previous decision records related to the current request. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The following diagram shows the sequence of activities performed by the UPS after it receives a request from a server: </p> <fig id="GUID-4FE4A657-5299-5D20-8E23-90C3EEC67462"><title>
+          </title> <image href="GUID-395C240D-6487-5832-B5F6-FC92991001FE_d0e584074_href.png" placement="inline"/></fig> <table id="GUID-3A54E48E-35CF-5B20-8139-BF63B7EF3EDB"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-179AD3F9-8121-3F65-B393-CA3924A3111B"><apiname>UserPromptService::CClientEntity</apiname></xref>  </p> </entry> <entry><p>Class representing an entity executing within a client process. For example, a script. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-0F7D8FF7-6176-32F8-8469-253D81848090"><apiname>UserPromptService::CDialogCreator</apiname></xref>  </p> </entry> <entry><p>Abstract base class for dialog creator Ecom plug-ins. Dialog creators are responsible for generating and displaying prompt dialogs. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-2E49A95A-8CAC-36B9-BAC8-A9DED4AE7CFE"><apiname>UserPromptService::CFingerprint</apiname></xref>  </p> </entry> <entry><p>Class that represents the fingerprint data for a stored decision. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-490A81F4-B763-3D01-AAAC-61B94793B0CB"><apiname>UserPromptService::CPolicy</apiname></xref>  </p> </entry> <entry><p>Class for a single policy record. </p> </entry> </row> <row><entry><p> <xref href="GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D.dita#GUID-0A4AFA03-0424-3384-AFEC-083B31C86B5D/GUID-65A2A57C-E9BB-3957-BC16-5579BF105329"><apiname>UserPromptService::CPolicyEvaluator</apiname></xref>  </p> </entry> <entry><p>Abstract base class for a policy evaluator Ecom plug-in. Policy evaluators are primarily responsible for generating the fingerprints used to locate previous decision records related to the current request. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The following diagram shows the sequence of activities performed by the UPS after it receives a request from a server: </p> <fig id="GUID-4FE4A657-5299-5D20-8E23-90C3EEC67462"><title>
              Diagram showing activities for a single request 
-          </title> <image href="GUID-B7542EA6-6188-5A3D-A287-0766F7B42DC0_d0e612080_href.png" placement="inline"/></fig> <p>As is shown in the above diagram, the UPS returns a decision to the system server as in the following use cases: </p> <ul><li id="GUID-E414AB08-85A4-5686-88F1-584E17244DA9"><p>processing silently </p> </li> <li id="GUID-DFC214C2-D97C-550D-80EE-62653BDD9FFB"><p>finding a stored decision in the decision database </p> </li> <li id="GUID-266A70E9-67C4-5FA5-9E02-CB4ECC6E53E2"><p>prompting the user in a dialog and resulting in a "one-shot" or "session" (non-persistent) decision by the user </p> </li> <li id="GUID-25813297-93CD-5668-9DB2-1A0C7DC06A26"><p>prompting the user in a dialog and resulting in an "always" or "never" (persistent) decision by the user </p> </li> </ul> <p>The Policy Evaluator allows device creators to customize the behaviour of the UPS at run-time. Policy Evaluators may: </p> <ul><li id="GUID-281ACA0D-0927-5D0B-9F09-71256343ACC8"><p>Allow security decisions to be specific to the data on which the service acts instead of simply granting full access to the service, for example "Allow application X to send SMS messages to 01234567". This is supported via the fingerprint functionality. </p> </li> <li id="GUID-027E0704-7766-5742-AB35-3B49D9DEBEC6"><p>Allow a security decision to be specific to an individual script executing within a scripting host. This is supported via the client entity field. </p> </li> <li id="GUID-B20E7021-251F-59BD-ADBC-02EFEA09F5F2"><p>Allow a prompt to be displayed even if the user selected "Always" or "Never". This could be based on a usage threshold or simply as additional confirmation if the user selected "Never". This is supported via the force prompt functionality. </p> </li> </ul> </section> <section><title>Typical uses</title> <p>The UPS component provides interfaces to perform the following tasks: </p> <ul><li id="GUID-7D89C9F6-82E6-5B5C-9652-C8749E2BF759"><p><xref href="GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita">Integrating a System Server with UPS</xref>  </p> </li> <li id="GUID-B2633E58-3B5C-5763-A4AC-1BA0B624DAE3"><p><xref href="GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita">Writing a UPS Policy File</xref>  </p> </li> <li id="GUID-CDDBA2CE-A80B-5B7C-8865-D059052BD33C"><p><xref href="GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita">Writing a UPS Policy Evaluator</xref>  </p> </li> <li id="GUID-69F5480D-3575-5124-AE14-F458FC03A578"><p><xref href="GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita">Writing a UPS Dialog Creator</xref>  </p> </li> <li id="GUID-5B659B40-818D-55F7-87AD-4144427DA52F"><p><xref href="GUID-CCD3B91F-9E7F-5CE2-8AFC-4ABF787E5614.dita">Using UPS management APIs</xref>  </p> </li> <li id="GUID-AAC1FF6D-6D4C-5548-B385-B672622A799D"><p>Example code at <filepath>\sf\os\security\authorisation\userpromptservice\examples\</filepath> location. </p> </li> </ul> </section> <section><title>See also</title> <p>For related information, see <xref href="GUID-6849E256-6719-5788-BCB2-7557F09AAAD0.dita">UPS Configuration</xref>. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-B7542EA6-6188-5A3D-A287-0766F7B42DC0_d0e584186_href.png" placement="inline"/></fig> <p>As is shown in the above diagram, the UPS returns a decision to the system server as in the following use cases: </p> <ul><li id="GUID-E414AB08-85A4-5686-88F1-584E17244DA9"><p>processing silently </p> </li> <li id="GUID-DFC214C2-D97C-550D-80EE-62653BDD9FFB"><p>finding a stored decision in the decision database </p> </li> <li id="GUID-266A70E9-67C4-5FA5-9E02-CB4ECC6E53E2"><p>prompting the user in a dialog and resulting in a "one-shot" or "session" (non-persistent) decision by the user </p> </li> <li id="GUID-25813297-93CD-5668-9DB2-1A0C7DC06A26"><p>prompting the user in a dialog and resulting in an "always" or "never" (persistent) decision by the user </p> </li> </ul> <p>The Policy Evaluator allows device creators to customize the behaviour of the UPS at run-time. Policy Evaluators may: </p> <ul><li id="GUID-281ACA0D-0927-5D0B-9F09-71256343ACC8"><p>Allow security decisions to be specific to the data on which the service acts instead of simply granting full access to the service, for example "Allow application X to send SMS messages to 01234567". This is supported via the fingerprint functionality. </p> </li> <li id="GUID-027E0704-7766-5742-AB35-3B49D9DEBEC6"><p>Allow a security decision to be specific to an individual script executing within a scripting host. This is supported via the client entity field. </p> </li> <li id="GUID-B20E7021-251F-59BD-ADBC-02EFEA09F5F2"><p>Allow a prompt to be displayed even if the user selected "Always" or "Never". This could be based on a usage threshold or simply as additional confirmation if the user selected "Never". This is supported via the force prompt functionality. </p> </li> </ul> </section> <section><title>Typical uses</title> <p>The UPS component provides interfaces to perform the following tasks: </p> <ul><li id="GUID-7D89C9F6-82E6-5B5C-9652-C8749E2BF759"><p><xref href="GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita">Integrating a System Server with UPS</xref>  </p> </li> <li id="GUID-B2633E58-3B5C-5763-A4AC-1BA0B624DAE3"><p><xref href="GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita">Writing a UPS Policy File</xref>  </p> </li> <li id="GUID-CDDBA2CE-A80B-5B7C-8865-D059052BD33C"><p><xref href="GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita">Writing a UPS Policy Evaluator</xref>  </p> </li> <li id="GUID-69F5480D-3575-5124-AE14-F458FC03A578"><p><xref href="GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita">Writing a UPS Dialog Creator</xref>  </p> </li> <li id="GUID-5B659B40-818D-55F7-87AD-4144427DA52F"><p><xref href="GUID-CCD3B91F-9E7F-5CE2-8AFC-4ABF787E5614.dita">Using UPS management APIs</xref>  </p> </li> <li id="GUID-AAC1FF6D-6D4C-5548-B385-B672622A799D"><p>Example code at <filepath>\sf\os\security\authorisation\userpromptservice\examples\</filepath> location. </p> </li> </ul> </section> <section><title>See also</title> <p>For related information, see <xref href="GUID-6849E256-6719-5788-BCB2-7557F09AAAD0.dita">UPS Configuration</xref>. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1A7183EC-B55E-5B61-8965-89C939ECB395_d0e342102_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A7183EC-B55E-5B61-8965-89C939ECB395_d0e348053_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B"><title>OpenVG Collection Overview</title><shortdesc>OpenVG is a royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG. OpenVG is targeted primarily at handheld devices that require portable acceleration of high-quality vector graphics for user interfaces and text on small screen devices—while enabling hardware acceleration to provide fluidly interactive performance at very low power levels. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref> and <xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">non-ScreenPlay</xref>. </p> <p>OpenVG is an open standard developed by the Khronos Group (<xref scope="external" href="http://www.khronos.org">www.khronos.org</xref>). OpenVG features include: </p> <ul><li id="GUID-B267EBF8-8507-5200-A988-E9473421C7AE"><p>Coordinate systems and transformations (image drawing uses a 3x3 perspective transformation matrix) </p> </li> <li id="GUID-9DD01326-63A6-548E-A245-61118D1751D1"><p>Viewport clipping, scissoring and alpha masking </p> </li> <li id="GUID-E265A325-F47B-5D5E-B98E-4DC7113000FB"><p>Paths </p> </li> <li id="GUID-AAB66D89-68F2-59A5-BB29-E49932FEFB13"><p>Images and image filters </p> </li> <li id="GUID-DEB27EED-13F2-5B2D-AADD-2BA0F2A4A872"><p>Paint (gradient and pattern) </p> </li> <li id="GUID-9CC84B3A-2891-5D2C-909E-F0C12F96569E"><p>Blending. </p> </li> </ul> <p>In addition, the associated VGU utility library provides features such as higher-level geometric primitives and image warping. </p> <section><title>Architecture</title> <p>OpenVG only defines rendering functionality and therefore cannot be used in isolation. It requires EGL to establish an environment in which OpenVG can be used. For example, EGL tells OpenVG where its rendered output should go. OpenVG depends on a standalone implementation of EGL. </p> <p>The following diagram shows the direct use of OpenVG by an application through the public OpenVG interface together with EGL. On the Symbian platform, both OpenVG and EGL have a component (shown in blue) that declares the interface, and both require an implementation that implements that interface (shown in green). </p> <fig id="GUID-2BCC3100-9644-55D1-A26E-C3510A148E66"><title>
              OpenVG external relationships 
-          </title> <image href="GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e267145_href.png" placement="inline"/></fig> <p>It is possible for the OpenVG and EGL implementations to communicate through a private interface that is not standardized by Symbian. </p> <p>The <xref href="GUID-C2E24953-3D83-59FB-8B7A-C850474406DB.dita">OpenVG Interface</xref> provides a consistent interface to OpenVG on the Symbian platform, enabling cross-device compatibility. The component includes the Khronos-released header files (which incorporate some minor changes, such as to the comments). It also provides some Symbian-specific header files and some other files (such as LIB, DEF and MMP files) and UIDs. It does not provide any implementations of the APIs. </p> </section> <section><title>Description</title> <p>OpenVG is designed to be the primary 2D and vector graphics API for use by mobile devices. By providing a consistent interface to OpenVG, the Symbian platform allows OpenVG applications and middleware (such as an SVG engine) to automatically benefit from hardware acceleration when it is present without losing compatibility when it is not available. In addition device and hardware manufacturers benefit from a standard Hardware Adaptation Interface (HAI) to plug into. This means that OpenVG has the potential to provide end users with improved quality and responsiveness of graphics features. </p> </section> </conbody><related-links><link href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita"><linktext>OpenVG Collection</linktext> </link> <link href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita"><linktext>EGL
+          </title> <image href="GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e273145_href.png" placement="inline"/></fig> <p>It is possible for the OpenVG and EGL implementations to communicate through a private interface that is not standardized by Symbian. </p> <p>The <xref href="GUID-C2E24953-3D83-59FB-8B7A-C850474406DB.dita">OpenVG Interface</xref> provides a consistent interface to OpenVG on the Symbian platform, enabling cross-device compatibility. The component includes the Khronos-released header files (which incorporate some minor changes, such as to the comments). It also provides some Symbian-specific header files and some other files (such as LIB, DEF and MMP files) and UIDs. It does not provide any implementations of the APIs. </p> </section> <section><title>Description</title> <p>OpenVG is designed to be the primary 2D and vector graphics API for use by mobile devices. By providing a consistent interface to OpenVG, the Symbian platform allows OpenVG applications and middleware (such as an SVG engine) to automatically benefit from hardware acceleration when it is present without losing compatibility when it is not available. In addition device and hardware manufacturers benefit from a standard Hardware Adaptation Interface (HAI) to plug into. This means that OpenVG has the potential to provide end users with improved quality and responsiveness of graphics features. </p> </section> </conbody><related-links><link href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita"><linktext>OpenVG Collection</linktext> </link> <link href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita"><linktext>EGL
                 Collection</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1A905563-EF60-4A01-BC55-5B35904F96AB_d0e91585_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A905563-EF60-4A01-BC55-5B35904F96AB_d0e95783_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A92047A-3C1D-5B4C-949B-98D770F5F530_d0e409012_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1A92047A-3C1D-5B4C-949B-98D770F5F530_d0e414865_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1A9BA6A1-C6BB-5196-B2D8-355A78B79AE3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1A9BA6A1-C6BB-5196-B2D8-355A78B79AE3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-1A9BA6A1-C6BB-5196-B2D8-355A78B79AE3"><title>Simulation PSY Overview</title><shortdesc>The Simulation Positioning PSY enables application developers and device creators to test Location Based Services enabled applications by providing simulated position updates without the need for a real GPS module or network connection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document is for application developers and device creators. </p> <section><title>Purpose</title> <p>When creating an application or developing a mobile device it is useful to have a test PSY that delivers repeatable, defined position data. </p> <p>It is also useful to be able to test an application when there is no real GPS data information available because either the application is being tested on a development board, in a Windows emulator environment or inside a building where no GPS signal is available. </p> <p>Simulation PSY provides a means to test Location Based Services in any of these situations. </p> </section> <section><title>Required background</title> <p>A basic understanding of GPS concepts and the NMEA data standards are useful. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>GPS</dt> <dd><p>Global Positioning System </p> </dd> </dlentry> <dlentry><dt>NMEA</dt> <dd><p>National Marine Electronics Association. </p> <p>In particular NMEA 0183 version 2.1 which defines the electrical signal requirements, data transmission protocol and time, and specific sentence formats for a 4800-baud serial data bus used for interconnecting marine instrumentation including GPS receivers. </p> <p>NMEA 0138 defines an ASCII data format that includes geographical position. </p> </dd> </dlentry> <dlentry><dt>PSY</dt> <dd><p>Positioning Plug-in </p> </dd> </dlentry> <dlentry><dt>WGS-84</dt> <dd><p>World Geodetic System 1984 </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>Figure 1 shows the Simulation PSY component with associated LBS components. </p> <fig id="GUID-10BC29FE-C04C-5453-A550-079868D1F654"><title>
              Figure 1. Simulation PSY and related components.
-          </title> <image href="GUID-4DE6423B-9731-5168-B563-8F263AAF1482_d0e464262_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The PSY provides a single API of Central Repository type. See <xref href="GUID-45F9389E-F31B-59DA-A4FE-E254EAEB2213.dita">Simulation PSY Settings API</xref> for more information. </p> </section> <section><title>Typical uses</title> <p>Simulation PSY is used by application developers to test applications. See <xref href="GUID-22DB5009-A552-55F7-97EF-1C454E510782.dita">Simulation PSY User Guide</xref> for more information about how to use the PSY. </p> </section> </conbody><related-links><link href="GUID-22DB5009-A552-55F7-97EF-1C454E510782.dita"><linktext> Simulation PSY User
+          </title> <image href="GUID-4DE6423B-9731-5168-B563-8F263AAF1482_d0e470107_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The PSY provides a single API of Central Repository type. See <xref href="GUID-45F9389E-F31B-59DA-A4FE-E254EAEB2213.dita">Simulation PSY Settings API</xref> for more information. </p> </section> <section><title>Typical uses</title> <p>Simulation PSY is used by application developers to test applications. See <xref href="GUID-22DB5009-A552-55F7-97EF-1C454E510782.dita">Simulation PSY User Guide</xref> for more information about how to use the PSY. </p> </section> </conbody><related-links><link href="GUID-22DB5009-A552-55F7-97EF-1C454E510782.dita"><linktext> Simulation PSY User
                 Guide</linktext> </link> <link href="GUID-45F9389E-F31B-59DA-A4FE-E254EAEB2213.dita"><linktext>Simulation
                 PSY Settings API</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 The form then returns to the View state.</p>
 <fig id="GUID-A2BD480A-8FF8-46D2-8C2D-1C300761BBEF">
 <title>An example form</title>
-<image href="GUID-783161AE-708E-4FB4-8219-EEC0F9939E9B_d0e83862_href.png" placement="inline"/>
+<image href="GUID-783161AE-708E-4FB4-8219-EEC0F9939E9B_d0e88060_href.png" placement="inline"/>
 </fig>
 <p>The following table lists the default touch events for forms:</p>
 <table id="GUID-9342F902-5F33-4A51-BCCB-258C4AADAC8C"><title>Default
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-5-1" xml:lang="en"><title>How
+to retrieve characteristics</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The following example demonstrates the use of the legacy selector to retrieve
+the characteristics of an asymmetric cipher object. In the example, an implementation
+object is constructed (making use of an RSA Key Pair also generated by the
+framework) and returned. The plug-in characteristics and extended characteristics
+associated with the object are then accessed. </p>
+<codeblock id="GUID-CF2DF77C-90BD-56A0-A27D-89C4DA18EDCD-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-5-1-2-2" xml:space="preserve">#include &lt;cryptoasymmetriccipherapi.h&gt;
+#include &lt;cryptokeypairgeneratorapi.h&gt;
+#include &lt;cryptospidef.h&gt;
+#include &lt;plugincharacteristics.h&gt;
+#include &lt;extendedcharacteristics.h&gt;
+#include &lt;keypair.h&gt;
+
+// Constant definition for the RSA key pair generator exponent value
+const TInt KKeyExponent = 65537;
+
+using namespace CryptoSpi;
+
+// Create a new CCryptoParams instance to contain the RSA Key Pair initialization data
+CCryptoParams* keyParams = CCryptoParams::NewLC(); 
+                    
+// Create an RSA Key Pair and Key Pair Generator object pointers
+CKeyPair* keyPair = NULL;
+CKeyPairGenerator * keypairImpl = NULL;                
+                
+// Set the RSA Key Pair Generator initialization parameters reate an RSA key pair
+keyParams-&gt;AddL(KKeyExponent, KRsaKeyParameterEUid);
+keyParams-&gt;AddL(KRsaPrivateKeyStandard, KRsaKeyTypeUid);
+
+// Retrieve an instance of an RSA Key Pair Generator implementation from the framework
+CKeyPairGeneratorFactory::CreateKeyPairGeneratorL( keypairImpl,
+                                                   KRSAKeyPairGeneratorUid,
+                                                   keyParams);
+                                            
+CleanupStack::PushL(keypairImpl);
+    
+// Create an RSA Key Pair    
+keypairImpl-&gt;GenerateKeyPairL(1024, *keyParams, keyPair);
+                
+CleanupStack::PushL(keyPair);
+                                        
+// Create and initialize a pointer for the asymmetric cipher implementation object        
+CAsymmetricCipher* asymmetricCipherImpl = NULL;
+
+// If successful, the 'CreateAsymmetricCipherL' method returns KErrNone and sets the 
+// asymmetricCipherImpl pointer to point to the constructed implementation
+TRAPD(err, CAsymmetricCipherFactory::CreateAsymmetricCipherL(asymmetricCipherImpl,
+                                                             KRsaCipherUid,
+                                                             keyPair-&gt;PrivateKey(),
+                                                             KCryptoModeEncryptUid,
+                                                             KPaddingModeNoneUid,
+                                                             NULL));
+
+// Having successfully constructed the asymmetric cipher implementation object, 
+// it is possible to retrieve the plug-in characteristics associated with it
+if (asymmetricCipherImpl &amp;&amp; (err == KErrNone))
+ {
+ CleanupStack::PushL(asymmetricCipherImpl);
+
+ // Retrieving common and algorithm-specific characteristics
+ // Create a constant pointer of type TCharacteristics used to access the
+ // asymmetric cipher plug-in's common and algorithm-specific characteristics
+    const TCharacteristics* chars(NULL);
+
+ // Retrieve the common and algorithm-specific characteristics by calling the
+ // 'GetCharacteristicsL' method passing in TCharacteristics pointer
+ asymmetricCipherImpl-&gt;GetCharacteristicsL(chars);
+
+ // Static cast the characteristics to type TAsymmetricCipherCharacteristics
+ const TAsymmetricCipherCharacteristics* asymmetricChars = 
+  static_cast&lt;const TAsymmetricCipherCharacteristics*&gt;(chars);
+
+ // Retrieve the common characteristics from the TASymmetricCipherCharacteristics
+ // object
+ const TCommonCharacteristics* asymmetricCommonChars = &amp;asymmetricChars-&gt;cmn;
+
+    TUid implementationId;
+    TBool hardwareSupported;
+    TRomLitC16 creatorName;
+    TInt maximumKeyLength;
+    TInt32 supportedPaddingModes;
+
+ // Example of extracting asymmetric common characteristics
+ implementationId.iUid = asymmetricCommonChars-&gt;iImplementationUID;
+ hardwareSupported = asymmetricCommonChars-&gt;iIsHardwareSupported;
+ creatorName = *(asymmetricCommonChars-&gt;iCreatorName);
+
+ // Example of extracting asymmetric algorithm specific characteristics
+ maximumKeyLength = asymmetricChars-&gt;iMaximumKeyLength;
+ supportedPaddingModes = *(asymmetricChars-&gt;iSupportedPaddingModes);
+
+ //Retrieving extended characteristics
+
+ // Create a constant pointer of type CExtendedCharacteristics used to store and
+ // access the asymmetric cipher plug-in extended characteristics. Retrieve
+ // the data by calling the 'GetExtendedCharacteristicsL' method and store the
+ // returned pointer
+ const CExtendedCharacteristics* extendedChars =
+  asymmetricCipherImpl-&gt;GetExtendedCharacteristicsL();
+
+ // Const casting the pointer to the CExtendedCharacteristics object allows it to
+ // be pushed onto the cleanup stack
+ CExtendedCharacteristics* ncExtendedChars =
+  const_cast&lt;CExtendedCharacteristics*&gt;(extendedChars);
+ CleanupStack::PushL(ncExtendedChars);
+
+ TInt concurrency;
+
+ // Each of the extended characteristics for the particular cryptographic
+ // implementation can then be accessed by passing the UID value into the
+ // appropriate 'Get' method
+ concurrency = extendedChars-&gt;GetTIntCharacteristicL(KConcurrencyTypeUid);
+ // Alternatively, extended characteristic retrieval can be achieved via the
+ // ListExtendedCharacteristics() method of the CExtendedCharacteristics Object.
+ // Using the 'ListExtendedCharacteristics' function returns a pointer to a
+ // CCryptoParams object, that contains a list of all associated extended
+ // characteristics
+ const CCryptoParams* extendedCryptoParams = 
+  extendedChars-&gt;ListExtendedCharacteristics();
+
+ TBool exclusiveUse;
+
+ // The extended characteristics can then be accessed in much the same way as 
+ // before, making a call to the appropriate 'Get' method with the UID value of the
+ // required type
+ exclusiveUse = extendedCryptoParams-&gt;GetTIntL(KExclusiveUseTypeUid);
+
+ CleanupStack::PopAndDestroy(2, asymmetricCipherImpl);
+ }
+
+// Pop and destroy the remaining items on the cleanup stack
+CleanupStack::PopAndDestroy(3,keyParams);
+    
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-9-1-5-1-8-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-9-1-5-1-8-1" xml:lang="en"><title>How
+to retrieve characteristics</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The following example demonstrates the use of the legacy selector to retrieve
+the characteristics of an asymmetric cipher object. In the example, an implementation
+object is constructed (making use of an RSA Key Pair also generated by the
+framework) and returned. The plug-in characteristics and extended characteristics
+associated with the object are then accessed. </p>
+<codeblock id="GUID-CF2DF77C-90BD-56A0-A27D-89C4DA18EDCD-GENID-1-12-1-26-1-1-9-1-5-1-8-1-2-2" xml:space="preserve">#include &lt;cryptoasymmetriccipherapi.h&gt;
+#include &lt;cryptokeypairgeneratorapi.h&gt;
+#include &lt;cryptospidef.h&gt;
+#include &lt;plugincharacteristics.h&gt;
+#include &lt;extendedcharacteristics.h&gt;
+#include &lt;keypair.h&gt;
+
+// Constant definition for the RSA key pair generator exponent value
+const TInt KKeyExponent = 65537;
+
+using namespace CryptoSpi;
+
+// Create a new CCryptoParams instance to contain the RSA Key Pair initialization data
+CCryptoParams* keyParams = CCryptoParams::NewLC(); 
+                    
+// Create an RSA Key Pair and Key Pair Generator object pointers
+CKeyPair* keyPair = NULL;
+CKeyPairGenerator * keypairImpl = NULL;                
+                
+// Set the RSA Key Pair Generator initialization parameters reate an RSA key pair
+keyParams-&gt;AddL(KKeyExponent, KRsaKeyParameterEUid);
+keyParams-&gt;AddL(KRsaPrivateKeyStandard, KRsaKeyTypeUid);
+
+// Retrieve an instance of an RSA Key Pair Generator implementation from the framework
+CKeyPairGeneratorFactory::CreateKeyPairGeneratorL( keypairImpl,
+                                                   KRSAKeyPairGeneratorUid,
+                                                   keyParams);
+                                            
+CleanupStack::PushL(keypairImpl);
+    
+// Create an RSA Key Pair    
+keypairImpl-&gt;GenerateKeyPairL(1024, *keyParams, keyPair);
+                
+CleanupStack::PushL(keyPair);
+                                        
+// Create and initialize a pointer for the asymmetric cipher implementation object        
+CAsymmetricCipher* asymmetricCipherImpl = NULL;
+
+// If successful, the 'CreateAsymmetricCipherL' method returns KErrNone and sets the 
+// asymmetricCipherImpl pointer to point to the constructed implementation
+TRAPD(err, CAsymmetricCipherFactory::CreateAsymmetricCipherL(asymmetricCipherImpl,
+                                                             KRsaCipherUid,
+                                                             keyPair-&gt;PrivateKey(),
+                                                             KCryptoModeEncryptUid,
+                                                             KPaddingModeNoneUid,
+                                                             NULL));
+
+// Having successfully constructed the asymmetric cipher implementation object, 
+// it is possible to retrieve the plug-in characteristics associated with it
+if (asymmetricCipherImpl &amp;&amp; (err == KErrNone))
+ {
+ CleanupStack::PushL(asymmetricCipherImpl);
+
+ // Retrieving common and algorithm-specific characteristics
+ // Create a constant pointer of type TCharacteristics used to access the
+ // asymmetric cipher plug-in's common and algorithm-specific characteristics
+    const TCharacteristics* chars(NULL);
+
+ // Retrieve the common and algorithm-specific characteristics by calling the
+ // 'GetCharacteristicsL' method passing in TCharacteristics pointer
+ asymmetricCipherImpl-&gt;GetCharacteristicsL(chars);
+
+ // Static cast the characteristics to type TAsymmetricCipherCharacteristics
+ const TAsymmetricCipherCharacteristics* asymmetricChars = 
+  static_cast&lt;const TAsymmetricCipherCharacteristics*&gt;(chars);
+
+ // Retrieve the common characteristics from the TASymmetricCipherCharacteristics
+ // object
+ const TCommonCharacteristics* asymmetricCommonChars = &amp;asymmetricChars-&gt;cmn;
+
+    TUid implementationId;
+    TBool hardwareSupported;
+    TRomLitC16 creatorName;
+    TInt maximumKeyLength;
+    TInt32 supportedPaddingModes;
+
+ // Example of extracting asymmetric common characteristics
+ implementationId.iUid = asymmetricCommonChars-&gt;iImplementationUID;
+ hardwareSupported = asymmetricCommonChars-&gt;iIsHardwareSupported;
+ creatorName = *(asymmetricCommonChars-&gt;iCreatorName);
+
+ // Example of extracting asymmetric algorithm specific characteristics
+ maximumKeyLength = asymmetricChars-&gt;iMaximumKeyLength;
+ supportedPaddingModes = *(asymmetricChars-&gt;iSupportedPaddingModes);
+
+ //Retrieving extended characteristics
+
+ // Create a constant pointer of type CExtendedCharacteristics used to store and
+ // access the asymmetric cipher plug-in extended characteristics. Retrieve
+ // the data by calling the 'GetExtendedCharacteristicsL' method and store the
+ // returned pointer
+ const CExtendedCharacteristics* extendedChars =
+  asymmetricCipherImpl-&gt;GetExtendedCharacteristicsL();
+
+ // Const casting the pointer to the CExtendedCharacteristics object allows it to
+ // be pushed onto the cleanup stack
+ CExtendedCharacteristics* ncExtendedChars =
+  const_cast&lt;CExtendedCharacteristics*&gt;(extendedChars);
+ CleanupStack::PushL(ncExtendedChars);
+
+ TInt concurrency;
+
+ // Each of the extended characteristics for the particular cryptographic
+ // implementation can then be accessed by passing the UID value into the
+ // appropriate 'Get' method
+ concurrency = extendedChars-&gt;GetTIntCharacteristicL(KConcurrencyTypeUid);
+ // Alternatively, extended characteristic retrieval can be achieved via the
+ // ListExtendedCharacteristics() method of the CExtendedCharacteristics Object.
+ // Using the 'ListExtendedCharacteristics' function returns a pointer to a
+ // CCryptoParams object, that contains a list of all associated extended
+ // characteristics
+ const CCryptoParams* extendedCryptoParams = 
+  extendedChars-&gt;ListExtendedCharacteristics();
+
+ TBool exclusiveUse;
+
+ // The extended characteristics can then be accessed in much the same way as 
+ // before, making a call to the appropriate 'Get' method with the UID value of the
+ // required type
+ exclusiveUse = extendedCryptoParams-&gt;GetTIntL(KExclusiveUseTypeUid);
+
+ CleanupStack::PopAndDestroy(2, asymmetricCipherImpl);
+ }
+
+// Pop and destroy the remaining items on the cleanup stack
+CleanupStack::PopAndDestroy(3,keyParams);
+    
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98" xml:lang="en"><title>How
-to retrieve characteristics</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The following example demonstrates the use of the legacy selector to retrieve
-the characteristics of an asymmetric cipher object. In the example, an implementation
-object is constructed (making use of an RSA Key Pair also generated by the
-framework) and returned. The plug-in characteristics and extended characteristics
-associated with the object are then accessed. </p>
-<codeblock id="GUID-CF2DF77C-90BD-56A0-A27D-89C4DA18EDCD" xml:space="preserve">#include &lt;cryptoasymmetriccipherapi.h&gt;
-#include &lt;cryptokeypairgeneratorapi.h&gt;
-#include &lt;cryptospidef.h&gt;
-#include &lt;plugincharacteristics.h&gt;
-#include &lt;extendedcharacteristics.h&gt;
-#include &lt;keypair.h&gt;
-
-// Constant definition for the RSA key pair generator exponent value
-const TInt KKeyExponent = 65537;
-
-using namespace CryptoSpi;
-
-// Create a new CCryptoParams instance to contain the RSA Key Pair initialization data
-CCryptoParams* keyParams = CCryptoParams::NewLC(); 
-                    
-// Create an RSA Key Pair and Key Pair Generator object pointers
-CKeyPair* keyPair = NULL;
-CKeyPairGenerator * keypairImpl = NULL;                
-                
-// Set the RSA Key Pair Generator initialization parameters reate an RSA key pair
-keyParams-&gt;AddL(KKeyExponent, KRsaKeyParameterEUid);
-keyParams-&gt;AddL(KRsaPrivateKeyStandard, KRsaKeyTypeUid);
-
-// Retrieve an instance of an RSA Key Pair Generator implementation from the framework
-CKeyPairGeneratorFactory::CreateKeyPairGeneratorL( keypairImpl,
-                                                   KRSAKeyPairGeneratorUid,
-                                                   keyParams);
-                                            
-CleanupStack::PushL(keypairImpl);
-    
-// Create an RSA Key Pair    
-keypairImpl-&gt;GenerateKeyPairL(1024, *keyParams, keyPair);
-                
-CleanupStack::PushL(keyPair);
-                                        
-// Create and initialize a pointer for the asymmetric cipher implementation object        
-CAsymmetricCipher* asymmetricCipherImpl = NULL;
-
-// If successful, the 'CreateAsymmetricCipherL' method returns KErrNone and sets the 
-// asymmetricCipherImpl pointer to point to the constructed implementation
-TRAPD(err, CAsymmetricCipherFactory::CreateAsymmetricCipherL(asymmetricCipherImpl,
-                                                             KRsaCipherUid,
-                                                             keyPair-&gt;PrivateKey(),
-                                                             KCryptoModeEncryptUid,
-                                                             KPaddingModeNoneUid,
-                                                             NULL));
-
-// Having successfully constructed the asymmetric cipher implementation object, 
-// it is possible to retrieve the plug-in characteristics associated with it
-if (asymmetricCipherImpl &amp;&amp; (err == KErrNone))
- {
- CleanupStack::PushL(asymmetricCipherImpl);
-
- // Retrieving common and algorithm-specific characteristics
- // Create a constant pointer of type TCharacteristics used to access the
- // asymmetric cipher plug-in's common and algorithm-specific characteristics
-    const TCharacteristics* chars(NULL);
-
- // Retrieve the common and algorithm-specific characteristics by calling the
- // 'GetCharacteristicsL' method passing in TCharacteristics pointer
- asymmetricCipherImpl-&gt;GetCharacteristicsL(chars);
-
- // Static cast the characteristics to type TAsymmetricCipherCharacteristics
- const TAsymmetricCipherCharacteristics* asymmetricChars = 
-  static_cast&lt;const TAsymmetricCipherCharacteristics*&gt;(chars);
-
- // Retrieve the common characteristics from the TASymmetricCipherCharacteristics
- // object
- const TCommonCharacteristics* asymmetricCommonChars = &amp;asymmetricChars-&gt;cmn;
-
-    TUid implementationId;
-    TBool hardwareSupported;
-    TRomLitC16 creatorName;
-    TInt maximumKeyLength;
-    TInt32 supportedPaddingModes;
-
- // Example of extracting asymmetric common characteristics
- implementationId.iUid = asymmetricCommonChars-&gt;iImplementationUID;
- hardwareSupported = asymmetricCommonChars-&gt;iIsHardwareSupported;
- creatorName = *(asymmetricCommonChars-&gt;iCreatorName);
-
- // Example of extracting asymmetric algorithm specific characteristics
- maximumKeyLength = asymmetricChars-&gt;iMaximumKeyLength;
- supportedPaddingModes = *(asymmetricChars-&gt;iSupportedPaddingModes);
-
- //Retrieving extended characteristics
-
- // Create a constant pointer of type CExtendedCharacteristics used to store and
- // access the asymmetric cipher plug-in extended characteristics. Retrieve
- // the data by calling the 'GetExtendedCharacteristicsL' method and store the
- // returned pointer
- const CExtendedCharacteristics* extendedChars =
-  asymmetricCipherImpl-&gt;GetExtendedCharacteristicsL();
-
- // Const casting the pointer to the CExtendedCharacteristics object allows it to
- // be pushed onto the cleanup stack
- CExtendedCharacteristics* ncExtendedChars =
-  const_cast&lt;CExtendedCharacteristics*&gt;(extendedChars);
- CleanupStack::PushL(ncExtendedChars);
-
- TInt concurrency;
-
- // Each of the extended characteristics for the particular cryptographic
- // implementation can then be accessed by passing the UID value into the
- // appropriate 'Get' method
- concurrency = extendedChars-&gt;GetTIntCharacteristicL(KConcurrencyTypeUid);
- // Alternatively, extended characteristic retrieval can be achieved via the
- // ListExtendedCharacteristics() method of the CExtendedCharacteristics Object.
- // Using the 'ListExtendedCharacteristics' function returns a pointer to a
- // CCryptoParams object, that contains a list of all associated extended
- // characteristics
- const CCryptoParams* extendedCryptoParams = 
-  extendedChars-&gt;ListExtendedCharacteristics();
-
- TBool exclusiveUse;
-
- // The extended characteristics can then be accessed in much the same way as 
- // before, making a call to the appropriate 'Get' method with the UID value of the
- // required type
- exclusiveUse = extendedCryptoParams-&gt;GetTIntL(KExclusiveUseTypeUid);
-
- CleanupStack::PopAndDestroy(2, asymmetricCipherImpl);
- }
-
-// Pop and destroy the remaining items on the cleanup stack
-CleanupStack::PopAndDestroy(3,keyParams);
-    
-</codeblock>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1AAA88BB-19AD-5B8E-993C-11F4B7CD90EB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1AAA88BB-19AD-5B8E-993C-11F4B7CD90EB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 to the <xref href="GUID-1578590A-FC00-5C3B-8BF9-F6E43CA9D9A0.dita">Application
 Architecture </xref> (AppArc). AppArc launches the application
 that best handles the identified data type.  </p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-13-1-1-6-1-6-1-4-1-3-1-3-1"><p>Symbian OS v9.1
+<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-14-1-1-6-1-6-1-4-1-3-1-3-1"><p>Symbian OS v9.1
 and onwards, MIME recognizers are <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECOM</xref> plug-ins.
 They are located in <b>\sys\bin\</b>. </p> <p>Each MIME recognizer is loaded
 by the <xref href="GUID-1578590A-FC00-5C3B-8BF9-F6E43CA9D9A0.dita">Application
--- a/Symbian3/PDK/Source/GUID-1AF99DF6-C5BE-5713-940D-5E9FBD43F123.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1AF99DF6-C5BE-5713-940D-5E9FBD43F123.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,33 +9,31 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1AF99DF6-C5BE-5713-940D-5E9FBD43F123" xml:lang="en"><title>Animation
-example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-6F2D66DB-B099-4D4F-8F98-720B4A67C24A"><title>Description</title> <p>This example is a UI application, which
-demonstrates how to create and play basic and sprite animations. It implements
-all the standard classes required by any application using UI controls such
-as an application, a document, an application UI and a view. </p> <p>The application
+<concept id="GUID-1AF99DF6-C5BE-5713-940D-5E9FBD43F123" xml:lang="en"><title>Animation example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-6F2D66DB-B099-4D4F-8F98-720B4A67C24A"><title>Description</title> <p>This example is a UI application, which demonstrates how to create
+and play basic and sprite animations. It implements all the standard
+classes required by any application using UI controls such as an application,
+a document, an application UI and a view. </p> <p>The application
 provides UI controls to create a sprite animation and a basic client-side
-animation. It also provides UI controls to control the behavior
-of an animation such as, start, stop, pause, resume and move. </p> <p>The
-application plays an animated <filepath>.gif</filepath> file both as a basic
-client-side animation and a server-side sprite animation. It performs the
-following tasks in the order they are listed to create the basic and sprite
-animations: </p> <ol id="GUID-5860A908-A761-5431-AB6E-EEBE4D7CF0FE">
-<li id="GUID-33C9AD3D-8067-5A28-8C83-38A97C03C549"><p>Creates an object of
-the <xref href="GUID-467B3417-C343-3637-B3AE-C1971C4C0BE3.dita"><apiname>CICLAnimationDataProvider</apiname></xref> class. </p> </li>
-<li id="GUID-87DA4E47-1D76-5C16-BE0F-3F64AC00063B"><p>Loads the animated <filepath>.gif</filepath> file
-into the object. </p> </li>
-<li id="GUID-86DA1F4B-A2BA-56FD-B06E-8F369572B320"><p>Configures the animation
-to play in an infinite loop using <xref href="GUID-7B02B3D6-D460-3274-8CE6-839549E6EFD3.dita"><apiname>TAnimationConfig</apiname></xref>. </p> </li>
-<li id="GUID-2BB161BD-24E0-5961-8EDD-9ED0C37C0D2E"><p>Creates objects of <xref href="GUID-12B29886-1D43-37ED-8DC0-6F43D3E591E8.dita"><apiname>CBasicAnimation</apiname></xref> and <xref href="GUID-6BB621FF-F799-357C-BEAC-9767D68E7D50.dita"><apiname>CSpriteAnimation</apiname></xref> classes by passing the data provider object as an argument. </p> </li>
-<li id="GUID-5568FAA9-8C74-5828-8AC9-1325C1AE16F0"><p>Starts animations with
-the <xref href="GUID-7B02B3D6-D460-3274-8CE6-839549E6EFD3.dita"><apiname>TAnimationConfig</apiname></xref> object as an argument. </p> </li>
-</ol> <p>Once both the animations are started, the window server will automatically
-draw the animations onto the window by calling the <codeph>Draw()</codeph> method. </p> </section>
-<section id="GUID-9A796309-6E8C-498C-ADCE-B45821142563"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-00c88af8-a2db-4fe9-af89-545d8b91ea98.zip" scope="external">AnimExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-00c88af8-a2db-4fe9-af89-545d8b91ea98.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-8540B854-4D8F-465C-98A1-CE8D4BEC55C0"><title>Class summary</title> <ul>
+animation. It also provides UI controls to control the behavior of
+an animation such as, start, stop, pause, resume and move. </p> <p>The application plays an animated <filepath>.gif</filepath> file
+both as a basic client-side animation and a server-side sprite animation.
+It performs the following tasks in the order they are listed to create
+the basic and sprite animations: </p> <ol id="GUID-5860A908-A761-5431-AB6E-EEBE4D7CF0FE">
+<li id="GUID-33C9AD3D-8067-5A28-8C83-38A97C03C549"><p>Creates an object
+of the <xref href="GUID-467B3417-C343-3637-B3AE-C1971C4C0BE3.dita"><apiname>CICLAnimationDataProvider</apiname></xref> class. </p> </li>
+<li id="GUID-87DA4E47-1D76-5C16-BE0F-3F64AC00063B"><p>Loads the animated <filepath>.gif</filepath> file into the object. </p> </li>
+<li id="GUID-86DA1F4B-A2BA-56FD-B06E-8F369572B320"><p>Configures the
+animation to play in an infinite loop using <xref href="GUID-7B02B3D6-D460-3274-8CE6-839549E6EFD3.dita"><apiname>TAnimationConfig</apiname></xref>. </p> </li>
+<li id="GUID-2BB161BD-24E0-5961-8EDD-9ED0C37C0D2E"><p>Creates objects
+of <xref href="GUID-12B29886-1D43-37ED-8DC0-6F43D3E591E8.dita"><apiname>CBasicAnimation</apiname></xref> and <xref href="GUID-6BB621FF-F799-357C-BEAC-9767D68E7D50.dita"><apiname>CSpriteAnimation</apiname></xref> classes by passing the data provider object as an argument. </p> </li>
+<li id="GUID-5568FAA9-8C74-5828-8AC9-1325C1AE16F0"><p>Starts animations
+with the <xref href="GUID-7B02B3D6-D460-3274-8CE6-839549E6EFD3.dita"><apiname>TAnimationConfig</apiname></xref> object as an argument. </p> </li>
+</ol> <p>Once both the animations are started, the window server will
+automatically draw the animations onto the window by calling the <codeph>Draw()</codeph> method. </p> </section>
+<section id="GUID-9A796309-6E8C-498C-ADCE-B45821142563"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-00c88af8-a2db-4fe9-af89-545d8b91ea98.zip" scope="external">AnimExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-00c88af8-a2db-4fe9-af89-545d8b91ea98.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-8540B854-4D8F-465C-98A1-CE8D4BEC55C0"><title>Class
+summary</title> <ul>
 <li id="GUID-04DF6CC6-085A-5F96-9981-D6926F9193C3"><p> <xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref> </p> </li>
 <li id="GUID-3902EF29-2C1D-59AE-A4FE-AECDFADDAC85"><p> <xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref> </p> </li>
 <li id="GUID-7A376E96-1E0A-5844-97BC-B753DF809A6B"><p> <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref> </p> </li>
@@ -46,14 +44,10 @@
 <li id="GUID-D0F82278-65D0-55C2-B13B-6D27ED119321"><p> <xref href="GUID-467B3417-C343-3637-B3AE-C1971C4C0BE3.dita"><apiname>CICLAnimationDataProvider</apiname></xref> </p> </li>
 <li id="GUID-D13D4CF7-8C2B-531D-892A-25EBE837E452"><p> <xref href="GUID-7B02B3D6-D460-3274-8CE6-839549E6EFD3.dita"><apiname>TAnimationConfig</apiname></xref> </p> </li>
 </ul> </section>
-<section id="GUID-8A4B78B0-F836-4873-B2AF-E7332438E24D"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-platform build process</xref> describes how to build an application. But,
-use <codeph>abld export</codeph> command before <codeph>abld build</codeph> to
-copy the animated <filepath>.gif</filepath> file to RAM (<filepath>C:\</filepath> drive)
-of the target platform. </p> <p>The AnimExample builds an executable called <filepath>AnimExample.exe</filepath> in
-the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>udeb
-or urel</i> for CodeWarrior). Either launch the executable or launch the emulator
-and then select the AnimExample application from the Emulator's extras bar. </p> </section>
-<section id="GUID-D0CF73E7-ACD7-4A1F-8809-E1AF4AC9C853"><title>See also</title> <p><xref href="GUID-16E7CF5D-4364-5F42-94FF-9F79BB52523D.dita">Using
-Animation</xref>  </p> </section>
+<section id="GUID-8A4B78B0-F836-4873-B2AF-E7332438E24D"><title>Build</title> <p>The Symbian platform build process describes how to build an
+application. But, use <codeph>abld export</codeph> command before <codeph>abld build</codeph> to copy the animated <filepath>.gif</filepath> file to RAM (<filepath>C:\</filepath> drive) of the target platform. </p> <p>The AnimExample builds an executable called <filepath>AnimExample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>udeb or urel</i> for CodeWarrior). Either launch the executable
+or launch the emulator and then select the AnimExample application
+from the Emulator's extras bar. </p> </section>
+<section id="GUID-D0CF73E7-ACD7-4A1F-8809-E1AF4AC9C853"><title>See
+also</title> <p><xref href="GUID-16E7CF5D-4364-5F42-94FF-9F79BB52523D.dita">Using Animation</xref>  </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1AFDDD6F-CB99-587D-A0B5-D3F5B27F7135.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1AFDDD6F-CB99-587D-A0B5-D3F5B27F7135.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 Database in the Central Repository. </p>
 <p>The Comms Database is available on all Symbian platforms. </p>
 <fig id="GUID-51EC89D3-B9BF-5074-95C7-8C8304626F6E">
-<image href="GUID-DF83E798-408C-5E69-9520-A733DAEAB788_d0e109400_href.png" placement="inline"/>
+<image href="GUID-DF83E798-408C-5E69-9520-A733DAEAB788_d0e111823_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-00696F18-F1C8-5810-A9F9-E7215CA451A4.dita"><linktext>Configuring
Binary file Symbian3/PDK/Source/GUID-1B07A953-D652-59A7-8863-32875955B837_d0e449475_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1B07A953-D652-59A7-8863-32875955B837_d0e455320_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1B64E1D9-33AB-4C28-A471-22D4C51FEC43.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1B64E1D9-33AB-4C28-A471-22D4C51FEC43.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 <p>The API to use for the information pop-up is the <xref format="html" href="specs/guides/Information_Preview_Popup_API_Specification/Information_Preview_Popup_API_Specification.html" scope="peer">Info pop-up API</xref>.</p>
 <fig id="GUID-F7BBCA95-5754-44C1-9CCF-3A5B837E98B5">
 <title>Example of tooltip</title>
-<image href="GUID-1D399C05-6CC0-4781-A6E1-1C94CFF8995B_d0e90481_href.png" placement="inline"/>
+<image href="GUID-1D399C05-6CC0-4781-A6E1-1C94CFF8995B_d0e94679_href.png" placement="inline"/>
 </fig>
 <p><b>Design recommendation</b>: Tooltips must not be used for items that
 might open a stylus pop-up menu with touch down and hold. </p>
--- a/Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-5-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-5-1" xml:lang="en"><title>Updating
-System TZ Data Using Software Installation</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-115F9FEC-AAE7-4DAB-9490-261BDA7CA4B6-GENID-1-12-1-12-1-1-8-1-5-1-5-1-2-1">       <p>This tutorial
-describes how to update System TZ Data.</p><p>A client may need to update
-the system time zone database as changes in existing time zone rules are introduced.
-An example is the recent change in DST (daylight saving time) start and end
-times in North America.   </p><p>If there are new time zones in the updated
-TZ database, the update also needs to include localization data for these
-time zones.   </p><p>There may also be a need to make changes to existing
-time zones’ localization data. Examples of this include the correction of
-typographic errors and reflecting city name changes. Notable city name changes
-include Peking to Beijing and Leningrad to Saint Petersburg.   </p><p>To update
-system TZ data a client must create a SIS (Symbian installation) file that
-contains the updated TZ database.  </p><p>Create a Symbian Installation (SIS)
-file that contains the updated TZ database. The SIS file may also contain
-TZ localization resources. To create a SIS file you need to write a PKG (package)
-file, which is a normal text file with the extension <codeph>.pkg</codeph>.
-Example content of this file is given in the following steps:</p></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-5-1-2-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-5-1-2-2-1"><cmd>Specify a language.
-An example is English.</cmd>
-<stepxmp><p><codeblock xml:space="preserve">&amp;EN</codeblock></p></stepxmp>
-</step>
-<step id="GUID-3100AA24-CEA9-47EC-9C8F-B12A701C4FD5-GENID-1-12-1-12-1-1-8-1-5-1-5-1-2-2-2"><cmd>Set a header.</cmd>
-<stepxmp><p><codeblock xml:space="preserve">#{"System TZ Data Update"}, (0x200020B0), 1, 1, 0, TYPE=SP</codeblock></p></stepxmp>
-</step>
-<step id="GUID-37445712-0B81-4F31-AF3C-DA43DB7D4670-GENID-1-12-1-12-1-1-8-1-5-1-5-1-2-2-3"><cmd>Specify the vendor. (This is Symbian):</cmd>
-<stepxmp><p><codeblock xml:space="preserve">%{"Symbian Software Ltd."}
-:"Symbian Software Ltd."
-</codeblock></p></stepxmp>
-</step>
-<step id="GUID-9208FDAF-7774-412A-9371-00EC964E297F-GENID-1-12-1-12-1-1-8-1-5-1-5-1-2-2-4"><cmd>Define local files and the target location to be updated (eclipsed).</cmd>
-<stepxmp><p><codeblock xml:space="preserve">"..\data\tzdb.dbz"-"$:\private\1020383E\tzdb.dbz"
-"..\data\tz.r01 "-"$:\resource\timezonelocalization\timezones.r01"
-"..\data\tzg.r01"-"$:\resource\timezonelocalization\timezonegroups.r01"
-"..\data\tz.r02 "-"$:\resource\timezonelocalization\timezones.r02"
-"..\data\tzg.r02"-"$:\resource\timezonelocalization\timezonegroups.r02"</codeblock></p></stepxmp>
-<info><p>The sample includes the TZ database and two sets of TZ localization
-resources files, one for English (<codeph>*.r01</codeph>) and one for French
-(<codeph>*.r02</codeph>).   </p><p>The PKG file can reference one TZ database.
-The TZ database may be omitted if the update does not require any changes
-to the TZ rules within the TZ database.   </p><p>The PKG file can reference
-any number of sets of TZ localization resources. These resources may be omitted
-if the update does not require any changes to the TZ localization strings.
-  </p><p>For information on building SIS files from PKG files see <xref href="GUID-ED2D5BEA-AD2A-51CE-8CBC-8B5E33DD6356.dita">Secure
-Software Install SIS Tools</xref>. </p></info>
-</step>
-</steps>
-</taskbody><related-links>
-<linklist>
-<link href="GUID-100F41B4-67BE-5978-99DA-C9B6DE8760F7.dita"><linktext>Secure Software
-Install SIS Tools Reference</linktext></link>
-<link href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita"><linktext>Package file
-format</linktext></link>
-</linklist>
-</related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-8-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-8-1" xml:lang="en"><title>Updating
-System TZ Data Using Software Installation</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-115F9FEC-AAE7-4DAB-9490-261BDA7CA4B6-GENID-1-12-1-12-1-1-8-1-5-1-8-1-2-1">       <p>This tutorial
-describes how to update System TZ Data.</p><p>A client may need to update
-the system time zone database as changes in existing time zone rules are introduced.
-An example is the recent change in DST (daylight saving time) start and end
-times in North America.   </p><p>If there are new time zones in the updated
-TZ database, the update also needs to include localization data for these
-time zones.   </p><p>There may also be a need to make changes to existing
-time zones’ localization data. Examples of this include the correction of
-typographic errors and reflecting city name changes. Notable city name changes
-include Peking to Beijing and Leningrad to Saint Petersburg.   </p><p>To update
-system TZ data a client must create a SIS (Symbian installation) file that
-contains the updated TZ database.  </p><p>Create a Symbian Installation (SIS)
-file that contains the updated TZ database. The SIS file may also contain
-TZ localization resources. To create a SIS file you need to write a PKG (package)
-file, which is a normal text file with the extension <codeph>.pkg</codeph>.
-Example content of this file is given in the following steps:</p></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-8-1-2-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-8-1-2-2-1"><cmd>Specify a language.
-An example is English.</cmd>
-<stepxmp><p><codeblock xml:space="preserve">&amp;EN</codeblock></p></stepxmp>
-</step>
-<step id="GUID-3100AA24-CEA9-47EC-9C8F-B12A701C4FD5-GENID-1-12-1-12-1-1-8-1-5-1-8-1-2-2-2"><cmd>Set a header.</cmd>
-<stepxmp><p><codeblock xml:space="preserve">#{"System TZ Data Update"}, (0x200020B0), 1, 1, 0, TYPE=SP</codeblock></p></stepxmp>
-</step>
-<step id="GUID-37445712-0B81-4F31-AF3C-DA43DB7D4670-GENID-1-12-1-12-1-1-8-1-5-1-8-1-2-2-3"><cmd>Specify the vendor. (This is Symbian):</cmd>
-<stepxmp><p><codeblock xml:space="preserve">%{"Symbian Software Ltd."}
-:"Symbian Software Ltd."
-</codeblock></p></stepxmp>
-</step>
-<step id="GUID-9208FDAF-7774-412A-9371-00EC964E297F-GENID-1-12-1-12-1-1-8-1-5-1-8-1-2-2-4"><cmd>Define local files and the target location to be updated (eclipsed).</cmd>
-<stepxmp><p><codeblock xml:space="preserve">"..\data\tzdb.dbz"-"$:\private\1020383E\tzdb.dbz"
-"..\data\tz.r01 "-"$:\resource\timezonelocalization\timezones.r01"
-"..\data\tzg.r01"-"$:\resource\timezonelocalization\timezonegroups.r01"
-"..\data\tz.r02 "-"$:\resource\timezonelocalization\timezones.r02"
-"..\data\tzg.r02"-"$:\resource\timezonelocalization\timezonegroups.r02"</codeblock></p></stepxmp>
-<info><p>The sample includes the TZ database and two sets of TZ localization
-resources files, one for English (<codeph>*.r01</codeph>) and one for French
-(<codeph>*.r02</codeph>).   </p><p>The PKG file can reference one TZ database.
-The TZ database may be omitted if the update does not require any changes
-to the TZ rules within the TZ database.   </p><p>The PKG file can reference
-any number of sets of TZ localization resources. These resources may be omitted
-if the update does not require any changes to the TZ localization strings.
-  </p><p>For information on building SIS files from PKG files see <xref href="GUID-ED2D5BEA-AD2A-51CE-8CBC-8B5E33DD6356.dita">Secure
-Software Install SIS Tools</xref>. </p></info>
-</step>
-</steps>
-</taskbody><related-links>
-<linklist>
-<link href="GUID-100F41B4-67BE-5978-99DA-C9B6DE8760F7.dita"><linktext>Secure Software
-Install SIS Tools Reference</linktext></link>
-<link href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita"><linktext>Package file
-format</linktext></link>
-</linklist>
-</related-links></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-5-1" xml:lang="en"><title>Updating
+System TZ Data Using Software Installation</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-115F9FEC-AAE7-4DAB-9490-261BDA7CA4B6-GENID-1-12-1-13-1-1-8-1-5-1-5-1-2-1">       <p>This tutorial
+describes how to update System TZ Data.</p><p>A client may need to update
+the system time zone database as changes in existing time zone rules are introduced.
+An example is the recent change in DST (daylight saving time) start and end
+times in North America.   </p><p>If there are new time zones in the updated
+TZ database, the update also needs to include localization data for these
+time zones.   </p><p>There may also be a need to make changes to existing
+time zones’ localization data. Examples of this include the correction of
+typographic errors and reflecting city name changes. Notable city name changes
+include Peking to Beijing and Leningrad to Saint Petersburg.   </p><p>To update
+system TZ data a client must create a SIS (Symbian installation) file that
+contains the updated TZ database.  </p><p>Create a Symbian Installation (SIS)
+file that contains the updated TZ database. The SIS file may also contain
+TZ localization resources. To create a SIS file you need to write a PKG (package)
+file, which is a normal text file with the extension <codeph>.pkg</codeph>.
+Example content of this file is given in the following steps:</p></context>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-5-1-2-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-5-1-2-2-1"><cmd>Specify a language.
+An example is English.</cmd>
+<stepxmp><p><codeblock xml:space="preserve">&amp;EN</codeblock></p></stepxmp>
+</step>
+<step id="GUID-3100AA24-CEA9-47EC-9C8F-B12A701C4FD5-GENID-1-12-1-13-1-1-8-1-5-1-5-1-2-2-2"><cmd>Set a header.</cmd>
+<stepxmp><p><codeblock xml:space="preserve">#{"System TZ Data Update"}, (0x200020B0), 1, 1, 0, TYPE=SP</codeblock></p></stepxmp>
+</step>
+<step id="GUID-37445712-0B81-4F31-AF3C-DA43DB7D4670-GENID-1-12-1-13-1-1-8-1-5-1-5-1-2-2-3"><cmd>Specify the vendor. (This is Symbian):</cmd>
+<stepxmp><p><codeblock xml:space="preserve">%{"Symbian Software Ltd."}
+:"Symbian Software Ltd."
+</codeblock></p></stepxmp>
+</step>
+<step id="GUID-9208FDAF-7774-412A-9371-00EC964E297F-GENID-1-12-1-13-1-1-8-1-5-1-5-1-2-2-4"><cmd>Define local files and the target location to be updated (eclipsed).</cmd>
+<stepxmp><p><codeblock xml:space="preserve">"..\data\tzdb.dbz"-"$:\private\1020383E\tzdb.dbz"
+"..\data\tz.r01 "-"$:\resource\timezonelocalization\timezones.r01"
+"..\data\tzg.r01"-"$:\resource\timezonelocalization\timezonegroups.r01"
+"..\data\tz.r02 "-"$:\resource\timezonelocalization\timezones.r02"
+"..\data\tzg.r02"-"$:\resource\timezonelocalization\timezonegroups.r02"</codeblock></p></stepxmp>
+<info><p>The sample includes the TZ database and two sets of TZ localization
+resources files, one for English (<codeph>*.r01</codeph>) and one for French
+(<codeph>*.r02</codeph>).   </p><p>The PKG file can reference one TZ database.
+The TZ database may be omitted if the update does not require any changes
+to the TZ rules within the TZ database.   </p><p>The PKG file can reference
+any number of sets of TZ localization resources. These resources may be omitted
+if the update does not require any changes to the TZ localization strings.
+  </p><p>For information on building SIS files from PKG files see <xref href="GUID-ED2D5BEA-AD2A-51CE-8CBC-8B5E33DD6356.dita">Secure
+Software Install SIS Tools</xref>. </p></info>
+</step>
+</steps>
+</taskbody><related-links>
+<linklist>
+<link href="GUID-100F41B4-67BE-5978-99DA-C9B6DE8760F7.dita"><linktext>Secure Software
+Install SIS Tools Reference</linktext></link>
+<link href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita"><linktext>Package file
+format</linktext></link>
+</linklist>
+</related-links></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-8-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-8-1" xml:lang="en"><title>Updating
+System TZ Data Using Software Installation</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-115F9FEC-AAE7-4DAB-9490-261BDA7CA4B6-GENID-1-12-1-13-1-1-8-1-5-1-8-1-2-1">       <p>This tutorial
+describes how to update System TZ Data.</p><p>A client may need to update
+the system time zone database as changes in existing time zone rules are introduced.
+An example is the recent change in DST (daylight saving time) start and end
+times in North America.   </p><p>If there are new time zones in the updated
+TZ database, the update also needs to include localization data for these
+time zones.   </p><p>There may also be a need to make changes to existing
+time zones’ localization data. Examples of this include the correction of
+typographic errors and reflecting city name changes. Notable city name changes
+include Peking to Beijing and Leningrad to Saint Petersburg.   </p><p>To update
+system TZ data a client must create a SIS (Symbian installation) file that
+contains the updated TZ database.  </p><p>Create a Symbian Installation (SIS)
+file that contains the updated TZ database. The SIS file may also contain
+TZ localization resources. To create a SIS file you need to write a PKG (package)
+file, which is a normal text file with the extension <codeph>.pkg</codeph>.
+Example content of this file is given in the following steps:</p></context>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-8-1-2-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-8-1-2-2-1"><cmd>Specify a language.
+An example is English.</cmd>
+<stepxmp><p><codeblock xml:space="preserve">&amp;EN</codeblock></p></stepxmp>
+</step>
+<step id="GUID-3100AA24-CEA9-47EC-9C8F-B12A701C4FD5-GENID-1-12-1-13-1-1-8-1-5-1-8-1-2-2-2"><cmd>Set a header.</cmd>
+<stepxmp><p><codeblock xml:space="preserve">#{"System TZ Data Update"}, (0x200020B0), 1, 1, 0, TYPE=SP</codeblock></p></stepxmp>
+</step>
+<step id="GUID-37445712-0B81-4F31-AF3C-DA43DB7D4670-GENID-1-12-1-13-1-1-8-1-5-1-8-1-2-2-3"><cmd>Specify the vendor. (This is Symbian):</cmd>
+<stepxmp><p><codeblock xml:space="preserve">%{"Symbian Software Ltd."}
+:"Symbian Software Ltd."
+</codeblock></p></stepxmp>
+</step>
+<step id="GUID-9208FDAF-7774-412A-9371-00EC964E297F-GENID-1-12-1-13-1-1-8-1-5-1-8-1-2-2-4"><cmd>Define local files and the target location to be updated (eclipsed).</cmd>
+<stepxmp><p><codeblock xml:space="preserve">"..\data\tzdb.dbz"-"$:\private\1020383E\tzdb.dbz"
+"..\data\tz.r01 "-"$:\resource\timezonelocalization\timezones.r01"
+"..\data\tzg.r01"-"$:\resource\timezonelocalization\timezonegroups.r01"
+"..\data\tz.r02 "-"$:\resource\timezonelocalization\timezones.r02"
+"..\data\tzg.r02"-"$:\resource\timezonelocalization\timezonegroups.r02"</codeblock></p></stepxmp>
+<info><p>The sample includes the TZ database and two sets of TZ localization
+resources files, one for English (<codeph>*.r01</codeph>) and one for French
+(<codeph>*.r02</codeph>).   </p><p>The PKG file can reference one TZ database.
+The TZ database may be omitted if the update does not require any changes
+to the TZ rules within the TZ database.   </p><p>The PKG file can reference
+any number of sets of TZ localization resources. These resources may be omitted
+if the update does not require any changes to the TZ localization strings.
+  </p><p>For information on building SIS files from PKG files see <xref href="GUID-ED2D5BEA-AD2A-51CE-8CBC-8B5E33DD6356.dita">Secure
+Software Install SIS Tools</xref>. </p></info>
+</step>
+</steps>
+</taskbody><related-links>
+<linklist>
+<link href="GUID-100F41B4-67BE-5978-99DA-C9B6DE8760F7.dita"><linktext>Secure Software
+Install SIS Tools Reference</linktext></link>
+<link href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita"><linktext>Package file
+format</linktext></link>
+</linklist>
+</related-links></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1B96241D-1914-5754-BB4F-954778CE342C_d0e450072_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1B96241D-1914-5754-BB4F-954778CE342C_d0e455917_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254"><title>Overview of the native build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian platform natively runs on ARM processors that use the standard Application Binary Interface (ABI) to run the binary code. This standard interface enable the binaries created by different compilers (that meet the ABI standard) to operate together. For more information about the ABI specification, see <xref scope="external" href="http://www.arm.com/products/DevTools/ABI.html">http://www.arm.com/products/DevTools/ABI.html</xref>. </p> <p>The Symbian platform build tools define native build targets that use either the ARM's RealView Compilation Tools (RVCT), or the GNU Compiler Collection (GCC), known as GCCE. Where, ARM RVCT (<xref scope="external" href="http://www.arm.com/products/DevTools/RealViewDevSuite.html">http://www.arm.com/products/DevTools/RealViewDevSuite.html</xref>) is particularly intended for licensees building ROMs for phones. GCCE is delivered on Symbian platform kits, and is also freely available from <xref scope="external" href="http://www.codesourcery.com">http://www.codesourcery.com</xref>. </p> <p>There are two versions of the ARM ABI, referred to as v1 and v2 respectively. RVCT can be used to build for either of these ABI versions, and GCCE can only be used to build for ARM ABI v2. </p> <p>In addition, the toolchain supports building to three versions of the ARM architecture; v5, v6, and v7. See <xref scope="external" href="http://www.arm.com/products/CPUs/architecture.html">http://www.arm.com/products/CPUs/architecture.html</xref> for details of the ARM architectures. </p> <p>The build targets are intended to generate generic code suitable for execution on processors based on these architectures. The toolchain allows customisation by licensees, for example, in order to target a specific processor more closely: see <xref href="GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita">ARMV5 build customisation</xref>. </p> <p>A summary of the available targets is shown below: </p> <table id="GUID-2FC9F5F7-2EE6-5E78-9BD9-9FB6FD23E7E8"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Target name</b>  </p> </entry> <entry><p> <b>Instruction set</b>  </p> </entry> <entry><p> <b>Compiler</b>  </p> </entry> <entry><p> <b>ABI</b>  </p> </entry> </row> <row><entry><p> <codeph>ARMV5</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v1 </p> </entry> </row> <row><entry><p> <codeph>ARMV5_ABIv2</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>ARMV6</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v1 </p> </entry> </row> <row><entry><p> <codeph>ARMV6_ABIv2</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>ARMV6t2</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>ARMV7</codeph>  </p> </entry> <entry><p>v7 </p> </entry> <entry><p>RVCT 3.1 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCE</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>GCCE 3.4 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCEV6</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>GCCE 3.4 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCEv6t2</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>GCCE 3.4 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCEv7</codeph>  </p> </entry> <entry><p>v7 </p> </entry> <entry><p>GCCE 4.2 </p> </entry> <entry><p>v2 </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>Notes:</b>  </p> <ul><li id="GUID-0FA4F759-AF53-5012-B918-3DB7BFF079D1"><p>The Symbian platform that you build using RVCT 4.0 provides run-time support for executables built using the RVCT 2.2, RVCT 3.1 and RVCT 4.0 toolchains. </p> </li> <li id="GUID-967925CD-6B72-5EEB-9F7E-774C80F5EEC3"><p>From Symbian OS v9.4 onwards, the target names to build a binary conforming to ABIv2 are <codeph>ARMV5</codeph> and <codeph>ARMV6</codeph>, and for ABIv1 they are <codeph>ARMV5_ABIv1</codeph> and <codeph>ARMV6_ABIv1</codeph>. You can switch back to the conventional approach described in the table above. For more details, refer to <xref href="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita">Switching between ABI modes</xref>. </p> </li> </ul> <p>For details of these targets, see: </p> <ul><li id="GUID-57982C1A-37D5-5003-886C-3C9CB0114523"><p><xref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita">ARMV5 build targets</xref> </p> </li> <li id="GUID-41352C9E-196F-5484-BFEF-7F6135D955F1"><p><xref href="GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita">ARMV6 build targets</xref> </p> </li> <li id="GUID-E7C4D7F2-91DC-57AA-BE3B-0849B914BFBA"><p><xref href="GUID-915A1B7D-10BB-5B4A-8C5E-99AD28375AD7.dita">ARMV7 build target</xref> </p> </li> <li id="GUID-D21C0880-4108-5E77-BB44-319A132C362D"><p><xref href="GUID-E48B708E-8B0B-5CF7-80D5-B55966387021.dita">GCCE build targets</xref> </p> </li> </ul> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e377081_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e382925_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1BDADA7A-D517-49F4-AF46-AFC2B7758571.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1BDADA7A-D517-49F4-AF46-AFC2B7758571.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 item is same as that of the scrollbar.</p>
 <fig id="GUID-4BD2501D-187A-4DFE-996B-F749CDAD1F55">
 <title>Slider setting item</title>
-<image href="GUID-5C7F92F7-F3BC-4B00-A093-682AA6A26FFE_d0e92230_href.png" placement="inline"/>
+<image href="GUID-5C7F92F7-F3BC-4B00-A093-682AA6A26FFE_d0e96428_href.png" placement="inline"/>
 </fig>
 <p>The actual slider item usage is specified in applications.</p>
 <table id="GUID-4F77253E-5688-4642-98DD-04CB7FCF38E1-GENID-1-12-1-7-1-1-5-1-16-1-5-1-2-4"><title>Default touch
Binary file Symbian3/PDK/Source/GUID-1BDBFC07-A8E8-5150-953D-CA9CFE1CBF16_d0e351375_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-1BDBFC07-A8E8-5150-953D-CA9CFE1CBF16_d0e357313_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-1BEA00A2-7934-5CF6-A838-44CCA4A28F35.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1BEA00A2-7934-5CF6-A838-44CCA4A28F35"><title>Application registration files</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Introduction</title> <p>An application registration file defines information about an application that is required by the application launcher or system shell. This includes the application’s name, UID and properties. Other information required by the shell, for instance the icons and captions, is defined separately; the location of the icon/caption definitions is provided in the registration file. Before v8.1, all of this information was provided by aif files. In v8.1, both aif files and registration files are supported, but from v9.0 onwards, only registration files are supported. </p> <fig id="GUID-25C677B0-097F-5E86-A6C3-92DF092A0C9A"><title>
-             Registration files
-          </title> <desc><p>This diagram shows: </p> </desc> <image href="GUID-DB6EC285-F5DB-5A7A-AFF3-E423AD4B9F81_d0e715964_href.png" placement="inline"/></fig> <p>A registration file is required by every application, even if it has default properties, icons and caption. Minimally, it must specify the application's UID and the name of the application’s executable. </p> <p>For an example, see <xref href="GUID-188F9462-F805-522A-84FF-770EAB045504.dita">An example registration file and icon/caption file</xref>. </p> </section> <section><title>Registration information</title> <p>A registration file defines the following non-localisable application information; in other words, information that never varies according to the phone’s language setting: </p> <ul><li id="GUID-0AC456CA-D202-5476-A250-2EDF16847DED"><p>the application’s properties, such as whether it is embeddable or hidden, </p> </li> <li id="GUID-7EFFB70B-3F42-5379-B1CD-9B52B56AC895"><p>a group name; this may be used to categorize applications. Note that a group name may also be defined in the localisable file. If so, the localisable version will take precedence. </p> </li> <li id="GUID-493468C8-CE59-56CF-9BA6-FACBF43F8AEA"><p>a number which identifies the screen on which the application is displayed (if the phone has multiple screens). </p> </li> <li id="GUID-9E7AAF73-890E-5BF6-83DC-A8B11B19EE1E"><p>the MIME types supported by the application, and the priority of support for each, </p> </li> <li id="GUID-88039BB3-D3B5-5CFC-8389-1683BB6C267F"><p>a list of files owned by the application, </p> </li> <li id="GUID-2C12A4CC-4B76-5787-98F1-DD7415A27364"><p>a flag that identifies non-standard types of application, </p> </li> <li id="GUID-AA15C72C-F69D-5642-9C08-5E92FC7A0380"><p>for server applications only, a list of the services provided. </p> </li> </ul> <p>All of these properties are defined using an <codeph>APP_REGISTRATION_INFO</codeph> resource struct. See its declaration in <filepath>AppInfo.rh</filepath> for the default values. For more information about these properties, see <xref href="GUID-A6116E8B-9C4A-5B9E-AA8A-BE031408AA2F.dita">Defining application icons, captions and properties</xref>. </p> <p>Most applications also need to define localisable information, for instance non-default captions and icons and possibly a group name (described above). The registration file specifies its location. This can be done in one of two ways: </p> <ul><li id="GUID-7E5B8B94-5889-57F1-9620-B28DD7CEA092"><p>as the name and path (excluding drive letter and extension) of a <xref href="GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita">localisable icon/caption definition file</xref>, </p> </li> <li id="GUID-CEFEEBC7-B20E-560E-947A-D7D49DB36AF8"><p>as the ID of a <codeph>LOCALISABLE_APP_INFO</codeph> resource struct defined in the application’s UI resource file. In this case, the name and path of the application’s UI resource file (excluding drive letter and extension) must also be provided. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e317363_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e323353_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB"><title>Audio Input Streaming Tutorial</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to use Audio Input Streaming. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to open, read and then close an audio input stream. </p> <p><b>Required Background</b> </p> <p>The <xref href="GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita">Audio Input Streaming Overview</xref> provides an introduction to Audio Input Streaming. </p> <p><b>Introduction</b> </p> <p>The audio input stream interface class, <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref>, enables MMF client applications to: </p> <ul><li id="GUID-577E976A-11CC-5054-ABDE-522A30B5FDCF"><p>stream audio data from the low level audio controller (which has collected it from a hardware device, such as a microphone) to specified buffers (record audio). </p> </li> <li id="GUID-71E21858-E184-5B07-AE02-EFBE8F823B6E"><p>specify the priority of the audio stream relative to other clients trying to use the same audio hardware </p> </li> <li id="GUID-BA394ADC-BC3F-5896-BAD0-EB24759DBD36"><p>set the sample rate and the number of channels to use for recording. </p> </li> <li id="GUID-1CEAC638-A49F-5A21-91FC-90B6B56522EA"><p>change the gain and channel balance of the input stream. </p> </li> </ul> <p>The low level audio controller stores the audio data in buffers. <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref> reads these buffers incrementally and does not have to wait until capture is complete. </p> </section> <section><title>Using Audio Input Streaming </title> <p>Typically, using an audio input stream involves the following steps as shown in the sequence diagram below: </p> <fig id="GUID-FC960A5D-EDE5-5245-A736-6A6C00A0AC33"><image href="GUID-65885916-0242-5DDB-9D88-EB214096C4DF_d0e516450_href.png" placement="inline"/></fig> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-1E1A247E-3740-5CAB-AEB7-171F455EE429"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-196AFBAE-8264-5DE2-994D-F2F06CF5CF3A"> Constructing an audio input stream</xref>  </p> </li> <li id="GUID-2744A8AE-A82C-5DAC-8C12-87D9B5ADCA6F"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-51B28404-61E7-54E8-9F4E-730315308EA2">Opening an audio input stream</xref>  </p> </li> <li id="GUID-98480431-5F02-57D0-9564-7F0FFF2782C8"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-4EAC65E0-E108-5BAA-B338-5B19B82D5057"> Getting and setting the stream properties</xref>  </p> </li> <li id="GUID-C03B920D-396F-5A44-9A76-77709CE45D2B"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-BD91C4E9-9BBA-5442-A72E-01B42160DBDA"> Reading an audio input stream</xref>  </p> </li> <li id="GUID-91F3BEEE-52D7-504C-B74D-5C2FB8D59004"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-5811A2A0-5793-5FBB-B01A-AD94590955A8">Stopping an audio input stream</xref>  </p> </li> </ul> <p id="GUID-196AFBAE-8264-5DE2-994D-F2F06CF5CF3A"><b>Basic Procedure to Construct an Audio Input Stream</b> </p> <p>The high level step to construct an audio input stream is shown here: </p> <ul><li id="GUID-DDD98263-FD3A-5057-8E35-72D237807343"><p>The client application creates an audio input stream object using the static function <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita#GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8/GUID-D534A585-D2B7-3906-AD82-E14A5FC1D501"><apiname>CMdaAudioInputStream::NewL()</apiname></xref>. The input stream class provides two versions of the constructor: one with the default priority and preferences, and another with specified priority and preferences. The client application must also implement the observer class <xref href="GUID-6A1EAD31-95CA-3CAC-8897-791E9D522DF0.dita"><apiname>MMdaAudioInputStreamCallback</apiname></xref> to notify it about audio input streaming progress. </p> <p>The following code constructs an audio input stream: </p> <codeblock id="GUID-0749EB33-33FA-5B58-856B-99F96AB9E3A2" xml:space="preserve">CMdaAudioInputStream* aInputStream;
+<concept xml:lang="en" id="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB"><title>Audio Input Streaming Tutorial</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to use Audio Input Streaming. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to open, read and then close an audio input stream. </p> <p><b>Required Background</b> </p> <p>The <xref href="GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita">Audio Input Streaming Overview</xref> provides an introduction to Audio Input Streaming. </p> <p><b>Introduction</b> </p> <p>The audio input stream interface class, <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref>, enables MMF client applications to: </p> <ul><li id="GUID-577E976A-11CC-5054-ABDE-522A30B5FDCF"><p>stream audio data from the low level audio controller (which has collected it from a hardware device, such as a microphone) to specified buffers (record audio). </p> </li> <li id="GUID-71E21858-E184-5B07-AE02-EFBE8F823B6E"><p>specify the priority of the audio stream relative to other clients trying to use the same audio hardware </p> </li> <li id="GUID-BA394ADC-BC3F-5896-BAD0-EB24759DBD36"><p>set the sample rate and the number of channels to use for recording. </p> </li> <li id="GUID-1CEAC638-A49F-5A21-91FC-90B6B56522EA"><p>change the gain and channel balance of the input stream. </p> </li> </ul> <p>The low level audio controller stores the audio data in buffers. <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref> reads these buffers incrementally and does not have to wait until capture is complete. </p> </section> <section><title>Using Audio Input Streaming </title> <p>Typically, using an audio input stream involves the following steps as shown in the sequence diagram below: </p> <fig id="GUID-FC960A5D-EDE5-5245-A736-6A6C00A0AC33"><image href="GUID-65885916-0242-5DDB-9D88-EB214096C4DF_d0e523910_href.png" placement="inline"/></fig> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-1E1A247E-3740-5CAB-AEB7-171F455EE429"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-196AFBAE-8264-5DE2-994D-F2F06CF5CF3A"> Constructing an audio input stream</xref>  </p> </li> <li id="GUID-2744A8AE-A82C-5DAC-8C12-87D9B5ADCA6F"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-51B28404-61E7-54E8-9F4E-730315308EA2">Opening an audio input stream</xref>  </p> </li> <li id="GUID-98480431-5F02-57D0-9564-7F0FFF2782C8"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-4EAC65E0-E108-5BAA-B338-5B19B82D5057"> Getting and setting the stream properties</xref>  </p> </li> <li id="GUID-C03B920D-396F-5A44-9A76-77709CE45D2B"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-BD91C4E9-9BBA-5442-A72E-01B42160DBDA"> Reading an audio input stream</xref>  </p> </li> <li id="GUID-91F3BEEE-52D7-504C-B74D-5C2FB8D59004"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita#GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB/GUID-5811A2A0-5793-5FBB-B01A-AD94590955A8">Stopping an audio input stream</xref>  </p> </li> </ul> <p id="GUID-196AFBAE-8264-5DE2-994D-F2F06CF5CF3A"><b>Basic Procedure to Construct an Audio Input Stream</b> </p> <p>The high level step to construct an audio input stream is shown here: </p> <ul><li id="GUID-DDD98263-FD3A-5057-8E35-72D237807343"><p>The client application creates an audio input stream object using the static function <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita#GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8/GUID-D534A585-D2B7-3906-AD82-E14A5FC1D501"><apiname>CMdaAudioInputStream::NewL()</apiname></xref>. The input stream class provides two versions of the constructor: one with the default priority and preferences, and another with specified priority and preferences. The client application must also implement the observer class <xref href="GUID-6A1EAD31-95CA-3CAC-8897-791E9D522DF0.dita"><apiname>MMdaAudioInputStreamCallback</apiname></xref> to notify it about audio input streaming progress. </p> <p>The following code constructs an audio input stream: </p> <codeblock id="GUID-0749EB33-33FA-5B58-856B-99F96AB9E3A2" xml:space="preserve">CMdaAudioInputStream* aInputStream;
 aInputStream = CMdaAudioInputStream::NewL(aCallback, EMdaPriorityNormal, EMdaPriorityPreferenceTimeAndQuality);</codeblock> <p>where, <codeph>aCallback</codeph> is an <xref href="GUID-6A1EAD31-95CA-3CAC-8897-791E9D522DF0.dita"><apiname>MMdaAudioInputStreamCallback</apiname></xref> object. </p> </li> </ul> <p id="GUID-51B28404-61E7-54E8-9F4E-730315308EA2"><b>Basic Procedure to Open an Audio Input Stream</b> </p> <p>The high level steps to open an audio input stream are shown here: </p> <ol id="GUID-67E0F7C7-E2E3-5882-A21F-254CB2EEBDA3"><li id="GUID-B3AE7481-9750-5352-B10B-D51D1A220F97"><p>To open an input stream, use the <xref href="GUID-20D0D10F-3401-3F72-8AF6-DC35F6025DC2.dita"><apiname>Open()</apiname></xref> member function, which provides a pointer to the <xref href="GUID-06892E22-2EAC-305A-9D3A-F24E7F903427.dita"><apiname>TMdaPackage</apiname></xref> object with the required audio settings. You can also open the stream without the audio settings. For example: </p> <codeblock id="GUID-96065C5F-54F6-59D7-B6F1-BDE71EF46303" xml:space="preserve">aInputStream-&gt;Open(NULL);</codeblock> </li> <li id="GUID-8D443EF2-2FD1-5DBD-BEB3-21C5B7855978"><p>Once the stream is open, a <xref href="GUID-6A1EAD31-95CA-3CAC-8897-791E9D522DF0.dita#GUID-6A1EAD31-95CA-3CAC-8897-791E9D522DF0/GUID-1F9A4EAF-EE58-3FA4-8707-D8C5EDFC0664"><apiname>MMdaAudioInputStreamCallback::MaiscOpenComplete()</apiname></xref> is issued to indicate that the stream is ready for use. </p> <codeblock id="GUID-20F93B48-6662-59F1-A61B-374565A2FCB2" xml:space="preserve">void CIOStreamAudio::MaiscOpenComplete(TInt aError)
     {
     ASSERT(iState==EStateOpeningInput);
--- a/Symbian3/PDK/Source/GUID-1CAECA45-9BAE-583F-B16C-FB8ACD0264D3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1CAECA45-9BAE-583F-B16C-FB8ACD0264D3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1CAECA45-9BAE-583F-B16C-FB8ACD0264D3" xml:lang="en"><title>Patchable
-Constants: KCafLoadPostProductionAgents</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock id="GUID-43B573BA-CB6B-54B7-AB43-77C1914DBA82" xml:space="preserve">EXPORT_C extern const TUint8 KCafLoadPostProductionAgents = 0x00;
-</codeblock>
-<table id="GUID-24A1E82D-C5CE-54A6-BEF9-94E829A7D858">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p>Exported from: </p> </entry>
-<entry><p> <filepath>CAF.DLL</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p>Defined in: </p> </entry>
-<entry><p> <filepath>                 .../os/security/contentmgmt/cafstreamingsupport/source/patchdata.cpp</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p>Purpose: </p> </entry>
-<entry><p>This 8-bit variable is used in agent resolution. It is used to override
-CAF's default resolution behaviour of only loading Content Access Agents (CAAs)
-from the ROM drive. Compile time value is 0 - default resolution behaviour.
-When non-zero CAF will load all CAA visible to the ECOM service regardless
-of the drive. In the emulator platform the default resolution behaviour is
-the same as when this variable is non-zero, therefore loading all CAAs. </p> <p>This
-variable is changed at ROM build time using the patchdata obey keyword. See <xref href="GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita">How to build ROMs with variants</xref>.</p> </entry>
-</row>
-</tbody>
-</tgroup>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1CAECA45-9BAE-583F-B16C-FB8ACD0264D3" xml:lang="en"><title>Patchable Constants: KCafLoadPostProductionAgents</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<codeblock id="GUID-43B573BA-CB6B-54B7-AB43-77C1914DBA82" xml:space="preserve">EXPORT_C extern const TUint8 KCafLoadPostProductionAgents = 0x00;
+</codeblock>
+<table id="GUID-24A1E82D-C5CE-54A6-BEF9-94E829A7D858">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<tbody>
+<row>
+<entry><p>Exported from: </p> </entry>
+<entry><p> <filepath>CAF.DLL</filepath>  </p> </entry>
+</row>
+<row>
+<entry><p>Defined in: </p> </entry>
+<entry><p> <filepath>                 .../os/security/contentmgmt/cafstreamingsupport/source/patchdata.cpp</filepath>  </p> </entry>
+</row>
+<row>
+<entry><p>Purpose: </p> </entry>
+<entry><p>This 8-bit variable is used in agent resolution. It is used
+to override CAF's default resolution behaviour of only loading Content
+Access Agents (CAAs) from the ROM drive. Compile time value is 0 -
+default resolution behaviour. When non-zero CAF will load all CAA
+visible to the ECOM service regardless of the drive. In the emulator
+platform the default resolution behaviour is the same as when this
+variable is non-zero, therefore loading all CAAs. </p> <p>This variable
+is changed at ROM build time using the patchdata obey keyword.</p> </entry>
+</row>
+</tbody>
+</tgroup>
 </table></conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1CB7491C-1207-5C2E-979F-8ABEB95EE9D9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1CB7491C-1207-5C2E-979F-8ABEB95EE9D9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 <section><p>The following diagram describes all the node classes of the XML
 DOM Engine. Refer to the links below for more information about each class. </p> <fig id="GUID-C6E93943-CF46-5583-93DF-BDE4CCE3BC7C">
 <title>           XML DOM Engine classes          </title>
-<image href="GUID-F0DCFAB5-DE92-5336-B4E2-1ED40BE05DEC_d0e684686_href.png" scale="75" placement="inline"/>
+<image href="GUID-F0DCFAB5-DE92-5336-B4E2-1ED40BE05DEC_d0e697513_href.png" scale="75" placement="inline"/>
 </fig> <ul>
 <li id="GUID-22EF7178-178A-52BA-A51E-1B1140DB0668"><p> <xref href="GUID-5748D958-9480-3358-A399-6B92293B86D9.dita"><apiname>RXmlEngDocument</apiname></xref>  </p> </li>
 <li id="GUID-C5634D5A-28E5-50AE-993F-CC0210D1E376"><p> <xref href="GUID-5748D958-9480-3358-A399-6B92293B86D9.dita"><apiname>TXmlEngElement</apiname></xref>  </p> </li>
--- a/Symbian3/PDK/Source/GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD"><title>Set capability test tool SETCAP</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Version 9.0 and later</b> </p> <p>This is a tool that allows you to make a copy of an executable file and to assign a set of capabilities to it. It can also modify the Secure or Vendor IDs. </p> <p>The purpose of the tool is to allow you to test the executable with different capability combinations. It avoids the overhead of maintaining multiple copies of the executable's <filepath>.mmp</filepath> file for each capability combination, and the need to rebuild each copy of the executable after a change to the source code. </p> <p>Note: this is <i>not</i> a native PC utility. It is a command line tool that runs under Symbian platform. </p> <ul><li id="GUID-EAF39BDB-18DD-5231-BA30-7EA067ADF1FE"><p><xref href="GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita#GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD/GUID-EF358C01-0430-52BF-BCE8-52D7AF3675A8">Command line syntax</xref> </p> </li> <li id="GUID-C918BF45-4EF4-5192-93A5-091C2CA8D4E5"><p><xref href="GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita#GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD/GUID-D2B78A44-90D0-565C-920A-BD37C9EBC98D">Arguments</xref> </p> </li> <li id="GUID-85D4C38E-A692-55B8-A4C7-DA6635E982A6"><p><xref href="GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita#GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD/GUID-ADFB53E8-7192-5EC1-9274-7990B6C1CDC4">Notes</xref> </p> </li> </ul> <section id="GUID-EF358C01-0430-52BF-BCE8-52D7AF3675A8"><title>Command line syntax</title> <p>This is the command line syntax: </p> <codeblock id="GUID-98C76729-784F-595F-AAFE-9797D393972C" xml:space="preserve">SETCAP source_exe capability [-SID secureId] [-VID vendorId] [destination_path]</codeblock> </section> <section id="GUID-D2B78A44-90D0-565C-920A-BD37C9EBC98D"><title>Arguments</title> <p>The following arguments are used. </p> <table id="GUID-E4AB5674-48C8-59B3-BB94-4CFB69D70BBE"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <codeph>source_exe</codeph> </p> </entry> <entry><p>The name and the path of an executable file to be copied. If the path is not specified, a default path of <codeph>Z:\SYS\BIN\</codeph> is assumed. </p> </entry> </row> <row><entry><p> <codeph> capability </codeph> </p> </entry> <entry><p>The hexadecimal representation of the set of capabilities. </p> <p>This should be a simple string of hexadecimal characters (i.e. not preceded by <codeph>0x</codeph> characters, and not enclosed by quotation marks etc). </p> <p>For example, the three capabilities: LocalServices, ReadUserData and WriteUserData would be represented by the value of: </p> <codeblock id="GUID-2C3302A4-2DAC-56F4-A38E-974363C5C06E" xml:space="preserve">((1&lt;&lt;ECapabilityLocalServices) | (1&lt;&lt;ECapabilityReadUserData) | (1&lt;&lt;ECapabilityWriteUserData))</codeblock> <p>which in hexadecimal is <codeph>1c000</codeph>. </p> <p>If the value supplied includes capabilities that are not supported by the current version of Symbian platform, then these capabilities are ignored; they are not added to the file. </p> </entry> </row> <row><entry><p> <codeph>-SID secureId </codeph> </p> </entry> <entry><p>The hexadecimal value of the secure ID that is to be assigned. </p> <p>This should be a simple string of hexadecimal characters (i.e. not preceded by <codeph>0x</codeph> characters, and not enclosed by quotation marks etc). </p> <p> <i>This is optional.</i> </p> </entry> </row> <row><entry><p> <codeph>-VID vendorId</codeph> </p> </entry> <entry><p>The hexadecimal value of the vendor ID to be assigned. </p> <p>This should be a simple string of hexadecimal characters (i.e. not preceded by <codeph>0x</codeph> characters, and not enclosed by quotation marks etc). </p> <p> <i>This is optional.</i> </p> </entry> </row> <row><entry><p> <codeph>destination_path</codeph> </p> </entry> <entry><p>The name and path of the target executable to which the executable is copied. </p> <p> <i>This is optional</i>, and if not specified, defaults to <filepath>C:\SYS\BIN\source_executable_name</filepath>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-ADFB53E8-7192-5EC1-9274-7990B6C1CDC4"><title>Notes</title> <ul><li id="GUID-50EBD681-7E66-5BDA-9204-BA1872427A22"><p>If the source executable is in ROM, then it must be a RAM executable image, not an execute-in-place (XIP) image. In other words, its entry in an OBY file must start with "data=" and not "file=". </p> <p>For OBY files generated automatically using <codeph>ABLD
-                ROMFILE</codeph>, this needs to be achieved by using lines similar to the following in the executable's <filepath>.mmp</filepath> file: </p> <codeblock id="GUID-4D14C0CC-A244-5D51-BD25-D49B89D941CC" xml:space="preserve">ROMTARGET    // Empty ROM path means don't include normal execute-in-place file
-RAMTARGET \sys\bin\    // Target path (in ROM) for RAM executable image</codeblock> </li> <li id="GUID-A9AE6B18-BDB5-5398-B8FC-52F79E798169"><p>Symbian platform only allows one binary file with a given name; the name does not include the file path or extension. This means that if <codeph>SETCAP</codeph> is used to make a copy of a binary which is already loaded, then the copy will not be loaded when used with <codeph>RProcess::Create()</codeph>; instead the already loaded version is used. To avoid this, use <codeph>SETCAP</codeph> to give the copy a different name. For example: </p> <p><userinput>SETCAP test.exe 1c000 test2.exe</userinput> </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1CC6FEF0-7D1E-5329-8276-22ACFE3DE362.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1CC6FEF0-7D1E-5329-8276-22ACFE3DE362.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -47,7 +47,7 @@
 construct and maintain a <codeph>CObjectIx</codeph> object. </p> <p>The handle
 number is a combination of a unique id assigned to the object's container
 and a number generated by the object index. </p> <fig id="GUID-14035881-8AD5-50B5-A285-5DD2D7E68FDA">
-<image href="GUID-A10EAF58-6B9F-55A5-B3E4-3D4B91A93C41_d0e338925_href.png" placement="inline"/>
+<image href="GUID-A10EAF58-6B9F-55A5-B3E4-3D4B91A93C41_d0e344897_href.png" placement="inline"/>
 <p>Subsession within a session</p>
 </fig> </section>
 <section id="GUID-93D80DDA-8E2E-462F-8A67-0982B456A8A6"><title>Note</title> <ul>
--- a/Symbian3/PDK/Source/GUID-1CCFBCD1-543F-5C53-A1E7-594591BB5905.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1CCFBCD1-543F-5C53-A1E7-594591BB5905" xml:lang="en"><title>How
-to use CapImportCheck</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><codeph>CapImportCheck</codeph> is a command line tool that allows you
-to compare the capabilities of a binary file with the capabilities of the
-binaries that may import that specific file. </p>
-<p>To use <codeph>CapImportCheck</codeph>, you need to define the name and
-location of the ROM log file, and the Symbian Capability List (<filepath>&lt;EPOCROOT&gt;\epoc32\include\e32capability.h</filepath>). </p>
-<p>You also need to define the location of a file containing dependency data
-for ROM log binaries. This data is generated as a text file by a tool called <codeph>ImportsAnalyser</codeph>,
-provided with <codeph>CapImportCheck</codeph> (see below). This data is used
-by <codeph>CapImportCheck</codeph> to determine which binaries may import
-a given binary.</p>
-<p>The results are presented in HTML format, but may also be printed to the
-standard output.</p>
-<section><title>Running ImportsAnalyser</title> <p><codeph>ImportsAnalyser</codeph> is
-used to generate a mapping between a binary file and the binaries which import
-it. This information is used by <codeph>CapImportCheck</codeph> to determine
-dependency relationships between binaries in the ROM log.</p> <p><b>Command
-line syntax</b> </p> <p>The command line syntax to be used when running <codeph>CapImportsAnalyser</codeph> is
-shown below. </p> <p><codeph>&gt;ImportsAnalyser.pl –r myRom.log [–p pluginTable.pld]
-[–D DependencyDataFile.txt] </codeph> </p> <p><b>Arguments</b> </p> <p>The
-following arguments are used.</p> <table id="GUID-FCFDB3E7-4BE3-59D5-B1B8-593CE485F770">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-r &lt;rom_log_file&gt;</codeph> </p> </entry>
-<entry><p> The name and location of the ROM log file to be checked, in relation
-to the directory where the tool is run from, for example <filepath>.\input\rom.log</filepath>.
-This is mandatory.</p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-p &lt;plugin_table&gt;</codeph> </p> </entry>
-<entry><p>The name of the <filepath>.pld</filepath> file containing plug-in
-relationships. This may be found <filepath>&lt;EPOCROOT&gt;\epoc32\tools\CapTools\data</filepath>.
-If no plug-in table is specified, no dynamic dependencies are generated.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-D &lt;dependency_data_file&gt;</codeph> </p> </entry>
-<entry><p>Defines the location of the output file containing dependency data.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-h</codeph> </p> </entry>
-<entry><p>Displays help information (optional).</p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Example</b> </p> <p>An example of how to use the <codeph>ImportsAnalyser</codeph> tool
-is shown below:</p> <codeblock id="GUID-67B4385F-6292-5833-BF01-D6D92DF1E2FD" xml:space="preserve">&gt;ImportsAnalyser.pl -r .\input\rom.log -p plugintable.pld -D .input\depsData.txt</codeblock> </section>
-<section><title>Running CapImportCheck</title> <p>Once the dependency data
-has been generated, you can run <codeph>CapImportCheck</codeph>. Along with
-the dependency data file, you also need to specify the name and location of
-the ROM log file and the Symbian Capability list.</p> <p>You may also specify
-a capability override file, listing capabilities to be used instead of the
-capabilities of binaries found in the ROM log. </p> <p><b>Command line syntax</b> </p> <p>The
-command line syntax to be used when running <codeph>CapImportCheck</codeph> is
-shown below. </p> <p><codeph>&gt;CapImportCheck.pl -r &lt;rom_log_file&gt;  -s &lt;Symbian_capability_list&gt;
--D &lt;dependency_data_file&gt;  [-o &lt;override_file&gt;] [-R &lt;HTML_report&gt;]</codeph> </p> <p>Mandatory
-arguments are <codeph>-r</codeph>, <codeph>-s</codeph> and <codeph>-D</codeph>.</p> <p><b>Arguments</b> </p> <p>The
-following arguments are used.</p> <table id="GUID-7A42DC75-B9B6-5FDC-BEF9-AB68B6C9CBB6">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-r &lt;rom_log_file&gt;</codeph> </p> </entry>
-<entry><p> The name and location of the ROM log file to be checked, in relation
-to the directory where the tool is run from, for example <filepath>.\input\rom.log</filepath>.
-This is mandatory.</p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-s &lt;Symbian_capability_list&gt;</codeph> </p> </entry>
-<entry><p>The name of the Symbian Capability List, listing all the capabilities
-available to search, and their corresponding values. This is a header file
-named <filepath>e32capability.h</filepath>, located within <filepath>&lt;EPOCROOT&gt;\epoc32\include</filepath>.
-This flag is mandatory.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-D &lt;dependency_data_file&gt;</codeph> </p> </entry>
-<entry><p>Defines the location of the dependency data.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-O &lt;override_file&gt;</codeph> </p> </entry>
-<entry><p>Defines a text file containing a list of binaries and capabilities,
-to be used instead of the ones found in the ROM log. This is optional. </p> <p>The
-file may contain a list of modifications to the set of capabilities granted
-to specified binaries. Capabilities can be added, removed or assigned, using
-the following format:</p> <codeblock id="GUID-2DAF3E35-2A1A-562E-B8F2-851AA5C9FA13" xml:space="preserve">
-agnmodel.dll +00000000 000000c0
-agnmodel.dll -00000000 00808000
-form.dll +00000000 0F80FFFF</codeblock> <p>where the first line specifies
-that <filepath>agnmodel.dll</filepath> should be granted <codeph>c0</codeph> capabilities
-in addition to any existing capabilities, and the second line specifies that
-it should have its <codeph>808000</codeph> capabilities revoked. The third
-line specifies that <filepath>form.dll</filepath> should have those exact
-capabilities regardless of its existing capabilities.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-R &lt;HTML_report&gt;</codeph> </p> </entry>
-<entry><p>Defines the name of the HTML report to be generated in the working
-directory. If not specified, the default name is <filepath>CapImportCheckReport.html</filepath>. </p> </entry>
-</row>
-<row>
-<entry><p><codeph>-h</codeph> </p> </entry>
-<entry><p>Displays help information (optional).</p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Example</b> </p> <p>An example of how to use the <codeph>CapImportCheck</codeph> tool
-is shown below:</p> <codeblock id="GUID-4C707D85-3012-5097-8DB1-B521640CA3E0" xml:space="preserve">&gt;CapImportCheck.pl -r .\input\rom.log -s e32capability.h -D .input\depsData.txt -R results.html</codeblock> </section>
-</conbody><related-links>
-<link href="GUID-7387B16E-1978-5997-ACCB-BEBFD2609C86.dita"><linktext>CapImportCheck
- report - file format</linktext></link>
-<link href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita"><linktext>CapSearch
-Guide</linktext></link>
-<link href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita"><linktext>CapCheck
-Guide</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1D0301C5-52D8-4E4F-BEC3-52037BA2A003.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1D0301C5-52D8-4E4F-BEC3-52037BA2A003.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 The application must call the MTP Client API to start the MTP server (in the
 MTP framework). The MTP Framework then loads the USB MTP Transport plug-in.</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-26-1-1-7-1-5-1-5-1-4-1-6-1-3-2">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-28-1-1-7-1-5-1-5-1-4-1-6-1-3-2">
 <step id="GUID-E9ED382D-211C-4485-8A75-4147E453A8E1"><cmd>The user application
 must instantiate a service provider, <codeph>RMTPClient</codeph>, and connect
 to the MTP Server. </cmd>
--- a/Symbian3/PDK/Source/GUID-1D35F788-A470-5269-93E0-7C33A0013489.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1D35F788-A470-5269-93E0-7C33A0013489.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-1D35F788-A470-5269-93E0-7C33A0013489"><title>Creating a Table </title><shortdesc>This tutorial shows you how to create a Symbian SQL table. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> <context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-24-1-1-6-1-1-9-1-8-1-6-1-3-1"><p>This tutorial uses code from the <xref href="GUID-C2FCE726-FD87-52BF-8AF8-7F54FB6D6CB1.dita">Basic SQL example application</xref>. </p> <p><b>Assumptions </b> </p> <p>You have a database. The database has no tables and therefore no data. </p> <p><b>SQL statements </b> </p> <p>The following SQL statements are used for this example: </p> <p><userinput>CREATE TABLE Pets( person TEXT, cat SMALLINT, dog SMALLINT, rodent SMALLINT, bird SMALLINT)</userinput> </p> <p>The <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase::Exec</apiname></xref> function provides a mechanism for executing Symbian SQL statements. </p> </context> <steps id="GUID-CF509D01-A43D-5B06-86B3-2F3F27E56DD1"><step id="GUID-8C01D480-6297-5663-B7B2-54988FABD459"><cmd>Create a table </cmd> <info>The steps required to create a table are shown here: </info> <substeps id="GUID-1A0FC730-B110-5EE6-8EB6-9CC10750CE9F"><substep id="GUID-4B88DCB9-FF03-5D4E-A061-FE5D8F686FC9"><cmd>Declare a constant to hold the table handle: </cmd> <stepxmp><codeblock id="GUID-98F9AF2B-5599-5490-A90A-6299814EE1FB" xml:space="preserve">_LIT(KTabCreate,"CREATE TABLE Pets( person TEXT, cat SMALLINT, dog SMALLINT, rodent SMALLINT, bird SMALLINT);");</codeblock> </stepxmp> <stepresult> <codeph>KTabCreate</codeph> will be used later by the SQL EXECUTE command. </stepresult> </substep> <substep id="GUID-A7BAF541-EF41-5A75-8560-2553B81B35CC"><cmd>Instantiate the required objects: </cmd> <stepxmp><codeblock id="GUID-69EC7894-C3C9-5BE3-B54A-66651C1647E1" xml:space="preserve">RSqlDatabase db;
+<task xml:lang="en" id="GUID-1D35F788-A470-5269-93E0-7C33A0013489"><title>Creating a Table </title><shortdesc>This tutorial shows you how to create a Symbian SQL table. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> <context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-27-1-1-6-1-1-9-1-8-1-6-1-3-1"><p>This tutorial uses code from the <xref href="GUID-C2FCE726-FD87-52BF-8AF8-7F54FB6D6CB1.dita">Basic SQL example application</xref>. </p> <p><b>Assumptions </b> </p> <p>You have a database. The database has no tables and therefore no data. </p> <p><b>SQL statements </b> </p> <p>The following SQL statements are used for this example: </p> <p><userinput>CREATE TABLE Pets( person TEXT, cat SMALLINT, dog SMALLINT, rodent SMALLINT, bird SMALLINT)</userinput> </p> <p>The <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase::Exec</apiname></xref> function provides a mechanism for executing Symbian SQL statements. </p> </context> <steps id="GUID-CF509D01-A43D-5B06-86B3-2F3F27E56DD1"><step id="GUID-8C01D480-6297-5663-B7B2-54988FABD459"><cmd>Create a table </cmd> <info>The steps required to create a table are shown here: </info> <substeps id="GUID-1A0FC730-B110-5EE6-8EB6-9CC10750CE9F"><substep id="GUID-4B88DCB9-FF03-5D4E-A061-FE5D8F686FC9"><cmd>Declare a constant to hold the table handle: </cmd> <stepxmp><codeblock id="GUID-98F9AF2B-5599-5490-A90A-6299814EE1FB" xml:space="preserve">_LIT(KTabCreate,"CREATE TABLE Pets( person TEXT, cat SMALLINT, dog SMALLINT, rodent SMALLINT, bird SMALLINT);");</codeblock> </stepxmp> <stepresult> <codeph>KTabCreate</codeph> will be used later by the SQL EXECUTE command. </stepresult> </substep> <substep id="GUID-A7BAF541-EF41-5A75-8560-2553B81B35CC"><cmd>Instantiate the required objects: </cmd> <stepxmp><codeblock id="GUID-69EC7894-C3C9-5BE3-B54A-66651C1647E1" xml:space="preserve">RSqlDatabase db;
 CConsoleBase* iConsole;</codeblock> </stepxmp> <info>This creates an RSqlDatabase object, which is needed to execute the SQL statement. </info> </substep> <substep id="GUID-98878406-01F8-5162-818A-2A53BE5FF96B"><cmd>Execute the SQL statement: </cmd> <stepxmp><codeblock id="GUID-4E02D739-ABF7-54E5-89FF-3EDD943A8231" xml:space="preserve">db.Exec(KTabCreate)</codeblock> </stepxmp> <info>This will execute the SQL statement to create the table. </info> </substep> </substeps> <stepresult>The table now exists and you can begin adding data to it. </stepresult> </step> </steps> <result id="GUID-D697ACB5-9E8C-5F6A-972F-8D150AD5D469"><p>Your database now has at least one table. You can begin to add data to the table and you can query and edit it. </p> </result> <example id="GUID-630D1DAD-F3AA-58D1-9E92-7A07097D9DEF"><title>Create table example</title> <p>The following code snippet is from the example used for this tutorial: </p> <codeblock id="GUID-76426336-3BF5-5126-8224-C7E372E2CA29" xml:space="preserve">_LIT(KTabCreate,"CREATE TABLE Pets( person TEXT, cat SMALLINT, dog SMALLINT, rodent SMALLINT, bird SMALLINT);");
 _LIT(KCreateTable,"\nCreating a table\n");
 ...
Binary file Symbian3/PDK/Source/GUID-1D399C05-6CC0-4781-A6E1-1C94CFF8995B_d0e90481_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1D399C05-6CC0-4781-A6E1-1C94CFF8995B_d0e94679_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1D3E61BD-C09D-51FD-A10B-22392FDAEFEC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1D3E61BD-C09D-51FD-A10B-22392FDAEFEC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -103,7 +103,7 @@
 <section id="GUID-CA1BB80F-5A1C-5B66-8091-84625A0A9CFB"><title>Peripheral
 power state diagram and transitions</title> <fig id="GUID-A1F2E1D2-FA3B-55C3-B7A3-1AECBDC37453">
 <title>Peripheral power state diagram</title>
-<image href="GUID-E55B594F-CC84-5984-9307-9819F6EBEB7F_d0e389916_href.png" placement="inline"/>
+<image href="GUID-E55B594F-CC84-5984-9307-9819F6EBEB7F_d0e395769_href.png" placement="inline"/>
 </fig> <p>It can be assumed that when the peripheral driver is loaded, the
 peripheral is put into the <i>Low Power</i> state. If a new request is asserted
 on that peripheral driver from a user of that peripheral (which can include
@@ -125,6 +125,6 @@
 the power manager so requests. It can be moved back to the <i>Operational
 Power</i> state on an internal event (Interrupt, Timer). </p> <fig id="GUID-C5AED7DE-18A1-5FBF-B1E4-44067F246CC2">
 <title>Peripheral power states</title>
-<image href="GUID-EFEACBE5-B9E1-5315-88CA-DA3B7C1BFCE0_d0e389963_href.png" placement="inline"/>
+<image href="GUID-EFEACBE5-B9E1-5315-88CA-DA3B7C1BFCE0_d0e395816_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1D58231A-7DDF-46DB-B5A6-7A326BD954F3_d0e455588_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1D58231A-7DDF-46DB-B5A6-7A326BD954F3_d0e461433_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-11-1-1-5-1-8-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-11-1-1-5-1-8-1" xml:lang="en"><title>Finding
+the cryptographic strength</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The <xref href="GUID-975EEB8D-32AC-3182-B69C-CEE365505AC4.dita"><apiname>TCrypto</apiname></xref> class enables the user software to find
+out the strength of a Cryptography library. The example below illustrates
+how: </p>
+<codeblock id="GUID-130CBA8C-0629-52A9-BB96-20E50A4DE417-GENID-1-12-1-26-1-1-11-1-1-5-1-8-1-2-2" xml:space="preserve">
+// 1. Get the cryptography strength.
+
+TCrypto::TStrength strength = TCrypto::Strength();
+
+
+// 2. Determine the cryptographic strength.
+
+switch (strength)
+    {
+    case TCrypto::EWeak:
+        // Using 56 bit key strength.
+        break;
+    case TCrypto::EStrong:
+        // Using 512 bit key strength.
+        break;
+    default:
+    }
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1" xml:lang="en"><title>Finding
+the cryptographic strength</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The <xref href="GUID-975EEB8D-32AC-3182-B69C-CEE365505AC4.dita"><apiname>TCrypto</apiname></xref> class enables the user software to find
+out the strength of a Cryptography library. The example below illustrates
+how: </p>
+<codeblock id="GUID-130CBA8C-0629-52A9-BB96-20E50A4DE417-GENID-1-12-1-26-1-1-9-1-5-1-9-1-2-2" xml:space="preserve">
+// 1. Get the cryptography strength.
+
+TCrypto::TStrength strength = TCrypto::Strength();
+
+
+// 2. Determine the cryptographic strength.
+
+switch (strength)
+    {
+    case TCrypto::EWeak:
+        // Using 56 bit key strength.
+        break;
+    case TCrypto::EStrong:
+        // Using 512 bit key strength.
+        break;
+    default:
+    }
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E" xml:lang="en"><title>Finding
-the cryptographic strength</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <xref href="GUID-975EEB8D-32AC-3182-B69C-CEE365505AC4.dita"><apiname>TCrypto</apiname></xref> class enables the user software to find
-out the strength of a Cryptography library. The example below illustrates
-how: </p>
-<codeblock id="GUID-130CBA8C-0629-52A9-BB96-20E50A4DE417" xml:space="preserve">
-// 1. Get the cryptography strength.
-
-TCrypto::TStrength strength = TCrypto::Strength();
-
-
-// 2. Determine the cryptographic strength.
-
-switch (strength)
-    {
-    case TCrypto::EWeak:
-        // Using 56 bit key strength.
-        break;
-    case TCrypto::EStrong:
-        // Using 512 bit key strength.
-        break;
-    default:
-    }
-</codeblock>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,24 +10,24 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8" xml:lang="en"><title>Minimal: A Minimal UI Application</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A92B8EF3-4294-4953-A521-DC74801DBF82"><title>Download</title> <p>Click on the following link to
-download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ee094a10-e9ff-41e1-9df3-61714ac82b24.zip" scope="external">Minimal.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ee094a10-e9ff-41e1-9df3-61714ac82b24.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-3BFFBEFD-103D-4E51-9F1D-093DB7BD5361"><title>Description</title> <p>This example demonstrates a
-minimal UI application without the use of resource files. It implements
-the standard classes required by the UI framework of any application;
-application, document, application UI and view, all of which are implemented
-minimally. </p> </section>
-<section id="GUID-F7482315-D24E-4CE7-9DE1-4C40F674C554"><title> Application class</title> <p>The application class
-implements the following required functions: </p> <ul>
+<section id="GUID-A92B8EF3-4294-4953-A521-DC74801DBF82"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ee094a10-e9ff-41e1-9df3-61714ac82b24.zip" scope="external">Minimal.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ee094a10-e9ff-41e1-9df3-61714ac82b24.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-3BFFBEFD-103D-4E51-9F1D-093DB7BD5361"><title>Description</title> <p>This example demonstrates a minimal UI application without the
+use of resource files. It implements the standard classes required
+by the UI framework of any application; application, document, application
+UI and view, all of which are implemented minimally. </p> </section>
+<section id="GUID-F7482315-D24E-4CE7-9DE1-4C40F674C554"><title> Application
+class</title> <p>The application class implements the following required
+functions: </p> <ul>
 <li id="GUID-EB8223E8-41E8-57BF-A02C-E3F964126342"><p><xref href="GUID-C0297A58-2E39-3211-A2B4-C334192CE2A7.dita#GUID-C0297A58-2E39-3211-A2B4-C334192CE2A7/GUID-7A74BD90-DCE5-3BE0-ADC0-B8CE2CCE51D2"><apiname>CApaApplication::CreateDocumentL(CApaProcess*)</apiname></xref>  </p> </li>
 <li id="GUID-E653F464-EA55-5AF9-A3CF-559CE2FCF07A"><p><xref href="GUID-C0297A58-2E39-3211-A2B4-C334192CE2A7.dita#GUID-C0297A58-2E39-3211-A2B4-C334192CE2A7/GUID-E6593AB2-2623-3ACA-99F5-6A26AE030880"><apiname>CApaApplication::AppDllUid()
 const</apiname></xref>  </p> </li>
 </ul> <p>Because the application does not use a resource file, it
 also needs to override <codeph>CEikApplication::ResourceFileName()</codeph>, to return an empty resource filename. </p> </section>
-<section id="GUID-3A0466DA-43F1-4947-8096-FD1D2254BEF3"><title>Document class</title> <p>The document class must
-implement <xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita#GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB/GUID-37544F28-FD9A-3E11-96B8-7DA8BC84CC59"><apiname>CEikDocument::CreateAppUiL()</apiname></xref>. </p> </section>
-<section id="GUID-58A9536D-E3A9-4E37-97EE-D86AD7BABA0F"><title>Application UI class</title> <p>The app UI class implements
-the following required functions: </p> <ul>
+<section id="GUID-3A0466DA-43F1-4947-8096-FD1D2254BEF3"><title>Document
+class</title> <p>The document class must implement <xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita#GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB/GUID-37544F28-FD9A-3E11-96B8-7DA8BC84CC59"><apiname>CEikDocument::CreateAppUiL()</apiname></xref>. </p> </section>
+<section id="GUID-58A9536D-E3A9-4E37-97EE-D86AD7BABA0F"><title>Application
+UI class</title> <p>The app UI class implements the following required
+functions: </p> <ul>
 <li id="GUID-E5798DAA-50F5-5A65-B5CB-BD1E9C950952"><p>A <codeph>ConstructL()</codeph>. This must call <codeph>CEikAppUi::BaseConstructL()</codeph>. The <codeph>ENoAppResourceFile</codeph> flag is used to indicate that it has
 no resource file, and <codeph>ENoScreenFurniture</codeph> indicates
 that it does not require any resource independent 'screen furniture',
@@ -37,16 +37,20 @@
 to delete the view. </p> </li>
 <li id="GUID-CAD683D3-CEC8-55C2-A59B-92B84BA9A27E"><p>A <codeph>HandleCommandL()</codeph> This app UI only handles a single command, to exit the application. </p> </li>
 </ul> </section>
-<section id="GUID-2B8EBB22-2EF0-48C7-967F-6A5AB3A48F13"><title>View class</title> <p>Views are controls, derived
-from <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref>. Their main purpose is to display
-the application's data and to handle input. This view overrides <codeph>CCoeControl::Draw()</codeph>, to display a message in the centre
-of the screen rectangle. It does not handle any key or pen input. </p> </section>
-<section id="GUID-DDA57900-42FB-4C4B-B68B-964DD6601B44"><title>Class Summary</title><ul>
+<section id="GUID-2B8EBB22-2EF0-48C7-967F-6A5AB3A48F13"><title>View
+class</title> <p>Views are controls, derived from <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref>. Their main purpose is to display the application's data and to
+handle input. This view overrides <codeph>CCoeControl::Draw()</codeph>, to display a message in the centre of the screen rectangle. It
+does not handle any key or pen input. </p> </section>
+<section id="GUID-DDA57900-42FB-4C4B-B68B-964DD6601B44"><title>Class
+Summary</title><ul>
 <li><p><xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref></p></li>
 <li><p><xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref></p></li>
 <li><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p></li>
 <li><p><xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref></p></li>
 </ul></section>
-<section id="GUID-E35DE76E-896C-4127-8900-715D6381D240"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian build process</xref> describes how to build an application. </p> <p>The <filepath>Minimal</filepath> example builds an executable called <filepath>Minimal.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). Either launch the executable
-itself, or launch the emulator and then select the <filepath>Minimal</filepath> application from the Emulator's extras bar. </p> </section>
+<section id="GUID-E35DE76E-896C-4127-8900-715D6381D240"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The <filepath>Minimal</filepath> example builds
+an executable called <filepath>Minimal.exe</filepath> in the standard
+location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). Either launch the executable itself, or launch
+the emulator and then select the <filepath>Minimal</filepath> application
+from the Emulator's extras bar. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept xml:lang="en" id="GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588"><title>Bluetooth GPS PSY Events API Overview</title><shortdesc>The Bluetooth GPS PSY Events API uses the Publish and Subscribe (P&amp;S) service to notify clients about the state of the PSY and the connected Bluetooth GPS device. The API is for developers who write components to notify users of changes in the Bluetooth GPS PSY state. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>A client of this API would typically be a UI component that reports the status of the Bluetooth GPS PSY to a device user. The component would typically be a Notifier or a UI component in a status bar. </p> </section> <section><title>Library details</title> <p>This API consists of a set of P&amp;S keys defined in the header file <filepath>BtGpsPsyPrivatePSKeys.h</filepath>. Applications must link with <codeph>euser.lib</codeph>  <codeph/>to use this API. </p> </section> <section id="GUID-8901A822-7CD5-5023-88B9-F912BEC0086D"><title>Description</title> <p id="GUID-96A15FD9-025B-54C7-97BC-5FA1518FA83C"><b>Use cases</b> </p> <p>The use cases of this API are: </p> <ul><li id="GUID-A28956BB-4A79-5BC7-A7F3-7722EC69DAB7"><p>Listening for changes in state of the Bluetooth GPS PSY and the connected Bluetooth GPS device. </p> </li> <li id="GUID-19F54031-565F-54C8-92F7-0C07D92D62F0"><p>Retrieving the current state of the Bluetooth GPS PSY. </p> </li> </ul> <p id="GUID-739D861D-8BE9-5BFD-81AE-4F7D8E5536CA"><b>API class structure</b> </p> <p>This API doesn’t define any classes. It defines a Bluetooth GPS PSY events P&amp;S category <xref href="GUID-8E951395-C57E-3F23-AB0D-CAF24343B935.dita"><apiname>KPsUidBluetoothGpsPsy</apiname></xref>, some keys and some enumerated types for key values. These are defined in the <filepath>BtGpsPsyPrivatePSKeys.h</filepath>. </p> </section> <section id="GUID-DA9B90A9-DAE4-5995-9790-528C622B0BA3"><title>Using the Bluetooth GPS PSY Events API</title> <p>To listen for Bluetooth GPS PSY state changes, clients subscribe for notifications of changes in P&amp;S keys from the <xref href="GUID-8E951395-C57E-3F23-AB0D-CAF24343B935.dita"><apiname>KPsUidBluetoothGpsPsy</apiname></xref> category. When a state change is reported, the client reads the new value and can respond to the change event (such as by showing a dialog to the user). An API client does not require any capabilities to read key values. </p> <p>See <xref href="GUID-FE910347-7CC1-5241-B443-88AD3F5A96EF.dita">Using Publish and Subscribe</xref> for details of how to get key values and subscribe for notification of value changes. </p> <p>The following table describes Bluetooth GPS PSY P&amp;S keys and values which are defined in <filepath>BtGpsPsyPrivatePSKeys.h</filepath>. </p> <table id="GUID-06E6ECA2-9C6B-50DB-9292-671B76319CC1"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Keys</entry> <entry>Description</entry> <entry>Possible values</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-DD9E328E-D841-394B-B52D-092D23D2B7AE.dita"><apiname>KBluetoothGpsPsyState</apiname></xref>  </p> </entry> <entry><p>The current state of the PSY. </p> </entry> <entry><p>Whether the PSY is loaded and whether it is connected to a particular type of device (PNOK or non PNOK) etc. </p> <p>Defined by <xref href="GUID-F28631C5-711C-3943-803C-FA659AD9CDBD.dita"><apiname>TBTGPSPSYState</apiname></xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-8DAAA1F1-05E4-3A4A-87B5-86C2E6BEDE5E.dita"><apiname> KBluetoothGpsPsyBatteryLevel</apiname></xref>  </p> </entry> <entry><p>The battery charge remaining in the Bluetooth GPS device. </p> </entry> <entry><p>A value between 0-100 (100 means battery is full) </p> </entry> </row> <row><entry><p> <xref href="GUID-B17D619A-91FA-3E6E-80D4-EFEF5898979E.dita"><apiname> KBluetoothGpsPsyBatteryState</apiname></xref>  </p> </entry> <entry><p>The battery charge remaining in the Bluetooth GPS device represented in three different bands: </p> <ul><li id="GUID-67A699BC-B9EB-5266-8AD7-0C45FE0AAD28"><p>Low: voltage level &lt; 10% </p> </li> <li id="GUID-32328D4E-9348-50C4-8356-3B9DC7CB724F"><p>High: voltage level &gt; 90% </p> </li> <li id="GUID-37933EDE-3FA1-5C4B-82E4-66F7CAD9F029"><p>Normal: voltage level 10%-90%. </p> </li> </ul> </entry> <entry><p>Defined by <xref href="GUID-53DF8A44-47B4-3EC4-B7BF-FE11C2226102.dita"><apiname>TBTGPSBatteryState</apiname></xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-118FD9B6-22DD-3621-9502-BE4526CE7EF8.dita"><apiname> KBluetoothGpsPsyExtAntennaState</apiname></xref>  </p> </entry> <entry><p>Whether an external antenna is connected to Bluetooth GPS device. </p> <p>An external antenna can be connected to a GPS device when it is in an environment where the GPS signal is weak or blocked. </p> </entry> <entry><p>Defined by <xref href="GUID-2587BFB7-E7C0-3B78-9494-F8FBC16DE508.dita"><apiname>TBTGPSExtAntennaState</apiname></xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-06B16896-9C2E-3EBF-A701-A377055EDC78.dita"><apiname>KBluetoothGpsPsyExtPowerState</apiname></xref>  </p> </entry> <entry><p>Whether a battery charger is connected to the Bluetooth GPS device. </p> </entry> <entry><p>Defined by <xref href="GUID-8B3DE9EF-B163-3C00-8799-A6D53A0B1196.dita"><apiname>TBTGPSExtPowerState</apiname></xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-673A43DB-EAE9-37A5-9465-7BD69DD6470B.dita"><apiname>KBluetoothGpsPsyVersion</apiname></xref>  </p> </entry> <entry><p>Version of Bluetooth GPS PSY currently in use. </p> </entry> <entry><p>Descriptor with maximum length 32. </p> </entry> </row> <row><entry><p> <xref href="GUID-BF9130DC-B3BB-335A-94FB-6C1352162F36.dita"><apiname> KBluetoothGpsPsyBtHwVersion</apiname></xref>  </p> </entry> <entry><p>Version of Bluetooth hardware in the Bluetooth GPS device. </p> </entry> <entry><p>Descriptor with maximum length 32. </p> <p> </p> </entry> </row> <row><entry><p> <xref href="GUID-6C53B9F4-3537-38A6-A59B-497AAC734E64.dita"><apiname>KBluetoothGpsPsyBtSwVersion</apiname></xref>  </p> </entry> <entry><p>Version of Bluetooth software in the Bluetooth GPS device. </p> </entry> <entry><p>Descriptor with maximum length 32. </p> </entry> </row> <row><entry><p> <xref href="GUID-9905E244-9E97-3690-A870-3B79C4E7205A.dita"><apiname> KBluetoothGpsPsyGpsHwVersion</apiname></xref>  </p> </entry> <entry><p>Version of GPS chipset in the Bluetooth GPS device. </p> </entry> <entry><p>Descriptor with maximum length 32. </p> </entry> </row> <row><entry><p> <xref href="GUID-CAC8CE54-DF10-3190-97B0-840F850AE21A.dita"><apiname>KBluetoothGpsPsyGpsSwVersion</apiname></xref>  </p> </entry> <entry><p>Version of GPS software in the Bluetooth GPS device. </p> </entry> <entry><p>Descriptor with maximum length 32. </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-626F69E4-730F-55EE-A93C-B050ED6A11CC"><b>Listening for changes in the state of Bluetooth GPS PSY</b> </p> <p>Figure 1 is a sequence diagram describing notifications to the client about Bluetooth GPS PSY state changes. </p> <fig id="GUID-6DEDC4E6-97DD-513A-BBC1-A4EA24521B1F"><title>
                 Figure 1. Registering for and receiving Bluetooth GPS device state
                 change events. 
-             </title> <image href="GUID-147C77CB-16A1-548B-A1C7-05F2C5FF9E27_d0e462630_href.png" placement="inline"/></fig> <p id="GUID-0FD168EE-E566-5C33-B1C0-84594659410B"><b>Retrieving current state of Bluetooth GPS PSY</b> </p> <p>Figure 2 shows a sequence diagram that describes retrieval of the current state of Bluetooth GPS PSY. </p> <fig id="GUID-E44DF87A-B4A7-5793-8B78-0437450B1FB6"><title>
+             </title> <image href="GUID-147C77CB-16A1-548B-A1C7-05F2C5FF9E27_d0e468475_href.png" placement="inline"/></fig> <p id="GUID-0FD168EE-E566-5C33-B1C0-84594659410B"><b>Retrieving current state of Bluetooth GPS PSY</b> </p> <p>Figure 2 shows a sequence diagram that describes retrieval of the current state of Bluetooth GPS PSY. </p> <fig id="GUID-E44DF87A-B4A7-5793-8B78-0437450B1FB6"><title>
                 Figure 2. Getting the current value of a Bluetooth GPS property. 
-             </title> <image href="GUID-D5707217-DE3F-551D-82C9-C82D3047D90E_d0e462644_href.png" placement="inline"/></fig> <p id="GUID-B6C7FF94-5CCB-5434-9EC3-9DFCF3E01CE5"><b>Error handling</b> </p> <p>The Bluetooth GPS PSY Events API does not define or use any error codes. Refer to the <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> class description in reference documentation for further details on error handling when using Publish and Subscribe. </p> <p id="GUID-9BCD48ED-CAA1-57D5-8DE0-A05FA1BFE2F9"><b>Memory overhead</b> </p> <p>The Bluetooth GPS PSY Events API does not require any additional memory above that needed for normal use of Publish and Subscribe. </p> </section> </conbody><related-links><link href="GUID-FE910347-7CC1-5241-B443-88AD3F5A96EF.dita"><linktext>Using Publish and Subscribe</linktext> </link> <link href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita"><linktext>Bluetooth
+             </title> <image href="GUID-D5707217-DE3F-551D-82C9-C82D3047D90E_d0e468489_href.png" placement="inline"/></fig> <p id="GUID-B6C7FF94-5CCB-5434-9EC3-9DFCF3E01CE5"><b>Error handling</b> </p> <p>The Bluetooth GPS PSY Events API does not define or use any error codes. Refer to the <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> class description in reference documentation for further details on error handling when using Publish and Subscribe. </p> <p id="GUID-9BCD48ED-CAA1-57D5-8DE0-A05FA1BFE2F9"><b>Memory overhead</b> </p> <p>The Bluetooth GPS PSY Events API does not require any additional memory above that needed for normal use of Publish and Subscribe. </p> </section> </conbody><related-links><link href="GUID-FE910347-7CC1-5241-B443-88AD3F5A96EF.dita"><linktext>Using Publish and Subscribe</linktext> </link> <link href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita"><linktext>Bluetooth
                 GPS PSY Settings Storage API Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1DD48C1F-B7E0-5379-BDF1-70C8744B57DD_d0e275189_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1DD48C1F-B7E0-5379-BDF1-70C8744B57DD_d0e281189_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1DDFFB60-BBA8-500E-A9B1-F048EE5BFBD0_d0e236781_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1DDFFB60-BBA8-500E-A9B1-F048EE5BFBD0_d0e242754_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1E25EE44-9421-549C-B79E-AEFE87308011_d0e519273_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1E25EE44-9421-549C-B79E-AEFE87308011_d0e526733_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1E2DC905-472F-519F-A390-A1189FCB0F9D_d0e611107_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-1E2DC905-472F-519F-A390-A1189FCB0F9D_d0e650261_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-1E43E258-A926-5D24-B0A5-8756491C687F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1E43E258-A926-5D24-B0A5-8756491C687F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -173,7 +173,7 @@
 while <codeph>B()</codeph> is active. </p> <p>This scenario happens frequently
 when <codeph>B()</codeph> allocates a buffer (e.g. <xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref>)
 on the stack which overlaps old stack frames. </p> <fig id="GUID-FED8CC0F-F1A0-59C9-B082-2D3B499D00D5">
-<image href="GUID-A328F9E3-7D91-594A-A589-E8CE5FA9227A_d0e296153_href.png" placement="inline"/>
+<image href="GUID-A328F9E3-7D91-594A-A589-E8CE5FA9227A_d0e302145_href.png" placement="inline"/>
 </fig> </li>
 </ul> <p>If you want to trace applications loaded into RAM, then stack tracing
 is more difficult because RAM-loaded DLLs are given addresses assigned at
@@ -340,7 +340,7 @@
 </codeblock> <p>noting that: <codeph>SP = R13</codeph>, <codeph>FP = R11</codeph>, <codeph>IP
 =           R12</codeph>, <codeph>LR = R14</codeph>, and <codeph>PC = R15</codeph>. </p> <p>This
 code creates the following stack frame: </p> <fig id="GUID-5CE044A2-CDD0-5A09-B824-BAF46324AB27">
-<image href="GUID-F12437C5-BD96-5B43-AD76-614CFAB104D2_d0e296351_href.png" placement="inline"/>
+<image href="GUID-F12437C5-BD96-5B43-AD76-614CFAB104D2_d0e302343_href.png" placement="inline"/>
 </fig> <p>Looking at the example session listed in when <xref href="GUID-1E43E258-A926-5D24-B0A5-8756491C687F.dita#GUID-1E43E258-A926-5D24-B0A5-8756491C687F/GUID-877742A5-F07F-54B6-B871-255FAAE790EB">tracing through the stack heuristically</xref>. in which the crash is due
 to a panic, the FP value is the R11 value; this is <codeph>0x6571de70</codeph>.
 This gives us the innermost stack frame: </p> <codeblock id="GUID-DE5FFB23-A85D-562F-858B-CFF407448E36" xml:space="preserve">6571de64:    e8 de 71 65 &lt;------------- pointer to previous stack frame 
@@ -378,7 +378,7 @@
 sub        sp, #28
 add        r7, sp, #12 /* R7 is THUMB frame pointer */
 </codeblock> <p>and this creates the following stack frame: </p> <fig id="GUID-85FAEE94-6D61-5D6B-84CB-6A9491927077">
-<image href="GUID-5CF162CA-4395-58AC-A318-2BF178276A57_d0e296428_href.png" placement="inline"/>
+<image href="GUID-5CF162CA-4395-58AC-A318-2BF178276A57_d0e302420_href.png" placement="inline"/>
 </fig> <p>A call stack can mix ARM and THUMB frames. Odd return addresses
 are used for THUMB code and even ones for ARM code. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1E446762-AFE2-4198-8CD7-8C4466392543.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1E446762-AFE2-4198-8CD7-8C4466392543.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 is depicted in the figure below.</p>
 <fig id="GUID-F3AE7068-6277-4A02-B057-8324487F5D2F">
 <title>Choice list API classes</title>
-<image href="GUID-0991E536-97B2-4EAA-9448-A090BD073140_d0e100003_href.png" scale="50" placement="inline"/>
+<image href="GUID-0991E536-97B2-4EAA-9448-A090BD073140_d0e104088_href.png" scale="50" placement="inline"/>
 </fig>
 <p>The <codeph>CAknChoiceList</codeph> class provides an interface for controlling
 the choice list. You need to create separate instances of this class for each
Binary file Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F-master.png has changed
Binary file Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e568315_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e568925_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1E4D4D69-E94F-5ABF-8DC7-063A37EF816F_d0e572398_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1E4FFC56-8473-4E0A-B2E2-4E8DE8B1D00F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1E4FFC56-8473-4E0A-B2E2-4E8DE8B1D00F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <task id="GUID-1E4FFC56-8473-4E0A-B2E2-4E8DE8B1D00F" xml:lang="en"><title>Increasing
 the Priority of a Third-Party Application</title><shortdesc>This section describes how a third-party application can increase
 its OOM priority by using OOM Monitor APIs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-FD9A15E9-6313-4BD3-A52A-7E3B71D39B37-GENID-1-12-1-12-1-1-9-1-5-1-6-1-5-1-3-1"><p>Third-party applications
+<context id="GUID-FD9A15E9-6313-4BD3-A52A-7E3B71D39B37-GENID-1-12-1-13-1-1-9-1-5-1-6-1-5-1-3-1"><p>Third-party applications
 that needs to be running all the time can increase their priority to <codeph>High</codeph> from
 the default level (<codeph>Normal</codeph>). By increasing the priority, applications
 can protect itself from being closed by the OOM Monitor. For example:</p><ul>
@@ -20,21 +20,21 @@
 <li><p>Instant Messaging application receiving messages</p></li>
 </ul><p>are applications which listens for events from the network all the
 time.</p></context>
-<steps id="GUID-01A482C7-3004-484D-9948-B0B892E913AF-GENID-1-12-1-12-1-1-9-1-5-1-6-1-5-1-3-2">
-<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-12-1-1-9-1-5-1-6-1-5-1-3-2-1"><cmd>Create an OOM Monitor
+<steps id="GUID-01A482C7-3004-484D-9948-B0B892E913AF-GENID-1-12-1-13-1-1-9-1-5-1-6-1-5-1-3-2">
+<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-13-1-1-9-1-5-1-6-1-5-1-3-2-1"><cmd>Create an OOM Monitor
 session</cmd>
 <info><codeblock xml:space="preserve">ROomMonitorSession ioomMonitorSession;
 CleanUpClosePushL(ioomMonitorSession);
 User::LeaveIfError(ioomMonitorSession.Connect());
 </codeblock></info>
 </step>
-<step id="GUID-3033BB28-ACC5-440C-9BDB-D1BC36CD001C-GENID-1-12-1-12-1-1-9-1-5-1-6-1-5-1-3-2-2"><cmd>Set the priority
+<step id="GUID-3033BB28-ACC5-440C-9BDB-D1BC36CD001C-GENID-1-12-1-13-1-1-9-1-5-1-6-1-5-1-3-2-2"><cmd>Set the priority
 for the application to <codeph>High</codeph> .</cmd>
 <info><codeblock xml:space="preserve">iOomMonitorSession.SetOomPriority(ROomMonitorSession::EOomPriorityHigh);
 DoCriticalBackgroundProcessingL();
 </codeblock></info>
 </step>
-<step id="GUID-5B3E8176-528F-45E7-B1CE-57ADCFAB5C6C-GENID-1-12-1-12-1-1-9-1-5-1-6-1-5-1-3-2-3"><cmd>Close the session.</cmd>
+<step id="GUID-5B3E8176-528F-45E7-B1CE-57ADCFAB5C6C-GENID-1-12-1-13-1-1-9-1-5-1-6-1-5-1-3-2-3"><cmd>Close the session.</cmd>
 <info><codeblock xml:space="preserve">iOomMonitorSession.Close();
 </codeblock></info>
 </step>
--- a/Symbian3/PDK/Source/GUID-1E87CA7A-9733-58A1-A747-F5F3DE9B64D7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1E87CA7A-9733-58A1-A747-F5F3DE9B64D7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,11 +30,11 @@
 <li><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p></li>
 <li><p><xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref></p></li>
 </ul></section>
-<section id="GUID-E6DD4EA2-7F4A-4C87-AEC5-3F06AC2D0F2D"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build an application. </p> <p>The ControlFramework example builds an executable called <filepath>ControlFramework.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
-CodeWarrior). Either launch the executable itself, or launch the emulator
-and then select the ControlFramework application from the Emulator's
-extras bar. </p> </section>
+<section id="GUID-E6DD4EA2-7F4A-4C87-AEC5-3F06AC2D0F2D"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The ControlFramework example builds an executable
+called <filepath>ControlFramework.exe</filepath> in the standard location
+(<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). Either launch the executable itself, or launch
+the emulator and then select the ControlFramework application from
+the Emulator's extras bar. </p> </section>
 <section id="GUID-7C8D5BAF-0D50-4778-82C3-F5AFCBBA165B"><title>See
 also</title> <p> <xref href="GUID-6C16417B-5B37-5310-B59A-750D971AA6D4.dita">Using UI Control Framework (CONE)</xref>  </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e228146_href.png has changed
Binary file Symbian3/PDK/Source/GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e234145_href.png has changed
--- a/Symbian3/PDK/Source/GUID-1F1A6FCD-DA06-5F8B-8F2C-0BAA08DE0041.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1F1A6FCD-DA06-5F8B-8F2C-0BAA08DE0041.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,56 +1,55 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1F1A6FCD-DA06-5F8B-8F2C-0BAA08DE0041" xml:lang="en"><title>How to
-allocate buffers</title><shortdesc>Explains the functions to create and allocate flat and segmented
-buffers.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Allocating buffers is simple: use the desired class’s static <codeph>NewL()</codeph> function.
-You must specify a <i>granularity</i>, whose meaning is particular to the
-buffer type.</p>
-<section id="GUID-35823578-F609-41ED-B4A3-00BAE20C4AAC"><title>Flat buffer</title> <p>To allocate a flat buffer, use <codeph>CFlatBuf::NewL()</codeph>.
-The granularity in this case means the number of bytes by which the buffer
-will be re-allocated, whenever expansion is necessary. If expansion by a greater
-amount than this is required, the next highest multiple of the granularity
-will be used.</p> <p>In this example, the buffer pointer is pushed to the
-cleanup stack for the lifetime of the buffer. If any operation involving the
-buffer should leave, the buffer will be destroyed. In real use, the buffer
-pointer would be stored as member data, and care should be taken to ensure
-that the consequences of a leave are not fatal to the application. For example,
-if the buffer is being used to store a word processor document, an attempt
-to add a character may fail due to lack of memory. This should never cause
-the entire document to be destroyed! Instead, the editing code should function
-in such a way that the update is either implemented successfully, or no change
-is made to the document.</p> <p>The function <codeph>StandardBufferStuffL()</codeph> is
-one which takes a <codeph>CBufBase</codeph> type.</p> <codeblock id="GUID-EF6F9CDB-0D9A-5AB8-9BBC-958DEE5C382E" xml:space="preserve"> // do flat buffer tests
- CBufFlat* flatBuf=CBufFlat::NewL(4);
- CleanupStack::PushL(flatBuf);
- StandardBufferStuffL(flatBuf);
- CleanupStack::PopAndDestroy();</codeblock> </section>
-<section id="GUID-0E671A5E-99A9-4ED6-9CA1-519BA5E3A8D9"><title>Segmented buffer</title> <p>A segmented buffer is allocated
-in a similar way to a flat buffer. The granularity in this case specifies
-the size of each segment. During buffer operations, each segment may contain
-less data than the granularity. After a compress, data is optimally distributed
-to segments, so that all segments except possibly the last one are full.</p> <p>During
-their lifetime, all standard buffer operations can be performed on either
-flat or segmented buffers. This is shown in the examples above by calling <codeph>standardBufferStuffL()</codeph> with
-both a flat and a segmented buffer pointer. The argument to this function
-is a <codeph>CBufBase*</codeph>.</p> <p>The granularities chosen for these
-examples are much smaller than would be used in most real applications. </p> <codeblock id="GUID-70676BB5-F806-5860-A96D-77EF0897FFA7" xml:space="preserve"> // do segmented buffer tests
- CBufSeg* segBuf=CBufSeg::NewL(4);
- CleanupStack::PushL(segBuf);
- standardBufferStuffL(segBuf);
- CleanupStack::PopAndDestroy();</codeblock> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-E3DD768F-752F-5414-9E9A-86E046806903.dita">Space management
-and granularity</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1F1A6FCD-DA06-5F8B-8F2C-0BAA08DE0041" xml:lang="en"><title>How to allocate buffers</title><shortdesc>Explains the functions to create and allocate flat and
+segmented buffers.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Allocating buffers is simple: use the desired class’s static <codeph>NewL()</codeph> function. You must specify a <i>granularity</i>,
+whose meaning is particular to the buffer type.</p>
+<section id="GUID-35823578-F609-41ED-B4A3-00BAE20C4AAC"><title>Flat
+buffer</title> <p>To allocate a flat buffer, use <codeph>CFlatBuf::NewL()</codeph>. The granularity in this case means the number of bytes by which
+the buffer will be re-allocated, whenever expansion is necessary.
+If expansion by a greater amount than this is required, the next highest
+multiple of the granularity will be used.</p> <p>In this example,
+the buffer pointer is pushed to the cleanup stack for the lifetime
+of the buffer. If any operation involving the buffer should leave,
+the buffer will be destroyed. In real use, the buffer pointer would
+be stored as member data, and care should be taken to ensure that
+the consequences of a leave are not fatal to the application. For
+example, if the buffer is being used to store a word processor document,
+an attempt to add a character may fail due to lack of memory. This
+should never cause the entire document to be destroyed! Instead, the
+editing code should function in such a way that the update is either
+implemented successfully, or no change is made to the document.</p> <p>The function <codeph>StandardBufferStuffL()</codeph> is one which
+takes a <codeph>CBufBase</codeph> type.</p> <codeblock id="GUID-EF6F9CDB-0D9A-5AB8-9BBC-958DEE5C382E" xml:space="preserve"> // do flat buffer tests
+ CBufFlat* flatBuf=CBufFlat::NewL(4);
+ CleanupStack::PushL(flatBuf);
+ StandardBufferStuffL(flatBuf);
+ CleanupStack::PopAndDestroy();</codeblock> </section>
+<section id="GUID-0E671A5E-99A9-4ED6-9CA1-519BA5E3A8D9"><title>Segmented
+buffer</title> <p>A segmented buffer is allocated in a similar way
+to a flat buffer. The granularity in this case specifies the size
+of each segment. During buffer operations, each segment may contain
+less data than the granularity. After a compress, data is optimally
+distributed to segments, so that all segments except possibly the
+last one are full.</p> <p>During their lifetime, all standard buffer
+operations can be performed on either flat or segmented buffers. This
+is shown in the examples above by calling <codeph>standardBufferStuffL()</codeph> with both a flat and a segmented buffer pointer. The argument to
+this function is a <codeph>CBufBase*</codeph>.</p> <p>The granularities
+chosen for these examples are much smaller than would be used in most
+real applications. </p> <codeblock id="GUID-70676BB5-F806-5860-A96D-77EF0897FFA7" xml:space="preserve"> // do segmented buffer tests
+ CBufSeg* segBuf=CBufSeg::NewL(4);
+ CleanupStack::PushL(segBuf);
+ standardBufferStuffL(segBuf);
+ CleanupStack::PopAndDestroy();</codeblock> </section>
+</conbody><related-links>
+<link href="GUID-E3DD768F-752F-5414-9E9A-86E046806903.dita">
+<linktext>Space management and granularity</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,91 +1,83 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-1F6DA049-AC03-5122-8B91-32C007A41526" xml:lang="en"><title>SecureServerExample:
-Implementing the Policy Server Framework</title><shortdesc>This example demonstrates the use of the policy server framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> The example shows you how a server checks messages from a client against
-a security policy. It also shows you how to deal with the result of a security
-check. </p>
-<p>The following sections provide more information about this example application: </p>
-<section id="GUID-14AB89A0-C5AD-5598-ABA3-F1243CA00D97"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a84e1714-2cf0-4023-b3d3-d35217f4159d.zip" scope="external">SecureServer.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a84e1714-2cf0-4023-b3d3-d35217f4159d.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-D8761EA7-00C3-5273-A082-C3DE4AC2BFB9"><title>Description</title> <p>The
-server contains a simple counter. It can change the value of the counter.
-It can also write the value of the counter to a file. The server offers the
-following services to a client: </p> <ul>
-<li id="GUID-79AEF61F-24B7-55FC-88F2-73A3CA124597"><p>Increase the value of
-the counter by any number greater than 1. </p> </li>
-<li id="GUID-67736263-0785-558E-8FAA-B73CD05F3511"><p>Decrease the value of
-the counter by any number greater than 1. </p> </li>
-<li id="GUID-A7FE0EFE-EDA3-5394-AA6C-D34FFEBB2CD4"><p>Increase the value of
-the counter by 1. </p> </li>
-<li id="GUID-191ADD33-2EDC-5493-9F3B-F25AE2AF0708"><p>Decrease the value of
-the counter by 1. </p> </li>
-<li id="GUID-3B10E37A-7172-56EC-A6A2-50C3BC84A029"><p>Reset the counter to
-its default value. </p> </li>
-<li id="GUID-305441F7-6797-52C5-92F2-353C45A7260B"><p>Reset the counter to
-the value in the file <filepath>counter.dat</filepath>. </p> </li>
-<li id="GUID-9744CA5A-3D99-57F3-B596-D8145CC66494"><p>Save the counter value
-in the file <filepath>counter.dat</filepath>. </p> </li>
-<li id="GUID-42C92895-BD40-58C3-ABB2-0D3DD40CA78E"><p>Send the current value
-of the counter to a client. </p> </li>
-<li id="GUID-D6FF0681-5DC7-5605-83F2-4C225EF7520B"><p>Create, initialise and
-close a subsession. </p> </li>
-<li id="GUID-78587766-2027-5A3D-BE90-6FBF512DD252"><p>Send the current number
-of open subsessions to a client. </p> </li>
-</ul> <p>The client sends a message to the server to request one of these
-services. The server checks each request against its security policy. If the
-request fails the security check, the request is rejected. </p> <p>The security
-policy has the following rules: </p> <ul>
-<li id="GUID-AF85DEBB-0A7D-5794-912E-9382D31834CE"><p>If a client asks the
-server to increase the counter value by more than 10, the client ‘s SID value
-must be less than or equal to 0x70fffff5. </p> </li>
-<li id="GUID-007E3288-B47F-5E2C-AA3A-E21FE1251B41"><p>If a client asks the
-server to decrease the counter value by more than 10, the client ‘s SID value
-must be less than or equal to 0x70fffff5. </p> </li>
-<li id="GUID-2C3B7481-478F-5248-98D2-423D288D12C6"><p>If a client asks the
-server for the number of open subsessions, the client’s SID value must be
-0x70fffff0. </p> </li>
-<li id="GUID-BBBDAF33-5DC0-5D01-AEAF-89D36C834045"><p>If a client asks the
-server to save the counter value to the file <filepath>counter.dat</filepath>,
-the client must have both <codeph>ReadDeviceData</codeph> and <codeph>WriteDeviceData</codeph> capabilities. </p> </li>
-<li id="GUID-9D5144DB-D113-5AF9-9FBC-F31E9E5BA96F"><p>If a client asks the
-server to reset the counter value from the file <filepath>counter.dat</filepath>,
-the client must have both <codeph>ReadDeviceData</codeph> and <codeph>WriteDeviceData</codeph> capabilities. </p> </li>
-</ul> <p>The example application shows how you to code security policies.
-It also shows you the constants and classes that you must define to use the
-policy server framework. </p> </section>
-<section id="GUID-DD984CA6-90E7-4B7D-9876-356A7BBFEA26"><title>Class summary</title><p>This
-example demonstrates the following classes:<ul>
-<li><p><xref href="GUID-5BDFF5B1-DC1F-393A-879B-9D8DE080B4E2.dita"><apiname>CPolicyServer</apiname></xref></p></li>
-<li><p><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref></p></li>
-<li><p><xref href="GUID-D82DEC7A-71C2-3004-BFC2-C82C009A2715.dita"><apiname>TVersion</apiname></xref></p></li>
-<li><p><xref href="GUID-D7D422D3-65E5-378B-8F52-6485BC5603A0.dita"><apiname>RMessage2</apiname></xref></p></li>
-<li><p><xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref></p></li>
-<li><p><xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref></p></li>
-<li><p><xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref></p></li>
-<li><p><xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita"><apiname>CObjectIx</apiname></xref></p></li>
-<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref></p></li>
-<li><p><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref></p></li>
-<li><p><xref href="GUID-1BBE1448-1DF8-33C4-BF9E-5A5F427AEE35.dita"><apiname>RSubSessionBase</apiname></xref></p></li>
-</ul></p></section>
-<section id="GUID-B9CD5974-18AA-5581-8BA5-8A1F2CFBC4E7"><title>Build</title> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref> describes
-how to build this example. </p> <p>The <codeph>SecureServer</codeph> example
-builds the following binaries in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath>)
-for Carbide.c++. </p> <ul>
-<li id="GUID-AAFBE9F2-D78B-53FD-8A3C-EF9A43EA6052"><p> <filepath>secureclient.exe</filepath>:
-This is the client executable file. It starts the server and shows the behaviour
-of the client. </p> </li>
-<li id="GUID-758E4591-2A54-5868-A73A-FCE5C31A2C70"><p> <filepath>secureserver.dll</filepath>:
-This is the DLL that contains the code for the server. This executable file
-must be built before <filepath>secureclient.exe</filepath> file. </p> </li>
-</ul> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1F6DA049-AC03-5122-8B91-32C007A41526" xml:lang="en"><title>SecureServerExample: Implementing the Policy Server Framework</title><shortdesc>This example demonstrates the use of the policy server
+framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> The example shows you how a server checks messages from a client
+against a security policy. It also shows you how to deal with the
+result of a security check. </p>
+<p>The following sections provide more information about this example
+application: </p>
+<section id="GUID-14AB89A0-C5AD-5598-ABA3-F1243CA00D97"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a84e1714-2cf0-4023-b3d3-d35217f4159d.zip" scope="external">SecureServer.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a84e1714-2cf0-4023-b3d3-d35217f4159d.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-D8761EA7-00C3-5273-A082-C3DE4AC2BFB9"><title>Description</title> <p>The server contains a simple counter. It can change the value
+of the counter. It can also write the value of the counter to a file.
+The server offers the following services to a client: </p> <ul>
+<li id="GUID-79AEF61F-24B7-55FC-88F2-73A3CA124597"><p>Increase the
+value of the counter by any number greater than 1. </p> </li>
+<li id="GUID-67736263-0785-558E-8FAA-B73CD05F3511"><p>Decrease the
+value of the counter by any number greater than 1. </p> </li>
+<li id="GUID-A7FE0EFE-EDA3-5394-AA6C-D34FFEBB2CD4"><p>Increase the
+value of the counter by 1. </p> </li>
+<li id="GUID-191ADD33-2EDC-5493-9F3B-F25AE2AF0708"><p>Decrease the
+value of the counter by 1. </p> </li>
+<li id="GUID-3B10E37A-7172-56EC-A6A2-50C3BC84A029"><p>Reset the counter
+to its default value. </p> </li>
+<li id="GUID-305441F7-6797-52C5-92F2-353C45A7260B"><p>Reset the counter
+to the value in the file <filepath>counter.dat</filepath>. </p> </li>
+<li id="GUID-9744CA5A-3D99-57F3-B596-D8145CC66494"><p>Save the counter
+value in the file <filepath>counter.dat</filepath>. </p> </li>
+<li id="GUID-42C92895-BD40-58C3-ABB2-0D3DD40CA78E"><p>Send the current
+value of the counter to a client. </p> </li>
+<li id="GUID-D6FF0681-5DC7-5605-83F2-4C225EF7520B"><p>Create, initialise
+and close a subsession. </p> </li>
+<li id="GUID-78587766-2027-5A3D-BE90-6FBF512DD252"><p>Send the current
+number of open subsessions to a client. </p> </li>
+</ul> <p>The client sends a message to the server to request one of
+these services. The server checks each request against its security
+policy. If the request fails the security check, the request is rejected. </p> <p>The security policy has the following rules: </p> <ul>
+<li id="GUID-AF85DEBB-0A7D-5794-912E-9382D31834CE"><p>If a client
+asks the server to increase the counter value by more than 10, the
+client ‘s SID value must be less than or equal to 0x70fffff5. </p> </li>
+<li id="GUID-007E3288-B47F-5E2C-AA3A-E21FE1251B41"><p>If a client
+asks the server to decrease the counter value by more than 10, the
+client ‘s SID value must be less than or equal to 0x70fffff5. </p> </li>
+<li id="GUID-2C3B7481-478F-5248-98D2-423D288D12C6"><p>If a client
+asks the server for the number of open subsessions, the client’s SID
+value must be 0x70fffff0. </p> </li>
+<li id="GUID-BBBDAF33-5DC0-5D01-AEAF-89D36C834045"><p>If a client
+asks the server to save the counter value to the file <filepath>counter.dat</filepath>, the client must have both <codeph>ReadDeviceData</codeph> and <codeph>WriteDeviceData</codeph> capabilities. </p> </li>
+<li id="GUID-9D5144DB-D113-5AF9-9FBC-F31E9E5BA96F"><p>If a client
+asks the server to reset the counter value from the file <filepath>counter.dat</filepath>, the client must have both <codeph>ReadDeviceData</codeph> and <codeph>WriteDeviceData</codeph> capabilities. </p> </li>
+</ul> <p>The example application shows how you to code security policies.
+It also shows you the constants and classes that you must define to
+use the policy server framework. </p> </section>
+<section id="GUID-DD984CA6-90E7-4B7D-9876-356A7BBFEA26"><title>Class
+summary</title><p>This example demonstrates the following classes:<ul>
+<li><p><xref href="GUID-5BDFF5B1-DC1F-393A-879B-9D8DE080B4E2.dita"><apiname>CPolicyServer</apiname></xref></p></li>
+<li><p><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref></p></li>
+<li><p><xref href="GUID-D82DEC7A-71C2-3004-BFC2-C82C009A2715.dita"><apiname>TVersion</apiname></xref></p></li>
+<li><p><xref href="GUID-D7D422D3-65E5-378B-8F52-6485BC5603A0.dita"><apiname>RMessage2</apiname></xref></p></li>
+<li><p><xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref></p></li>
+<li><p><xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref></p></li>
+<li><p><xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref></p></li>
+<li><p><xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita"><apiname>CObjectIx</apiname></xref></p></li>
+<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref></p></li>
+<li><p><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref></p></li>
+<li><p><xref href="GUID-1BBE1448-1DF8-33C4-BF9E-5A5F427AEE35.dita"><apiname>RSubSessionBase</apiname></xref></p></li>
+</ul></p></section>
+<section id="GUID-B9CD5974-18AA-5581-8BA5-8A1F2CFBC4E7"><title>Build</title> <p>The Symbian build process describes how to build this example. </p> <p>The <codeph>SecureServer</codeph> example builds
+the following binaries in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath>) for Carbide.c++. </p> <ul>
+<li id="GUID-AAFBE9F2-D78B-53FD-8A3C-EF9A43EA6052"><p> <filepath>secureclient.exe</filepath>: This is the client executable file. It starts the server and shows
+the behaviour of the client. </p> </li>
+<li id="GUID-758E4591-2A54-5868-A73A-FCE5C31A2C70"><p> <filepath>secureserver.dll</filepath>: This is the DLL that contains the code for the server. This executable
+file must be built before <filepath>secureclient.exe</filepath> file. </p> </li>
+</ul> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E"><title>Exif Utility Library Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Exif (Exchangeable image file format) is a standard specifying rules for storing metadata in digital image files, mainly those using JPEG compression. </p> <section id="GUID-3333CA2A-EF84-5E7B-B9BE-8FF00523897F-GENID-1-12-1-21-1-1-6-1-6-1-7-1-4-1-2-2"><title>Purpose</title> <p>Exif enhances the JPEG and TIFF specifications with the addition of metadata tags to hold information such as the camera settings used to take the picture. </p> </section> <section><title>Exif Overview</title> <p>The Exif standard defines a wide range of metadata tags, some of which are listed below: </p> <ul><li id="GUID-55D72AF0-DEB5-55FE-AD34-52B14DD39590"><p>Date and time information of the image captured. </p> </li> <li id="GUID-DE117EE6-9465-59CD-A5C2-1FAECBF6DFE0"><p>Camera settings like camera model and make, and information that varies with each image such as orientation, aperture, shutter speed, focal length, metering mode, and film speed information. </p> </li> <li id="GUID-6F02CD74-00C5-5574-A3A2-45DB997F9AD4"><p>A thumbnail for previewing the picture on camera LCD. </p> </li> <li id="GUID-BB16459B-A734-5E3D-A632-CF8AFB31398F"><p>Copyright information. </p> </li> </ul> <p><b> Accessing Exif Metadata</b> </p> <p>Access to Exif metadata is provided through an abstract interface available in all the main ICL APIs. This interface can be implemented and managed through an ICL plugin, exhibiting the functionality to the client through the plugin extension mechanism. </p> <p>The <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> class is a generic interface for accessing the Exif metadata. To access a specific item of a metadata, both tag ID and the primary Image File Directory [IFD] number must be provided in the <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> access method, as some tags may appear in more than one IFD. The primary IFD number may either be 0 or 1. The main image tags are grouped together under IFD 0 and the tags for the thumbnail images are grouped under IFD 1 in the Exif metadata. The tags under these IFD can be further classified into sub IFD: </p> <p>For example : Tags related to the GPS can be sorted to form a group. </p> <p>The <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> is compounded by two classes as mentioned below: </p> <ul><li id="GUID-607A6DAE-75E0-56CD-8601-E360272D4CB3"><p> <xref href="GUID-B742FC40-2D88-3E71-8F89-FCB15A2C6619.dita"><apiname>MExifMetadataReader</apiname></xref> : This provides more generic functionalitites to read the tags from the Exif Metadata. The user is expected to provide the tag id and the primary IFD for the tags that needs to be read. </p> </li> <li id="GUID-0174AF96-9024-5FC1-BC04-4799C4F04CC0"><p> <xref href="GUID-27F068D2-F5BE-3D0B-83F4-493A783CFB80.dita"><apiname>MExifMetadataWriter</apiname></xref> : This is a generic way to write or set the tags of the Exif metadata. Here also the user is expected to render the key inputs like tag id and IFD for the data that needs to be written or modified. </p> </li> </ul> <p>The access provided by <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> is quite low level. The users are expected to know the tag IDs defined in the Exif specification in order to use it. Hence more user friendly classes as listed below are made available to access these tags. </p> </section> <section><title>Examples</title> <p>This section contains code snippets showing how Exif metadata is accessed in several situations. </p> <p><b>JPEG Exif Plugin</b> </p> <ul><li id="GUID-0D60F5DD-FFCD-51F5-BC57-9FB04500147F"><p> <xref href="GUID-8AA987C9-456B-3E7C-95C2-C5578EE977B9.dita"><apiname>TExifReaderUtility</apiname></xref> : This class provides a user friendly interface for reading the metadata in Exif encoded image files. The following example code illustrates its use: </p> <codeblock id="GUID-15B5C5BE-4021-55A9-99AD-77745A571863" xml:space="preserve">void CIclExample::AccessToEXIFMetadataL(const TDesC&amp; aFileName)
+<concept xml:lang="en" id="GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E"><title>Exif Utility Library Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Exif (Exchangeable image file format) is a standard specifying rules for storing metadata in digital image files, mainly those using JPEG compression. </p> <section id="GUID-3333CA2A-EF84-5E7B-B9BE-8FF00523897F-GENID-1-12-1-22-1-1-7-1-6-1-7-1-4-1-2-2"><title>Purpose</title> <p>Exif enhances the JPEG and TIFF specifications with the addition of metadata tags to hold information such as the camera settings used to take the picture. </p> </section> <section><title>Exif Overview</title> <p>The Exif standard defines a wide range of metadata tags, some of which are listed below: </p> <ul><li id="GUID-55D72AF0-DEB5-55FE-AD34-52B14DD39590"><p>Date and time information of the image captured. </p> </li> <li id="GUID-DE117EE6-9465-59CD-A5C2-1FAECBF6DFE0"><p>Camera settings like camera model and make, and information that varies with each image such as orientation, aperture, shutter speed, focal length, metering mode, and film speed information. </p> </li> <li id="GUID-6F02CD74-00C5-5574-A3A2-45DB997F9AD4"><p>A thumbnail for previewing the picture on camera LCD. </p> </li> <li id="GUID-BB16459B-A734-5E3D-A632-CF8AFB31398F"><p>Copyright information. </p> </li> </ul> <p><b> Accessing Exif Metadata</b> </p> <p>Access to Exif metadata is provided through an abstract interface available in all the main ICL APIs. This interface can be implemented and managed through an ICL plugin, exhibiting the functionality to the client through the plugin extension mechanism. </p> <p>The <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> class is a generic interface for accessing the Exif metadata. To access a specific item of a metadata, both tag ID and the primary Image File Directory [IFD] number must be provided in the <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> access method, as some tags may appear in more than one IFD. The primary IFD number may either be 0 or 1. The main image tags are grouped together under IFD 0 and the tags for the thumbnail images are grouped under IFD 1 in the Exif metadata. The tags under these IFD can be further classified into sub IFD: </p> <p>For example : Tags related to the GPS can be sorted to form a group. </p> <p>The <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> is compounded by two classes as mentioned below: </p> <ul><li id="GUID-607A6DAE-75E0-56CD-8601-E360272D4CB3"><p> <xref href="GUID-B742FC40-2D88-3E71-8F89-FCB15A2C6619.dita"><apiname>MExifMetadataReader</apiname></xref> : This provides more generic functionalitites to read the tags from the Exif Metadata. The user is expected to provide the tag id and the primary IFD for the tags that needs to be read. </p> </li> <li id="GUID-0174AF96-9024-5FC1-BC04-4799C4F04CC0"><p> <xref href="GUID-27F068D2-F5BE-3D0B-83F4-493A783CFB80.dita"><apiname>MExifMetadataWriter</apiname></xref> : This is a generic way to write or set the tags of the Exif metadata. Here also the user is expected to render the key inputs like tag id and IFD for the data that needs to be written or modified. </p> </li> </ul> <p>The access provided by <xref href="GUID-D3846471-6576-3080-A0C0-C1531DD6DAA3.dita"><apiname>MExifMetaData</apiname></xref> is quite low level. The users are expected to know the tag IDs defined in the Exif specification in order to use it. Hence more user friendly classes as listed below are made available to access these tags. </p> </section> <section><title>Examples</title> <p>This section contains code snippets showing how Exif metadata is accessed in several situations. </p> <p><b>JPEG Exif Plugin</b> </p> <ul><li id="GUID-0D60F5DD-FFCD-51F5-BC57-9FB04500147F"><p> <xref href="GUID-8AA987C9-456B-3E7C-95C2-C5578EE977B9.dita"><apiname>TExifReaderUtility</apiname></xref> : This class provides a user friendly interface for reading the metadata in Exif encoded image files. The following example code illustrates its use: </p> <codeblock id="GUID-15B5C5BE-4021-55A9-99AD-77745A571863" xml:space="preserve">void CIclExample::AccessToEXIFMetadataL(const TDesC&amp; aFileName)
     {
     HBufC8* buffer8Bit=NULL;
     
--- a/Symbian3/PDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,84 +1,81 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C" xml:lang="en">
-<title>Designing applications for touch UI</title>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>Both touch screens and hybrid devices are supported by Symbian
-platform. Touch screen enables direct manipulation of content and
-objects, allowing for far more natural interaction with the device.
-This means a completely different user experience and interaction
-style compared to using a hardware keypad.</p>
-<fig id="GUID-0895B1BD-27D2-4824-A02C-F89137A16E53"><image
-href="GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e97669_href.png"
-placement="inline" scale="60"></image></fig>
-<p>All applications must be touch-enabled, which means that they can
-be used with the touch screen alone, regardless of the presence of
-a keypad. In Symbian platform-based touch devices, the important hardware
-keys are Send, End, Multi-tasking and Power key.</p>
-<p>The application features must follow the platform support for different
-hardware. When designing a touch-enabled Symbian application, the
-UI must be designed so that everything can be accomplished by using
-the touch screen interface, as the potential target devices may or
-may not have a hardware keyboard.  </p>
-<p>The touch UI in the Symbian platform is based on the use of resistive
-and capacitive touch screens. In <b>resistive touch screen</b> technology,
-two conductive and resistive layers are separated by a thin space.
-When an object touches this kind of touch panel, the layers are connected
-at a certain point, and a touch event is registered. This allows efficient
-stylus control, in addition to finger touch - unlike capacitive panels,
-which usually register only finger touch. Additionally, resistive
-touch screen offers a higher resolution and more durability. In <b
->capacitive touch screen</b> technology, the panel consists of an
-insulator such as glass, coated with a transparent conductor (such
-as indium tin oxide (ITO)). When an object touches the surface of
-the screen, it results in a distortion of the local electrostatic
-field, measurable as a change in capacitance. Then a touch controller
-measures the frequency variations to ascertain the co-ordinates of
-the object's touch. Capacitive touch screen supports <xref
-href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">multiple <?Pub
-Caret?>touch</xref>.</p>
-<p>The hardware is supported by various:</p>
-<ul>
-<li><p>touch-specific components (see <xref
-href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support
-for common UI components</xref>)</p></li>
-<li><p>component and UI behavior changes</p></li>
-<li><p>layout changes, and</p></li>
-<li><p>additions to the interaction style.</p></li>
-</ul>
-<p>The touch UI is designed to enable full task flow with touch, with
-minimal need to switch to hardware keys. Thus, the design ensures
-that users can complete a task with the chosen interaction method
-from start to finish. </p>
-<p>While designing and implementing applications for touch screen
-devices based on the Symbian platform, consider interactions that
-benefit the most from the touch UI.  </p>
-<p>If you can apply direct manipulation of the UI, for example when
-moving items from one place to another, or scrolling a page, do not
-confine the user with unnecessary scrollbars or have the user resort
-to options list commands.</p>
-<p>Instead, enable the user to view pages larger than a screen by
-panning them directly, and dragging and dropping items rather than
-marking them and using menu options. </p>
-<ul>
-<li><p>Remember that the most intuitive touch screen interactions
-that can be performed using a finger are tapping, stroking up/down/left/right,
-and the long tap. </p></li>
-<li><p>Utilize strokes that are easily discovered to the users in
-the given context. It should be explicit to the user where strokes
-can be performed. </p></li>
-<li><p>Design to ensure that users can complete a task with the same
-interaction method from start to finish - touch or hardware keys,
-stylus, or finger, and using one hand or both hands. </p></li>
-<li><p>Aim to optimize system performance and battery consumption
-to provide a fluid and reliable touch user experience. </p></li>
-</ul>
-<p><b>See Also</b>:</p>
-</conbody>
-</concept>
-<?Pub *0000004437?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C" xml:lang="en"><title>Designing applications for touch UI</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Both touch screens and hybrid devices are supported by Symbian
+platform. Touch screen enables direct manipulation of content and
+objects, allowing for far more natural interaction with the device.
+This means a completely different user experience and interaction
+style compared to using a hardware keypad.</p>
+<fig id="GUID-0895B1BD-27D2-4824-A02C-F89137A16E53">
+<image href="GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e101748_href.png" scale="60" placement="inline">
+</image>
+</fig>
+<p>All applications must be touch-enabled, which means that they can
+be used with the touch screen alone, regardless of the presence of
+a keypad. In Symbian platform-based touch devices, the important hardware
+keys are Send, End, Multi-tasking and Power key.</p>
+<p>The application features must follow the platform support for different
+hardware. When designing a touch-enabled Symbian application, the
+UI must be designed so that everything can be accomplished by using
+the touch screen interface, as the potential target devices may or
+may not have a hardware keyboard.  </p>
+<p>The touch UI in the Symbian platform is based on the use of resistive
+and capacitive touch screens. In <b>resistive touch screen</b> technology,
+two conductive and resistive layers are separated by a thin space.
+When an object touches this kind of touch panel, the layers are connected
+at a certain point, and a touch event is registered. This allows efficient
+stylus control, in addition to finger touch - unlike capacitive panels,
+which usually register only finger touch. Additionally, resistive
+touch screen offers a higher resolution and more durability. In <b>capacitive touch screen</b> technology, the panel consists of an
+insulator such as glass, coated with a transparent conductor (such
+as indium tin oxide (ITO)). When an object touches the surface of
+the screen, it results in a distortion of the local electrostatic
+field, measurable as a change in capacitance. Then a touch controller
+measures the frequency variations to ascertain the co-ordinates of
+the object's touch. Capacitive touch screen supports <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">multiple touch</xref>.</p>
+<p>The hardware is supported by various:</p>
+<ul>
+<li><p>touch-specific components (see <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support for
+common UI components</xref>)</p></li>
+<li><p>component and UI behavior changes</p></li>
+<li><p>layout changes, and</p></li>
+<li><p>additions to the interaction style.</p></li>
+</ul>
+<p>The touch UI is designed to enable full task flow with touch, with
+minimal need to switch to hardware keys. Thus, the design ensures
+that users can complete a task with the chosen interaction method
+from start to finish. </p>
+<p>While designing and implementing applications for touch screen
+devices based on the Symbian platform, consider interactions that
+benefit the most from the touch UI.  </p>
+<p>If you can apply direct manipulation of the UI, for example when
+moving items from one place to another, or scrolling a page, do not
+confine the user with unnecessary scrollbars or have the user resort
+to options list commands.</p>
+<p>Instead, enable the user to view pages larger than a screen by
+panning them directly, and dragging and dropping items rather than
+marking them and using menu options. </p>
+<ul>
+<li><p>Remember that the most intuitive touch screen interactions
+that can be performed using a finger are tapping, stroking up/down/left/right,
+and the long tap. </p></li>
+<li><p>Utilize strokes that are easily discovered to the users in
+the given context. It should be explicit to the user where strokes
+can be performed. </p></li>
+<li><p>Design to ensure that users can complete a task with the same
+interaction method from start to finish - touch or hardware keys,
+stylus, or finger, and using one hand or both hands. </p></li>
+<li><p>Aim to optimize system performance and battery consumption
+to provide a fluid and reliable touch user experience. </p></li>
+</ul>
+<p><b>See Also</b>:</p>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,9 +13,9 @@
 Global Variable Example</title><shortdesc>This example demonstrates: </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>How to handle global variables within the library code </p>
 <p>How to use WSD (Writable Static Data) in dll</p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-10-1-3-3"><title>Download</title> <p>Click
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-10-1-3-3"><title>Download</title> <p>Click
 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-723e559a-ab8e-435f-a34c-78b7a32f1fb9.zip" scope="external"> handleglobalvar.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-723e559a-ab8e-435f-a34c-78b7a32f1fb9.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-10-1-3-4"><title>Design and
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-10-1-3-4"><title>Design and
 Implementation</title> <p>The following sections provide information about
 the implementation of the example.</p> <p><b>Capabilities</b> </p>The
 program capabilities are defined in <filepath>globalvarex.mmp</filepath>:<codeph> CAPABILITY
@@ -28,7 +28,7 @@
 it's required. For target release, use global variables and add EPOCALLOWDLLDATA
 in the library mmp file. wsddll.h and wsddll.cpp implement the concept of
 how to handle WSD data in Dll. </section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-10-1-3-5"><title>Building and
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-10-1-3-5"><title>Building and
 Using</title> To build the handleglobalvar example application, go to the
 handleglobalvar\group directory and build the application.  The definition
 for the whole application can be found in the bld.inf file in the group subdirectory
--- a/Symbian3/PDK/Source/GUID-201E6D4C-5F0F-5AA2-BC79-91E3C62C8971.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-201E6D4C-5F0F-5AA2-BC79-91E3C62C8971"><title>How to write a meta file</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A meta file is an additional information file associated with each template extension makefile. It is used to set values to attributes to specify the build platform, makefile type and default option values for the extension. The meta file name is same as that of the associated template extension makefile, except the <codeph>.mk</codeph> suffix is replaced with <codeph>.meta</codeph>. </p> <p>The following provides a step-by-step explanation to write a meta file: </p> <ol id="GUID-B26671F6-0D9E-51F2-979D-856C3DDDC8A5"><li id="GUID-31BD0842-CE03-5FA7-BDC4-D86D8119E25E"><p>Specify whether the makefile is of type <codeph>gnumake</codeph> (GCC make format) or <codeph>nmake</codeph> (Microsoft make format) using the keyword <codeph>makefile</codeph>. It is recommended to use <codeph>gnumake</codeph>, as most of the templates are based on GNU <codeph>make</codeph> format. The value <codeph>nmake</codeph> is not recommended as use of <codeph>nmake</codeph> is deprecated. </p> </li> <li id="GUID-7C06A926-88BD-515A-9FC1-88D83F8969F2"><p>Specify the platform using the keyword <codeph>platform</codeph> which is optional. it is useful to specify the platform, if you want to build for a specific platform such as WINSCW, ARMV5 and so on. </p> </li> <li id="GUID-B7B48487-D5B0-5938-8AD8-E2E34727F203"><p>Specify the default values for options specific to the extension, using the keyword <codeph>option</codeph> which is optional. These default values can be changed in the <filepath>bld.inf</filepath> file within the <codeph>START
-             EXTENSION ... END</codeph> block. For more information on <codeph>START
-             EXTENSION</codeph>, refer to <xref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita">prj_extensions</xref>. </p> </li> </ol> <p>For more information on meta file syntax, refer to <xref href="GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9.dita">Meta Files</xref>. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2051AAEF-140C-5EEF-874F-52971E76F853_d0e442925_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2051AAEF-140C-5EEF-874F-52971E76F853_d0e448770_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20552A48-93D5-5B0E-8B53-A01913CC7A9F_d0e230006_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20552A48-93D5-5B0E-8B53-A01913CC7A9F_d0e236001_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-209F19E9-B61B-5758-B742-CA02B8BD5B02.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-209F19E9-B61B-5758-B742-CA02B8BD5B02" xml:lang="en"><title>SCR Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Software Component Registry (SCR) is a unified registry of
+native and non-native software components. The SCR provides a common <xref href="GUID-1578590A-FC00-5C3B-8BF9-F6E43CA9D9A0.dita">AppArc</xref> support
+for handling native and non-native applications.</p>
+<section id="GUID-CCB48ED2-AAAB-446A-A4EA-C693D0A8E803"><title>Purpose</title> <p>The SCR lists the software installed on a device. The installed
+software can be native Symbian applications or non-native applications
+such as Java or Python. The registry contains information about applications,
+application related property and value pairs, and inter-dependencies
+between applications and components. </p> </section>
+<section id="GUID-A5FA08CE-50CA-4895-BA1E-1D07BA3E8FC9"><title>Key
+concepts</title> <p> <b>Component</b>: is a cohesive set of files
+and settings that provides a single unit for installation or uninstallation. </p><p> <b> Software type</b>: is a package format for delivering software,
+such as SIS, MIDP, JAR and Flash SWF.</p> <p> <b>Component and file
+properties</b>: are properties of a file or a component to be stored
+in the SCR. </p> <ul>
+<li id="GUID-AE34929D-8470-51EF-85AE-442EA5AD06EC"><p> <b>File properties</b>: include information such as the file size. </p> </li>
+<li id="GUID-28FEDAE5-4C11-57C7-8BD9-8807F2C96EA4"><p> <b>Component
+properties</b>: include information such as component name, vendor
+name and software type. </p> </li>
+</ul> <p> <b>Global component ID</b>: is the unique ID of a component.
+This UID is consistent across all devices. For example, the global
+component ID for native applications is the package UID. It is used
+to state dependencies and to check for installed components. </p> <p> <b>Locale</b>: is represented by a language code. </p> </section>
+<section id="GUID-8EB5A6AB-A217-42A8-BA47-A7C4127CE070"><title>Architectural
+relationships</title> <p>SCR is a component in the Installation Services
+collection. It collates all software book-keeping into a cohesive
+unit that is used by the SWI, SIF, SIF installers, applications and
+device managers and AppArc.</p><p>The following architectural diagram
+shows the high-level interaction between SCR and other components.</p><fig id="GUID-7DD31680-C31B-4547-89B2-D5E283E4A8E5">
+<title>SCR interaction diagram</title>
+<image href="GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE_d0e42963_href.jpg" placement="inline"/>
+</fig> <p>SCR is implemented as a server. Clients use SCR through
+the client-side resource class <xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita"><apiname>RSoftwareComponentRegistry</apiname></xref>.</p> <p> <b>Note</b>: Device creators must ensure that a default
+database exists in the ROM when the SCR server is started for the
+first time. The Symbian platform provides a PC-based tool, <codeph><xref href="GUID-C02ED3F5-EE81-4A84-B466-394F577ED34A.dita">SCRTool</xref></codeph>, to create a default database. </p> </section>
+<section id="GUID-684828A1-4572-452E-BC5E-ED9E15FFDF28"><title>APIs</title> <p>The SCR interface is designed to be used by software installation,
+application management and device management applications. The following
+are the key classes: </p><table id="GUID-04427367-A5DB-4559-8CE4-6796266BB4D7">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<tbody>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita"><apiname>RSoftwareComponentRegistry</apiname></xref></p></entry>
+<entry><p>Provides interfaces to install, uninstall, and update software
+components. It is a client-side class used to perform the following:</p><ul>
+<li><p>Component management: Adds or removes components.</p></li>
+<li><p>Transaction management: Commits or rolls back a set of SQL
+operations together.</p></li>
+<li><p>Read-only queries: Retrieves component properties, file properties
+and application information.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E3020365-2A15-3259-A8FF-78A2B22846AF.dita"><apiname>RSoftwareComponentRegistryView</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server and sends a request
+to create a component view using a supplied filter. </p><p>A filter
+can be set by specifying the component information such as ID, name,
+size, removable, locale, version, vendor, string property, integer
+property, software type, SCOMO state or installed drives. </p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-FD2ED994-27E4-35A3-BC69-A5AC7CE55B6A.dita"><apiname>RSoftwareComponentRegistryFilesList</apiname></xref></p></entry>
+<entry><p>Provides APIs to get the list of the files registered in
+the SCR for a specific component.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-B14FD164-2AC4-343A-838F-8E3207BA8789.dita"><apiname>RApplicationRegistryView</apiname></xref></p></entry>
+<entry><p> Opens a sub-session to the SCR server and sends a request
+to create a complete Application Registration view. This class can
+only be used by AppArc.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-5DD9E56F-CDBC-3BBC-B949-8FE10F29152B.dita"><apiname>RApplicationInfoView</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server and sends a request
+to create an AppInfo view by using filters on the server side. It
+returns information based on the filters supplied. The information
+includes the full pathname, caption, short caption information and
+UID of the application.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E2FE3384-110B-3E81-8082-604371EE9D62.dita"><apiname>RRegistrationInfoForApplication</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server with a particular
+application UID and fetches the details such as Service UID for the
+application only.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD.dita"><apiname>RApplicationRegistrationInfo</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server and is used to retrieve
+application information such as the application UID.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-7FE0C521-2BFD-3B4A-A46E-B6C8E2ABB0B2"><apiname>RSoftwareComponentRegistry::AddComponentL()</apiname></xref></p></entry>
+<entry><p>Adds a new software component entry to the SCR database.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-570B8BF2-F451-37BE-9F71-634D2AE6E78B"><apiname>RSoftwareComponentRegistry::SetComponentPropertyL()</apiname></xref></p></entry>
+<entry><p>Is an overloaded API to add an integer, string or blob property
+to the registry for a given software component and locale. If the
+property already exists, the value is updated.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-44071C4B-B57A-326A-B912-5C4451FC49D7"><apiname>RSoftwareComponentRegistry::RegisterComponentFileL()</apiname></xref></p></entry>
+<entry><p>Registers a file to a given software component.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-7E68DF02-C134-3F33-B01C-C82EADFFEFCB"><apiname>RSoftwareComponentRegistry::DeleteComponentPropertyL()</apiname></xref></p></entry>
+<entry><p>Deletes a specific file property entry for a given file
+and software component.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-CF509A92-A9A5-34AF-914C-5F33323059EB"><apiname>RSoftwareComponentRegistry::AddApplicationEntryL()</apiname></xref></p></entry>
+<entry><p>Adds a new application entry to the SCR database.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-58D084A5-2755-32E5-A689-A67E632AB6AC"><apiname>RSoftwareComponentRegistry::DeleteApplicationEntriesL()</apiname></xref></p></entry>
+<entry> <p>Deletes the information of all applications associated
+with an existing component entry from the SCR database.</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-8389A300-3AC9-42C7-8533-5E1BABC8CC69"><title>Typical
+uses</title> <p>SCR APIs are typically used to manage software installation.</p><p>SWI parses the registration resource files and updates the SCR
+with the application registration information and package information. </p><p>Non-native installers update the package information directly
+to SCR.</p><p>AppArc queries SCR to retrieve the list of applications
+to create an application list.</p><p>SIF uses SCR to retrieve the
+package information.</p><p>Application managers use SCR to retrieve
+the application registration information.</p> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-20B2C96A-9742-4CB0-A37F-19B65765E826.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-20B2C96A-9742-4CB0-A37F-19B65765E826.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 virtual void DecodeL(const TDesC8&amp; aData, HBufC8*&amp; aHTTPData, TBool&amp;     aTransFail) = 0;
 
 };</codeblock>
-<section id="GUID-6E64E5BA-0FA7-5B9D-987E-09F2D5F53AE8-GENID-1-12-1-15-1-1-3-1-3-1-13-1-4-1-4-1-2-3"> <title>The EncodeL()
+<section id="GUID-6E64E5BA-0FA7-5B9D-987E-09F2D5F53AE8-GENID-1-12-1-16-1-1-3-1-3-1-13-1-4-1-4-1-2-3"> <title>The EncodeL()
 method</title><p>This method converts HTTP request data (to your selected
 network optimisation protocol format) before it is sent across the TCP connection.
 This method has the following parameters: </p><ul>
@@ -36,7 +36,7 @@
 format. </p> </li>
 </ul><p> <b> Note:</b> It is assumed that you define a custom optimisation
 mechanism to encode the HTTP request data by implementing the <codeph>EncodeL()</codeph> method. </p> </section>
-<section id="GUID-6E64E5BA-0FA7-5B9D-987E-09F2D5F53AE8-GENID-1-12-1-15-1-1-3-1-3-1-13-1-4-1-4-1-2-4"> <title>The DecodeL()
+<section id="GUID-6E64E5BA-0FA7-5B9D-987E-09F2D5F53AE8-GENID-1-12-1-16-1-1-3-1-3-1-13-1-4-1-4-1-2-4"> <title>The DecodeL()
 method</title><p>This method converts the HTTP response data in your selected
 network optimisation protocol format back to the standard HTTP response data
 format. This method has the following parameters: </p><ul>
Binary file Symbian3/PDK/Source/GUID-20B364FB-FC12-5EF1-B0EC-1A845693EFFD_d0e261138_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20B364FB-FC12-5EF1-B0EC-1A845693EFFD_d0e267147_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20C633DE-CD37-5807-9F2E-6E4CFC35DB28_d0e244837_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20C633DE-CD37-5807-9F2E-6E4CFC35DB28_d0e250848_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20FECB77-2E1D-4104-948F-8E878DAFE1B8_d0e95866_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20FECB77-2E1D-4104-948F-8E878DAFE1B8_d0e99985_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20FEEF54-23CB-4D30-B846-11B4ACE8E772_d0e2859_href.png has changed
Binary file Symbian3/PDK/Source/GUID-20FEEF54-23CB-4D30-B846-11B4ACE8E772_d0e2869_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2105B5F0-2D00-5ECA-8859-A8A432423327_d0e339048_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2105B5F0-2D00-5ECA-8859-A8A432423327_d0e345020_href.png has changed
Binary file Symbian3/PDK/Source/GUID-212C33A7-19DE-5936-B78E-CB7357FAEB5B_d0e587737_href.png has changed
Binary file Symbian3/PDK/Source/GUID-212C33A7-19DE-5936-B78E-CB7357FAEB5B_d0e615631_href.png has changed
Binary file Symbian3/PDK/Source/GUID-21562C58-896C-48B0-A574-975E1326A93A_d0e166696_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-21562C58-896C-48B0-A574-975E1326A93A_d0e172789_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-2161BD64-889B-5EAB-B023-1162FE9619DB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2161BD64-889B-5EAB-B023-1162FE9619DB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,7 +39,7 @@
 object is not relevant to the example and is not shown.</p>
 <p>The following diagram shows the relationship between the classes.</p>
 <fig id="GUID-AF998428-D142-56F8-8967-AF66AF9119F8">
-<image href="GUID-BEDF6765-4BF4-532F-A2C7-F052FE8A9CA2_d0e334730_href.png" placement="inline"/>
+<image href="GUID-BEDF6765-4BF4-532F-A2C7-F052FE8A9CA2_d0e340702_href.png" placement="inline"/>
 </fig>
 <section id="GUID-5E2A6378-546D-46C5-8081-6425A96FAAFF"><title>Encapsulating the service provider</title> <p>The class <codeph>CActiveConsole</codeph> encapsulates
 the provision of basic keyboard services. Its <codeph>iConsole</codeph> data
--- a/Symbian3/PDK/Source/GUID-217C992B-AC56-42A7-9920-DEC891D233A5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-217C992B-AC56-42A7-9920-DEC891D233A5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,20 +19,20 @@
 as soon as it is not needed anymore. An application can also keep the optional
 RAM allocation until OOM Monitor requests to release it.</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-9-1-5-1-6-1-7-1-3-2">
-<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-12-1-1-9-1-5-1-6-1-7-1-3-2-1"><cmd>Create an OOM Monitor
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-9-1-5-1-6-1-7-1-3-2">
+<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-13-1-1-9-1-5-1-6-1-7-1-3-2-1"><cmd>Create an OOM Monitor
 session.</cmd>
 <info><codeblock xml:space="preserve">ROomMonitorSession ioomMonitorSession;
 CleanUpClosePushL(ioomMonitorSession);
 User::LeaveIfError(ioomMonitorSession.Connect());
 </codeblock></info>
 </step>
-<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-12-1-1-9-1-5-1-6-1-7-1-3-2-2"><cmd>Request for optional
+<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-13-1-1-9-1-5-1-6-1-7-1-3-2-2"><cmd>Request for optional
 RAM.</cmd>
 <info><codeblock xml:space="preserve">iOomMonitorSession.RequestOptionalRam(aBytesRequested,aMinimumBytesNeeded,aPluginId,aBytesAvailable);
 </codeblock><p/></info>
 </step>
-<step id="GUID-5B3E8176-528F-45E7-B1CE-57ADCFAB5C6C-GENID-1-12-1-12-1-1-9-1-5-1-6-1-7-1-3-2-3"><cmd>Close the session.</cmd>
+<step id="GUID-5B3E8176-528F-45E7-B1CE-57ADCFAB5C6C-GENID-1-12-1-13-1-1-9-1-5-1-6-1-7-1-3-2-3"><cmd>Close the session.</cmd>
 <info><codeblock xml:space="preserve">iOomMonitorSession.Close();
 </codeblock></info>
 </step>
Binary file Symbian3/PDK/Source/GUID-2183F898-48C2-53A3-ADA0-1132EF7D4380_d0e170520_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2183F898-48C2-53A3-ADA0-1132EF7D4380_d0e176594_href.png has changed
Binary file Symbian3/PDK/Source/GUID-21A1D1D2-524E-560E-88C8-16E2E49E2B7F_d0e354227_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-21A1D1D2-524E-560E-88C8-16E2E49E2B7F_d0e360144_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-21E43B0E-85C7-536E-83A5-E829820775BF_d0e485288_href.png has changed
Binary file Symbian3/PDK/Source/GUID-21E43B0E-85C7-536E-83A5-E829820775BF_d0e491117_href.png has changed
Binary file Symbian3/PDK/Source/GUID-21EF9E6F-A0BF-5EB2-9E3F-CA6A011D4C89_d0e237456_href.png has changed
Binary file Symbian3/PDK/Source/GUID-21EF9E6F-A0BF-5EB2-9E3F-CA6A011D4C89_d0e243429_href.png has changed
Binary file Symbian3/PDK/Source/GUID-21F0EE0E-6CC6-44E7-9FED-FB8911E3C3A2_d0e282741_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-21F0EE0E-6CC6-44E7-9FED-FB8911E3C3A2_d0e288732_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 and lower loops. </p>
 <fig id="GUID-9CC782B3-568B-56A4-9AF7-0E2D4EABD7A7">
 <title>The Window Server's upper and lower rendering loops</title>
-<image href="GUID-9045FC43-162E-52B8-ABE2-5EC1EC88BD99_d0e247853_href.png" placement="inline"/>
+<image href="GUID-9045FC43-162E-52B8-ABE2-5EC1EC88BD99_d0e253864_href.png" placement="inline"/>
 </fig>
 <p> </p>
 <p>The <b>upper loop</b> is the process by which the Window Server’s scene
@@ -43,7 +43,7 @@
 </ul>
 <fig id="GUID-7103B894-51DE-5051-899F-F1FF2BD0749E">
 <title>The main participants in the ScreenPlay Window Server rendering loop</title>
-<image href="GUID-3D110AD3-C5C7-533C-8E57-C4E3D032A229_d0e247915_href.png" placement="inline"/>
+<image href="GUID-3D110AD3-C5C7-533C-8E57-C4E3D032A229_d0e253926_href.png" placement="inline"/>
 </fig>
 <p>On the client side, <codeph>RWindow</codeph> and <codeph>CWindowGc</codeph> commands
 are converted to opcodes that are stored in a command buffer. When the command
@@ -101,7 +101,7 @@
 window on the screen. </p>
 <fig id="GUID-761A5E99-D289-5F58-9747-BBECF0BFB2F2">
 <title> A transition effect temporarily obscures a window on the screen</title>
-<image href="GUID-40BE9805-6CEC-557F-BAAC-4D328E181AC3_d0e248013_href.png" placement="inline"/>
+<image href="GUID-40BE9805-6CEC-557F-BAAC-4D328E181AC3_d0e254024_href.png" placement="inline"/>
 </fig>
 <p>In this and similar scenarios, the Window Server does not know whether
 a window is obscured or visible. Therefore dirty-rectangle tracking is not
Binary file Symbian3/PDK/Source/GUID-220D3B2F-7A88-55AB-942F-1735A6E9E420_d0e536541_href.png has changed
Binary file Symbian3/PDK/Source/GUID-220D3B2F-7A88-55AB-942F-1735A6E9E420_d0e544001_href.png has changed
Binary file Symbian3/PDK/Source/GUID-220D7D10-5571-46C4-BA2B-B4FBAE4153F1_d0e63749_href.png has changed
Binary file Symbian3/PDK/Source/GUID-220D7D10-5571-46C4-BA2B-B4FBAE4153F1_d0e67971_href.png has changed
Binary file Symbian3/PDK/Source/GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e102803_href.png has changed
Binary file Symbian3/PDK/Source/GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e98725_href.png has changed
Binary file Symbian3/PDK/Source/GUID-22699952-D032-5B69-B38A-43347A40A420_d0e582132_href.png has changed
Binary file Symbian3/PDK/Source/GUID-22699952-D032-5B69-B38A-43347A40A420_d0e631420_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2273C35F-C8FD-5321-BAE8-4995C5B374E5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-2273C35F-C8FD-5321-BAE8-4995C5B374E5"><title>-what</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option creates a list of files in exactly the same way as option <codeph>-check</codeph>. The list of files is then piped to STDOUT.</p> <p>The option could be useful to find out where a particular build step is creating files, or for creating a zip file containing the releasables for a component by piping the list of files to a file and then having a zip utility process this file.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 It can only be reached via the client-side interface. </p> <fig id="GUID-79734111-15D9-51E2-A1CE-09A4F72D1B21">
 <title>              This image depicts the client / server nature of Symbian
 SQL            </title>
-<image href="GUID-A6EE8A2A-8B17-5D3A-A9B9-C8D25C92EA21_d0e586037_href.png" placement="inline"/>
+<image href="GUID-A6EE8A2A-8B17-5D3A-A9B9-C8D25C92EA21_d0e635325_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-47F435F2-2621-4FA8-91BF-9DD5B17FD629"><title>API summary</title> <p>The SQL component client consists of
 three APIs which are used to access, query and secure a database. </p> <p><b>SQL APIs </b> </p> <ul>
--- a/Symbian3/PDK/Source/GUID-22E46647-D677-5A47-A7E0-E1E0AE736B27.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-22E46647-D677-5A47-A7E0-E1E0AE736B27.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -43,7 +43,7 @@
 A configuration at ROM build time decides which implementation is used. </p>
 <fig id="GUID-E4CD5B76-03E0-5F4C-8C65-C2F2B52969F5">
 <title>           DirectGDI architecture          </title>
-<image href="GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e265062_href.png" placement="inline"/>
+<image href="GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e271062_href.png" placement="inline"/>
 </fig>
 <p>Notice that all three of the implementations implement the common <xref href="GUID-97E3E8DD-A2DA-3961-96E3-41AEAFFDD275.dita"><apiname>MDirectGdiEngine</apiname></xref> interface.
 Also notice that the hardware implementation uses asynchronous calls to the
@@ -58,7 +58,7 @@
 red. Classes that cross the generic layer boundary have some parts that cannot
 be modified (such as a fixed API), but have other parts that can be modified. </p> <fig id="GUID-1A830274-D596-586A-B469-0CB7619FB391">
 <title>              The DirectGDI generic layer classes            </title>
-<image href="GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e265087_href.png" placement="inline"/>
+<image href="GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e271087_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita"><linktext>DirectGDI
--- a/Symbian3/PDK/Source/GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,45 +1,44 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1" xml:lang="en"><title>Write
-a converter DLL project file</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context>       <p>Project file defines the location of the source files that
-required are to build a plug-in.</p><p>To write a converter DLL project file,
-specify the following in the <codeph>.mmp</codeph> file:</p><ul>
-<li><p>The extension of the target file as <codeph>.dll</codeph>.</p></li>
-<li><p>The <codeph>TARGETTYPE</codeph> as <codeph>plugin</codeph>.</p></li>
-<li><p>The second UID as <codeph>0x10009d8d</codeph>. This value identifies
-the DLL as an ECom plug-in. The third UID (<codeph>0xE800009B</codeph> in
-this example) must be unique and properly allocated. See the <xref href="https://www.symbiansigned.com/app/page.dita">Symbian
-Signed</xref>Symbian Signed web site for information on how to allocate UIDs.</p></li>
-<li><p>The library section must include <codeph>conarc.lib</codeph>. </p></li>
-</ul><p>The following is an example of an <codeph>.mmp</codeph> file that
-builds a converter DLL called <codeph>EXAMPLECONV.dll</codeph>:</p><codeblock xml:space="preserve">// ExampleConv.MMP
-target      exampleconv.dll
-targettype  plugin
-UID     0x10009d8d 0xE800009B
-VENDORID    0x70000001
-CAPABILITY  All -Tcb
-sourcepath  .
-start resource E800009B.rss
-target exampleconv.rsc
-end
-start resource E80000AC.rss
-targetpath /resource/convert
-end
-userinclude .
-systeminclude   . /epoc32/include
-systeminclude  /epoc32/include/ecom
-source      ExampleConv.CPP
-library     euser.lib
-library     conarc.lib estor.lib
-</codeblock></context>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1" xml:lang="en"><title>Write a converter DLL project file</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-B81294BB-5145-48B0-B39D-D69C9186ED2C">       <p>Project file defines the location of the source
+files that required are to build a plug-in.</p><p>To write a converter
+DLL project file, specify the following in the <codeph>.mmp</codeph> file:</p><ul>
+<li><p>The extension of the target file as <codeph>.dll</codeph>.</p></li>
+<li><p>The <codeph>TARGETTYPE</codeph> as <codeph>plugin</codeph>.</p></li>
+<li><p>The second UID as <codeph>0x10009d8d</codeph>. This value identifies
+the DLL as an ECom plug-in. The third UID (<codeph>0xE800009B</codeph> in this example) must be unique and properly allocated. See the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian
+Signed</xref> Symbian Signed web site for information on how to allocate
+UIDs.</p></li>
+<li><p>The library section must include <codeph>conarc.lib</codeph>. </p></li>
+</ul><p>The following is an example of an <codeph>.mmp</codeph> file
+that builds a converter DLL called <codeph>EXAMPLECONV.dll</codeph>:</p><codeblock xml:space="preserve">// ExampleConv.MMP
+target      exampleconv.dll
+targettype  plugin
+UID     0x10009d8d 0xE800009B
+VENDORID    0x70000001
+CAPABILITY  All -Tcb
+sourcepath  .
+start resource E800009B.rss
+target exampleconv.rsc
+end
+start resource E80000AC.rss
+targetpath /resource/convert
+end
+userinclude .
+systeminclude   . /epoc32/include
+systeminclude  /epoc32/include/ecom
+source      ExampleConv.CPP
+library     euser.lib
+library     conarc.lib estor.lib
+</codeblock></context>
 </taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-231840A2-255B-5200-8AD1-1D7667FCB448.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-231840A2-255B-5200-8AD1-1D7667FCB448.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 is built. </p> <p>The class defines a schema for the record. A schema is a
 pattern for the record that all records of this type follow. The class contains
 a set of fields and links to other records. </p> <fig id="GUID-A331560C-9996-55E8-8C64-7BB2D5D0C1C6">
-<image href="GUID-DB9F413A-35E2-577E-91C3-1D519835FAB4_d0e109903_href.png" placement="inline"/>
+<image href="GUID-DB9F413A-35E2-577E-91C3-1D519835FAB4_d0e112326_href.png" placement="inline"/>
 </fig> <p>For example, Symbian platform defines the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CCDIAPRecord</apiname></xref>.
 The class represents an Internet Access Point (IAP) record. A set of IAP records
 form an IAP table. Symbian platform assigns the unique numeric Id <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDTIdIAPRecord</apiname></xref> to a record of this type. </p> <p>The
@@ -71,7 +71,7 @@
 to initialise a record in memory. Tools and Applications can also get use
 the <codeph>LoadL()</codeph> and <codeph>FindL()</codeph> functions to get
 the the table schema from the Comms Database. </p> <fig id="GUID-BCE5A2B5-C328-594A-A213-C4AFB48BBF68">
-<image href="GUID-78AAEDF8-6C31-53E3-B411-3463DDAAC902_d0e109991_href.png" placement="inline"/>
+<image href="GUID-78AAEDF8-6C31-53E3-B411-3463DDAAC902_d0e112414_href.png" placement="inline"/>
 </fig> <p> </p> <p>You use the same methods to create, store and access user
 defined records that Symbian platform defined records use. Symbian platform
 backs up user defined data and secures user defined data with Platform Security.
Binary file Symbian3/PDK/Source/GUID-231E58F2-7935-462A-B048-51729D8245D4_d0e13927_href.png has changed
Binary file Symbian3/PDK/Source/GUID-231E58F2-7935-462A-B048-51729D8245D4_d0e14027_href.png has changed
Binary file Symbian3/PDK/Source/GUID-236C0D1D-AC4C-5C08-9089-1AC59881CD39_d0e210776_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-236C0D1D-AC4C-5C08-9089-1AC59881CD39_d0e216777_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-2380FDDE-5489-5B1C-87BB-1FD882E385D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2380FDDE-5489-5B1C-87BB-1FD882E385D2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -198,7 +198,7 @@
 true. </p> <p>Consider the following case. A request has been made to read
 1024 bytes from a media device that has a block size of 512 bytes. The 1024
 bytes start at offset +256 on the media device. </p> <fig id="GUID-2689C022-180B-51EF-A02D-E63ACA832EB2">
-<image href="GUID-647ADEDA-AB5A-548F-93C3-D099EAE6A030_d0e405594_href.png" placement="inline"/>
+<image href="GUID-647ADEDA-AB5A-548F-93C3-D099EAE6A030_d0e411447_href.png" placement="inline"/>
 </fig> <p>To get the first 256 bytes, you must read the first block of 512
 bytes from the media device. This can corrupt the physical memory passed in
 the I/O request. The solution is to read the first block from the media device
--- a/Symbian3/PDK/Source/GUID-2393237A-E60F-5556-8657-B0AA6470225C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2393237A-E60F-5556-8657-B0AA6470225C" xml:lang="en"><title>option</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>option</codeph>  <varname>keyword</varname> <varname>compiler-options</varname> </p>
-<p>Use the <codeph>option</codeph> statement to specify additional compiler
-options. </p>
-<p> <varname>keyword</varname> specifies the compiler. Possible values are <codeph>ARMCC</codeph> for
-ARM RVCT, <codeph>CW</codeph> for CodeWarrior, <codeph>GCC</codeph> for GCC, <codeph>GCCE</codeph> for
-GCCE, and <codeph>MSVC</codeph> for MS Visual C++. </p>
-<example><p>The following statement turns warnings off in CodeWarrior
-builds. </p><codeblock id="GUID-3CFD8D50-4BE0-5EB0-A1E3-FAEEC2F386BF" xml:space="preserve">OPTION CW -w off</codeblock></example>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-239B8B32-5816-575E-97B1-FF7B68BC7575_d0e144608_href.png has changed
Binary file Symbian3/PDK/Source/GUID-239B8B32-5816-575E-97B1-FF7B68BC7575_d0e146857_href.png has changed
--- a/Symbian3/PDK/Source/GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,96 +1,92 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7" xml:lang="en"><title>Required
-resource file statements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>As noted in <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource
-file structure</xref>,
-if the <parmname>NAME</parmname> is given, it must be the first statement
-in the resource file.</p>
-<p>After the <parmname>NAME</parmname> statement, resource files must begin
-with the following three <parmname>RESOURCE</parmname> statements: </p>
-<ul>
-<li><p><parmname>RESOURCE RSS_SIGNATURE</parmname></p></li>
-<li><p><parmname>RESOURCE TBUF</parmname></p></li>
-<li><p><parmname>RESOURCE TBUF RESOURCE EIK_APP_INFO</parmname></p>
-</li>
-</ul>
-<section id="GUID-4283E4EE-4553-4684-B19E-E22BA3248A72"><title>RESOURCE RSS_SIGNATURE</title>
-<p>The <parmname>RSS_SIGNATURE</parmname> resource is used to declare the
-version number of the resource file. Leave this blank. The syntax is as follows:</p>
-<codeblock id="GUID-AA3B4D8C-55DA-4328-82D9-42F1A7BD18F6" xml:space="preserve">RESOURCE RSS_SIGNATURE
-    {
-    signature = value
-    }</codeblock>
-<p>where signature is a <parmname>LONG</parmname> value.</p>
-<p>By default the signature is set to 0.</p>
-<p>For an example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
-<p>For more information on <codeph>RSS_STRUCTURE</codeph>, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/bafl/BA_RSS_SIGNATUREStruct.html#BA_RSS_SIGNATURE" format="application/java-archive">BA_RSS_SIGNATURE</xref>.</p>
-</section>
-<section id="GUID-CB1C2A65-73EA-4130-923C-AABA2878D93F"><title>RESOURCE TBUF</title>
-<p>The <parmname>TBUF</parmname> resource may be used to declare a file
-name for use by the document class if it is stated that the <parmname>StoreL</parmname> and <parmname>RestoreL</parmname> of
-the document class is called. Otherwise, it may be left blank. The syntax
-is as follows:</p>
-<codeblock id="GUID-79FD4FE0-2D55-4090-B342-FDFA288DC0A5" xml:space="preserve">RESOURCE TBUF
-     {
-     buf="NAME";
-     }</codeblock>
-<p>where <parmname>buf</parmname> is one non-zero terminating string.</p>
-<p>For an example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
-<note>
-<p>The TBUF structure is declared in <parmname>badef.rh</parmname>, which
-is included in the <parmname>uikon.rh</parmname> file. For more information
-on the TBUF resource, see  <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/bafl/TBUFStruct.html#TBUF" format="application/java-archive"><parmname>TBUF</parmname></xref>.</p>
-</note>
-</section>
-<section id="GUID-3687D483-9834-401B-B389-6C615B60AB87"><title>RESOURCE EIK_APP_INFO</title>
-<p>The <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/uikon/EIK_APP_INFO.html#EIK_APP_INFO" format="application/java-archive"><parmname>EIK_APP_INFO</parmname></xref> resource defines the objects
-used in the application GUI. </p>
-<note>
-<p>Not all possible objects need to be declared. </p>
-</note>
-<p>The syntax is as follows:</p>
-<codeblock id="GUID-7930019A-52B6-449F-861C-81EE003A2DB2" xml:space="preserve">RESOURCE EIK_APP_INFO
-    {
-    menubar = value2;
-    cba = value5;
-    status_pane = value6;
-    }</codeblock>
-<p>where:</p>
-<ul>
-<li><p><parmname>menubar</parmname> defines the menubar resource.</p>
-</li>
-<li><p><parmname>cba</parmname> defines the softkeys resource.</p>
-</li>
-<li><p><parmname>status_pane</parmname> defines the status pane
-resource.</p></li>
-</ul>
-<p>All values refer to resources defined either in the resource file or
-in a generated resource header file (<parmname>.rsg</parmname>) included in
-the resource file. </p>
-<note>
-<p>If an element is not defined, then it is not used. For example:</p>
-</note>
-<codeblock id="GUID-52146026-2265-43B2-BD2D-B3589CA7E9A9" xml:space="preserve">RESOURCE EIK_APP_INFO
-    {
-    menubar=r_name4;
-    cba=R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }</codeblock>
-<p>sets the application to use the menu bar defined by the <parmname>RESOURCE</parmname> statement
-with the name<parmname>r_name4</parmname>, and creates the softkey options <parmname>Options</parmname> and <parmname>Exit</parmname> in
-the control button area. </p>
-<p>For an example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
-<p>For more information on the control button area softkeys provided by
-the Symbian platform, see <xref href="GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita">Precompiled
-resource values available from the Symbian platform</xref>. </p>
-</section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7" xml:lang="en"><title>Required resource file statements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>As noted in <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource file structure</xref>, if the <parmname>NAME</parmname> is given, it must be the
+first statement in the resource file.</p>
+<p>After the <parmname>NAME</parmname> statement, resource files
+must begin with the following three <parmname>RESOURCE</parmname> statements: </p>
+<ul>
+<li><p><parmname>RESOURCE RSS_SIGNATURE</parmname></p>
+</li>
+<li><p><parmname>RESOURCE TBUF</parmname></p></li>
+<li><p><parmname>RESOURCE TBUF RESOURCE EIK_APP_INFO</parmname></p></li>
+</ul>
+<section id="GUID-4283E4EE-4553-4684-B19E-E22BA3248A72"><title>RESOURCE
+RSS_SIGNATURE</title>
+<p>The <parmname>RSS_SIGNATURE</parmname> resource is used to declare
+the version number of the resource file. Leave this blank. The syntax
+is as follows:</p>
+<codeblock id="GUID-AA3B4D8C-55DA-4328-82D9-42F1A7BD18F6" xml:space="preserve">RESOURCE RSS_SIGNATURE
+    {
+    signature = value
+    }</codeblock>
+<p>where signature is a <parmname>LONG</parmname> value.</p>
+<p>By default the signature is set to 0.</p>
+<p>For an example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
+<p>For more information on <codeph>RSS_STRUCTURE</codeph>, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/bafl/BA_RSS_SIGNATUREStruct.html#BA_RSS_SIGNATURE" format="application/java-archive">BA_RSS_SIGNATURE</xref>.</p>
+</section>
+<section id="GUID-CB1C2A65-73EA-4130-923C-AABA2878D93F"><title>RESOURCE
+TBUF</title>
+<p>The <parmname>TBUF</parmname> resource may be used to declare
+a file name for use by the document class if it is stated that the <parmname>StoreL</parmname> and <parmname>RestoreL</parmname> of the document
+class is called. Otherwise, it may be left blank. The syntax is as
+follows:</p>
+<codeblock id="GUID-79FD4FE0-2D55-4090-B342-FDFA288DC0A5" xml:space="preserve">RESOURCE TBUF
+     {
+     buf="NAME";
+     }</codeblock>
+<p>where <parmname>buf</parmname> is one non-zero terminating string.</p>
+<p>For an example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
+<note>
+<p>The TBUF structure is declared in <parmname>badef.rh</parmname>, which is included in the <parmname>uikon.rh</parmname> file. For
+more information on the TBUF resource, see  <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/bafl/TBUFStruct.html#TBUF" format="application/java-archive"><parmname>TBUF</parmname></xref>.</p>
+</note>
+</section>
+<section id="GUID-3687D483-9834-401B-B389-6C615B60AB87"><title>RESOURCE
+EIK_APP_INFO</title>
+<p>The <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/uikon/EIK_APP_INFO.html#EIK_APP_INFO" format="application/java-archive"><parmname>EIK_APP_INFO</parmname></xref> resource defines the
+objects used in the application GUI. </p>
+<note>
+<p>Not all possible objects need to be declared. </p>
+</note>
+<p>The syntax is as follows:</p>
+<codeblock id="GUID-7930019A-52B6-449F-861C-81EE003A2DB2" xml:space="preserve">RESOURCE EIK_APP_INFO
+    {
+    menubar = value2;
+    cba = value5;
+    status_pane = value6;
+    }</codeblock>
+<p>where:</p>
+<ul>
+<li><p><parmname>menubar</parmname> defines the menubar
+resource.</p></li>
+<li><p><parmname>cba</parmname> defines the softkeys resource.</p>
+</li>
+<li><p><parmname>status_pane</parmname> defines the status
+pane resource.</p></li>
+</ul>
+<p>All values refer to resources defined either in the resource
+file or in a generated resource header file (<parmname>.rsg</parmname>) included in the resource file. </p>
+<note>
+<p>If an element is not defined, then it is not used. For example:</p>
+</note>
+<codeblock id="GUID-52146026-2265-43B2-BD2D-B3589CA7E9A9" xml:space="preserve">RESOURCE EIK_APP_INFO
+    {
+    menubar=r_name4;
+    cba=R_AVKON_SOFTKEYS_OPTIONS_EXIT;
+    }</codeblock>
+<p>sets the application to use the menu bar defined by the <parmname>RESOURCE</parmname> statement with the name<parmname>r_name4</parmname>, and creates the softkey options <parmname>Options</parmname> and <parmname>Exit</parmname> in the control button area. </p>
+<p>For an example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
+<p>For more information on the control button area softkeys provided
+by the Symbian platform, see <xref href="GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita">Precompiled resource values available from the Symbian platform</xref>. </p>
+</section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4"><title>Window Server Plugins Component Overview</title><shortdesc>The Window Server Plugins component provides render stage plug-ins for use in ScreenPlay. These reproduce the rendering behavior in Symbian OS v9.4. Device creators can use the supplied render stage plug-ins or use them as a reference when developing their own. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <p>The Window Server Plugins component supplies two render stages, known as the Flicker Buffer and Display render stages. The following diagram shows their standard configuration. </p> <fig id="GUID-1B844F0F-E83C-5DD3-BCF0-2203C749A49F"><title>
           Standard render stage configuration 
-        </title> <image href="GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e251541_href.png" placement="inline"/></fig> <p>The render stage API has <codeph>Begin()</codeph> and <codeph>End()</codeph> functions, which bracket batches of draw operations. </p> <p>The Display render stage simply renders the draw operations it receives straight into the UI surface. </p> <p>The Flicker Buffer renders the draw operations it receives into an offscreen surface. When it receives the <codeph>End()</codeph> call, it calls the Display render stage, but passes in only a single draw operation—a blit of the offscreen surface into the UI surface. As its name suggests, the purpose of the Flicker Buffer render stage is to reduce flicker. Without the Flicker Buffer render stage, each draw operation from the redraw store playback would be rendered straight into the UI surface. </p> <p>For example, suppose that the redraw store playback consists of two draw operations—a blit of a skin bitmap and some text drawing over the top of it. Without the Flicker Buffer, the end user would first see the skin bitmap appear and would then see the text drawn over the top. With the Flicker Buffer render stage, the skin and the text appear at once. </p> <p>These render stages also implement the features required for <xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">dynamic resolution switching</xref>. For example, they allow virtual resolutions that are half the real resolutions, if configured to do so in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. </p> </conbody><related-links><link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> <link href="GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita"><linktext>Window Server Rendering
+        </title> <image href="GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e257552_href.png" placement="inline"/></fig> <p>The render stage API has <codeph>Begin()</codeph> and <codeph>End()</codeph> functions, which bracket batches of draw operations. </p> <p>The Display render stage simply renders the draw operations it receives straight into the UI surface. </p> <p>The Flicker Buffer renders the draw operations it receives into an offscreen surface. When it receives the <codeph>End()</codeph> call, it calls the Display render stage, but passes in only a single draw operation—a blit of the offscreen surface into the UI surface. As its name suggests, the purpose of the Flicker Buffer render stage is to reduce flicker. Without the Flicker Buffer render stage, each draw operation from the redraw store playback would be rendered straight into the UI surface. </p> <p>For example, suppose that the redraw store playback consists of two draw operations—a blit of a skin bitmap and some text drawing over the top of it. Without the Flicker Buffer, the end user would first see the skin bitmap appear and would then see the text drawn over the top. With the Flicker Buffer render stage, the skin and the text appear at once. </p> <p>These render stages also implement the features required for <xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">dynamic resolution switching</xref>. For example, they allow virtual resolutions that are half the real resolutions, if configured to do so in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. </p> </conbody><related-links><link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> <link href="GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita"><linktext>Window Server Rendering
                 Loop</linktext> </link> <link href="GUID-57A777A3-5D67-5CBB-B224-B7AD422A451B.dita"><linktext>Windowing Collection</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-24039DCE-B5C4-46CB-9E02-AB421C64FB87.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-24039DCE-B5C4-46CB-9E02-AB421C64FB87.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 words, it uses the physical coordinates of the display.</p>
 <p>The following figure illustrates this relationship.</p>
 <fig id="GUID-9D373EB7-096D-4C84-8060-577F33D462EE"><title>Relative positions of three controls where the top-level parent owns
-the window</title><image href="GUID-61C340D0-9058-45C2-9A90-4AB8E0612872_d0e68588_href.png"/></fig>
+the window</title><image href="GUID-61C340D0-9058-45C2-9A90-4AB8E0612872_d0e72801_href.png"/></fig>
 <p>Consider three controls, <b>A</b>, <b>B</b>, and <b>C</b> (shown in
 the figure above):</p>
 <ul>
@@ -42,7 +42,7 @@
 of its own, it is a child window of <b>A</b>'s window (as shown in the following
 figure). Then if <b>C</b> is a child of <b>B</b> and sets its window by calling <parmname>CCoeControl::SetContainerWindowL(B)</parmname>,
 the position of <b>C</b> (p') is relative to <b>B</b>'s window.</p>
-<fig id="GUID-5884BDB6-6ED0-4EF6-A64F-3EEAAAEE2FF0"><title>Relative positions of three controls where a child owns a window</title><image href="GUID-3A506E2A-2999-458B-BBA2-DCC4D2EA5492_d0e68691_href.png"/></fig>
+<fig id="GUID-5884BDB6-6ED0-4EF6-A64F-3EEAAAEE2FF0"><title>Relative positions of three controls where a child owns a window</title><image href="GUID-3A506E2A-2999-458B-BBA2-DCC4D2EA5492_d0e72904_href.png"/></fig>
 <p>As the example illustrates, a control position depends on the window
 in which it is drawn. Therefore, you need to know the drawing window for each
 control. It is an important issue when designing a UI layout. There are some
--- a/Symbian3/PDK/Source/GUID-244631CF-03F9-4C48-9802-682A76E9ECCC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-244631CF-03F9-4C48-9802-682A76E9ECCC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -48,10 +48,10 @@
 item-specific submenu item (<uicontrol>Delete</uicontrol>) is hidden in the
 options menu and displayed in the stylus pop-up menu by setting the <codeph>EEikMenuItemSpecific</codeph> flag.</p><fig id="GUID-5B14DC3B-857A-4F79-9B47-4E00786386D8">
 <title> Before setting the EEikMenuItemSpecific flag</title>
-<image href="GUID-B92B7DF8-0086-431F-91CE-6F193C045FB5_d0e5131_href.png" placement="inline"/>
+<image href="GUID-B92B7DF8-0086-431F-91CE-6F193C045FB5_d0e5122_href.png" placement="inline"/>
 </fig><fig id="GUID-87A153E3-2451-4C2E-B998-5ACDB30C627E">
 <title>After setting the EEikMenuItemSpecific flag</title>
-<image href="GUID-41A53C1F-E9BF-420F-A967-83906299FE8B_d0e5138_href.png" placement="inline"/>
+<image href="GUID-41A53C1F-E9BF-420F-A967-83906299FE8B_d0e5129_href.png" placement="inline"/>
 </fig></choice>
 <choice><p>Add the <codeph>EEikMenuItemSpecificListQuery</codeph> flag to
 submenu resource definitions. As a result, the submenu items are displayed
@@ -79,7 +79,7 @@
 is displayed in the list query dialog box under <uicontrol>option</uicontrol> by
 setting the <codeph>EEikMenuItemSpecificListQuery</codeph> flag.</p><fig id="GUID-F158E9FA-11A5-485D-A5A1-B2C936FF1ABC">
 <title>After setting the EEikMenuItemSpecificListQuery flag</title>
-<image href="GUID-2B820ED0-D0E1-4CF0-9D63-C91806EDB8F6_d0e5168_href.png" placement="inline"/>
+<image href="GUID-2B820ED0-D0E1-4CF0-9D63-C91806EDB8F6_d0e5159_href.png" placement="inline"/>
 </fig></choice>
 </choices>
 </step>
Binary file Symbian3/PDK/Source/GUID-245FC4CA-EB57-5745-AD2E-79E33D43D912_d0e321829_href.png has changed
Binary file Symbian3/PDK/Source/GUID-245FC4CA-EB57-5745-AD2E-79E33D43D912_d0e327815_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2468821F-6C66-5761-AE56-CEC942A2EE95_d0e242075_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2468821F-6C66-5761-AE56-CEC942A2EE95_d0e248086_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2472E5E0-C33A-51B4-8210-89D7DEFA87C8_d0e317532_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2472E5E0-C33A-51B4-8210-89D7DEFA87C8_d0e323522_href.png has changed
--- a/Symbian3/PDK/Source/GUID-24860917-0FE2-5C8F-B436-96928350996E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-24860917-0FE2-5C8F-B436-96928350996E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 get notifications. The following illustration shows the architecture of the
 bearer mobility implementation in the Messaging Application module. </p> <fig id="GUID-3C8EB55A-9740-5249-8E82-1E6CD0B47F01">
 <title>              Architecture of Bearer Mobility            </title>
-<image href="GUID-5223D1C1-CBBE-551A-AC57-CD94F9D1B9B6_d0e473205_href.png" placement="inline"/>
+<image href="GUID-5223D1C1-CBBE-551A-AC57-CD94F9D1B9B6_d0e479041_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Settings</title> <p>The email client MTM <xref href="GUID-A7EF08E6-82AF-3577-B942-ABD532EDB7FE.dita"><apiname>CEmailAccounts</apiname></xref> interfaces
 are enhanced to configure the email account settings. These settings modify
Binary file Symbian3/PDK/Source/GUID-24B8686D-727A-47A8-B01D-1BA1FBC8F771_d0e165375_href.png has changed
Binary file Symbian3/PDK/Source/GUID-24B8686D-727A-47A8-B01D-1BA1FBC8F771_d0e171468_href.png has changed
--- a/Symbian3/PDK/Source/GUID-24D16BF8-7BF1-5FF2-BCA8-E5200A9E8431.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-24D16BF8-7BF1-5FF2-BCA8-E5200A9E8431.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
     };</codeblock>
 <fig id="GUID-C1BDFB57-AAD9-55A2-8E02-D9277BCCE122">
 <title>Two elements in a linked list</title>
-<image href="GUID-C014FC75-732F-558F-8E6A-77DDAA032930_d0e316185_href.png" placement="inline"/>
+<image href="GUID-C014FC75-732F-558F-8E6A-77DDAA032930_d0e322175_href.png" placement="inline"/>
 </fig>
 <p>Although any kind of object can be an element of a linked list, most lists
 consist of elements which are all of the same type.</p>
@@ -39,7 +39,7 @@
 <fig id="GUID-AA2CB21D-B848-5ADF-8B0E-7E2928C84DBE">
 <title>An example of two elements, in two lists where they are consecutive
 elements in both lists</title>
-<image href="GUID-773A0EDC-F17C-553B-BEC3-DA990F5064B7_d0e316211_href.png" placement="inline"/>
+<image href="GUID-773A0EDC-F17C-553B-BEC3-DA990F5064B7_d0e322201_href.png" placement="inline"/>
 </fig>
 <p>Elements can also be objects constructed from a variety of classes, all
 ultimately derived from the same base class, where that base class includes
@@ -64,7 +64,7 @@
 </codeblock>
 <fig id="GUID-408F856C-86C0-5ED2-A61D-2F81B41566DD">
 <title>Example of a linked list of different element types</title>
-<image href="GUID-935057C9-8FA9-5B41-A36C-03A825C51B32_d0e316249_href.png" placement="inline"/>
+<image href="GUID-935057C9-8FA9-5B41-A36C-03A825C51B32_d0e322239_href.png" placement="inline"/>
 </fig>
 <p>Note that the link object is at the same offset in each element in this
 list.</p>
--- a/Symbian3/PDK/Source/GUID-24D51B0B-7EBE-49AE-84CF-098096BE0A1C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-24D51B0B-7EBE-49AE-84CF-098096BE0A1C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,14 +20,14 @@
 <entry><xref href="GUID-875D74D3-5663-42E3-A4B9-294F82FF5486.dita">Confirmation
 note</xref></entry>
 <entry><fig id="GUID-22A492DB-C0BA-4824-8CB1-7165CE427FC4">
-<image href="GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e86800_href.png" placement="inline"/>
+<image href="GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e90998_href.png" placement="inline"/>
 </fig></entry>
 </row>
 <row>
 <entry><xref href="GUID-E449F309-F230-46F9-B777-EF64D0E3191D.dita">Information
 note</xref></entry>
 <entry><fig id="GUID-E9136777-16CD-4340-B6D4-0D82EFD162F0">
-<image href="GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e86813_href.png" placement="inline"/>
+<image href="GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e91011_href.png" placement="inline"/>
 </fig></entry>
 </row>
 <row>
@@ -37,7 +37,7 @@
 <row>
 <entry><xref href="GUID-E9F203A6-D9E3-41B7-9FC4-24EDE20C4753.dita">Error note</xref></entry>
 <entry><fig id="GUID-5AF63083-6811-4CC0-9070-857F3E85F79A">
-<image href="GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e86835_href.png" placement="inline"/>
+<image href="GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e91033_href.png" placement="inline"/>
 </fig></entry>
 </row>
 <row>
@@ -48,13 +48,13 @@
 <row>
 <entry><xref href="GUID-93EFC9E4-8779-415D-ABEB-2AC9991996DD.dita">Wait note</xref></entry>
 <entry><fig id="GUID-45F5F676-8B8C-4272-96D7-934E4E945659">
-<image href="GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e86858_href.png" placement="inline"/>
+<image href="GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e91056_href.png" placement="inline"/>
 </fig></entry>
 </row>
 <row>
 <entry><xref href="GUID-81E33E18-D390-4110-8D85-1FCDA9CC311E.dita">Progress note</xref></entry>
 <entry><fig id="GUID-C73D8E3E-3937-4571-90A4-4B38149E9BF1">
-<image href="GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e86872_href.png" placement="inline"/>
+<image href="GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e91070_href.png" placement="inline"/>
 </fig></entry>
 </row>
 </tbody>
--- a/Symbian3/PDK/Source/GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,48 +1,48 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-24EFD1EC-333C-537C-89FF-A77627D962C3" xml:lang="en"><title>LocaleUpdateExample:
-Using the Locale Functionality</title><shortdesc>This example demonstrates how to get different locale settings
-from the locale DLLs in the system. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-DDFC3596-480B-4918-A60A-E1801BBB1BEA"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-5a60c198-2dac-4ef7-883a-b282bd9a42f9.zip" scope="external">localeupdate.zip</xref>.</p> <p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-5a60c198-2dac-4ef7-883a-b282bd9a42f9.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-72B5059D-9D34-5383-814B-45A1DAD2FC90"><title>Description</title> <p>An
-object of the <xref href="GUID-454ACAB5-1573-323C-820E-AF542B149D2A.dita"><apiname>TExtendedLocale</apiname></xref> class is used to load a number
-of locale DLLs from the system. For each locale DLL, it gets the following
-locale settings: </p> <ul>
-<li id="GUID-F96BD378-38D1-5414-9B8D-4F7449CE29C7"><p>Calendar settings </p> </li>
-<li id="GUID-06311328-53F6-57EA-B09F-E6D6C015E640"><p>Country code </p> </li>
-<li id="GUID-30E90860-AE49-53DE-B50B-3999FEE7F4A2"><p>Collation method </p> </li>
-<li id="GUID-9C94D6B0-5388-5F75-BCC8-E7F6D9969222"><p>Currency format </p> </li>
-<li id="GUID-A02DFDC3-90B7-56A7-BD68-CF841FFA1D9B"><p>Date and time format </p> </li>
-<li id="GUID-541F9EA0-3012-5C88-B35B-4B00F3FF3C72"><p>Numeric value settings </p> </li>
-<li id="GUID-9AC24D0E-93A8-57F4-B622-82863EBBE894"><p>Time zone information </p> </li>
-<li id="GUID-662C9AB4-72A0-5EA5-8813-83A51D0EE981"><p>Units of measurement. </p> </li>
-</ul> <p id="GUID-80E7114C-3BFD-551E-A76D-385AE2657EA0"><b>See also</b> </p> <p><xref href="GUID-C497F36F-BCA8-569D-826A-64EAD75C887C.dita">Locale Settings</xref>  </p> </section>
-<section id="GUID-91B57370-D63E-4635-BE62-A6B86FF1E421"><title>Class summary</title><ul>
-<li><p><xref href="GUID-454ACAB5-1573-323C-820E-AF542B149D2A.dita"><apiname>TExtendedLocale</apiname></xref> - Extended locale class.</p></li>
-<li><p><xref href="GUID-53299759-C2DD-3ABC-A055-9AFE7C5081C6.dita"><apiname>TLocale</apiname></xref> - Sets and gets the system's locale settings.</p></li>
-<li><p><xref href="GUID-BF1B2D81-9EC0-3345-9EFF-27341F1E5CEF.dita"><apiname>TDay</apiname></xref> - Defines the days of the week.</p></li>
-<li><p><xref href="GUID-78C4965C-BFCD-3E7E-8F46-2EE3D1BAF6EC.dita"><apiname>TCollationMethod</apiname></xref> - Defines a collation method.</p></li>
-<li><p><xref href="GUID-FFC6932E-2FFF-315E-975B-9E9A7A8CBF2F.dita"><apiname>TDateFormat</apiname></xref> - Defines the date formats.</p></li>
-<li><p><xref href="GUID-7F61AE3B-579D-32E3-8134-81BFAAD4807E.dita"><apiname>TTimeFormat</apiname></xref> - Defines the time formats as either
-12 hour or 24 hour. </p></li>
-<li><p><xref href="GUID-E13F49BA-BB0F-3ECA-A1F6-158E5C80F799.dita"><apiname>TDaylightSavingZone</apiname></xref> - Defines the daylight
-saving zones.</p></li>
-<li><p><xref href="GUID-4B94449F-05D7-376E-94EF-D11AB200E543.dita"><apiname>TUnitsFormat</apiname></xref> - Enumerates the units of measurement
-as either Imperial or Metric.</p></li>
-</ul></section>
-<section id="GUID-2421D907-91C7-590C-BEE3-A84526C9FFE3"><title>Build</title> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref> describes
-how to build this example. </p> <p>The <codeph>localeupdate</codeph> example
-builds the <filepath>localeupdate.exe</filepath> executable file in the standard
-location (<filepath>\epoc32\release\winscw\ &lt;build_variant&gt;</filepath>)
-for Carbide.c++. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-24EFD1EC-333C-537C-89FF-A77627D962C3" xml:lang="en"><title>LocaleUpdateExample: Using the Locale Functionality</title><shortdesc>This example demonstrates how to get different locale settings
+from the locale DLLs in the system. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-DDFC3596-480B-4918-A60A-E1801BBB1BEA"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-5a60c198-2dac-4ef7-883a-b282bd9a42f9.zip" scope="external">localeupdate.zip</xref>.</p> <p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-5a60c198-2dac-4ef7-883a-b282bd9a42f9.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-72B5059D-9D34-5383-814B-45A1DAD2FC90"><title>Description</title> <p>An object of the <xref href="GUID-454ACAB5-1573-323C-820E-AF542B149D2A.dita"><apiname>TExtendedLocale</apiname></xref> class is
+used to load a number of locale DLLs from the system. For each locale
+DLL, it gets the following locale settings: </p> <ul>
+<li id="GUID-F96BD378-38D1-5414-9B8D-4F7449CE29C7"><p>Calendar settings </p> </li>
+<li id="GUID-06311328-53F6-57EA-B09F-E6D6C015E640"><p>Country code </p> </li>
+<li id="GUID-30E90860-AE49-53DE-B50B-3999FEE7F4A2"><p>Collation method </p> </li>
+<li id="GUID-9C94D6B0-5388-5F75-BCC8-E7F6D9969222"><p>Currency format </p> </li>
+<li id="GUID-A02DFDC3-90B7-56A7-BD68-CF841FFA1D9B"><p>Date and time
+format </p> </li>
+<li id="GUID-541F9EA0-3012-5C88-B35B-4B00F3FF3C72"><p>Numeric value
+settings </p> </li>
+<li id="GUID-9AC24D0E-93A8-57F4-B622-82863EBBE894"><p>Time zone information </p> </li>
+<li id="GUID-662C9AB4-72A0-5EA5-8813-83A51D0EE981"><p>Units of measurement. </p> </li>
+</ul> <p id="GUID-80E7114C-3BFD-551E-A76D-385AE2657EA0"><b>See also</b> </p> <p><xref href="GUID-C497F36F-BCA8-569D-826A-64EAD75C887C.dita">Locale
+Settings</xref>  </p> </section>
+<section id="GUID-91B57370-D63E-4635-BE62-A6B86FF1E421"><title>Class
+summary</title><ul>
+<li><p><xref href="GUID-454ACAB5-1573-323C-820E-AF542B149D2A.dita"><apiname>TExtendedLocale</apiname></xref> - Extended locale class.</p></li>
+<li><p><xref href="GUID-53299759-C2DD-3ABC-A055-9AFE7C5081C6.dita"><apiname>TLocale</apiname></xref> - Sets and gets the system's locale
+settings.</p></li>
+<li><p><xref href="GUID-BF1B2D81-9EC0-3345-9EFF-27341F1E5CEF.dita"><apiname>TDay</apiname></xref> - Defines the days of the week.</p></li>
+<li><p><xref href="GUID-78C4965C-BFCD-3E7E-8F46-2EE3D1BAF6EC.dita"><apiname>TCollationMethod</apiname></xref> - Defines a collation method.</p></li>
+<li><p><xref href="GUID-FFC6932E-2FFF-315E-975B-9E9A7A8CBF2F.dita"><apiname>TDateFormat</apiname></xref> - Defines the date formats.</p></li>
+<li><p><xref href="GUID-7F61AE3B-579D-32E3-8134-81BFAAD4807E.dita"><apiname>TTimeFormat</apiname></xref> - Defines the time formats as
+either 12 hour or 24 hour. </p></li>
+<li><p><xref href="GUID-E13F49BA-BB0F-3ECA-A1F6-158E5C80F799.dita"><apiname>TDaylightSavingZone</apiname></xref> - Defines the daylight
+saving zones.</p></li>
+<li><p><xref href="GUID-4B94449F-05D7-376E-94EF-D11AB200E543.dita"><apiname>TUnitsFormat</apiname></xref> - Enumerates the units of measurement
+as either Imperial or Metric.</p></li>
+</ul></section>
+<section id="GUID-2421D907-91C7-590C-BEE3-A84526C9FFE3"><title>Build</title> <p>The Symbian build process describes how to build this example. </p> <p>The <codeph>localeupdate</codeph> example builds
+the <filepath>localeupdate.exe</filepath> executable file in the standard
+location (<filepath>\epoc32\release\winscw\ &lt;build_variant&gt;</filepath>) for Carbide.c++. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e435419_href.png has changed
Binary file Symbian3/PDK/Source/GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e441264_href.png has changed
--- a/Symbian3/PDK/Source/GUID-25035286-5134-51F6-A3B6-C0DF0E802719.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-25035286-5134-51F6-A3B6-C0DF0E802719.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,5 +9,5 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-25035286-5134-51F6-A3B6-C0DF0E802719"><title>The Linear DDA</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Linear Digital Differential Analyzers (DDAs) are used by various functions to construct straight lines and to calculate bitmap stretching and compression. </p> <section><title>Line construction </title> <p>The linear DDA constructs a pixel line between the start point and end point, using the straight geometric line between these points. </p> <p>In the example below Line A has a start point (3,10) and end point (22,6). The x-delta is therefore 22-3+1=20. The y-delta is 10-6+1=5. 5 goes into 20 exactly four times, so each step of the pixel line has four pixels in it. </p> <fig id="GUID-7FCC7B03-5EC0-5F5B-852B-2D372B8DABD5"><image href="GUID-4CFFD28E-25B5-5B3F-859F-DF8ADC1DC029_d0e260233_href.png" placement="inline"/></fig> <p>The distribution of pixels is fairly straightforward if the x-delta is an exact multiple of the y-delta, or vice versa. In this case there are the same number of pixels in each pixel line step (as in the case of line A). When the x-delta is <i>not</i> an exact multiple of the y-delta, (or vice versa) the pixels in the pixel line cannot be distributed evenly so the pixel line steps each have differing numbers of pixels (as in the case of line B). </p> </section> <section><title>Scaling bitmaps </title> <p>When a bitmap is to be displayed it often has to be stretched or compressed to fit the desired display area. </p> <p>The linear DDA constructs an imaginary pixel line between the start point and end point, using the straight geometric line between these points. This is then used to stretch or compress the original bitmap prior to display. </p> <p>The example below uses linear DDA to do a 400% horizontal scaling of a bitmapped "6" character. In most situations two linear DDAs would be needed, one for horizontal and one for vertical scaling. </p> <fig id="GUID-AF1CACFD-09B3-5C0B-9FF0-01A55F543D8E"><image href="GUID-B80E3FB0-C26F-52A8-B4DE-0A219B974ABC_d0e260256_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-55C8C429-1BEC-5A58-94EC-DA1E51F62867.dita"><linktext>Drawing
+<concept xml:lang="en" id="GUID-25035286-5134-51F6-A3B6-C0DF0E802719"><title>The Linear DDA</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Linear Digital Differential Analyzers (DDAs) are used by various functions to construct straight lines and to calculate bitmap stretching and compression. </p> <section><title>Line construction </title> <p>The linear DDA constructs a pixel line between the start point and end point, using the straight geometric line between these points. </p> <p>In the example below Line A has a start point (3,10) and end point (22,6). The x-delta is therefore 22-3+1=20. The y-delta is 10-6+1=5. 5 goes into 20 exactly four times, so each step of the pixel line has four pixels in it. </p> <fig id="GUID-7FCC7B03-5EC0-5F5B-852B-2D372B8DABD5"><image href="GUID-4CFFD28E-25B5-5B3F-859F-DF8ADC1DC029_d0e266242_href.png" placement="inline"/></fig> <p>The distribution of pixels is fairly straightforward if the x-delta is an exact multiple of the y-delta, or vice versa. In this case there are the same number of pixels in each pixel line step (as in the case of line A). When the x-delta is <i>not</i> an exact multiple of the y-delta, (or vice versa) the pixels in the pixel line cannot be distributed evenly so the pixel line steps each have differing numbers of pixels (as in the case of line B). </p> </section> <section><title>Scaling bitmaps </title> <p>When a bitmap is to be displayed it often has to be stretched or compressed to fit the desired display area. </p> <p>The linear DDA constructs an imaginary pixel line between the start point and end point, using the straight geometric line between these points. This is then used to stretch or compress the original bitmap prior to display. </p> <p>The example below uses linear DDA to do a 400% horizontal scaling of a bitmapped "6" character. In most situations two linear DDAs would be needed, one for horizontal and one for vertical scaling. </p> <fig id="GUID-AF1CACFD-09B3-5C0B-9FF0-01A55F543D8E"><image href="GUID-B80E3FB0-C26F-52A8-B4DE-0A219B974ABC_d0e266265_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-55C8C429-1BEC-5A58-94EC-DA1E51F62867.dita"><linktext>Drawing
                 to a Graphics Context Tutorials</linktext> </link> <link href="GUID-E3AC8F3E-9D5C-5E7D-9760-023B77C7C8A8.dita"><linktext>Drawing and Graphics Contexts</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2565AD08-6D97-5EF5-9CA2-83D6A953D772_d0e431716_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2565AD08-6D97-5EF5-9CA2-83D6A953D772_d0e437561_href.png has changed
Binary file Symbian3/PDK/Source/GUID-257212F5-A414-4F17-A786-DB3168218139_d0e95477_href.png has changed
Binary file Symbian3/PDK/Source/GUID-257212F5-A414-4F17-A786-DB3168218139_d0e99673_href.png has changed
Binary file Symbian3/PDK/Source/GUID-258FA5F7-5069-5DFE-8F6E-57063064CE65_d0e491086_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-258FA5F7-5069-5DFE-8F6E-57063064CE65_d0e496901_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-25A63716-D637-589D-BAB7-B962455F2DC6_d0e243458_href.png has changed
Binary file Symbian3/PDK/Source/GUID-25A63716-D637-589D-BAB7-B962455F2DC6_d0e249469_href.png has changed
Binary file Symbian3/PDK/Source/GUID-25CBA151-ED8E-5A88-A9FD-F20810371B4D_d0e316032_href.png has changed
Binary file Symbian3/PDK/Source/GUID-25CBA151-ED8E-5A88-A9FD-F20810371B4D_d0e322022_href.png has changed
--- a/Symbian3/PDK/Source/GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,52 +1,54 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457" xml:lang="en"><title>Dynamically
-Loading Link Libraries Overview</title><shortdesc>Description of Polymorphic DLLs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-25D3E357-BE6E-40BD-897D-DA5EB92029C5"><title>Purpose</title> <p>Dynamically load libraries during program
-execution.</p> <p>These interfaces are used by programs that need to load
-libraries at run-time, that have a common interface, but different concrete
-behaviour. Because of this relationship between interface and behaviour, such
-libraries are called <i>polymorphic DLLs</i>. </p> </section>
-<section id="GUID-5444CFD3-5FC2-4160-BD8A-8BD7154402B3"><title>Architectural relationships</title> <p>Many parts of the system
-use polymorphic DLLs. Communications components, such as Sockets and Messaging,
-use architectures in which particular communications protocols are provided
-as polymorphic DLLs, and are loaded as needed. UI application programs are
-also polymorphic DLLs that are loaded when the user starts the program.</p> </section>
-<section id="GUID-2A379537-7B05-445F-83FC-C4396794A3CD"><title>Description</title> <p>The API has three key concepts: polymorphic
-DLL, polymorphic DLL handle, and polymorphic DLL function pointer. </p> </section>
-<section id="GUID-0A0DF81E-94C0-4D91-8F2A-1DFBE542E019"><title>Polymorphic DLL</title> <p>A program that uses a type of polymorphic
-DLLs defines their interface in terms of a single abstract class whose functions
-are declared as pure virtual. Each type of polymorphic DLL is given a unique
-identifier (UID). </p> <p>A particular concrete DLL:</p> <ul>
-<li id="GUID-E073605D-1AC4-55B9-94AA-FD1A761B5448"><p>implements the interface
-by defining and implementing a concrete class derived from the abstract class.</p> </li>
-<li id="GUID-AF95C27B-841D-53B5-836B-A55B4ED3E5F3"><p>exports a function that
-creates an object of the derived class type. All other functions in the DLL
-are virtual and called through the base class interface.</p> </li>
-</ul></section>
-<section id="GUID-825B7916-7E13-42B5-BAE4-A7009679E4F2"><title>Polymorphic DLL handle</title><p>The polymorphic DLL handle
-allows a program to load and close a particular polymorphic DLL. It also allows
-the caller to obtain pointers to functions exported by the DLL. The system
-can check that a polymorphic DLL is of the correct type by checking the type
-UID value.</p> <p>The polymorphic DLL handle interface is provided by <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita"><apiname>RLibrary</apiname></xref>.</p> <p>A
-wildcard file system search for polymorphic DLLs can be done through <xref href="GUID-1B05E2E3-B64E-36A8-BFFF-430028113BA4.dita"><apiname>TFindLibrary</apiname></xref>.</p> </section>
-<section id="GUID-C16BECEC-B59A-4FFE-94F0-548DB602A0BA"><title>Polymorphic DLL function pointer</title> <p>An exported function
-is called through a pointer to function obtained through a polymorphic DLL
-handle.</p> <p>The polymorphic DLL function pointer type is provided by the <xref href="GUID-7E0A7BA7-0EF8-3832-A1EA-B85FFADD1A9B.dita"><apiname>TLibraryFunction</apiname></xref> typedef.
-The caller casts the pointer to the real type of the exported function before
-using it.</p> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-AB705D21-87A3-5F32-A4B9-17B7593DD5C3.dita">UID Manipulation
-Overview</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457" xml:lang="en"><title>Dynamically Loading Link Libraries Overview</title><shortdesc>Description of Polymorphic DLLs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-25D3E357-BE6E-40BD-897D-DA5EB92029C5"><title>Purpose</title> <p>Dynamically load libraries during program execution.</p> <p>These
+interfaces are used by programs that need to load libraries at run-time,
+that have a common interface, but different concrete behavior. Because
+of this relationship between interface and behaviour, such libraries
+are called <i>polymorphic DLLs</i>. </p> </section>
+<section id="GUID-5444CFD3-5FC2-4160-BD8A-8BD7154402B3"><title>Architectural
+relationships</title> <p>Many parts of the system use polymorphic
+DLLs. Communications components, such as Sockets and Messaging, use
+architectures in which particular communications protocols are provided
+as polymorphic DLLs, and are loaded as needed. UI application programs
+are also polymorphic DLLs that are loaded when the user starts the
+program.</p> </section>
+<section id="GUID-2A379537-7B05-445F-83FC-C4396794A3CD"><title>Description</title> <p>The API has three key concepts: polymorphic DLL, polymorphic
+DLL handle, and polymorphic DLL function pointer. </p> </section>
+<section id="GUID-0A0DF81E-94C0-4D91-8F2A-1DFBE542E019"><title>Polymorphic
+DLL</title> <p>A program that uses a type of polymorphic DLLs defines
+their interface in terms of a single abstract class whose functions
+are declared as pure virtual. Each type of polymorphic DLL is given
+a unique identifier (UID). </p> <p>A particular concrete DLL:</p> <ul>
+<li id="GUID-E073605D-1AC4-55B9-94AA-FD1A761B5448"><p>implements the
+interface by defining and implementing a concrete class derived from
+the abstract class.</p> </li>
+<li id="GUID-AF95C27B-841D-53B5-836B-A55B4ED3E5F3"><p>exports a function
+that creates an object of the derived class type. All other functions
+in the DLL are virtual and called through the base class interface.</p> </li>
+</ul></section>
+<section id="GUID-825B7916-7E13-42B5-BAE4-A7009679E4F2"><title>Polymorphic
+DLL handle</title><p>The polymorphic DLL handle allows a program to
+load and close a particular polymorphic DLL. It also allows the caller
+to obtain pointers to functions exported by the DLL. The system can
+check that a polymorphic DLL is of the correct type by checking the
+type UID value.</p> <p>The polymorphic DLL handle interface is provided
+by <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita"><apiname>RLibrary</apiname></xref>.</p> <p>A wildcard file system search
+for polymorphic DLLs can be done through <xref href="GUID-1B05E2E3-B64E-36A8-BFFF-430028113BA4.dita"><apiname>TFindLibrary</apiname></xref>.</p> </section>
+<section id="GUID-C16BECEC-B59A-4FFE-94F0-548DB602A0BA"><title>Polymorphic
+DLL function pointer</title> <p>An exported function is called through
+a pointer to function obtained through a polymorphic DLL handle.</p> <p>The polymorphic DLL function pointer type is provided by the <xref href="GUID-7E0A7BA7-0EF8-3832-A1EA-B85FFADD1A9B.dita"><apiname>TLibraryFunction</apiname></xref> typedef. The caller casts the pointer
+to the real type of the exported function before using it.</p> </section>
+</conbody><related-links>
+<link href="GUID-AB705D21-87A3-5F32-A4B9-17B7593DD5C3.dita"><linktext>UID
+Manipulation Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-260E0D27-DCC3-52D5-A7E1-36152A04B7C6_d0e594061_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-260E0D27-DCC3-52D5-A7E1-36152A04B7C6_d0e621955_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-2610E11C-26FA-538E-A3E1-34AADA35F20B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2610E11C-26FA-538E-A3E1-34AADA35F20B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,5 +36,5 @@
   }
   ...
   CleanupStack::PopAndDestroy(1);
-}</codeblock> </example> <section id="GUID-8F3A39B6-6514-5A48-BE2E-7893D7625A9C-GENID-1-12-1-24-1-1-6-1-1-9-1-8-1-7-1-3-5"><p>Now that you have performed a basic database query you can start thinking about more advanced querying options. The following will show you how: </p> <ul><li id="GUID-D2CD5BB5-C085-56F0-B834-7515447CD661"><p> <xref href="GUID-72511204-FC90-54AA-9E2E-833318020318.dita">Reading to a buffer</xref>  </p> </li> <li id="GUID-B147074E-B791-592E-99C3-474AA5D217F6"><p> <xref href="GUID-3CCA6503-54DA-5558-85DC-93A22A81F565.dita">Reading to memory</xref>  </p> </li> <li id="GUID-029878E1-AAD9-5E1A-B696-67BD3C0D905F"><p> <xref href="GUID-183280EE-0C57-54FE-8ABB-E1CC3BDE525B.dita">Reading to a data stream</xref>  </p> </li> </ul> </section> </conbody><related-links><link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL Overview</linktext> </link> <link href="GUID-C2FCE726-FD87-52BF-8AF8-7F54FB6D6CB1.dita"><linktext>Basic SQL Example
+}</codeblock> </example> <section id="GUID-8F3A39B6-6514-5A48-BE2E-7893D7625A9C-GENID-1-12-1-27-1-1-6-1-1-9-1-8-1-7-1-3-5"><p>Now that you have performed a basic database query you can start thinking about more advanced querying options. The following will show you how: </p> <ul><li id="GUID-D2CD5BB5-C085-56F0-B834-7515447CD661"><p> <xref href="GUID-72511204-FC90-54AA-9E2E-833318020318.dita">Reading to a buffer</xref>  </p> </li> <li id="GUID-B147074E-B791-592E-99C3-474AA5D217F6"><p> <xref href="GUID-3CCA6503-54DA-5558-85DC-93A22A81F565.dita">Reading to memory</xref>  </p> </li> <li id="GUID-029878E1-AAD9-5E1A-B696-67BD3C0D905F"><p> <xref href="GUID-183280EE-0C57-54FE-8ABB-E1CC3BDE525B.dita">Reading to a data stream</xref>  </p> </li> </ul> </section> </conbody><related-links><link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL Overview</linktext> </link> <link href="GUID-C2FCE726-FD87-52BF-8AF8-7F54FB6D6CB1.dita"><linktext>Basic SQL Example
                 Application</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-261ADCEC-C8C8-46E3-A7DC-804AC868C233.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-261ADCEC-C8C8-46E3-A7DC-804AC868C233.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,23 +10,23 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-261ADCEC-C8C8-46E3-A7DC-804AC868C233" xml:lang="en"><title>Descriptors</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Descriptors are self-describing strings that can be used to store binary
-data and text. Each descriptor object holds the length of the string as well
-as its type which identifies the underlying memory layout of the data it holds.
-For more information on different descriptor classes, see <xref href="GUID-11EEFB3D-0414-5BEB-9D78-56A4B9154008.dita">Using
-Descriptors</xref>.</p>
-<p>There are modifiable and non-modifiable descriptors, the latter type
-is identified by a "C" suffix in the class name. The length of a non-modifiable
-descriptor is defined when compiling an application, and the length of a modifiable
-descriptor can vary within the limits set by <codeph>iMaxLength</codeph>.
-Nonmodifiable descriptors are more secure, as their length is checked during
-compilation. The following figure shows the differences between these types.</p>
-<fig id="GUID-A8F9937F-25A6-4E80-845F-35994B7E13E5"><title>Differences between modifiable, nonmodifiable, and pointer descriptors</title><image href="GUID-40619192-8C2F-4267-BFCA-F53E10BF5A31_d0e14149_href.png"/></fig>
-<p>When designing applications, avoid using fixed-length buffers as parameters
-and use base classes (preferably constant base type <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/e32cmn.hGlobals.html#%3a%3aTDesC" format="application/java-archive">TDesC</xref></codeph>)
-instead. Descriptor objects provide a flexible interface for manipulating
-the contained string, including size and length checks. Take advantage of
-these when possible.</p>
-<p>For more information and examples, see the <xref href="GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita">Descriptors
-Overview</xref> topic.</p>
+<p>Descriptors are self-describing strings that can be used to
+store binary data and text. Each descriptor object holds the length
+of the string as well as its type which identifies the underlying
+memory layout of the data it holds. For more information on different
+descriptor classes, see <xref href="GUID-11EEFB3D-0414-5BEB-9D78-56A4B9154008.dita">Using Descriptors</xref>.</p>
+<p>There are modifiable and non-modifiable descriptors, the latter
+type is identified by a "C" suffix in the class name. The length of
+a non-modifiable descriptor is defined when compiling an application,
+and the length of a modifiable descriptor can vary within the limits
+set by <codeph>iMaxLength</codeph>. Nonmodifiable descriptors are
+more secure, as their length is checked during compilation. The following
+figure shows the differences between these types.</p>
+<fig id="GUID-A8F9937F-25A6-4E80-845F-35994B7E13E5"><title>Differences between modifiable, nonmodifiable, and pointer
+descriptors</title><image href="GUID-40619192-8C2F-4267-BFCA-F53E10BF5A31_d0e14249_href.png"/></fig>
+<p>When designing applications, avoid using fixed-length buffers
+as parameters and use base classes (preferably constant base type <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/e32cmn.hGlobals.html#%3a%3aTDesC" format="application/java-archive">TDesC</xref></codeph>) instead. Descriptor objects provide
+a flexible interface for manipulating the contained string, including
+size and length checks. Take advantage of these when possible.</p>
+<p>For more information and examples, see the <xref href="GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita">Descriptors Overview</xref> topic.</p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2622DE31-AA12-5FAD-86FB-B13259EFC6D9_d0e380085_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2622DE31-AA12-5FAD-86FB-B13259EFC6D9_d0e385938_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26354520-8E9C-58B8-81E7-001EDE9AB77F_d0e276441_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26354520-8E9C-58B8-81E7-001EDE9AB77F_d0e282441_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26399981-1E45-5578-851E-D234295F3B05_d0e106461_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26399981-1E45-5578-851E-D234295F3B05_d0e108904_href.png has changed
--- a/Symbian3/PDK/Source/GUID-26435FE1-D912-4AA2-96EE-82B35DA231E6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-26435FE1-D912-4AA2-96EE-82B35DA231E6" xml:lang="en"><title>Typical
-functions of the standard keys</title><prolog><metadata><keywords/></metadata></prolog><conbody><table id="GUID-9A18E5F5-2E84-4220-9F8A-50E7007789B5"><title>Standard
-key functions</title>
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Keys</entry>
-<entry>Functions</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>Arrow up / Arrow down</p></entry>
-<entry><ul>
-<li><p>Moves the focus one item up/down in lists and grids. </p></li>
-<li><p>Moves the cursor one line up/down in editors. </p></li>
-<li><p>Scrolls the view up/down in viewers. </p></li>
-<li><p>Adjusts the sound volume during calls and sound playback when the device
-does not have dedicated volume keys.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Arrow left / Arrow right</p></entry>
-<entry><ul>
-<li><p>Moves the focus one item to the left/right in grids. </p></li>
-<li><p>Moves the cursor one character to the left/right in editors. </p></li>
-<li><p>Moves to the previous/next view in tabbed views. </p></li>
-<li><p>Moves to the previous/next document or view in certain document viewers. </p></li>
-<li><p>Changes the value in a pop-up field immediately in forms.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Selection key</p></entry>
-<entry><ul>
-<li><p>Opens the focused item (for example, a document or folder) in selection
-lists and grids. </p></li>
-<li><p>Selects an option in menus and lists. </p></li>
-<li><p>Opens the context sensitive Options menu when there is no item to open
-and no option to select (see <xref href="GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita">Selection
-list</xref>).</p></li>
-</ul><p>The Selection key must not directly activate any such function the
-user would not expect in the given situation; the Selection key is strictly
-a Get-in or Accept key. Therefore, the context sensitive <b>Options</b> menu
-will be offered in states where no selectable items exist.</p></entry>
-</row>
-<row>
-<entry><p>Left softkey</p></entry>
-<entry><p>Typically labeled <b>Options</b>. Opens the <b>Options</b> menu.</p><p>Other
-labels and functions: </p><ul>
-<li><p><b>Select</b>. Used in menu lists and grids where further options are
-not available. Selects the focused item; same as the Selection key function. </p></li>
-<li><p><b>OK</b>, <b>Yes</b> and other positive replies; used in confirmation
-queries. </p></li>
-<li><p>In the home screen, a shortcut to a specific application. Configurable
-by the user, labeled according to the application.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Right softkey</p></entry>
-<entry><p>Typically labeled <b>Back</b>. Returns to the previous state.</p><p>Other
-labels and functions: </p><ul>
-<li><p><b>Exit</b> in applications' main states. </p></li>
-<li><p><b>Cancel</b>. Interrupts a procedure and returns to the previous state;
-used in queries and other temporary states. </p></li>
-<li><p><b>No</b> and other negative replies; used in confirmation queries. </p></li>
-<li><p>In the home screen, a shortcut to a specific application. Configurable
-by the user, labeled according to the application.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Call creation</p></entry>
-<entry><ul>
-<li><p>Answers the incoming call when the phone rings. </p></li>
-<li><p>Creates an outgoing call when in <b>Phonebook</b> and other states
-where the focus is in a field containing a phone number or a name associated
-with a phone number. </p></li>
-<li><p>Sends a message; used when in a message editor and the <b>To</b> field
-contains a valid address. </p></li>
-<li><p>Functions also as a shortcut for sending files.</p></li>
-</ul><p>During calls: </p><ul>
-<li><p>Puts an active call on hold; activates a held call; swaps active and
-held calls, if both exist. </p></li>
-<li><p>Answers a waiting call (if a call is in progress). </p></li>
-</ul><p>In the home screen: </p><ul>
-<li><p>Brings up the <b>Last Dialled Calls</b> list for redialing.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Call termination</p></entry>
-<entry><ul>
-<li><p>Rejects an incoming call. </p></li>
-<li><p>Ends an active call.</p></li>
-<li><p>When there is only a held call, ends the held call. </p></li>
-<li><p>When there is both an active call and a held call, ends the active
-call and activates the held call. </p></li>
-<li><p>When there are no calls and an application is active, returns to the
-home screen. The application is terminated, except for applications that play
-something in the background such as music players or radio. Any unsaved data
-is automatically saved (also in case the user has pressed Exit in the Options
-menu).</p></li>
-</ul><p>And in devices that have a dedicated power key: </p><ul>
-<li><p>A long press closes down all connections (for example GPRS, data call);
-however, this has no effect on IR and Bluetooth </p></li>
-</ul><p>And in devices without a dedicated Power key: </p><ul>
-<li><p>When control is in the home screen (that is, there are no active calls),
-a short press opens the list of Profiles (the <b>Power key</b> menu) and a
-long press turns the device OFF regardless of whether there are active packet
-data connections in the background or not. </p></li>
-<li><p>When in the home screen without any packet data connections active
-in the background, a short press opens the <b>Power key</b> menu and a long
-press turns the device off. </p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Home / Menu key</p></entry>
-<entry><ul>
-<li><p>Opens the <xref href="GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita">Menu</xref>,
-allowing application launching and swapping. </p></li>
-<li><p>When within the <uicontrol>Menu</uicontrol>, returns to the home screen.
-Note that there can be device-specific configurations for Home / Menu key
-functionality. </p></li>
-<li><p>A long press of the Home / Menu key opens the task swapping window,
-allowing switching between running applications.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Numeric keypad (0-9, *, #)</p></entry>
-<entry><ul>
-<li><p>Numeric and alphanumeric character entry. </p></li>
-<li><p>Application-specific shortcuts and other functions.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry><p>Clear</p></entry>
-<entry><ul>
-<li><p>Clears characters when editing text or numbers. </p></li>
-<li><p>Deletes documents or other entities in lists and viewers (these functions
-always require confirmation from the user).</p></li>
-</ul><p>The Clear key is not used for back stepping or exiting; it is only
-used for deletion.</p></entry>
-</row>
-<row>
-<entry><p>Edit (optional)</p></entry>
-<entry><ul>
-<li><p>Opens the <b>Editing</b> menu in editors; the menu contains functions
-for input mode changing and other editing functions. See <xref href="GUID-2E0F793F-3D80-4303-AF48-C7341F417DC9.dita">Editing
-menu </xref>for the contents of the menu.</p></li>
-<li><p>In editors, can be used together with the Arrow keys to select (highlight)
-text, which then enables the Copy and Cut functions. </p></li>
-<li><p>In markable lists, using the Edit key together with the arrow keys
-allows the user to mark several items in the list, then a function can be
-executed on all the marked items as one operation.</p></li>
-</ul><p>The Edit key is handled in a special way; the primary action (the <b>Editing</b> menu)
-is opened from the key release event, not the key down event as usually. This
-is to enable the <b>Mark/Select</b> function where the key is being held down
-as a modifier key (see <xref href="GUID-2E0F793F-3D80-4303-AF48-C7341F417DC9.dita">Editing
-menu </xref> and <xref href="GUID-E6803961-14A0-44BD-A94E-5D8A38EA907F.dita">Lists
-and grids</xref> for more detailed descriptions of the <b>Select</b> and <b>Mark</b> functions.)</p></entry>
-</row>
-<row>
-<entry><p>Volume keys</p></entry>
-<entry><p>Adjust the sound volume during calls and sound playback.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2645AE91-8087-5423-95A7-8BC6EFD271E7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2645AE91-8087-5423-95A7-8BC6EFD271E7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-2645AE91-8087-5423-95A7-8BC6EFD271E7"><title>Message Store on a Phone </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section explains how the UI layer displays a Message Store to a phone user. </p> <p>A message centre application displays the structure of the Message Store to the user. Different UIs map the structure to different views. </p> <p> <b>Note:</b> The presentation of folders is done in the UI layer and not the Messaging API. </p> <section><title>Series 60</title> <p>The following figure shows the top level view of a message centre application on a Series 60 phone: </p> <fig id="GUID-10952493-82DF-53F1-8125-F59CA5C9684A"><title>
              Series 60 message centre 
-          </title> <image href="GUID-EC824DA2-CA19-567C-8218-7C6E1C5ED461_d0e481267_href.png" placement="inline"/></fig> <p>In the figure, you can see that the message centre has hidden the local service and shows the standard folders at the same level as the services. Also the SMTP, SMS and MMS services are marked as hidden entries in the Message Store, and so do not appear in the message application. The outbox does not retain copies of sent messages, but are saved in the Sent folder. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-EC824DA2-CA19-567C-8218-7C6E1C5ED461_d0e487096_href.png" placement="inline"/></fig> <p>In the figure, you can see that the message centre has hidden the local service and shows the standard folders at the same level as the services. Also the SMTP, SMS and MMS services are marked as hidden entries in the Message Store, and so do not appear in the message application. The outbox does not retain copies of sent messages, but are saved in the Sent folder. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-26778399-0105-413F-A39D-535A3BF5EBE2_d0e86022_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26778399-0105-413F-A39D-535A3BF5EBE2_d0e90220_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1"><title>Secure stream encryption example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">secure stream example code</xref>. </p> <section id="GUID-77E39C51-FE08-4EEB-B94A-4ECD8104E1ED-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1-2-2"><title/><codeblock id="GUID-02ECEC04-E291-51B3-86DF-2FB28347F5AD-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1-2-2-2" xml:space="preserve">
+#include "e32std.h"
+#include "f32file.h"
+#include "s32file.h"
+#include "pbe.h"
+#include "pbedata.h"
+#include "s32crypt.h"
+            </codeblock> <codeblock id="GUID-13A09565-981A-56C0-9AC7-B849FFBE7395-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1-2-2-3" xml:space="preserve">
+/*
+ * Class to demonstrate the use of secure stream encryption APIs.
+ */
+class CSecureStreamExample : public CBase
+         {
+public:
+         static CSecureStreamExample* NewLC();
+         virtual ~CSecureStreamExample();
+         
+         void WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+         HBufC8* ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+private:
+         CSecureStreamExample();
+         void ConstructL();
+private:
+         RFs iFs;
+         };
+            </codeblock> <codeblock id="GUID-B23E19C7-F6AD-5CB4-A944-EFEDC45AB623-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1-2-2-4" xml:space="preserve">
+CSecureStreamExample* CSecureStreamExample::NewLC()
+         {
+         CSecureStreamExample* self = new (ELeave) CSecureStreamExample();
+         CleanupStack::PushL(self);
+         self-&gt;ConstructL();
+         return self;
+         }
+
+CSecureStreamExample::CSecureStreamExample()
+         {
+         }
+
+void CSecureStreamExample::ConstructL()
+         {
+         User::LeaveIfError(iFs.Connect());
+         }
+
+CSecureStreamExample::~CSecureStreamExample()
+         {
+         iFs.Close();
+         }
+            </codeblock> <codeblock id="GUID-11B8C0DD-AD05-53BB-BAD2-6F31457A2DD9-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1-2-2-5" xml:space="preserve">
+LOCAL_D void RunPBEExampleL()
+         {
+         _LIT(KFilename, "c:\\pbe_example_data.dat");
+         _LIT8(KInputData, "This is the data to be encrypted.");
+         _LIT(KPassword, "pa55w0rd");
+
+         CSecureStreamExample* main = CSecureStreamExample::NewLC();
+         main-&gt;WriteEncryptedDataL(KInputData, KFilename, KPassword);
+         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(KFilename, KPassword);
+         ASSERT(*outputData == KInputData);
+         CleanupStack::PopAndDestroy(2, main);
+         }
+            </codeblock> <codeblock id="GUID-0B93114C-6801-5053-85C3-181779A6185F-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-6-1-2-2-6" xml:space="preserve">
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+         __UHEAP_MARK;
+         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+         TRAPD(error, RunPBEExampleL());
+         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
+         delete cleanup; // destroy clean-up stack
+         __UHEAP_MARKEND;
+         return 0;
+    }
+        </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1"><title>Secure stream encryption example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">secure stream example code</xref>. </p> <section id="GUID-77E39C51-FE08-4EEB-B94A-4ECD8104E1ED-GENID-1-12-1-26-1-1-9-1-12-1-6-1-2-2"><title/><codeblock id="GUID-02ECEC04-E291-51B3-86DF-2FB28347F5AD-GENID-1-12-1-26-1-1-9-1-12-1-6-1-2-2-2" xml:space="preserve">
+#include "e32std.h"
+#include "f32file.h"
+#include "s32file.h"
+#include "pbe.h"
+#include "pbedata.h"
+#include "s32crypt.h"
+            </codeblock> <codeblock id="GUID-13A09565-981A-56C0-9AC7-B849FFBE7395-GENID-1-12-1-26-1-1-9-1-12-1-6-1-2-2-3" xml:space="preserve">
+/*
+ * Class to demonstrate the use of secure stream encryption APIs.
+ */
+class CSecureStreamExample : public CBase
+         {
+public:
+         static CSecureStreamExample* NewLC();
+         virtual ~CSecureStreamExample();
+         
+         void WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+         HBufC8* ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+private:
+         CSecureStreamExample();
+         void ConstructL();
+private:
+         RFs iFs;
+         };
+            </codeblock> <codeblock id="GUID-B23E19C7-F6AD-5CB4-A944-EFEDC45AB623-GENID-1-12-1-26-1-1-9-1-12-1-6-1-2-2-4" xml:space="preserve">
+CSecureStreamExample* CSecureStreamExample::NewLC()
+         {
+         CSecureStreamExample* self = new (ELeave) CSecureStreamExample();
+         CleanupStack::PushL(self);
+         self-&gt;ConstructL();
+         return self;
+         }
+
+CSecureStreamExample::CSecureStreamExample()
+         {
+         }
+
+void CSecureStreamExample::ConstructL()
+         {
+         User::LeaveIfError(iFs.Connect());
+         }
+
+CSecureStreamExample::~CSecureStreamExample()
+         {
+         iFs.Close();
+         }
+            </codeblock> <codeblock id="GUID-11B8C0DD-AD05-53BB-BAD2-6F31457A2DD9-GENID-1-12-1-26-1-1-9-1-12-1-6-1-2-2-5" xml:space="preserve">
+LOCAL_D void RunPBEExampleL()
+         {
+         _LIT(KFilename, "c:\\pbe_example_data.dat");
+         _LIT8(KInputData, "This is the data to be encrypted.");
+         _LIT(KPassword, "pa55w0rd");
+
+         CSecureStreamExample* main = CSecureStreamExample::NewLC();
+         main-&gt;WriteEncryptedDataL(KInputData, KFilename, KPassword);
+         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(KFilename, KPassword);
+         ASSERT(*outputData == KInputData);
+         CleanupStack::PopAndDestroy(2, main);
+         }
+            </codeblock> <codeblock id="GUID-0B93114C-6801-5053-85C3-181779A6185F-GENID-1-12-1-26-1-1-9-1-12-1-6-1-2-2-6" xml:space="preserve">
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+         __UHEAP_MARK;
+         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+         TRAPD(error, RunPBEExampleL());
+         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
+         delete cleanup; // destroy clean-up stack
+         __UHEAP_MARKEND;
+         return 0;
+    }
+        </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-267D1E20-002E-53C7-8AE5-E063206C1562.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-267D1E20-002E-53C7-8AE5-E063206C1562"><title>Secure stream encryption example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita">secure stream example code</xref>. </p> <section id="GUID-77E39C51-FE08-4EEB-B94A-4ECD8104E1ED"><title/><codeblock id="GUID-02ECEC04-E291-51B3-86DF-2FB28347F5AD" xml:space="preserve">
-#include "e32std.h"
-#include "f32file.h"
-#include "s32file.h"
-#include "pbe.h"
-#include "pbedata.h"
-#include "s32crypt.h"
-            </codeblock> <codeblock id="GUID-13A09565-981A-56C0-9AC7-B849FFBE7395" xml:space="preserve">
-/*
- * Class to demonstrate the use of secure stream encryption APIs.
- */
-class CSecureStreamExample : public CBase
-         {
-public:
-         static CSecureStreamExample* NewLC();
-         virtual ~CSecureStreamExample();
-         
-         void WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword);
-         HBufC8* ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword);
-private:
-         CSecureStreamExample();
-         void ConstructL();
-private:
-         RFs iFs;
-         };
-            </codeblock> <codeblock id="GUID-B23E19C7-F6AD-5CB4-A944-EFEDC45AB623" xml:space="preserve">
-CSecureStreamExample* CSecureStreamExample::NewLC()
-         {
-         CSecureStreamExample* self = new (ELeave) CSecureStreamExample();
-         CleanupStack::PushL(self);
-         self-&gt;ConstructL();
-         return self;
-         }
-
-CSecureStreamExample::CSecureStreamExample()
-         {
-         }
-
-void CSecureStreamExample::ConstructL()
-         {
-         User::LeaveIfError(iFs.Connect());
-         }
-
-CSecureStreamExample::~CSecureStreamExample()
-         {
-         iFs.Close();
-         }
-            </codeblock> <codeblock id="GUID-11B8C0DD-AD05-53BB-BAD2-6F31457A2DD9" xml:space="preserve">
-LOCAL_D void RunPBEExampleL()
-         {
-         _LIT(KFilename, "c:\\pbe_example_data.dat");
-         _LIT8(KInputData, "This is the data to be encrypted.");
-         _LIT(KPassword, "pa55w0rd");
-
-         CSecureStreamExample* main = CSecureStreamExample::NewLC();
-         main-&gt;WriteEncryptedDataL(KInputData, KFilename, KPassword);
-         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(KFilename, KPassword);
-         ASSERT(*outputData == KInputData);
-         CleanupStack::PopAndDestroy(2, main);
-         }
-            </codeblock> <codeblock id="GUID-0B93114C-6801-5053-85C3-181779A6185F" xml:space="preserve">
-GLDEF_C TInt E32Main() // main function called by E32
-    {
-         __UHEAP_MARK;
-         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
-         TRAPD(error, RunPBEExampleL());
-         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
-         delete cleanup; // destroy clean-up stack
-         __UHEAP_MARKEND;
-         return 0;
-    }
-        </codeblock> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-269D6756-98B5-5928-9A83-261C3F729BCE_d0e550054_href.png has changed
Binary file Symbian3/PDK/Source/GUID-269D6756-98B5-5928-9A83-261C3F729BCE_d0e557510_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e265087_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e271087_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26CE565F-900B-5141-91AE-A5976213B8BF_d0e231227_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26CE565F-900B-5141-91AE-A5976213B8BF_d0e237222_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26D1E607-C63F-5A2D-9482-2A9A85F466C8_d0e244413_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26D1E607-C63F-5A2D-9482-2A9A85F466C8_d0e250424_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e556381_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e563837_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26E2294F-871F-45D1-B71C-9F470703A9C8_d0e63793_href.png has changed
Binary file Symbian3/PDK/Source/GUID-26E2294F-871F-45D1-B71C-9F470703A9C8_d0e68015_href.png has changed
--- a/Symbian3/PDK/Source/GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 but reduced API that is optimized for sharing images across processes.</note>
 <fig id="GUID-6628DE21-A84A-4657-8C27-EA7D4FD5CD68">
 <title>The Graphics Resource Services collection</title>
-<image href="GUID-3F2E04BF-5A72-5540-9D6E-C2F3A47E0570_d0e272210_href.png" placement="inline"/>
+<image href="GUID-3F2E04BF-5A72-5540-9D6E-C2F3A47E0570_d0e278210_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
--- a/Symbian3/PDK/Source/GUID-2700AAC8-A034-5E7D-B0E0-26B49E68BB18.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2700AAC8-A034-5E7D-B0E0-26B49E68BB18.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 as the underlying real time kernel. </p>
 <p>The following diagram illustrates the point simply. </p>
 <fig id="GUID-AA5502A3-37BE-5A73-A8D9-1B18DDCC8C96">
-<image href="GUID-058FAE44-DF72-53E2-BE62-EDC840A7C87F_d0e376244_href.png" placement="inline"/>
+<image href="GUID-058FAE44-DF72-53E2-BE62-EDC840A7C87F_d0e382088_href.png" placement="inline"/>
 </fig>
 <p>There is sample code at <filepath>...\e32\personality\...</filepath> that
 you should refer to while reading this. </p>
--- a/Symbian3/PDK/Source/GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1010,14 +1010,14 @@
 </thead>
 <tbody>
 <row>
-<entry><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D.dita">SecureSockets</xref>  </p> </entry>
+<entry><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita">SecureSockets</xref>  </p> </entry>
 <entry><p>Shows how to create and use a secure sockets (SSL/TLS) connection. </p> </entry>
 </row>
 </tbody>
 </tgroup>
 </table> </section>
 <section id="GUID-66B052D5-ACB3-4F1B-95AF-7DF26B5AB321"><title>PC
-Tools </title> <p><b>Secure Software Install Tools</b> </p> <table id="GUID-26626F66-7CE7-555D-9AC0-5E44A7F1C857-GENID-1-16-1-1-4-1-3-18-3">
+Tools </title> <p><b>Secure Software Install Tools</b> </p> <table id="GUID-26626F66-7CE7-555D-9AC0-5E44A7F1C857-GENID-1-15-1-1-4-1-3-18-3">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
 <row>
@@ -1153,7 +1153,7 @@
 </tbody>
 </tgroup>
 </table> </section>
-<section id="GUID-C47C81B0-864A-4B2C-8001-96329DF15C04"><title>Text &amp; Localisation </title> <p><b>Font &amp; Text Services</b> </p> <table id="GUID-26626F66-7CE7-555D-9AC0-5E44A7F1C857-GENID-1-16-1-1-4-1-3-21-3">
+<section id="GUID-C47C81B0-864A-4B2C-8001-96329DF15C04"><title>Text &amp; Localisation </title> <p><b>Font &amp; Text Services</b> </p> <table id="GUID-26626F66-7CE7-555D-9AC0-5E44A7F1C857-GENID-1-15-1-1-4-1-3-21-3">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
 <row>
--- a/Symbian3/PDK/Source/GUID-271E14D1-7B9B-5048-B1F0-1E25B4EA4E16.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-271E14D1-7B9B-5048-B1F0-1E25B4EA4E16.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,127 +1,111 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-271E14D1-7B9B-5048-B1F0-1E25B4EA4E16" xml:lang="en"><title>SqlExample:
-Creating and Querying an SQL Database</title><shortdesc>This example application demonstrates the use of the SQL API for
-creating and querying a database.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-8941D325-DE9F-571B-9EAB-C8F675155EEE"><title>Description</title> <p><b>Creating
-the database</b> </p> <p>You can create two types of databases; secure and
-non-secure. </p> <ul>
-<li id="GUID-3C94A459-7CD3-5B6C-94D9-235F714FD53E"><p> <b>Non-secure database:</b> A
-database that can be accessed and updated by any program since no security
-policy is provided. </p> </li>
-<li id="GUID-1D128D45-7D64-5BB3-A350-FB13CBD4CEE6"><p> <b>Secure database:</b> A
-database with static policy defined and therefore can be accessed by authorized
-clients with specific capabilities. </p> </li>
-</ul> <p><b>Creating a non-secure database</b> </p> <p>The application first
-creates an <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase</apiname></xref> object and creates a non-secure
-SQL database using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref> function.
-The database is then closed. Finally the database is deleted using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref> function. </p> <p>The
-format for naming the non-secure database would be the following: </p> <codeblock id="GUID-B8E067E8-99B1-56EF-9646-589D38156F90" xml:space="preserve">X:&lt;path&gt;&lt;database-name&gt;.db</codeblock> <p>where, <codeph>X</codeph> is
-the writable drive on the device or the emulator. </p> <p>If path is not specified,
-it returns the <codeph>KErrArgument</codeph> error, and if the specified path
-is not writable by SQL server, the application returns <codeph>KErrPermission</codeph> error.
-In this example, the application will create the database in its own data
-area, pass a handle to the database to enable the data manipulation by the
-SQL server. </p> <p><note> You cannot create two databases with the same name
-in a location </note></p><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase</apiname></xref> - A handle to a SQL database.</p></li>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref></p></li>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref></p></li>
-</ul> <p><b>Creating a secure database</b> </p> <p>To create a secure database,
-you need to provide the following: </p> <ul>
-<li id="GUID-AF260BF8-D103-5A08-8BF4-3B8F9F658DBF"><p>UID of the application </p> </li>
-<li id="GUID-BCA90A2B-241A-5636-9A2C-080DF6EAAF61"><p>security policy </p> </li>
-</ul> <p><b>UID </b> </p> <p>You need to use the UID of the example application
-to name the database. </p> <p>The format for naming the database would be
-the following: </p> <codeblock id="GUID-768E0B87-B08B-5484-AED0-072D3840CC5B" xml:space="preserve">X:&lt;UID&gt;&lt;name&gt;.db</codeblock> <p>where, </p> <ul>
-<li id="GUID-328D11AC-814B-532C-8FEA-A0BB467A0CC2"><p> <codeph>X</codeph> is
-the drive in which the database is created </p> </li>
-<li id="GUID-12C3F6BD-2E50-5FFE-8B1C-2B73A40C88E6"><p> <codeph>UID</codeph> is
-the UID of the application that creates the database </p> </li>
-<li id="GUID-3FA9C3C5-903B-58CD-B509-335686E72BD4"><p> <codeph>name</codeph> is
-any valid database name. You should not specify the complete path of the database. </p> </li>
-</ul> <p>To successfully create and use a secure database, you must have appropriate
-capabilities such as <codeph>READUSERDATA</codeph>, <codeph>WRITEUSERDATA</codeph>.
-The example application uses <codeph>NETWORKCONTROL</codeph> capablity along
-with above specified capabilities. </p> <p> <note>If the given UID does not
-match with that of client application (in this case, the SQL example application)
-the attempts to create the database fails.</note> </p> <p><b>Security policy </b> </p> <p>To
-create a secure database, you need to initially set up a container that has
-a set of security policies (<xref href="GUID-81A285F6-3F87-3E77-9426-61BB16BC7109.dita"><apiname>TSecurityPolicy</apiname></xref>), and pass
-it to the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref> function. The <xref href="GUID-81A285F6-3F87-3E77-9426-61BB16BC7109.dita"><apiname>TSecurityPolicy</apiname></xref> object
-defines what capabilities the calling application must have in order to perform
-a specific database operation. To cross check if the database security policy
-matches with the policy used when the database was created, the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-43E42D5C-62B8-34A7-AF2E-D62432DDB9DE"><apiname>RSqlDatabase::GetSecurityPolicy()</apiname></xref> function
-is called. </p><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref></p></li>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-43E42D5C-62B8-34A7-AF2E-D62432DDB9DE"><apiname>RSqlDatabase::GetSecurityPolicy()</apiname></xref></p></li>
-<li><p><xref href="GUID-81A285F6-3F87-3E77-9426-61BB16BC7109.dita"><apiname>TSecurityPolicy</apiname></xref> - Class representing a generic security
-policy</p></li>
-</ul> <p><b>Copying one database to another</b> </p> <p>The example copies
-one database to another using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-D8B48367-D20B-337E-B41A-1E02119D91D6"><apiname>RSqlDatabase::Copy()</apiname></xref> function.
-If the database was created using a specific UID, then only the application
-with same UID, can perform the copy operation. </p> <p><note> In this example,
-copy function is essentially a <i>file copy</i> as the client does a copy
-within its data cage. The copy operation should ideally fail if the destination
-database already exists. An application with appropriate permissions can use
-the file system to copy the database.</note> </p><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-D8B48367-D20B-337E-B41A-1E02119D91D6"><apiname>RSqlDatabase::Copy()</apiname></xref></p></li>
-</ul> <p><b>Attaching the database</b> </p> <p>The example application then
-demonstrates attaching two databases. In this example, a non-secure database
-is attached to a secure database. The attached database is later read from
-and written to, and the secure database is also written to before the two
-databases are deleted using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref> function. </p><p><b>Related
-APIs</b></p><ul>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref></p></li>
-</ul> <p><b>Querying the database</b> </p> <p>The example then demonstrates
-how to prepare and execute a query. </p> <p><b>Simple query</b> </p> <p>A
-simple query statement is prepared and executed using the <codeph>CSqlExample::DataTypesQueryL()</codeph> function. </p> <p><b>Query
-with a large parameter and writing using streaming</b> </p> <p>A query with
-a large parameter is prepared, executed and the results are written to <xref href="GUID-6313887C-8DE0-3702-BF4B-0622BAB2EE8E.dita"><apiname>RSqlParamWriteStream</apiname></xref> stream.
-A table containing fields of data types; integer, 64-bit integer, float, text
-and binary is created. It inserts two records into the table and implements
-the <xref href="GUID-E7B775B0-A609-313A-8BFD-375C81D782A5.dita"><apiname>TSqlScalarFullSelectQuery</apiname></xref> function for 64 bit integer
-(F2) and text (F4) fields and checks the returned value. The query for the
-data type which the column does not hold is executed, only to show that this
-is possible. For example, if a column holding the integer value 1000 is queried
-as real, it would return <codeph>1000.00</codeph>. </p><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-6313887C-8DE0-3702-BF4B-0622BAB2EE8E.dita"><apiname>RSqlParamWriteStream</apiname></xref> - The write stream interface.</p></li>
-<li><p><xref href="GUID-E7B775B0-A609-313A-8BFD-375C81D782A5.dita"><apiname>TSqlScalarFullSelectQuery</apiname></xref> - TSqlScalarFullSelectQuery
-interface is used for executing <codeph>SELECT</codeph> sql queries, which
-return a single row consisting of a single column value.</p></li>
-</ul> <p><b>Query returning data being read using streaming</b> </p> <p>The
-example lastly demonstrates how to prepare and execute a query which returns
-the data, and read that data from the data stream (<xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref>).
-The read stream interface class is used for reading a large amount of binary
-or text data from the column. </p><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref> - The read stream interface.</p></li>
-</ul> </section>
-<section id="GUID-EA613161-C0ED-42AD-96D5-DBC9A13643E4"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ef83061e-0e34-482b-bfcf-267d8972e786.zip" scope="external">SqlExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ef83061e-0e34-482b-bfcf-267d8972e786.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-E5E5C7EA-7E69-42A9-A51C-9B8C0B596605"><title>Class summary</title><ul>
-<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase</apiname></xref></p></li>
-<li><p><xref href="GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A.dita"><apiname>RSqlStatement</apiname></xref></p></li>
-<li><p><xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref></p></li>
-<li><p><xref href="GUID-6313887C-8DE0-3702-BF4B-0622BAB2EE8E.dita"><apiname>RSqlParamWriteStream</apiname></xref></p></li>
-<li><p><xref href="GUID-56C52D43-C4A9-3B31-B154-CA1E77693F57.dita"><apiname>RSqlSecurityPolicy</apiname></xref></p></li>
-<li><p><xref href="GUID-E7B775B0-A609-313A-8BFD-375C81D782A5.dita"><apiname>TSqlScalarFullSelectQuery</apiname></xref></p></li>
-</ul></section>
-<section id="GUID-AC702731-D7EE-563C-8AE9-2CFAB58AD97C"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian build
-process</xref> describes how to build an application. </p> <p>The Sql example
-builds an executable called <filepath>sqlexample.exe</filepath> in the standard
-location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
-CodeWarrior). After launching the executable depending on the emulator, you
-may need to task away from the app launcher or shell screen to view the console. </p> </section>
-</conbody><related-links>
-<link href="GUID-582CAA4A-1240-5138-983D-D9C6EEAF5566.dita"><linktext>SQL Tutorials</linktext>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-271E14D1-7B9B-5048-B1F0-1E25B4EA4E16" xml:lang="en"><title>SqlExample: Creating and Querying an SQL Database</title><shortdesc>This example application demonstrates the use of the SQL
+API for creating and querying a database.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-8941D325-DE9F-571B-9EAB-C8F675155EEE"><title>Description</title> <p><b>Creating the database</b> </p> <p>You can create two types
+of databases; secure and non-secure. </p> <ul>
+<li id="GUID-3C94A459-7CD3-5B6C-94D9-235F714FD53E"><p> <b>Non-secure
+database:</b> A database that can be accessed and updated by any program
+since no security policy is provided. </p> </li>
+<li id="GUID-1D128D45-7D64-5BB3-A350-FB13CBD4CEE6"><p> <b>Secure database:</b> A database with static policy defined and therefore can be accessed
+by authorized clients with specific capabilities. </p> </li>
+</ul> <p><b>Creating a non-secure database</b> </p> <p>The application
+first creates an <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase</apiname></xref> object and creates
+a non-secure SQL database using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref> function. The database is then closed. Finally the database is deleted
+using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref> function. </p> <p>The format for naming the non-secure database would be the following: </p> <codeblock id="GUID-B8E067E8-99B1-56EF-9646-589D38156F90" xml:space="preserve">X:&lt;path&gt;&lt;database-name&gt;.db</codeblock> <p>where, <codeph>X</codeph> is the writable drive on the device
+or the emulator. </p> <p>If path is not specified, it returns the <codeph>KErrArgument</codeph> error, and if the specified path is not writable
+by SQL server, the application returns <codeph>KErrPermission</codeph> error. In this example, the application will create the database
+in its own data area, pass a handle to the database to enable the
+data manipulation by the SQL server. </p> <p><note> You cannot create
+two databases with the same name in a location </note></p><p><b>Related
+APIs</b></p><ul>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase</apiname></xref> - A handle to a SQL database.</p></li>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref></p></li>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref></p></li>
+</ul> <p><b>Creating a secure database</b> </p> <p>To create a secure
+database, you need to provide the following: </p> <ul>
+<li id="GUID-AF260BF8-D103-5A08-8BF4-3B8F9F658DBF"><p>UID of the application </p> </li>
+<li id="GUID-BCA90A2B-241A-5636-9A2C-080DF6EAAF61"><p>security policy </p> </li>
+</ul> <p><b>UID </b> </p> <p>You need to use the UID of the example
+application to name the database. </p> <p>The format for naming the
+database would be the following: </p> <codeblock id="GUID-768E0B87-B08B-5484-AED0-072D3840CC5B" xml:space="preserve">X:&lt;UID&gt;&lt;name&gt;.db</codeblock> <p>where, </p> <ul>
+<li id="GUID-328D11AC-814B-532C-8FEA-A0BB467A0CC2"><p> <codeph>X</codeph> is the drive in which the database is created </p> </li>
+<li id="GUID-12C3F6BD-2E50-5FFE-8B1C-2B73A40C88E6"><p> <codeph>UID</codeph> is the UID of the application that creates the database </p> </li>
+<li id="GUID-3FA9C3C5-903B-58CD-B509-335686E72BD4"><p> <codeph>name</codeph> is any valid database name. You should not specify the complete
+path of the database. </p> </li>
+</ul> <p>To successfully create and use a secure database, you must
+have appropriate capabilities such as <codeph>READUSERDATA</codeph>, <codeph>WRITEUSERDATA</codeph>. The example application uses <codeph>NETWORKCONTROL</codeph> capablity along with above specified capabilities. </p> <p> <note>If the given UID does not match with that of client application
+(in this case, the SQL example application) the attempts to create
+the database fails.</note> </p> <p><b>Security policy </b> </p> <p>To create a secure database, you need to initially set up a container
+that has a set of security policies (<xref href="GUID-81A285F6-3F87-3E77-9426-61BB16BC7109.dita"><apiname>TSecurityPolicy</apiname></xref>), and pass it to the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref> function.
+The <xref href="GUID-81A285F6-3F87-3E77-9426-61BB16BC7109.dita"><apiname>TSecurityPolicy</apiname></xref> object defines what capabilities
+the calling application must have in order to perform a specific database
+operation. To cross check if the database security policy matches
+with the policy used when the database was created, the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-43E42D5C-62B8-34A7-AF2E-D62432DDB9DE"><apiname>RSqlDatabase::GetSecurityPolicy()</apiname></xref> function is called. </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-0F4435A7-C28C-342F-AC90-73FABDE6F5DD"><apiname>RSqlDatabase::Create()</apiname></xref></p></li>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-43E42D5C-62B8-34A7-AF2E-D62432DDB9DE"><apiname>RSqlDatabase::GetSecurityPolicy()</apiname></xref></p></li>
+<li><p><xref href="GUID-81A285F6-3F87-3E77-9426-61BB16BC7109.dita"><apiname>TSecurityPolicy</apiname></xref> - Class representing a generic
+security policy</p></li>
+</ul> <p><b>Copying one database to another</b> </p> <p>The example
+copies one database to another using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-D8B48367-D20B-337E-B41A-1E02119D91D6"><apiname>RSqlDatabase::Copy()</apiname></xref> function. If the database was created using a specific UID, then
+only the application with same UID, can perform the copy operation. </p> <p><note> In this example, copy function is essentially a <i>file
+copy</i> as the client does a copy within its data cage. The copy
+operation should ideally fail if the destination database already
+exists. An application with appropriate permissions can use the file
+system to copy the database.</note> </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-D8B48367-D20B-337E-B41A-1E02119D91D6"><apiname>RSqlDatabase::Copy()</apiname></xref></p></li>
+</ul> <p><b>Attaching the database</b> </p> <p>The example application
+then demonstrates attaching two databases. In this example, a non-secure
+database is attached to a secure database. The attached database is
+later read from and written to, and the secure database is also written
+to before the two databases are deleted using the <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref> function. </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-27BE67CC-037F-3533-A3B4-E3CC4879EA1C"><apiname>RSqlDatabase::Delete()</apiname></xref></p></li>
+</ul> <p><b>Querying the database</b> </p> <p>The example then demonstrates
+how to prepare and execute a query. </p> <p><b>Simple query</b> </p> <p>A simple query statement is prepared and executed using the <codeph>CSqlExample::DataTypesQueryL()</codeph> function. </p> <p><b>Query
+with a large parameter and writing using streaming</b> </p> <p>A query
+with a large parameter is prepared, executed and the results are written
+to <xref href="GUID-6313887C-8DE0-3702-BF4B-0622BAB2EE8E.dita"><apiname>RSqlParamWriteStream</apiname></xref> stream. A table containing
+fields of data types; integer, 64-bit integer, float, text and binary
+is created. It inserts two records into the table and implements the <xref href="GUID-E7B775B0-A609-313A-8BFD-375C81D782A5.dita"><apiname>TSqlScalarFullSelectQuery</apiname></xref> function for 64 bit integer (F2)
+and text (F4) fields and checks the returned value. The query for
+the data type which the column does not hold is executed, only to
+show that this is possible. For example, if a column holding the integer
+value 1000 is queried as real, it would return <codeph>1000.00</codeph>. </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-6313887C-8DE0-3702-BF4B-0622BAB2EE8E.dita"><apiname>RSqlParamWriteStream</apiname></xref> - The write stream
+interface.</p></li>
+<li><p><xref href="GUID-E7B775B0-A609-313A-8BFD-375C81D782A5.dita"><apiname>TSqlScalarFullSelectQuery</apiname></xref> - TSqlScalarFullSelectQuery
+interface is used for executing <codeph>SELECT</codeph> sql queries,
+which return a single row consisting of a single column value.</p></li>
+</ul> <p><b>Query returning data being read using streaming</b> </p> <p>The example lastly demonstrates how to prepare and execute a
+query which returns the data, and read that data from the data stream
+(<xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref>). The read stream interface
+class is used for reading a large amount of binary or text data from
+the column. </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref> - The read stream interface.</p></li>
+</ul> </section>
+<section id="GUID-EA613161-C0ED-42AD-96D5-DBC9A13643E4"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ef83061e-0e34-482b-bfcf-267d8972e786.zip" scope="external">SqlExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ef83061e-0e34-482b-bfcf-267d8972e786.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-E5E5C7EA-7E69-42A9-A51C-9B8C0B596605"><title>Class
+summary</title><ul>
+<li><p><xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita"><apiname>RSqlDatabase</apiname></xref></p></li>
+<li><p><xref href="GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A.dita"><apiname>RSqlStatement</apiname></xref></p></li>
+<li><p><xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref></p></li>
+<li><p><xref href="GUID-6313887C-8DE0-3702-BF4B-0622BAB2EE8E.dita"><apiname>RSqlParamWriteStream</apiname></xref></p></li>
+<li><p><xref href="GUID-56C52D43-C4A9-3B31-B154-CA1E77693F57.dita"><apiname>RSqlSecurityPolicy</apiname></xref></p></li>
+<li><p><xref href="GUID-E7B775B0-A609-313A-8BFD-375C81D782A5.dita"><apiname>TSqlScalarFullSelectQuery</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-AC702731-D7EE-563C-8AE9-2CFAB58AD97C"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The Sql example builds an executable called <filepath>sqlexample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). After launching the
+executable depending on the emulator, you may need to task away from
+the app launcher or shell screen to view the console. </p> </section>
+</conbody><related-links>
+<link href="GUID-582CAA4A-1240-5138-983D-D9C6EEAF5566.dita"><linktext>SQL
+Tutorials</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-27340D18-A31D-512E-920A-B06C784A978A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-27340D18-A31D-512E-920A-B06C784A978A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 idea: </p>
 <fig id="GUID-756DB8BA-1D6F-56AE-9C93-66DD3512B4A7">
 <title>           String pool representation          </title>
-<image href="GUID-7F8F6ABB-8F46-5486-A116-6965787BC539_d0e219745_href.png" placement="inline"/>
+<image href="GUID-7F8F6ABB-8F46-5486-A116-6965787BC539_d0e225765_href.png" placement="inline"/>
 </fig>
 <p>A string pool is a mechanism for storing strings in a particular way that
 makes the comparison of strings a very fast operation. It is particularly
@@ -81,7 +81,7 @@
 to a call to: </p> <codeblock id="GUID-2FAB371D-74A4-5D7E-99F1-B7C02BEDA8D5" xml:space="preserve">void RStringTable::OpenL( const TStringTable&amp; aTable );</codeblock> <p>The following diagram illustrates a general picture. Note that the strings
 in any given string table are deemed to be either case sensitive or case insensitive,
 and this governs how comparisons are made. </p> <fig id="GUID-D7CEA86C-0643-5BDA-A60E-D80B97008BF2">
-<image href="GUID-ECACB935-AD19-5BE6-AC27-A63465244087_d0e219852_href.png" placement="inline"/>
+<image href="GUID-ECACB935-AD19-5BE6-AC27-A63465244087_d0e225872_href.png" placement="inline"/>
 </fig> <p>As the name implies, a static string table is declared as a <codeph>const
           TStringTable</codeph> data member of a class with a user-defined
 name. The class name is defined in a header file while the table itself is
Binary file Symbian3/PDK/Source/GUID-2735BDAF-295F-5F1E-8925-8F4212D95CD1_d0e365862_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2735BDAF-295F-5F1E-8925-8F4212D95CD1_d0e371710_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2751DBB8-D882-5803-9881-1C1F7B4FE413.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2751DBB8-D882-5803-9881-1C1F7B4FE413.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,42 +1,38 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2751DBB8-D882-5803-9881-1C1F7B4FE413" xml:lang="en"><title>IRPrinting:
-Infrared Printing</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-DD9F80D9-27DA-4F4F-8A83-F52CEC379912"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-604c093c-92b0-47fc-8bbc-252008d64c0b.zip" scope="external">ServerClientSide.zip</xref></p>Download some additional files
-required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.zip" scope="external">CommonFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-604c093c-92b0-47fc-8bbc-252008d64c0b.html" scope="peer">browse</xref> to view the example code. </p>View the additional
-files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.html" scope="peer">browse</xref>. </section>
-<section id="GUID-88763430-4988-44A3-88C6-8F57A2F6B421"><title>Description</title> <p>IRPrinting illustrates the use of the <xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial Communications Server</xref> for
-infra-red communications, such as to an IrDA-capable printer. See the IrDA
-Serial Overview for more information. </p> <p>The example: </p> <ul>
-<li id="GUID-BEE653D6-2610-53F9-8FCB-43CDCDB54F37"><p>Creates a connection
-to the Comms server </p> </li>
-<li id="GUID-AABB1768-6DD4-589F-9262-213EC3AC90C7"><p>Loads the Comms server
-module that supports infra-red (“IrCOMM”) </p> </li>
-<li id="GUID-FEF32A75-0089-511C-B2BA-EF108B3EB4A4"><p>Opens a port </p> </li>
-<li id="GUID-33D11CA2-00F1-5E22-A266-FC112F4F2CE5"><p>Writes a short message
-to the port </p> </li>
-<li id="GUID-EB95FD29-2963-5866-92B0-65CF5DAAD437"><p>Closes the port </p> </li>
-<li id="GUID-4489D37F-8C6C-5BFB-9CB6-5F52376C21C7"><p>Closes the Comms server </p> </li>
-</ul> <p>The write operation times out with an error after four seconds if
-it is not successful, as will occur if no receiver is present. </p> </section>
-<section id="GUID-0BE332FA-969C-45DF-99A6-AB9BC9A96BA6"><title>Class Summary</title><p><xref href="GUID-3B4E8ED5-72F7-3E51-B188-3C1045526DDF.dita"><apiname>RComm</apiname></xref>: serial port</p><p><xref href="GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306.dita"><apiname>RCommServ</apiname></xref>:
-Comms server </p></section>
-<section id="GUID-5B2AD601-2646-4C93-BA56-1278587FE565"><title>Build</title> <p>The source code includes the two project
-files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian platform build process</xref> describes
-how to build this application, which results in an executable called <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or udeb&gt;\IRPRINTING.EXE</filepath>. </p> </section>
-<section id="GUID-BFFF4D71-9977-41EA-8743-A205382FD8BE"><title>Usage</title> <p>Run the executable <filepath>IRPRINTING.EXE</filepath>. </p> <p>Executables
-for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can
-be run on your PC. Executables for ARM targets must be copied to your target
-platform before being run. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2751DBB8-D882-5803-9881-1C1F7B4FE413" xml:lang="en"><title>IRPrinting: Infrared Printing</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-DD9F80D9-27DA-4F4F-8A83-F52CEC379912"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-604c093c-92b0-47fc-8bbc-252008d64c0b.zip" scope="external">ServerClientSide.zip</xref></p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.zip" scope="external">CommonFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-604c093c-92b0-47fc-8bbc-252008d64c0b.html" scope="peer">browse</xref> to view the example code. </p>View the
+additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.html" scope="peer">browse</xref>. </section>
+<section id="GUID-88763430-4988-44A3-88C6-8F57A2F6B421"><title>Description</title> <p>IRPrinting illustrates the use of the <xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial Communications
+Server</xref> for infra-red communications, such as to an IrDA-capable
+printer. See the IrDA Serial Overview for more information. </p> <p>The example: </p> <ul>
+<li id="GUID-BEE653D6-2610-53F9-8FCB-43CDCDB54F37"><p>Creates a connection
+to the Comms server </p> </li>
+<li id="GUID-AABB1768-6DD4-589F-9262-213EC3AC90C7"><p>Loads the Comms
+server module that supports infra-red (“IrCOMM”) </p> </li>
+<li id="GUID-FEF32A75-0089-511C-B2BA-EF108B3EB4A4"><p>Opens a port </p> </li>
+<li id="GUID-33D11CA2-00F1-5E22-A266-FC112F4F2CE5"><p>Writes a short
+message to the port </p> </li>
+<li id="GUID-EB95FD29-2963-5866-92B0-65CF5DAAD437"><p>Closes the port </p> </li>
+<li id="GUID-4489D37F-8C6C-5BFB-9CB6-5F52376C21C7"><p>Closes the Comms
+server </p> </li>
+</ul> <p>The write operation times out with an error after four seconds
+if it is not successful, as will occur if no receiver is present. </p> </section>
+<section id="GUID-0BE332FA-969C-45DF-99A6-AB9BC9A96BA6"><title>Class
+Summary</title><p><xref href="GUID-3B4E8ED5-72F7-3E51-B188-3C1045526DDF.dita"><apiname>RComm</apiname></xref>: serial port</p><p><xref href="GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306.dita"><apiname>RCommServ</apiname></xref>: Comms server </p></section>
+<section id="GUID-5B2AD601-2646-4C93-BA56-1278587FE565"><title>Build</title> <p>The source code includes the two project files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> The Symbian platform build process describes how to build this application,
+which results in an executable called <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or udeb&gt;\IRPRINTING.EXE</filepath>. </p> </section>
+<section id="GUID-BFFF4D71-9977-41EA-8743-A205382FD8BE"><title>Usage</title> <p>Run the executable <filepath>IRPRINTING.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can be run on your PC. Executables for ARM targets
+must be copied to your target platform before being run. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-27529BB0-8034-56B0-82FA-3E4CFDEBC99A_d0e507096_href.png has changed
Binary file Symbian3/PDK/Source/GUID-27529BB0-8034-56B0-82FA-3E4CFDEBC99A_d0e514558_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2762FDF6-F76D-5268-AE2D-4ABA807CFFEE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2762FDF6-F76D-5268-AE2D-4ABA807CFFEE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -47,7 +47,7 @@
 use the <xref href="GUID-5107ABD8-6408-5501-8073-ACAF3719247B.dita">resizable buffer
 descriptor</xref>. </p>
 <fig id="GUID-975888DA-9685-504E-B089-F5F632729921">
-<image href="GUID-10C32642-CF1C-5C60-A81B-9D65F03A45C4_d0e322506_href.png" placement="inline"/>
+<image href="GUID-10C32642-CF1C-5C60-A81B-9D65F03A45C4_d0e328492_href.png" placement="inline"/>
 <p>Example of a Heap descriptor</p>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-27EC3C5B-175C-5D27-874C-43D46AA44C08_d0e490238_href.png has changed
Binary file Symbian3/PDK/Source/GUID-27EC3C5B-175C-5D27-874C-43D46AA44C08_d0e496056_href.png has changed
--- a/Symbian3/PDK/Source/GUID-27F345DA-7969-5B3B-B2BD-285CD168CF72.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-27F345DA-7969-5B3B-B2BD-285CD168CF72.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-27F345DA-7969-5B3B-B2BD-285CD168CF72" xml:lang="en"><title>Timers
-And Timing Services Overview</title><shortdesc>Provides timers that asynchronously notify an application after
-an interval or at a specific time.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-48022E0B-8764-4944-8CFF-5EE6956DBC7C"><title>Architectural relationships</title> <p>The <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita"><apiname>User</apiname></xref> class
-in the System Static Functions API provides simple functions to suspend a
-thread for a given interval or until a specific time.</p> </section>
-<section id="GUID-59820FCE-FEF5-4089-8B62-1E1D8328437A"><title>Description</title> <p>The API has three key concepts: simple
-timer, periodic timer, and heartbeat timer. </p> </section>
-<section id="GUID-4CD59C91-C827-4C5A-98D4-509CBD3948EA"><title>Simple timer</title> <p>The simple timer produces an event
-at a given system time or after a given interval. It is provided by <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita"><apiname>RTimer</apiname></xref>.
-This service is wrapped in an active object by <xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref>.</p> </section>
-<section id="GUID-D44976FF-8171-47B8-A211-66541247F256"><title>Periodic timer</title><p><b/> </p> <p>A periodic timer
-produces a sequence of events at a specified interval. The application is
-called through a callback (<xref href="GUID-6C5766BC-05DE-32A8-993D-6BB582931F43.dita"><apiname>TCallBack</apiname></xref>) when they occur.
-It is provided by <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref>.</p> </section>
-<section id="GUID-3D6DC89E-DE6A-4AE1-84E8-870AF4B70FC3"><title>Heartbeat timer</title> <p>A heartbeat timer is similar to
-a periodic timer. However, if the application is busy handling another event
-when the timer event occurs, a periodic timer simple delays delivering the
-event, while a heartbeat timer will inform the application that it has missed
-the event. </p> <p>It is provided by <xref href="GUID-12C497F2-DB51-3740-972C-11ACD6501DAB.dita"><apiname>CHeartbeat</apiname></xref>. Applications
-are alerted to timer events through implementing an interface <xref href="GUID-6DE7027A-54C0-33F1-B184-7070B1A85709.dita"><apiname>MBeating</apiname></xref>.</p> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-1294F540-FDA7-5050-BAFB-3C9888491B98.dita">Asynchronous
-Services Overview</xref></desc>
-</link>
-<link href="GUID-FF8F5D97-7D37-5F6B-84A3-C064E2FD53E0.dita"><linktext>System Static
-Functions Overview</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-27F345DA-7969-5B3B-B2BD-285CD168CF72" xml:lang="en"><title>Timers And Timing Services Overview</title><shortdesc>Provides timers that asynchronously notify an application
+after an interval or at a specific time.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-48022E0B-8764-4944-8CFF-5EE6956DBC7C"><title>Architectural
+relationships</title> <p>The <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita"><apiname>User</apiname></xref> class in the
+System Static Functions API provides simple functions to suspend a
+thread for a given interval or until a specific time.</p> </section>
+<section id="GUID-59820FCE-FEF5-4089-8B62-1E1D8328437A"><title>Description</title> <p>The API has three key concepts: simple timer, periodic timer,
+and heartbeat timer. </p> </section>
+<section id="GUID-4CD59C91-C827-4C5A-98D4-509CBD3948EA"><title>Simple
+timer</title> <p>The simple timer produces an event at a given system
+time or after a given interval. It is provided by <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita"><apiname>RTimer</apiname></xref>. This service is wrapped in an active object by <xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref>.</p> </section>
+<section id="GUID-D44976FF-8171-47B8-A211-66541247F256"><title>Periodic
+timer</title><p><b/> </p> <p>A periodic timer produces a sequence
+of events at a specified interval. The application is called through
+a callback (<xref href="GUID-6C5766BC-05DE-32A8-993D-6BB582931F43.dita"><apiname>TCallBack</apiname></xref>) when they occur. It is provided
+by <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref>.</p> </section>
+<section id="GUID-3D6DC89E-DE6A-4AE1-84E8-870AF4B70FC3"><title>Heartbeat
+timer</title> <p>A heartbeat timer is similar to a periodic timer.
+However, if the application is busy handling another event when the
+timer event occurs, a periodic timer simple delays delivering the
+event, while a heartbeat timer will inform the application that it
+has missed the event. </p> <p>It is provided by <xref href="GUID-12C497F2-DB51-3740-972C-11ACD6501DAB.dita"><apiname>CHeartbeat</apiname></xref>. Applications are alerted to timer events through implementing an
+interface <xref href="GUID-6DE7027A-54C0-33F1-B184-7070B1A85709.dita"><apiname>MBeating</apiname></xref>.</p> </section>
+</conbody><related-links>
+<link href="GUID-1294F540-FDA7-5050-BAFB-3C9888491B98.dita">
+<linktext>Asynchronous Services Overview</linktext></link>
+<link href="GUID-FF8F5D97-7D37-5F6B-84A3-C064E2FD53E0.dita"><linktext>System
+Static Functions Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-281CBD4C-44AC-5E5C-B594-D798F21B131F_d0e425670_href.png has changed
Binary file Symbian3/PDK/Source/GUID-281CBD4C-44AC-5E5C-B594-D798F21B131F_d0e431515_href.png has changed
Binary file Symbian3/PDK/Source/GUID-28222243-1531-524F-81A7-070FF6E98C4C_d0e276675_href.png has changed
Binary file Symbian3/PDK/Source/GUID-28222243-1531-524F-81A7-070FF6E98C4C_d0e282675_href.png has changed
--- a/Symbian3/PDK/Source/GUID-28227926-2D5A-500C-B2BC-0EE6CC077DBE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-28227926-2D5A-500C-B2BC-0EE6CC077DBE"><title>About application resources</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Overview</title> <p>Much of the information that defines the appearance, behaviour and functionality of a Symbian platform application is stored externally to the main body of the program, in a <keyword>resource file</keyword>. This is unlike some other programming environments, in which a single executable contains all the code and information used by the application. Resource files can have the advantages that information is loaded only when needed, which can reduce RAM requirements, they can be compressed, and they can be localised without needing to recompile the main program. </p> <p>Resource files are developed as text files written in a Symbian platform-specific resource language. These source files are then compiled into a binary file format that can be loaded and read by programs. The source files can be compiled on their own using the command-line resource builder tool (<filepath>epocrc</filepath>), or as part of the standard project building process either from the command-line or from within an IDE. </p> </section> <section><title>Purposes of resource files</title> <p>Resource files are used for the following purposes: </p> <ul><li id="GUID-82CD9E65-0F3E-53E5-98D3-DF6039383F05"><p>to define the application user interface. The C++ application programming framework requires that some aspects of an application’s layout and behaviour, such as the menu bars and dialogs, are defined in a resource file </p> </li> <li id="GUID-35A884F3-384D-576F-927C-1F6F6F340176"><p>to define application properties that are used by the application launcher or system shell. </p> <p>Until v9.0, (<filepath>.aif</filepath>) files are used to define the application's icon and caption, and various properties, for instance whether the application is exposed to users or hidden, whether the application can be embedded, and the priority at which the application should be associated with MIME data types. Aif files are built from a type of resource file. </p> <p>From v9.0, aif files are replaced by <xref href="GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C.dita">application registration information</xref>. The caption and icon are defined either in a special resource file called a localisable icon/caption definition file, or, if more convenient, in the application's UI resource file. The application's properties and some other information is defined in another type of resource file called a registration file. </p> </li> <li id="GUID-3FEA9285-6F25-538D-B925-30EFF89DE072"><p>Literal strings and other constant data: for example, dialog text and error messages. The resource tool chain provides support for localisation of these. </p> </li> </ul> </section> <section><title>File types reference</title> <p>The resource compilation process uses a number of file types: </p> <table id="GUID-B15BD665-259D-5E38-AF3B-4C0B3111D752"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <filepath>rss</filepath>  </p> </entry> <entry><p>resource source file </p> </entry> </row> <row><entry><p> <filepath>rls</filepath>  </p> </entry> <entry><p>defines localisable strings, for inclusion in the resource source file </p> </entry> </row> <row><entry><p> <filepath>h</filepath>  </p> </entry> <entry><p>header file, for inclusion in C++ file </p> </entry> </row> <row><entry><p> <filepath>rh</filepath>  </p> </entry> <entry><p>resource header, for inclusion in the resource source file </p> </entry> </row> <row><entry><p> <filepath>hrh</filepath>  </p> </entry> <entry><p>common C++ or resource header, for inclusion in either type of source file </p> </entry> </row> <row><entry><p> <filepath>rsg</filepath>  </p> </entry> <entry><p>resource header file output from the resource compiler </p> </entry> </row> <row><entry><p> <filepath>rsc</filepath>  </p> </entry> <entry><p>compiled resource file from the resource compiler </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2861F3D9-875E-5AB3-9600-B328F042CC38.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2861F3D9-875E-5AB3-9600-B328F042CC38.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,57 +1,55 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2861F3D9-875E-5AB3-9600-B328F042CC38" xml:lang="en"><title>MakeKeys
-Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <xref href="GUID-557BF1DA-B6E8-521B-89F0-15C84E3BCB1A.dita">MakeKeys</xref> tool
-is a PC-side command-line tool that enables Symbian application developers
-to create a private key-public key pair and generate certificate requests. </p>
-<section><title>Purpose</title><p>The MakeKeys tool can be used to create
-a private key-public key (in form of a self-signed certificate) pair. The
-private key can then be used by the <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref> tool
-to digitally sign an installation file. The self-signed certificate can be
-used by the MakeKeys tool to create a certificate request file, which can
-then be submitted to a Certification Authority (CA) for signing. </p><note>The
-MakeKeys tool cannot generate Certification Authority (CA) certificates.</note> </section>
-<section><title>Key concepts and terms</title> <dl>
-<dlentry>
-<dt>Key</dt>
-<dd><p>A key is a constant value applied using a cryptographic algorithm to
-encrypt text or to decrypt encrypted text. </p> <p>Keys are classified as
-symmetric and asymmetric based on the type of algorithm applied. If the same
-key is used for both encryption and decryption, it is symmetric. If different
-keys are used for encryption and decryption, they are asymmetric. Asymmetric
-keys exist in the form of a private key-public key pair, where the public
-key is used for encryption and the private key is used for decryption. For
-more information, see <xref href="GUID-FB2CAA46-8EBB-5F76-847C-F3B953C9D31C.dita">Public
-Key Cryptography</xref>. </p> </dd>
-</dlentry>
-</dl> <dl>
-<dlentry>
-<dt>Certification Authority</dt>
-<dd><p>Certification Authority (CAs) is a trusted third party that provides
-root certificates to users (End Entities). For details, see <xref href="GUID-911E9F7E-D0AD-55EC-A3F4-1D427F803780.dita">Certificates</xref>. </p> </dd>
-</dlentry>
-</dl> <dl>
-<dlentry>
-<dt>Digital signature</dt>
-<dd><p>A digital signature is used to verify that a message (or data) actually
-came from the sender (the one who signed the message) and that it has not
-been tampered with. For details, see <xref href="GUID-5C58F7D1-D672-5B6D-AD48-863EC68F7446.dita">Digital
-Signatures</xref>. </p> </dd>
-</dlentry>
-</dl> </section>
-</conbody><related-links>
-<link href="GUID-D45A4AE9-4169-4466-B02B-629B15C3E9AA.dita"><linktext>MakeKeys
-Tutorials</linktext></link>
-<link href="GUID-557BF1DA-B6E8-521B-89F0-15C84E3BCB1A.dita"><linktext>MakeKeys
-Reference</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2861F3D9-875E-5AB3-9600-B328F042CC38" xml:lang="en"><title>MakeKeys Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The <xref href="GUID-557BF1DA-B6E8-521B-89F0-15C84E3BCB1A.dita">MakeKeys</xref> tool is a PC-side command-line tool that enables Symbian application
+developers to create a private key-public key pair and generate certificate
+requests. </p>
+<section id="GUID-0640D79C-BFA7-4D39-AB00-DE4213CB5A66"><title>Purpose</title><p>The MakeKeys tool can be used to
+create a private key-public key (in form of a self-signed certificate)
+pair. The private key can then be used by the <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref> tool
+to digitally sign an installation file. The self-signed certificate
+can be used by the MakeKeys tool to create a certificate request file,
+which can then be submitted to a Certification Authority (CA) for
+signing. </p><note>The MakeKeys tool cannot generate Certification
+Authority (CA) certificates.</note> </section>
+<section id="GUID-0E7C093E-2B5C-4B44-9512-22F4B425630D"><title>Key concepts and terms</title> <dl>
+<dlentry>
+<dt>Key</dt>
+<dd><p>A key is a constant value applied using a cryptographic algorithm
+to encrypt text or to decrypt encrypted text. </p> <p>Keys are classified
+as symmetric and asymmetric based on the type of algorithm applied.
+If the same key is used for both encryption and decryption, it is
+symmetric. If different keys are used for encryption and decryption,
+they are asymmetric. Asymmetric keys exist in the form of a private
+key-public key pair, where the public key is used for encryption and
+the private key is used for decryption. For more information, see <xref href="GUID-FB2CAA46-8EBB-5F76-847C-F3B953C9D31C.dita">Public Key Cryptography</xref>. </p> </dd>
+</dlentry>
+</dl> <dl>
+<dlentry id="GUID-D0BF05DB-046F-4E57-8FE1-A59412F56B69">
+<dt>Certification Authority</dt>
+<dd><p>Certification Authority (CAs) is a trusted third party that
+provides root certificates to users (End Entities). For details, see <xref href="GUID-911E9F7E-D0AD-55EC-A3F4-1D427F803780.dita">Certificates</xref>. </p> </dd>
+</dlentry>
+</dl> <dl>
+<dlentry>
+<dt>Digital signature</dt>
+<dd><p>A digital signature is used to verify that a message (or data)
+actually came from the sender (the one who signed the message) and
+that it has not been tampered with. For details, see <xref href="GUID-5C58F7D1-D672-5B6D-AD48-863EC68F7446.dita">Digital Signatures</xref>. </p> </dd>
+</dlentry>
+</dl> </section>
+</conbody><related-links>
+<link href="GUID-D45A4AE9-4169-4466-B02B-629B15C3E9AA.dita"><linktext>MakeKeys
+Tutorials</linktext></link>
+<link href="GUID-557BF1DA-B6E8-521B-89F0-15C84E3BCB1A.dita"><linktext>MakeKeys
+Reference</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-28844FE0-AE0F-531C-826E-CDA8400A0581.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-28844FE0-AE0F-531C-826E-CDA8400A0581.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 anchored in the <codeph>DMMCStack::iWorkSet</codeph> private member. </p> </li>
 </ul> <p>All three queues are circular queues as implemented using the internal
 Symbian platform class <codeph>TMMCSessionRing</codeph>. </p> <fig id="GUID-E8B1FA7F-1759-52BC-A9D8-80FF7E39FE51">
-<image href="GUID-B30D6027-EB0F-578F-9B2F-AFC2DFD27E39_d0e393768_href.png" placement="inline"/>
+<image href="GUID-B30D6027-EB0F-578F-9B2F-AFC2DFD27E39_d0e399621_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-FF74AAF0-D1F6-59A7-A859-B73DF946C92F"><title>The scheduler</title> <p>Every
 time one of the following events occurs, the MultiMediaCard stack invokes
@@ -68,7 +68,7 @@
 containing the reason that the session is blocked. </p></section>
 <section id="GUID-E0D63F8B-D4BC-48E5-8601-D1B0FCFB1644"><title>Scheduler algorithm</title><p>The
 following flow-diagram shows the algorithm used by the scheduler. </p> <fig id="GUID-78F3CD78-61F3-5DD8-8D0D-9D5251D11158">
-<image href="GUID-AA53650C-664C-53F0-8BE9-445677FC1FE2_d0e393841_href.png" placement="inline"/>
+<image href="GUID-AA53650C-664C-53F0-8BE9-445677FC1FE2_d0e399694_href.png" placement="inline"/>
 </fig> <p>The <xref href="GUID-B5193656-9819-3E00-A335-EEF1726115A5.dita"><apiname>DMMCStack</apiname></xref> private members referenced in this
 diagram have the following meaning: </p> <table id="GUID-E1F971E8-949B-527B-B0EC-8D21BBB0EDE0">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
--- a/Symbian3/PDK/Source/GUID-28B9B737-AA79-5595-8DDE-7DD52402C0B9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-28B9B737-AA79-5595-8DDE-7DD52402C0B9" xml:lang="en"><title>Tools
-and file types used in the build process</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This page briefly lists the main Symbian-specific tools and file types
-used in building components. In addition to these tools, the build process
-will use compilers and linkers supplied by various third party companies. </p>
-<p>Tools supplied by Symbian are in <filepath>epoc32\tools\</filepath> directory. </p>
-<section id="GUID-846782B7-C972-4F36-B7CF-DE433985E20D"><title>Tools</title> <table id="GUID-108C8A55-E732-5F1E-9CD7-CCC634A06B61">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <b>Tool</b>  </p> </entry>
-<entry><p> <b>Description</b>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>bldmake</filepath>  </p> </entry>
-<entry><p>This tool processes a component description file (<filepath>bld.inf</filepath>),
-which describes various aspects of the component, and generates make files
-and a batch file called <filepath>abld.bat</filepath>. This batch file is
-then used to drive the rest of the component build. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>abld</filepath>  </p> </entry>
-<entry><p>Calls the <filepath>.make</filepath> files generated by the <filepath>bldmake</filepath> tool
-to build a component. The make files typically call the <filepath>makmake</filepath> tool
-to create makefiles that specify the required build steps to build the component
-for a particular target. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>makmake</filepath>  </p> </entry>
-<entry><p>Takes a <filepath>.mmp</filepath> project file which lists the elements
-of the project, and produces a makefile for the platform specified. The GCC <filepath>make</filepath> utility
-is then called to execute the make file. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>elf2e32</filepath>  </p> </entry>
-<entry><p>Converts the ELF representation of an executable into an E32Image
-format file, the format required to run on Symbian platform. Used only for
-ARMV5 (ABIv2) target. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>elftran</filepath>  </p> </entry>
-<entry><p>Transforms the ELF representation of an executable into an E32Image
-format file, the format required to run on Symbian platform. Used only for
-ARMV5 (ABIv1) target. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>elf2Inf</filepath>  </p> </entry>
-<entry><p>Gets a list of the symbol names of the exported definitions from
-an ELF file. Its output <filepath>.inf</filepath> file is input to <filepath>makedef</filepath>.
-Used only for ARMV5 (ABIv1) target. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>evalid</filepath>  </p> </entry>
-<entry><p>A utility to compare two files, or two trees of files, ignoring
-non-significant differences in some types of files, such as built executables. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>makedef</filepath>  </p> </entry>
-<entry><p>Maintains or creates DEF files, which record an executable's exported
-symbols by ordinal. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>def2dll</filepath>  </p> </entry>
-<entry><p>Creates binary objects used to implement the Symbian platform DLL
-model. These are a representation (ELF) of the export table (<filepath>.exp</filepath> file),
-and its import library (<filepath>.lib</filepath>). Used only for ARMV5 (ABIv1)
-target. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>epocrc</filepath>  </p> </entry>
-<entry><p>Combines the actions of passing a resource file through the C++
-preprocessor, and then compiling it with the <filepath>rcomp</filepath> tool. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>rcomp</filepath>  </p> </entry>
-<entry><p>Resource compiler. Compiles source <filepath>rss</filepath> resource
-files into compiled resource data files, and a <filepath>rsg</filepath> resource
-header file. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>bmconv</filepath>  </p> </entry>
-<entry><p>Bitmap converter. Takes one or more Microsoft Windows bitmaps <filepath>.bmp</filepath> and
-generates a single multi-bitmap file <filepath>.mbm</filepath>, optimised
-for efficient runtime loading by the GDI. Also a header file <filepath>.h</filepath> with
-symbolic definitions for each bitmap in the file. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>More specialised tools are available for particular types of development,
-e.g. for generating font and printer driver libraries. </p> </section>
-<section id="GUID-A95BD340-3A89-40E6-805E-73C92E6159A7"><title>File types</title> <p>The following file types are involved
-in the build processes: </p> <table id="GUID-D05A7EA1-48E7-5347-BE8D-B8E646580E52">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <filepath>bld.inf</filepath>  </p> </entry>
-<entry><p>component description file, input to <filepath>bldmake</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.mmp</filepath>  </p> </entry>
-<entry><p>project file: specification of a project, input to <filepath>abld/makmake</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.&lt;target&gt;</filepath>  </p> </entry>
-<entry><p>a makefile, output from <filepath>makmake</filepath>, used to build
-the project for the specified target. Examples are <filepath>.winscw</filepath> for
-the WINSCW target, <filepath>.armv5</filepath> for the ARMV5 target, etc. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.make</filepath>  </p> </entry>
-<entry><p>build batch makefile, for use by <filepath>abld</filepath> for the
-purposes of building, output from <filepath>bldmake bldfiles</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.cpp</filepath>  </p> </entry>
-<entry><p>C++ source file </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.h</filepath>  </p> </entry>
-<entry><p>header file, for inclusion in C++ file </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.rss</filepath>  </p> </entry>
-<entry><p>resource source file, for input to <filepath>rcomp</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.rh</filepath>  </p> </entry>
-<entry><p>resource header, for inclusion in resource file </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.hrh</filepath>  </p> </entry>
-<entry><p>common C++ or resource header, for inclusion in either type of source
-file </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.rsg</filepath>  </p> </entry>
-<entry><p>generated resource header file, output from <filepath>rcomp</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.rsc</filepath>  </p> </entry>
-<entry><p>generated resource file, output from <filepath>rcomp</filepath>  </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.bmp</filepath>  </p> </entry>
-<entry><p>bitmap file, in Microsoft Windows format, input to <filepath>bmconv</filepath> (can
-also be output) </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.mbm</filepath>  </p> </entry>
-<entry><p>multi-bitmap file, generated by Symbian platform bitmap compiler,
-output from <filepath>bmconv</filepath> (can also be input) </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.def</filepath>  </p> </entry>
-<entry><p>linker definition file, defining an executable's exports and their
-ordinal positions. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.lib</filepath>  </p> </entry>
-<entry><p>static library file, often containing stub functions for DLL linking. </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.map</filepath>  </p> </entry>
-<entry><p>map of entities in an executable, output by linker </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.exe</filepath>  </p> </entry>
-<entry><p>executable that can be loaded and run as a process </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.dll</filepath>  </p> </entry>
-<entry><p>dynamic link library or DLL: executable containing shared functionality
-that can be loaded by other executables </p> </entry>
-</row>
-<row>
-<entry><p> <filepath>.dso</filepath>  </p> </entry>
-<entry><p>ELF format file output by compiler/linkers for ARM targets. Also
-used for linking against DLLs in the ARMV5 ABIv2 target. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-28E3645D-6673-569D-BF4A-409DDEA07CA9_d0e155782_href.png has changed
Binary file Symbian3/PDK/Source/GUID-28E3645D-6673-569D-BF4A-409DDEA07CA9_d0e161883_href.png has changed
Binary file Symbian3/PDK/Source/GUID-28F3F720-A2E0-59C9-8BB4-B6124CFC6C89_d0e378239_href.png has changed
Binary file Symbian3/PDK/Source/GUID-28F3F720-A2E0-59C9-8BB4-B6124CFC6C89_d0e384092_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F" xml:lang="en"><title>prj_extensions</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>prj_extensions</codeph>  </p>
-<p> <codeph>start extension</codeph>  <varname>subsystem\ext-template</varname>  </p>
-<p>[<codeph>target</codeph>  <varname>target_file_name</varname>] </p>
-<p>[<codeph>sources</codeph>  <varname>source_file_1 ... source_file_n</varname>] </p>
-<p>[<codeph>dependencies</codeph>  <varname>dependency_file_1 ...        
-dependency_file_n</varname>] </p>
-<p>[<codeph>tool</codeph>  <varname>toolname</varname>] </p>
-<p>[<codeph>option</codeph>  <varname>key_1</varname> <varname>value_1</varname>] </p>
-<p>... </p>
-<p>[<codeph>option</codeph>  <varname>key_n</varname> <varname>value_n</varname>] </p>
-<p> <codeph>end</codeph>  </p>
-<p> <b>Note:</b> The value argument in the option statement is optional. </p>
-<p>The <codeph>prj_extensions</codeph> section lists all the template extension
-makefiles that are to be invoked while building the component. This approach
-is introduced since Symbian OS v9.3 and it deprecates the use of <codeph>makefile</codeph> and <codeph>gnumakefile</codeph> directives
-in <filepath>bld.inf</filepath> files. It is recommend to use <codeph>prj_extensions</codeph> approach
-to call the extension makefile templates. </p>
-<p> <i>Note that a prj_extensions section can have one or more of start extension
-... end blocks.</i>  </p>
-<p> <varname>subsystem/ext-template</varname> specifies the extension makefile
-template name along with its path relative to the <codeph>epoc32</codeph> template
-directory, which is <filepath>\epoc32\tools\makefile_templates\</filepath>.
-The <codeph>.mk</codeph> suffix of the template need not be specified, as
-it is handled automatically. </p>
-<p>The optional <codeph>target</codeph>  <varname>target_file_name</varname> specifies
-the name and location of the target to be built. </p>
-<p>The optional <codeph>sources</codeph>  <varname>source_file_1 ....    
-    source_file_n</varname> specifies the list of source file names along
-with their path, which are required to build the <codeph>target</codeph>. </p>
-<p>The optional <codeph>dependencies</codeph>  <varname>dependency_file_1
-...         dependency_file_n</varname> specifies the list of dependency file
-names along with their path, which are required to build the <codeph>target</codeph>.
-The file extension part of the name need not be specified, as this will be
-automatically supplied. </p>
-<p>The optional <codeph>tool</codeph>  <varname>toolname</varname> specifies
-the tool to be used to build the target. </p>
-<p>The optional <codeph>option</codeph>  <varname>key_1</varname> <varname>value_1</varname> specifies
-the parameter values for the template extension makefile, as key-value pairs.
-These parameters are variables used in the template, and the precise set of
-variables specified here are entirely dependent on the requirement. There
-is no limit to the number of parameters a template extension makefile may
-require and can take. </p>
-<example><p>This example sets <codeph>PREFIX</codeph>, <codeph>HALPATH</codeph> and <codeph>SOURCE</codeph> options
-of the template extension makefile <filepath>config.mk</filepath></p><codeblock id="GUID-E876D415-D71A-51B9-BAF7-4ABE5335947E" xml:space="preserve">PRJ_EXTENSIONS
-start        extension        base\config
-
-option         PREFIX         _SH2_
-option         HALPATH        \..\..\..
-option            SOURCE            \..\hal
-
-end
-</codeblock></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2922758C-37A4-436E-B0F3-358944F84E2A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2922758C-37A4-436E-B0F3-358944F84E2A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -58,7 +58,7 @@
 <entry><p>Soft notification</p></entry>
 <entry><p>Soft notifications are reminders that inform the user of events
 that have typically occurred during the user's absence. Soft notifications
-can only be seen in the home screen, and the user can acknowledge them. There
+can only be seen in the Idle state, and the user can acknowledge them. There
 are two types of soft notifications; the layouts resemble those of Confirmation
 queries and List queries: </p><ul>
 <li><p>A single soft notification contains one notification. </p></li>
@@ -70,32 +70,15 @@
 <entry><p>Call window</p></entry>
 <entry><p>Incoming calls and outgoing calls are presented in pop-up windows.</p></entry>
 </row>
-<row>
-<entry><p>Discreet pop-up</p></entry>
-<entry><p>Discreet pop-up is a temporary pop-up that appears on the upper
-left corner for certain time-out. When discreet pop-up appears, it does not
-dim the background and it does not have the focus. User can navigate in the
-underlying application normally.</p><p>Pop-up can have simple touch functionality.
-It can be used, for example, for the information and confirmation note.</p></entry>
-</row>
-<row>
-<entry><p>Universal indicator pop-up</p></entry>
-<entry><p>Universal indicator pop-up is opened from the universal indicator
-pane. It contains more information of the active status indicators.</p></entry>
-</row>
 </tbody>
 </tgroup>
 </table>
-<p>For more information, see <xref href="GUID-3A923665-D003-461B-9332-28689CFB39E5.dita">Pop-ups</xref></p>
 <section id="GUID-58FB6AAA-5721-41D2-8593-D1117485563D"><title>Using
-pop-up windows in applications</title><p>For implementation information on
-the pop-up window components, see:</p><ul>
+pop-up windows in C++ applications</title><p>For implementation information
+on the pop-up window components, see:</p><ul>
 <li><p><xref href="GUID-BFEEECCA-190B-4DDE-8A04-4FE918BE8690.dita">Options menu</xref></p></li>
 <li><p><xref href="GUID-7B275129-5EF7-4B27-B603-3BDE2C650A93.dita">Query</xref></p></li>
 <li><p><xref href="GUID-24D51B0B-7EBE-49AE-84CF-098096BE0A1C.dita">Note</xref></p></li>
 <li><p><xref href="GUID-40F5B725-A5D7-487F-BF5D-A616F768F40D.dita">Soft notification</xref></p></li>
-<li><p><xref href="GUID-5B9F25B5-5FE1-4E38-BC8D-A0273F458C36.dita">Discreet pop-up</xref></p></li>
-<li><p><xref href="GUID-EC98E7E0-872D-467D-BDC8-6471F6165705.dita">Universal indicator
-pop-up</xref></p></li>
 </ul></section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2939EEA8-DBC9-4882-B016-9C53166569CD_d0e84838_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2939EEA8-DBC9-4882-B016-9C53166569CD_d0e89036_href.png has changed
--- a/Symbian3/PDK/Source/GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 <row>
 <entry><p>Launching the application</p></entry>
 <entry><fig id="GUID-405A8353-76B2-48EA-8A77-5072ABC9092E">
-<image href="GUID-0CA8B17D-92D7-4293-B611-E0DDA05A6579_d0e63646_href.png" placement="inline"/>
+<image href="GUID-0CA8B17D-92D7-4293-B611-E0DDA05A6579_d0e67868_href.png" placement="inline"/>
 </fig><p/></entry>
 <entry><ul>
 <li><p><xref href="GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita">Framework requirements
@@ -45,7 +45,7 @@
 <row>
 <entry><p>Handling left softkey events and launching the <uicontrol>Options</uicontrol> menu</p></entry>
 <entry><fig id="GUID-E6EB3C6C-A310-4378-96A2-8A22F2043DBA">
-<image href="GUID-76B4C4D2-75A5-4139-9186-23443C68CD8F_d0e63682_href.png" placement="inline"/>
+<image href="GUID-76B4C4D2-75A5-4139-9186-23443C68CD8F_d0e67904_href.png" placement="inline"/>
 </fig><p/></entry>
 <entry><ul>
 <li><p><xref href="GUID-A9330FEF-C559-4E2B-B064-0151FDADEA8C.dita">Event handling</xref></p></li>
@@ -55,9 +55,9 @@
 <row>
 <entry><p>Handling key and pointer events </p></entry>
 <entry><fig id="GUID-553A63B8-45CE-4A1E-87B4-2C83C467A17F">
-<image href="GUID-F7C9730D-7A41-4EE3-881C-393BB52B99C8_d0e63710_href.png" placement="inline"/>
+<image href="GUID-F7C9730D-7A41-4EE3-881C-393BB52B99C8_d0e67932_href.png" placement="inline"/>
 </fig><p/><p/><fig id="GUID-3BFD6D28-AE46-4D8A-8D4A-A0AB54AF7CFB">
-<image href="GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e63716_href.png" placement="inline"/>
+<image href="GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e67938_href.png" placement="inline"/>
 </fig><p/></entry>
 <entry><ul>
 <li><p><xref href="GUID-EF7FF39E-929F-4767-B475-5D582D37BB32.dita">Handling window
@@ -71,7 +71,7 @@
 <row>
 <entry><p>Rotation</p></entry>
 <entry><fig id="GUID-A3DACC0A-A6F6-49BB-B680-F530D3E97845">
-<image href="GUID-220D7D10-5571-46C4-BA2B-B4FBAE4153F1_d0e63749_href.png" placement="inline"/>
+<image href="GUID-220D7D10-5571-46C4-BA2B-B4FBAE4153F1_d0e67971_href.png" placement="inline"/>
 </fig><p/></entry>
 <entry><p><xref href="GUID-DD15F24B-0786-4531-A6C5-A5E70EBE2732.dita">Handling
 layout change events</xref></p></entry>
@@ -79,9 +79,9 @@
 <row>
 <entry><p>Internationalization</p></entry>
 <entry><fig id="GUID-8EF822C1-FD80-404A-B751-10191C9A9E8F">
-<image href="GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e63768_href.png" placement="inline"/>
+<image href="GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e67990_href.png" placement="inline"/>
 </fig><p/><p/><fig id="GUID-BF30B1CA-7911-41DD-A77E-9D28C33E9796">
-<image href="GUID-D18E56F1-3DB9-472D-B587-30A168E8B8C4_d0e63774_href.png" placement="inline"/>
+<image href="GUID-D18E56F1-3DB9-472D-B587-30A168E8B8C4_d0e67996_href.png" placement="inline"/>
 </fig><p/></entry>
 <entry><p><xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
 and localization</xref></p></entry>
@@ -89,7 +89,7 @@
 <row>
 <entry><p>Exiting the application</p></entry>
 <entry><fig id="GUID-622830E1-42D8-4B89-8D3C-41489076C0A8">
-<image href="GUID-26E2294F-871F-45D1-B71C-9F470703A9C8_d0e63793_href.png" placement="inline"/>
+<image href="GUID-26E2294F-871F-45D1-B71C-9F470703A9C8_d0e68015_href.png" placement="inline"/>
 </fig><p/></entry>
 <entry><p><xref href="GUID-11FE772A-E662-4B88-B871-97A40A40FBAB.dita">Handling
 EEikCmdExit</xref></p></entry>
--- a/Symbian3/PDK/Source/GUID-2955A35E-1215-5C4A-9C24-0106FB75E295.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2955A35E-1215-5C4A-9C24-0106FB75E295.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-2955A35E-1215-5C4A-9C24-0106FB75E295"><title>Provide ECOM registry information for a PSY</title><shortdesc>This section describes how to package the PSY as an ECOM plug-in that can be loaded by the LBS subsystem. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context id="GUID-6D4EEEE5-BB39-53BD-8B41-62B6FEE7ADAF"><p>A PSY must provide the ECOM registry with information about itself. Registry information is used by the Location Framework to recognise a PSY implementation. This section describes how to create ECOM registry information for a PSY. </p> </context> <steps id="GUID-193095EC-B7F6-520B-8DD7-D200E7EF174F"><step id="GUID-3A17C6EA-BB68-5B06-A53B-D99C958618BA"><cmd/><info>Obtain two UIDs for the PSY from Symbian. </info> <substeps id="GUID-A9F4EAE2-F8FE-5645-A20B-AB7ABF7E057D"><substep id="GUID-C576657B-B83D-50E4-B23B-BC2555FB37F8"><cmd/><info>A PSY DLL UID is required for the DLL that packages the PSY. </info> </substep> <substep id="GUID-AC18D7DB-F9F1-5C3F-8E3A-7678BB6D8C89"><cmd/><info>A PSY implementation UID is required to identify the implementation of the PSY interface that is loaded by ECOM. </info> </substep> </substeps> </step> <step id="GUID-553B5668-AAA4-5E8D-AB3D-02CC37A11786"><cmd/><info>Create an ECOM resource file for the PSY. </info> <info>ECOM Registry information is stored in a resource file. The resource file must define a <codeph>REGISTRY_INFO</codeph> resource at the start of the file. The resource file must not contain anything else. </info> <info>The <codeph>REGISTRY_INFO</codeph> structure and some useful constant declarations are defined in <codeph>registryinfo.rh</codeph>. </info> <info>The registry information consists of the following: </info> <substeps id="GUID-1F3A7A38-70C0-5714-8147-10DA24647830"><substep id="GUID-AF7993CE-F547-5079-8E11-DDC7B1423150"><cmd/><info>PSY DLL UID. </info> </substep> <substep id="GUID-7E26BF57-9DE3-51F1-B93A-00D1DB69A1A5"><cmd/><info>PSY implementation UID. </info> </substep> <substep id="GUID-211E347E-6D89-5420-8DCE-7ABA5E14AC1A"><cmd/><info>PSY version. </info> </substep> <substep id="GUID-DB2589C4-14E9-5EE4-BD80-52723FADDE51"><cmd/><info>A display name for the PSY (this can be shown in a UI). </info> <info>The display name in the ECOM registration file cannot be localised. In order to provide a PSY name that can be localised, the PSY needs to create a separate localised resource file. The path to this localised resource file must be specified through the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </info> <info>If the localised resource file is not specified or cannot be found, the display name in the ECOM registry resource file is used. </info> </substep> </substeps> <info>An example resource file is shown below. Note that the <codeph>inteface_uid</codeph> must be <codeph>0x101F7A7C</codeph> as specified in this file. The <codeph>dll_uid</codeph> and <codeph>implementation_uid</codeph> will be different in your implementation. </info> <stepxmp><codeblock id="GUID-5091D78F-FF85-574A-BFA0-22EE74DD77B5" xml:space="preserve">#include &lt;registryinfo.rh&gt; 
+<task xml:lang="en" id="GUID-2955A35E-1215-5C4A-9C24-0106FB75E295"><title>Provide ECOM registry information for a PSY</title><shortdesc>This section describes how to package the PSY as an ECOM plug-in that can be loaded by the LBS subsystem. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context id="GUID-6D4EEEE5-BB39-53BD-8B41-62B6FEE7ADAF"><p>A PSY must provide the ECOM registry with information about itself. Registry information is used by the Location Framework to recognise a PSY implementation. This section describes how to create ECOM registry information for a PSY. </p> </context> <steps id="GUID-193095EC-B7F6-520B-8DD7-D200E7EF174F"><step id="GUID-3A17C6EA-BB68-5B06-A53B-D99C958618BA"><cmd/><info>Obtain two UIDs for the PSY from Symbian. </info> <substeps id="GUID-A9F4EAE2-F8FE-5645-A20B-AB7ABF7E057D"><substep id="GUID-C576657B-B83D-50E4-B23B-BC2555FB37F8"><cmd/><info>A PSY DLL UID is required for the DLL that packages the PSY. </info> </substep> <substep id="GUID-AC18D7DB-F9F1-5C3F-8E3A-7678BB6D8C89"><cmd/><info>A PSY implementation UID is required to identify the implementation of the PSY interface that is loaded by ECOM. </info> </substep> </substeps> </step> <step id="GUID-553B5668-AAA4-5E8D-AB3D-02CC37A11786"><cmd/><info>Create an ECOM resource file for the PSY. </info> <info>ECOM Registry information is stored in a resource file. The resource file must define a <codeph>REGISTRY_INFO</codeph> resource at the start of the file. The resource file must not contain anything else. </info> <info>The <codeph>REGISTRY_INFO</codeph> structure and some useful constant declarations are defined in <codeph>registryinfo.rh</codeph>. </info> <info>The registry information consists of the following: </info> <substeps id="GUID-1F3A7A38-70C0-5714-8147-10DA24647830"><substep id="GUID-AF7993CE-F547-5079-8E11-DDC7B1423150"><cmd/><info>PSY DLL UID. </info> </substep> <substep id="GUID-7E26BF57-9DE3-51F1-B93A-00D1DB69A1A5"><cmd/><info>PSY implementation UID. </info> </substep> <substep id="GUID-211E347E-6D89-5420-8DCE-7ABA5E14AC1A"><cmd/><info>PSY version. </info> </substep> <substep id="GUID-DB2589C4-14E9-5EE4-BD80-52723FADDE51"><cmd/><info>A display name for the PSY (this can be shown in a UI). </info> <info>The display name in the ECOM registration file cannot be localised. In order to provide a PSY name that can be localised, the PSY needs to create a separate localised resource file. The path to this localised resource file must be specified through the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </info> <info>If the localised resource file is not specified or cannot be found, the display name in the ECOM registry resource file is used. </info> </substep> </substeps> <info>An example resource file is shown below. Note that the <codeph>inteface_uid</codeph> must be <codeph>0x101F7A7C</codeph> as specified in this file. The <codeph>dll_uid</codeph> and <codeph>implementation_uid</codeph> will be different in your implementation. </info> <stepxmp><codeblock id="GUID-5091D78F-FF85-574A-BFA0-22EE74DD77B5" xml:space="preserve">#include &lt;registryinfo.rh&gt; 
 #include "ExamplePsy.hrh" // Defines KPosExamplePSYImplUid
 
 RESOURCE REGISTRY_INFO r_examplepsy_reginfo
@@ -35,5 +35,5 @@
         }
     };
 }
-</codeblock> </stepxmp> </step> </steps> <postreq id="GUID-3413BBB4-9CDC-5FF7-AC92-CF069F88C9CE"><p> <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Define PSY attributes using the Positioning Plug-in Information API</xref>. </p> <p>Test the PSY using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. </p> </postreq> </taskbody><related-links><link href="GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D.dita"><linktext>Positioning
+</codeblock> </stepxmp> </step> </steps> <postreq id="GUID-3413BBB4-9CDC-5FF7-AC92-CF069F88C9CE"><p> <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Define PSY attributes using the Positioning Plug-in Information API</xref>. </p> <p>Test the PSY using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. </p> </postreq> </taskbody><related-links><link href="GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D.dita"><linktext>Positioning
                 Plug-in API Tutorial</linktext> </link> </related-links></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e551004_href.png has changed
Binary file Symbian3/PDK/Source/GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e558460_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e596993_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e615377_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e624887_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2976D260-67D5-5DBB-8CA5-09046FBEC875-master.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2976D260-67D5-5DBB-8CA5-09046FBEC875_d0e743085_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-299B6CAB-3D4C-4FA5-A00E-244D04F0B6AB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-299B6CAB-3D4C-4FA5-A00E-244D04F0B6AB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 of the attempt failing completely the Location subsystem produces a fallback
 cell-based position.</p> <p>The process is described in the steps below.</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2">
 <step id="GUID-AEDA448D-E436-4B3F-BEF1-BAC739E389AC"><cmd>The client must
 open a connection to the server by calling <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-23285930-A1D5-3A97-AED4-E979BFA96FDD"><apiname>RPositionServer::Connect()</apiname></xref>.</cmd>
 </step>
@@ -28,29 +28,29 @@
 then open RPositioner by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> and
 specify the UID of the Network Proxy PSY.</cmd>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-3"><cmd>The client application
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-3"><cmd>The client application
 sends a location request to the Location subsystem by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref>.</cmd>
 </step>
-<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-4"><cmd>The Location subsystem
+<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-4"><cmd>The Location subsystem
 forwards the location request to the Control Plane Protocol module by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref> (if Control Plane is the default in the default configuration).</cmd>
 </step>
-<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-5"><cmd>The Control Plane
+<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-5"><cmd>The Control Plane
 protocol module communicates with the cellular network but the network is
 unable to provide a cell-based location. </cmd>
 </step>
-<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-6"><cmd>The Control Protocol
+<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-6"><cmd>The Control Protocol
 Module completes the session by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-ACBFB09B-D4D1-36A0-A9D6-FD3207E93E30"><apiname>MLbsNetworkProtocolObserver::ProcessSessionComplete()</apiname></xref>.</cmd>
 </step>
-<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-7"><cmd>The Location subsystem
+<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-7"><cmd>The Location subsystem
 fallbacks to SUPL positioning and forwards the request to the SUPL Protocol
 module by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref>.
 (In the default configuration SUPL is used for cell-based positioning).</cmd>
 </step>
-<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-8"><cmd>The SUPL Protocol
+<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-8"><cmd>The SUPL Protocol
 module communicates with an external SUPL server and obtains a cell-based
 location. </cmd>
 </step>
-<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-18-1-1-9-1-6-1-11-1-3-2-9"><cmd>The SUPL Protocol
+<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-9"><cmd>The SUPL Protocol
 Module returns the cell-based position by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-CAB9645E-91AD-326B-8803-45F28505CCCC"><apiname>MLbsNetworkProtocolObserver::ProcessLocationUpdate()</apiname></xref>.</cmd>
 </step>
 <step id="GUID-D17075FA-847E-4489-84CB-7EB94554B051"><cmd>The Location subsystem
Binary file Symbian3/PDK/Source/GUID-299D0C57-F200-5135-B4D6-304002730A28_d0e458971_href.png has changed
Binary file Symbian3/PDK/Source/GUID-299D0C57-F200-5135-B4D6-304002730A28_d0e464816_href.png has changed
--- a/Symbian3/PDK/Source/GUID-29B84A67-9DB7-5F4C-A4D1-A3BDC69015A8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-29B84A67-9DB7-5F4C-A4D1-A3BDC69015A8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -67,7 +67,7 @@
 to the most power saving “Sleep” mode, additional actions can be taken to
 lower the system power level: </p> <fig id="GUID-05ED7A51-E1A1-5D2E-AF81-A11A9EC80D7F">
 <title>System power use over time</title>
-<image href="GUID-BF157EE2-B680-554A-AE32-69C652B61FA6_d0e390195_href.png" placement="inline"/>
+<image href="GUID-BF157EE2-B680-554A-AE32-69C652B61FA6_d0e396048_href.png" placement="inline"/>
 </fig> <ul>
 <li id="GUID-FD4E14B6-9471-5A91-B215-E42595645A94"><p>The system is active
 when a request for service is made on peripheral A; the peripheral driver
Binary file Symbian3/PDK/Source/GUID-29E54156-DF94-5B34-ACAB-1417265C950D_d0e321821_href.png has changed
Binary file Symbian3/PDK/Source/GUID-29E54156-DF94-5B34-ACAB-1417265C950D_d0e327807_href.png has changed
Binary file Symbian3/PDK/Source/GUID-29E7942D-A00D-5771-9782-59260965C687_d0e315631_href.png has changed
Binary file Symbian3/PDK/Source/GUID-29E7942D-A00D-5771-9782-59260965C687_d0e321621_href.png has changed
Binary file Symbian3/PDK/Source/GUID-29F55D74-A206-5862-9C83-2C5045B2DB7F_d0e507111_href.png has changed
Binary file Symbian3/PDK/Source/GUID-29F55D74-A206-5862-9C83-2C5045B2DB7F_d0e514573_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A109FEC-5173-55FD-ACA8-3CAE48A93540_d0e583102_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A109FEC-5173-55FD-ACA8-3CAE48A93540_d0e604372_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e101061_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e79433_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e83631_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e94316_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e96982_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e98514_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2A69B0EE-FA13-49C3-B4FE-50D0910FA37D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2A69B0EE-FA13-49C3-B4FE-50D0910FA37D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,8 +14,8 @@
 for initializing key stream decoders and process a key stream.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context id="GUID-BFEED1F1-D00C-4E4A-B14E-8F60842A5F13">       <p>Follow the steps below to process a Key stream:</p>   
  </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-27-1-1-6-1-6-1-5-1-3-1-4-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-27-1-1-6-1-6-1-5-1-3-1-4-1-3-2-1"><cmd>Initialize a key
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-26-1-1-6-1-6-1-5-1-3-1-4-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-26-1-1-6-1-6-1-5-1-3-1-4-1-3-2-1"><cmd>Initialize a key
 stream decoder using <xref href="GUID-EE67D14D-1011-3B27-ADEC-C6C192339903.dita#GUID-EE67D14D-1011-3B27-ADEC-C6C192339903/GUID-F8F59778-6554-35A0-A2AD-DD689A89664D"><apiname>CKeyStreamDecoder::NewLC()</apiname></xref> to launch
 a streaming agent. </cmd>
 <info>           <p>When a key stream decoder is initialized, a streaming
Binary file Symbian3/PDK/Source/GUID-2AB5AA00-71B2-58F4-AE17-9A38D1E5AA99_d0e315543_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2AB5AA00-71B2-58F4-AE17-9A38D1E5AA99_d0e321533_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2AB7F53A-5EDF-574D-866D-EF2592881559.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2AB7F53A-5EDF-574D-866D-EF2592881559" xml:lang="en"><title>Configuring the SIF Launcher</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The SIF Launcher must be configured in the system ROM to ensure
+that the software management requests from the device user are understood
+by the SIF server. </p>
+<p> <b>Note:</b> When you configure the SIF Launcher, you must also
+ensure that the respective software types and installer information
+are present in the Software Component Registry (SCR) database. For
+more information, see the <xref href="GUID-016876C8-7E13-5A3E-9A15-992B7EEEEA38.dita">Software Component
+Registry</xref> section. </p>
+<p>You can configure the SIF launcher to customise the MIME types
+supported and the icons that UI-based clients may use for files recognised
+as software packages. Do this by modifying the <filepath>siflauncher_reg.rss</filepath> file located at <filepath>securityconfig/usif/siflauncher/</filepath>. </p>
+<p> <b>Note:</b> For more information about modifying <filepath>.rss</filepath> files, see <b>Symbian^3 Tools Guide &gt; Building</b>.</p>
+<p>To customize the MIME types and icons for UI based clients, perform
+the following steps: </p>
+<ol id="GUID-5CE9F105-8CEC-5BA8-A9FD-C78FDF80CED8">
+<li id="GUID-7849B967-44D8-5EF1-B790-6E2BF23A430A"><p>Open the <filepath>siflauncher_reg.rss</filepath> file located at <filepath>securityconfig/usif/siflauncher/</filepath>. </p> <codeblock id="GUID-A2314A0A-DFFE-5616-8380-D2C65985EF84" xml:space="preserve">// siflauncher_reg.rss
+// SIF Launcher application's registration resource file 
+
+#include &lt;appinfo.rh&gt;
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0x10285BD0
+
+RESOURCE APP_REGISTRATION_INFO
+    {
+    app_file="siflauncher";
+    localisable_resource_file="\\resource\\apps\\siflauncher_loc";
+
+    hidden=KAppNotHidden; 
+    embeddability=KAppNotEmbeddable;
+    newfile=KAppDoesNotSupportNewFile;
+    datatype_list=
+        {
+        DATATYPE { priority=EDataTypePriorityHigh; type="x-epoc/x-sisx-app"; }
+        };
+    }</codeblock> </li>
+<li id="GUID-2BF0D015-7426-5BB1-ADD4-279AF80AF60F"><p>Add the MIME
+type that you want to support in the <codeph>datatype_list</codeph> section. For example, if you want to support the MIME type, <codeph>x-adobe/x-flash-app</codeph>, you must add the following statement
+to the <codeph>datatype_list</codeph> section: </p> <codeblock id="GUID-96A6ED4C-3219-5C5A-A77B-4174ED81C6F5" xml:space="preserve">DATATYPE { priority=EDataTypePriorityHigh; type="x-adobe/x-flash-app"; }</codeblock> </li>
+<li id="GUID-2F1D42E0-04BC-56BC-A071-AC40167E3675"><p>Configure the
+icons for UI based clients using the <codeph>localisable_resource_file</codeph> statement in <filepath>siflauncher_loc.rss</filepath>. The file
+defined by this statement contains the icon configuration. </p> <p>For example: </p> <codeblock id="GUID-CD2A8079-81BD-5BB6-B4BA-777C0987C9AC" xml:space="preserve">//siflauncher_loc.rss
+#include &lt;appinfo.rh&gt;
+#include "siflauncher_loc.rls"
+
+RESOURCE LOCALISABLE_APP_INFO
+    {
+    short_caption = STRING_r_siflauncher_short_caption;
+    caption_and_icon =
+        {
+        CAPTION_AND_ICON_INFO
+            {
+            caption=STRING_r_siflauncher_caption;
+            number_of_icons=1;
+            icon_file=STRING_r_siflauncher_icon_path;
+            }
+        };
+    }</codeblock> <p>The strings used in <filepath>siflauncher_loc.rss</filepath> are defined in <filepath>siflauncher_loc.rls</filepath>. </p> <codeblock id="GUID-41D2CCAA-93E6-5DC2-A352-FE985AE763DA" xml:space="preserve">//siflauncher_loc.rls
+
+rls_string STRING_r_siflauncher_icon_path "z:\\resource\\apps\\siflauncher.mbm"
+rls_string STRING_r_siflauncher__short_caption "USIF"
+rls_string STRING_r_siflauncher_caption "Universal Software Install Framework"</codeblock> </li>
+</ol>
+</conbody><related-links>
+<link href="GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054.dita"><linktext>SIF
+                Overview</linktext></link>
+<link href="GUID-B2BD19A4-132E-5D5C-8870-04BADB6E7815.dita"><linktext>SIF
+                Tutorial</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2ABCF233-7DCC-59E2-B075-81E148A1D2AB_d0e364053_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2ABCF233-7DCC-59E2-B075-81E148A1D2AB_d0e369902_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2AD64552-440B-5439-885B-BE71DE0E8F1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-2AD64552-440B-5439-885B-BE71DE0E8F1F"><title>Compiler macros</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The following macros are defined by the build tools. These macros may be used to control conditional compilation. </p> <table id="GUID-2AB7C1FA-6803-5F48-BA96-054E78D43A83"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <codeph>__SYMBIAN32__</codeph>  </p> </entry> <entry><p>indicates Symbian platform code in general </p> </entry> </row> <row><entry><p> <codeph>__WINS__</codeph>  </p> </entry> <entry><p>indicates the WINS or WINSCW platforms </p> </entry> </row> <row><entry><p> <codeph>__DLL__</codeph>  </p> </entry> <entry><p>if applicable, indicates that a DLL is being built </p> </entry> </row> <row><entry><p> <codeph>__EXE__</codeph>  </p> </entry> <entry><p>if applicable, indicates that a <filepath>.exe</filepath> is being built </p> </entry> </row> <row><entry><p> <codeph>__CW32__</codeph>  </p> </entry> <entry><p>indicates CodeWarrior is the compiler </p> </entry> </row> <row><entry><p> <codeph>__EPOC32__</codeph>  </p> </entry> <entry><p>indicates any target hardware platform, regardless of processor type or hardware architecture </p> </entry> </row> </tbody> </tgroup> </table> <p>Further macros can be defined in project files through the <codeph>MACRO</codeph> statement. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2AE024D5-B34B-5E7E-BC7E-8C45E80173C5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-2AE024D5-B34B-5E7E-BC7E-8C45E80173C5"><title>freeze</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>abld</codeph> [ test ] <codeph>freeze</codeph>  <codeph>[-k] [-v] </codeph> [ <varname>platform</varname> ] [ <varname>program</varname> ] </p> <p>This command freezes new DLL exports in frozen <filepath>.def</filepath> files using the <codeph>FREEZE</codeph> target provided in makefiles generated by <filepath>makmake</filepath>. </p> <p>The frozen <filepath>.def</filepath> files should be considered part of source for your component. </p> <ul><li id="GUID-3BF285C7-610D-54DD-A37C-4FD10A4A5888"><p>To freeze your component for the first time, having built the component, call this command. </p> </li> <li id="GUID-A172DCF5-63EB-5B0F-B08E-70CB4B7CD467"><p>Next, regenerate the makefiles so that import libraries can be created from the frozen <filepath>.def</filepath> files. </p> </li> </ul> <p>The import libraries can be created explicitly using the <codeph>abld
-        library</codeph> command, or they can be built implicitly through <codeph>abld
-        build</codeph> or <codeph>abld target</codeph>. </p> <ul><li id="GUID-3D13EF55-A849-5D07-9A85-B8635E481E62"><p>To add new exports to a project within your component, having built the component, call this command. </p> </li> <li id="GUID-AD3B066E-07B1-5BBF-9BE3-B91D8D7D9C78"><p>Next, rebuild the import libraries so that they incorporate the new exports. </p> </li> </ul> <p> <b>Limitation:</b>  </p> <p>When freezing functions from the target types, build system can auto generate <filepath>.def </filepath> files only for <codeph>DLL</codeph>, <codeph>EXEDLL</codeph>, <codeph>EXEXP</codeph>, and <codeph>STDDLL</codeph> target types even if, you do not have a <filepath>.def</filepath> file specified in the matching <filepath>.mmp</filepath> file. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e610277_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e649431_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2B50C6B1-E1E8-44E6-840B-7FAA206E6C26_d0e69821_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2B50C6B1-E1E8-44E6-840B-7FAA206E6C26_d0e74034_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2B5C905C-CEE7-5B7B-8143-A73D3352949A_d0e430245_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2B5C905C-CEE7-5B7B-8143-A73D3352949A_d0e436090_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2B6D3A9D-1481-5587-A954-48CE7EC311EE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2B6D3A9D-1481-5587-A954-48CE7EC311EE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,14 +11,14 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-2B6D3A9D-1481-5587-A954-48CE7EC311EE"><title>Render Stage Display Control and Mapping</title><shortdesc>ScreenPlay has a new approach to display resolution control to support externally connected displays, such as TV-out. It involves the render stages plus a number of other components in the Graphics package, including the Window Server and the composition engine. The render stages are able to monitor and modify display control attributes, and to scale and position the application extent within the full UI area. In addition, they can optionally implement a display policy, which determines the UI to composition mapping policy. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <p>This topic builds on the material covered in the following topics: </p> <ul><li id="GUID-2DC0F65B-E3B0-501C-98ED-0DE32A2C112C"><p><xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">Dynamic Resolution Switching</xref>  </p> </li> <li id="GUID-8DA1CE87-22C3-5F38-B21A-B53EF6125869"><p><xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita">Render Stages Overview</xref>  </p> </li> <li id="GUID-B281AE5F-48B8-5FEE-A847-F22192CEC841"><p><xref href="GUID-11BC2AAA-FDB8-5600-8488-F27A9552E336.dita">Render Stage Interfaces</xref>  </p> </li> </ul> <section><title>Render stage display control and mapping interfaces</title> <p>The following diagram provides an overview of the render stage display control interfaces. There is further information about the interfaces under separate headings below the diagram. </p> <fig id="GUID-0AC1C9CD-462F-5D6C-B641-F896DC1CF945"><title>
              The render stage display control interfaces 
-          </title> <image href="GUID-B34485AB-FA14-5453-A2B2-EB85055E62A4_d0e244605_href.png" placement="inline"/></fig> <p>Symbian provides a reference render stage implementation that device creators can use as an example when implementing their own. It demonstrates how to implement these interfaces. See <xref href="GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.dita">Window Server Plugins Component Overview</xref> for more information. </p> </section> <section><title>MWsDisplayControl</title> <p> <xref href="GUID-415B5416-A6DD-3471-8800-C76C48DA59DA.dita"><apiname>MWsDisplayControl</apiname></xref> is derived from the <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> and <xref href="GUID-8391795F-3766-3F31-BDFA-832AE8B4DFD4.dita"><apiname>MDisplayControlBase</apiname></xref> interfaces as shown in the following diagram. </p> <fig id="GUID-AD527796-B8AF-58D8-BA4C-CA48946EA504"><title>
+          </title> <image href="GUID-B34485AB-FA14-5453-A2B2-EB85055E62A4_d0e250616_href.png" placement="inline"/></fig> <p>Symbian provides a reference render stage implementation that device creators can use as an example when implementing their own. It demonstrates how to implement these interfaces. See <xref href="GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.dita">Window Server Plugins Component Overview</xref> for more information. </p> </section> <section><title>MWsDisplayControl</title> <p> <xref href="GUID-415B5416-A6DD-3471-8800-C76C48DA59DA.dita"><apiname>MWsDisplayControl</apiname></xref> is derived from the <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> and <xref href="GUID-8391795F-3766-3F31-BDFA-832AE8B4DFD4.dita"><apiname>MDisplayControlBase</apiname></xref> interfaces as shown in the following diagram. </p> <fig id="GUID-AD527796-B8AF-58D8-BA4C-CA48946EA504"><title>
              MWsDisplayControl class diagram 
-          </title> <image href="GUID-768D58BA-28A8-5325-A3C3-6A95E1F98578_d0e244637_href.png" placement="inline"/></fig> <p>For a diagram of the <xref href="GUID-7ED11E23-6E13-36D4-BB10-8AE9E745C560.dita"><apiname>TDisplayConfiguration</apiname></xref> class hierarchy, see the <xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common Graphics Headers Component Overview</xref>. </p> <p>A render stage uses the <xref href="GUID-415B5416-A6DD-3471-8800-C76C48DA59DA.dita"><apiname>MWsDisplayControl</apiname></xref> interface to intercept <xref href="GUID-8391795F-3766-3F31-BDFA-832AE8B4DFD4.dita#GUID-8391795F-3766-3F31-BDFA-832AE8B4DFD4/GUID-E4DE786F-547E-3A3B-90D2-31892A708E25"><apiname>MDisplayControlBase::GetResolutions()</apiname></xref> calls at runtime. A render stage can add <b>virtual resolutions</b> into the list of display resolutions in order to scale the full UI area to the full composition area. Using virtual resolutions in this way reduces the memory required for the UI buffers and allows the Window Server to work purely in the application UI coordinate space. Virtual resolutions are marked with a flag in the <xref href="GUID-15E9E782-1D64-3E7C-8D43-51DF267FE6A9.dita"><apiname>TResolution</apiname></xref> structure provided by <codeph>GetResolutions()</codeph>. The structure also includes the size of the resolution in both pixels and twips. A render stage may also remove physical resolutions from the list in order to disable the client's ability to change the resolution. </p> <p>A render stage that provides virtual resolutions can include one (or more) virtual resolutions that give the UI pixel aspect ratio to fit a screen mode defined in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. However, this may require anisotropic scaling of the UI surface in the composition engine. For example, PAL has 720 x 576 non-square pixels. To get approximately square pixels, virtual resolutions of either 788 x 576 or 720 x 540 would work on a 4:3 display, and 1050 x 576 or 720 x 395 would work on a 16:9 display. The choice of stretching or shrinking virtual resolutions may depend on the quality of scaling available and other factors, and should only be used for backwards compatibility purposes. This is because 1:1 or integer scaling generally gives a better appearance for user interfaces. Providing shrinking virtual resolutions may also raise expectations in applications of a higher horizontal resolution than actually exists. </p> <p>The term <b>real resolution</b> is used for the display resolutions that are returned by the composition engine adaptation. These correspond to the supported composition spaces that the Window Server can select for output. These may be scaled and filtered beyond the composition engine adaptation (for example, in the physical display device, such as an HDMI TV). </p> <p>In addition to defining static screen modes in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>, device creators can define one or two <b>dynamic screen modes</b> in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. These are used to represent the current display configuration—one for 0° and 180° rotations and the other for 90° and 270° rotations. The latter has the dimensions in both pixels and in twips swapped, to appear similar to the static modes. You define a dynamic screen mode by setting the <codeph>SCR_WIDTH</codeph> and <codeph>SCR_HEIGHT</codeph> parameters to -1. If there is only one dynamic mode, it is not possible to use the <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita"><apiname>CWsScreenDevice</apiname></xref> API to change the current rotation by 90 degrees. </p> <p>If <xref href="GUID-0C384D35-77DD-318E-AF3E-C9ED5ADD9D11.dita#GUID-0C384D35-77DD-318E-AF3E-C9ED5ADD9D11/GUID-EC440412-68AA-36F1-9DD4-DD85EF09E2B2"><apiname>MDisplayControl::SetConfiguration()</apiname></xref> is used to change the configuration, the dynamic mode(s) are updated as necessary. With two dynamic modes, if one is the current mode, the other generally becomes the new mode (even if only the resolution changed, for example) so that applications see a mode number change. The only time this does not happen is in the case of a 180° rotation, because the static mode behavior is to retain the current mode. </p> <p>Whenever the dynamic mode data changes, or a new mode is selected, an <xref href="GUID-CC1E6B2E-F68F-3A00-B4EA-4917007F7320.dita"><apiname>EEventScreenDeviceChanged</apiname></xref> event is sent to all clients that have enabled it. Window Server client functions are provided to query whether the current or a given mode index is dynamic. </p> <p>Without dynamic size modes, an application can still use the full display, by positioning windows outside the reported display area. </p> </section> <section><title>MWsDisplayMapping</title> <p> <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita"><apiname>MWsDisplayMapping</apiname></xref> is an "information" interface, answering questions rather than anything else. In ScreenPlay, there are several coordinate spaces and there is a common requirement to map a rectangle from one space to another. The render stage implements this interface and ultimately the Window Server exposes the mapping feature to its clients. The <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita"><apiname>MWsDisplayMapping</apiname></xref> interface derives from the <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> and <xref href="GUID-DE613CC2-E977-34E9-9476-21D349B1C1CF.dita"><apiname>MDisplayMappingBase</apiname></xref> interfaces as shown in the following diagram. </p> <fig id="GUID-4C9F606A-D11E-5555-BC1A-32B20FA59362"><title>
+          </title> <image href="GUID-768D58BA-28A8-5325-A3C3-6A95E1F98578_d0e250648_href.png" placement="inline"/></fig> <p>For a diagram of the <xref href="GUID-7ED11E23-6E13-36D4-BB10-8AE9E745C560.dita"><apiname>TDisplayConfiguration</apiname></xref> class hierarchy, see the <xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common Graphics Headers Component Overview</xref>. </p> <p>A render stage uses the <xref href="GUID-415B5416-A6DD-3471-8800-C76C48DA59DA.dita"><apiname>MWsDisplayControl</apiname></xref> interface to intercept <xref href="GUID-8391795F-3766-3F31-BDFA-832AE8B4DFD4.dita#GUID-8391795F-3766-3F31-BDFA-832AE8B4DFD4/GUID-E4DE786F-547E-3A3B-90D2-31892A708E25"><apiname>MDisplayControlBase::GetResolutions()</apiname></xref> calls at runtime. A render stage can add <b>virtual resolutions</b> into the list of display resolutions in order to scale the full UI area to the full composition area. Using virtual resolutions in this way reduces the memory required for the UI buffers and allows the Window Server to work purely in the application UI coordinate space. Virtual resolutions are marked with a flag in the <xref href="GUID-15E9E782-1D64-3E7C-8D43-51DF267FE6A9.dita"><apiname>TResolution</apiname></xref> structure provided by <codeph>GetResolutions()</codeph>. The structure also includes the size of the resolution in both pixels and twips. A render stage may also remove physical resolutions from the list in order to disable the client's ability to change the resolution. </p> <p>A render stage that provides virtual resolutions can include one (or more) virtual resolutions that give the UI pixel aspect ratio to fit a screen mode defined in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. However, this may require anisotropic scaling of the UI surface in the composition engine. For example, PAL has 720 x 576 non-square pixels. To get approximately square pixels, virtual resolutions of either 788 x 576 or 720 x 540 would work on a 4:3 display, and 1050 x 576 or 720 x 395 would work on a 16:9 display. The choice of stretching or shrinking virtual resolutions may depend on the quality of scaling available and other factors, and should only be used for backwards compatibility purposes. This is because 1:1 or integer scaling generally gives a better appearance for user interfaces. Providing shrinking virtual resolutions may also raise expectations in applications of a higher horizontal resolution than actually exists. </p> <p>The term <b>real resolution</b> is used for the display resolutions that are returned by the composition engine adaptation. These correspond to the supported composition spaces that the Window Server can select for output. These may be scaled and filtered beyond the composition engine adaptation (for example, in the physical display device, such as an HDMI TV). </p> <p>In addition to defining static screen modes in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>, device creators can define one or two <b>dynamic screen modes</b> in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. These are used to represent the current display configuration—one for 0° and 180° rotations and the other for 90° and 270° rotations. The latter has the dimensions in both pixels and in twips swapped, to appear similar to the static modes. You define a dynamic screen mode by setting the <codeph>SCR_WIDTH</codeph> and <codeph>SCR_HEIGHT</codeph> parameters to -1. If there is only one dynamic mode, it is not possible to use the <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita"><apiname>CWsScreenDevice</apiname></xref> API to change the current rotation by 90 degrees. </p> <p>If <xref href="GUID-0C384D35-77DD-318E-AF3E-C9ED5ADD9D11.dita#GUID-0C384D35-77DD-318E-AF3E-C9ED5ADD9D11/GUID-EC440412-68AA-36F1-9DD4-DD85EF09E2B2"><apiname>MDisplayControl::SetConfiguration()</apiname></xref> is used to change the configuration, the dynamic mode(s) are updated as necessary. With two dynamic modes, if one is the current mode, the other generally becomes the new mode (even if only the resolution changed, for example) so that applications see a mode number change. The only time this does not happen is in the case of a 180° rotation, because the static mode behavior is to retain the current mode. </p> <p>Whenever the dynamic mode data changes, or a new mode is selected, an <xref href="GUID-CC1E6B2E-F68F-3A00-B4EA-4917007F7320.dita"><apiname>EEventScreenDeviceChanged</apiname></xref> event is sent to all clients that have enabled it. Window Server client functions are provided to query whether the current or a given mode index is dynamic. </p> <p>Without dynamic size modes, an application can still use the full display, by positioning windows outside the reported display area. </p> </section> <section><title>MWsDisplayMapping</title> <p> <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita"><apiname>MWsDisplayMapping</apiname></xref> is an "information" interface, answering questions rather than anything else. In ScreenPlay, there are several coordinate spaces and there is a common requirement to map a rectangle from one space to another. The render stage implements this interface and ultimately the Window Server exposes the mapping feature to its clients. The <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita"><apiname>MWsDisplayMapping</apiname></xref> interface derives from the <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> and <xref href="GUID-DE613CC2-E977-34E9-9476-21D349B1C1CF.dita"><apiname>MDisplayMappingBase</apiname></xref> interfaces as shown in the following diagram. </p> <fig id="GUID-4C9F606A-D11E-5555-BC1A-32B20FA59362"><title>
              MWsDisplayMapping class diagram 
-          </title> <image href="GUID-A6DE13A9-BD2F-5F14-864E-BAEC9C52B9DD_d0e244749_href.png" placement="inline"/></fig> <p>The <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita"><apiname>MWsDisplayMapping</apiname></xref> interface is very flexible. UIDs are used to signify the application UI coordinate space, the full UI space, the composition/display coordinate space (which may be a different scale to the UI coordinate space) and the Direct Screen Access (DSA) space (which may match the full UI space, or be offset relative to the application UI space). </p> <p>The <xref href="GUID-DE613CC2-E977-34E9-9476-21D349B1C1CF.dita#GUID-DE613CC2-E977-34E9-9476-21D349B1C1CF/GUID-4BA10CBB-E4BA-3E56-816F-8F75AC4B6A2F"><apiname>MDisplayMappingBase::MapCoordinates()</apiname></xref> function simply takes a rectangle, a source space and a target space and returns the correspondingly mapped rectangle in the target space. The render stage must guarantee that if two rectangles abut in the source coordinate space, their mapped equivalents also abut. For information about the use of the <codeph>MapCoordinates()</codeph> function by Window Server clients, see <xref href="GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita">Display Control and Mapping in the Window Server Client</xref>. </p> <p>The <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita#GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104/GUID-F77D8AB1-CF35-36CB-B317-9857317A6E66"><apiname>MWsDisplayMapping::SetSizeModeExtent()</apiname></xref> function sets the screen mode extent for use in one or more contexts. If this is successful, the offset is set on the render stage pipeline in two ways: </p> <ul><li id="GUID-E74FCA00-4A72-5317-A359-1641CB37FD46"><p>Firstly, the offset applies to rendering and must only affect the coordinates in the first render stage that actually performs rendering, and not to later stages. For example, in the reference configuration of the <i>flicker buffer</i> and <i>display</i> render stages, only the <i>flicker buffer</i> render stage applies the rendering offset. A render stage using a <xref href="GUID-DAD09DCF-3123-38B4-99E9-91FB24B92138.dita"><apiname>CGraphicsContext</apiname></xref> can use <xref href="GUID-BA0355E9-F878-3B2D-A0B3-DAABE6054990.dita"><apiname>SetOrigin()</apiname></xref> to apply the offset. Other graphics contexts may have a similar feature. </p> </li> <li id="GUID-D9F36E47-60BB-5AF3-8861-BA4773BE9E10"><p>Secondly, the offset is applied to translate the coordinates of the scene element's destination rectangle (layer extent). This means it is applied only by the first stage that implements the scene element translation. In the reference configuration, this is the <i>display</i> stage. </p> </li> </ul> </section> <section><title>MWsDisplayPolicy</title> <p> <xref href="GUID-0A31CF3E-25A9-36BA-80D6-8FBD18419506.dita"><apiname>MWsDisplayPolicy</apiname></xref> is an optional interface, which derives from <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> as shown in the following diagram. The main purpose of <xref href="GUID-0A31CF3E-25A9-36BA-80D6-8FBD18419506.dita"><apiname>MWsDisplayPolicy</apiname></xref> is to enable the render stage chain to position the application extent as intelligently as possible to suit the resolution. However, there is no requirement for the render stage chain to implement the interface. If it is not implemented, the offset defined in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref> is used. If that is not available a zero offset is used. </p> <fig id="GUID-BF62EC7F-AA84-5D55-BD20-80413A609C77"><title>
+          </title> <image href="GUID-A6DE13A9-BD2F-5F14-864E-BAEC9C52B9DD_d0e250760_href.png" placement="inline"/></fig> <p>The <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita"><apiname>MWsDisplayMapping</apiname></xref> interface is very flexible. UIDs are used to signify the application UI coordinate space, the full UI space, the composition/display coordinate space (which may be a different scale to the UI coordinate space) and the Direct Screen Access (DSA) space (which may match the full UI space, or be offset relative to the application UI space). </p> <p>The <xref href="GUID-DE613CC2-E977-34E9-9476-21D349B1C1CF.dita#GUID-DE613CC2-E977-34E9-9476-21D349B1C1CF/GUID-4BA10CBB-E4BA-3E56-816F-8F75AC4B6A2F"><apiname>MDisplayMappingBase::MapCoordinates()</apiname></xref> function simply takes a rectangle, a source space and a target space and returns the correspondingly mapped rectangle in the target space. The render stage must guarantee that if two rectangles abut in the source coordinate space, their mapped equivalents also abut. For information about the use of the <codeph>MapCoordinates()</codeph> function by Window Server clients, see <xref href="GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita">Display Control and Mapping in the Window Server Client</xref>. </p> <p>The <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita#GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104/GUID-F77D8AB1-CF35-36CB-B317-9857317A6E66"><apiname>MWsDisplayMapping::SetSizeModeExtent()</apiname></xref> function sets the screen mode extent for use in one or more contexts. If this is successful, the offset is set on the render stage pipeline in two ways: </p> <ul><li id="GUID-E74FCA00-4A72-5317-A359-1641CB37FD46"><p>Firstly, the offset applies to rendering and must only affect the coordinates in the first render stage that actually performs rendering, and not to later stages. For example, in the reference configuration of the <i>flicker buffer</i> and <i>display</i> render stages, only the <i>flicker buffer</i> render stage applies the rendering offset. A render stage using a <xref href="GUID-DAD09DCF-3123-38B4-99E9-91FB24B92138.dita"><apiname>CGraphicsContext</apiname></xref> can use <xref href="GUID-BA0355E9-F878-3B2D-A0B3-DAABE6054990.dita"><apiname>SetOrigin()</apiname></xref> to apply the offset. Other graphics contexts may have a similar feature. </p> </li> <li id="GUID-D9F36E47-60BB-5AF3-8861-BA4773BE9E10"><p>Secondly, the offset is applied to translate the coordinates of the scene element's destination rectangle (layer extent). This means it is applied only by the first stage that implements the scene element translation. In the reference configuration, this is the <i>display</i> stage. </p> </li> </ul> </section> <section><title>MWsDisplayPolicy</title> <p> <xref href="GUID-0A31CF3E-25A9-36BA-80D6-8FBD18419506.dita"><apiname>MWsDisplayPolicy</apiname></xref> is an optional interface, which derives from <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> as shown in the following diagram. The main purpose of <xref href="GUID-0A31CF3E-25A9-36BA-80D6-8FBD18419506.dita"><apiname>MWsDisplayPolicy</apiname></xref> is to enable the render stage chain to position the application extent as intelligently as possible to suit the resolution. However, there is no requirement for the render stage chain to implement the interface. If it is not implemented, the offset defined in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref> is used. If that is not available a zero offset is used. </p> <fig id="GUID-BF62EC7F-AA84-5D55-BD20-80413A609C77"><title>
              MWsDisplayPolicy class diagram 
-          </title> <image href="GUID-20C633DE-CD37-5807-9F2E-6E4CFC35DB28_d0e244837_href.png" placement="inline"/></fig> <p>The <codeph>GetSizeModeConfiguration()</codeph> function determines the display configuration and application rendering extent to use for a given screen mode defined in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. The Window Server calls this when an eligible client does one of the following: </p> <ul><li id="GUID-9B507277-6B4F-5301-92E0-1394BCAA60C8"><p>Sets the system screen mode using <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita#GUID-30479BE3-296E-3B4D-914D-B080ABD733E4/GUID-9F04C517-7891-3A44-B280-4FD18FABBA0E"><apiname>CWsScreenDevice::SetScreenMode()</apiname></xref>. In this case the configuration structure passed to the policy function is empty because it is the current configuration. </p> </li> <li id="GUID-F904BE5B-B3D3-5C6A-B6B7-D5DEC52B8A1A"><p>Sets a new display configuration. In this case the requested configuration is passed to the policy function. </p> </li> </ul> <p>On success, the render stage fills in the <xref href="GUID-7ED11E23-6E13-36D4-BB10-8AE9E745C560.dita"><apiname>TDisplayConfiguration</apiname></xref> structure. Then the Window Server calls the following as appropriate: </p> <ul><li id="GUID-22BC6E2C-7DE5-523B-A342-1AC9921D7B1E"><p> <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita#GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104/GUID-F77D8AB1-CF35-36CB-B317-9857317A6E66"><apiname>MWsDisplayMapping::SetSizeModeExtent()</apiname></xref> and passes the configuration structure to indicate the position and size of the application area. </p> </li> <li id="GUID-266C1CDD-21B1-5FD9-B91A-1C6092AF1D63"><p> <xref href="GUID-41595893-B693-34C3-A5FF-05EC433153E6.dita#GUID-41595893-B693-34C3-A5FF-05EC433153E6/GUID-275B3E0B-26DF-3292-9DE5-2E9D020FC4CC"><apiname>MWsDisplayContol::SetConfiguration()</apiname></xref> and passes the configuration structure to indicate the appropriate real or virtual display resolution. </p> </li> </ul> <p>On failure, the current screen mode and display resolution are retained, but a screen device changed event should still be sent, because there is no way to return failure to the caller. </p> <p>Applications are given the static offset associated with the screen mode, not the offset described above. Note that because of the way that DSA works, if the render stage uses a <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref> object for rendering, the DSA buffer and the UI buffer are the same (that is, the Screen Driver surface). This means that the offset returned by this policy function must be the same as the one passed in. The policy function has the option to reject the mode change, however. </p> <p>The Symbian <i>display</i> render stage applies a "best fit" approach, taking into account virtual resolutions if configured, whereby the offset and resolution are chosen to make the screen mode fill as much of the display as possible, while retaining the same (or very similar) pixel aspect ratio. The offset may be limited if the Screen Driver surface is being used for rendering, as described above. The quality of the scaling of screen modes to virtual resolutions and real resolutions is determined by the <codeph>DP_SCALING</codeph>  <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref> parameter. However, more typically a render stage would implement just one scaling mode, and not require configuration. </p> </section> <section><title>MWsScreenConfigList</title> <p>The Window Server exposes the <xref href="GUID-4A0B562B-8AF2-3381-864A-2B55166F0322.dita"><apiname>MWsScreenConfigList</apiname></xref> interface for use by render stages. Render stages can use this to get the screen mode parameters for a given index without parsing the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. This interface is similar to <xref href="GUID-02C89F7D-6464-33A7-ABE6-C02B2941382A.dita"><apiname>MWsScreenConfig</apiname></xref>, which applies only to the current mode. The <xref href="GUID-4A0B562B-8AF2-3381-864A-2B55166F0322.dita"><apiname>MWsScreenConfigList</apiname></xref> methods leave only if the mode index is out of range. </p> <fig id="GUID-6E9333CE-FB17-5E4A-BEBA-77633CAE74F3"><title>
+          </title> <image href="GUID-20C633DE-CD37-5807-9F2E-6E4CFC35DB28_d0e250848_href.png" placement="inline"/></fig> <p>The <codeph>GetSizeModeConfiguration()</codeph> function determines the display configuration and application rendering extent to use for a given screen mode defined in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. The Window Server calls this when an eligible client does one of the following: </p> <ul><li id="GUID-9B507277-6B4F-5301-92E0-1394BCAA60C8"><p>Sets the system screen mode using <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita#GUID-30479BE3-296E-3B4D-914D-B080ABD733E4/GUID-9F04C517-7891-3A44-B280-4FD18FABBA0E"><apiname>CWsScreenDevice::SetScreenMode()</apiname></xref>. In this case the configuration structure passed to the policy function is empty because it is the current configuration. </p> </li> <li id="GUID-F904BE5B-B3D3-5C6A-B6B7-D5DEC52B8A1A"><p>Sets a new display configuration. In this case the requested configuration is passed to the policy function. </p> </li> </ul> <p>On success, the render stage fills in the <xref href="GUID-7ED11E23-6E13-36D4-BB10-8AE9E745C560.dita"><apiname>TDisplayConfiguration</apiname></xref> structure. Then the Window Server calls the following as appropriate: </p> <ul><li id="GUID-22BC6E2C-7DE5-523B-A342-1AC9921D7B1E"><p> <xref href="GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104.dita#GUID-ED4CAB66-F8F8-3AF2-A388-F28406A3B104/GUID-F77D8AB1-CF35-36CB-B317-9857317A6E66"><apiname>MWsDisplayMapping::SetSizeModeExtent()</apiname></xref> and passes the configuration structure to indicate the position and size of the application area. </p> </li> <li id="GUID-266C1CDD-21B1-5FD9-B91A-1C6092AF1D63"><p> <xref href="GUID-41595893-B693-34C3-A5FF-05EC433153E6.dita#GUID-41595893-B693-34C3-A5FF-05EC433153E6/GUID-275B3E0B-26DF-3292-9DE5-2E9D020FC4CC"><apiname>MWsDisplayContol::SetConfiguration()</apiname></xref> and passes the configuration structure to indicate the appropriate real or virtual display resolution. </p> </li> </ul> <p>On failure, the current screen mode and display resolution are retained, but a screen device changed event should still be sent, because there is no way to return failure to the caller. </p> <p>Applications are given the static offset associated with the screen mode, not the offset described above. Note that because of the way that DSA works, if the render stage uses a <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref> object for rendering, the DSA buffer and the UI buffer are the same (that is, the Screen Driver surface). This means that the offset returned by this policy function must be the same as the one passed in. The policy function has the option to reject the mode change, however. </p> <p>The Symbian <i>display</i> render stage applies a "best fit" approach, taking into account virtual resolutions if configured, whereby the offset and resolution are chosen to make the screen mode fill as much of the display as possible, while retaining the same (or very similar) pixel aspect ratio. The offset may be limited if the Screen Driver surface is being used for rendering, as described above. The quality of the scaling of screen modes to virtual resolutions and real resolutions is determined by the <codeph>DP_SCALING</codeph>  <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref> parameter. However, more typically a render stage would implement just one scaling mode, and not require configuration. </p> </section> <section><title>MWsScreenConfigList</title> <p>The Window Server exposes the <xref href="GUID-4A0B562B-8AF2-3381-864A-2B55166F0322.dita"><apiname>MWsScreenConfigList</apiname></xref> interface for use by render stages. Render stages can use this to get the screen mode parameters for a given index without parsing the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. This interface is similar to <xref href="GUID-02C89F7D-6464-33A7-ABE6-C02B2941382A.dita"><apiname>MWsScreenConfig</apiname></xref>, which applies only to the current mode. The <xref href="GUID-4A0B562B-8AF2-3381-864A-2B55166F0322.dita"><apiname>MWsScreenConfigList</apiname></xref> methods leave only if the mode index is out of range. </p> <fig id="GUID-6E9333CE-FB17-5E4A-BEBA-77633CAE74F3"><title>
              MWsScreenConfigList class diagram 
-          </title> <image href="GUID-6DE7E0C8-A75E-5F09-BEC1-180602BF2051_d0e244940_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita"><linktext>Dynamic Resolution
+          </title> <image href="GUID-6DE7E0C8-A75E-5F09-BEC1-180602BF2051_d0e250951_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita"><linktext>Dynamic Resolution
                 Switching</linktext> </link> <link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> <link href="GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.dita"><linktext>Window Server Plugins Component
                 Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2B7F7484-3A44-4A96-9B5D-79DF8A09115A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2B7F7484-3A44-4A96-9B5D-79DF8A09115A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,63 +1,59 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2B7F7484-3A44-4A96-9B5D-79DF8A09115A" xml:lang="en"><title>How resource
-files work</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In the Symbian platform, <xref href="GUID-5F749184-C804-41FC-BA81-038783BDC967.dita">resource</xref> files
-are used to define UI components used in applications. See <xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing
-resource files</xref> for information on defining the data structure.</p>
-<p>The following resource files are typically used as source files in Symbian
-applications:</p>
-<ul>
-<li><p><codeph>.rss</codeph> – resource source files used for UI
-components in the application. For more information, see <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource
-file structure</xref>, <xref href="GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita">Required
-resource file statements</xref>, and <xref href="GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita">Optional
-resource file statements</xref>.</p>
-</li>
-<li><p><codeph>_reg.rss</codeph> – resource source file used for
-registration. For more information, see <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">Creating
-registration resource files</xref>.</p>
-</li>
-<li><p><codeph>.hrh</codeph> – resource header file used to define
-enumerated sets of values. For more information, see <xref href="GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita">Creating
-resource header files</xref>.</p>
-</li>
-<li><p><codeph>.rls</codeph> – localization files used as a source
-for UI texts strings in applications, and for managing these texts. For more
-information, see <xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
-and localization</xref>.</p>
-</li>
-</ul>
-<p>The structures and symbolic IDs of the files are used in various ways
-in your code.</p>
-<p> The resource files above are then compiled to yield the following files:</p>
-<ul>
-<li><p><codeph>.rsc</codeph> or <parmname>rNN</parmname>, where
-NN is a two number Symbian locale ID - compiled, machine-readable resource
-files used by the application.</p></li>
-<li><p><codeph>.rsg</codeph> - generated resource header file containing
-the symbolic IDs of the resources for inclusion into your code.</p></li>
-<li><p><codeph> _reg.rsc</codeph> or <parmname>_reg.rNN</parmname>,
-where NN is a two number Symbian locale ID - compiled, machine-readable resource
-file used for registration .</p></li>
-</ul>
-<p>The <parmname>rsc</parmname>, <parmname>rNN</parmname>,
-and <parmname>_reg.rsc</parmname> files need to be included in your <parmname>.sis</parmname> installation
-file so that they are placed in the device when the application is installed.</p>
-
-
-<p>When the application framework launches an application, it loads the
-application resource file. The application framework compares the system locale
-language setting with the available resource files, and loads the resource
-file whose extension matches the locale language code. If there is no match,
-then the system loads the resource file with the <parmname>.rsc</parmname>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2B7F7484-3A44-4A96-9B5D-79DF8A09115A" xml:lang="en"><title>How resource files work</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In the Symbian platform, <xref href="GUID-5F749184-C804-41FC-BA81-038783BDC967.dita">resource</xref> files
+are used to define UI components used in applications. See <xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing resource
+files</xref> for information on defining the data structure.</p>
+<p>The following resource files are typically used as source files
+in Symbian applications:</p>
+<ul>
+<li><p><codeph>.rss</codeph> – resource source files used
+for UI components in the application. For more information, see <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource file structure</xref>, <xref href="GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita">Required resource file statements</xref>, and <xref href="GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita">Optional resource file statements</xref>.</p>
+</li>
+<li><p><codeph>_reg.rss</codeph> – resource source file
+used for registration. For more information, see <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">Creating registration resource files</xref>.</p>
+</li>
+<li><p><codeph>.hrh</codeph> – resource header file used
+to define enumerated sets of values. For more information, see <xref href="GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita">Creating resource header files</xref>.</p>
+</li>
+<li><p><codeph>.rls</codeph> – localization files used as
+a source for UI texts strings in applications, and for managing these
+texts. For more information, see <xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
+and localization</xref>.</p>
+</li>
+</ul>
+<p>The structures and symbolic IDs of the files are used in various
+ways in your code.</p>
+<p> The resource files above are then compiled to yield the following
+files:</p>
+<ul>
+<li><p><codeph>.rsc</codeph> or <parmname>rNN</parmname>, where NN is a two number Symbian locale ID - compiled, machine-readable
+resource files used by the application.</p></li>
+<li><p><codeph>.rsg</codeph> - generated resource header
+file containing the symbolic IDs of the resources for inclusion into
+your code.</p></li>
+<li><p><codeph> _reg.rsc</codeph> or <parmname>_reg.rNN</parmname>, where NN is a two number Symbian locale ID - compiled, machine-readable
+resource file used for registration .</p></li>
+</ul>
+<p>The <parmname>rsc</parmname>, <parmname>rNN</parmname>, and <parmname>_reg.rsc</parmname> files
+need to be included in your <parmname>.sis</parmname> installation
+file so that they are placed in the device when the application is
+installed.</p>
+
+
+<p>When the application framework launches an application, it loads
+the application resource file. The application framework compares
+the system locale language setting with the available resource files,
+and loads the resource file whose extension matches the locale language
+code. If there is no match, then the system loads the resource file
+with the <parmname>.rsc</parmname>.</p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2B820ED0-D0E1-4CF0-9D63-C91806EDB8F6_d0e5159_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2B820ED0-D0E1-4CF0-9D63-C91806EDB8F6_d0e5168_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2B8CA0F5-8956-4D7B-B719-DE5EFD62C232.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2B8CA0F5-8956-4D7B-B719-DE5EFD62C232.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 a number. This can be used to indicate item numbers in lists where necessary.</p>
 <fig id="GUID-851A7651-5278-4B2D-9BFD-BEA79A1CF6BC">
 <title>Numbered list item</title>
-<image href="GUID-8526BBD8-CA70-4B3F-B91D-D70AF06440B2_d0e83362_href.png" placement="inline"/>
+<image href="GUID-8526BBD8-CA70-4B3F-B91D-D70AF06440B2_d0e87560_href.png" placement="inline"/>
 </fig>
 <p>Numbered items should be used only in lists where numbers are meaningful
 and give added value. There is no specific functionality (such as shortcuts)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4" xml:lang="en"><title>STS Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-39064646-3244-42E9-962C-D5F98F61BF95"><title>Purpose</title> <p>STS provides transactional support for the Symbian platform file
+system. It helps clients (such as Software Installation Framework
+plug-ins) to maintain file system integrity during installation, uninstallation
+and upgrading of software packages. If the file system operation is
+interrupted or fails for reasons such as battery drain or a server
+crash, the STS rolls back the uncommitted file system operations performed
+as part of the transaction. </p> </section>
+<section id="GUID-9B55BDF8-9CE6-4F34-BAC7-54C215A0CD93"><title>Key
+concepts</title> <p> <b>SIF Plug-in</b>: Installs and manages a particular type of software package such as native SIS files
+or Python.</p> <p> <b>Symbian client-server framework</b>: For details,
+see <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">Using Client/Server</xref>. </p> </section>
+<section id="GUID-992C35A4-D792-41C6-8499-E9E152916537"><title>Architectural
+relationships</title> <p>STS follows client-server architecture. The
+STS (server) has TCB capability. A STS client ( implemented by device
+creators) uses STS instead of using the file server directly. STS
+provides APIs to start a file system transaction, record various file
+system operation as part of a transaction, and commit or roll back
+the transaction. The STS client instructs the STS to commit a transaction
+atomically once all the operations have been performed.  </p><p>The
+STS client is implemented in <filepath>stsclient.dll</filepath> file. </p><p>An STS client application can access the services provided by
+the STS by linking against <filepath>stsclient.lib</filepath>. </p> <p>The figure below shows interaction between the STS, STS clients
+and the file system. </p><fig id="GUID-DC02F027-800F-4A54-864D-D746447C2EEE">
+<title>STS Architecture</title>
+<image href="GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2_d0e42446_href.jpg" placement="inline"/>
+</fig> </section>
+<section id="GUID-78CB2DC4-5D5B-4207-838B-9D378CBF7A67"><title>APIs</title> <table id="GUID-A86AFA4C-6AAD-5DAF-923E-7750370349B5">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita"><apiname>RStsSession</apiname></xref>  </p> </entry>
+<entry><p>Provides APIs for STS client applications to use the STS. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-753B9DB3-5487-4B39-8515-E975218E3C0B"><title>Typical
+uses</title> <p>Software installers use the STS to provide a secure
+environment for updating the file system.</p> </section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2BE10ABA-E34E-53F9-8B63-6BED177BFB21_d0e448794_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2BE10ABA-E34E-53F9-8B63-6BED177BFB21_d0e454639_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2BF99BD2-5DB5-5DF6-8F82-22DD2E818584_d0e76215_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2BF99BD2-5DB5-5DF6-8F82-22DD2E818584_d0e80428_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,42 +1,37 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150" xml:lang="en">
-<title>Touch gestures</title>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>The touch gestures (finger movements on the device display area)
-are interpreted using touch gesture framework provided by UI framework.
- The UI FW listens to the pointer events and notifies the client after
-recognizing the gestures. The client can enable listening of desired
-gestures.</p>
-<p> The touch gesture framework supports the following single touch
-gestures:<ul>
-<li><p>Tap</p></li>
-<li><p>Double tap</p></li>
-<li><p>Drag</p></li>
-<li><p>Flick</p></li>
-<li><p>Swipe (up, down, left and right)</p></li>
-</ul> Gesture Framework can provide swipe speed that can be used as
-input to inertia based effects. Two finger pinch (zoom) multiple <?Pub
-Caret?>touch gesture is also recognized.</p>
-<p> Additionally, there is an option to support drag and drop. It
-is initiated by holding the touch position for a short time in the
-same place. The holding mode is active until the user releases the
-touch. </p>
-<section id="GUID-8E20288C-9B08-484E-8212-040D8B47BC6F">       <title
->Using touch gestures in C++ applications</title><p>The API to use
-for recognizing touch gestures is Touch Gesture API.</p><p>Touch Gesture
-Framework contains a pointer to a control (derived from <xref
-href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname
-></xref>) where gestures are recognized. These gestures are reported
-to the gesture observer. Based on the gesture interest set by the
-gesture observer, <xref
-href="GUID-C0559E40-20E1-3D2C-A6EF-51F3E80A651E.dita"><apiname>CAknTouchGestureFw</apiname
-></xref> converts the pointer events to the logical gesture.</p></section>
-</conbody>
-</concept>
-<?Pub *0000001962?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150" xml:lang="en"><title>Touch gestures</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The touch gestures (finger movements on the device display area)
+are interpreted using touch gesture framework provided by UI framework.
+ The UI FW listens to the pointer events and notifies the client after
+recognizing the gestures. The client can enable listening of desired
+gestures.</p>
+<p> The touch gesture framework supports the following single touch
+gestures:<ul>
+<li><p>Tap</p></li>
+<li><p>Double tap</p></li>
+<li><p>Drag</p></li>
+<li><p>Flick</p></li>
+<li><p>Swipe (up, down, left and right)</p></li>
+</ul> Gesture Framework can provide swipe speed that can be used as
+input to inertia based effects. Two finger pinch (zoom) multiple touch gesture is also recognized.</p>
+<p> Additionally, there is an option to support drag and drop. It
+is initiated by holding the touch position for a short time in the
+same place. The holding mode is active until the user releases the
+touch. </p>
+<section id="GUID-8E20288C-9B08-484E-8212-040D8B47BC6F">       <title>Using touch gestures in C++ applications</title><p>The API to use
+for recognizing touch gestures is Touch Gesture API.</p><p>Touch Gesture
+Framework contains a pointer to a control (derived from <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref>) where gestures are recognized. These gestures are reported to the
+gesture observer. Based on the gesture interest set by the gesture
+observer, <xref href="GUID-C0559E40-20E1-3D2C-A6EF-51F3E80A651E.dita"><apiname>CAknTouchGestureFw</apiname></xref> converts the pointer
+events to the logical gesture.</p></section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2C1DB75C-FB12-520C-85B1-57F1EDB61E3B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-2C1DB75C-FB12-520C-85B1-57F1EDB61E3B"><title>Feature variants</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian platform can be built for multiple product configurations (variants). Each variant can include, enable or disable various features </p> <p>A variant-specific <filepath>.hrh</filepath> file is used to configure each different product. For example, the following <filepath>.hrh</filepath> files define features for products <i>phone1</i>, <i>phone2</i> and <i>phone3</i> respectively: </p> <ul><li id="GUID-42422DD8-7B13-5BE6-B28E-5FFC85630EB9"><p> <filepath>/epoc32/include/variant/Phone1.hrh</filepath>  </p> </li> <li id="GUID-90905AC6-1549-50DA-97AF-2487A6637812"><p> <filepath>/epoc32/include/variant/Phone2.hrh</filepath>  </p> </li> <li id="GUID-D1E1F60A-D4FC-5A8A-90BC-ED1CB713C601"><p> <filepath>/epoc32/include/variant/Phone3.hrh</filepath>  </p> </li> </ul> <p>The .hrh files contain macros which are used throughout the Symbian platform source. A DLL containing variant macros may be built differently for certain variants. It may also be common for certain variants. In order to identify variant DLLs, and to establish before compilation whether a variant DLL will be unique, a checksum value is calculated based on the combination of variant macros and appended to the DLL filename. If the checksum matches an existing DLL, already built for a different variant, that DLL is shared. </p> <p>For example, a <codeph>my.dll </codeph> with checksum appended appears as follows: </p> <p> <filepath>/epoc32/release/armv5/urel/my.685dfabca1f1d90889ef4ac115c01a14.dll</filepath> </p> <p>Support for variant builds is included in the Symbian platform build tool-chain as follows: </p> <ul><li id="GUID-F7967EF3-6190-570A-890D-68EAFA686FF3"><p>The configuration information specific to each product is defined in a <filepath>.var</filepath> file. The <filepath>.var</filepath> file is placed in the <filepath>/epoc32/tools/variant/</filepath> folder. For more information on <filepath>.var</filepath> file syntax, refer to <xref href="GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita">variant configuration file syntax</xref>. </p> </li> <li id="GUID-8C5B03C3-226C-55B9-9129-44E34C64456D"><p>The <filepath>.hrh</filepath> file containing the feature macro definitions is placed in the <filepath>/epoc32/include/variant/</filepath> folder, and is referred in the <filepath>.var</filepath> file. </p> </li> <li id="GUID-2795977F-E489-56F6-8BBB-70919DE92127"><p>A DLL for a variant is built by specifying the variant name on the command-line using <codeph>abld</codeph>. For example, the following <codeph>abld</codeph> command builds the DLL for the variant <b>var1</b>: </p> <p><userinput>abld build armv5.var1</userinput> </p> </li> <li id="GUID-E13C1674-38F6-582E-BE21-DD94327A6539"><p>The build tool-chain generates a checksum for each variant (including the default variant) and appends it to the DLL name. </p> </li> <li id="GUID-DF8B6409-E022-5B4B-97B0-B11738111C2B"><p> <codeph>BUILDROM</codeph> is modified to build a ROM image for a variant using the option <codeph>-DFEATUREVARIANT</codeph>. For example, the following command builds ROM image for <b>var1</b>: </p> <p><userinput>buildrom [options] –DFEATUREVARIANT=var1 &lt;obey1&gt; [&lt;obey2&gt; ...]</userinput> </p> </li> </ul> <p>If no <filepath>.var</filepath> file is specified the <filepath>default.var</filepath> file is used. The checksum will still be calculated and appended. You may avoid the checksum calculation by using the <codeph>-invariant</codeph> (or <codeph>-inv</codeph>) option with <codeph>abld</codeph>. This will build a default DLL with no checksum in the filename. If a DLL has <codeph>FEATUREVARIANT</codeph> specified in its <filepath>mmp</filepath> file, however, the <codeph>-invariant</codeph> option will be ignored. </p> <section><title>Notes</title> <ul><li id="GUID-BD7763E8-ECD4-5B1B-BBD9-0CF87E26A541"><p>The <filepath>.var</filepath> file name must be same as the variant name. </p> </li> <li id="GUID-CFD4C439-5D17-5E2C-9B28-CB60FFB3E2BB"><p>If the <filepath>.var</filepath> file does not include an <filepath>.hrh</filepath> file, the build system uses <filepath>default.hrh</filepath> in <filepath>/epoc32/include/variant/</filepath>. </p> </li> <li id="GUID-0EEDDBDF-DEC0-5F09-B2D3-9A93071641F3"><p>A DLL can be explicitly marked as a feature variant using the MMP keyword <xref href="GUID-6A783365-3CC3-5D7E-9F1C-D3585C4AE66C.dita">FEATUREVARIANT</xref>. </p> </li> <li id="GUID-116CAC89-C127-5CEB-A765-2511AA6CA1F6"><p>The DLLs built for a variant are placed in the appropriate folder under <filepath>/epoc32/release/</filepath>. For example, for all urel builds of <codeph>ARMV5</codeph> variants the DLLs are stored in <filepath>/epoc32/release/armv5/urel/</filepath>. </p> </li> <li id="GUID-0DC0B280-F4FE-5A41-815A-C56DB7282DDA"><p>The <codeph>-inv</codeph> or <codeph>-invariant</codeph>  <codeph>abld</codeph> option is effective only if the DLL is not marked as feature variant explicitly. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-917413FC-0AC0-5768-B5AD-36BD2EDCB1FF.dita"><linktext>How to build feature based
-                variants</linktext> </link> <link href="GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita"><linktext>How to build ROMs with
-                variants</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 v9.4). </p> <p>The following diagram provides an overview of the Window Server
 architecture in ScreenPlay. </p> <fig id="GUID-80DA5DEB-019E-5CE3-812E-496A1D713FFB">
 <title>              The Window Server in ScreenPlay            </title>
-<image href="GUID-1635E243-BDC9-55D8-8913-0D2DB622B22C_d0e233865_href.png" placement="inline"/>
+<image href="GUID-1635E243-BDC9-55D8-8913-0D2DB622B22C_d0e239855_href.png" placement="inline"/>
 </fig> <p>Below we list some of the key features of the Window Server, including
 differences between the two architectures. The term <b>surface</b> is used
 in ScreenPlay for a hardware-independent memory buffer for holding an image
--- a/Symbian3/PDK/Source/GUID-2C60C1C3-82B5-5ED3-98DF-E787193E8797.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2C60C1C3-82B5-5ED3-98DF-E787193E8797.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 and generates bytecode for carrying out the work of each statement. The generated
 bytecode is then handed over to a Virtual Machine for evaluation. </p> <fig id="GUID-370A849E-D1CC-5510-9211-D732C2D1DF6B">
 <title>              Simplified SQLite Architecture            </title>
-<image href="GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e593157_href.png" placement="inline"/>
+<image href="GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e642450_href.png" placement="inline"/>
 </fig> <p>The Virtual Machine considers the database to be a set of B-Trees,
 one B-Tree for each table and one B-Tree for each index. The logic for creating,
 reading, writing, updating, balancing and destroying B-Trees is contained
--- a/Symbian3/PDK/Source/GUID-2C68AC8D-6767-5865-B684-CB627C20C6DC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-2C68AC8D-6767-5865-B684-CB627C20C6DC"><title>prj_testmmpfiles</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>prj_testmmpfiles</codeph> </p> <p><varname>mmp_file_1</varname>  <codeph>
-             [tidy] [manual]
-     [support]</codeph>  </p> <p><varname>mmp_file_1</varname> <codeph> [tidy] [manual]
-     [support]</codeph> </p> <p><codeph>makefile</codeph>  <varname>makefile_1</varname>  <codeph>[tidy] [manual]
-     [support]</codeph> </p> <p><codeph>makefile</codeph>  <varname>makefile_n</varname>  <codeph>[tidy] [manual]
-     [support]</codeph> </p> <p>In the <codeph>prj_testmmpfiles</codeph> section, list the <filepath>.mmp</filepath> files contained in your component which define test programs. </p> <p>This section for test <filepath>.mmp</filepath> files has the same syntax as the section for standard <filepath>.mmp</filepath> files, except that two extra <filepath>.mmp</filepath> file attributes are provided: the <codeph>manual</codeph> and <codeph>support</codeph> attributes.</p> <p>If any such tests are listed, <codeph>bldmake
-     bldfiles</codeph> can create batch files for running the test programs for your component. </p> <ul><li id="GUID-22B228DE-4F18-584E-9132-C796C3954D81"><p>For <i>automatic</i> tests, which can be run without any user-intervention, do not specify either attribute.</p> </li> <li id="GUID-14AE493F-29E3-5C07-A1E5-D77405F91DB2"><p>For <i>manual</i> tests, which require user-input in order for them to complete successfully, specify the <codeph>manual</codeph> attribute.</p> </li> <li id="GUID-8F8031D1-13D4-558E-90C1-23A4585E46B6"><p>Specify the <codeph>support</codeph> attribute if the test should not to be included in a batch file.</p> </li> </ul> <p>For each platform, two batch files are created in the <filepath>bldmake</filepath> output directory for your component:</p> <ul><li id="GUID-6ABD5401-5032-52F6-810B-5FDA013DFB5B"><p> For <i>automatic</i> tests, a batch file called <varname>platform-name</varname> <filepath>.auto.bat</filepath> is created.</p> </li> <li id="GUID-FCADEDCF-0F8A-586C-908E-9F0F04D8BEC4"><p>For <i>manual</i> tests, a batch file called <varname>platform-name</varname> <filepath>.manual.bat</filepath> is created.</p> </li> </ul> <p>Note that, in order for the releasable test to be invoked successfully, the basename of the <filepath>.mmp</filepath> file must be the same as the basename of the releasable specified with the <codeph>target</codeph> statement in the <filepath>.mmp</filepath> file.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,47 +9,39 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2C74E932-B1CA-434B-AF96-66D52D689620" xml:lang="en"><title>Optional
-resource file statements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The resource file statements listed in the following are optional; Create
-resource file statements only for the UI components used by the application
-for which the default implementation is not used.</p>
-<p>For more information on resource statements for these components, see:</p>
+<concept id="GUID-2C74E932-B1CA-434B-AF96-66D52D689620" xml:lang="en"><title>Optional resource file statements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The resource file statements listed in the following are optional;
+Create resource file statements only for the UI components used by
+the application for which the default implementation is not used.</p>
+<p>For more information on resource statements for these components,
+see:</p>
 <ul>
-<li><p><xref href="GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita">CBA buttons</xref></p>
-</li>
-<li><p><xref href="GUID-E849C798-07A0-47B3-BDBF-203325062FBD.dita">Menu
-bar resource statements</xref></p></li>
+<li><p><xref href="GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita">CBA buttons</xref></p></li>
+<li><p><xref href="GUID-E849C798-07A0-47B3-BDBF-203325062FBD.dita">Menu bar resource statements</xref></p></li>
 <li><p><xref href="GUID-B238952B-1691-49F4-B8B9-9F755011A7DD.dita">View
-resource statements in the view architecture</xref></p>
-</li>
+resource statements in the view architecture</xref></p></li>
 <li><p><xref href="GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita">UI components</xref></p>
 <itemgroup>
-<p>Building an AVKON-based application UI is a primary choice for third-party
-add-on applications that do not need advanced customization. Such an approach
-guarantees compatibility across different Series 60 Developer Platform editions,
-but, in turn, puts some limitations on the application UI layout imposed by
-AVKON.  AVKON provides a wide choice of well-designed and versatile components,
-but not all of these are easily modifiable.</p>
+<p>Building an AVKON-based application UI is a primary choice for
+third-party add-on applications that do not need advanced customization.
+Such an approach guarantees compatibility across different Series
+60 Developer Platform editions, but, in turn, puts some limitations
+on the application UI layout imposed by AVKON.  AVKON provides a wide
+choice of well-designed and versatile components, but not all of these
+are easily modifiable.</p>
 <note>
-<p>AVKON or AVKON-derived components should be favoured over custom <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Control_Environment/CCoeControlClass.html" format="application/java-archive"><parmname>CCoeControl</parmname></xref>-derived controls.  AVKON UI components <xref href="GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita">scale</xref> automatically
+<p>AVKON or AVKON-derived components should be favoured over custom <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Control_Environment/CCoeControlClass.html" format="application/java-archive"><parmname>CCoeControl</parmname></xref>-derived controls. 
+AVKON UI components <xref href="GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita">scale</xref> automatically
 according to screen resolution and orientation.</p>
 </note>
 <ul>
-<li><p><xref format="html" href="specs/guides/Dialogs_API_Specification/Dialogs_API_Specification.html" scope="external">Dialogs
-API</xref></p></li>
-<li><p><xref format="html" href="specs/guides/Editors_API_Specification/Editors_API_Specification.html" scope="external">Editors
-API</xref></p></li>
-<li><p><xref format="html" href="specs/guides/Form_API_Specification/Form_API_Specification.html" scope="external">Form
-API</xref></p></li>
-<li><p><xref format="html" href="specs/guides/Grids_API_Specification/Grids_API_Specification.html" scope="external">Grids
-API</xref></p></li>
-<li><p><xref format="html" href="specs/guides/Grids_API_Specification/Grids_API_Specification.html" scope="external">Lists
-API</xref></p></li>
-<li><p><xref format="html" href="specs/guides/Notes_API_Specification/Notes_API_Specification.html" scope="external">Notes
-API</xref></p></li>
-<li><p><xref format="html" href="specs/guides/Setting_Pages_API_Specification/Setting_Pages_API_Specification.html" scope="external">Setting
-Pages API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Dialogs_API_Specification/Dialogs_API_Specification.html" scope="external">Dialogs API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Editors_API_Specification/Editors_API_Specification.html" scope="external">Editors API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Form_API_Specification/Form_API_Specification.html" scope="external">Form API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Grids_API_Specification/Grids_API_Specification.html" scope="external">Grids API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Grids_API_Specification/Grids_API_Specification.html" scope="external">Lists API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Notes_API_Specification/Notes_API_Specification.html" scope="external">Notes API</xref></p></li>
+<li><p><xref format="html" href="specs/guides/Setting_Pages_API_Specification/Setting_Pages_API_Specification.html" scope="external">Setting Pages API</xref></p></li>
 </ul>
 </itemgroup>
 </li>
Binary file Symbian3/PDK/Source/GUID-2C8F2C68-5D25-5DB8-973C-E9CA6882A3FB_d0e535985_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2C8F2C68-5D25-5DB8-973C-E9CA6882A3FB_d0e543445_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e101485_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e91232_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e95430_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e97406_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2CEF22AD-7F80-58CE-AF5F-C7BF636D524F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2CEF22AD-7F80-58CE-AF5F-C7BF636D524F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-2CEF22AD-7F80-58CE-AF5F-C7BF636D524F"><title>Camera Plug-in Overview</title><shortdesc>This document introduces you to the Camera Plug-in component overview. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Camera Plug-in component provides an actual implementation for the Camera Framework component. </p> </section> <section><title>Required background</title> <p>The Camera Plug-in component is implemented with the support of <filepath>EcamPluginSupport.dll</filepath>. It is expected that device creators can replace their own Camera Plug-in implementation. </p> <p> </p> </section> <section><title>Architecture</title> <p>The Camera Plug-in component interacts with the Camera Framework component. </p> <p>The architectural relationship between Camera Plug-in and Camera Framework is shown below: </p> <fig id="GUID-4CF11342-2015-59FC-9DFA-6656077D1869"><title>
              Camera Plug-in Component Architecture 
-          </title> <image href="GUID-300B4AF5-7F6E-542D-886D-335674EDE8FD_d0e533831_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Camera Plug-in component consists of the following library: </p> <table id="GUID-E6B4D190-F26D-54DD-9DDD-B927158C5868"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>ecamstubplugin.lib</filepath>  </p> </entry> <entry><p>The Camera Stub Plug-in library is used to support the <filepath>EcamPluginSupport.dll</filepath> which is in the Camera Framework component. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>Camera Plug-in is used as a symbian support implementation for the Camera Framework Ecom plug-ins. </p> </section> </conbody><related-links><link href="GUID-A721FC4A-03C6-59F7-A0D2-565C4828E5E1.dita"><linktext>Camera Stub Plug-in
+          </title> <image href="GUID-300B4AF5-7F6E-542D-886D-335674EDE8FD_d0e541291_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Camera Plug-in component consists of the following library: </p> <table id="GUID-E6B4D190-F26D-54DD-9DDD-B927158C5868"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>ecamstubplugin.lib</filepath>  </p> </entry> <entry><p>The Camera Stub Plug-in library is used to support the <filepath>EcamPluginSupport.dll</filepath> which is in the Camera Framework component. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>Camera Plug-in is used as a symbian support implementation for the Camera Framework Ecom plug-ins. </p> </section> </conbody><related-links><link href="GUID-A721FC4A-03C6-59F7-A0D2-565C4828E5E1.dita"><linktext>Camera Stub Plug-in
                 Overview</linktext> </link> <link href="GUID-B4C8B3D8-0272-577D-A669-C0AE84D035B4.dita"><linktext>Camera Plug-in Support</linktext> </link> <link href="GUID-36C3A2FD-F4F9-5B8C-91B7-40C29B3D2224.dita"><linktext>Camera
                 Framework Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7"><title>DevSound Overview </title><shortdesc>This document provides an overview of DevSound. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-2BC87F44-853D-5BA3-A9FC-835FFDCBB3D2"><title>Purpose</title> <p>DevSound provides a common API for all audio functionality. </p> </section> <section><title>DevSound library details</title> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-A97FC7E6-BE18-5396-94D1-85616B733C40"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>mmfdevsound.dll</filepath>  </p> </entry> <entry><p> <filepath>mmfdevsound.lib</filepath>  </p> </entry> <entry><p>These files are used for implementing DevSound. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural relationship</title> <p>Shown below is a representation of how DevSound interacts with the MMF Controller Framework and other components: </p> <fig id="GUID-3E6084D4-6AAC-5111-BB16-5AAC8C0866C6"><title>
              DevSound and related components 
-          </title> <image href="GUID-0B1A4D73-AB81-586C-9D95-A0F5EE1F4BC7_d0e541071_href.png" placement="inline"/></fig> <p>DevSound uses the following components: </p> <ul><li id="GUID-3ACA3CEA-E594-5013-A901-46E12B87FEB3"><p>Client - DevSound can be used by the following clients: </p> <ul><li id="GUID-78C197EE-156A-5677-A432-D20031027121"><p>applications </p> </li> <li id="GUID-947D1F4D-1350-5868-AD70-2B0576BB9954"><p>device creator library. </p> </li> </ul> </li> <li id="GUID-C96E468B-0CA8-5A26-9C92-620301AD0CAC"><p>MMF Controller Framework </p> <p>For audio playing, recording, and conversion, the MMF client APIs interact with the lower levels of the MMF, the controller framework. The controller framework helps to manage the interface to DevSound and provides controller plug-ins for playing, recording, and converting audio data. The controller framework has two main classes <xref href="GUID-9DEDFB0F-C963-3FB7-9237-DDDB276C8841.dita"><apiname>RMMFController</apiname></xref> and <xref href="GUID-123B3A78-9E84-3283-AB73-6B4293939A5D.dita"><apiname>CMMFController</apiname></xref>. </p> </li> <li id="GUID-A28BA7E0-DFFA-5149-BC80-5C46728CD1B4"><p>Controller Plug-in </p> <p>Depending on the functionality required by the client, the MMF controller framework loads the appropriate controller plug-ins. The plug-ins perform the required operations by communicating with DevSound and/or DevVideo, codecs and hardware. </p> <p>Custom controller plug-ins can be written to extend the MMF framework. For more information, see <xref href="GUID-528BDE53-327A-5D34-B4BF-CB2421BE43C8.dita#GUID-528BDE53-327A-5D34-B4BF-CB2421BE43C8/GUID-215B50CF-605A-58BA-8E87-CAB942F11741">How to write a controller plug-in</xref>. </p> </li> <li id="GUID-50F1D619-E6CB-5775-9B5E-181533FCB9BA"><p>Audio Policy </p> <p>The Audio Policy component manages requests to access the audio hardware. For example, if DevSound needs to acquire the hardware for playing audio, it makes a request to the Audio Policy component. Depending on the priority of the request, the Audio Policy component grants or denies access to the hardware. DevSound must obey the Audio Policy. </p> </li> <li id="GUID-F62F289A-10FC-5B23-A2D3-8CFE759C6516"><p>Codecs </p> <p>DevSound uses codecs to convert multimedia data between different encodings. </p> <p>Custom codec plug-ins can be written. For more information, see <xref href="GUID-7261FEC6-5AA6-555C-AB72-2173BD3F1FA5.dita">How to write a codec plug-in</xref>. </p> </li> <li id="GUID-62CC1178-82A9-54F4-BF35-040549782703"><p>Hardware Device API </p> <p>For audio functionality, the <xref href="GUID-E18CF25C-82DE-3C69-BD86-5DF67579C1A6.dita"><apiname>CMMFHwDevice</apiname></xref> plug-in class acts as the DevSound interface to the audio processing hardware. </p> </li> </ul> </section> <section><title>Description</title> <p>DevSound provides the interface between the Symbian platform and the audio processing hardware for all audio functionality. DevSound is responsible for providing access to audio resources, configuring audio hardware, and audio playback and recording. </p> </section> <section><title>Key DevSound classes</title> <p>The DevSound API comprises the following classes: </p> <ul><li id="GUID-91A3D022-6579-5B12-B875-0F2C1633AA71"><p> <xref href="GUID-B3E9B015-1413-35A6-A316-D1C01C1001AD.dita"><apiname>CMMFDevSound</apiname></xref> is the class which forms the DevSound API. </p> </li> <li id="GUID-6A729721-8110-5080-84F9-8FA3C90D7DB0"><p> <xref href="GUID-D0F3F385-68C9-331D-865F-DA36589BE9FD.dita"><apiname>MDevSoundObserver</apiname></xref> provides callbacks to users of the DevSound API. It serves as the method of communication between a client and DevSound. For example, <xref href="GUID-D0F3F385-68C9-331D-865F-DA36589BE9FD.dita"><apiname>MDevSoundObserver</apiname></xref> handles completion and cancellation requests for audio playing, recording, and conversion. </p> </li> </ul> </section> <section><title>Using DevSound</title> <p>DevSound offers the following main functions which can be used by DevSound clients: </p> <ul><li id="GUID-19A29FFB-C754-5B17-AEE0-1CFF6E001C14"><p>Audio Settings </p> <p>DevSound can be used to initialise and configure hardware devices, for example, set microphone gain and stereo balance. </p> </li> <li id="GUID-9FD9635B-FFB1-5DBD-AFB4-5A99A4C01DEC"><p>Audio Play </p> <p>DevSound can be used to play buffered audio data. </p> </li> <li id="GUID-88977E75-871D-5AB4-A208-DD9D8338962E"><p>Audio Record </p> <p>DevSound can be used to record audio data. </p> </li> <li id="GUID-30AC0EC2-49E8-54EA-B1EC-3122661017AF"><p>Audio Convert </p> <p>DevSound can be used to convert the type, sample rate and format of audio data. </p> </li> <li id="GUID-EBD316B2-FD0E-5737-89F1-2DB806CB2453"><p>Tone Play </p> <p>DevSound can play a single tone, tone sequence or Dual Tone Multi-Frequency (DTMF) string. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita"><linktext>Playing audio</linktext> </link> <link href="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita"><linktext>Recording Audio</linktext> </link> <link href="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita"><linktext>Playing tones</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-0B1A4D73-AB81-586C-9D95-A0F5EE1F4BC7_d0e548531_href.png" placement="inline"/></fig> <p>DevSound uses the following components: </p> <ul><li id="GUID-3ACA3CEA-E594-5013-A901-46E12B87FEB3"><p>Client - DevSound can be used by the following clients: </p> <ul><li id="GUID-78C197EE-156A-5677-A432-D20031027121"><p>applications </p> </li> <li id="GUID-947D1F4D-1350-5868-AD70-2B0576BB9954"><p>device creator library. </p> </li> </ul> </li> <li id="GUID-C96E468B-0CA8-5A26-9C92-620301AD0CAC"><p>MMF Controller Framework </p> <p>For audio playing, recording, and conversion, the MMF client APIs interact with the lower levels of the MMF, the controller framework. The controller framework helps to manage the interface to DevSound and provides controller plug-ins for playing, recording, and converting audio data. The controller framework has two main classes <xref href="GUID-9DEDFB0F-C963-3FB7-9237-DDDB276C8841.dita"><apiname>RMMFController</apiname></xref> and <xref href="GUID-123B3A78-9E84-3283-AB73-6B4293939A5D.dita"><apiname>CMMFController</apiname></xref>. </p> </li> <li id="GUID-A28BA7E0-DFFA-5149-BC80-5C46728CD1B4"><p>Controller Plug-in </p> <p>Depending on the functionality required by the client, the MMF controller framework loads the appropriate controller plug-ins. The plug-ins perform the required operations by communicating with DevSound and/or DevVideo, codecs and hardware. </p> <p>Custom controller plug-ins can be written to extend the MMF framework. For more information, see <xref href="GUID-528BDE53-327A-5D34-B4BF-CB2421BE43C8.dita#GUID-528BDE53-327A-5D34-B4BF-CB2421BE43C8/GUID-215B50CF-605A-58BA-8E87-CAB942F11741">How to write a controller plug-in</xref>. </p> </li> <li id="GUID-50F1D619-E6CB-5775-9B5E-181533FCB9BA"><p>Audio Policy </p> <p>The Audio Policy component manages requests to access the audio hardware. For example, if DevSound needs to acquire the hardware for playing audio, it makes a request to the Audio Policy component. Depending on the priority of the request, the Audio Policy component grants or denies access to the hardware. DevSound must obey the Audio Policy. </p> </li> <li id="GUID-F62F289A-10FC-5B23-A2D3-8CFE759C6516"><p>Codecs </p> <p>DevSound uses codecs to convert multimedia data between different encodings. </p> <p>Custom codec plug-ins can be written. For more information, see <xref href="GUID-7261FEC6-5AA6-555C-AB72-2173BD3F1FA5.dita">How to write a codec plug-in</xref>. </p> </li> <li id="GUID-62CC1178-82A9-54F4-BF35-040549782703"><p>Hardware Device API </p> <p>For audio functionality, the <xref href="GUID-E18CF25C-82DE-3C69-BD86-5DF67579C1A6.dita"><apiname>CMMFHwDevice</apiname></xref> plug-in class acts as the DevSound interface to the audio processing hardware. </p> </li> </ul> </section> <section><title>Description</title> <p>DevSound provides the interface between the Symbian platform and the audio processing hardware for all audio functionality. DevSound is responsible for providing access to audio resources, configuring audio hardware, and audio playback and recording. </p> </section> <section><title>Key DevSound classes</title> <p>The DevSound API comprises the following classes: </p> <ul><li id="GUID-91A3D022-6579-5B12-B875-0F2C1633AA71"><p> <xref href="GUID-B3E9B015-1413-35A6-A316-D1C01C1001AD.dita"><apiname>CMMFDevSound</apiname></xref> is the class which forms the DevSound API. </p> </li> <li id="GUID-6A729721-8110-5080-84F9-8FA3C90D7DB0"><p> <xref href="GUID-D0F3F385-68C9-331D-865F-DA36589BE9FD.dita"><apiname>MDevSoundObserver</apiname></xref> provides callbacks to users of the DevSound API. It serves as the method of communication between a client and DevSound. For example, <xref href="GUID-D0F3F385-68C9-331D-865F-DA36589BE9FD.dita"><apiname>MDevSoundObserver</apiname></xref> handles completion and cancellation requests for audio playing, recording, and conversion. </p> </li> </ul> </section> <section><title>Using DevSound</title> <p>DevSound offers the following main functions which can be used by DevSound clients: </p> <ul><li id="GUID-19A29FFB-C754-5B17-AEE0-1CFF6E001C14"><p>Audio Settings </p> <p>DevSound can be used to initialise and configure hardware devices, for example, set microphone gain and stereo balance. </p> </li> <li id="GUID-9FD9635B-FFB1-5DBD-AFB4-5A99A4C01DEC"><p>Audio Play </p> <p>DevSound can be used to play buffered audio data. </p> </li> <li id="GUID-88977E75-871D-5AB4-A208-DD9D8338962E"><p>Audio Record </p> <p>DevSound can be used to record audio data. </p> </li> <li id="GUID-30AC0EC2-49E8-54EA-B1EC-3122661017AF"><p>Audio Convert </p> <p>DevSound can be used to convert the type, sample rate and format of audio data. </p> </li> <li id="GUID-EBD316B2-FD0E-5737-89F1-2DB806CB2453"><p>Tone Play </p> <p>DevSound can play a single tone, tone sequence or Dual Tone Multi-Frequency (DTMF) string. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita"><linktext>Playing audio</linktext> </link> <link href="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita"><linktext>Recording Audio</linktext> </link> <link href="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita"><linktext>Playing tones</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2D74594C-AFEB-550E-AD69-1C4A0455C5AC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2D74594C-AFEB-550E-AD69-1C4A0455C5AC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-2D74594C-AFEB-550E-AD69-1C4A0455C5AC"><title>Structure of a Message Store</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section provides information about the Message Store entries. </p> <p>Message Framework provides a tree view of entries in a Message Store. The tree is divided into three levels: root entry, service entry, and folder and message entry, which are provided <xref href="GUID-5A23B804-2C06-3407-9D48-1BFB212D699F.dita"><apiname>TMsvEntry</apiname></xref>. The child entries of the root entry must be service entries. A message client application can begin from the root entry, and by successively finding the children of an entry, can traverse the whole entry tree. The parent of each entry is recorded in the index entry's details. </p> <p>The following figure illustrates how services are placed below a root entry. </p> <fig id="GUID-7832A21A-381A-5B5B-96ED-CF238039944F"><title>
           Message Store 
-        </title> <image href="GUID-95580D64-315E-51E8-99C3-6C0B8FFF1522_d0e479114_href.png" placement="inline"/></fig> <ul><li id="GUID-C5AE5A9E-F382-5D56-9EE3-C70C338E2D02"><p> <b>1:</b>  <b>Root entry</b> —This entry is just present to tie the tree structure together. </p> </li> <li id="GUID-F88FF1E1-D679-5413-BEE8-1574C54C9754"><p> <b>2:</b> <b> Service entry</b> —This level used for settings information, usually to set up communication protocols, for example, ISP settings. There is one local service under which local folders and messages are stored, and zero or more remote services. Remote services represent message accounts. </p> <p>There are two types of service entry: </p> <ul><li id="GUID-34454E69-A768-5102-84CD-D2F172C00BBE"><p> <b>Remote Services:</b> These represent message accounts stored on remote stores such as email servers and the SIM store of SMS messages. </p> </li> <li id="GUID-F4284F86-B486-5056-A3D9-681F07407112"><p> <b>Local Services:</b> There is a single local service under which local folders and messages are stored. </p> <p>The Message Server handles changes to local entries. Internally it may delegate changes to remote entries, such as copying and moving messages to and from a remote service, to the server MTM that owns that service. </p> </li> </ul> <fig id="GUID-E2FBA9E3-6AFB-56F4-A2B4-45FE4E41A024"><title>
+        </title> <image href="GUID-95580D64-315E-51E8-99C3-6C0B8FFF1522_d0e484943_href.png" placement="inline"/></fig> <ul><li id="GUID-C5AE5A9E-F382-5D56-9EE3-C70C338E2D02"><p> <b>1:</b>  <b>Root entry</b> —This entry is just present to tie the tree structure together. </p> </li> <li id="GUID-F88FF1E1-D679-5413-BEE8-1574C54C9754"><p> <b>2:</b> <b> Service entry</b> —This level used for settings information, usually to set up communication protocols, for example, ISP settings. There is one local service under which local folders and messages are stored, and zero or more remote services. Remote services represent message accounts. </p> <p>There are two types of service entry: </p> <ul><li id="GUID-34454E69-A768-5102-84CD-D2F172C00BBE"><p> <b>Remote Services:</b> These represent message accounts stored on remote stores such as email servers and the SIM store of SMS messages. </p> </li> <li id="GUID-F4284F86-B486-5056-A3D9-681F07407112"><p> <b>Local Services:</b> There is a single local service under which local folders and messages are stored. </p> <p>The Message Server handles changes to local entries. Internally it may delegate changes to remote entries, such as copying and moving messages to and from a remote service, to the server MTM that owns that service. </p> </li> </ul> <fig id="GUID-E2FBA9E3-6AFB-56F4-A2B4-45FE4E41A024"><title>
                 Remote and local entries 
-             </title> <image href="GUID-19B2E0BF-9766-55C6-A37F-188A9EDAFF39_d0e479166_href.png" placement="inline"/></fig> </li> <li id="GUID-035D9E45-6546-5551-91FF-214AE81DCEE7"><p> <b>3: </b> <b> Folder entries and message entries</b> — Folders entries are used to group a number of message entries. For more information on folders, see <xref href="GUID-21C03739-FF80-5874-A32B-F22DED13D18D.dita">Message folders</xref>. Messages store the content of a message. Message entries can have child entries which represent the structure of a message. </p> <p>Folders and messages under the local service represent messages stored on the device. Folders and messages under remote services represent a local copy of messages that are present on a remote server. For example, under a POP3 email service you can have copies of all the messages present on the POP3 email server, and under an SMS service you can have SMS messages that are stored on a SIM. </p> <p>Each message entry also has an associated service ID. The service ID is associated with a service entry whose settings is used in all Messaging operations on that message entry. </p> </li> </ul> <section><title>Validity of the Message Store</title> <p>The structure of the Message store is considered to be valid only if an index entry conforms to the following rules: </p> <ul><li id="GUID-7DB69487-9E0B-5D8F-BD7A-83A62F1BF4D2"><p>A non-service entry cannot be owned by root and must have its service ID field set. </p> </li> <li id="GUID-207256FE-42CB-56D3-9008-DB8B8F3A3171"><p>A service entry must be owned by root and have the service ID of itself. </p> </li> </ul> <p> <b>Important:</b> The Message Server controls access to the entries in the store. It enforces the three levels; therefore, attempts to create message or folder entries directly under the root entry fails. </p> </section> </conbody><related-links><link href="GUID-B394A824-8745-505E-8429-8B9B6D418387.dita"><linktext>Message Server and Store</linktext> </link> <link href="GUID-C290FA5E-8E41-5D19-B8C1-F88491EE6388.dita"><linktext> Messaging Framework</linktext> </link> <link href="GUID-44CF5471-564E-5790-935B-51193A4978D6.dita"><linktext>Message Server and Store
+             </title> <image href="GUID-19B2E0BF-9766-55C6-A37F-188A9EDAFF39_d0e484995_href.png" placement="inline"/></fig> </li> <li id="GUID-035D9E45-6546-5551-91FF-214AE81DCEE7"><p> <b>3: </b> <b> Folder entries and message entries</b> — Folders entries are used to group a number of message entries. For more information on folders, see <xref href="GUID-21C03739-FF80-5874-A32B-F22DED13D18D.dita">Message folders</xref>. Messages store the content of a message. Message entries can have child entries which represent the structure of a message. </p> <p>Folders and messages under the local service represent messages stored on the device. Folders and messages under remote services represent a local copy of messages that are present on a remote server. For example, under a POP3 email service you can have copies of all the messages present on the POP3 email server, and under an SMS service you can have SMS messages that are stored on a SIM. </p> <p>Each message entry also has an associated service ID. The service ID is associated with a service entry whose settings is used in all Messaging operations on that message entry. </p> </li> </ul> <section><title>Validity of the Message Store</title> <p>The structure of the Message store is considered to be valid only if an index entry conforms to the following rules: </p> <ul><li id="GUID-7DB69487-9E0B-5D8F-BD7A-83A62F1BF4D2"><p>A non-service entry cannot be owned by root and must have its service ID field set. </p> </li> <li id="GUID-207256FE-42CB-56D3-9008-DB8B8F3A3171"><p>A service entry must be owned by root and have the service ID of itself. </p> </li> </ul> <p> <b>Important:</b> The Message Server controls access to the entries in the store. It enforces the three levels; therefore, attempts to create message or folder entries directly under the root entry fails. </p> </section> </conbody><related-links><link href="GUID-B394A824-8745-505E-8429-8B9B6D418387.dita"><linktext>Message Server and Store</linktext> </link> <link href="GUID-C290FA5E-8E41-5D19-B8C1-F88491EE6388.dita"><linktext> Messaging Framework</linktext> </link> <link href="GUID-44CF5471-564E-5790-935B-51193A4978D6.dita"><linktext>Message Server and Store
                 Concepts</linktext> </link> <link href="GUID-DD27A452-8B0F-5C6D-A2E6-FC21145468B6.dita"><linktext>Message Server and Store
                 Tutorials</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2D7BD92E-E242-524B-8D83-874C32EC0503_d0e175688_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2D7BD92E-E242-524B-8D83-874C32EC0503_d0e181757_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2D86812F-5DB1-5FD9-A199-AE344D5A10C8_d0e456651_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2D86812F-5DB1-5FD9-A199-AE344D5A10C8_d0e462496_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2D872656-7FD3-56D2-B084-8CC84E8453A4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2D872656-7FD3-56D2-B084-8CC84E8453A4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-2D872656-7FD3-56D2-B084-8CC84E8453A4"><title>MTP PTP-IP Transport Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>PTP-IP is one of the supported MTP transport modes. This section describes the PTP-IP Transport plug-in and its sub-components (the PTP-IP Connection Controller and related APIs). </p> <section><title>Required Background</title> <p>Before you start, you must be familiar with the following: </p> <ul><li id="GUID-35C46BF1-3450-57B2-BE03-5E93F64C0594"><p>The data type, communication layers, and transport model of PTP-IP can be found in the <xref scope="external" href="http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-X005.pdf">PTP-IP specification</xref>. </p> </li> <li id="GUID-8043E286-6546-547F-A744-423268B2A6E0"><p>Socket programming. </p> </li> </ul> </section> <section><title>Architecture</title> <p>The diagram below shows the components and sub-components provided by the Symbian platform in green and those that a device creator must implement in blue. They run in two processes: </p> <ul><li id="GUID-C3042566-185B-5963-AC43-BE7DF1C9AEAC"><p>The PTP-IP Controller process is responsible for setting up the TCP/IP connection and PTP-IP connection. According to the PTP-IP specification, PTP-IP is the layer above the TCP/IP. </p> <p> <b>Note</b>: Once a PTP-IP connection is established, the Listener rejects new connection requests until the current connection stops. </p> </li> <li id="GUID-DD1C7B02-8C52-5737-AE71-5F2A96236516"><p>The MTP process loads the PTP-IP Transport plug-in and transfers MTP data over the Symbian TCP/IP Stack between a host PC and a device. </p> </li> </ul> <fig id="GUID-12465D81-1881-566C-B348-695C2F34FB36"><title>
              MTP Architecture with PTP-IP Transport Plug-in 
-          </title> <image href="GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e610277_href.jpg" placement="inline"/></fig> <p>MTP over PTP-IP is initiated in the following way: </p> <ol id="GUID-C86C9F2D-61E4-5FB5-9DFD-23305836CEA2"><li id="GUID-00EAB276-B6BA-52E4-95C5-A3E286ACDFBB"><p>A <b>Listener</b> listens on a specific port to accept a PTP-IP connection (based on TCP/IP) request from a host PC. It calls the <b>TCP/IP Stack</b> to establish the TCP/IP connection between the host PC (initiator) and the Symbian device (responder). </p> <p>A Listener must be implemented by a device creator. For more information about implementing a Listener, refer to <xref href="GUID-24CF2B94-5F10-57D9-B0D4-E56A80266595.dita">Implementing a Listener</xref>. </p> </li> <li id="GUID-B1B08C90-7598-5A68-9D5F-657047C8311E"><p>Once the TCP/IP connection is established, the Listener calls the <b>PTP-IP Connection Controller</b> to set up the PTP-IP connection. </p> <p>For more information about using PTP-IP Controller, refer to <xref href="GUID-143DAD71-9BCA-52D3-8BC8-AE80DBF05636.dita">Using PTP-IP Controller</xref>. </p> </li> <li id="GUID-42AEA595-E294-5289-BA1C-51585637126F"><p>The PTP-IP Connection Controller validates whether to accept the request for a PTP-IP connection by calling a <b>Filter</b>. </p> <p>The Filter (<xref href="GUID-8FB56D92-F4FC-3125-930F-7F7B26300A47.dita"><apiname>MPTPIPHostFilter</apiname></xref> and <xref href="GUID-58C9564F-C96F-3CED-993C-01DB4F70DF63.dita"><apiname>CPTPIPHostFilterInterface</apiname></xref>) must be implemented by a device creator. For more information about implementing a Filter, refer to <xref href="GUID-7CFE584D-B605-5A3E-9294-84A28003000B.dita">Implementing a Filter</xref>. </p> </li> <li id="GUID-730B7B4E-E41E-5B60-986A-95C3CAB342DD"><p>Once the PTP-IP connection request is accepted and the PTP-IP connection is established, the PTP-IP Connection Controller calls the <b>MTP Client API</b> to send the <codeph>StartTransport</codeph> command to the MTP Framework. </p> </li> <li id="GUID-372DC6F5-78C6-5955-9EC2-3DA0343ADBD3"><p>The MTP Framework loads the <b>MTP PTP-IP Transport plug-in</b>. </p> </li> <li id="GUID-125B0774-5257-5853-B550-3193456C1C04"><p>Requests and responses can be issued and MTP data can be transferred between the host PC and the Symbian device over the TCP/IP Stack. </p> </li> </ol> </section> <section><title>APIs</title> <p>The MTP PTP-IP Transport includes the following key APIs: </p> <table id="GUID-1A782B18-1DC7-5A2D-A378-8FD8C19A581C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-58C9564F-C96F-3CED-993C-01DB4F70DF63.dita"><apiname>CPTPIPHostFilterInterface</apiname></xref>  </p> </entry> <entry><p>Provides an ECom plug-in interface for the Connection Controller to load the right Filter implementation. </p> </entry> </row> <row><entry><p> <xref href="GUID-44FEC8DA-8C77-3A2B-B1CF-C0AAD854CDED.dita"><apiname>RPTPIPFramework</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </entry> <entry><p>Gets an instance of the <xref href="GUID-E5CB0731-9BFC-32F2-951B-5F1C1C41D781.dita"><apiname>MPTPIPController</apiname></xref> instance. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The MTP PTP-IP Transport can be used to </p> <ul><li id="GUID-EDF2ED86-32FE-58DB-BF0A-59C614FA68D7"><p>Validate and set up a PTP-IP connection between a host PC and a Symbian device. </p> </li> <li id="GUID-494FBB92-2868-56A8-96FD-3D5A6869AB0B"><p>Provide MTP over PTP-IP transport support. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-24CF2B94-5F10-57D9-B0D4-E56A80266595.dita"><linktext>Implementing a Listener</linktext> </link> <link href="GUID-7CFE584D-B605-5A3E-9294-84A28003000B.dita"><linktext>Implementing a Filter</linktext> </link> <link href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita"><linktext>Configuring Multiple Transport
+          </title> <image href="GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e649431_href.jpg" placement="inline"/></fig> <p>MTP over PTP-IP is initiated in the following way: </p> <ol id="GUID-C86C9F2D-61E4-5FB5-9DFD-23305836CEA2"><li id="GUID-00EAB276-B6BA-52E4-95C5-A3E286ACDFBB"><p>A <b>Listener</b> listens on a specific port to accept a PTP-IP connection (based on TCP/IP) request from a host PC. It calls the <b>TCP/IP Stack</b> to establish the TCP/IP connection between the host PC (initiator) and the Symbian device (responder). </p> <p>A Listener must be implemented by a device creator. For more information about implementing a Listener, refer to <xref href="GUID-24CF2B94-5F10-57D9-B0D4-E56A80266595.dita">Implementing a Listener</xref>. </p> </li> <li id="GUID-B1B08C90-7598-5A68-9D5F-657047C8311E"><p>Once the TCP/IP connection is established, the Listener calls the <b>PTP-IP Connection Controller</b> to set up the PTP-IP connection. </p> <p>For more information about using PTP-IP Controller, refer to <xref href="GUID-143DAD71-9BCA-52D3-8BC8-AE80DBF05636.dita">Using PTP-IP Controller</xref>. </p> </li> <li id="GUID-42AEA595-E294-5289-BA1C-51585637126F"><p>The PTP-IP Connection Controller validates whether to accept the request for a PTP-IP connection by calling a <b>Filter</b>. </p> <p>The Filter (<xref href="GUID-8FB56D92-F4FC-3125-930F-7F7B26300A47.dita"><apiname>MPTPIPHostFilter</apiname></xref> and <xref href="GUID-58C9564F-C96F-3CED-993C-01DB4F70DF63.dita"><apiname>CPTPIPHostFilterInterface</apiname></xref>) must be implemented by a device creator. For more information about implementing a Filter, refer to <xref href="GUID-7CFE584D-B605-5A3E-9294-84A28003000B.dita">Implementing a Filter</xref>. </p> </li> <li id="GUID-730B7B4E-E41E-5B60-986A-95C3CAB342DD"><p>Once the PTP-IP connection request is accepted and the PTP-IP connection is established, the PTP-IP Connection Controller calls the <b>MTP Client API</b> to send the <codeph>StartTransport</codeph> command to the MTP Framework. </p> </li> <li id="GUID-372DC6F5-78C6-5955-9EC2-3DA0343ADBD3"><p>The MTP Framework loads the <b>MTP PTP-IP Transport plug-in</b>. </p> </li> <li id="GUID-125B0774-5257-5853-B550-3193456C1C04"><p>Requests and responses can be issued and MTP data can be transferred between the host PC and the Symbian device over the TCP/IP Stack. </p> </li> </ol> </section> <section><title>APIs</title> <p>The MTP PTP-IP Transport includes the following key APIs: </p> <table id="GUID-1A782B18-1DC7-5A2D-A378-8FD8C19A581C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-58C9564F-C96F-3CED-993C-01DB4F70DF63.dita"><apiname>CPTPIPHostFilterInterface</apiname></xref>  </p> </entry> <entry><p>Provides an ECom plug-in interface for the Connection Controller to load the right Filter implementation. </p> </entry> </row> <row><entry><p> <xref href="GUID-44FEC8DA-8C77-3A2B-B1CF-C0AAD854CDED.dita"><apiname>RPTPIPFramework</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </entry> <entry><p>Gets an instance of the <xref href="GUID-E5CB0731-9BFC-32F2-951B-5F1C1C41D781.dita"><apiname>MPTPIPController</apiname></xref> instance. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The MTP PTP-IP Transport can be used to </p> <ul><li id="GUID-EDF2ED86-32FE-58DB-BF0A-59C614FA68D7"><p>Validate and set up a PTP-IP connection between a host PC and a Symbian device. </p> </li> <li id="GUID-494FBB92-2868-56A8-96FD-3D5A6869AB0B"><p>Provide MTP over PTP-IP transport support. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-24CF2B94-5F10-57D9-B0D4-E56A80266595.dita"><linktext>Implementing a Listener</linktext> </link> <link href="GUID-7CFE584D-B605-5A3E-9294-84A28003000B.dita"><linktext>Implementing a Filter</linktext> </link> <link href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita"><linktext>Configuring Multiple Transport
                 Protocols</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2D93660B-8206-5D20-85F5-6FFCF4549127.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2D93660B-8206-5D20-85F5-6FFCF4549127.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 stream:</p>
 <fig id="GUID-8A987703-9602-563A-97D9-6DD6012708C4">
 <title>Persistent store with a root stream</title>
-<image href="GUID-FD503B6E-889C-521F-B61A-0EBDCA8CD9AC_d0e581918_href.png" placement="inline"/>
+<image href="GUID-FD503B6E-889C-521F-B61A-0EBDCA8CD9AC_d0e631206_href.png" placement="inline"/>
 </fig>
 <section id="GUID-DD8F38F5-503A-46A5-AF28-74A1DE08E867"><title>See also</title> <p><xref href="GUID-C9D8D913-C65F-5A69-A606-30F59BFB38E2.dita">File
 stores</xref> </p> </section>
Binary file Symbian3/PDK/Source/GUID-2D98DB88-BA48-5EF8-A5F9-0CB8688B0B63_d0e408469_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2D98DB88-BA48-5EF8-A5F9-0CB8688B0B63_d0e414322_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2D9B17E7-2B7A-5E16-AB06-D9507457A85D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2D9B17E7-2B7A-5E16-AB06-D9507457A85D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,33 +9,31 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-2D9B17E7-2B7A-5E16-AB06-D9507457A85D" xml:lang="en"><title>SMS
-example</title><shortdesc>This example code demonstrates how to send and receive SMS messages
-using the Messaging Framework APIs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-81E46301-8C03-5C36-B601-804D25C7C927"><title>Description</title> <p>This
-updated C++ example demonstrates programmatical handling of SMS messages.
-Messages can be sent from the application and they can be received directly
-into the application (that is, catching incoming messages before the user
-gets any notification). In addition, messages can be deleted, copied, or moved
-to other folders of the message store (inbox, outbox, drafts).</p> </section>
-<section id="GUID-878E4690-1F02-5C15-8B4E-F53E8EA8719D-GENID-1-12-1-19-1-1-4-1-3-1-6-1-3-2"><title>Download</title> <p>Click
-on the following link to download the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e9c7c7d7-b4a1-4c58-bcbe-37fe6d0f4ce0.zip" scope="external"> smsexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e9c7c7d7-b4a1-4c58-bcbe-37fe6d0f4ce0.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<reference id="GUID-2D9B17E7-2B7A-5E16-AB06-D9507457A85D" xml:lang="en"><title>SMS example</title><shortdesc>This example code demonstrates how to send and receive
+SMS messages using the Messaging Framework APIs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-81E46301-8C03-5C36-B601-804D25C7C927"><title>Description</title> <p>This updated C++ example demonstrates programmatical handling
+of SMS messages. Messages can be sent from the application and they
+can be received directly into the application (that is, catching incoming
+messages before the user gets any notification). In addition, messages
+can be deleted, copied, or moved to other folders of the message store
+(inbox, outbox, drafts).</p> </section>
+<section id="GUID-878E4690-1F02-5C15-8B4E-F53E8EA8719D-GENID-1-12-1-20-1-1-4-1-3-1-6-1-3-2"><title>Download</title> <p>Click on the following link to download the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e9c7c7d7-b4a1-4c58-bcbe-37fe6d0f4ce0.zip" scope="external"> smsexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e9c7c7d7-b4a1-4c58-bcbe-37fe6d0f4ce0.html" scope="peer">browse</xref> to view the example code.</p> </section>
 <section id="GUID-5DB1579A-EA25-47AA-A2D9-31CA691B9014"><title>Classes</title> <p><xref href="GUID-2DA04D96-F0AD-3FDC-9E36-1C27D889AF4B.dita"><apiname>CMsvSession</apiname></xref></p><p><xref href="GUID-85BBE389-81F7-3E2F-A789-446D9BE2CC49.dita"><apiname>CMsvEntry</apiname></xref></p><p><xref href="GUID-26D19946-B930-3E46-9081-8A1CD139EAFF.dita"><apiname>CMmsClientMtm</apiname></xref></p><p><xref href="GUID-C499ABDB-BA30-3D97-A850-D5790FE49634.dita"><apiname>CSmsClientMtm</apiname></xref></p><p><xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita"><apiname>CClientMtmRegistry</apiname></xref></p><p><xref href="GUID-790D9BA9-2FB7-3073-AF2F-FFD049C3FD3D.dita"><apiname>CSmsHeader</apiname></xref></p></section>
-<section id="GUID-2B5D9B09-1ACF-52E5-9FDF-FF6B03096162"><title>Building and
-configuring</title> <ul>
-<li id="GUID-FD731628-CA35-59F5-ABEB-9F6FC097965B"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-DDDF0872-174C-5C68-9068-282EE28B648D"><p>For the emulator, the
-example builds an executable called <filepath>smsexample.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or                 urel&gt;\</filepath> folder. </p> </li>
+<section id="GUID-2B5D9B09-1ACF-52E5-9FDF-FF6B03096162"><title>Building
+and configuring</title> <ul>
+<li id="GUID-FD731628-CA35-59F5-ABEB-9F6FC097965B"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-DDDF0872-174C-5C68-9068-282EE28B648D"><p>For the emulator,
+the example builds an executable called <filepath>smsexample.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or             
+   urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
 </refbody><related-links>
-<link href="GUID-F2D86E40-279A-5B48-B91F-922803FEF5DE.dita"><linktext>SMS MTM Overview</linktext>
-</link>
+<link href="GUID-F2D86E40-279A-5B48-B91F-922803FEF5DE.dita"><linktext>SMS
+MTM Overview</linktext></link>
 </related-links></reference>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1" xml:lang="en"><title>How
+to create a CryptoSPI plug-in</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-B0B7D886-8759-4806-9BB2-CC378B3A37CC-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-1"><title>Introduction</title> <p><b>Note</b>:
+this document is intended for device manufacturers. </p> <p>The purpose of
+a CryptoSPI plug-in is to implement one or more cryptographic algorithms. </p> <p>Symbian
+provides a plug-in called <filepath>softwarecrypto.dll</filepath> that implements
+all algorithms supported by the legacy (pre-Symbian^3) cryptography APIs.
+In Symbian^3, the legacy APIs have all been re-implemented to use this plug-in
+DLL. The source code for <filepath>softwarecrypto.dll</filepath> is located
+under <filepath>src/common/generic/security/cryptospi/source/softwarecrypto/</filepath>. </p> <p>This
+is a summary of the steps involved in creating a plug-in, in no particular
+order. Details of each step are given in the rest of the document. </p> <ul>
+<li id="GUID-9E62C60F-AE68-57D4-939A-43631715D89C-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-1-6-1"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1/GUID-FFA64681-40E3-5DCE-A4EC-3EEC75A35D63-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2">Create the MMP file</xref>. </p> </li>
+<li id="GUID-3726FB61-4B29-5AAF-AB57-A665DB1F6C0A-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-1-6-2"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1/GUID-4B845864-BB8E-5207-8210-A3F608DF6E69-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-3">Define the characteristics of the algorithms.</xref>  </p> </li>
+<li id="GUID-66A983CE-8D31-5B73-A326-4601B24F4C6B-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-1-6-3"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1/GUID-CA441465-BDAB-5B7A-B75D-3B877EBE346F-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4">Implement all or a subset of the functions defined in pluginentrydef.h</xref>. </p> </li>
+<li id="GUID-AE856A3F-122C-50AF-BBB4-5A6136CA64B5-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-1-6-4"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1/GUID-6ECA8DAB-37C4-5D83-9DBC-10641AA7B636-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5">Implement the MPlugin-derived objects</xref>. </p> </li>
+<li id="GUID-FE96900F-EBF2-528A-B0C6-2BA32DB65C77-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-1-6-5"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1/GUID-661CE3E1-2FAE-58E1-BBB7-2F72AA8714A2-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-6">Update the ROM configuration file</xref>. </p> </li>
+</ul> </section>
+<section id="GUID-FFA64681-40E3-5DCE-A4EC-3EEC75A35D63-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2"><title>How to create
+the MMP file</title> <p>See for instance <filepath>src/common/generic/security/cryptospi/group/softwarecrypto.mmp</filepath>. </p> <codeblock id="GUID-842C71A7-45F4-5BFA-A088-BC4424741296-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2-3" xml:space="preserve">TARGET softwarecrypto.dll
+TARGETTYPE dll
+
+UID        0x1000008d 0x102835C2
+VENDORID     0x70000001
+
+CAPABILITY    All
+
+DEFFILE        softwarecrypto.def
+
+USERINCLUDE        .
+USERINCLUDE        ..\inc 
+USERINCLUDE        ..\inc\spi
+SYSTEMINCLUDE    \epoc32\include
+SYSTEMINCLUDE    \epoc32\include\cryptospi
+
+SOURCEPATH    ..\source\softwarecrypto
+SOURCE pluginentry.cpp
+SOURCE md2impl.cpp md5impl.cpp sha1impl.cpp hmacimpl.cpp
+SOURCE 3desimpl.cpp desimpl.cpp rc2impl.cpp rijndaelimpl.cpp arc4impl.cpp symmetriccipherimpl.cpp
+SOURCE randomimpl.cpp dsasignerimpl.cpp dsaverifyimpl.cpp rsaimpl.cpp rsafunction.cpp
+SOURCE signerimpl.cpp verifierimpl.cpp asymmetriccipherimpl.cpp
+
+LIBRARY euser.lib cryptospi.lib
+
+// Depends on bigint and padding code
+LIBRARY cryptography.lib
+//Depends on random server for random number generation
+LIBRARY random.lib</codeblock> <p>Key points: </p> <ul>
+<li id="GUID-0C322CF3-197E-5773-A4BB-CDF4943BE588-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2-5-1"><p> <codeph>0x1000008d</codeph> identifies
+the DLL as static (not polymorphic or an ECOM plug-in) and <codeph>0x102835C2</codeph> is
+unique to this plug-in, allocated by Symbian Signed. </p> </li>
+<li id="GUID-3D1094C3-A59C-58D0-9873-E5A24935785A-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2-5-2"><p>It is recommended that
+plug-ins have <codeph>ALL</codeph> capabilities because this ensures that
+they can be loaded by client applications with any capabilities. </p> </li>
+<li id="GUID-47338BE3-4A8C-5B17-BF37-184F996B0A2C-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2-5-3"><p>The project needs to
+link against <filepath>cryptospi.lib</filepath>, the CryptoSPI library. </p> </li>
+<li id="GUID-1A985A73-A776-5AE1-A4BD-4CC3227CE223-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2-5-4"><p>The plug-in needs to
+link against <filepath>cryptography.lib</filepath> because big integers (<codeph>RInteger</codeph>)
+are implemented in <filepath>cryptography.dll</filepath>. </p> </li>
+<li id="GUID-7DEC5079-A30D-5D16-B2EC-FA03605691ED-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-2-5-5"><p> <codeph>SYSTEMINCLUDE
+\epoc32\include\cryptospi</codeph> allows code to <codeph>#include</codeph> the
+CryptoSPI header files, which are all exported to <filepath>epoc32\include\cryptospi\</filepath>. </p> </li>
+</ul> </section>
+<section id="GUID-4B845864-BB8E-5207-8210-A3F608DF6E69-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-3"><title>How to define
+the algorithm's characteristics</title> <p>All plug-ins must define the characteristics
+of their algorithm implementations that are fixed at compile time, as constant
+data. Some characteristics are common to all interface types, for instance
+the name and UID of the algorithm implemented, the name of the plug-in vendor,
+whether the plug-in uses hardware acceleration, and whether it is FIPS certified.
+Common characteristics are defined in <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-38201D43-59F9-34A1-9940-14997613998F"><apiname>CryptoSpi::TCommonCharacteristics</apiname></xref>: </p> <codeblock id="GUID-EAEADE27-C875-5713-92DC-050460D22ED5-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-3-3" xml:space="preserve">class TCommonCharacteristics
+    {
+    public:
+      ...
+      TInt32 iInterfaceUID;
+      TInt32 iAlgorithmUID;
+      TInt32 iImplementationUID;
+      const TRomLitC16* iCreatorName;
+      TBool iIsFIPSApproved;
+      TBool iIsHardwareSupported;
+      TUint iMaxConcurrencySupported;
+      const TRomLitC16* iAlgorithmName;
+      TInt iLatency;
+      TInt iThroughput;
+      };
+</codeblock> <p>Other characteristics are specific to a particular interface.
+For each interface type, a T class is defined as an aggregation of a <xref href="GUID-BB5BF1BA-686D-30DC-AB50-9F1F58F78051.dita"><apiname>TCommonCharacteristics</apiname></xref> object
+and some additional characteristics particular to that interface. For instance, <xref href="GUID-F8CF1F2E-E6EC-3ABE-B18A-C4821115E0AD.dita"><apiname>THashCharacteristics</apiname></xref> includes
+a block size, output size and operation mode. (The operation mode can be either <codeph>KHashMode</codeph> or <codeph>KHmacMode</codeph>,
+and indicates whether the hash algorithm is an HMAC or not.) </p> <codeblock id="GUID-628BA925-B38B-54F1-B69A-E630E50BB6BF-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-3-5" xml:space="preserve">class THashCharacteristics
+    {
+    public:
+      IMPORT_C TBool IsOperationModeSupported(TUid aOperationMode) const;        
+        
+    public:
+      TCommonCharacteristics cmn;
+      TUint iBlockSize;
+      TUint iOutputSize;
+      const TInt32* iSupportedOperationModes;
+      TUint iOperationModeNum;
+      };
+</codeblock> <p>All the data types relating to characteristics are defined
+in <filepath>plugincharacteristics.h</filepath>. </p> <p>For an example, see <filepath>src/common/generic/security/cryptospi/source/softwarecrypto/pluginconfig.h</filepath>. </p> </section>
+<section id="GUID-CA441465-BDAB-5B7A-B75D-3B877EBE346F-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4"><title>How to implement
+the framework code</title> <p>Plug-in modules must implement a defined set
+of functions exported at defined ordinals. The function prototypes and the
+ordinals (see <xref href="GUID-8C054BE1-1F0D-362D-A8CD-B868488FAAE2.dita"><apiname>TPluginEntryOrdinal</apiname></xref>) are defined in <filepath>pluginentrydef.h</filepath>.
+When a client requests an algorithm, these functions are used by CryptoSPI
+to query and instantiate algorithm implementations. The simplest way to ensure
+that functions are assigned the correct ordinal is to copy the <filepath>softwarecryptoU.def</filepath> exports
+file, which can be found in the <filepath>EABI</filepath> and <filepath>BWINS</filepath> directories
+in the CryptoSPI source code. </p> <p>Minimally, the plug-in DLL must implement
+the function exported at ordinal 1, whose prototype is: </p> <codeblock id="GUID-A6D535EF-5657-5195-A375-5465B588427E-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-4" xml:space="preserve">typedef const TCharacteristics** (*EnumerateCharacteristicsFunc)(TUid, TInt&amp;);</codeblock> <p>and at least one of the algorithm factory functions. See for example
+class <codeph>CCryptoPluginEntry</codeph> (<filepath>pluginentry.h</filepath> / <filepath>pluginentry.cpp</filepath>). </p> <p>If
+the plug-in DLL does not support a particular algorithm, the <codeph>ABSENT</codeph> keyword
+should be used in its <filepath>.def</filepath> file to ensure any subsequent
+exports are at the correct ordinals. </p> <p><b>Querying the characteristics
+of plug-ins</b> </p> <p>CryptoSPI builds up a list of the characteristics
+of all the plug-in DLLs by calling the function exported at ordinal 1 (<codeph>EEnumerateCharacteristicsOrdinal</codeph>)
+for each DLL and for each interface type. Here is an example implementation: </p> <codeblock id="GUID-02B7F687-19A5-527D-922E-09A32FC728C1-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-9" xml:space="preserve">EXPORT_C const TCharacteristics** CCryptoPluginEntry::Enumerate(TUid aInterface, TInt&amp; aNumPlugins)
+    {
+    const TCharacteristics** ptr(0);
+    switch (aInterface.iUid)
+        {
+    case KHashInterface:
+        {
+        aNumPlugins=sizeof(KHashCharacteristics)/sizeof(THashCharacteristics*);
+        ptr = (const TCharacteristics**) &amp;KHashCharacteristics[0];
+        }
+        break;
+
+    case KRandomInterface:
+        {
+        aNumPlugins=sizeof(KRandomCharacteristics)/sizeof(TRandomCharacteristics*);
+        ptr= (const TCharacteristics**) &amp;KRandomCharacteristics[0];
+        }
+        break;
+  ...
+  }
+ return ptr;
+ }
+</codeblock> <p>Key points: </p> <ul>
+<li id="GUID-CBAC6B6F-30CC-5B57-BF58-A4B14C94A04A-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-11-1"><p>Every plug-in must implement
+this function. </p> </li>
+<li id="GUID-E263363A-4137-5D7E-8988-4B25E492D39F-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-11-2"><p> <codeph>TUid aInterface</codeph> is
+the interface UID, as defined in <codeph>CryptoSpi::KInterfacesUids</codeph>. </p> </li>
+<li id="GUID-C7A913A0-DD63-599F-8A34-EA2D7466B050-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-11-3"><p> <codeph>TInt&amp; aNumPlugins</codeph> should
+be set to the number of algorithms of that interface type implemented by the
+plug-in. </p> </li>
+</ul> <p><b>Extended characteristics</b> </p> <p>Extended characteristics
+are those which can only be determined at runtime. They are retrieved on demand
+by CryptoSPI or clients can call the plug-in's implementation of <codeph>CryptoSpi::CCryptoBase::GetExtendedCharacteristicsL()</codeph>. </p> <p>The
+function exported at ordinal 2 has this prototype: </p> <codeblock id="GUID-5A10F3D2-DAE9-55F6-BF1A-A0E001637ACE-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-15" xml:space="preserve">typedef void (*GetExtendedCharacteristicsFuncL)(TUid, CExtendedCharacteristics*&amp;);</codeblock> <p>Symbian defines 2 extended characteristics: </p> <ul>
+<li id="GUID-DFCA6450-2121-5257-9F26-A11FD8995E5D-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-17-1"><p> <codeph>TInt iAvailableConcurrency;</codeph>  </p> <p>The
+number of available resources for processing the operation for the requested
+plug-in. This could be zero even if no operations are in progress; for instance
+cryptographic acceleration hardware is turned off to save battery power. </p> </li>
+<li id="GUID-FEA9BD5F-B264-5316-9B15-FD5E0E51CAC2-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-17-2"><p> <codeph>TBool iExclusiveUse;</codeph>  </p> <p>Whether
+it is possible for the application to reserve exclusive use of hardware resources
+used by the plug-in. </p> </li>
+</ul> <p>Additional plug-in specific characteristics may be defined. The plug-in
+creator needs to define UIDs for each of these and specify the UID when calling <codeph>CryptoSpi::CExtendedCharacteristics::AddCharacteristicL()</codeph>. </p> <p><b>Algorithm instantiation</b> </p> <p>A plug-in must implement
+one or more factory methods for instantiating algorithms. The functions exported
+at ordinals 3 to 20 have the following declarations. (Note that symmetric
+key generation is not yet implemented by Symbian's software crypto plug-in,
+so the ordinals <codeph>ECreateSymmetricKeyGeneratorOrdinal</codeph> and <codeph>ECreateAsyncSymmetricKeyGeneratorOrdinal</codeph> have
+no corresponding declarations). </p> <codeblock id="GUID-A6330276-FB1A-5C14-A2BF-5BBCD452614B-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-4-21" xml:space="preserve">typedef void (*CreateRandomFuncL)(MRandom*&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateHashFuncL)(MHash*&amp;, TUid, TUid, const CKey*, const CCryptoParams*);
+typedef void (*CreateSymmetricCipherFuncL)(MSymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateAsymmetricCipherFuncL)(MAsymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateSignerFuncL)(MSigner*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateVerifierFuncL)(MVerifier*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateKeyAgreementFuncL)(MKeyAgreement*&amp;, TUid, const CKey&amp;, const CCryptoParams*);
+typedef void (*CreateKeyPairGeneratorFuncL)(MKeyPairGenerator*&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncRandomFuncL)(MAsyncRandom*&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncHashFuncL)(MAsyncHash*&amp;, TUid, TUid, const CKey*, const CCryptoParams*);
+typedef void (*CreateAsyncSymmetricCipherFuncL)(MAsyncSymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncAsymmetricCipherFuncL)(MAsyncAsymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncSignerFuncL)(MAsyncSigner*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncVerifierFuncL)(MAsyncVerifier*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncKeyAgreementFuncL)(MAsyncKeyAgreement*&amp;, TUid, const CKey&amp;, const CCryptoParams*);
+typedef void (*CreateAsyncKeyPairGeneratorFuncL)(MAsyncKeyPairGenerator*&amp;, TUid, const CCryptoParams*);</codeblock> <p>Clients
+instantiate algorithms by calling one of the CryptoSPI factory methods, for
+instance <xref href="GUID-FF3CFE33-C90A-328C-BF80-0A03B821AE1C.dita#GUID-FF3CFE33-C90A-328C-BF80-0A03B821AE1C/GUID-D91B2099-C9F4-3B7C-843F-39A654DC0555"><apiname>CHashFactory::CreateHashL()</apiname></xref>. All CryptoSPI factory
+methods take a <xref href="GUID-C3704390-D2DD-3DFF-A1E3-433C5030044B.dita"><apiname>CCryptoParams</apiname></xref> parameter. This class allows
+clients to supply arbitrary, algorithm-specific data to plug-ins, for instance
+the effective key length for RC2, or the number of bytes to discard from the
+keystream for ARC4. </p> <p>The data type of each parameter can be integer
+(<codeph>TInt</codeph>), big integer (<codeph>RInteger</codeph>), or 8/16
+bit descriptor. Additional data types could be added in future, by extending
+the <codeph>TParamType</codeph> enum in <codeph>CCryptoParam</codeph> and
+deriving a class from <codeph>CCryptoParam</codeph>, but this is unlikely
+to be necessary. </p> </section>
+<section id="GUID-6ECA8DAB-37C4-5D83-9DBC-10641AA7B636-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5"><title>How to implement
+the MPlugin-derived class</title> <p>All concrete algorithm classes are derived
+from one of the abstract base classes listed below, which are in turn all
+derived from <codeph>MPlugin</codeph>. </p> <ul>
+<li id="GUID-83E757D2-E70D-51D3-BF46-53A2F8A8A3E9-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-1"><p>Random (<xref href="GUID-53D7EA29-2736-3B19-AA69-915FAD2A7130.dita"><apiname>MRandom</apiname></xref> /<xref href="GUID-A19A4B6F-CCF2-3167-B757-F8308B7B7C26.dita"><apiname>MAsyncRandom</apiname></xref>) </p> </li>
+<li id="GUID-ABDD0216-BA34-5DD1-8D07-064B3F1EAB02-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-2"><p>Hash (<xref href="GUID-6896A7F0-AE37-369E-AB54-F069A7DE3FDB.dita"><apiname>MHash</apiname></xref> /<xref href="GUID-A4B3807A-82D1-39D3-8D00-D2A1D41EFEA5.dita"><apiname>MAsyncHash</apiname></xref>) </p> </li>
+<li id="GUID-5611F951-0471-5A54-BCFE-4DBDB9FF7B1A-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-3"><p>Symmetric cipher (<xref href="GUID-733DAE85-68B3-3211-808A-4FBD9C1E1F05.dita"><apiname>MSymmetricCipher</apiname></xref> /<xref href="GUID-545AE46E-8CF1-3470-8F10-5FCB6D79859E.dita"><apiname>MAsyncSymmetricCipher</apiname></xref>) </p> </li>
+<li id="GUID-C87B0A48-C66F-5E5E-BEA4-BB3F187AA59D-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-4"><p>Asymmetric cipher (<xref href="GUID-C044BB6D-6E78-3698-8710-89FFB7A6CDFD.dita"><apiname>MAsymmetricCipher</apiname></xref> /<xref href="GUID-EE7FCCA6-D86F-30E2-BB6A-862BAE111344.dita"><apiname>MAsyncAsymmetricCipher</apiname></xref>) </p> </li>
+<li id="GUID-EE95A2C8-4F9C-5052-8709-AD7C1D2A5E6F-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-5"><p>Signer (<xref href="GUID-59F2E24A-5F48-383F-95C6-88A5B432E121.dita"><apiname>MSigner</apiname></xref> /<xref href="GUID-B0EC8744-B525-3599-B1B4-00E4A9C62C7A.dita"><apiname>MAsyncSigner</apiname></xref>) </p> </li>
+<li id="GUID-717313C9-B2A3-5E78-8A61-A4C3093627BF-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-6"><p>Verifier (<xref href="GUID-98E08EBD-3758-39D6-A2B1-EC42F66D2F84.dita"><apiname>MVerifier</apiname></xref> /<xref href="GUID-BCCA1F97-B568-3B75-9974-5E70F1ADDEFA.dita"><apiname>MAsyncVerifier</apiname></xref>) </p> </li>
+<li id="GUID-8EA174F1-16A5-5364-9672-5AF6644EC19A-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-7"><p>Key agreement (<xref href="GUID-A47EF879-B23E-339A-9EBC-3622668B83FB.dita"><apiname>MKeyAgreement</apiname></xref> /<xref href="GUID-E70B8C8A-384F-39F0-8845-4CE53E86B286.dita"><apiname>MAsyncKeyAgreement</apiname></xref>) </p> </li>
+<li id="GUID-3988580D-047C-5492-9493-0A5365FEFB84-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-8"><p>Key pair generator (<xref href="GUID-238EBB3C-0ECC-38A5-848E-28716B75931B.dita"><apiname>MKeyPairGenerator</apiname></xref> /<xref href="GUID-5B2CE80F-536F-3B75-9FD9-3C0C98EE3D09.dita"><apiname>MAsyncKeyPairGenerator</apiname></xref>) </p> </li>
+<li id="GUID-05483361-4043-5FC4-A134-AAEA2E31E872-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-3-9"><p>Key generator (<xref href="GUID-1492AF86-FD98-3219-B46B-543DD7066801.dita"><apiname>MSymmetricKeyGenerator</apiname></xref> /<xref href="GUID-A3F12E4C-51D7-3007-A53E-EC53FAEA3D9C.dita"><apiname>MAsyncSymmetricKeyGenerator</apiname></xref>) </p> </li>
+</ul> <p> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref><xref href="GUID-47357E35-5781-3093-80FD-052EC7F0DF3F.dita"><apiname>MPlugin</apiname></xref> (<filepath>cryptoplugin.h</filepath>)
+declares the following pure virtual functions: </p> <codeblock id="GUID-6CDA7919-C31E-50EB-8D67-7A142297DBAF-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-5" xml:space="preserve">virtual void Close() = 0;
+virtual void Reset() = 0;
+virtual void GetCharacteristicsL(const TCharacteristics*&amp; aPluginCharacteristics) = 0;
+virtual const CExtendedCharacteristics&amp; GetExtendedCharacteristicsL() = 0;
+virtual TAny* GetExtension(TUid aExtensionId) = 0;</codeblock> <p>For example,
+the random number generator plug-in implemented in <filepath>softwarecrypto.dll</filepath> implements
+these functions as follows: </p> <codeblock id="GUID-A18C6FDA-4E3C-570E-B700-7680F91D397D-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-5-7" xml:space="preserve">void CRandomImpl::Close()
+    {
+    delete this;
+    }
+
+void CRandomImpl::Reset()
+    { //Not required
+    }
+
+const CExtendedCharacteristics* CRandomImpl::GetExtendedCharacteristicsL()
+ // All Symbian software plug-ins have unlimited concurrency and cannot be reserved
+    // for exclusive use 
+    {
+    return CExtendedCharacteristics::NewL(KMaxTInt, EFalse);
+    }
+
+//Get the plug-in characteristics (defined at compile time)
+void CRandomImpl::GetCharacteristicsL(const TCharacteristics*&amp; aPluginCharacteristics)
+    {
+ //Find out how many algorithms are implemented by the plug-in
+    TInt randomNum = sizeof(KRandomCharacteristics)/sizeof(TRandomCharacteristics*);
+    for (TInt i = 0; i &lt; randomNum; i++)
+        {
+  //Compare implementation UIDs
+  //ImplementationUid() is a helper function that returns KCryptoPluginRandomUid
+        if (KRandomCharacteristics[i]-&gt;cmn.iImplementationUID == ImplementationUid().iUid)
+            {
+            aPluginCharacteristics = KRandomCharacteristics[i];
+            break;
+            }
+        }
+    }
+
+TAny* CRandomImpl::GetExtension(TUid /*aExtensionId*/)
+    {
+    return NULL;
+    }</codeblock> <p>The main purpose of <codeph>MPlugin::Reset()</codeph> is
+to reset the hardware, so is usually not relevant to a software-only implementation. <codeph>GetExtension()</codeph> is
+intended for internal use, and may be removed from the API in future. </p> <p>These
+functions are called through the client API to CryptoSPI, in other words <codeph>CCryptoBase</codeph> and
+the various classes derived from it, in this case, <codeph>CRandom</codeph>.
+For instance when the client calls <xref href="GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F.dita#GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F/GUID-8D93089E-1F97-376B-8CC0-08E0E34158F4"><apiname>CCryptoBase::GetCharacteristicsL()</apiname></xref>,
+this calls <codeph>GetCharacteristicsL()</codeph> in the plug-in, or calling <xref href="GUID-CD88247C-561B-3AB4-BF77-AFD322F860A4.dita#GUID-CD88247C-561B-3AB4-BF77-AFD322F860A4/GUID-F251BF16-E212-3595-9FE8-C7BC754972E1"><apiname>CRandom::GenerateRandomBytesL()</apiname></xref>,
+calls <codeph>GenerateRandomBytesL()</codeph> in the plug-in. </p> </section>
+<section id="GUID-661CE3E1-2FAE-58E1-BBB7-2F72AA8714A2-GENID-1-12-1-26-1-1-11-1-1-3-1-5-1-2-6"><title>The configuration
+file</title> <p>The set of available plug-ins is listed in the configuration
+file <filepath>z:\resource\cryptospi\plug-ins.txt</filepath>. Each line in
+the file contains the filename of a single plug-in DLL, without the path.
+The path is not required because the DLLs are assumed to be located in <filepath>z:\sys\bin</filepath>.
+The configuration file must be on the <filepath>Z:</filepath> drive and therefore
+additional plug-ins cannot be installed post-manufacture. Depending on the
+plug-in selector in use, plug-ins may be loaded individually, as required,
+or all at once when CryptoSPI is initialized. The default selector implemented
+by Symbian (<codeph>CLegacySelector</codeph>) loads plug-in DLLs as required. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1" xml:lang="en"><title>How
+to create a CryptoSPI plug-in</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-B0B7D886-8759-4806-9BB2-CC378B3A37CC-GENID-1-12-1-26-1-1-9-1-10-1-2-1"><title>Introduction</title> <p><b>Note</b>:
+this document is intended for device manufacturers. </p> <p>The purpose of
+a CryptoSPI plug-in is to implement one or more cryptographic algorithms. </p> <p>Symbian
+provides a plug-in called <filepath>softwarecrypto.dll</filepath> that implements
+all algorithms supported by the legacy (pre-Symbian^3) cryptography APIs.
+In Symbian^3, the legacy APIs have all been re-implemented to use this plug-in
+DLL. The source code for <filepath>softwarecrypto.dll</filepath> is located
+under <filepath>src/common/generic/security/cryptospi/source/softwarecrypto/</filepath>. </p> <p>This
+is a summary of the steps involved in creating a plug-in, in no particular
+order. Details of each step are given in the rest of the document. </p> <ul>
+<li id="GUID-9E62C60F-AE68-57D4-939A-43631715D89C-GENID-1-12-1-26-1-1-9-1-10-1-2-1-6-1"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1/GUID-FFA64681-40E3-5DCE-A4EC-3EEC75A35D63-GENID-1-12-1-26-1-1-9-1-10-1-2-2">Create the MMP file</xref>. </p> </li>
+<li id="GUID-3726FB61-4B29-5AAF-AB57-A665DB1F6C0A-GENID-1-12-1-26-1-1-9-1-10-1-2-1-6-2"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1/GUID-4B845864-BB8E-5207-8210-A3F608DF6E69-GENID-1-12-1-26-1-1-9-1-10-1-2-3">Define the characteristics of the algorithms.</xref>  </p> </li>
+<li id="GUID-66A983CE-8D31-5B73-A326-4601B24F4C6B-GENID-1-12-1-26-1-1-9-1-10-1-2-1-6-3"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1/GUID-CA441465-BDAB-5B7A-B75D-3B877EBE346F-GENID-1-12-1-26-1-1-9-1-10-1-2-4">Implement all or a subset of the functions defined in pluginentrydef.h</xref>. </p> </li>
+<li id="GUID-AE856A3F-122C-50AF-BBB4-5A6136CA64B5-GENID-1-12-1-26-1-1-9-1-10-1-2-1-6-4"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1/GUID-6ECA8DAB-37C4-5D83-9DBC-10641AA7B636-GENID-1-12-1-26-1-1-9-1-10-1-2-5">Implement the MPlugin-derived objects</xref>. </p> </li>
+<li id="GUID-FE96900F-EBF2-528A-B0C6-2BA32DB65C77-GENID-1-12-1-26-1-1-9-1-10-1-2-1-6-5"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1/GUID-661CE3E1-2FAE-58E1-BBB7-2F72AA8714A2-GENID-1-12-1-26-1-1-9-1-10-1-2-6">Update the ROM configuration file</xref>. </p> </li>
+</ul> </section>
+<section id="GUID-FFA64681-40E3-5DCE-A4EC-3EEC75A35D63-GENID-1-12-1-26-1-1-9-1-10-1-2-2"><title>How to create
+the MMP file</title> <p>See for instance <filepath>src/common/generic/security/cryptospi/group/softwarecrypto.mmp</filepath>. </p> <codeblock id="GUID-842C71A7-45F4-5BFA-A088-BC4424741296-GENID-1-12-1-26-1-1-9-1-10-1-2-2-3" xml:space="preserve">TARGET softwarecrypto.dll
+TARGETTYPE dll
+
+UID        0x1000008d 0x102835C2
+VENDORID     0x70000001
+
+CAPABILITY    All
+
+DEFFILE        softwarecrypto.def
+
+USERINCLUDE        .
+USERINCLUDE        ..\inc 
+USERINCLUDE        ..\inc\spi
+SYSTEMINCLUDE    \epoc32\include
+SYSTEMINCLUDE    \epoc32\include\cryptospi
+
+SOURCEPATH    ..\source\softwarecrypto
+SOURCE pluginentry.cpp
+SOURCE md2impl.cpp md5impl.cpp sha1impl.cpp hmacimpl.cpp
+SOURCE 3desimpl.cpp desimpl.cpp rc2impl.cpp rijndaelimpl.cpp arc4impl.cpp symmetriccipherimpl.cpp
+SOURCE randomimpl.cpp dsasignerimpl.cpp dsaverifyimpl.cpp rsaimpl.cpp rsafunction.cpp
+SOURCE signerimpl.cpp verifierimpl.cpp asymmetriccipherimpl.cpp
+
+LIBRARY euser.lib cryptospi.lib
+
+// Depends on bigint and padding code
+LIBRARY cryptography.lib
+//Depends on random server for random number generation
+LIBRARY random.lib</codeblock> <p>Key points: </p> <ul>
+<li id="GUID-0C322CF3-197E-5773-A4BB-CDF4943BE588-GENID-1-12-1-26-1-1-9-1-10-1-2-2-5-1"><p> <codeph>0x1000008d</codeph> identifies
+the DLL as static (not polymorphic or an ECOM plug-in) and <codeph>0x102835C2</codeph> is
+unique to this plug-in, allocated by Symbian Signed. </p> </li>
+<li id="GUID-3D1094C3-A59C-58D0-9873-E5A24935785A-GENID-1-12-1-26-1-1-9-1-10-1-2-2-5-2"><p>It is recommended that
+plug-ins have <codeph>ALL</codeph> capabilities because this ensures that
+they can be loaded by client applications with any capabilities. </p> </li>
+<li id="GUID-47338BE3-4A8C-5B17-BF37-184F996B0A2C-GENID-1-12-1-26-1-1-9-1-10-1-2-2-5-3"><p>The project needs to
+link against <filepath>cryptospi.lib</filepath>, the CryptoSPI library. </p> </li>
+<li id="GUID-1A985A73-A776-5AE1-A4BD-4CC3227CE223-GENID-1-12-1-26-1-1-9-1-10-1-2-2-5-4"><p>The plug-in needs to
+link against <filepath>cryptography.lib</filepath> because big integers (<codeph>RInteger</codeph>)
+are implemented in <filepath>cryptography.dll</filepath>. </p> </li>
+<li id="GUID-7DEC5079-A30D-5D16-B2EC-FA03605691ED-GENID-1-12-1-26-1-1-9-1-10-1-2-2-5-5"><p> <codeph>SYSTEMINCLUDE
+\epoc32\include\cryptospi</codeph> allows code to <codeph>#include</codeph> the
+CryptoSPI header files, which are all exported to <filepath>epoc32\include\cryptospi\</filepath>. </p> </li>
+</ul> </section>
+<section id="GUID-4B845864-BB8E-5207-8210-A3F608DF6E69-GENID-1-12-1-26-1-1-9-1-10-1-2-3"><title>How to define
+the algorithm's characteristics</title> <p>All plug-ins must define the characteristics
+of their algorithm implementations that are fixed at compile time, as constant
+data. Some characteristics are common to all interface types, for instance
+the name and UID of the algorithm implemented, the name of the plug-in vendor,
+whether the plug-in uses hardware acceleration, and whether it is FIPS certified.
+Common characteristics are defined in <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-38201D43-59F9-34A1-9940-14997613998F"><apiname>CryptoSpi::TCommonCharacteristics</apiname></xref>: </p> <codeblock id="GUID-EAEADE27-C875-5713-92DC-050460D22ED5-GENID-1-12-1-26-1-1-9-1-10-1-2-3-3" xml:space="preserve">class TCommonCharacteristics
+    {
+    public:
+      ...
+      TInt32 iInterfaceUID;
+      TInt32 iAlgorithmUID;
+      TInt32 iImplementationUID;
+      const TRomLitC16* iCreatorName;
+      TBool iIsFIPSApproved;
+      TBool iIsHardwareSupported;
+      TUint iMaxConcurrencySupported;
+      const TRomLitC16* iAlgorithmName;
+      TInt iLatency;
+      TInt iThroughput;
+      };
+</codeblock> <p>Other characteristics are specific to a particular interface.
+For each interface type, a T class is defined as an aggregation of a <xref href="GUID-BB5BF1BA-686D-30DC-AB50-9F1F58F78051.dita"><apiname>TCommonCharacteristics</apiname></xref> object
+and some additional characteristics particular to that interface. For instance, <xref href="GUID-F8CF1F2E-E6EC-3ABE-B18A-C4821115E0AD.dita"><apiname>THashCharacteristics</apiname></xref> includes
+a block size, output size and operation mode. (The operation mode can be either <codeph>KHashMode</codeph> or <codeph>KHmacMode</codeph>,
+and indicates whether the hash algorithm is an HMAC or not.) </p> <codeblock id="GUID-628BA925-B38B-54F1-B69A-E630E50BB6BF-GENID-1-12-1-26-1-1-9-1-10-1-2-3-5" xml:space="preserve">class THashCharacteristics
+    {
+    public:
+      IMPORT_C TBool IsOperationModeSupported(TUid aOperationMode) const;        
+        
+    public:
+      TCommonCharacteristics cmn;
+      TUint iBlockSize;
+      TUint iOutputSize;
+      const TInt32* iSupportedOperationModes;
+      TUint iOperationModeNum;
+      };
+</codeblock> <p>All the data types relating to characteristics are defined
+in <filepath>plugincharacteristics.h</filepath>. </p> <p>For an example, see <filepath>src/common/generic/security/cryptospi/source/softwarecrypto/pluginconfig.h</filepath>. </p> </section>
+<section id="GUID-CA441465-BDAB-5B7A-B75D-3B877EBE346F-GENID-1-12-1-26-1-1-9-1-10-1-2-4"><title>How to implement
+the framework code</title> <p>Plug-in modules must implement a defined set
+of functions exported at defined ordinals. The function prototypes and the
+ordinals (see <xref href="GUID-8C054BE1-1F0D-362D-A8CD-B868488FAAE2.dita"><apiname>TPluginEntryOrdinal</apiname></xref>) are defined in <filepath>pluginentrydef.h</filepath>.
+When a client requests an algorithm, these functions are used by CryptoSPI
+to query and instantiate algorithm implementations. The simplest way to ensure
+that functions are assigned the correct ordinal is to copy the <filepath>softwarecryptoU.def</filepath> exports
+file, which can be found in the <filepath>EABI</filepath> and <filepath>BWINS</filepath> directories
+in the CryptoSPI source code. </p> <p>Minimally, the plug-in DLL must implement
+the function exported at ordinal 1, whose prototype is: </p> <codeblock id="GUID-A6D535EF-5657-5195-A375-5465B588427E-GENID-1-12-1-26-1-1-9-1-10-1-2-4-4" xml:space="preserve">typedef const TCharacteristics** (*EnumerateCharacteristicsFunc)(TUid, TInt&amp;);</codeblock> <p>and at least one of the algorithm factory functions. See for example
+class <codeph>CCryptoPluginEntry</codeph> (<filepath>pluginentry.h</filepath> / <filepath>pluginentry.cpp</filepath>). </p> <p>If
+the plug-in DLL does not support a particular algorithm, the <codeph>ABSENT</codeph> keyword
+should be used in its <filepath>.def</filepath> file to ensure any subsequent
+exports are at the correct ordinals. </p> <p><b>Querying the characteristics
+of plug-ins</b> </p> <p>CryptoSPI builds up a list of the characteristics
+of all the plug-in DLLs by calling the function exported at ordinal 1 (<codeph>EEnumerateCharacteristicsOrdinal</codeph>)
+for each DLL and for each interface type. Here is an example implementation: </p> <codeblock id="GUID-02B7F687-19A5-527D-922E-09A32FC728C1-GENID-1-12-1-26-1-1-9-1-10-1-2-4-9" xml:space="preserve">EXPORT_C const TCharacteristics** CCryptoPluginEntry::Enumerate(TUid aInterface, TInt&amp; aNumPlugins)
+    {
+    const TCharacteristics** ptr(0);
+    switch (aInterface.iUid)
+        {
+    case KHashInterface:
+        {
+        aNumPlugins=sizeof(KHashCharacteristics)/sizeof(THashCharacteristics*);
+        ptr = (const TCharacteristics**) &amp;KHashCharacteristics[0];
+        }
+        break;
+
+    case KRandomInterface:
+        {
+        aNumPlugins=sizeof(KRandomCharacteristics)/sizeof(TRandomCharacteristics*);
+        ptr= (const TCharacteristics**) &amp;KRandomCharacteristics[0];
+        }
+        break;
+  ...
+  }
+ return ptr;
+ }
+</codeblock> <p>Key points: </p> <ul>
+<li id="GUID-CBAC6B6F-30CC-5B57-BF58-A4B14C94A04A-GENID-1-12-1-26-1-1-9-1-10-1-2-4-11-1"><p>Every plug-in must implement
+this function. </p> </li>
+<li id="GUID-E263363A-4137-5D7E-8988-4B25E492D39F-GENID-1-12-1-26-1-1-9-1-10-1-2-4-11-2"><p> <codeph>TUid aInterface</codeph> is
+the interface UID, as defined in <codeph>CryptoSpi::KInterfacesUids</codeph>. </p> </li>
+<li id="GUID-C7A913A0-DD63-599F-8A34-EA2D7466B050-GENID-1-12-1-26-1-1-9-1-10-1-2-4-11-3"><p> <codeph>TInt&amp; aNumPlugins</codeph> should
+be set to the number of algorithms of that interface type implemented by the
+plug-in. </p> </li>
+</ul> <p><b>Extended characteristics</b> </p> <p>Extended characteristics
+are those which can only be determined at runtime. They are retrieved on demand
+by CryptoSPI or clients can call the plug-in's implementation of <codeph>CryptoSpi::CCryptoBase::GetExtendedCharacteristicsL()</codeph>. </p> <p>The
+function exported at ordinal 2 has this prototype: </p> <codeblock id="GUID-5A10F3D2-DAE9-55F6-BF1A-A0E001637ACE-GENID-1-12-1-26-1-1-9-1-10-1-2-4-15" xml:space="preserve">typedef void (*GetExtendedCharacteristicsFuncL)(TUid, CExtendedCharacteristics*&amp;);</codeblock> <p>Symbian defines 2 extended characteristics: </p> <ul>
+<li id="GUID-DFCA6450-2121-5257-9F26-A11FD8995E5D-GENID-1-12-1-26-1-1-9-1-10-1-2-4-17-1"><p> <codeph>TInt iAvailableConcurrency;</codeph>  </p> <p>The
+number of available resources for processing the operation for the requested
+plug-in. This could be zero even if no operations are in progress; for instance
+cryptographic acceleration hardware is turned off to save battery power. </p> </li>
+<li id="GUID-FEA9BD5F-B264-5316-9B15-FD5E0E51CAC2-GENID-1-12-1-26-1-1-9-1-10-1-2-4-17-2"><p> <codeph>TBool iExclusiveUse;</codeph>  </p> <p>Whether
+it is possible for the application to reserve exclusive use of hardware resources
+used by the plug-in. </p> </li>
+</ul> <p>Additional plug-in specific characteristics may be defined. The plug-in
+creator needs to define UIDs for each of these and specify the UID when calling <codeph>CryptoSpi::CExtendedCharacteristics::AddCharacteristicL()</codeph>. </p> <p><b>Algorithm instantiation</b> </p> <p>A plug-in must implement
+one or more factory methods for instantiating algorithms. The functions exported
+at ordinals 3 to 20 have the following declarations. (Note that symmetric
+key generation is not yet implemented by Symbian's software crypto plug-in,
+so the ordinals <codeph>ECreateSymmetricKeyGeneratorOrdinal</codeph> and <codeph>ECreateAsyncSymmetricKeyGeneratorOrdinal</codeph> have
+no corresponding declarations). </p> <codeblock id="GUID-A6330276-FB1A-5C14-A2BF-5BBCD452614B-GENID-1-12-1-26-1-1-9-1-10-1-2-4-21" xml:space="preserve">typedef void (*CreateRandomFuncL)(MRandom*&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateHashFuncL)(MHash*&amp;, TUid, TUid, const CKey*, const CCryptoParams*);
+typedef void (*CreateSymmetricCipherFuncL)(MSymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateAsymmetricCipherFuncL)(MAsymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateSignerFuncL)(MSigner*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateVerifierFuncL)(MVerifier*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateKeyAgreementFuncL)(MKeyAgreement*&amp;, TUid, const CKey&amp;, const CCryptoParams*);
+typedef void (*CreateKeyPairGeneratorFuncL)(MKeyPairGenerator*&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncRandomFuncL)(MAsyncRandom*&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncHashFuncL)(MAsyncHash*&amp;, TUid, TUid, const CKey*, const CCryptoParams*);
+typedef void (*CreateAsyncSymmetricCipherFuncL)(MAsyncSymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncAsymmetricCipherFuncL)(MAsyncAsymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncSignerFuncL)(MAsyncSigner*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncVerifierFuncL)(MAsyncVerifier*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
+typedef void (*CreateAsyncKeyAgreementFuncL)(MAsyncKeyAgreement*&amp;, TUid, const CKey&amp;, const CCryptoParams*);
+typedef void (*CreateAsyncKeyPairGeneratorFuncL)(MAsyncKeyPairGenerator*&amp;, TUid, const CCryptoParams*);</codeblock> <p>Clients
+instantiate algorithms by calling one of the CryptoSPI factory methods, for
+instance <xref href="GUID-FF3CFE33-C90A-328C-BF80-0A03B821AE1C.dita#GUID-FF3CFE33-C90A-328C-BF80-0A03B821AE1C/GUID-D91B2099-C9F4-3B7C-843F-39A654DC0555"><apiname>CHashFactory::CreateHashL()</apiname></xref>. All CryptoSPI factory
+methods take a <xref href="GUID-C3704390-D2DD-3DFF-A1E3-433C5030044B.dita"><apiname>CCryptoParams</apiname></xref> parameter. This class allows
+clients to supply arbitrary, algorithm-specific data to plug-ins, for instance
+the effective key length for RC2, or the number of bytes to discard from the
+keystream for ARC4. </p> <p>The data type of each parameter can be integer
+(<codeph>TInt</codeph>), big integer (<codeph>RInteger</codeph>), or 8/16
+bit descriptor. Additional data types could be added in future, by extending
+the <codeph>TParamType</codeph> enum in <codeph>CCryptoParam</codeph> and
+deriving a class from <codeph>CCryptoParam</codeph>, but this is unlikely
+to be necessary. </p> </section>
+<section id="GUID-6ECA8DAB-37C4-5D83-9DBC-10641AA7B636-GENID-1-12-1-26-1-1-9-1-10-1-2-5"><title>How to implement
+the MPlugin-derived class</title> <p>All concrete algorithm classes are derived
+from one of the abstract base classes listed below, which are in turn all
+derived from <codeph>MPlugin</codeph>. </p> <ul>
+<li id="GUID-83E757D2-E70D-51D3-BF46-53A2F8A8A3E9-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-1"><p>Random (<xref href="GUID-53D7EA29-2736-3B19-AA69-915FAD2A7130.dita"><apiname>MRandom</apiname></xref> /<xref href="GUID-A19A4B6F-CCF2-3167-B757-F8308B7B7C26.dita"><apiname>MAsyncRandom</apiname></xref>) </p> </li>
+<li id="GUID-ABDD0216-BA34-5DD1-8D07-064B3F1EAB02-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-2"><p>Hash (<xref href="GUID-6896A7F0-AE37-369E-AB54-F069A7DE3FDB.dita"><apiname>MHash</apiname></xref> /<xref href="GUID-A4B3807A-82D1-39D3-8D00-D2A1D41EFEA5.dita"><apiname>MAsyncHash</apiname></xref>) </p> </li>
+<li id="GUID-5611F951-0471-5A54-BCFE-4DBDB9FF7B1A-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-3"><p>Symmetric cipher (<xref href="GUID-733DAE85-68B3-3211-808A-4FBD9C1E1F05.dita"><apiname>MSymmetricCipher</apiname></xref> /<xref href="GUID-545AE46E-8CF1-3470-8F10-5FCB6D79859E.dita"><apiname>MAsyncSymmetricCipher</apiname></xref>) </p> </li>
+<li id="GUID-C87B0A48-C66F-5E5E-BEA4-BB3F187AA59D-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-4"><p>Asymmetric cipher (<xref href="GUID-C044BB6D-6E78-3698-8710-89FFB7A6CDFD.dita"><apiname>MAsymmetricCipher</apiname></xref> /<xref href="GUID-EE7FCCA6-D86F-30E2-BB6A-862BAE111344.dita"><apiname>MAsyncAsymmetricCipher</apiname></xref>) </p> </li>
+<li id="GUID-EE95A2C8-4F9C-5052-8709-AD7C1D2A5E6F-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-5"><p>Signer (<xref href="GUID-59F2E24A-5F48-383F-95C6-88A5B432E121.dita"><apiname>MSigner</apiname></xref> /<xref href="GUID-B0EC8744-B525-3599-B1B4-00E4A9C62C7A.dita"><apiname>MAsyncSigner</apiname></xref>) </p> </li>
+<li id="GUID-717313C9-B2A3-5E78-8A61-A4C3093627BF-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-6"><p>Verifier (<xref href="GUID-98E08EBD-3758-39D6-A2B1-EC42F66D2F84.dita"><apiname>MVerifier</apiname></xref> /<xref href="GUID-BCCA1F97-B568-3B75-9974-5E70F1ADDEFA.dita"><apiname>MAsyncVerifier</apiname></xref>) </p> </li>
+<li id="GUID-8EA174F1-16A5-5364-9672-5AF6644EC19A-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-7"><p>Key agreement (<xref href="GUID-A47EF879-B23E-339A-9EBC-3622668B83FB.dita"><apiname>MKeyAgreement</apiname></xref> /<xref href="GUID-E70B8C8A-384F-39F0-8845-4CE53E86B286.dita"><apiname>MAsyncKeyAgreement</apiname></xref>) </p> </li>
+<li id="GUID-3988580D-047C-5492-9493-0A5365FEFB84-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-8"><p>Key pair generator (<xref href="GUID-238EBB3C-0ECC-38A5-848E-28716B75931B.dita"><apiname>MKeyPairGenerator</apiname></xref> /<xref href="GUID-5B2CE80F-536F-3B75-9FD9-3C0C98EE3D09.dita"><apiname>MAsyncKeyPairGenerator</apiname></xref>) </p> </li>
+<li id="GUID-05483361-4043-5FC4-A134-AAEA2E31E872-GENID-1-12-1-26-1-1-9-1-10-1-2-5-3-9"><p>Key generator (<xref href="GUID-1492AF86-FD98-3219-B46B-543DD7066801.dita"><apiname>MSymmetricKeyGenerator</apiname></xref> /<xref href="GUID-A3F12E4C-51D7-3007-A53E-EC53FAEA3D9C.dita"><apiname>MAsyncSymmetricKeyGenerator</apiname></xref>) </p> </li>
+</ul> <p> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref><xref href="GUID-47357E35-5781-3093-80FD-052EC7F0DF3F.dita"><apiname>MPlugin</apiname></xref> (<filepath>cryptoplugin.h</filepath>)
+declares the following pure virtual functions: </p> <codeblock id="GUID-6CDA7919-C31E-50EB-8D67-7A142297DBAF-GENID-1-12-1-26-1-1-9-1-10-1-2-5-5" xml:space="preserve">virtual void Close() = 0;
+virtual void Reset() = 0;
+virtual void GetCharacteristicsL(const TCharacteristics*&amp; aPluginCharacteristics) = 0;
+virtual const CExtendedCharacteristics&amp; GetExtendedCharacteristicsL() = 0;
+virtual TAny* GetExtension(TUid aExtensionId) = 0;</codeblock> <p>For example,
+the random number generator plug-in implemented in <filepath>softwarecrypto.dll</filepath> implements
+these functions as follows: </p> <codeblock id="GUID-A18C6FDA-4E3C-570E-B700-7680F91D397D-GENID-1-12-1-26-1-1-9-1-10-1-2-5-7" xml:space="preserve">void CRandomImpl::Close()
+    {
+    delete this;
+    }
+
+void CRandomImpl::Reset()
+    { //Not required
+    }
+
+const CExtendedCharacteristics* CRandomImpl::GetExtendedCharacteristicsL()
+ // All Symbian software plug-ins have unlimited concurrency and cannot be reserved
+    // for exclusive use 
+    {
+    return CExtendedCharacteristics::NewL(KMaxTInt, EFalse);
+    }
+
+//Get the plug-in characteristics (defined at compile time)
+void CRandomImpl::GetCharacteristicsL(const TCharacteristics*&amp; aPluginCharacteristics)
+    {
+ //Find out how many algorithms are implemented by the plug-in
+    TInt randomNum = sizeof(KRandomCharacteristics)/sizeof(TRandomCharacteristics*);
+    for (TInt i = 0; i &lt; randomNum; i++)
+        {
+  //Compare implementation UIDs
+  //ImplementationUid() is a helper function that returns KCryptoPluginRandomUid
+        if (KRandomCharacteristics[i]-&gt;cmn.iImplementationUID == ImplementationUid().iUid)
+            {
+            aPluginCharacteristics = KRandomCharacteristics[i];
+            break;
+            }
+        }
+    }
+
+TAny* CRandomImpl::GetExtension(TUid /*aExtensionId*/)
+    {
+    return NULL;
+    }</codeblock> <p>The main purpose of <codeph>MPlugin::Reset()</codeph> is
+to reset the hardware, so is usually not relevant to a software-only implementation. <codeph>GetExtension()</codeph> is
+intended for internal use, and may be removed from the API in future. </p> <p>These
+functions are called through the client API to CryptoSPI, in other words <codeph>CCryptoBase</codeph> and
+the various classes derived from it, in this case, <codeph>CRandom</codeph>.
+For instance when the client calls <xref href="GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F.dita#GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F/GUID-8D93089E-1F97-376B-8CC0-08E0E34158F4"><apiname>CCryptoBase::GetCharacteristicsL()</apiname></xref>,
+this calls <codeph>GetCharacteristicsL()</codeph> in the plug-in, or calling <xref href="GUID-CD88247C-561B-3AB4-BF77-AFD322F860A4.dita#GUID-CD88247C-561B-3AB4-BF77-AFD322F860A4/GUID-F251BF16-E212-3595-9FE8-C7BC754972E1"><apiname>CRandom::GenerateRandomBytesL()</apiname></xref>,
+calls <codeph>GenerateRandomBytesL()</codeph> in the plug-in. </p> </section>
+<section id="GUID-661CE3E1-2FAE-58E1-BBB7-2F72AA8714A2-GENID-1-12-1-26-1-1-9-1-10-1-2-6"><title>The configuration
+file</title> <p>The set of available plug-ins is listed in the configuration
+file <filepath>z:\resource\cryptospi\plug-ins.txt</filepath>. Each line in
+the file contains the filename of a single plug-in DLL, without the path.
+The path is not required because the DLLs are assumed to be located in <filepath>z:\sys\bin</filepath>.
+The configuration file must be on the <filepath>Z:</filepath> drive and therefore
+additional plug-ins cannot be installed post-manufacture. Depending on the
+plug-in selector in use, plug-ins may be loaded individually, as required,
+or all at once when CryptoSPI is initialized. The default selector implemented
+by Symbian (<codeph>CLegacySelector</codeph>) loads plug-in DLLs as required. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7" xml:lang="en"><title>How
-to create a CryptoSPI plug-in</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-B0B7D886-8759-4806-9BB2-CC378B3A37CC"><title>Introduction</title> <p><b>Note</b>:
-this document is intended for device manufacturers. </p> <p>The purpose of
-a CryptoSPI plug-in is to implement one or more cryptographic algorithms. </p> <p>Symbian
-provides a plug-in called <filepath>softwarecrypto.dll</filepath> that implements
-all algorithms supported by the legacy (pre-Symbian^3) cryptography APIs.
-In Symbian^3, the legacy APIs have all been re-implemented to use this plug-in
-DLL. The source code for <filepath>softwarecrypto.dll</filepath> is located
-under <filepath>src/common/generic/security/cryptospi/source/softwarecrypto/</filepath>. </p> <p>This
-is a summary of the steps involved in creating a plug-in, in no particular
-order. Details of each step are given in the rest of the document. </p> <ul>
-<li id="GUID-9E62C60F-AE68-57D4-939A-43631715D89C"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7/GUID-FFA64681-40E3-5DCE-A4EC-3EEC75A35D63">Create the MMP file</xref>. </p> </li>
-<li id="GUID-3726FB61-4B29-5AAF-AB57-A665DB1F6C0A"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7/GUID-4B845864-BB8E-5207-8210-A3F608DF6E69">Define the characteristics of the algorithms.</xref>  </p> </li>
-<li id="GUID-66A983CE-8D31-5B73-A326-4601B24F4C6B"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7/GUID-CA441465-BDAB-5B7A-B75D-3B877EBE346F">Implement all or a subset of the functions defined in pluginentrydef.h</xref>. </p> </li>
-<li id="GUID-AE856A3F-122C-50AF-BBB4-5A6136CA64B5"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7/GUID-6ECA8DAB-37C4-5D83-9DBC-10641AA7B636">Implement the MPlugin-derived objects</xref>. </p> </li>
-<li id="GUID-FE96900F-EBF2-528A-B0C6-2BA32DB65C77"><p> <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita#GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7/GUID-661CE3E1-2FAE-58E1-BBB7-2F72AA8714A2">Update the ROM configuration file</xref>. </p> </li>
-</ul> </section>
-<section id="GUID-FFA64681-40E3-5DCE-A4EC-3EEC75A35D63"><title>How to create
-the MMP file</title> <p>See for instance <filepath>src/common/generic/security/cryptospi/group/softwarecrypto.mmp</filepath>. </p> <codeblock id="GUID-842C71A7-45F4-5BFA-A088-BC4424741296" xml:space="preserve">TARGET softwarecrypto.dll
-TARGETTYPE dll
-
-UID        0x1000008d 0x102835C2
-VENDORID     0x70000001
-
-CAPABILITY    All
-
-DEFFILE        softwarecrypto.def
-
-USERINCLUDE        .
-USERINCLUDE        ..\inc 
-USERINCLUDE        ..\inc\spi
-SYSTEMINCLUDE    \epoc32\include
-SYSTEMINCLUDE    \epoc32\include\cryptospi
-
-SOURCEPATH    ..\source\softwarecrypto
-SOURCE pluginentry.cpp
-SOURCE md2impl.cpp md5impl.cpp sha1impl.cpp hmacimpl.cpp
-SOURCE 3desimpl.cpp desimpl.cpp rc2impl.cpp rijndaelimpl.cpp arc4impl.cpp symmetriccipherimpl.cpp
-SOURCE randomimpl.cpp dsasignerimpl.cpp dsaverifyimpl.cpp rsaimpl.cpp rsafunction.cpp
-SOURCE signerimpl.cpp verifierimpl.cpp asymmetriccipherimpl.cpp
-
-LIBRARY euser.lib cryptospi.lib
-
-// Depends on bigint and padding code
-LIBRARY cryptography.lib
-//Depends on random server for random number generation
-LIBRARY random.lib</codeblock> <p>Key points: </p> <ul>
-<li id="GUID-0C322CF3-197E-5773-A4BB-CDF4943BE588"><p> <codeph>0x1000008d</codeph> identifies
-the DLL as static (not polymorphic or an ECOM plug-in) and <codeph>0x102835C2</codeph> is
-unique to this plug-in, allocated by Symbian Signed. </p> </li>
-<li id="GUID-3D1094C3-A59C-58D0-9873-E5A24935785A"><p>It is recommended that
-plug-ins have <codeph>ALL</codeph> capabilities because this ensures that
-they can be loaded by client applications with any capabilities. </p> </li>
-<li id="GUID-47338BE3-4A8C-5B17-BF37-184F996B0A2C"><p>The project needs to
-link against <filepath>cryptospi.lib</filepath>, the CryptoSPI library. </p> </li>
-<li id="GUID-1A985A73-A776-5AE1-A4BD-4CC3227CE223"><p>The plug-in needs to
-link against <filepath>cryptography.lib</filepath> because big integers (<codeph>RInteger</codeph>)
-are implemented in <filepath>cryptography.dll</filepath>. </p> </li>
-<li id="GUID-7DEC5079-A30D-5D16-B2EC-FA03605691ED"><p> <codeph>SYSTEMINCLUDE
-\epoc32\include\cryptospi</codeph> allows code to <codeph>#include</codeph> the
-CryptoSPI header files, which are all exported to <filepath>epoc32\include\cryptospi\</filepath>. </p> </li>
-</ul> </section>
-<section id="GUID-4B845864-BB8E-5207-8210-A3F608DF6E69"><title>How to define
-the algorithm's characteristics</title> <p>All plug-ins must define the characteristics
-of their algorithm implementations that are fixed at compile time, as constant
-data. Some characteristics are common to all interface types, for instance
-the name and UID of the algorithm implemented, the name of the plug-in vendor,
-whether the plug-in uses hardware acceleration, and whether it is FIPS certified.
-Common characteristics are defined in <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-38201D43-59F9-34A1-9940-14997613998F"><apiname>CryptoSpi::TCommonCharacteristics</apiname></xref>: </p> <codeblock id="GUID-EAEADE27-C875-5713-92DC-050460D22ED5" xml:space="preserve">class TCommonCharacteristics
-    {
-    public:
-      ...
-      TInt32 iInterfaceUID;
-      TInt32 iAlgorithmUID;
-      TInt32 iImplementationUID;
-      const TRomLitC16* iCreatorName;
-      TBool iIsFIPSApproved;
-      TBool iIsHardwareSupported;
-      TUint iMaxConcurrencySupported;
-      const TRomLitC16* iAlgorithmName;
-      TInt iLatency;
-      TInt iThroughput;
-      };
-</codeblock> <p>Other characteristics are specific to a particular interface.
-For each interface type, a T class is defined as an aggregation of a <xref href="GUID-BB5BF1BA-686D-30DC-AB50-9F1F58F78051.dita"><apiname>TCommonCharacteristics</apiname></xref> object
-and some additional characteristics particular to that interface. For instance, <xref href="GUID-F8CF1F2E-E6EC-3ABE-B18A-C4821115E0AD.dita"><apiname>THashCharacteristics</apiname></xref> includes
-a block size, output size and operation mode. (The operation mode can be either <codeph>KHashMode</codeph> or <codeph>KHmacMode</codeph>,
-and indicates whether the hash algorithm is an HMAC or not.) </p> <codeblock id="GUID-628BA925-B38B-54F1-B69A-E630E50BB6BF" xml:space="preserve">class THashCharacteristics
-    {
-    public:
-      IMPORT_C TBool IsOperationModeSupported(TUid aOperationMode) const;        
-        
-    public:
-      TCommonCharacteristics cmn;
-      TUint iBlockSize;
-      TUint iOutputSize;
-      const TInt32* iSupportedOperationModes;
-      TUint iOperationModeNum;
-      };
-</codeblock> <p>All the data types relating to characteristics are defined
-in <filepath>plugincharacteristics.h</filepath>. </p> <p>For an example, see <filepath>src/common/generic/security/cryptospi/source/softwarecrypto/pluginconfig.h</filepath>. </p> </section>
-<section id="GUID-CA441465-BDAB-5B7A-B75D-3B877EBE346F"><title>How to implement
-the framework code</title> <p>Plug-in modules must implement a defined set
-of functions exported at defined ordinals. The function prototypes and the
-ordinals (see <xref href="GUID-8C054BE1-1F0D-362D-A8CD-B868488FAAE2.dita"><apiname>TPluginEntryOrdinal</apiname></xref>) are defined in <filepath>pluginentrydef.h</filepath>.
-When a client requests an algorithm, these functions are used by CryptoSPI
-to query and instantiate algorithm implementations. The simplest way to ensure
-that functions are assigned the correct ordinal is to copy the <filepath>softwarecryptoU.def</filepath> exports
-file, which can be found in the <filepath>EABI</filepath> and <filepath>BWINS</filepath> directories
-in the CryptoSPI source code. </p> <p>Minimally, the plug-in DLL must implement
-the function exported at ordinal 1, whose prototype is: </p> <codeblock id="GUID-A6D535EF-5657-5195-A375-5465B588427E" xml:space="preserve">typedef const TCharacteristics** (*EnumerateCharacteristicsFunc)(TUid, TInt&amp;);</codeblock> <p>and at least one of the algorithm factory functions. See for example
-class <codeph>CCryptoPluginEntry</codeph> (<filepath>pluginentry.h</filepath> / <filepath>pluginentry.cpp</filepath>). </p> <p>If
-the plug-in DLL does not support a particular algorithm, the <codeph>ABSENT</codeph> keyword
-should be used in its <filepath>.def</filepath> file to ensure any subsequent
-exports are at the correct ordinals. </p> <p><b>Querying the characteristics
-of plug-ins</b> </p> <p>CryptoSPI builds up a list of the characteristics
-of all the plug-in DLLs by calling the function exported at ordinal 1 (<codeph>EEnumerateCharacteristicsOrdinal</codeph>)
-for each DLL and for each interface type. Here is an example implementation: </p> <codeblock id="GUID-02B7F687-19A5-527D-922E-09A32FC728C1" xml:space="preserve">EXPORT_C const TCharacteristics** CCryptoPluginEntry::Enumerate(TUid aInterface, TInt&amp; aNumPlugins)
-    {
-    const TCharacteristics** ptr(0);
-    switch (aInterface.iUid)
-        {
-    case KHashInterface:
-        {
-        aNumPlugins=sizeof(KHashCharacteristics)/sizeof(THashCharacteristics*);
-        ptr = (const TCharacteristics**) &amp;KHashCharacteristics[0];
-        }
-        break;
-
-    case KRandomInterface:
-        {
-        aNumPlugins=sizeof(KRandomCharacteristics)/sizeof(TRandomCharacteristics*);
-        ptr= (const TCharacteristics**) &amp;KRandomCharacteristics[0];
-        }
-        break;
-  ...
-  }
- return ptr;
- }
-</codeblock> <p>Key points: </p> <ul>
-<li id="GUID-CBAC6B6F-30CC-5B57-BF58-A4B14C94A04A"><p>Every plug-in must implement
-this function. </p> </li>
-<li id="GUID-E263363A-4137-5D7E-8988-4B25E492D39F"><p> <codeph>TUid aInterface</codeph> is
-the interface UID, as defined in <codeph>CryptoSpi::KInterfacesUids</codeph>. </p> </li>
-<li id="GUID-C7A913A0-DD63-599F-8A34-EA2D7466B050"><p> <codeph>TInt&amp; aNumPlugins</codeph> should
-be set to the number of algorithms of that interface type implemented by the
-plug-in. </p> </li>
-</ul> <p><b>Extended characteristics</b> </p> <p>Extended characteristics
-are those which can only be determined at runtime. They are retrieved on demand
-by CryptoSPI or clients can call the plug-in's implementation of <codeph>CryptoSpi::CCryptoBase::GetExtendedCharacteristicsL()</codeph>. </p> <p>The
-function exported at ordinal 2 has this prototype: </p> <codeblock id="GUID-5A10F3D2-DAE9-55F6-BF1A-A0E001637ACE" xml:space="preserve">typedef void (*GetExtendedCharacteristicsFuncL)(TUid, CExtendedCharacteristics*&amp;);</codeblock> <p>Symbian defines 2 extended characteristics: </p> <ul>
-<li id="GUID-DFCA6450-2121-5257-9F26-A11FD8995E5D"><p> <codeph>TInt iAvailableConcurrency;</codeph>  </p> <p>The
-number of available resources for processing the operation for the requested
-plug-in. This could be zero even if no operations are in progress; for instance
-cryptographic acceleration hardware is turned off to save battery power. </p> </li>
-<li id="GUID-FEA9BD5F-B264-5316-9B15-FD5E0E51CAC2"><p> <codeph>TBool iExclusiveUse;</codeph>  </p> <p>Whether
-it is possible for the application to reserve exclusive use of hardware resources
-used by the plug-in. </p> </li>
-</ul> <p>Additional plug-in specific characteristics may be defined. The plug-in
-creator needs to define UIDs for each of these and specify the UID when calling <codeph>CryptoSpi::CExtendedCharacteristics::AddCharacteristicL()</codeph>. </p> <p><b>Algorithm instantiation</b> </p> <p>A plug-in must implement
-one or more factory methods for instantiating algorithms. The functions exported
-at ordinals 3 to 20 have the following declarations. (Note that symmetric
-key generation is not yet implemented by Symbian's software crypto plug-in,
-so the ordinals <codeph>ECreateSymmetricKeyGeneratorOrdinal</codeph> and <codeph>ECreateAsyncSymmetricKeyGeneratorOrdinal</codeph> have
-no corresponding declarations). </p> <codeblock id="GUID-A6330276-FB1A-5C14-A2BF-5BBCD452614B" xml:space="preserve">typedef void (*CreateRandomFuncL)(MRandom*&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateHashFuncL)(MHash*&amp;, TUid, TUid, const CKey*, const CCryptoParams*);
-typedef void (*CreateSymmetricCipherFuncL)(MSymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, TUid, const CCryptoParams*);
-typedef void (*CreateAsymmetricCipherFuncL)(MAsymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, const CCryptoParams*);
-typedef void (*CreateSignerFuncL)(MSigner*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateVerifierFuncL)(MVerifier*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateKeyAgreementFuncL)(MKeyAgreement*&amp;, TUid, const CKey&amp;, const CCryptoParams*);
-typedef void (*CreateKeyPairGeneratorFuncL)(MKeyPairGenerator*&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateAsyncRandomFuncL)(MAsyncRandom*&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateAsyncHashFuncL)(MAsyncHash*&amp;, TUid, TUid, const CKey*, const CCryptoParams*);
-typedef void (*CreateAsyncSymmetricCipherFuncL)(MAsyncSymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, TUid, const CCryptoParams*);
-typedef void (*CreateAsyncAsymmetricCipherFuncL)(MAsyncAsymmetricCipher*&amp;, TUid, const CKey&amp;, TUid, TUid, const CCryptoParams*);
-typedef void (*CreateAsyncSignerFuncL)(MAsyncSigner*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateAsyncVerifierFuncL)(MAsyncVerifier*&amp;, TUid, const CKey&amp;, TUid, const CCryptoParams*);
-typedef void (*CreateAsyncKeyAgreementFuncL)(MAsyncKeyAgreement*&amp;, TUid, const CKey&amp;, const CCryptoParams*);
-typedef void (*CreateAsyncKeyPairGeneratorFuncL)(MAsyncKeyPairGenerator*&amp;, TUid, const CCryptoParams*);</codeblock> <p>Clients
-instantiate algorithms by calling one of the CryptoSPI factory methods, for
-instance <xref href="GUID-FF3CFE33-C90A-328C-BF80-0A03B821AE1C.dita#GUID-FF3CFE33-C90A-328C-BF80-0A03B821AE1C/GUID-D91B2099-C9F4-3B7C-843F-39A654DC0555"><apiname>CHashFactory::CreateHashL()</apiname></xref>. All CryptoSPI factory
-methods take a <xref href="GUID-C3704390-D2DD-3DFF-A1E3-433C5030044B.dita"><apiname>CCryptoParams</apiname></xref> parameter. This class allows
-clients to supply arbitrary, algorithm-specific data to plug-ins, for instance
-the effective key length for RC2, or the number of bytes to discard from the
-keystream for ARC4. </p> <p>The data type of each parameter can be integer
-(<codeph>TInt</codeph>), big integer (<codeph>RInteger</codeph>), or 8/16
-bit descriptor. Additional data types could be added in future, by extending
-the <codeph>TParamType</codeph> enum in <codeph>CCryptoParam</codeph> and
-deriving a class from <codeph>CCryptoParam</codeph>, but this is unlikely
-to be necessary. </p> </section>
-<section id="GUID-6ECA8DAB-37C4-5D83-9DBC-10641AA7B636"><title>How to implement
-the MPlugin-derived class</title> <p>All concrete algorithm classes are derived
-from one of the abstract base classes listed below, which are in turn all
-derived from <codeph>MPlugin</codeph>. </p> <ul>
-<li id="GUID-83E757D2-E70D-51D3-BF46-53A2F8A8A3E9"><p>Random (<xref href="GUID-53D7EA29-2736-3B19-AA69-915FAD2A7130.dita"><apiname>MRandom</apiname></xref> /<xref href="GUID-A19A4B6F-CCF2-3167-B757-F8308B7B7C26.dita"><apiname>MAsyncRandom</apiname></xref>) </p> </li>
-<li id="GUID-ABDD0216-BA34-5DD1-8D07-064B3F1EAB02"><p>Hash (<xref href="GUID-6896A7F0-AE37-369E-AB54-F069A7DE3FDB.dita"><apiname>MHash</apiname></xref> /<xref href="GUID-A4B3807A-82D1-39D3-8D00-D2A1D41EFEA5.dita"><apiname>MAsyncHash</apiname></xref>) </p> </li>
-<li id="GUID-5611F951-0471-5A54-BCFE-4DBDB9FF7B1A"><p>Symmetric cipher (<xref href="GUID-733DAE85-68B3-3211-808A-4FBD9C1E1F05.dita"><apiname>MSymmetricCipher</apiname></xref> /<xref href="GUID-545AE46E-8CF1-3470-8F10-5FCB6D79859E.dita"><apiname>MAsyncSymmetricCipher</apiname></xref>) </p> </li>
-<li id="GUID-C87B0A48-C66F-5E5E-BEA4-BB3F187AA59D"><p>Asymmetric cipher (<xref href="GUID-C044BB6D-6E78-3698-8710-89FFB7A6CDFD.dita"><apiname>MAsymmetricCipher</apiname></xref> /<xref href="GUID-EE7FCCA6-D86F-30E2-BB6A-862BAE111344.dita"><apiname>MAsyncAsymmetricCipher</apiname></xref>) </p> </li>
-<li id="GUID-EE95A2C8-4F9C-5052-8709-AD7C1D2A5E6F"><p>Signer (<xref href="GUID-59F2E24A-5F48-383F-95C6-88A5B432E121.dita"><apiname>MSigner</apiname></xref> /<xref href="GUID-B0EC8744-B525-3599-B1B4-00E4A9C62C7A.dita"><apiname>MAsyncSigner</apiname></xref>) </p> </li>
-<li id="GUID-717313C9-B2A3-5E78-8A61-A4C3093627BF"><p>Verifier (<xref href="GUID-98E08EBD-3758-39D6-A2B1-EC42F66D2F84.dita"><apiname>MVerifier</apiname></xref> /<xref href="GUID-BCCA1F97-B568-3B75-9974-5E70F1ADDEFA.dita"><apiname>MAsyncVerifier</apiname></xref>) </p> </li>
-<li id="GUID-8EA174F1-16A5-5364-9672-5AF6644EC19A"><p>Key agreement (<xref href="GUID-A47EF879-B23E-339A-9EBC-3622668B83FB.dita"><apiname>MKeyAgreement</apiname></xref> /<xref href="GUID-E70B8C8A-384F-39F0-8845-4CE53E86B286.dita"><apiname>MAsyncKeyAgreement</apiname></xref>) </p> </li>
-<li id="GUID-3988580D-047C-5492-9493-0A5365FEFB84"><p>Key pair generator (<xref href="GUID-238EBB3C-0ECC-38A5-848E-28716B75931B.dita"><apiname>MKeyPairGenerator</apiname></xref> /<xref href="GUID-5B2CE80F-536F-3B75-9FD9-3C0C98EE3D09.dita"><apiname>MAsyncKeyPairGenerator</apiname></xref>) </p> </li>
-<li id="GUID-05483361-4043-5FC4-A134-AAEA2E31E872"><p>Key generator (<xref href="GUID-1492AF86-FD98-3219-B46B-543DD7066801.dita"><apiname>MSymmetricKeyGenerator</apiname></xref> /<xref href="GUID-A3F12E4C-51D7-3007-A53E-EC53FAEA3D9C.dita"><apiname>MAsyncSymmetricKeyGenerator</apiname></xref>) </p> </li>
-</ul> <p> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref><xref href="GUID-47357E35-5781-3093-80FD-052EC7F0DF3F.dita"><apiname>MPlugin</apiname></xref> (<filepath>cryptoplugin.h</filepath>)
-declares the following pure virtual functions: </p> <codeblock id="GUID-6CDA7919-C31E-50EB-8D67-7A142297DBAF" xml:space="preserve">virtual void Close() = 0;
-virtual void Reset() = 0;
-virtual void GetCharacteristicsL(const TCharacteristics*&amp; aPluginCharacteristics) = 0;
-virtual const CExtendedCharacteristics&amp; GetExtendedCharacteristicsL() = 0;
-virtual TAny* GetExtension(TUid aExtensionId) = 0;</codeblock> <p>For example,
-the random number generator plug-in implemented in <filepath>softwarecrypto.dll</filepath> implements
-these functions as follows: </p> <codeblock id="GUID-A18C6FDA-4E3C-570E-B700-7680F91D397D" xml:space="preserve">void CRandomImpl::Close()
-    {
-    delete this;
-    }
-
-void CRandomImpl::Reset()
-    { //Not required
-    }
-
-const CExtendedCharacteristics* CRandomImpl::GetExtendedCharacteristicsL()
- // All Symbian software plug-ins have unlimited concurrency and cannot be reserved
-    // for exclusive use 
-    {
-    return CExtendedCharacteristics::NewL(KMaxTInt, EFalse);
-    }
-
-//Get the plug-in characteristics (defined at compile time)
-void CRandomImpl::GetCharacteristicsL(const TCharacteristics*&amp; aPluginCharacteristics)
-    {
- //Find out how many algorithms are implemented by the plug-in
-    TInt randomNum = sizeof(KRandomCharacteristics)/sizeof(TRandomCharacteristics*);
-    for (TInt i = 0; i &lt; randomNum; i++)
-        {
-  //Compare implementation UIDs
-  //ImplementationUid() is a helper function that returns KCryptoPluginRandomUid
-        if (KRandomCharacteristics[i]-&gt;cmn.iImplementationUID == ImplementationUid().iUid)
-            {
-            aPluginCharacteristics = KRandomCharacteristics[i];
-            break;
-            }
-        }
-    }
-
-TAny* CRandomImpl::GetExtension(TUid /*aExtensionId*/)
-    {
-    return NULL;
-    }</codeblock> <p>The main purpose of <codeph>MPlugin::Reset()</codeph> is
-to reset the hardware, so is usually not relevant to a software-only implementation. <codeph>GetExtension()</codeph> is
-intended for internal use, and may be removed from the API in future. </p> <p>These
-functions are called through the client API to CryptoSPI, in other words <codeph>CCryptoBase</codeph> and
-the various classes derived from it, in this case, <codeph>CRandom</codeph>.
-For instance when the client calls <xref href="GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F.dita#GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F/GUID-8D93089E-1F97-376B-8CC0-08E0E34158F4"><apiname>CCryptoBase::GetCharacteristicsL()</apiname></xref>,
-this calls <codeph>GetCharacteristicsL()</codeph> in the plug-in, or calling <xref href="GUID-CD88247C-561B-3AB4-BF77-AFD322F860A4.dita#GUID-CD88247C-561B-3AB4-BF77-AFD322F860A4/GUID-F251BF16-E212-3595-9FE8-C7BC754972E1"><apiname>CRandom::GenerateRandomBytesL()</apiname></xref>,
-calls <codeph>GenerateRandomBytesL()</codeph> in the plug-in. </p> </section>
-<section id="GUID-661CE3E1-2FAE-58E1-BBB7-2F72AA8714A2"><title>The configuration
-file</title> <p>The set of available plug-ins is listed in the configuration
-file <filepath>z:\resource\cryptospi\plug-ins.txt</filepath>. Each line in
-the file contains the filename of a single plug-in DLL, without the path.
-The path is not required because the DLLs are assumed to be located in <filepath>z:\sys\bin</filepath>.
-The configuration file must be on the <filepath>Z:</filepath> drive and therefore
-additional plug-ins cannot be installed post-manufacture. Depending on the
-plug-in selector in use, plug-ins may be loaded individually, as required,
-or all at once when CryptoSPI is initialized. The default selector implemented
-by Symbian (<codeph>CLegacySelector</codeph>) loads plug-in DLLs as required. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2DC89F9D-30E8-5260-8850-53E4152EE3CF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2DC89F9D-30E8-5260-8850-53E4152EE3CF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,58 +1,55 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2DC89F9D-30E8-5260-8850-53E4152EE3CF" xml:lang="en"><title>Finding
-your way around</title><shortdesc>Read this page to learn about the contents and structure of the
-library.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-91A35BDC-92E4-47D6-8A04-C6E0C444C484"><title>The platform
-structure and APIs</title> <p>The <xref href="GUID-32E29020-1956-461A-B79A-1492E06049E7.dita">Symbian
-Guide</xref> provides introductory documents to the platform
-as a whole, and guides that describe the major areas of the platform in depth. </p><p>The
-Symbian platform is a large system, and contains hundreds of C++ classes and
-thousands of member functions. Like most complex systems, it is easiest to
-divide it into large areas, and gradually to narrow your focus down to the
-areas that are most important to your tasks. </p><p>The <xref href="http://developer.symbian.org/wiki/index.php/Symbian_System_Model" scope="external">Symbian System Model</xref> organises the components of the
-Symbian platform into a layered software architecture. The guides in this
-library are also structured around this architecture. The guides describe
-the key technology and architectural concepts of the area, and show the key
-ways to use its classes.</p> <p>Note: Before the System Model was introduced,
-the Symbian platform used another architectural view based on large divisions
-called subsystems. Some documentation has not yet been changed to use the
-System Model rather than subsystems. </p> </section>
-<section id="GUID-5C4DC90E-DB65-4EB7-B271-D64D5FC5A065"><title>Newcomers to
-the Symbian platform</title> <p>For those developing on the Symbian platform
-for the first time, the <xref href="GUID-35D7EEFC-B2E4-5444-8875-2A24790E08C2.dita">Essential
-Idioms</xref> section describes the distinctive programming idioms and conventions
-of the Symbian platform. </p> </section>
-<section id="GUID-0AA83743-82BC-473B-ABFD-20FFD6AB6485"><title>Examples</title> <p>The <xref href="GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita">Examples</xref> section gives
-instructions for building and using the large set of C++ example projects
-that accompany the library. Projects include examples that demonstrate the
-use of fundamental Symbian platform classes, and many examples showing how
-to use particular Symbian platform C++ APIs. </p> <p>Example code is provided
-for illustrative and demonstration purposes, and should not be assumed to
-be useable as product code. </p></section>
-<section id="GUID-F8410B90-5208-4E73-A4C1-FA951429403A"><title>Hardware
-integration</title> <p>The library provides the following guides related to
-hardware integration. </p> <p><b> Kernel and Hardware Services guide</b> </p> <p>The <xref href="GUID-E3D2A6ED-8192-563D-8966-DD96B3AF1783.dita">Kernel and Hardware Services
-Guide</xref> provides information for device creators and silicon vendors
-who port the Symbian platform base to new hardware. The porting process is
-explained through a Template port. </p> <p><b> Device Driver guide</b> </p> <p>The <xref href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita">Device Driver Guide</xref> contains
-information on writing device drivers to run on the Symbian platform. It gives
-an overview that explains the device driver model as used in the Symbian platform,
-and then goes on to explain what you need to do in order to write a driver. </p> </section>
-<section id="GUID-C5687256-B657-4D29-B280-1837D4F991AE"><title>Tools</title><p>The
-library does not include documentation for most tools, which are usually delivered
-separately from the Symbian platform code. See the <xref href="http://developer.symbian.org/wiki/index.php/Category:Tools" scope="external">Tools</xref> section of the <xref href="http://developer.symbian.org/" scope="external">Symbian Developer Community</xref> website.</p><p>The <xref href="GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita">Tools And Utilities</xref> section
-documents the tools that are delivered with the platform. In particular, the <xref href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita">Build Tools Guide</xref> and
-the <xref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita">Build Tools Reference</xref> document
-the <cmdname>abld</cmdname>/<cmdname>bldmake</cmdname> (SBSv1) command line
-build tools, and explain the project file formats. </p></section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2DC89F9D-30E8-5260-8850-53E4152EE3CF" xml:lang="en"><title>Finding your way around</title><shortdesc>Read this page to learn about the contents and structure
+of the library.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-91A35BDC-92E4-47D6-8A04-C6E0C444C484"><title>The
+platform structure and APIs</title> <p>The <xref href="GUID-32E29020-1956-461A-B79A-1492E06049E7.dita">Symbian Guide</xref> provides introductory documents to the platform as a whole, and
+guides that describe the major areas of the platform in depth. </p><p>The Symbian platform is a large system, and contains hundreds
+of C++ classes and thousands of member functions. Like most complex
+systems, it is easiest to divide it into large areas, and gradually
+to narrow your focus down to the areas that are most important to
+your tasks. </p><p>The <xref href="http://developer.symbian.org/wiki/index.php/Symbian_System_Model" scope="external">Symbian System Model</xref> organises the components
+of the Symbian platform into a layered software architecture. The
+guides in this library are also structured around this architecture.
+The guides describe the key technology and architectural concepts
+of the area, and show the key ways to use its classes.</p> <p>Note:
+Before the System Model was introduced, the Symbian platform used
+another architectural view based on large divisions called subsystems.
+Some documentation has not yet been changed to use the System Model
+rather than subsystems. </p> </section>
+<section id="GUID-5C4DC90E-DB65-4EB7-B271-D64D5FC5A065"><title>Newcomers
+to the Symbian platform</title> <p>For those developing on the Symbian
+platform for the first time, the <xref href="GUID-35D7EEFC-B2E4-5444-8875-2A24790E08C2.dita">Essential Idioms</xref> section describes the distinctive programming idioms and conventions
+of the Symbian platform. </p> </section>
+<section id="GUID-0AA83743-82BC-473B-ABFD-20FFD6AB6485"><title>Examples</title> <p>The <xref href="GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita">Examples</xref> section gives instructions for building and using the large set
+of C++ example projects that accompany the library. Projects include
+examples that demonstrate the use of fundamental Symbian platform
+classes, and many examples showing how to use particular Symbian platform
+C++ APIs. </p> <p>Example code is provided for illustrative and demonstration
+purposes, and should not be assumed to be useable as product code. </p></section>
+<section id="GUID-F8410B90-5208-4E73-A4C1-FA951429403A"><title>Hardware integration</title> <p>The library provides the following guides related to hardware
+integration. </p> <p><b> Kernel and Hardware Services guide</b> </p> <p>The <xref href="GUID-E3D2A6ED-8192-563D-8966-DD96B3AF1783.dita">Kernel
+and Hardware Services Guide</xref> provides information for device
+creators and silicon vendors who port the Symbian platform base to
+new hardware. The porting process is explained through a Template
+port. </p> <p><b> Device Driver guide</b> </p> <p>The <xref href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita">Device Driver Guide</xref> contains information on writing device drivers to run on the Symbian
+platform. It gives an overview that explains the device driver model
+as used in the Symbian platform, and then goes on to explain what
+you need to do in order to write a driver. </p> </section>
+<section id="GUID-C5687256-B657-4D29-B280-1837D4F991AE"><title>Tools</title><p>The library does not include documentation for most tools, which
+are usually delivered separately from the Symbian platform code. See
+the <xref href="http://developer.symbian.org/wiki/index.php/Category:Tools" scope="external">Tools</xref> section of the <xref href="http://developer.symbian.org/" scope="external">Symbian Developer
+Community</xref> website.</p><p>The Tools section documents
+the tools that are delivered with the platform. In particular, the
+Build Tools Guide and the Build Tools Reference document the <cmdname>abld</cmdname>/<cmdname>bldmake</cmdname> (SBSv1) command line build
+tools, and explain the project file formats. </p></section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2DDAAD1C-D9EB-5741-B6AE-2383646E0EDB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2DDAAD1C-D9EB-5741-B6AE-2383646E0EDB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,7 +39,7 @@
 class, <codeph>TDesC</codeph>, contains a data member which holds the length
 of the data. The following drawing shows the layout of a <codeph>TPtrC</codeph> object
 for a string of five characters representing the English word "Hello". </p> <fig id="GUID-D3F0600A-D575-5309-8182-CFA98D184E29">
-<image href="GUID-37D2EFAE-FB55-5015-90CE-1361144C411E_d0e322595_href.png" placement="inline"/>
+<image href="GUID-37D2EFAE-FB55-5015-90CE-1361144C411E_d0e328581_href.png" placement="inline"/>
 <p>Non-modifiable pointer descriptor</p>
 </fig> </section>
 <section id="GUID-33072A44-C95A-4688-AB85-019EFDC4F1B2"><title>Modifiable pointer descriptor</title> <p>The data represented
@@ -64,7 +64,7 @@
 layout of a <codeph>TPtr</codeph> object for a string of five characters representing
 the English word "Hello". The maximum length to be represented by the descriptor
 is 12. </p> <fig id="GUID-B6213E7F-AE00-5854-BBB7-C82BE71CB495">
-<image href="GUID-8983A095-3F5A-5262-8920-8A13ADD045DC_d0e322660_href.png" placement="inline"/>
+<image href="GUID-8983A095-3F5A-5262-8920-8A13ADD045DC_d0e328646_href.png" placement="inline"/>
 <p>Modifiable pointer descriptor</p>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2DDFE745-3991-573C-94D6-22A43A2F0BF0_d0e229777_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2DDFE745-3991-573C-94D6-22A43A2F0BF0_d0e235772_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2E0F793F-3D80-4303-AF48-C7341F417DC9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E0F793F-3D80-4303-AF48-C7341F417DC9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -90,7 +90,7 @@
 </table>
 <fig id="GUID-BA63E34E-A9CC-4A3C-836C-D4FED97A53B8">
 <title>Editing menu</title>
-<image href="GUID-722FAAAD-AD14-4139-857E-83B639FDEB58_d0e93155_href.png" placement="inline"/>
+<image href="GUID-722FAAAD-AD14-4139-857E-83B639FDEB58_d0e97353_href.png" placement="inline"/>
 </fig>
 <table id="GUID-18C61493-9C80-470A-B0C2-A419F55A15EC"><title>Default touch
 events in editor</title>
--- a/Symbian3/PDK/Source/GUID-2E22CB5B-E648-5760-AB74-8947C7EDE2CF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E22CB5B-E648-5760-AB74-8947C7EDE2CF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,32 +1,30 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2E22CB5B-E648-5760-AB74-8947C7EDE2CF" xml:lang="en"><title>Lexical
-Analysis Overview</title><shortdesc>Provides string analysis and string-to-number conversions</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A64D2A5B-2A8C-4FEF-9F4A-6AC4F997BB7F"><title>Description</title> <p>The API has two key concepts: lexical
-analyser, and extraction mark. </p> </section>
-<section id="GUID-12BA42C0-484F-46FF-A9EB-8F8968B2F272"><title>Lexical analyser</title><p>The lexical analyser provides facilities
-to identify and extract characters and tokens (substrings delimited by white
-space) from a descriptor or NULL-terminated string. It also provides string-to-number
-conversions.</p> <p>The lexical analyser interface is provided by <xref href="GUID-76BFE569-34F7-3FEC-8F01-38AEC8C29D68.dita"><apiname>TLex16</apiname></xref> for
-wide strings, and <xref href="GUID-5B7955BC-1375-35F1-953D-D7F5C3583756.dita"><apiname>TLex8</apiname></xref> for narrow strings. <xref href="GUID-C94AB4F0-AE42-3957-A037-77CB145DDBF8.dita"><apiname>TLex</apiname></xref> is
-a typedef for <xref href="GUID-76BFE569-34F7-3FEC-8F01-38AEC8C29D68.dita"><apiname>TLex16</apiname></xref>.</p></section>
-<section id="GUID-A1CF4E86-0B08-4D16-A352-2240983CD651"><title>Extraction mark</title><p>The extraction mark allows positions
-in a string that is being analysed to be remembered. Later lexical analysis
-operations can then operate on this position in the string.</p> <p>The extraction
-mark interface is provided by <xref href="GUID-284AF88B-910B-3483-8797-E85ECB08BB2A.dita"><apiname>TLexMark16</apiname></xref> for wide strings,
-and <xref href="GUID-11EFB436-59E4-3E21-8950-B7F3F16FDD92.dita"><apiname>TLexMark8</apiname></xref> for narrow strings. <xref href="GUID-CCFA0F79-F758-3728-AA4E-DDF59D3817C1.dita"><apiname>TLexMark</apiname></xref> is
-a typedef for <xref href="GUID-284AF88B-910B-3483-8797-E85ECB08BB2A.dita"><apiname>TLexMark16</apiname></xref>.</p></section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita">Descriptors Overview</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2E22CB5B-E648-5760-AB74-8947C7EDE2CF" xml:lang="en"><title>Lexical Analysis Overview</title><shortdesc>Provides string analysis and string-to-number conversions</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-A64D2A5B-2A8C-4FEF-9F4A-6AC4F997BB7F"><title>Description</title> <p>The API has two key concepts: lexical analyser, and extraction
+mark. </p> </section>
+<section id="GUID-12BA42C0-484F-46FF-A9EB-8F8968B2F272"><title>Lexical
+analyser</title><p>The lexical analyser provides facilities to identify
+and extract characters and tokens (substrings delimited by white space)
+from a descriptor or NULL-terminated string. It also provides string-to-number
+conversions.</p> <p>The lexical analyser interface is provided by <xref href="GUID-76BFE569-34F7-3FEC-8F01-38AEC8C29D68.dita"><apiname>TLex16</apiname></xref> for wide strings, and <xref href="GUID-5B7955BC-1375-35F1-953D-D7F5C3583756.dita"><apiname>TLex8</apiname></xref> for
+narrow strings. <xref href="GUID-C94AB4F0-AE42-3957-A037-77CB145DDBF8.dita"><apiname>TLex</apiname></xref> is a typedef for <xref href="GUID-76BFE569-34F7-3FEC-8F01-38AEC8C29D68.dita"><apiname>TLex16</apiname></xref>.</p></section>
+<section id="GUID-A1CF4E86-0B08-4D16-A352-2240983CD651"><title>Extraction
+mark</title><p>The extraction mark allows positions in a string that
+is being analysed to be remembered. Later lexical analysis operations
+can then operate on this position in the string.</p> <p>The extraction
+mark interface is provided by <xref href="GUID-284AF88B-910B-3483-8797-E85ECB08BB2A.dita"><apiname>TLexMark16</apiname></xref> for wide
+strings, and <xref href="GUID-11EFB436-59E4-3E21-8950-B7F3F16FDD92.dita"><apiname>TLexMark8</apiname></xref> for narrow strings. <xref href="GUID-CCFA0F79-F758-3728-AA4E-DDF59D3817C1.dita"><apiname>TLexMark</apiname></xref> is a typedef for <xref href="GUID-284AF88B-910B-3483-8797-E85ECB08BB2A.dita"><apiname>TLexMark16</apiname></xref>.</p></section>
+</conbody><related-links>
+<link href="GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita">
+<linktext>Descriptors Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2E253B30-2611-546D-AE5B-1752556FC8E8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E253B30-2611-546D-AE5B-1752556FC8E8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 Concepts</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>This section section describes the Simple Mail Transfer Protocol (SMTP)
 and its implementation on Symbian platform. </p>
-<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-19-1-1-7-1-7-1-4-1-2-2"><title>SMTP protocol</title> <p>SMTP
+<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-20-1-1-7-1-7-1-4-1-2-2"><title>SMTP protocol</title> <p>SMTP
 is the most widely used protocol for sending emails. It is a text-based and <b>push</b> protocol
 that cannot <b>pull</b> messages from a remote server on demand. </p> <p>One
 or more recipients of a message are specified in a message along with the
--- a/Symbian3/PDK/Source/GUID-2E28D8F7-7406-4EBF-BD52-E82BAE1A7D31.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E28D8F7-7406-4EBF-BD52-E82BAE1A7D31.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 of the home screen content.</p>
 <fig id="GUID-AA2D3A8B-FE3E-4C47-8C6A-95BF5FAF012E">
 <title>Home screen</title>
-<image href="GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e80310_href.png" placement="inline"/>
+<image href="GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e84508_href.png" placement="inline"/>
 </fig>
 <section id="GUID-4E9D248E-213E-4796-B60C-C42D261985C2"><title>Enabling
 applications for the home screen</title><p>Application developers must enable
Binary file Symbian3/PDK/Source/GUID-2E3A91F9-5538-5E23-8D23-CE97B677A668_d0e214263_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2E3A91F9-5538-5E23-8D23-CE97B677A668_d0e220278_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-2E3F9FBD-21FE-4F02-B410-F756012805D2_d0e16940_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2E3F9FBD-21FE-4F02-B410-F756012805D2_d0e17239_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2E402D4E-53A9-5BA6-9FBD-B2713DBC7858.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E402D4E-53A9-5BA6-9FBD-B2713DBC7858.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 <p>The following diagram is an example of such an arrangement. </p>
 <fig id="GUID-A9CA379B-F3B9-550C-9BDC-C072BFCA642D">
 <title>Example of peripheral power domains</title>
-<image href="GUID-A568F9D3-58E3-58D6-8A6E-4EC6BEC41A4D_d0e389992_href.png" placement="inline"/>
+<image href="GUID-A568F9D3-58E3-58D6-8A6E-4EC6BEC41A4D_d0e395845_href.png" placement="inline"/>
 </fig>
 <p>To reduce power leakage, it may be useful to cut the power supply to an
 area or a group of peripherals in the ASIC or the hardware platform, when
@@ -96,6 +96,6 @@
 diagram above: </p>
 <fig id="GUID-2C8E6AF1-D82A-5539-96C3-921D9B3E2846">
 <title>Base port software architecture diagram</title>
-<image href="GUID-C3CE35FF-240E-5385-9088-38EF926ABB7B_d0e390105_href.png" placement="inline"/>
+<image href="GUID-C3CE35FF-240E-5385-9088-38EF926ABB7B_d0e395958_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 following diagram shows where render stages fit into the Window Server architecture. </p> <fig id="GUID-B1321BD9-2EF4-5BB3-8226-880C460526C1">
 <title>              Window Server architecture showing render stages    
        </title>
-<image href="GUID-25A63716-D637-589D-BAB7-B962455F2DC6_d0e243458_href.png" placement="inline"/>
+<image href="GUID-25A63716-D637-589D-BAB7-B962455F2DC6_d0e249469_href.png" placement="inline"/>
 </fig> <p>Symbian provides default render stage plug-ins, which are of production
 quality and reproduce the rendering behavior in Symbian OS v9.4. In ScreenPlay,
 device creators can replace the render stage plug-ins with their own bespoke
@@ -48,7 +48,7 @@
 a sequence of frames, in order to create the desired effect. </p> <fig id="GUID-75F4A91E-D764-5BF4-8B21-74689EB43E7A">
 <title>              A typical render stage configuration, showing some of
 the key              interfaces            </title>
-<image href="GUID-0F2AE495-F6D8-5351-BD83-76D579564C2E_d0e243480_href.png" placement="inline"/>
+<image href="GUID-0F2AE495-F6D8-5351-BD83-76D579564C2E_d0e249491_href.png" placement="inline"/>
 </fig> <p>The render stages are stacked on top of each other—effectively they
 are chained into a pipeline, in which the Window Server "talks" only to the
 first render stage. This render stage in turn talks only to the second render
@@ -98,7 +98,7 @@
 to helper classes. </p> <fig id="GUID-84104CD3-C78C-50C7-9155-50596B3EE3EF">
 <title>              A concrete render stage class implementing key render
 stage              interfaces            </title>
-<image href="GUID-973CF8E7-18C8-5E24-BC7A-97148FAEF3E4_d0e243549_href.png" placement="inline"/>
+<image href="GUID-973CF8E7-18C8-5E24-BC7A-97148FAEF3E4_d0e249560_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-5D81D1A7-26A0-5461-9AC5-3EF359D283CB"><title>Advanced use
 case</title> <p>Render stages can optionally create their own <b>visuals tree</b> to
@@ -117,7 +117,7 @@
 drawing operations relates to. </p> <fig id="GUID-97D46D41-589A-504D-B7C0-9092E6E5DF17">
 <title>              Render stage that has a visuals tree and visual stores
            </title>
-<image href="GUID-3248A2B1-54D0-56E3-B770-DC595B01EA04_d0e243585_href.png" placement="inline"/>
+<image href="GUID-3248A2B1-54D0-56E3-B770-DC595B01EA04_d0e249596_href.png" placement="inline"/>
 </fig> <p>Render stages that implement their own visuals stores typically
 use the Window Server's <b>change-tracking</b> rendering mode. This is an
 optimization of the <xref href="GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita">Window
--- a/Symbian3/PDK/Source/GUID-2E986A81-F094-4F1D-9ECB-6A325CFA5BB4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2E986A81-F094-4F1D-9ECB-6A325CFA5BB4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,38 +10,34 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-2E986A81-F094-4F1D-9ECB-6A325CFA5BB4" xml:lang="en"><title>Plug-ins</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Plug-ins connect to the system using the EPOC Component Object Model
-(ECom). ECom is based on client/server architecture and provides services
-to instantiate, resolve, and destroy instances of plug-ins at run time. For
-more information, see the <xref href="GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D.dita">ECom
-Architecture</xref>.</p>
-<fig id="GUID-C5D783F2-8388-4097-8276-BAC6D5B17C2C"><title>ECom framework</title><image href="GUID-231E58F2-7935-462A-B048-51729D8245D4_d0e13927_href.png"/></fig>
-<p>A hostile or malfunctioning plug-in may cause crashes or security leaks,
-even on otherwise well-tested applications. The <xref href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita">platform
-security</xref> architecture protects the processes by verifying that the
-plug-in has equal or greater set of capabilities than the process in which
-it is loaded. For more information, see the <xref href="GUID-9E4D75C0-D797-5541-8E52-3C6D154CC74A.dita">ECom
-and the Platform Security Architecture</xref>. </p>
-<p>For examples, see <xref href="GUID-E59A469E-A2B5-5DF0-BA7E-C50D4A38CCAA.dita">Plug-in
-Framework (ECom) Examples</xref>.</p>
+<p>Plug-ins connect to the system using the EPOC Component Object
+Model (ECom). ECom is based on client/server architecture and provides
+services to instantiate, resolve, and destroy instances of plug-ins
+at run time. For more information, see the <xref href="GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D.dita">ECom Architecture</xref>.</p>
+<fig id="GUID-C5D783F2-8388-4097-8276-BAC6D5B17C2C"><title>ECom framework</title><image href="GUID-231E58F2-7935-462A-B048-51729D8245D4_d0e14027_href.png"/></fig>
+<p>A hostile or malfunctioning plug-in may cause crashes or security
+leaks, even on otherwise well-tested applications. The <xref href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita">platform security</xref> architecture protects the processes by verifying that the plug-in
+has equal or greater set of capabilities than the process in which
+it is loaded. For more information, see the <xref href="GUID-9E4D75C0-D797-5541-8E52-3C6D154CC74A.dita">ECom and the Platform
+Security Architecture</xref>. </p>
+<p>For examples, see <xref href="GUID-E59A469E-A2B5-5DF0-BA7E-C50D4A38CCAA.dita">Plug-in Framework
+(ECom) Examples</xref>.</p>
 <section id="GUID-2268BF28-467F-409F-B68C-5D361E8C5FF0"><title>Communication
 plug-ins</title>
 <p>It is possible to use plug-ins to implement additional functionality
 to serial, socket, and messaging frameworks. These plug-ins are especially
 important for security because they deal with communication.</p>
 <ul>
-<li><p>For serial communication there are serial protocol modules
-(CSY modules ), which are loaded by the Serial Comms Server. For more information
-on serial communication, see <xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial
-Communications Server</xref>.</p></li>
-<li><p>For socket-based communication there are protocol modules
-(PRT), which are loaded by the Socket Server. For more information on socket-based
-communication, see <xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Socket
+<li><p>For serial communication there are serial protocol
+modules (CSY modules ), which are loaded by the Serial Comms Server.
+For more information on serial communication, see <xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial Communications
 Server</xref>.</p></li>
-<li><p>For messaging there are Message Type Modules (MTM), which
-include both client and server components. MTMs are a set of <codeph>dll</codeph>s
-rather than a single <codeph>dll</codeph>. For more information, see <xref href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita">Message Type Module</xref>.</p>
-</li>
+<li><p>For socket-based communication there are protocol
+modules (PRT), which are loaded by the Socket Server. For more information
+on socket-based communication, see <xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Socket Server</xref>.</p></li>
+<li><p>For messaging there are Message Type Modules (MTM),
+which include both client and server components. MTMs are a set of <codeph>dll</codeph>s rather than a single <codeph>dll</codeph>. For more
+information, see <xref href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita">Message Type Module</xref>.</p></li>
 </ul>
 </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e168030_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e174118_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,115 +1,113 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9" xml:lang="en"><title>Porting
-the Power Resource Manager</title><shortdesc>This tutorial describes how to port the Platform Specific Layer
-(PSL) of the Power Resource Manager (<keyword>PRM</keyword>) and how to modify
-clients, such as device drivers, to use the PRM framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-97905214-40EC-44A1-95D6-7F2C1636C638"><title>Purpose</title> <p>The
-PRM is a framework for managing system power resources. This framework improves
-portability across different platforms and reduces device driver complexity. </p> <p>The
-PRM framework is split into two layers: </p> <ul>
-<li id="GUID-17F4DFA5-2848-5CA9-BE5D-F7F52BB1705F"><p>Platform Independent
-Layer - the PIL is a generic software layer that is implemented by Symbian.
-This is the base virtual class for the Power Resource Controller (<xref href="GUID-46F2174F-0206-345B-8C5D-F8B5763652E0.dita"><apiname>DPowerResourceController</apiname></xref>), </p> </li>
-<li id="GUID-B6499506-0B33-588F-BEFC-12A4D9FDF239"><p>Platform Specific Layer
-- the PSL is developed specifically to interface with the target hardware
-by licensees. This is the class derived from <codeph>DPowerResourceController</codeph>. </p> </li>
-</ul> <p>Other acronyms used in this document set: </p> <ul>
-<li id="GUID-ED8A465C-B8CB-5C7A-8D57-D207AAA41F89"><p>H4 HRP - OMAP2420 SDP
-hardware reference platform referred to in these documents as examples of
-the base port, </p> </li>
-<li id="GUID-97B58DBF-51DA-5982-A2D2-BF3453B062F2"><p>LDD - Logical Device
-Driver. The higher layer of abstraction within the Symbian platform device
-driver framework which implements common functionality among differing pieces
-of hardware of one type, </p> </li>
-<li id="GUID-547FA744-0D75-516A-954A-E9D1DBCBAC87"><p>PDD - Physical Device
-Driver. The lower layer of abstraction within the Symbian platform device
-driver framework which implements functionality that is specific to a particular
-piece of hardware. </p> </li>
-</ul> <p><b>Intended audience</b> </p> <p>This document is intended to be
-used by Symbian platform device creators. </p> <p><b>Required background</b> </p> <p>The
-reader of this document is assumed to have knowledge of the Symbian platform
-device driver model and <keyword>base port</keyword> layering and components. </p> <ul>
-<li id="GUID-611721D2-17C4-56F4-9101-6088B062BB2C"><p> <xref href="GUID-8D80AA51-5108-5D4B-B6B9-7FA47570AB89.dita">Device
-Driver Concepts</xref>, </p> </li>
-<li id="GUID-938A492F-B9CB-5DFB-B382-2B7E6C5E3711"><p> <xref href="GUID-A7F6C8D5-B85B-537B-8A19-99149FBE8C01.dita">The
-core porting process</xref>. </p> </li>
-</ul> <p>This document refers to the reference implementation of the PRM PSL
-for the H4 HRP platform wherever possible. The source code for the reference
-implementation can be found in <filepath>\omap_hrp\h4\resman</filepath>. The
-MMC and Sound_SC (in H4 HRP) device drivers are modified to use the new PRM
-framework. </p> <p><b>Introduction</b> </p> <p>The PRM provides a unique place
-where all the current power states for resources can be obtained at any time.
-The sum of all internal and external power states defines the current system-wide
-power state. </p> <p id="GUID-0F328055-DBCE-5B2B-A1EB-77F73BA1FC82"><b>Setup
-and configuration requirements</b> </p> <p>The PRM component is implemented
-as a kernel extension with an exported public interface that is accessible
-to kernel side components through statically linking against its export library.
-The export library is built from the resource manager and the resource manager
-libraries. </p> <p>There are two versions available: </p> <ul>
-<li id="GUID-982137EB-A7C2-5420-8279-477AC52D5350"><p>basic resource manager
-- provides essential or required functionality for static resources. </p> <p>The
-basic version of the PIL layer is compiled into <filepath>resmanpsl.lib</filepath>.
-This kernel library must be included by the PSL to produce the kernel extension. </p> </li>
-<li id="GUID-0F8863B3-044C-5B5A-831D-DB20B72459C8"><p>extended resource manager
-- provides additional support for dynamic resources and resource dependencies. </p> <p>The
-extended version of the PIL layer is complied into <filepath>resmanextenedpsl.lib</filepath>.
-This kernel library must be included by the PSL to produce the kernel extension. </p> </li>
-</ul> <p>Device drivers that require the use of the PRM should link against
-the appropriate library. <filepath>resman.lib</filepath> to use the basic
-version and <filepath>resmanextended.lib</filepath> to use the extended version
-of the PRM. </p> <p><b>Building the PRM for the target platform</b> </p> <p>The
-PRM is an early extension, so the <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref> in
-the <keyword>mmp</keyword> file must be set to <codeph>kext</codeph>. If the
-PRM is implemented as a PDD the <codeph>targettype</codeph> in the mmp file
-should be should be <codeph>pdd</codeph>. </p> <p><b>Boot sequence</b> </p> <p>The
-PRM cannot be used to operate on power resources until later in the boot sequence
-when the kernel allows the scheduling of other threads. During this time it
-is not possible to read or change the state of resources, but <xref href="GUID-46F2174F-0206-345B-8C5D-F8B5763652E0.dita#GUID-46F2174F-0206-345B-8C5D-F8B5763652E0/GUID-9D07A9C1-C0AE-36E9-8438-3BF71D3CBB0C"><apiname>DPowerResourceController::PostBootLevel()</apiname></xref> can
-be used to specify the state of specific resources and the PRM can change
-the state of resources to appropriate levels before the PRM is fully initialised. </p> <p> <codeph>PostBootLevel()</codeph> is
-used within the extension entry point, during this time PRM is not fully initialised. <b>Note</b>:
-This function can only be used for static resources and static resources with
-dependencies. </p> <codeblock id="GUID-F8E2125A-0DA8-5991-8FED-BF6DA48EC79D" xml:space="preserve">static TInt PostBootLevel(TUint aResId, TInt aLevel);</codeblock> <p> <codeph>PostBootLevel()</codeph> takes the resource ID and the post boot
-level that the level a resource needs to be after it is initialised. Typically
-the post boot level is only known to the PSL. However kernel extensions (and
-the variant) may request a post boot level. </p> <p>If a kernel extension
-needs to know if certain resources have reached the post boot state in order
-to complete its own initialisation then the kernel extension should queue
-resource state change notifications for the resource when first registering
-as clients with the PRM. <b>Note</b>: notification requests are accepted before
-the PRM is fully initialised. </p> <p>Variants or kernel extensions can register
-static resources before the PRM is fully initialised with <xref href="GUID-46F2174F-0206-345B-8C5D-F8B5763652E0.dita#GUID-46F2174F-0206-345B-8C5D-F8B5763652E0/GUID-6F74C10F-5055-37D2-968D-FCAB7D0F8FDF"><apiname>DPowerResourceController::RegisterStaticResource()</apiname></xref>.
-This API can only be used by static resources and not by static resource that
-support dependency. See <xref href="GUID-66FD040B-133E-57CF-80DD-9369F62709C6.dita#GUID-66FD040B-133E-57CF-80DD-9369F62709C6/GUID-61471315-14E1-5A0F-A164-92CF928C3604">DoRegisterStaticResources()</xref>. </p> </section>
-<section id="GUID-EBBEF707-27E5-4E10-ADCA-A02C119EB075"><title>Using the Power
-Resource Manager</title> <p>Porting the PRM consists of implementing the PSL
-layer for a given hardware platform and modifying clients, such as device
-drivers, to use the PRM framework. </p> <p>The following tasks are covered
-in this tutorial: </p> <ul>
-<li id="GUID-21093CEB-845E-528F-81DF-BD21084E3A27"><p> <xref href="GUID-B1CE51BC-B452-5FC9-9C00-35447AF40671.dita"> Implement
-the controllable power resources</xref>, </p> </li>
-<li id="GUID-93B8B5A9-D7EE-56A0-B96B-BA2FC8DE1CE7"><p> <xref href="GUID-66FD040B-133E-57CF-80DD-9369F62709C6.dita"> Implement
-the PSL for the target</xref>, </p> </li>
-<li id="GUID-417CE38C-66CC-5186-B833-B1A6E8CE21B8"><p> <xref href="GUID-E7F91A65-235D-589C-9A8C-0B207D19A24B.dita"> Port
-the client drivers to use the PRM</xref> (to control the implemented resources), </p> </li>
-<li id="GUID-1420B749-8618-5FF3-93E3-F1A5E4579061"><p> <xref href="GUID-C8DF0CB0-92F4-5F9E-A8F1-7DE50954C4F1.dita">Debugging
-the PRM</xref>, </p> </li>
-<li id="GUID-4EEEC53B-C162-5E3F-B047-ABD4951F9C46"><p> <xref href="GUID-66E5F769-1156-54CA-94BC-8912159A1240.dita"> Testing
-the PRM PSL</xref>. </p> </li>
-</ul> </section>
-</conbody><related-links>
-<link href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita"><linktext>Power Resource
-Manager (PRM)</linktext></link>
-<link href="GUID-3773A78D-F491-52EB-AA1D-201636497F28.dita"><linktext>Power Management
-Tutorials</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9" xml:lang="en"><title>Porting the Power Resource Manager</title><shortdesc>This tutorial describes how to port the Platform Specific
+Layer (PSL) of the Power Resource Manager (<keyword>PRM</keyword>)
+and how to modify clients, such as device drivers, to use the PRM
+framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-97905214-40EC-44A1-95D6-7F2C1636C638"><title>Purpose</title> <p>The PRM is a framework for managing system power resources. This
+framework improves portability across different platforms and reduces
+device driver complexity. </p> <p>The PRM framework is split into
+two layers: </p> <ul>
+<li id="GUID-17F4DFA5-2848-5CA9-BE5D-F7F52BB1705F"><p>Platform Independent
+Layer - the PIL is a generic software layer that is implemented by
+Symbian. This is the base virtual class for the Power Resource Controller
+(<xref href="GUID-46F2174F-0206-345B-8C5D-F8B5763652E0.dita"><apiname>DPowerResourceController</apiname></xref>), </p> </li>
+<li id="GUID-B6499506-0B33-588F-BEFC-12A4D9FDF239"><p>Platform Specific
+Layer - the PSL is developed specifically to interface with the target
+hardware by licensees. This is the class derived from <codeph>DPowerResourceController</codeph>. </p> </li>
+</ul> <p>Other acronyms used in this document set: </p> <ul>
+<li id="GUID-ED8A465C-B8CB-5C7A-8D57-D207AAA41F89"><p>H4 HRP - OMAP2420
+SDP hardware reference platform referred to in these documents as
+examples of the base port, </p> </li>
+<li id="GUID-97B58DBF-51DA-5982-A2D2-BF3453B062F2"><p>LDD - Logical
+Device Driver. The higher layer of abstraction within the Symbian
+platform device driver framework which implements common functionality
+among differing pieces of hardware of one type, </p> </li>
+<li id="GUID-547FA744-0D75-516A-954A-E9D1DBCBAC87"><p>PDD - Physical
+Device Driver. The lower layer of abstraction within the Symbian platform
+device driver framework which implements functionality that is specific
+to a particular piece of hardware. </p> </li>
+</ul> <p><b>Intended audience</b> </p> <p>This document is intended
+to be used by Symbian platform device creators. </p> <p><b>Required
+background</b> </p> <p>The reader of this document is assumed to have
+knowledge of the Symbian platform device driver model and <keyword>base port</keyword> layering and components. </p> <ul>
+<li id="GUID-611721D2-17C4-56F4-9101-6088B062BB2C"><p> <xref href="GUID-8D80AA51-5108-5D4B-B6B9-7FA47570AB89.dita">Device Driver Concepts</xref>, </p> </li>
+<li id="GUID-938A492F-B9CB-5DFB-B382-2B7E6C5E3711"><p> <xref href="GUID-A7F6C8D5-B85B-537B-8A19-99149FBE8C01.dita">The core porting
+process</xref>. </p> </li>
+</ul> <p>This document refers to the reference implementation of the
+PRM PSL for the H4 HRP platform wherever possible. The source code
+for the reference implementation can be found in <filepath>\omap_hrp\h4\resman</filepath>. The MMC and Sound_SC (in H4 HRP) device drivers are modified to
+use the new PRM framework. </p> <p><b>Introduction</b> </p> <p>The
+PRM provides a unique place where all the current power states for
+resources can be obtained at any time. The sum of all internal and
+external power states defines the current system-wide power state. </p> <p id="GUID-0F328055-DBCE-5B2B-A1EB-77F73BA1FC82"><b>Setup and configuration
+requirements</b> </p> <p>The PRM component is implemented as a kernel
+extension with an exported public interface that is accessible to
+kernel side components through statically linking against its export
+library. The export library is built from the resource manager and
+the resource manager libraries. </p> <p>There are two versions available: </p> <ul>
+<li id="GUID-982137EB-A7C2-5420-8279-477AC52D5350"><p>basic resource
+manager - provides essential or required functionality for static
+resources. </p> <p>The basic version of the PIL layer is compiled
+into <filepath>resmanpsl.lib</filepath>. This kernel library must
+be included by the PSL to produce the kernel extension. </p> </li>
+<li id="GUID-0F8863B3-044C-5B5A-831D-DB20B72459C8"><p>extended resource
+manager - provides additional support for dynamic resources and resource
+dependencies. </p> <p>The extended version of the PIL layer is complied
+into <filepath>resmanextenedpsl.lib</filepath>. This kernel library
+must be included by the PSL to produce the kernel extension. </p> </li>
+</ul> <p>Device drivers that require the use of the PRM should link
+against the appropriate library. <filepath>resman.lib</filepath> to
+use the basic version and <filepath>resmanextended.lib</filepath> to
+use the extended version of the PRM. </p> <p><b>Building the PRM for
+the target platform</b> </p> <p>The PRM is an early extension, so
+the <codeph>targettype</codeph> in the <keyword>mmp</keyword> file
+must be set to <codeph>kext</codeph>. If the PRM is implemented as
+a PDD the <codeph>targettype</codeph> in the mmp file should be should
+be <codeph>pdd</codeph>. </p> <p><b>Boot sequence</b> </p> <p>The PRM cannot be used to operate on power resources until
+later in the boot sequence when the kernel allows the scheduling of
+other threads. During this time it is not possible to read or change
+the state of resources, but <xref href="GUID-46F2174F-0206-345B-8C5D-F8B5763652E0.dita#GUID-46F2174F-0206-345B-8C5D-F8B5763652E0/GUID-9D07A9C1-C0AE-36E9-8438-3BF71D3CBB0C"><apiname>DPowerResourceController::PostBootLevel()</apiname></xref> can be used to specify the state of specific resources and the PRM
+can change the state of resources to appropriate levels before the
+PRM is fully initialised. </p> <p> <codeph>PostBootLevel()</codeph> is used within the extension entry point, during this time PRM is
+not fully initialised. <b>Note</b>: This function can only be used
+for static resources and static resources with dependencies. </p> <codeblock id="GUID-F8E2125A-0DA8-5991-8FED-BF6DA48EC79D" xml:space="preserve">static TInt PostBootLevel(TUint aResId, TInt aLevel);</codeblock> <p> <codeph>PostBootLevel()</codeph> takes the resource ID and the
+post boot level that the level a resource needs to be after it is
+initialised. Typically the post boot level is only known to the PSL.
+However kernel extensions (and the variant) may request a post boot
+level. </p> <p>If a kernel extension needs to know if certain resources
+have reached the post boot state in order to complete its own initialisation
+then the kernel extension should queue resource state change notifications
+for the resource when first registering as clients with the PRM. <b>Note</b>: notification requests are accepted before the PRM is fully
+initialised. </p> <p>Variants or kernel extensions can register static
+resources before the PRM is fully initialised with <xref href="GUID-46F2174F-0206-345B-8C5D-F8B5763652E0.dita#GUID-46F2174F-0206-345B-8C5D-F8B5763652E0/GUID-6F74C10F-5055-37D2-968D-FCAB7D0F8FDF"><apiname>DPowerResourceController::RegisterStaticResource()</apiname></xref>. This API can only be used by static resources and not by static
+resource that support dependency. See <xref href="GUID-66FD040B-133E-57CF-80DD-9369F62709C6.dita#GUID-66FD040B-133E-57CF-80DD-9369F62709C6/GUID-61471315-14E1-5A0F-A164-92CF928C3604">DoRegisterStaticResources()</xref>. </p> </section>
+<section id="GUID-EBBEF707-27E5-4E10-ADCA-A02C119EB075"><title>Using
+the Power Resource Manager</title> <p>Porting the PRM consists of
+implementing the PSL layer for a given hardware platform and modifying
+clients, such as device drivers, to use the PRM framework. </p> <p>The following tasks are covered in this tutorial: </p> <ul>
+<li id="GUID-21093CEB-845E-528F-81DF-BD21084E3A27"><p> <xref href="GUID-B1CE51BC-B452-5FC9-9C00-35447AF40671.dita"> Implement the controllable
+power resources</xref>, </p> </li>
+<li id="GUID-93B8B5A9-D7EE-56A0-B96B-BA2FC8DE1CE7"><p> <xref href="GUID-66FD040B-133E-57CF-80DD-9369F62709C6.dita"> Implement the PSL
+for the target</xref>, </p> </li>
+<li id="GUID-417CE38C-66CC-5186-B833-B1A6E8CE21B8"><p> <xref href="GUID-E7F91A65-235D-589C-9A8C-0B207D19A24B.dita"> Port the client
+drivers to use the PRM</xref> (to control the implemented resources), </p> </li>
+<li id="GUID-1420B749-8618-5FF3-93E3-F1A5E4579061"><p> <xref href="GUID-C8DF0CB0-92F4-5F9E-A8F1-7DE50954C4F1.dita">Debugging the PRM</xref>, </p> </li>
+<li id="GUID-4EEEC53B-C162-5E3F-B047-ABD4951F9C46"><p> <xref href="GUID-66E5F769-1156-54CA-94BC-8912159A1240.dita"> Testing the PRM
+PSL</xref>. </p> </li>
+</ul> </section>
+</conbody><related-links>
+<link href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita"><linktext>Power
+Resource Manager (PRM)</linktext></link>
+<link href="GUID-3773A78D-F491-52EB-AA1D-201636497F28.dita"><linktext>Power
+Management Tutorials</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2ED8BB5F-27CA-5DD3-BA0F-5773AE14A8CC_d0e261218_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2ED8BB5F-27CA-5DD3-BA0F-5773AE14A8CC_d0e267227_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2EF123C9-62A2-52FF-9792-66EF41F37452_d0e637932_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2EF123C9-62A2-52FF-9792-66EF41F37452_d0e650754_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2F0008EB-715C-50EC-87AD-C78619F44858_d0e322861_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2F0008EB-715C-50EC-87AD-C78619F44858_d0e328847_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2F264A2A-FA7A-4718-A6B6-9A764C1D1E0E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2F264A2A-FA7A-4718-A6B6-9A764C1D1E0E" xml:lang="en"><title>Labeling
-the Selection key</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In the portrait mode, the Selection key takes a textual label to indicate
-the current functionality. The Selection key always functions identically
-in both portrait and landscape orientation. In most cases, the label on the
-middle softkey is the first item in the <b>Options</b> menu (for example,<b>Open</b>, <b>Select</b>, <b>Play</b>,
-and so on). The Selection key functions normally in all landscape modes, but
-it cannot be labelled in the landscape orientation owing to space restrictions.
-Since the middle softkey label is not visible in landscape (nor in Touch UI),
-it is important that the function assigned to the Selection key is as instinctive
-as possible. If there is no obvious, intuitive function available in a given
-situation, the context sensitive <b>Options</b> menu can be used.</p>
-<p>When the Selection key opens the context sensitive <b>Options</b> menu
-or performs the same function as the left softkey, the corresponding icons
-are used. When there is an item in focus that is in itself a function (for
-example, <b>Download images</b> or a button in a player), the middle softkey
-is labelled <b>Select</b>. Otherwise, the middle softkey is labelled with
-an appropriate text. The purpose of using a special icon for the Selection
-key when it repeats the left softkey is to avoid repeating the text label
-and also to promote the use of the Selection key as a quick and convenient
-way of performing some typical tasks.</p>
-<p>In case the Selection key does not perform its primary function in the
-situation (and the related first <b>Options</b> menu item is not available)
-the middle softkey label is not displayed, for example, in case of a locked
-setting item, the label <b>Change</b> is not shown. </p>
-<fig id="GUID-471296E1-5AFC-424B-B9ED-1C944D300840">
-<title>Labeling the Selection key in the control pane: left and right softkeys
-have textual labels, the Selection key has either a textual label or one of
-two icons: the context sensitive Options menu icon (bottom left) or the Select
-icon (bottom right).</title>
-<image href="GUID-B8D630CA-7CED-408E-B570-00FF95BE14ED_d0e105232_href.png" placement="inline"/>
-<image href="GUID-53212F7A-938B-48F6-BC82-30F7494FF8A7_d0e105234_href.png" placement="inline"/>
-</fig>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2F48BCBA-9256-50B6-A8D1-02617655FEED_d0e55240_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2F48BCBA-9256-50B6-A8D1-02617655FEED_d0e59474_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2F53F12B-C51F-4E20-ACCC-BFD768B05863.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2F53F12B-C51F-4E20-ACCC-BFD768B05863.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,8 +12,8 @@
 <task id="GUID-2F53F12B-C51F-4E20-ACCC-BFD768B05863" xml:lang="en"><title>Building
 the Test Product</title><abstract><p>You must first build the test product component before you run
 the tests.</p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-4-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-4-1-3-1-1"><cmd>Open the command
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-4-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-4-1-3-1-1"><cmd>Open the command
 prompt and navigate to <filepath>…\sip\group\</filepath>.</cmd>
 </step>
 <step id="GUID-5937E660-24AE-4199-B93F-F3DB6B9DEE1F"><cmd> Run the following
Binary file Symbian3/PDK/Source/GUID-2F6EF388-CA87-5AAD-A4C5-37FC3CE15331_d0e344599_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2F6EF388-CA87-5AAD-A4C5-37FC3CE15331_d0e350550_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference xml:lang="en" id="GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1"><title>Reference</title><shortdesc>This section provides a summary of documents related to the secure sockets that you can refer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody><table id="GUID-BFEB4EB5-FB5E-519B-B1EB-96B119C10B13-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1-3-1"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Item</entry> <entry>Header</entry> </row> </thead> <tbody><row><entry><p>CSecureSocket </p> </entry> <entry><p>SecureSocket.h </p> </entry> </row> <row><entry><p>MSecureSocket </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> <row><entry><p>TClientCertMode </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> <row><entry><p>TDialogMode </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> </tbody> </tgroup> </table> <section><p>For more information about TLS_PSK operation, see <xref scope="external" href="http://www.ietf.org/rfc/rfc4279.txt">RFC4279</xref>. </p> </section> </refbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets
+                Server</linktext> </link> </related-links></reference>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference xml:lang="en" id="GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-7-1"><title>Reference</title><shortdesc>This section provides a summary of documents related to the secure sockets that you can refer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody><table id="GUID-BFEB4EB5-FB5E-519B-B1EB-96B119C10B13-GENID-1-12-1-24-1-1-8-1-5-1-4-1-7-1-3-1"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Item</entry> <entry>Header</entry> </row> </thead> <tbody><row><entry><p>CSecureSocket </p> </entry> <entry><p>SecureSocket.h </p> </entry> </row> <row><entry><p>MSecureSocket </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> <row><entry><p>TClientCertMode </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> <row><entry><p>TDialogMode </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> </tbody> </tgroup> </table> <section><p>For more information about TLS_PSK operation, see <xref scope="external" href="http://www.ietf.org/rfc/rfc4279.txt">RFC4279</xref>. </p> </section> </refbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets
+                Server</linktext> </link> </related-links></reference>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-9-1-4-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference xml:lang="en" id="GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-9-1-4-1-7-1"><title>Reference</title><shortdesc>This section provides a summary of documents related to the secure sockets that you can refer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody><table id="GUID-BFEB4EB5-FB5E-519B-B1EB-96B119C10B13-GENID-1-12-1-24-1-1-9-1-4-1-7-1-3-1"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Item</entry> <entry>Header</entry> </row> </thead> <tbody><row><entry><p>CSecureSocket </p> </entry> <entry><p>SecureSocket.h </p> </entry> </row> <row><entry><p>MSecureSocket </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> <row><entry><p>TClientCertMode </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> <row><entry><p>TDialogMode </p> </entry> <entry><p>SecureSocketInterface.h </p> </entry> </row> </tbody> </tgroup> </table> <section><p>For more information about TLS_PSK operation, see <xref scope="external" href="http://www.ietf.org/rfc/rfc4279.txt">RFC4279</xref>. </p> </section> </refbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets
+                Server</linktext> </link> </related-links></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2F8B9FAD-1669-5458-BA24-2E15BB0D2F53_d0e477360_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2F8B9FAD-1669-5458-BA24-2E15BB0D2F53_d0e483189_href.png has changed
--- a/Symbian3/PDK/Source/GUID-2F987147-1435-55F1-B61C-8413C4AD8424.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2F987147-1435-55F1-B61C-8413C4AD8424.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 <p>The general structure of a direct file store, from the point of view of
 the physical file containing the store, is illustrated below.</p>
 <fig id="GUID-B9A986BB-322A-5432-BB12-92B1934954B6">
-<image href="GUID-D15068B5-D12E-5515-A772-EA3B304EE01E_d0e581556_href.png" placement="inline"/>
+<image href="GUID-D15068B5-D12E-5515-A772-EA3B304EE01E_d0e630844_href.png" placement="inline"/>
 </fig>
 <p>The header is the content of the descriptor returned by the <codeph>Des()</codeph> member
 function of <codeph>TCheckedUid</codeph>; this contains the file store type
--- a/Symbian3/PDK/Source/GUID-2FAB8281-569A-52BE-8BC8-A2D378068706.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2FAB8281-569A-52BE-8BC8-A2D378068706.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 cache functionality in the Message Server. </p>
 <fig id="GUID-43D2AE30-9221-500A-B934-5D3636168273">
 <title>           Caching architecture          </title>
-<image href="GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e482676_href.png" placement="inline"/>
+<image href="GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e488505_href.png" placement="inline"/>
 </fig>
 <section id="GUID-D3F3D019-736E-4527-8099-9BE8883CF37C"><title>Creating and
 maintaining free space in memory</title> <p>Memory allocation to the cache
@@ -34,12 +34,12 @@
 created with an initial size of 410KB (40 percent of 1024KB). If 70 percent
 of the free space in the cache gets used the server allocates an additional
 205KB (20 percent of 1024). </p> <fig id="GUID-CA4A08C8-C4E8-575F-8F03-F3D1F6579E5F">
-<image href="GUID-B459E37A-BECE-5087-9827-C93310890674_d0e482708_href.png" placement="inline"/>
+<image href="GUID-B459E37A-BECE-5087-9827-C93310890674_d0e488537_href.png" placement="inline"/>
 </fig> <p>Message Server can make two further 205KB allocations which it does
 as use reaches 70 percent of the memory already allocated. </p> <fig id="GUID-21A40614-046B-56DD-9DDD-34B2F9681B5C">
-<image href="GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e482716_href.png" placement="inline"/>
+<image href="GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e488545_href.png" placement="inline"/>
 </fig> <p>If more than 70 percent of the first two allocated memory chunks
 is used, an additional 20 percent of memory is added to the free space. </p> <fig id="GUID-EBF4FF85-D6D6-518C-9391-C3AFF8821F83">
-<image href="GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e482724_href.png" placement="inline"/>
+<image href="GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e488553_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2FCB4609-1568-5B5F-AD9D-5A531B17A68F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2FCB4609-1568-5B5F-AD9D-5A531B17A68F" xml:lang="en"><title>resource</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><codeph>resource</codeph>  <varname>resource-file-list</varname> </p>
-<p><note> From v9.0, applications need to specify the directory
-for the built resource. Use the start resource syntax to do this.</note>.</p>
-<p>Use the <codeph>resource</codeph> statement, to specify resource files
-for application projects. The makefile will build the resource file into the
-target directory.</p>
-<p>Each resource file should be given with its extension, e.g. <filepath>squash.rss</filepath>.</p>
-<p>If more than one language is specified with the <codeph>lang</codeph>,
-then each resource will be compiled multiple times, once for each language
-specified.</p>
-<p>If you have a system project rather than an application, use the <codeph>systemresource</codeph> statement.</p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-2FDD1CAE-0FBF-4CC4-9C16-5AE4F538ED85.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-2FDD1CAE-0FBF-4CC4-9C16-5AE4F538ED85" xml:lang="en"><title>Rotation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Whenever the orientation of UI is changed, all applications rotate 90 or
-270 degrees (not only the foreground application). By default, the UI does
-not rotate automatically to any other orientation while opening or closing
-an application, swapping to another application, or in the case of embedded
-applications or seamless task flows. In addition, the UI should not change
-its orientation when another view within an application is opened.</p>
-<p>Applications that support only one orientation, and thus trigger automatic
-orientation switch, do not change the orientation of other applications. That
-is, if the orientation is ’portrait’ before launching a ’landscape-only application’,
-it is portrait even after exiting it. </p>
-<p>An exception to this rule is for the applications that are launched from
-the landscape application itself (for example, the <b>Go to gallery</b> option
-in the Camera application) or embedded within the application (for example,
-the embedded Browser within an image editor when downloading content). In
-these cases, one orientation should remain throughout the task flow, and the
-original orientation should be returned only after exiting the application
-that triggered the rotation.</p>
-<p>No queries or notes are recommended to inform or ask the user about rotation.</p>
-<fig id="GUID-3569FFE6-3CD2-4D6E-9DCA-758425A3592D">
-<image href="GUID-F7C762AA-3961-4739-ADD1-346DBF7CD7F8_d0e105362_href.png" placement="inline"/>
-</fig>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-2FE3BDE7-8782-5026-9B90-D96B77197498_d0e276488_href.png has changed
Binary file Symbian3/PDK/Source/GUID-2FE3BDE7-8782-5026-9B90-D96B77197498_d0e282488_href.png has changed
Binary file Symbian3/PDK/Source/GUID-300B4AF5-7F6E-542D-886D-335674EDE8FD_d0e533831_href.png has changed
Binary file Symbian3/PDK/Source/GUID-300B4AF5-7F6E-542D-886D-335674EDE8FD_d0e541291_href.png has changed
--- a/Symbian3/PDK/Source/GUID-301037F1-1983-565A-88F9-633BBF0EBB91.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-301037F1-1983-565A-88F9-633BBF0EBB91.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,205 +9,157 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-301037F1-1983-565A-88F9-633BBF0EBB91" xml:lang="en"><title>posixsignals:
-POSIX Signal Example, Using P.I.P.S.</title><shortdesc>This example demonstrates various signal use cases as supported
+<reference id="GUID-301037F1-1983-565A-88F9-633BBF0EBB91" xml:lang="en"><title>posixsignals: POSIX Signal Example, Using P.I.P.S.</title><shortdesc>This example demonstrates various signal use cases as supported
 in P.I.P.S. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-CB373350-FF46-4535-BF8E-69F1CB3BA96E"><title>Purpose</title> <p>The
-example demonstrates the following use cases: </p> <ol>
-<li id="GUID-2449E06E-4B58-567F-977E-B949483EB5C2"><p>Sending and handling
-a signal using the default handler </p> </li>
-<li id="GUID-7E468336-5849-5900-BE63-5AAE64061463"><p>Sending and handling
-a signal using a customized signal handler </p> </li>
-<li id="GUID-0BE58B0C-9D2A-5CAE-BF98-CF5169532B41"><p>Ignoring an incoming
-signal </p> </li>
-<li id="GUID-585B9B29-DFA4-5530-8E4F-F2DC865C9D2C"><p>Blocking and releasing
+<section id="GUID-CB373350-FF46-4535-BF8E-69F1CB3BA96E"><title>Purpose</title> <p>The example demonstrates the following use cases: </p> <ol>
+<li id="GUID-2449E06E-4B58-567F-977E-B949483EB5C2"><p>Sending and
+handling a signal using the default handler </p> </li>
+<li id="GUID-7E468336-5849-5900-BE63-5AAE64061463"><p>Sending and
+handling a signal using a customized signal handler </p> </li>
+<li id="GUID-0BE58B0C-9D2A-5CAE-BF98-CF5169532B41"><p>Ignoring an
+incoming signal </p> </li>
+<li id="GUID-585B9B29-DFA4-5530-8E4F-F2DC865C9D2C"><p>Blocking and
+releasing a signal </p> </li>
+<li id="GUID-A486A7E3-31AB-5AAF-B24F-F908CE687121"><p>Waiting for
 a signal </p> </li>
-<li id="GUID-A486A7E3-31AB-5AAF-B24F-F908CE687121"><p>Waiting for a signal </p> </li>
-<li id="GUID-E4F52B24-EDA0-57A7-AA1C-7B93EF91F3C1"><p>Generating and handling
-a <codeph>SIGPIPE</codeph> signal </p> </li>
-<li id="GUID-3D92B198-4827-5817-B28C-C1AC0B28CD6F"><p>Using a signal to gracefully
-terminate a process </p> </li>
-<li id="GUID-D7F62326-7148-528E-9189-D9180123724E"><p>Using a signal to handle
-an asynchronous event </p> </li>
+<li id="GUID-E4F52B24-EDA0-57A7-AA1C-7B93EF91F3C1"><p>Generating and
+handling a <codeph>SIGPIPE</codeph> signal </p> </li>
+<li id="GUID-3D92B198-4827-5817-B28C-C1AC0B28CD6F"><p>Using a signal
+to gracefully terminate a process </p> </li>
+<li id="GUID-D7F62326-7148-528E-9189-D9180123724E"><p>Using a signal
+to handle an asynchronous event </p> </li>
 </ol><p> </p><p>The example delivers 3 sub projects: </p> <ul>
-<li id="GUID-F8B3EA5D-58D5-535D-BF5A-5E4639EE78FB"><p> <b>basicSignals:</b> This
-project demonstrates basic signal use cases. It shows the first six use cases
-mentioned in the list above. The use cases are demonstrated through <filepath>basicsignals.exe</filepath>. </p> </li>
-<li id="GUID-145641DC-753A-53C4-8AFA-4F38D754A293"><p> <b>sigtermSignal:</b> This
-project demonstrates the graceful termination of a process using the <codeph>SIGTERM</codeph> signal.
-The use case is demonstrated through <filepath>sigtermsignal.exe</filepath> and <filepath>raisesignal.exe</filepath>. </p> </li>
-<li id="GUID-899D801E-B669-560F-87AE-3C3AE095FB07"><p> <b>asyncSignal:</b> This
-project demonstrates asynchronous signal handling using the <codeph>SIGUSR1</codeph> signal
-and the <codeph>SIGUSR2</codeph> signal. The use case is demonstrated using <filepath>sigusr1.exe</filepath> and <filepath>sigusr2.exe</filepath>. </p> </li>
+<li id="GUID-F8B3EA5D-58D5-535D-BF5A-5E4639EE78FB"><p> <b>basicSignals:</b> This project demonstrates basic signal use cases. It shows the first
+six use cases mentioned in the list above. The use cases are demonstrated
+through <filepath>basicsignals.exe</filepath>. </p> </li>
+<li id="GUID-145641DC-753A-53C4-8AFA-4F38D754A293"><p> <b>sigtermSignal:</b> This project demonstrates the graceful termination of a process
+using the <codeph>SIGTERM</codeph> signal. The use case is demonstrated
+through <filepath>sigtermsignal.exe</filepath> and <filepath>raisesignal.exe</filepath>. </p> </li>
+<li id="GUID-899D801E-B669-560F-87AE-3C3AE095FB07"><p> <b>asyncSignal:</b> This project demonstrates asynchronous signal handling using the <codeph>SIGUSR1</codeph> signal and the <codeph>SIGUSR2</codeph> signal.
+The use case is demonstrated using <filepath>sigusr1.exe</filepath> and <filepath>sigusr2.exe</filepath>. </p> </li>
 </ul> </section>
-<section id="GUID-703F9106-A12C-4F0B-872B-F4A06FCEC1FC"><title>Description</title> <p>The
-use cases demonstrated in this example are described below.</p><p>Note: For
-clarity in the documentation for this example, signal names have been given
-in capitals whilst process names have been given in lower case.</p><p><b>1.
-Sending and handling a signal using the default handler </b> </p> <p>The default
-implementation of the signals supported in P.I.P.S. will either terminate
-a process or ignore a process. Signals are generated using the <codeph>Kill()</codeph> method
-and they are handled as per the implementation in the default handler. </p> <p>To
-demonstrate this use case we use <codeph>SIGCHLD</codeph> and <codeph>SIGALRM</codeph> signals. <codeph>SIGCHLD</codeph> by
-default gets ignored whenever it is raised, whereas <codeph>SIGALRM</codeph> causes
-a process termination when raised. As a result the example terminates whenever <codeph>SIGALRM</codeph> is
-raised, whereas an info message is printed when <codeph>SIGCHLD</codeph> is
-raised. </p> <p><b>2. Sending and handling a signal using a customized signal
-handler </b> </p> <p>To override the default implementation of a signal a
-customized handler can be defined. This customized handler can be set either
-by using <codeph>sigaction()</codeph> or <codeph>signal()</codeph>. The <codeph>sigaction()</codeph> method
-takes <codeph>struct sigaction</codeph> as one of its parameters (the <codeph>sa_handler</codeph> member
-of this structure is filled with the custom handler). Now whenever a signal
-is generated the custom handler is executed. </p> <p>For the demonstration
-of this particular use case, <codeph>SIGCHLD</codeph> and <codeph>SIGALRM</codeph> signals
-are used. These signals are assigned custom handler functions. The handlers
-for these signals contains a simple user message. Thus, whenever the signals
-are raised, the customized signal handlers get invoked instead of the default
-handlers. </p> <p><b>3. Ignoring an incoming signal </b> </p> <p>A signal
-can be ignored by setting <codeph>SIG_IGN</codeph> in the <codeph>sa_handler</codeph> member
-of <codeph>struct sigaction</codeph>. The demonstration of this use case also
-uses <codeph>SIGCHLD</codeph> and <codeph>SIGALRM</codeph> signals, and as
-a result of setting <codeph>SIG_IGN</codeph> in <codeph>sa_handler</codeph> the
-signals are ignored when raised. </p> <p><b>4. Blocking and releasing a signal </b> </p> <p>A
-signal can be blocked by first adding it to the blocking set (a list of signals
-we want to block, when a signal is executing) by using the <codeph>sigaddset()</codeph> method
-and then calling the<codeph> sigprocmask()</codeph> function. Once a signal
-is blocked it will always be ignored upon generation. The <codeph>sigrelse()</codeph> method
-is used to unblock a signal. </p> <p>Demonstration of this use case involves
-the <codeph>SIGUSR1</codeph> and <codeph>SIGUSR2</codeph> signals. Both <codeph>SIGUSR1 </codeph>and <codeph>SIGUSR2</codeph> are
-user-defined signals. We first block the <codeph>SIGUSR1</codeph> signal by
-adding it to the blocking set and making a call to the <codeph>sigprocmask()</codeph> function.
-Now whenever <codeph>SIGUSR1</codeph> is raised it will get ignored as it
-is blocked. <codeph>SIGUSR1</codeph> will keep waiting in the pending queue
-until it is released. The release of <codeph>SIGUSR1</codeph> happens in the <codeph>SIGUSR2</codeph> signal
-handler. Once <codeph>SIGUSR1</codeph> is released, it is removed from the
-pending queue and its handler function is called to handle it. </p> <p><b>5.
-Waiting for a signal </b> </p> <p>Before a process can wait on a particular
-signal, it has to add the signal to the mask set (which is a list of signals
-we want to block) and then call the <codeph>sigprocmask()</codeph> method.
-The process then sets the timeout value using <codeph>struct timespec</codeph>.
-Once this is done the process waits on a signal for a specified time period
-using the<codeph>sigtimedwait()</codeph> method. If the signal is not received
-within the specified time period, an error message is generated. </p> <p>For
-the demonstration of this use case we are setting a timeout of 5 seconds.
-The <codeph>SIGALRM</codeph> signal is raised by a call to <codeph>alarm()</codeph> as
-and when the timer expires. There are two instances in the example where <codeph>SIGALRM</codeph> signal
-is raised, one after a duration of 4 seconds and one after 6 seconds. When <codeph>SIGALRM</codeph> is
-raised after 4 seconds, it is well within the timeout limit (of 5 seconds)
-and hence the signal gets received but not handled. But when the alarm is
-raised after 6 seconds, timeout happens and an error is generated. Now as
-the <codeph>SIGALRM</codeph> signal was added to the mask set it never gets
-handled even though it is received. To handle the signal we need to move it
-from block state to unblock state, which we do using the <codeph>sigprocmask()</codeph> method.
-Once the signal gets unblocked its custom handler gets called. </p> <p><b>6.
-Generating and handling a <codeph>SIGPIPE</codeph> signal </b> </p> <p>The
- <codeph>SIGPIPE</codeph> signal is generated when writing to a broken pipe.
-To achieve this broken pipe condition the read end of the pipe (obtained using
-the <codeph>pipe() </codeph> function call) is closed and then write to the
-pipe is done. The associated handler function is executed in response to the
-raised <codeph>SIGPIPE</codeph> signal . </p> <p><b>7. Using a signal to gracefully
-terminate a process </b> </p> <p>Graceful termination of process can be achieved
-by using the <codeph>SIGTERM </codeph>signal. In the handler function of the
-signal all the opened file descriptors need to be closed before exiting. </p> <p>This
-use case is demonstrated using the <filepath>sigtermSignal</filepath> project.
-The project consists of two processes: the <filepath>sigtermsignal</filepath> process
-and the <filepath>raisesignal </filepath> process. </p> <ul>
-<li id="GUID-A2CC3DF9-0334-5638-A5E7-7828F319F5D0"> <p>The <filepath>sigtermsignal</filepath> process
-first defines a custom handler for the <codeph>SIGTERM</codeph> signal that
-carries out the closing of all the open file descriptors when the signal is
-raised. This is done in order to achieve the graceful termination of the process.
-The <filepath>sigtermsignal</filepath> process then opens a file and obtains
-names from user to be written in to it. It then simultaneously spawns a <filepath>raisesignal</filepath> process
-and starts reading from the file. When the <filepath>raisesignal</filepath> process
-sends a <codeph>SIGTERM</codeph> signal to the <filepath>sigtermsignal</filepath> process,
-the <filepath>sigtermsignal</filepath> process closes all the open file descriptors
-and prepares to exit. </p> </li>
-<li id="GUID-05715C75-A100-563B-82D5-CAA4EFD44634"> <p>The <filepath>raisesignal</filepath> process
-sends the <codeph>SIGTERM</codeph> signal to the <filepath>sigtermsignal</filepath> process.
-The custom handler of the <codeph>SIGTERM</codeph> signal takes care of properly
-closing all opened file descriptors and then terminating the process. If the
-custom handler is not implemented, the default handler will get called, which
-will result in process termination without closing any opened file descriptors. </p> </li>
-</ul> <p><b>8. Using a signal to handle an asynchronous event </b> </p> <p> <codeph>The
-SIGUSR1</codeph> and <codeph>SIGUSR2</codeph> signals are used to demonstrate
-the handling of an asynchronous event. These signals are sent from one process
-to another. On reception of these signals, respective custom handlers are
-called and any necessary action is taken. The action taken is purely implementation
-dependent . </p> <p>This use case demonstration is performed using the <filepath>asyncSignal</filepath> project.
-The project consists of two processes: the <filepath>sigusr1</filepath> process
-and the <filepath>sigusr2</filepath> process, where the <filepath>sigusr1</filepath> process
-handles the <codeph>SIGUSR1</codeph> signal and sends the <codeph>SIGUSR2</codeph> signal
-to the <filepath>sigusr2</filepath> process. Whereas the<filepath> sigusr2</filepath> process
-handles the <codeph>SIGUSR2</codeph> signal and sends the <codeph>SIGUSR1</codeph> signal
-to the <filepath>sigusr1</filepath> process. </p> <ul>
-<li id="GUID-57116DD9-EB8E-57F0-9FFD-AA54F984F698"><p>The <filepath>sigusr1 </filepath> process
-assigns a custom handler for the <codeph>SIGUSR1</codeph> signal. It then
-opens a file in read and write mode and write some content into the open file.
-Once write operation is done the <filepath>sigusr1</filepath> process spawns <filepath>sigusr2</filepath> process
-and waits for <codeph>SIGUSR1 </codeph> signal from <filepath>sigusr2</filepath> process.
-On receiving <codeph>SIGUSR1</codeph> signal <filepath>sigusr1 </filepath> process
-starts reading from the file. Once reading from the file is done and its contents
-are displayed on the console, <filepath>sigusr1</filepath> process sends <codeph>SIGUSR2</codeph> signal
-to <filepath>sigusr2</filepath> process. It then closes all its open file
-descriptor and prepares to exit. </p> </li>
-<li id="GUID-9F878182-23B1-570C-986C-3B4E7B26F444"> <p>The<filepath> sigusr2</filepath> process
-is spawned from <filepath>sigusr1</filepath> process and it assigns a custom
-handler for <codeph>SIGUSR2</codeph> signal. It sends <codeph>SIGUSR1</codeph> signal
-to <filepath>sigusr1</filepath> process in order to start file read and then
-waits for <codeph>SIGUSR2 </codeph> signal from <filepath>sigusr1</filepath> process.
-When <filepath>sigusr2</filepath> process receives <codeph>SIGUSR2</codeph> signal
+<section id="GUID-703F9106-A12C-4F0B-872B-F4A06FCEC1FC"><title>Description</title> <p>The use cases demonstrated in this example are described below.</p><p>Note: For clarity in the documentation for this example, signal
+names have been given in capitals whilst process names have been given
+in lower case.</p><p><b>1. Sending and handling a signal using the
+default handler </b> </p> <p>The default implementation of the signals
+supported in P.I.P.S. will either terminate a process or ignore a
+process. Signals are generated using the <codeph>Kill()</codeph> method
+and they are handled as per the implementation in the default handler. </p> <p>To demonstrate this use case we use <codeph>SIGCHLD</codeph> and <codeph>SIGALRM</codeph> signals. <codeph>SIGCHLD</codeph> by default gets
+ignored whenever it is raised, whereas <codeph>SIGALRM</codeph> causes
+a process termination when raised. As a result the example terminates
+whenever <codeph>SIGALRM</codeph> is raised, whereas an info message
+is printed when <codeph>SIGCHLD</codeph> is raised. </p> <p><b>2.
+Sending and handling a signal using a customized signal handler </b> </p> <p>To override the default implementation of a signal a customized
+handler can be defined. This customized handler can be set either
+by using <codeph>sigaction()</codeph> or <codeph>signal()</codeph>. The <codeph>sigaction()</codeph> method takes <codeph>struct sigaction</codeph> as one of its parameters (the <codeph>sa_handler</codeph> member
+of this structure is filled with the custom handler). Now whenever
+a signal is generated the custom handler is executed. </p> <p>For
+the demonstration of this particular use case, <codeph>SIGCHLD</codeph> and <codeph>SIGALRM</codeph> signals are used. These signals are
+assigned custom handler functions. The handlers for these signals
+contains a simple user message. Thus, whenever the signals are raised,
+the customized signal handlers get invoked instead of the default
+handlers. </p> <p><b>3. Ignoring an incoming signal </b> </p> <p>A
+signal can be ignored by setting <codeph>SIG_IGN</codeph> in the <codeph>sa_handler</codeph> member of <codeph>struct sigaction</codeph>.
+The demonstration of this use case also uses <codeph>SIGCHLD</codeph> and <codeph>SIGALRM</codeph> signals, and as a result of setting <codeph>SIG_IGN</codeph> in <codeph>sa_handler</codeph> the signals are ignored
+when raised. </p> <p><b>4. Blocking and releasing a signal </b> </p> <p>A signal can be blocked by first adding it to the blocking set
+(a list of signals we want to block, when a signal is executing) by
+using the <codeph>sigaddset()</codeph> method and then calling the<codeph> sigprocmask()</codeph> function. Once a signal is blocked it will
+always be ignored upon generation. The <codeph>sigrelse()</codeph> method is used to unblock a signal. </p> <p>Demonstration of this
+use case involves the <codeph>SIGUSR1</codeph> and <codeph>SIGUSR2</codeph> signals. Both <codeph>SIGUSR1 </codeph>and <codeph>SIGUSR2</codeph> are user-defined signals. We first block the <codeph>SIGUSR1</codeph> signal by adding it to the blocking set and making a call to the <codeph>sigprocmask()</codeph> function. Now whenever <codeph>SIGUSR1</codeph> is raised it will get ignored as it is blocked. <codeph>SIGUSR1</codeph> will keep waiting in the pending queue until it is released. The
+release of <codeph>SIGUSR1</codeph> happens in the <codeph>SIGUSR2</codeph> signal handler. Once <codeph>SIGUSR1</codeph> is released, it is
+removed from the pending queue and its handler function is called
+to handle it. </p> <p><b>5. Waiting for a signal </b> </p> <p>Before
+a process can wait on a particular signal, it has to add the signal
+to the mask set (which is a list of signals we want to block) and
+then call the <codeph>sigprocmask()</codeph> method. The process then
+sets the timeout value using <codeph>struct timespec</codeph>. Once
+this is done the process waits on a signal for a specified time period
+using the<codeph>sigtimedwait()</codeph> method. If the signal is
+not received within the specified time period, an error message is
+generated. </p> <p>For the demonstration of this use case we are setting
+a timeout of 5 seconds. The <codeph>SIGALRM</codeph> signal is raised
+by a call to <codeph>alarm()</codeph> as and when the timer expires.
+There are two instances in the example where <codeph>SIGALRM</codeph> signal is raised, one after a duration of 4 seconds and one after
+6 seconds. When <codeph>SIGALRM</codeph> is raised after 4 seconds,
+it is well within the timeout limit (of 5 seconds) and hence the signal
+gets received but not handled. But when the alarm is raised after
+6 seconds, timeout happens and an error is generated. Now as the <codeph>SIGALRM</codeph> signal was added to the mask set it never gets handled
+even though it is received. To handle the signal we need to move it
+from block state to unblock state, which we do using the <codeph>sigprocmask()</codeph> method. Once the signal gets unblocked its custom handler gets called. </p> <p><b>6. Generating and handling a <codeph>SIGPIPE</codeph> signal </b> </p> <p>The  <codeph>SIGPIPE</codeph> signal is generated when writing
+to a broken pipe. To achieve this broken pipe condition the read end
+of the pipe (obtained using the <codeph>pipe() </codeph> function
+call) is closed and then write to the pipe is done. The associated
+handler function is executed in response to the raised <codeph>SIGPIPE</codeph> signal . </p> <p><b>7. Using a signal to gracefully terminate a
+process </b> </p> <p>Graceful termination of process can be achieved
+by using the <codeph>SIGTERM </codeph>signal. In the handler function
+of the signal all the opened file descriptors need to be closed before
+exiting. </p> <p>This use case is demonstrated using the <filepath>sigtermSignal</filepath> project. The project consists of two processes:
+the <filepath>sigtermsignal</filepath> process and the <filepath>raisesignal </filepath> process. </p> <ul>
+<li id="GUID-A2CC3DF9-0334-5638-A5E7-7828F319F5D0"> <p>The <filepath>sigtermsignal</filepath> process first defines a custom handler for
+the <codeph>SIGTERM</codeph> signal that carries out the closing of
+all the open file descriptors when the signal is raised. This is done
+in order to achieve the graceful termination of the process. The <filepath>sigtermsignal</filepath> process then opens a file and obtains names
+from user to be written in to it. It then simultaneously spawns a <filepath>raisesignal</filepath> process and starts reading from the file.
+When the <filepath>raisesignal</filepath> process sends a <codeph>SIGTERM</codeph> signal to the <filepath>sigtermsignal</filepath> process, the <filepath>sigtermsignal</filepath> process closes all
+the open file descriptors and prepares to exit. </p> </li>
+<li id="GUID-05715C75-A100-563B-82D5-CAA4EFD44634"> <p>The <filepath>raisesignal</filepath> process sends the <codeph>SIGTERM</codeph> signal to the <filepath>sigtermsignal</filepath> process. The custom
+handler of the <codeph>SIGTERM</codeph> signal takes care of properly
+closing all opened file descriptors and then terminating the process.
+If the custom handler is not implemented, the default handler will
+get called, which will result in process termination without closing
+any opened file descriptors. </p> </li>
+</ul> <p><b>8. Using a signal to handle an asynchronous event </b> </p> <p> <codeph>The SIGUSR1</codeph> and <codeph>SIGUSR2</codeph> signals are used to demonstrate the handling of an asynchronous
+event. These signals are sent from one process to another. On reception
+of these signals, respective custom handlers are called and any necessary
+action is taken. The action taken is purely implementation dependent
+. </p> <p>This use case demonstration is performed using the <filepath>asyncSignal</filepath> project. The project consists of two processes:
+the <filepath>sigusr1</filepath> process and the <filepath>sigusr2</filepath> process, where the <filepath>sigusr1</filepath> process handles
+the <codeph>SIGUSR1</codeph> signal and sends the <codeph>SIGUSR2</codeph> signal to the <filepath>sigusr2</filepath> process. Whereas the<filepath> sigusr2</filepath> process handles the <codeph>SIGUSR2</codeph> signal
+and sends the <codeph>SIGUSR1</codeph> signal to the <filepath>sigusr1</filepath> process. </p> <ul>
+<li id="GUID-57116DD9-EB8E-57F0-9FFD-AA54F984F698"><p>The <filepath>sigusr1 </filepath> process assigns a custom handler for the <codeph>SIGUSR1</codeph> signal. It then opens a file in read and write mode
+and write some content into the open file. Once write operation is
+done the <filepath>sigusr1</filepath> process spawns <filepath>sigusr2</filepath> process and waits for <codeph>SIGUSR1 </codeph> signal from <filepath>sigusr2</filepath> process. On receiving <codeph>SIGUSR1</codeph> signal <filepath>sigusr1 </filepath> process starts reading from
+the file. Once reading from the file is done and its contents are
+displayed on the console, <filepath>sigusr1</filepath> process sends <codeph>SIGUSR2</codeph> signal to <filepath>sigusr2</filepath> process.
+It then closes all its open file descriptor and prepares to exit. </p> </li>
+<li id="GUID-9F878182-23B1-570C-986C-3B4E7B26F444"> <p>The<filepath> sigusr2</filepath> process is spawned from <filepath>sigusr1</filepath> process and it assigns a custom handler for <codeph>SIGUSR2</codeph> signal. It sends <codeph>SIGUSR1</codeph> signal to <filepath>sigusr1</filepath> process in order to start file read and then waits for <codeph>SIGUSR2 </codeph> signal from <filepath>sigusr1</filepath> process. When <filepath>sigusr2</filepath> process receives <codeph>SIGUSR2</codeph> signal
 it prepares to exit. </p> </li>
-</ul> <p>Hence, the communication between the two processes happens through
-the <codeph>SIGUSR1</codeph> and <codeph>SIGUSR2</codeph> signals and asynchronous
-signal handling happens. </p> </section>
-<section id="GUID-E1661179-0268-4E49-A574-C7CC41D7A56B"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-5a633d12-547a-4439-9eca-104a655109ab.zip" scope="external">BasicSignals.zip</xref></p><p>Click on the following link
-to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-54523fba-51b5-436a-9403-99874fdc94c7 .zip" scope="external">SigtermSignal.zip</xref></p><p>Click on the following link
-to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-7714a392-161f-4dc7-b8e6-311e42e1deb8 .zip" scope="external">AsyncSignal.zip</xref></p><p/><p>To view the BasicSignal
-example source click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-5a633d12-547a-4439-9eca-104a655109ab.html" scope="peer">browseBasicSignals</xref></p><p>To view the SigtermSignal example
-source click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-54523fba-51b5-436a-9403-99874fdc94c7.html" scope="peer">browseSigtermSignal</xref></p><p>To view the AsyncSignal example
-source click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-7714a392-161f-4dc7-b8e6-311e42e1deb8.html" scope="peer">browseAsyncSignal</xref></p> </section>
-<section id="GUID-38492A50-BF1B-4A33-8125-397D646ED8A7"><title>Building and
-configuring</title> <p>You can build the example from your IDE or the command
-line: </p> <ul>
-<li id="GUID-0D86ECCB-1501-52D9-A52E-A016AB6710A2-GENID-1-12-1-13-1-1-5-1-3-1-11-1-9-1-3-4-3-1"><p> </p><p>If you use an
-IDE, import the <filepath>bld.inf</filepath> file of the example into your
-IDE, and use the build command of the IDE. </p></li>
-<li> <p>If you use the command line, open a command prompt, and set the current
-directory to the source code directory of the example. You can then build
-the example with the SBSv1 build tools using the following commands: </p><ul>
+</ul> <p>Hence, the communication between the two processes happens
+through the <codeph>SIGUSR1</codeph> and <codeph>SIGUSR2</codeph> signals
+and asynchronous signal handling happens. </p> </section>
+<section id="GUID-E1661179-0268-4E49-A574-C7CC41D7A56B"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-5a633d12-547a-4439-9eca-104a655109ab.zip" scope="external">BasicSignals.zip</xref></p><p>Click on the following
+link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-54523fba-51b5-436a-9403-99874fdc94c7 .zip" scope="external">SigtermSignal.zip</xref></p><p>Click on the following
+link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-7714a392-161f-4dc7-b8e6-311e42e1deb8 .zip" scope="external">AsyncSignal.zip</xref></p><p/><p>To view the BasicSignal
+example source click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-5a633d12-547a-4439-9eca-104a655109ab.html" scope="peer">browseBasicSignals</xref></p><p>To view the SigtermSignal
+example source click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-54523fba-51b5-436a-9403-99874fdc94c7.html" scope="peer">browseSigtermSignal</xref></p><p>To view the AsyncSignal
+example source click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-7714a392-161f-4dc7-b8e6-311e42e1deb8.html" scope="peer">browseAsyncSignal</xref></p> </section>
+<section id="GUID-38492A50-BF1B-4A33-8125-397D646ED8A7"><title>Building
+and configuring</title> <p>You can build the example from your IDE
+or the command line: </p> <ul>
+<li id="GUID-0D86ECCB-1501-52D9-A52E-A016AB6710A2-GENID-1-12-1-14-1-1-5-1-3-1-11-1-9-1-3-4-3-1"><p> </p><p>If you
+use an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p></li>
+<li> <p>If you use the command line, open a command prompt, and set
+the current directory to the source code directory of the example.
+You can then build the example with the SBSv1 build tools using the
+following commands: </p><ul>
 <li><p><cmdname>bldmake bldfiles</cmdname></p></li>
 <li><p><cmdname>abld build</cmdname></p></li>
-</ul> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use
-bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How
-to use abld</xref> describe how to use the SBSv1 build tools. </p> </li>
+</ul> </li>
 </ul> <p> </p><p>The example builds the following executables :<ul>
-<li><p><filepath>basicsignals.exe</filepath> : for basic signal use cases
-demonstration. </p></li>
-<li><p><filepath>sigtermsignal.exe</filepath> : for demonstrating graceful
-termination of process .</p></li>
+<li><p><filepath>basicsignals.exe</filepath> : for basic signal use
+cases demonstration. </p></li>
+<li><p><filepath>sigtermsignal.exe</filepath> : for demonstrating
+graceful termination of process .</p></li>
 <li><p><filepath>raisesignal.exe</filepath> : for sending <codeph>SIGTERM</codeph> signal.</p></li>
-<li><p><filepath>sigusr1.exe</filepath> : for demonstrating asynchronous event
-handling , sending <codeph>SIGUSR2</codeph> signal and receiving <codeph>SIGUSR1</codeph> signal. </p></li>
-<li><p><filepath>sigusr2.exe</filepath> : for sending <codeph><codeph>SIGUSR1</codeph></codeph> signal
-and receiving <codeph>SIGUSR2</codeph> signal.</p></li>
+<li><p><filepath>sigusr1.exe</filepath> : for demonstrating asynchronous
+event handling , sending <codeph>SIGUSR2</codeph> signal and receiving <codeph>SIGUSR1</codeph> signal. </p></li>
+<li><p><filepath>sigusr2.exe</filepath> : for sending <codeph><codeph>SIGUSR1</codeph></codeph> signal and receiving <codeph>SIGUSR2</codeph> signal.</p></li>
 </ul></p><p> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p><p> </p></section>
-<section id="GUID-1CB8164D-030D-41CD-B146-3E4D14CB1A9B"><title>Running the
-example</title> <p><b>NOTE : </b> </p> <p> <filepath>basicsignals.exe</filepath> should
-be executed first for running the first six uses cases mentioned above. </p> <p> <filepath>sigtermsignal.exe</filepath> should
-be executed for running the seventh use case. </p> <p> <filepath>sigusr1.exe</filepath> should
-be executed for running the last use case. </p> <p>The <filepath>sigtermsignal</filepath> process
-internally spawns the<filepath> raisesignal</filepath> process for taking
-an input from the user and sending the <codeph>SIGTERM</codeph> signal. You
-should not run the <filepath>raisesignal</filepath> process explicitly. You
-should only run <filepath>sigtermsignal.exe</filepath> as the <filepath>sigtermsignal</filepath> process
-takes proper care of launching the <filepath>raisesignal</filepath> process. </p> <p>The <filepath>sigusr1</filepath> process
-also internally spawns the <filepath>sigusr2</filepath> process. </p> <p>The <filepath>sigusr1</filepath> process
-sends the <codeph>SIGUSR2</codeph> signal to the <filepath>sigusr2</filepath> process
-and receives the <codeph>SIGUSR1</codeph> signal from it. </p> <p>The <filepath>sigusr2</filepath> process
-sends the <codeph>SIGUSR1</codeph> signal to the <filepath>sigusr1</filepath> process
-and receives the <codeph>SIGUSR2</codeph> signal from it. </p> <p>As the <filepath>sigusr1 </filepath>process
-spawns the <filepath>sigusr2</filepath> process, hence you should run <filepath>sigusr1.exe</filepath> only. </p> <p>In
-order to toggle between the processes use <cmdname>Alt+ctrl+shift+T</cmdname> and
-observe the behavior. </p> </section>
+<section id="GUID-1CB8164D-030D-41CD-B146-3E4D14CB1A9B"><title>Running
+the example</title> <p><b>NOTE : </b> </p> <p> <filepath>basicsignals.exe</filepath> should be executed first for running the first six uses cases mentioned
+above. </p> <p> <filepath>sigtermsignal.exe</filepath> should be executed
+for running the seventh use case. </p> <p> <filepath>sigusr1.exe</filepath> should be executed for running the last use case. </p> <p>The <filepath>sigtermsignal</filepath> process internally spawns the<filepath> raisesignal</filepath> process for taking an input from the user and sending the <codeph>SIGTERM</codeph> signal. You should not run the <filepath>raisesignal</filepath> process explicitly. You should only run <filepath>sigtermsignal.exe</filepath> as the <filepath>sigtermsignal</filepath> process takes proper care
+of launching the <filepath>raisesignal</filepath> process. </p> <p>The <filepath>sigusr1</filepath> process also internally spawns the <filepath>sigusr2</filepath> process. </p> <p>The <filepath>sigusr1</filepath> process sends the <codeph>SIGUSR2</codeph> signal to the <filepath>sigusr2</filepath> process and receives the <codeph>SIGUSR1</codeph> signal from it. </p> <p>The <filepath>sigusr2</filepath> process
+sends the <codeph>SIGUSR1</codeph> signal to the <filepath>sigusr1</filepath> process and receives the <codeph>SIGUSR2</codeph> signal from it. </p> <p>As the <filepath>sigusr1 </filepath>process spawns the <filepath>sigusr2</filepath> process, hence you should run <filepath>sigusr1.exe</filepath> only. </p> <p>In order to toggle between the processes use <cmdname>Alt+ctrl+shift+T</cmdname> and observe the behavior. </p> </section>
 </refbody></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3013C136-6041-5A77-8A11-41DE406DC689_d0e20586_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-3013C136-6041-5A77-8A11-41DE406DC689_d0e22553_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-301488F8-B6D8-569A-B05E-19B740FE4C00.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-301488F8-B6D8-569A-B05E-19B740FE4C00.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,28 +34,28 @@
  About Remote Devices</xref> , discusses in detail how to go about this.  </p></section>
 <section><title>Where Next?</title> <p>This tutorial set takes you through
 all the steps involved in setting up and communicating over a Bluetooth connection. </p> <ul>
-<li id="GUID-36903ABB-D4DF-5FFC-B334-063144CC56C8-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-3-3-1"><p> <b>Selecting a Remote
+<li id="GUID-36903ABB-D4DF-5FFC-B334-063144CC56C8-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-3-3-1"><p> <b>Selecting a Remote
 Device</b> - This document </p> </li>
-<li id="GUID-29C87A1A-3F04-5248-85AC-6F6E055B2F83-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-3-3-2"><p> <xref href="GUID-CED041C8-D68D-55D1-957E-1A48EEFFF851.dita">Inquiring
+<li id="GUID-29C87A1A-3F04-5248-85AC-6F6E055B2F83-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-3-3-2"><p> <xref href="GUID-CED041C8-D68D-55D1-957E-1A48EEFFF851.dita">Inquiring
 About Remote Devices</xref>  </p> </li>
-<li id="GUID-C547A603-E73A-57ED-BB70-B3D4510EDFBB-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-3-3-3"><p> <xref href="GUID-A13494B9-C1E4-506A-B236-8AE0A6D6D557.dita">Inquiring
+<li id="GUID-C547A603-E73A-57ED-BB70-B3D4510EDFBB-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-3-3-3"><p> <xref href="GUID-A13494B9-C1E4-506A-B236-8AE0A6D6D557.dita">Inquiring
 About Services on a Remote Device</xref>  </p> </li>
-<li id="GUID-6E861019-D849-5D8E-B8ED-FB6D9EDBE1F4-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-3-3-4"><p> <xref href="GUID-A24D2CEF-88C9-5C63-A14D-85EFFBEF3C92.dita">Connecting
+<li id="GUID-6E861019-D849-5D8E-B8ED-FB6D9EDBE1F4-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-3-3-4"><p> <xref href="GUID-A24D2CEF-88C9-5C63-A14D-85EFFBEF3C92.dita">Connecting
 and Transferring Data to a Remote Device</xref>  </p> </li>
-<li id="GUID-6760B04D-1117-5691-ABDA-62B99DC9CFF4-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-3-3-5"><p> <xref href="GUID-4F0C4B9D-AA42-59C4-900A-7045FEAAF2F4.dita">Using
+<li id="GUID-6760B04D-1117-5691-ABDA-62B99DC9CFF4-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-3-3-5"><p> <xref href="GUID-4F0C4B9D-AA42-59C4-900A-7045FEAAF2F4.dita">Using
 security on outgoing sockets</xref>  </p> </li>
 </ul> </section>
 <section><title>Where Next?</title> <p>This tutorial set takes you through
 all the steps involved in setting up and communicating over a Bluetooth connection. </p> <ul>
-<li id="GUID-36903ABB-D4DF-5FFC-B334-063144CC56C8-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-4-3-1"><p> <b>Selecting a Remote
+<li id="GUID-36903ABB-D4DF-5FFC-B334-063144CC56C8-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-4-3-1"><p> <b>Selecting a Remote
 Device</b> - This document </p> </li>
-<li id="GUID-29C87A1A-3F04-5248-85AC-6F6E055B2F83-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-4-3-2"><p> <xref href="GUID-CED041C8-D68D-55D1-957E-1A48EEFFF851.dita">Inquiring
+<li id="GUID-29C87A1A-3F04-5248-85AC-6F6E055B2F83-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-4-3-2"><p> <xref href="GUID-CED041C8-D68D-55D1-957E-1A48EEFFF851.dita">Inquiring
 About Remote Devices</xref>  </p> </li>
-<li id="GUID-C547A603-E73A-57ED-BB70-B3D4510EDFBB-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-4-3-3"><p> <xref href="GUID-A13494B9-C1E4-506A-B236-8AE0A6D6D557.dita">Inquiring
+<li id="GUID-C547A603-E73A-57ED-BB70-B3D4510EDFBB-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-4-3-3"><p> <xref href="GUID-A13494B9-C1E4-506A-B236-8AE0A6D6D557.dita">Inquiring
 About Services on a Remote Device</xref>  </p> </li>
-<li id="GUID-6E861019-D849-5D8E-B8ED-FB6D9EDBE1F4-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-4-3-4"><p> <xref href="GUID-A24D2CEF-88C9-5C63-A14D-85EFFBEF3C92.dita">Connecting
+<li id="GUID-6E861019-D849-5D8E-B8ED-FB6D9EDBE1F4-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-4-3-4"><p> <xref href="GUID-A24D2CEF-88C9-5C63-A14D-85EFFBEF3C92.dita">Connecting
 and Transferring Data to a Remote Device</xref>  </p> </li>
-<li id="GUID-6760B04D-1117-5691-ABDA-62B99DC9CFF4-GENID-1-12-1-29-1-1-6-1-8-1-3-1-3-1-2-4-3-5"><p> <xref href="GUID-4F0C4B9D-AA42-59C4-900A-7045FEAAF2F4.dita">Using
+<li id="GUID-6760B04D-1117-5691-ABDA-62B99DC9CFF4-GENID-1-12-1-30-1-1-6-1-8-1-3-1-3-1-2-4-3-5"><p> <xref href="GUID-4F0C4B9D-AA42-59C4-900A-7045FEAAF2F4.dita">Using
 security on outgoing sockets</xref>  </p> </li>
 </ul> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-301CEDFA-6329-56BA-ADA6-8A89BA17E398_d0e24772_href.png has changed
Binary file Symbian3/PDK/Source/GUID-301CEDFA-6329-56BA-ADA6-8A89BA17E398_d0e26739_href.png has changed
--- a/Symbian3/PDK/Source/GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,267 +9,261 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B" xml:lang="en"><title>Symbian
-C++ Quick Start</title><shortdesc>This Quick Start is relevant if you want to create Symbian C++
-applications that run on Symbian devices - i.e. "on top" of the Symbian platform.
-Typically this will include: professional application and games developers,
-professional service companies, hobbyist developers and students. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The tutorial shows you how to get the development tools (e.g. IDE) and
-set up your development environment. It then shows you how to create a skeleton
-application using Carbide.c++ and UI designer, and how to get it up and running
-on both the <xref href="http://developer.symbian.org/wiki/index.php/Symbian_Emulator" scope="external">Symbian Emulator</xref> and on the device; the whole process
-takes just a few minutes! </p>
+<concept id="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B" xml:lang="en"><title>Symbian C++ Quick Start</title><shortdesc>This Quick Start is relevant if you want to create Symbian
+C++ applications that run on Symbian devices - i.e. "on top" of the
+Symbian platform. Typically this will include: professional application
+and games developers, professional service companies, hobbyist developers
+and students. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The tutorial shows you how to get the development tools (e.g. IDE)
+and set up your development environment. It then shows you how to
+create a skeleton application using Carbide.c++ and UI designer, and
+how to get it up and running on both the <xref href="http://developer.symbian.org/wiki/index.php/Symbian_Emulator" scope="external">Symbian Emulator</xref> and on the device; the whole
+process takes just a few minutes! </p>
 <p>Comes with Code: <xref href="http://developer.symbian.org/wiki/index.php/File:HelloSymbianWorld_Example_Code.zip" scope="external">File: HelloSymbianWorld Example Code.zip</xref> </p>
-<section id="GUID-84D52EE3-58BD-4C55-B07C-52D08CEC42D8">       <title>  Set
-up the development environment</title>       <p>Assuming your computer meets
-the <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_developer_environment_system_requirements%3F" scope="external">System Requirements</xref> then setting up your PC for Symbian
-C++ development is as simple as downloading and installing (do so in this
-order): </p><ol>
-<li id="GUID-1ADD0E23-A910-4FE5-9CC7-3ABE186CDFFC"><p>Perl. See the <xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As#How_do_I_install_Perl_on_my_C.2B.2B_development_PC.3F" scope="external">Kits Q&amp;As</xref> for notes on the recommended version.</p></li>
+<section id="GUID-84D52EE3-58BD-4C55-B07C-52D08CEC42D8">       <title>  Set up the development environment</title>       <p>Assuming your
+computer meets the <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_developer_environment_system_requirements%3F" scope="external">System Requirements</xref> then setting up your PC
+for Symbian C++ development is as simple as downloading and installing
+(do so in this order): </p><ol>
+<li id="GUID-1ADD0E23-A910-4FE5-9CC7-3ABE186CDFFC"><p>Perl. See the <xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As#How_do_I_install_Perl_on_my_C.2B.2B_development_PC.3F" scope="external">Kits Q&amp;As</xref> for notes on the recommended
+version.</p></li>
 <li id="GUID-91F4D7FD-3E98-498A-9BAE-962466EEF83B"><p><xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&amp;cid=6&amp;iid=22" scope="external">Application Developer Toolkit (ADT)</xref>.</p></li>
 <li id="GUID-8630F1D8-E45B-4AF9-8F4E-D8906C71FCD3"><p><xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&amp;cid=7&amp;iid=26" scope="external">Software Developer Kit (SDK)</xref>  (full installation)
 .</p></li>
-</ol><p>For help installing the SDK please refer to the <xref href="http://developer.symbian.org/wiki/index.php/Symbian%5E1_SDK_Installation_Guide" scope="external">Symbian^1 SDK Installation Guide</xref>.</p><p>You can now
-create your first application using the Carbide.c++ project wizard, as the
-following sections will describe. </p>     </section>
-<section id="GUID-4B542973-8F52-41B5-884E-273BB222B783"><title>Starting Carbide.c++</title><p>The
-Carbide.c++ IDE is installed as part of the free <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&amp;cid=6&amp;iid=22" scope="external">Application Developer Toolkit (ADT)</xref> (step 2 in the
-section above). It is the only supported/official IDE for Symbian C++ development.
- </p><p>Carbide.c++ is launched from the Windows <b>Start</b> button: <b>All
-Programs | Symbian Foundation ADT v</b><i>&lt;ADTVersion&gt;</i> <b>| Carbide.c++
-| Carbide.++ v</b><i>&lt;CarbideVersion&gt;</i>.</p><p> On start, you will be
-prompted to select a workspace directory. The workspace directory contains
-any projects you’ve already created in the workspace and their common settings
-- such as code-formatting options (you can define multiple workspaces in order
-to separate completely different tasks). If this is the first time you've
-run Carbide.c++ the workspace will be empty.</p><note> Your Symbian projects
-must be on the drive where you installed your SDK. You must also ensure that
-the path name of the workspace does not contain non-alphanumeric characters
-or spaces. This is because the Symbian toolchain uses command line tools that
-cannot read special path names.</note><p>If you installed the SDK to drive <codeph>C:\</codeph>,
-an example of a correct workspace path is: <codeph>C:\Symbian\development\</codeph>. </p><fig id="GUID-8E6698A1-7410-40FA-A109-E92481EE5E9D">
-<image href="GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e1500_href.png" placement="inline"/>
-</fig><p>Once Carbide.c++ has started, close the <i>Welcome tab</i> (by clicking
-the cross shown circled in red below) to see the default workspace.</p><fig id="GUID-F379FA98-BCA3-47BB-851E-8E976A0B194F">
-<image href="GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e1509_href.png" placement="inline"/>
+</ol><p>For help installing the SDK please refer to the <xref href="http://developer.symbian.org/wiki/index.php/Symbian%5E1_SDK_Installation_Guide" scope="external">Symbian^1 SDK Installation Guide</xref>.</p><p>You
+can now create your first application using the Carbide.c++ project
+wizard, as the following sections will describe. </p>     </section>
+<section id="GUID-4B542973-8F52-41B5-884E-273BB222B783"><title>Starting
+Carbide.c++</title><p>The Carbide.c++ IDE is installed as part of
+the free <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&amp;cid=6&amp;iid=22" scope="external">Application Developer Toolkit (ADT)</xref> (step
+2 in the section above). It is the only supported/official IDE for
+Symbian C++ development.  </p><p>Carbide.c++ is launched from the
+Windows <b>Start</b> button: <b>All Programs | Symbian Foundation
+ADT v</b><i>&lt;ADTVersion&gt;</i> <b>| Carbide.c++ | Carbide.++ v</b><i>&lt;CarbideVersion&gt;</i>.</p><p> On start, you will be prompted
+to select a workspace directory. The workspace directory contains
+any projects you’ve already created in the workspace and their common
+settings - such as code-formatting options (you can define multiple
+workspaces in order to separate completely different tasks). If this
+is the first time you've run Carbide.c++ the workspace will be empty.</p><note> Your Symbian projects must be on the drive where you installed
+your SDK. You must also ensure that the path name of the workspace
+does not contain non-alphanumeric characters or spaces. This is because
+the Symbian toolchain uses command line tools that cannot read special
+path names.</note><p>If you installed the SDK to drive <codeph>C:\</codeph>, an example of a correct workspace path is: <codeph>C:\Symbian\development\</codeph>. </p><fig id="GUID-8E6698A1-7410-40FA-A109-E92481EE5E9D">
+<image href="GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e1496_href.png" placement="inline"/>
+</fig><p>Once Carbide.c++ has started, close the <i>Welcome tab</i> (by clicking the cross shown circled in red below) to see the default
+workspace.</p><fig id="GUID-F379FA98-BCA3-47BB-851E-8E976A0B194F">
+<image href="GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e1505_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-D06F438D-D17F-4EFD-9CD7-9444472B5676"><title>  Creating
-a Project</title><p>To launch the Carbide.c++ <i>Create New Project Wizard</i> select: <b>File
-| New | Symbian OS C++ Project</b>. </p><p>Choose the <b>GUI Application with
-UI Designer</b> application template (see S60 section). This template creates
-a runnable GUI application with the <i>UI Designer</i> tool enabled (the <i>UI
-Designer</i> allows views to be created "visually" by drag &amp; dropping
-standard UI components). </p><fig id="GUID-2859E9EC-2EAC-4E99-9993-8AC91944A952">
-<image href="GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e1536_href.png" placement="inline"/>
-</fig><p>The <b>Next</b> page of the wizard is "<b>New Symbian OS C++ Project</b>".
-Define the project name - in this case "HelloWorld". Once again, make sure
-the project directory is on the same drive as the SDK and does not contain
-spaces or other special characters.  </p><fig id="GUID-969415CB-A861-4E36-A4A5-504C3580A3ED">
-<image href="GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e1548_href.png" placement="inline"/>
-</fig><p>The <b>Next</b> page of the wizard is "<b>Symbian OS SDKs</b>". Choose
-the SDK(s) you want to use for building the project from among those installed
-to your PC (You can add more SDKs to your project later on). This should include
-a <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F#Application_Development_SDK" scope="external">Symbian platform SDK</xref>. At time of writing the only
-C++ Application Development SDK is the Symbian^1 SDK (<b>Note</b>: this is
-a copy of the S60 5th Edition SDK v1.0).  </p><fig id="GUID-0275D0D6-5E8E-4795-A887-F0F21EE509D9">
-<image href="GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e1566_href.png" placement="inline"/>
-</fig><p>By default all build configurations will be selected:      </p><ul>
+a Project</title><p>To launch the Carbide.c++ <i>Create New Project
+Wizard</i> select: <b>File | New | Symbian OS C++ Project</b>. </p><p>Choose the <b>GUI Application with UI Designer</b> application
+template (see S60 section). This template creates a runnable GUI application
+with the <i>UI Designer</i> tool enabled (the <i>UI Designer</i> allows
+views to be created "visually" by drag &amp; dropping standard UI
+components). </p><fig id="GUID-2859E9EC-2EAC-4E99-9993-8AC91944A952">
+<image href="GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e1532_href.png" placement="inline"/>
+</fig><p>The <b>Next</b> page of the wizard is "<b>New Symbian OS
+C++ Project</b>". Define the project name - in this case "HelloWorld".
+Once again, make sure the project directory is on the same drive as
+the SDK and does not contain spaces or other special characters.  </p><fig id="GUID-969415CB-A861-4E36-A4A5-504C3580A3ED">
+<image href="GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e1544_href.png" placement="inline"/>
+</fig><p>The <b>Next</b> page of the wizard is "<b>Symbian OS SDKs</b>". Choose the SDK(s) you want to use for building the project from
+among those installed to your PC (You can add more SDKs to your project
+later on). This should include a <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F#Application_Development_SDK" scope="external">Symbian platform SDK</xref>. At time of writing the
+only C++ Application Development SDK is the Symbian^1 SDK (<b>Note</b>: this is a copy of the S60 5th Edition SDK v1.0).  </p><fig id="GUID-0275D0D6-5E8E-4795-A887-F0F21EE509D9">
+<image href="GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e1562_href.png" placement="inline"/>
+</fig><p>By default all build configurations will be selected:   
+  </p><ul>
 <li><p><b>Emulator Debug (WINSCW)</b> builds binaries for the Windows-hosted
 emulator.</p></li>
-<li><p><b>Phone Debug | Release (GCCE)</b> builds binaries for the phone using
-the (free) GCCE compiler that was installed with the <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F#Application_Development_SDK" scope="external">SDK</xref>.  </p></li>
-<li><p><b>Phone Debug | Release (ARMV5)</b> builds binaries for the phone
-using the <xref href="http://developer.symbian.org/wiki/index.php/ARM_Real_View_Compilation_Tools_(RVCT)_Quick_Start" scope="external">ARM RealView Compiler (RVCT)</xref>. RVCT produces code that
-is a few percent smaller and faster than the current versions of GCCE supported
-for Symbian C++ development, but must be separately licensed from ARM. RVCT
-is primarily used by phone manufacturers to build binaries for device ROM.</p></li>
-</ul><p>Most developers should simply de-select the ARMV5 options above as
-shown (the Emulator is needed by all developers, and GCCE is sufficient for
-most third-party development).  </p><p>The <b>Next</b> page of the wizard
-sets the "<b>Application properties</b>".  </p><fig id="GUID-3BD8C48E-AFA5-4D34-9E66-9B374E514635">
-<image href="GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e1608_href.png" placement="inline"/>
-</fig><p>Keep the default values. The <b>Baseline SDK</b> defines the common
-compatibility level of your application. For example, if set to the <b>S60
-5th Edition SDK</b>, the UI designer doesn’t let you add elements that are
-only available in later S60 5th Edition, Feature Pack 1+ SDKs and devices.
- </p><p>The <b>Next</b> page of the wizard allows you to choose an S60 UI
-design. Keep the <b>Empty</b> user interface variant.  </p><p>The <b>Next</b> page
-of the wizard "<b>Container Name and Type</b>" has default values that are
-usually acceptable.  </p><note/><p>The <b>Finish</b> button is active
-in this page. The next page is optional but for the purposes of this tutorial
-you should click <b>Next</b>, rather than <b>Finish</b>.  </p><fig id="GUID-0F3EA856-F629-47BF-88ED-76F355EED12F">
-<image href="GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e1648_href.png" placement="inline"/>
-</fig><p>Even though our application will only use one view, it’s usually
-better to check "Support View Switching", in order to make the application
-easier to extend later on.  </p><p>The <b>Next</b> page of the wizard "<b>Basic
-Settings</b>" can be used to customize the project with your name and a copyright
-notice for every human-readable file. It also allows you to specify the application
-unique identifier (<xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)" scope="external">UID</xref>).  </p><fig id="GUID-7D8B9AD4-F90C-4001-8449-DC282774B4E9">
-<image href="GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e1665_href.png" placement="inline"/>
-</fig><p>The UID (actually the <xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)#What_are_SIDs.3F" scope="external">SID</xref>, but for the moment we can ignore the distinction)
-defines the private area in the file system in which the application can store
-its data. Among other things the UID can also be used to programmatically
-identify and/or <xref href="http://developer.symbian.org/wiki/index.php/How_to_programmatically_start_another_application" scope="external">start the application</xref>.  </p><p>Carbide.c++ generates
-a random UID value for you starting with ‘0xE’, which is the range of UIDs
-reserved for internal development and testing. If you want to release your
-application to the public, you need to get your own unique UID allocated by <xref href="http://www.symbiansigned.com/" scope="external">Symbian Signed</xref>.
- </p><p>As we do not intend to release our Hello World application to the
-public, we’ll simply continue to use the value Carbide.c++ assigned us from
-the development range (you can change the UID later on, although you must
-be careful to change every instance of it found within your project - see <xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)#How_do_I_change_the_UID_of_my_application.3F" scope="external">How to change your application's UID</xref>).  </p><p>Select <b>Finish</b> to
-close the wizard and create your application (there is no need to go to the <b>Next</b> (last)
-page of the wizard as the default values are always acceptable).  </p><p>That's
-it, your workspace should look similar to the screenshot below. </p><fig id="GUID-4E47F468-590F-4608-9608-D026956B6B23">
-<image href="GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e1697_href.png" placement="inline"/>
+<li><p><b>Phone Debug | Release (GCCE)</b> builds binaries for the
+phone using the (free) GCCE compiler that was installed with the <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F#Application_Development_SDK" scope="external">SDK</xref>.  </p></li>
+<li><p><b>Phone Debug | Release (ARMV5)</b> builds binaries for the
+phone using the <xref href="http://developer.symbian.org/wiki/index.php/ARM_Real_View_Compilation_Tools_(RVCT)_Quick_Start" scope="external">ARM RealView Compiler (RVCT)</xref>. RVCT produces
+code that is a few percent smaller and faster than the current versions
+of GCCE supported for Symbian C++ development, but must be separately
+licensed from ARM. RVCT is primarily used by phone manufacturers to
+build binaries for device ROM.</p></li>
+</ul><p>Most developers should simply de-select the ARMV5 options
+above as shown (the Emulator is needed by all developers, and GCCE
+is sufficient for most third-party development).  </p><p>The <b>Next</b> page of the wizard sets the "<b>Application properties</b>".  </p><fig id="GUID-3BD8C48E-AFA5-4D34-9E66-9B374E514635">
+<image href="GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e1604_href.png" placement="inline"/>
+</fig><p>Keep the default values. The <b>Baseline SDK</b> defines
+the common compatibility level of your application. For example, if
+set to the <b>S60 5th Edition SDK</b>, the UI designer doesn’t let
+you add elements that are only available in later S60 5th Edition,
+Feature Pack 1+ SDKs and devices.  </p><p>The <b>Next</b> page of
+the wizard allows you to choose an S60 UI design. Keep the <b>Empty</b> user interface variant.  </p><p>The <b>Next</b> page of the wizard
+"<b>Container Name and Type</b>" has default values that are usually
+acceptable.  </p><note/><p>The <b>Finish</b> button is active
+in this page. The next page is optional but for the purposes of this
+tutorial you should click <b>Next</b>, rather than <b>Finish</b>.
+ </p><fig id="GUID-0F3EA856-F629-47BF-88ED-76F355EED12F">
+<image href="GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e1644_href.png" placement="inline"/>
+</fig><p>Even though our application will only use one view, it’s
+usually better to check "Support View Switching", in order to make
+the application easier to extend later on.  </p><p>The <b>Next</b> page of the wizard "<b>Basic Settings</b>" can be used to customize
+the project with your name and a copyright notice for every human-readable
+file. It also allows you to specify the application unique identifier
+(<xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)" scope="external">UID</xref>).  </p><fig id="GUID-7D8B9AD4-F90C-4001-8449-DC282774B4E9">
+<image href="GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e1661_href.png" placement="inline"/>
+</fig><p>The UID (actually the <xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)#What_are_SIDs.3F" scope="external">SID</xref>, but for the moment we can ignore the
+distinction) defines the private area in the file system in which
+the application can store its data. Among other things the UID can
+also be used to programmatically identify and/or <xref href="http://developer.symbian.org/wiki/index.php/How_to_programmatically_start_another_application" scope="external">start the application</xref>.  </p><p>Carbide.c++
+generates a random UID value for you starting with ‘0xE’, which is
+the range of UIDs reserved for internal development and testing. If
+you want to release your application to the public, you need to get
+your own unique UID allocated by <xref href="http://www.symbiansigned.com/" scope="external">Symbian Signed</xref>.  </p><p>As we do not intend to release our Hello World application
+to the public, we’ll simply continue to use the value Carbide.c++
+assigned us from the development range (you can change the UID later
+on, although you must be careful to change every instance of it found
+within your project - see <xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)#How_do_I_change_the_UID_of_my_application.3F" scope="external">How to change your application's UID</xref>).  </p><p>Select <b>Finish</b> to close the wizard and create your application
+(there is no need to go to the <b>Next</b> (last) page of the wizard
+as the default values are always acceptable).  </p><p>That's it, your
+workspace should look similar to the screenshot below. </p><fig id="GUID-4E47F468-590F-4608-9608-D026956B6B23">
+<image href="GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e1693_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-E1F2D586-2546-4EB6-BDD3-518D03698D9B"><title>  Targeting
 the Emulator</title><p>Normally you'll start by building for the emulator;
-you can use the emulator for most of your development work (it is possible
-to access the Internet through the emulator, and even simulate GPS). </p><p/><p><b>Building
-for the Emulator</b></p><ul>
-<li><p>First set the active build configuration. You can do this by clicking
-the <b>Manage configurations for the current project</b> icon <image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1717_href.png" placement="inline">
-</image> in the toolbar or by selecting menu: <b>Project | Build Configurations
-| Set Active</b> and select <b>Emulator Debug</b>. </p></li>
+you can use the emulator for most of your development work (it is
+possible to access the Internet through the emulator, and even simulate
+GPS). </p><p/><p><b>Building for the Emulator</b></p><ul>
+<li><p>First set the active build configuration. You can do this by
+clicking the <b>Manage configurations for the current project</b> icon <image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1713_href.png" placement="inline"/> in the toolbar
+or by selecting menu: <b>Project | Build Configurations | Set Active</b> and select <b>Emulator Debug</b>. </p></li>
 </ul><fig id="GUID-ABBC9711-3A90-4EC3-9C7F-56D165816A4A">
-<image href="GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e1729_href.png" placement="inline"/>
+<image href="GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e1724_href.png" placement="inline"/>
 </fig><ul>
-<li><p>Then build the current configuration using the <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1739_href.png" placement="inline"/> in the toolbar or
-through the menu: <b>Project | Build Project</b> (You can also select a particular
-configuration to build from the Build icon selector).</p></li>
-</ul><p><i>Warning: If you get an error message similar to "WARNING: EPOCROOT
-does not specify an existing directory", you did not place your workspace/project
-on the same drive as the application development SDK (which is installed by
-default to C:\). Delete the project and start again. The diagram shows how
-this might appear in Carbide.c++:</i> </p><fig id="GUID-724EE45B-5DEF-40D5-8AA0-1D84C6DBD7A7">
-<image href="GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e1751_href.png" placement="inline"/>
-</fig><p/><p><b>Running on the Emulator</b></p><p>If your application built
-successfully, click on the <b>Run</b> button <image href="GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e1762_href.png" placement="inline">
-</image> (Ctrl + F11). Upon the first launch of your project, Carbide.c++
-will ask you which executable you want to launch: </p><fig id="GUID-66C413F8-7482-47FC-A37F-1BFC83A7550E">
-<image href="GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e1767_href.png" placement="inline"/>
+<li><p>Then build the current configuration using the <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1734_href.png" placement="inline"/> in the toolbar or through the menu: <b>Project | Build Project</b> (You can also select a particular configuration to build from the
+Build icon selector).</p></li>
+</ul><p><i>Warning: If you get an error message similar to "WARNING:
+EPOCROOT does not specify an existing directory", you did not place
+your workspace/project on the same drive as the application development
+SDK (which is installed by default to C:\). Delete the project and
+start again. The diagram shows how this might appear in Carbide.c++:</i> </p><fig id="GUID-724EE45B-5DEF-40D5-8AA0-1D84C6DBD7A7">
+<image href="GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e1746_href.png" placement="inline"/>
+</fig><p/><p><b>Running on the Emulator</b></p><p>If your application
+built successfully, click on the <b>Run</b> button <image href="GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e1757_href.png" placement="inline"/> (Ctrl +
+F11). Upon the first launch of your project, Carbide.c++ will ask
+you which executable you want to launch: </p><fig id="GUID-66C413F8-7482-47FC-A37F-1BFC83A7550E">
+<image href="GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e1761_href.png" placement="inline"/>
 </fig><ul>
 <li><p>If you choose <i>HelloWorld.exe</i>, the emulator will be launched
-and your application started automatically. The emulator will close once you
-exit your application. </p></li>
-<li><p>If you choose <i>Emulator</i> the emulator (epoc.exe) will be launched
-and you will need to navigate to the application and start it by clicking
-on the icon (just as you do when starting an application on a device). We’ll
-explain how to find the application shortly.</p></li>
-</ul><p>It may sound more difficult to choose the second method, but it has
-some advantages. You can leave the emulator running if you are only doing
-small edits in your source code – simply close your application in the emulator,
-recompile and restart your app through the emulator’s menu. You’ll also see
-any error messages that may be shown when you exit the application, because
-the emulator will not shut down instantly after you exit Hello World in the
-emulator. Those error messages are also visible in Carbide.c++’s console window.
- </p><p>When the emulator starts for the first time you might have to wait
-for several minutes before it is completely ready for use. Successive starts
-will be a lot faster, because Windows caches most of the emulator DLLs. </p><fig id="GUID-A0A0A882-BC03-401B-A701-8EBEBC6D7BCE">
-<image href="GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e1791_href.png" placement="inline"/>
-</fig><p><i>If you decide to launch the emulator and navigate to your application:</i> First,
-open the menu through the <b>S60</b> menu symbol on the bottom left of the
-screen. Your own application will be located at the bottom of the <b>Applications</b> folder;
-use your mouse to navigate in the emulator’s menus.  </p><p>When you launch
-your application, the main pane will be empty. As you can see, the example
-application the wizard has created already supports a full user interface
-and handles input from the left and right softkeys at the bottom of the screen. </p><fig id="GUID-B81BC36D-7EA2-4B2A-9610-4A7F12684802">
-<image href="GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e1807_href.png" placement="inline"/>
-</fig><p/><p><b>Debugging on the Emulator</b></p><p>The Emulator is the
-default debug target - you simply click the Debug button <image href="GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e1815_href.png" placement="inline">
-</image>.  </p><p>Debugging on the Emulator is not covered further in this
-tutorial. See <b>Carbide.c++ User Guide &gt; Debugging projects</b> for extensive
+and your application started automatically. The emulator will close
+once you exit your application. </p></li>
+<li><p>If you choose <i>Emulator</i> the emulator (epoc.exe) will
+be launched and you will need to navigate to the application and start
+it by clicking on the icon (just as you do when starting an application
+on a device). We’ll explain how to find the application shortly.</p></li>
+</ul><p>It may sound more difficult to choose the second method, but
+it has some advantages. You can leave the emulator running if you
+are only doing small edits in your source code – simply close your
+application in the emulator, recompile and restart your app through
+the emulator’s menu. You’ll also see any error messages that may be
+shown when you exit the application, because the emulator will not
+shut down instantly after you exit Hello World in the emulator. Those
+error messages are also visible in Carbide.c++’s console window.  </p><p>When the emulator starts for the first time you might have to
+wait for several minutes before it is completely ready for use. Successive
+starts will be a lot faster, because Windows caches most of the emulator
+DLLs. </p><fig id="GUID-A0A0A882-BC03-401B-A701-8EBEBC6D7BCE">
+<image href="GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e1785_href.png" placement="inline"/>
+</fig><p><i>If you decide to launch the emulator and navigate to your
+application:</i> First, open the menu through the <b>S60</b> menu
+symbol on the bottom left of the screen. Your own application will
+be located at the bottom of the <b>Applications</b> folder; use your
+mouse to navigate in the emulator’s menus.  </p><p>When you launch
+your application, the main pane will be empty. As you can see, the
+example application the wizard has created already supports a full
+user interface and handles input from the left and right softkeys
+at the bottom of the screen. </p><fig id="GUID-B81BC36D-7EA2-4B2A-9610-4A7F12684802">
+<image href="GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e1801_href.png" placement="inline"/>
+</fig><p/><p><b>Debugging on the Emulator</b></p><p>The Emulator
+is the default debug target - you simply click the Debug button <image href="GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e1809_href.png" placement="inline"/>.  </p><p>Debugging on the Emulator is not covered further in this tutorial.
+See <b>Carbide.c++ User Guide &gt; Debugging projects</b> for extensive
 information on debugging using Carbide.c++. </p></section>
-<section id="GUID-8ADA0364-18BF-4392-A448-3C5513B3C49B"><title>Targeting the
-Device</title><p>The emulator can be used for most of your development work.
-However, some situations still require a real device – for example, when you
-want to use the camera or the acceleration sensor.</p><p><i><b>Tip</b>: You
-should test your applications on the phone from time to time, even if it is
-fully supported by the emulator.</i></p><p>When you've finished development,
-you'll also want to build a release version; stripping out debug code and
-symbol information to make your binaries smaller and more efficient. </p><p/><p><b>Building
-for the Device</b></p><p>To tell the IDE that you want to build for the device,
-change the active build configuration to a phone-release configuration for
-GCCE (unless you have the <xref href="http://developer.symbian.org/wiki/index.php/ARM_Real_View_Compilation_Tools_(RVCT)_Quick_Start" scope="external">RVCT compiler</xref>). As before, use the <b>Manage configurations
-for current project</b> toolbar icon (<image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1848_href.png" placement="inline">
-</image>) to select the active-build configuration.  </p><fig id="GUID-0B5929C0-6DAC-4859-8B2A-BC3225507685">
-<image href="GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e1853_href.png" placement="inline"/>
-</fig><p>Next, choose to build the current configuration using the toolbar <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1860_href.png" placement="inline"/>(or in the menu: <b>Project
-| Build Project</b>).  </p><p>This will automatically compile the project
-using the GCCE compiler and create an installation package – a file called <codeph>HelloWorld.sisx</codeph> in
-your project's <codeph>\HelloWorld\sis\</codeph> directory. You now need to
-transfer this file to your phone to install it. 	</p><p><i><b>Tip</b>: Use
-Carbide.c++ to find the file on your PC. Navigate to the file in the project
-view, then right-click on it and select <b>Show in Explorer</b>.</i>  </p><p>Don’t
-forget to switch back to the <b>Emulator Debug</b> build configuration when
-you continue development! </p><p/><p><b>Installing on the Device</b></p><p> 
-You can use the PC Suite that came with your phone to install the application
-on your device</p><ul>
+<section id="GUID-8ADA0364-18BF-4392-A448-3C5513B3C49B"><title>Targeting
+the Device</title><p>The emulator can be used for most of your development
+work. However, some situations still require a real device – for example,
+when you want to use the camera or the acceleration sensor.</p><p><i><b>Tip</b>: You should test your applications on the phone from
+time to time, even if it is fully supported by the emulator.</i></p><p>When you've finished development, you'll also want to build a
+release version; stripping out debug code and symbol information to
+make your binaries smaller and more efficient. </p><p/><p><b>Building
+for the Device</b></p><p>To tell the IDE that you want to build for
+the device, change the active build configuration to a phone-release
+configuration for GCCE (unless you have the <xref href="http://developer.symbian.org/wiki/index.php/ARM_Real_View_Compilation_Tools_(RVCT)_Quick_Start" scope="external">RVCT compiler</xref>). As before, use the <b>Manage
+configurations for current project</b> toolbar icon (<image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1841_href.png" placement="inline"/>) to select
+the active-build configuration.  </p><fig id="GUID-0B5929C0-6DAC-4859-8B2A-BC3225507685">
+<image href="GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e1845_href.png" placement="inline"/>
+</fig><p>Next, choose to build the current configuration using the
+toolbar <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1852_href.png" placement="inline"/>(or in the
+menu: <b>Project | Build Project</b>).  </p><p>This will automatically
+compile the project using the GCCE compiler and create an installation
+package – a file called <codeph>HelloWorld.sisx</codeph> in your project's <codeph>\HelloWorld\sis\</codeph> directory. You now need to transfer this
+file to your phone to install it. 	</p><p><i><b>Tip</b>: Use Carbide.c++
+to find the file on your PC. Navigate to the file in the project view,
+then right-click on it and select <b>Show in Explorer</b>.</i>  </p><p>Don’t forget to switch back to the <b>Emulator Debug</b> build
+configuration when you continue development! </p><p/><p><b>Installing
+on the Device</b></p><p>  You can use the PC Suite that came with
+your phone to install the application on your device</p><ul>
 <li><p>Ensure that the PC Suite is installed and running</p></li>
-<li><p>Connect your device to the PC via Bluetooth or USB and add the phone
-to the known devices in the PC Suite (if necessary).</p></li>
-<li><p>Double-click the <codeph>.sisx</codeph> file in Windows Explorer or
-the Project Explorer window of Carbide.c++.</p></li>
-</ul><p>If the PC Suite is not installed on your PC, you can send the file
-to the phone via Bluetooth or IrDA (if available):      </p><ul>
+<li><p>Connect your device to the PC via Bluetooth or USB and add
+the phone to the known devices in the PC Suite (if necessary).</p></li>
+<li><p>Double-click the <codeph>.sisx</codeph> file in Windows Explorer
+or the Project Explorer window of Carbide.c++.</p></li>
+</ul><p>If the PC Suite is not installed on your PC, you can send
+the file to the phone via Bluetooth or IrDA (if available):      </p><ul>
 <li><p>Locate the <codeph>.sisx</codeph> file in Windows Explorer</p></li>
 <li><p>Right-click on it and select <b>Send to | Bluetooth device</b>.</p></li>
-</ul><p>You will be prompted to install the application when you open the
-message. 	</p><p/><p><i><b>Warning</b>: If you get a </i><keyword>Certificate
-Error</keyword> <i>message when you try to install the application, then your
-phone has been configured to prevent installation of self-signed sis files.
-To change this behavior, go to <b>Settings - Application manager - Installation
-settings - Software installation</b> and change the setting from <b>Signed
-Only</b> to <b>All</b>. For other errors received upon installation, consult
-the <xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device.dita">installation
-error troubleshooting guide</xref>.</i></p><p/><p><b>Debugging on the Device</b></p><p> 
-Debugging on a production phone is covered in the topic: <xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref>. </p></section>
-<section id="GUID-832FBA52-70D7-47B8-AA09-76CD10F75B15"><title>Building on
-the Command Line</title><p>It is also possible to build your applications
-using the command-line based Symbian toolchain. If you've never done so before
-you will first need to set up the environment using the tool provided:  </p><ul>
-<li><p>Select the windows start button and select: <b>Start | All Programs
-| Symbian Foundation ADT v1.0 | Carbide.c++ | Configure environment for WINSCW
-command line</b></p></li>
-</ul><p>   Open a command prompt in your project's /group/ folder (where the
-bld.inf project file is located) and do:  </p><codeblock xml:space="preserve">bldmake bldfiles 
-abld build</codeblock><p>  The command <codeph>bldmake bldfiles</codeph> creates
-a batch file <codeph>abld.bat</codeph> based on the component-definition file
-(<codeph>bld.inf</codeph>) and the project-definition file(s) (<codeph>.mmp</codeph>).
-The <codeph>abld build</codeph> command uses the batch file to build <i>all</i> the
-default targets (i.e. for gcce and Emulator).  </p><p>You can build just one
-target using  </p><p><codeblock xml:space="preserve">abld build &lt;target&gt;</codeblock></p><p>For
-example, "<codeph>abld build winscw udeb</codeph>" builds just the emulator
-debug variant.  </p><p>You can start the emulator by selecting its executable
-in your file system (it will be located at <codeph>SDK DIRECTORY\epoc32\release\winscw\udeb\epoc.exe</codeph>).
- </p><p>An overview of the commands and the generated outputs is shown below.
+</ul><p>You will be prompted to install the application when you open
+the message. 	</p><p/><p><i><b>Warning</b>: If you get a </i><keyword>Certificate Error</keyword> <i>message when you try to install the
+application, then your phone has been configured to prevent installation
+of self-signed sis files. To change this behavior, go to <b>Settings
+- Application manager - Installation settings - Software installation</b> and change the setting from <b>Signed Only</b> to <b>All</b>. For
+other errors received upon installation, consult the <xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">installation error troubleshooting guide</xref>.</i></p><p/><p><b>Debugging on the Device</b></p><p>  Debugging on
+a production phone is covered in the topic: <xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref>. </p></section>
+<section id="GUID-832FBA52-70D7-47B8-AA09-76CD10F75B15"><title>Building
+on the Command Line</title><p>It is also possible to build your applications
+using the command-line based Symbian toolchain. If you've never done
+so before you will first need to set up the environment using the
+tool provided:  </p><ul>
+<li><p>Select the windows start button and select: <b>Start | All
+Programs | Symbian Foundation ADT v1.0 | Carbide.c++ | Configure environment
+for WINSCW command line</b></p></li>
+</ul><p>   Open a command prompt in your project's /group/ folder
+(where the bld.inf project file is located) and do:  </p><codeblock xml:space="preserve">bldmake bldfiles 
+abld build</codeblock><p>  The command <codeph>bldmake bldfiles</codeph> creates a batch file <codeph>abld.bat</codeph> based on the component-definition
+file (<codeph>bld.inf</codeph>) and the project-definition file(s)
+(<codeph>.mmp</codeph>). The <codeph>abld build</codeph> command uses
+the batch file to build <i>all</i> the default targets (i.e. for gcce
+and Emulator).  </p><p>You can build just one target using  </p><p><codeblock xml:space="preserve">abld build &lt;target&gt;</codeblock></p><p>For example,
+"<codeph>abld build winscw udeb</codeph>" builds just the emulator
+debug variant.  </p><p>You can start the emulator by selecting its
+executable in your file system (it will be located at <codeph>SDK
+DIRECTORY\epoc32\release\winscw\udeb\epoc.exe</codeph>).  </p><p>An
+overview of the commands and the generated outputs is shown below.
 There is also extensive documentation on the build process in the <xref href="http://developer.symbian.org/main/documentation/reference/s%5E3/doc_source/ToolsAndUtilities96/BuildTools/HowtoBuildProcess.guide.html" scope="external">Symbian Developer Library: Symbian OS build process</xref>.</p><fig id="GUID-C3027C70-8C7A-4C0A-BE2F-C257EA462D73">
-<image href="GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e2022_href.png" placement="inline"/>
+<image href="GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e2014_href.png" placement="inline"/>
 </fig></section>
-<section id="GUID-1E8CC146-B76A-476D-BF65-DFBB6B31D183"><title>Troubleshooting</title><p> 
-For the vast majority of users the preceding instructions can be followed
-through without issue. If however you have any build issues, then please follow
-the following instructions to check that your <xref href="http://developer.symbian.org/wiki/index.php/How_do_I_test_that_my_development_environment_is_set_up_correctly%3F.dita">environment is set up correctly</xref> and <xref href="http://developer.symbian.org/wiki/index.php/Development_Environment_Troubleshooting_Guide" scope="external">troubleshoot</xref> any problems that may arise.</p></section>
-<section id="GUID-A303EA17-F198-42A2-B41C-5C43B4D88B9E"><title>Summary</title><p>In
-this tutorial you set up your development environment, learned how to create
-a skeleton application using Carbide.c++ <i>UI Designer</i>, and how to get
-it up and running on both the Symbian platform emulator and on the device.
- </p><p>In <xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going Beyond
-Hello: A Tutorial for Symbian C++ Applications</xref> we will extend the basic
-skeleton to create a small paint application, along the way learning more
-about the application frameworks (e.g. defining menus, how to handle touch-screen
-events, drawing to the screen etc.).</p></section>
-<section id="GUID-478AF935-A7FB-4F58-A1F4-E17FE57DDF72"><title>Related Info</title><p> 
-Further reading: </p><ul>
-<li><p><xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going Beyond
-Hello: A Tutorial for Symbian C++ Applications</xref> provides a step by step
-guide to creating your first "real application", covering the key elements
-of the application framework. </p></li>
-<li><p><xref href="http://developer.symbian.org/wiki/index.php/Fundamentals_of_Symbian_C%2B%2B" scope="external">Fundamentals of Symbian C++</xref> provides all the essential
-information you need to understand Symbian C++.</p></li>
+<section id="GUID-1E8CC146-B76A-476D-BF65-DFBB6B31D183"><title>Troubleshooting</title><p>  For the vast majority of users the preceding instructions can
+be followed through without issue. If however you have any build issues,
+then please follow the following instructions to check that your <xref href="http://developer.symbian.org/wiki/index.php/How_do_I_test_that_my_development_environment_is_set_up_correctly%3F" scope="external">environment is set up correctly</xref> and <xref href="http://developer.symbian.org/wiki/index.php/Development_Environment_Troubleshooting_Guide" scope="external">troubleshoot</xref> any problems that may arise.</p></section>
+<section id="GUID-A303EA17-F198-42A2-B41C-5C43B4D88B9E"><title>Summary</title><p>In this tutorial you set up your development environment, learned
+how to create a skeleton application using Carbide.c++ <i>UI Designer</i>, and how to get it up and running on both the Symbian platform emulator
+and on the device.  </p><p>In <xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going Beyond Hello:
+A Tutorial for Symbian C++ Applications</xref> we will extend the
+basic skeleton to create a small paint application, along the way
+learning more about the application frameworks (e.g. defining menus,
+how to handle touch-screen events, drawing to the screen etc.).</p></section>
+<section id="GUID-478AF935-A7FB-4F58-A1F4-E17FE57DDF72"><title>Related
+Info</title><p>  Further reading: </p><ul>
+<li><p><xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going
+Beyond Hello: A Tutorial for Symbian C++ Applications</xref> provides
+a step by step guide to creating your first "real application", covering
+the key elements of the application framework. </p></li>
+<li><p><xref href="http://developer.symbian.org/wiki/index.php/Fundamentals_of_Symbian_C%2B%2B" scope="external">Fundamentals of Symbian C++</xref> provides all the
+essential information you need to understand Symbian C++.</p></li>
 </ul><p>About the Kits:</p><ul>
-<li><p><xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F.dita">What
-are the Kits?</xref> explains the <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&amp;cid=6&amp;iid=22" scope="external">ADT</xref> and <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&amp;cid=7&amp;iid=26" scope="external">SDK</xref>.</p></li>
+<li><p><xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F" scope="external">What are the Kits?</xref> explains the <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&amp;cid=6&amp;iid=22" scope="external">ADT</xref> and <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&amp;cid=7&amp;iid=26" scope="external">SDK</xref>.</p></li>
 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As" scope="external">Kits Q&amp;As</xref>.</p></li>
 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref>.</p></li>
 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Symbian%5E1_SDK_Release_Notes" scope="external">Symbian^1 SDK Release Notes</xref>.</p></li>
--- a/Symbian3/PDK/Source/GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,51 +9,53 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D" xml:lang="en"><title>ECom
-Architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In C++, the existence of abstract base classes and virtual functions allows
-the programs to call, or access interfaces without knowing the actual implementation.
-This mechanism gives a flexibility of writing the implementation independent
-of the interface. The implementations are known as Plug-ins. </p>
-<p>When an application wishes to use a plug-in, an object is to be instantiated
-to perform the required processing. The object specifics are not known until
-run-time. The general characteristics of the processing are known, and these
-are presented as an interface API. </p>
-<p>In early versions of Symbian platform, implementations were provided by <xref href="GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita">polymorphic interface DLLs</xref>.
-All the frameworks within the Symbian platform that needed to use plug-ins
-had to provide own mechanisms for the clients to discover and instantiate
-the implementations. The above method resulted in duplication of functionality. </p>
-<p>The Plug-in (ECom) Framework introduces a generic framework that provides
-a single mechanism to: </p>
+<concept id="GUID-30201A05-C6CE-5D34-9BDF-CDA4EE44878D" xml:lang="en"><title>ECom Architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In C++, the existence of abstract base classes and virtual functions
+allows the programs to call, or access interfaces without knowing
+the actual implementation. This mechanism gives a flexibility of writing
+the implementation independent of the interface. The implementations
+are known as Plug-ins. </p>
+<p>When an application wishes to use a plug-in, an object is to be
+instantiated to perform the required processing. The object specifics are not known until run-time. The general characteristics
+of the processing are known, and these are presented as an interface
+API. </p>
+<p>In early versions of Symbian platform, implementations were provided
+by polymorphic interface DLLs. All the frameworks within the Symbian
+platform that needed to use plug-ins had to provide own mechanisms
+for the clients to discover and instantiate the implementations. The
+above method resulted in duplication of functionality. </p>
+<p>The Plug-in (ECom) Framework introduces a generic framework that
+provides a single mechanism to: </p>
 <ul>
-<li id="GUID-6460F0E0-26A3-5038-B8C2-0F4706547600"><p>Register and discover
-interface implementations </p> </li>
+<li id="GUID-6460F0E0-26A3-5038-B8C2-0F4706547600"><p>Register and
+discover interface implementations </p> </li>
 <li id="GUID-4045CA55-1286-5ACD-A532-240667125469"><p>Select an appropriate
 implementation </p> </li>
-<li id="GUID-78AE02BB-13BE-5DA0-B2F3-CC376654589B"><p>Provide version control
-for plug-ins </p> </li>
+<li id="GUID-78AE02BB-13BE-5DA0-B2F3-CC376654589B"><p>Provide version
+control for plug-ins </p> </li>
 </ul>
-<section id="GUID-561303EB-F0EA-4BB5-B7BB-3AE31176E79C"><title>Essentials of a Plug-In System</title> <p>A client wishes
-to access an object to perform some processing. The specifics of this object
-are not known until run-time. The general characteristics of the processing
-are known, and are defined in an interface, but several variants of required
-processing could exist, which are provided by implementations that support
-the interface. </p> <p>There are four clearly-defined roles in such a system. </p> <ul>
-<li id="GUID-B77969AC-EE5C-53C1-8906-07CF3B2BD11A"><p>The <b>Client</b> that
-wishes to access services. </p> </li>
-<li id="GUID-2E175B1C-7A50-5A00-BBF6-C54F2FC71FFA"><p>The <b>Interface API</b> that
-defines how to request services. </p> </li>
-<li id="GUID-C8F67E1A-2175-5093-BCFD-06BD90EF59C6"><p>The <b>Interface Implementation </b> that
-provides the required processing. </p> </li>
-<li id="GUID-A6817508-C5D1-5A7A-B50A-667272292362"><p>The <b>Framework</b> that
-provides the clients with the required access to the implementations. </p> </li>
+<section id="GUID-561303EB-F0EA-4BB5-B7BB-3AE31176E79C"><title>Essentials
+of a Plug-In System</title> <p>A client wishes to access an object
+to perform some processing. The specifics of this object are not known
+until run-time. The general characteristics of the processing are
+known, and are defined in an interface, but several variants of required
+processing could exist, which are provided by implementations that
+support the interface. </p> <p>There are four clearly-defined roles
+in such a system. </p> <ul>
+<li id="GUID-B77969AC-EE5C-53C1-8906-07CF3B2BD11A"><p>The <b>Client</b> that wishes to access services. </p> </li>
+<li id="GUID-2E175B1C-7A50-5A00-BBF6-C54F2FC71FFA"><p>The <b>Interface
+API</b> that defines how to request services. </p> </li>
+<li id="GUID-C8F67E1A-2175-5093-BCFD-06BD90EF59C6"><p>The <b>Interface
+Implementation </b> that provides the required processing. </p> </li>
+<li id="GUID-A6817508-C5D1-5A7A-B50A-667272292362"><p>The <b>Framework</b> that provides the clients with the required access to the implementations. </p> </li>
 </ul> <p>The relationships can be represented as follows: </p> <fig id="GUID-185BDADA-4576-5175-B53B-03C2633E9EA0">
 <title>              Plug-in relationships            </title>
-<image href="GUID-F78F12AE-64CA-50BD-A715-8F254FBDB793_d0e214506_href.png" placement="inline"/>
-</fig> <p>The instantiation mechanism forms the backbone of such a system,
-and is responsible for providing the services that identify, and load the
-correct interface implementation at run-time. ECom is such a framework. </p> <p>We'll
-now look at the system from the perspectives in turn of each of the interface
-client, interface implementation, and interface definition, before summarising
-the functions of the ECom. </p> </section>
+<image href="GUID-F78F12AE-64CA-50BD-A715-8F254FBDB793_d0e220526_href.png" placement="inline"/>
+</fig> <p>The instantiation mechanism forms the backbone of such a
+system, and is responsible for providing the services that identify,
+and load the correct interface implementation at run-time. ECom is
+such a framework. </p> <p>We'll now look at the system from the perspectives
+in turn of each of the interface client, interface implementation,
+and interface definition, before summarising the functions of the
+ECom. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,42 +9,31 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-30382EFD-90D5-570C-A6CD-19D34360F329" xml:lang="en"><title>GraphicsShell:
-drawing and zooming</title><shortdesc>A TechView application that demonstrates drawing points, lines
-and shapes, and zooming a bitmap and text. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A512AE19-D921-47B7-86D7-1AE293365BC9-GENID-1-12-1-14-1-1-6-1-6-1-3-1"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c01568a1-21f6-4508-8de7-9733ae2737a1.zip" scope="external">GraphicsShell.zip</xref></p>Download some additional files
-required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c01568a1-21f6-4508-8de7-9733ae2737a1.html" scope="peer">browse</xref> to view the example code. </p>View the additional
-files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>.  </section>
-<section id="GUID-12DAE9CC-9E18-40AA-A820-FBC86F179425-GENID-1-12-1-14-1-1-6-1-6-1-3-2"><title>Description</title> <p> <filepath>GraphicsShell</filepath> provides
-an application shell, and two concrete controls. </p> <p> <codeph>CGraphicExampleControl</codeph> is
-a control class, derived from <codeph>CCoeControl</codeph>, which links the
-app shell to the particular controls. </p> <p> <codeph>CDrawControl</codeph> illustrates
-the drawing of shapes in a window. The code draws points, lines and shapes;
-this exercises a variety of drawing functions provided by the window graphics
-context such as <codeph>MoveTo()</codeph>, <codeph>DrawLineTo()</codeph>, <codeph>DrawArc()</codeph> etc. </p> <p> <codeph>CZoomControl</codeph> illustrates
-the use of zooming. </p> </section>
-<section id="GUID-1CF95EDF-58AF-4B79-B8AA-635D456F4590"><title>Class Summary</title><p><xref href="GUID-339EC4C5-89DC-3972-9579-6DD38D418317.dita"><apiname>TPoint</apiname></xref></p><p><xref href="GUID-CCD7C54F-C3D6-3F92-B6CC-1B6116170C6C.dita"><apiname>TRectTSize</apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-F84C7F40-6DEB-39D1-B172-CB0CC3918E27.dita"><apiname>TRgb</apiname></xref></p><p><xref href="GUID-2A12FE3B-47F2-3016-8161-A971CA506491.dita"><apiname>CFont</apiname></xref></p><p><xref href="GUID-052E4F6B-71C5-304C-B387-07A2F6F9900B.dita"><apiname>TFontSpec</apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-DDE4C9C0-7218-385E-B239-0DEFDE19FCCC.dita"><apiname>TZoomFactor</apiname></xref></p><p><xref href="GUID-4791F2C1-C351-3824-8784-3161F5B65DCA.dita"><apiname>MGraphicsDeviceMap</apiname></xref></p><p><xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref></p></section>
-<section id="GUID-11F1F1BF-F1DC-4876-B47A-275B07C645E3-GENID-1-12-1-14-1-1-6-1-6-1-3-4"><title>Build</title> <p>The source code for this example
-application can be found in the directory: </p> <p> <filepath>examples\Graphics\GraphicsShell</filepath>  </p> <p>This
-source code may be in the directory in which you installed the Symbian platform,
-or it may be in the <filepath>src\common\developerlibrary\</filepath> directory.
-The directory includes the two project files needed for building the example: <filepath>bld.inf</filepath> and
-the <filepath>.mmp</filepath> file.  </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this application. For
-the emulator, an application called <filepath>GraphicsShell.exe</filepath> is
-created in <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath>. </p> </section>
+<concept id="GUID-30382EFD-90D5-570C-A6CD-19D34360F329" xml:lang="en"><title>GraphicsShell: drawing and zooming</title><shortdesc>A TechView application that demonstrates drawing points,
+lines and shapes, and zooming a bitmap and text. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-A512AE19-D921-47B7-86D7-1AE293365BC9-GENID-1-12-1-15-1-1-6-1-6-1-3-1"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c01568a1-21f6-4508-8de7-9733ae2737a1.zip" scope="external">GraphicsShell.zip</xref></p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c01568a1-21f6-4508-8de7-9733ae2737a1.html" scope="peer">browse</xref> to view the example code. </p>View the
+additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>.  </section>
+<section id="GUID-12DAE9CC-9E18-40AA-A820-FBC86F179425-GENID-1-12-1-15-1-1-6-1-6-1-3-2"><title>Description</title> <p> <filepath>GraphicsShell</filepath> provides an application shell,
+and two concrete controls. </p> <p> <codeph>CGraphicExampleControl</codeph> is a control class, derived from <codeph>CCoeControl</codeph>, which
+links the app shell to the particular controls. </p> <p> <codeph>CDrawControl</codeph> illustrates the drawing of shapes in a window. The code draws points,
+lines and shapes; this exercises a variety of drawing functions provided
+by the window graphics context such as <codeph>MoveTo()</codeph>, <codeph>DrawLineTo()</codeph>, <codeph>DrawArc()</codeph> etc. </p> <p> <codeph>CZoomControl</codeph> illustrates the use of zooming. </p> </section>
+<section id="GUID-1CF95EDF-58AF-4B79-B8AA-635D456F4590"><title>Class
+Summary</title><p><xref href="GUID-339EC4C5-89DC-3972-9579-6DD38D418317.dita"><apiname>TPoint</apiname></xref></p><p><xref href="GUID-CCD7C54F-C3D6-3F92-B6CC-1B6116170C6C.dita"><apiname>TRectTSize</apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-F84C7F40-6DEB-39D1-B172-CB0CC3918E27.dita"><apiname>TRgb</apiname></xref></p><p><xref href="GUID-2A12FE3B-47F2-3016-8161-A971CA506491.dita"><apiname>CFont</apiname></xref></p><p><xref href="GUID-052E4F6B-71C5-304C-B387-07A2F6F9900B.dita"><apiname>TFontSpec</apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-DDE4C9C0-7218-385E-B239-0DEFDE19FCCC.dita"><apiname>TZoomFactor</apiname></xref></p><p><xref href="GUID-4791F2C1-C351-3824-8784-3161F5B65DCA.dita"><apiname>MGraphicsDeviceMap</apiname></xref></p><p><xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref></p></section>
+<section id="GUID-11F1F1BF-F1DC-4876-B47A-275B07C645E3-GENID-1-12-1-15-1-1-6-1-6-1-3-4"><title>Build</title> <p>The source code for this example application can be found in
+the directory: </p> <p> <filepath>examples\Graphics\GraphicsShell</filepath>  </p> <p>This source code may be in the directory in which you installed
+the Symbian platform, or it may be in the <filepath>src\common\developerlibrary\</filepath> directory. The directory includes the two project files needed for
+building the example: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file.  </p> <p>The Symbian build process describes
+how to build this application. For the emulator, an application called <filepath>GraphicsShell.exe</filepath> is created in <filepath>epoc32\release\winscw\&lt;udeb
+or urel&gt;\</filepath>. </p> </section>
 <section id="GUID-0CB7BF6D-ED18-46CA-8ED1-ADB440508BBC"><title>Usage</title> <ol id="GUID-911BEED5-308F-5700-A32B-C09194AEFBA7">
-<li id="GUID-2E6EB0AA-B311-53DD-B0CA-BE5E4AA04C7B"><p>Launch the emulator: </p> <p> <filepath>\epoc32\release\winscw\&lt;udeb
-or urel&gt;\EPOC.EXE</filepath>. </p> </li>
-<li id="GUID-6ECA1727-FC1E-5659-B805-1AB1EF7C9407"><p>Click on <systemoutput>GRAPHICSSHELL</systemoutput> to
-run the application. If using the <i>TechView</i> emulator, this will be in
-the <i>Extras</i> menu. </p> </li>
-<li id="GUID-F47B863C-2622-5FA7-A19F-61C386763B01"><p>The controls are listed
-on the menu <systemoutput>List of                 Programs</systemoutput>.
-Press the appropriate menu item to select a specific control. </p> </li>
-<li id="GUID-79D02958-B4F8-5635-862E-17B9E0000666"><p>Step through each phase
-of the example by pressing the space bar or by tapping on the window drawn
-by that example. </p> </li>
+<li id="GUID-2E6EB0AA-B311-53DD-B0CA-BE5E4AA04C7B"><p>Launch the emulator: </p> <p> <filepath>\epoc32\release\winscw\&lt;udeb or urel&gt;\EPOC.EXE</filepath>. </p> </li>
+<li id="GUID-6ECA1727-FC1E-5659-B805-1AB1EF7C9407"><p>Click on <systemoutput>GRAPHICSSHELL</systemoutput> to run the application. If using the <i>TechView</i> emulator, this will be in the <i>Extras</i> menu. </p> </li>
+<li id="GUID-F47B863C-2622-5FA7-A19F-61C386763B01"><p>The controls
+are listed on the menu <systemoutput>List of                 Programs</systemoutput>. Press the appropriate menu item to select a specific control. </p> </li>
+<li id="GUID-79D02958-B4F8-5635-862E-17B9E0000666"><p>Step through
+each phase of the example by pressing the space bar or by tapping
+on the window drawn by that example. </p> </li>
 </ol> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-30647807-A0D2-4D96-975A-BF1800749977.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-30647807-A0D2-4D96-975A-BF1800749977.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 through the <b>Tools &gt; Preferences</b> menu or by editing the <codeph>epoc.ini</codeph> file.
 The following illustration shows the options you have in the <b>Platform security</b> tab
 of the Preferences window.</p>
-<fig id="GUID-F4DDFC46-AF97-45B5-816C-D4F94182BA2C"><title>Preferences window in the emulator</title><image href="GUID-11E35C60-12DF-4014-AB3F-0314D8536AC0_d0e16457_href.png"/></fig>
+<fig id="GUID-F4DDFC46-AF97-45B5-816C-D4F94182BA2C"><title>Preferences window in the emulator</title><image href="GUID-11E35C60-12DF-4014-AB3F-0314D8536AC0_d0e16547_href.png"/></fig>
 <p>To set the platform security settings:</p>
 <ol>
 <li id="GUID-6ECF89E5-CCF5-431D-9A38-3A472F3B628F"><p>In the emulator,
Binary file Symbian3/PDK/Source/GUID-30987768-8B0A-5A35-820C-DBB410D2053B_d0e137761_href.png has changed
Binary file Symbian3/PDK/Source/GUID-30987768-8B0A-5A35-820C-DBB410D2053B_d0e140010_href.png has changed
--- a/Symbian3/PDK/Source/GUID-309B01B6-F74A-5EF0-B225-702BF8814847.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-309B01B6-F74A-5EF0-B225-702BF8814847.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-309B01B6-F74A-5EF0-B225-702BF8814847"><title>TFX Render Stage Examples</title><shortdesc>This topic provides examples of how a transition effect (TFX) render stage can perform simple transitions in the ScreenPlay variant. Note that the APIs are different in the non-ScreenPlay variant. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <p>This example assumes a render stage configuration that consists of two render stage plug-ins—the first in the chain is a transition effect (TFX) engine and the second and final one displays the results on the screen. The TFX render stage does <b>not</b> implement a visuals tree and visuals stores. The configuration matches that shown in the <xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita#GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87/GUID-E225354D-1EFC-513E-843E-42528C3FCCCF">Typical Use Case</xref> section of the <xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita">Render Stages Overview</xref>. </p> <p>The TFX render stage creates a TFX surface for its own use—for example, to capture drawing for use in transition effects. It can then introduce parts of the TFX surface into the composition scene as required. </p> <section><title>A window slides on from the side</title> <p>First we will consider what happens when a window slides onto the view from the side. </p> <fig id="GUID-CDB60D24-DB1B-563D-A272-FC61B245A60F"><title>
              A window slides onto the screen from the side 
-          </title> <image href="GUID-60AB43B9-29B1-5BAC-B70A-617C279321C1_d0e244335_href.png" placement="inline"/></fig> <p>We will assume that the window does not have an external surface attached. However, it could have semi-transparent pixels and the background scene could have an external surface attached. The transition effect is performed by capturing the window pixels to the TFX surface, and then using composition operations to make the TFX surface (containing the window pixels) slide on from the side. In particular, no updates to the TFX surface or UI surface are required during the transition—everything is done with element updates. The following sequence diagram shows the high-level steps involved in setting up and performing the transition effect. </p> <fig id="GUID-36EA4E85-8A52-5F18-A8E4-EEBDC069A92B"><title>
+          </title> <image href="GUID-60AB43B9-29B1-5BAC-B70A-617C279321C1_d0e250346_href.png" placement="inline"/></fig> <p>We will assume that the window does not have an external surface attached. However, it could have semi-transparent pixels and the background scene could have an external surface attached. The transition effect is performed by capturing the window pixels to the TFX surface, and then using composition operations to make the TFX surface (containing the window pixels) slide on from the side. In particular, no updates to the TFX surface or UI surface are required during the transition—everything is done with element updates. The following sequence diagram shows the high-level steps involved in setting up and performing the transition effect. </p> <fig id="GUID-36EA4E85-8A52-5F18-A8E4-EEBDC069A92B"><title>
              Window slide-on sequence diagram 
-          </title> <image href="GUID-F58C17D1-3834-5DEB-8B8B-52CD81AA9BF4_d0e244344_href.png" placement="inline"/></fig> <p>The main points to note are: </p> <ul><li id="GUID-753FF6D5-8BAF-5F29-9CF9-13B3158E510C"><p>The <xref href="GUID-21240143-D578-3114-9836-F765F70A987C.dita#GUID-21240143-D578-3114-9836-F765F70A987C/GUID-00C6BB2C-E6DB-366A-B926-32FA90FB6CC2"><apiname>MWsDrawAnnotationObserver::WindowRedrawStart</apiname></xref> and <xref href="GUID-21240143-D578-3114-9836-F765F70A987C.dita#GUID-21240143-D578-3114-9836-F765F70A987C/GUID-8BA29084-F20C-363D-8A25-39E445DE22B0"><apiname>MWsDrawAnnotationObserver::WindowRedrawEnd</apiname></xref> methods enable the TFX render stage to associate drawing operations with windows. When a window requires TFX, the render stage captures its drawing operations onto the TFX surface, while letting all other drawing pass through to the UI surface. See <xref href="GUID-11BC2AAA-FDB8-5600-8488-F27A9552E336.dita#GUID-11BC2AAA-FDB8-5600-8488-F27A9552E336/GUID-7536F610-F9F7-5E17-82D8-623D774DC091">MWsDrawAnnotationObserver</xref> for more information. </p> </li> <li id="GUID-FA3A56C9-F906-5013-B047-53FF3415D690"><p>The TFX render stage calls <xref href="GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704.dita#GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704/GUID-251E3B0E-DA5A-32FC-9253-B4960C8C8A6D"><apiname>MWsScreenRedraw::ScheduleRender()</apiname></xref> in order to ensure that it is called again after a short interval. It also does this repeatedly while performing the transition effect, although this is not shown on the diagram. </p> </li> <li id="GUID-EBE11E85-00F4-5FB3-A717-1FB749438418"><p>The TFX render stage introduces the TFX surface into the composition scene by calling <xref href="GUID-43972649-4BDE-3D93-8658-35F224915A43.dita#GUID-43972649-4BDE-3D93-8658-35F224915A43/GUID-3E35F2A4-548C-3C9E-A1B2-3C7EBD50EFAB"><apiname>MWsScene::InsertSceneElement()</apiname></xref>. </p> </li> <li id="GUID-FBC5934D-9FCD-58D6-8836-C7516AD7C51C"><p>The TFX render stage achieves the transition effect by successively updating the element metadata of the TFX surface to move it across the scene. </p> </li> <li id="GUID-DD960043-9B79-58BA-B312-0881DFD4285A"><p>When the transition effect is finished, the TFX render stage blits the window pixels from the TFX surface into their final position in the UI surface. For semi-transparent windows this must be synchronized with the removal of the TFX surface from the scene—by <codeph>Begin()</codeph> and <codeph>End()</codeph> calls—otherwise the semi-transparent content would be blended twice. This is not an issue for opaque windows. </p> </li> </ul> </section> <section><title>Full screen slide-on transition </title> <p>Now we will consider what happens when the user switches between two views, A and B. The transition slides A off to one side while B slides on from the other side. </p> <fig id="GUID-5E2124F8-4FDD-57BB-A1D9-1E17922229DE"><title>
+          </title> <image href="GUID-F58C17D1-3834-5DEB-8B8B-52CD81AA9BF4_d0e250355_href.png" placement="inline"/></fig> <p>The main points to note are: </p> <ul><li id="GUID-753FF6D5-8BAF-5F29-9CF9-13B3158E510C"><p>The <xref href="GUID-21240143-D578-3114-9836-F765F70A987C.dita#GUID-21240143-D578-3114-9836-F765F70A987C/GUID-00C6BB2C-E6DB-366A-B926-32FA90FB6CC2"><apiname>MWsDrawAnnotationObserver::WindowRedrawStart</apiname></xref> and <xref href="GUID-21240143-D578-3114-9836-F765F70A987C.dita#GUID-21240143-D578-3114-9836-F765F70A987C/GUID-8BA29084-F20C-363D-8A25-39E445DE22B0"><apiname>MWsDrawAnnotationObserver::WindowRedrawEnd</apiname></xref> methods enable the TFX render stage to associate drawing operations with windows. When a window requires TFX, the render stage captures its drawing operations onto the TFX surface, while letting all other drawing pass through to the UI surface. See <xref href="GUID-11BC2AAA-FDB8-5600-8488-F27A9552E336.dita#GUID-11BC2AAA-FDB8-5600-8488-F27A9552E336/GUID-7536F610-F9F7-5E17-82D8-623D774DC091">MWsDrawAnnotationObserver</xref> for more information. </p> </li> <li id="GUID-FA3A56C9-F906-5013-B047-53FF3415D690"><p>The TFX render stage calls <xref href="GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704.dita#GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704/GUID-251E3B0E-DA5A-32FC-9253-B4960C8C8A6D"><apiname>MWsScreenRedraw::ScheduleRender()</apiname></xref> in order to ensure that it is called again after a short interval. It also does this repeatedly while performing the transition effect, although this is not shown on the diagram. </p> </li> <li id="GUID-EBE11E85-00F4-5FB3-A717-1FB749438418"><p>The TFX render stage introduces the TFX surface into the composition scene by calling <xref href="GUID-43972649-4BDE-3D93-8658-35F224915A43.dita#GUID-43972649-4BDE-3D93-8658-35F224915A43/GUID-3E35F2A4-548C-3C9E-A1B2-3C7EBD50EFAB"><apiname>MWsScene::InsertSceneElement()</apiname></xref>. </p> </li> <li id="GUID-FBC5934D-9FCD-58D6-8836-C7516AD7C51C"><p>The TFX render stage achieves the transition effect by successively updating the element metadata of the TFX surface to move it across the scene. </p> </li> <li id="GUID-DD960043-9B79-58BA-B312-0881DFD4285A"><p>When the transition effect is finished, the TFX render stage blits the window pixels from the TFX surface into their final position in the UI surface. For semi-transparent windows this must be synchronized with the removal of the TFX surface from the scene—by <codeph>Begin()</codeph> and <codeph>End()</codeph> calls—otherwise the semi-transparent content would be blended twice. This is not an issue for opaque windows. </p> </li> </ul> </section> <section><title>Full screen slide-on transition </title> <p>Now we will consider what happens when the user switches between two views, A and B. The transition slides A off to one side while B slides on from the other side. </p> <fig id="GUID-5E2124F8-4FDD-57BB-A1D9-1E17922229DE"><title>
              Full screen slide-on transition 
-          </title> <image href="GUID-26D1E607-C63F-5A2D-9482-2A9A85F466C8_d0e244413_href.png" placement="inline"/></fig> <p>First we will assume that neither A nor B has an external surface. The transition effect is performed in a similar way to the window transition described earlier. The outgoing view is captured into the TFX surface, and introduced as the topmost element into the composition scene. One complication is that on the client side, the outgoing and incoming views may run in different processes. The transition engine must therefore wait for A's exit and B's entry to be signaled before it performs the transition effect. </p> <p>As in the previous example, the actors are the client application, the Window Server and the two render stages. The system boundary is the Window Server process. Assuming that view A is currently present in the UI surface, the basic flow is as follows: </p> <ol id="GUID-5B62EE78-068F-56D2-BC56-7A1DE0ECB70C"><li id="GUID-02486331-EDE3-5C13-A443-9F7EEA1527EC"><p>View A signals the start and end of its exit transition. </p> </li> <li id="GUID-ED5A72A0-94E3-5630-AAD6-9EA1B944133A"><p>View B signals the start of its entry transition. </p> </li> <li id="GUID-8D593EEA-E247-5AC7-8368-09B916FA8129"><p>View B issues new drawing operations to the Window Server. </p> </li> <li id="GUID-285E79CB-EF1D-512B-BAF8-5B7AE69C2260"><p>View B calls <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita#GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9/GUID-B431DC60-D11F-3239-8F52-4257B9B0E0C9"><apiname>RWsSession::Finish()</apiname></xref>. </p> </li> <li id="GUID-589B198C-52A5-58B2-AB49-6917749EF768"><p>The Window Server lower loop runs. </p> </li> <li id="GUID-6F012760-5FBC-5BE5-A483-54245374E9E8"><p>The Window Server calls <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-75503F6F-91DA-3392-8CD5-34FFF9095D30"><apiname>CWsRenderStage::Begin()</apiname></xref> on the TFX render stage. </p> </li> <li id="GUID-EC87DA51-437F-5B65-9645-61C72BE769BE"><p>The TFX render stage introduces the TFX surface as the topmost surface in the composition scene, and moves the UI surface off to the side of the scene. It does this by calling <xref href="GUID-43972649-4BDE-3D93-8658-35F224915A43.dita#GUID-43972649-4BDE-3D93-8658-35F224915A43/GUID-3E35F2A4-548C-3C9E-A1B2-3C7EBD50EFAB"><apiname>MWsScene::InsertSceneElement()</apiname></xref> and then performing the <xref href="GUID-48B10795-1C8F-3D21-9637-6C7A02C95C75.dita"><apiname>MWsElement</apiname></xref> updates for the UI surface. </p> </li> <li id="GUID-D7A59885-D8AB-5BFD-B569-CD0E839DDF8D"><p>The Window Server lower loop uses <xref href="GUID-44844998-D8BF-3F2F-9BA2-FB9BB497F8C0.dita"><apiname>MWsGraphicsContext</apiname></xref> calls to issue the draw operations for view B. </p> </li> <li id="GUID-BC743329-8170-5EC2-A3F7-B381FAA1FB81"><p>The TFX render stage passes the draw operations straight through to the display render stage, which renders them into the UI surface. However, this is not visible in the composition scene, because it is obscured by the TFX surface. </p> </li> <li id="GUID-ED77E906-6330-567C-B17D-5D66E0A53521"><p>The Window Server calls <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-0EBA06BF-D17F-3485-85B6-F4B855A48B62"><apiname>CWsRenderStage::End()</apiname></xref>. </p> </li> <li id="GUID-1B3F15B1-4DC6-5164-A93B-2F33F1D60064"><p>The TFX render stage calls <xref href="GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704.dita#GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704/GUID-251E3B0E-DA5A-32FC-9253-B4960C8C8A6D"><apiname>MWsScreenRedraw::ScheduleRender()</apiname></xref>, to ensure that it is called again after a short interval. </p> </li> <li id="GUID-F091535F-208E-57B3-9787-593B7C21039B"><p>The client application signals the end of the entry transition and the Window Server scheduler fires. </p> </li> <li id="GUID-B1A48A62-9527-5653-8C20-02E35CF83966"><p>The Window Server calls <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-75503F6F-91DA-3392-8CD5-34FFF9095D30"><apiname>CWsRenderStage::Begin()</apiname></xref> and <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-0EBA06BF-D17F-3485-85B6-F4B855A48B62"><apiname>CWsRenderStage::End()</apiname></xref> on the TFX render stage, but without any drawing, giving it the opportunity to run. </p> </li> <li id="GUID-FC40FDEA-F232-5FE9-97F4-37E82B9ACAD9"><p>Over a series of frames, the TFX render stage modifies the element metadata to make the TFX surface (containing view A) slide off, and the UI surface (containing view B) slide on. It does this by updating the elements using <xref href="GUID-48B10795-1C8F-3D21-9637-6C7A02C95C75.dita"><apiname>MWsElement</apiname></xref> calls. </p> </li> <li id="GUID-4A2F9221-FA8B-5943-946A-4633D6124501"><p>When the transition is finished, the TFX render stage removes the TFX surface from composition scene, by calling <xref href="GUID-43972649-4BDE-3D93-8658-35F224915A43.dita#GUID-43972649-4BDE-3D93-8658-35F224915A43/GUID-F6AE7CF1-0B56-3243-9E45-1C7A9E49DB83"><apiname>MWsScene::RemoveSceneElement()</apiname></xref>. </p> </li> </ol> </section> </conbody><related-links><link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-26D1E607-C63F-5A2D-9482-2A9A85F466C8_d0e250424_href.png" placement="inline"/></fig> <p>First we will assume that neither A nor B has an external surface. The transition effect is performed in a similar way to the window transition described earlier. The outgoing view is captured into the TFX surface, and introduced as the topmost element into the composition scene. One complication is that on the client side, the outgoing and incoming views may run in different processes. The transition engine must therefore wait for A's exit and B's entry to be signaled before it performs the transition effect. </p> <p>As in the previous example, the actors are the client application, the Window Server and the two render stages. The system boundary is the Window Server process. Assuming that view A is currently present in the UI surface, the basic flow is as follows: </p> <ol id="GUID-5B62EE78-068F-56D2-BC56-7A1DE0ECB70C"><li id="GUID-02486331-EDE3-5C13-A443-9F7EEA1527EC"><p>View A signals the start and end of its exit transition. </p> </li> <li id="GUID-ED5A72A0-94E3-5630-AAD6-9EA1B944133A"><p>View B signals the start of its entry transition. </p> </li> <li id="GUID-8D593EEA-E247-5AC7-8368-09B916FA8129"><p>View B issues new drawing operations to the Window Server. </p> </li> <li id="GUID-285E79CB-EF1D-512B-BAF8-5B7AE69C2260"><p>View B calls <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita#GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9/GUID-B431DC60-D11F-3239-8F52-4257B9B0E0C9"><apiname>RWsSession::Finish()</apiname></xref>. </p> </li> <li id="GUID-589B198C-52A5-58B2-AB49-6917749EF768"><p>The Window Server lower loop runs. </p> </li> <li id="GUID-6F012760-5FBC-5BE5-A483-54245374E9E8"><p>The Window Server calls <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-75503F6F-91DA-3392-8CD5-34FFF9095D30"><apiname>CWsRenderStage::Begin()</apiname></xref> on the TFX render stage. </p> </li> <li id="GUID-EC87DA51-437F-5B65-9645-61C72BE769BE"><p>The TFX render stage introduces the TFX surface as the topmost surface in the composition scene, and moves the UI surface off to the side of the scene. It does this by calling <xref href="GUID-43972649-4BDE-3D93-8658-35F224915A43.dita#GUID-43972649-4BDE-3D93-8658-35F224915A43/GUID-3E35F2A4-548C-3C9E-A1B2-3C7EBD50EFAB"><apiname>MWsScene::InsertSceneElement()</apiname></xref> and then performing the <xref href="GUID-48B10795-1C8F-3D21-9637-6C7A02C95C75.dita"><apiname>MWsElement</apiname></xref> updates for the UI surface. </p> </li> <li id="GUID-D7A59885-D8AB-5BFD-B569-CD0E839DDF8D"><p>The Window Server lower loop uses <xref href="GUID-44844998-D8BF-3F2F-9BA2-FB9BB497F8C0.dita"><apiname>MWsGraphicsContext</apiname></xref> calls to issue the draw operations for view B. </p> </li> <li id="GUID-BC743329-8170-5EC2-A3F7-B381FAA1FB81"><p>The TFX render stage passes the draw operations straight through to the display render stage, which renders them into the UI surface. However, this is not visible in the composition scene, because it is obscured by the TFX surface. </p> </li> <li id="GUID-ED77E906-6330-567C-B17D-5D66E0A53521"><p>The Window Server calls <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-0EBA06BF-D17F-3485-85B6-F4B855A48B62"><apiname>CWsRenderStage::End()</apiname></xref>. </p> </li> <li id="GUID-1B3F15B1-4DC6-5164-A93B-2F33F1D60064"><p>The TFX render stage calls <xref href="GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704.dita#GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704/GUID-251E3B0E-DA5A-32FC-9253-B4960C8C8A6D"><apiname>MWsScreenRedraw::ScheduleRender()</apiname></xref>, to ensure that it is called again after a short interval. </p> </li> <li id="GUID-F091535F-208E-57B3-9787-593B7C21039B"><p>The client application signals the end of the entry transition and the Window Server scheduler fires. </p> </li> <li id="GUID-B1A48A62-9527-5653-8C20-02E35CF83966"><p>The Window Server calls <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-75503F6F-91DA-3392-8CD5-34FFF9095D30"><apiname>CWsRenderStage::Begin()</apiname></xref> and <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-0EBA06BF-D17F-3485-85B6-F4B855A48B62"><apiname>CWsRenderStage::End()</apiname></xref> on the TFX render stage, but without any drawing, giving it the opportunity to run. </p> </li> <li id="GUID-FC40FDEA-F232-5FE9-97F4-37E82B9ACAD9"><p>Over a series of frames, the TFX render stage modifies the element metadata to make the TFX surface (containing view A) slide off, and the UI surface (containing view B) slide on. It does this by updating the elements using <xref href="GUID-48B10795-1C8F-3D21-9637-6C7A02C95C75.dita"><apiname>MWsElement</apiname></xref> calls. </p> </li> <li id="GUID-4A2F9221-FA8B-5943-946A-4633D6124501"><p>When the transition is finished, the TFX render stage removes the TFX surface from composition scene, by calling <xref href="GUID-43972649-4BDE-3D93-8658-35F224915A43.dita#GUID-43972649-4BDE-3D93-8658-35F224915A43/GUID-F6AE7CF1-0B56-3243-9E45-1C7A9E49DB83"><apiname>MWsScene::RemoveSceneElement()</apiname></xref>. </p> </li> </ol> </section> </conbody><related-links><link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-30C8FE14-00CA-5B7F-9970-30E9632F00A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-30C8FE14-00CA-5B7F-9970-30E9632F00A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,10 +21,10 @@
 Terminated (MT) calls </p> </li>
 </ul> <fig id="GUID-4BE26EDE-C073-5F33-AD39-D1659B3D936A">
 <title>              MO call state diagram            </title>
-<image href="GUID-F041E4F2-AAA3-5C8C-B8C6-646974DEF76E_d0e49420_href.png" placement="inline"/>
+<image href="GUID-F041E4F2-AAA3-5C8C-B8C6-646974DEF76E_d0e53654_href.png" placement="inline"/>
 </fig> <fig id="GUID-D9D38F90-FB12-5B14-8AAB-C1A305D11948">
 <title>              MT call state diagram            </title>
-<image href="GUID-04B1D977-EE3F-5EC6-B1C7-68F6E4C801E2_d0e49428_href.png" placement="inline"/>
+<image href="GUID-04B1D977-EE3F-5EC6-B1C7-68F6E4C801E2_d0e53662_href.png" placement="inline"/>
 </fig><p><xref href="GUID-7B623041-5DB3-3EF6-AAF4-5AA89B519855.dita"><apiname>RMobileCall</apiname></xref> provides the functions to manipulate
 and control call actions. 
 </p><p> The high level steps to use the call control information are: 
Binary file Symbian3/PDK/Source/GUID-30E37559-B24D-569B-89BF-D5261DC5C689_d0e275140_href.png has changed
Binary file Symbian3/PDK/Source/GUID-30E37559-B24D-569B-89BF-D5261DC5C689_d0e281140_href.png has changed
--- a/Symbian3/PDK/Source/GUID-30EB4252-4CBA-5174-9133-E79AC9AEAEBF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-30EB4252-4CBA-5174-9133-E79AC9AEAEBF"><title>Header information source file</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The build tools automatically generates a stub file, <varname>project-name</varname> <filepath>.uid.cpp</filepath>, which is built by the project and which contains the information on the project's UIDs and other properties. This stub file should not be edited, and should be considered as an intermediate file rather than a source file. It has a syntax such as:</p> <codeblock id="GUID-199C847E-0714-540A-AA3D-2719548DBE48" xml:space="preserve">#include &lt;e32cmn.h&gt;
-#pragma data_seg(".SYMBIAN")
-__EMULATOR_IMAGE_HEADER2(0x10000079,0x1000008d,0x08a715f2,EPriorityForeground,0x00000000u,0x00000000u,0x08a715f2,0,0x00010000,0)
-#pragma data_seg()</codeblock> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5" xml:lang="en"><title>The
-Symbian build process</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Symbian platform programs are initially developed for a Symbian emulator
-running on Windows, and are then rebuilt for the ARM processor (native) targets
-used in real Symbian platform phones. Building can be performed from the Windows
-command line, or from within an IDE if one is available. The descriptions
-given in this documentation set concentrate on command line building, as documentation
-for using an IDE is normally distributed with the IDE itself. </p>
-<p> <b>Note:</b> This page includes a description of the use of Symbian's
-SBSv1 build system, which provides the <codeph>bldmake</codeph> and <codeph>abld</codeph> command
-line tools. Symbian also provides a newer command line build system, called
-SBSv2, in its Platform Developer Toolkit (PDT) product. SBSv2 can help achieve
-improved build speed over SBSv1. </p>
-<section><title>Build targets</title> <p>This section describes the tools
-and compilers supported on the kits supplied by Symbian. Note that licensees
-or third-parties may supply additional tools, or extend support to additional
-compilers which are not described here. </p> <p>Symbian build their emulator
-code with the Metrowerks CodeWarrior compiler. This is known as the <codeph>WINSCW</codeph> build
-target. Binaries built with this compiler are put in the <filepath>epoc32\release\winscw</filepath> and <filepath>epoc32\winscw</filepath> directory
-trees. </p> <p>You can build your programs for the Symbian emulator using
-Metrowerks CodeWarrior. The build tools also have support for using the Microsoft
-Visual Studio .NET 2003, or Microsoft Visual Studio v6 IDEs. See <xref href="GUID-E08F6BA9-F1A9-50D5-8CBE-8304BBA24D1F.dita">The
-Symbian emulator build targets</xref> for more details. </p> <p>To build code
-for a phone, a compiler based on the Application Binary Interface (ABI) for
-the ARM Architecture is needed. This is a standard for the interfaces of binary
-code running in ARM environments, and is intended to allow inter-operation
-of binaries produced by different compilers that conform to the standard.
-The specification is published by ARM at <xref href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0038a/index.html" scope="external">http://infocenter.arm.com</xref>. </p> <p>The Symbian platform
-build tools are configured to work with two compilers in particular: </p> <ul>
-<li id="GUID-0F50C5D5-9C66-5414-9952-CFB0B6C3E88C"><p>ARM's own RealView Compiler
-Tools (RVCT). This is particularly intended for licensee's building ROMs for
-phones. For details, see ARM's website at <xref href="http://www.arm.com/products/DevTools/RealViewDevSuite.html" scope="external">http://www.arm.com</xref>. </p> <p>The situation
-is complicated by there existing two versions of the ARM ABI, referred to
-as v1 and v2 respectively. The toolchain allows either to be chosen. </p> </li>
-<li id="GUID-231F1526-3BB8-5602-B867-12B6A7CD11D9"><p>A version of the GNU
-Compiler Collection (GCC) that supports the ABI for the ARM Architecture.
-This compiler is delivered on Symbian platform kits, and is freely available.
-This target is known as <codeph>GCCE</codeph>. It can only be used to compile
-code to v2 of the ARM ABI, not to the earlier v1. </p> </li>
-</ul> <p>See <xref href="GUID-763DCEF4-C960-58A2-99DC-7FFD3187BFD4.dita">The native
-build targets</xref> for more details. </p> </section>
-<section><title>Project files</title> <p>Because of the variety of targets
-and toolchains available, Symbian platform allows projects to be specified
-in a form not specific to any. These neutral project files are then used by
-Symbian platform tools to create toolchain-specific project files when these
-are required. </p> <p>The key project files are: </p> <ul>
-<li id="GUID-015E5371-C812-5654-84AF-E29715AF9356"><p>a project definition
-file (<filepath>.mmp</filepath> file) that describes a project to be built.
-This is an environment neutral file that can be used by the tools to produce
-make files for any of the supported target environments. It also defines resource
-file and application information files to be built. </p> </li>
-<li id="GUID-1F3FEF0C-98BC-582F-B973-04D51F50E1D4"><p>a component description
-file (<filepath>bld.inf</filepath>), which lists all the projects in a component,
-and gives additional build instructions. </p> </li>
-</ul> <p>When you create a new project, you write these files (or typically
-copy existing similar files and modify them) in a text editor. IDE's may allow
-new projects to be created from existing template projects. </p> <p>See <xref href="GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36.dita">How to build GUI applications</xref>, <xref href="GUID-594488FF-02C9-5066-85DB-5F88A754AE18.dita">How to build DLLs</xref>,
-and <xref href="GUID-12D8C373-5199-5B89-9910-00F769AC164A.dita">How to build EXEs</xref> for
-guidance on how to write project files for the three most common types of
-program. See the <xref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita">Build
-tools reference</xref> for details on the file formats and syntax. </p> </section>
-<section><title>Building from the command line</title> <p>You can build for
-any target from the command line. The procedure is summarised below. </p> <ol id="GUID-6F57EEBA-7ECA-529C-AC4F-7B22AE90DFC3">
-<li id="GUID-315A168A-926A-57D9-B1DF-CB36F6C8DED2"><p>Create a project specification
-(<filepath>.mmp</filepath>) file. </p> </li>
-<li id="GUID-F3C9187F-AAF6-5D4B-AE0E-135A152011CF"><p>Create a component definition
-file (<filepath>bld.inf</filepath>). In many cases this will specify a single
-project <filepath>mmp</filepath> file. </p> </li>
-<li id="GUID-8641EE54-AA0C-5825-A510-43DA55B36D11"><p>Run <filepath>bldmake</filepath> from
-the directory where the <filepath>bld.inf</filepath> file is located: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p>This creates a <filepath>abld.bat</filepath> batch
-file, which you use in the next step. </p> </li>
-<li id="GUID-B49FCB10-1058-5C0F-A0FD-216C2D1D8A9B"><p>Use <systemoutput>abld
-build</systemoutput> to build the project. </p> <p>This builds the project
-for all valid targets and both release and debug variants. To build for a
-particular target and variant, use <systemoutput>abld                 build
-target-name variant</systemoutput>, for example </p> <p><userinput>abld build
-winscw udeb</userinput> </p> <p>to build for the debug variant of WINSCW. </p> </li>
-</ol> <p>For more details on using the tools, see <xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How
-to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How
-to use abld</xref>. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,174 +1,177 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-310A8A9C-98E7-59EE-9376-8E572580190F" xml:lang="en"><title>File
-services in Symbian platform</title><shortdesc>This topic describes the common concepts of file systems and files
-used by Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Like other software systems, Symbian platform can store data so that it
-is kept when a handset is powered down. </p>
-<p>On PCs, a file is kept on magnetic disk or optical media such as CD or
-DVD. On older generations of personal organisers, a file was often kept in
-RAM, needing a permanent power supply, and a backup battery to guarantee this.
-On the most recent telephone handsets, files are normally stored in flash
-memory, either NOR flash or NAND flash, and also on removable devices such
-as MultiMediaCard (MMC), Secure Digital card (SD card), Memory Stick or Compact
-flash (CF). </p>
-<p>There are more sophisticated services for persisting data such as streams,
-stores, central repository etc. that applications can use, but they all rely,
-either directly or indirectly, on the commonly understood idea of the file. </p>
-<p>The ROM on a typical handset is located in non-volatile flash memory, allowing
-it to be upgraded by the handset manufacturer after initial production. The
-location for user data is almost always flash memory (NAND or NOR), on the
-grounds of cost, although rotating media devices capable of holding large
-amounts of data are likely in future handsets. </p>
-<ul>
-<li id="GUID-798E9ED1-24DF-5990-9D1E-CD043B94B722"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-DD8C4BFB-9816-5EA5-A9F2-5146C64BBC9C">Basic concepts</xref>  </p> </li>
-<li id="GUID-BBB6D4C2-4AE6-55CD-BC65-416BCF705F31"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-62387DD0-D8E4-5426-8432-B14696291AF8">Accessing file services</xref>  </p> </li>
-<li id="GUID-B6AEF9DA-60D3-5728-9C46-59EE5C98346C"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-9FF4525A-EBFD-5E9F-BD86-C6B75E5C35EF">Security issues</xref>  </p> </li>
-<li id="GUID-ACF583E3-3FAA-52FE-9A07-8172A4BBBCC9"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-849F5D6E-7911-55F8-839A-019D1BF16726">File systems and mounting a drive</xref>  </p> </li>
-</ul>
-<section id="GUID-DD8C4BFB-9816-5EA5-A9F2-5146C64BBC9C"><title>Basic concepts</title> <p>Symbian
-platform uses a number of file concepts that are common to most operating
-systems, for example, drives and directories. </p> <p><b>Drives</b> </p> <p>Symbian
-platform uses the concept of the <i>drive</i>. This idea is similar to that
-in other operating systems, i.e. it corresponds to a logical device. A media
-device such as a MultiMediaCard can be logically split into partitions, and
-each partition is treated as a separate drive. Symbian platform adopts a DOS-like
-convention where each drive is identified by a single letter. This means that
-there can be up to 26 drives on a handset, identified by the letters <filepath>A:</filepath> through
-to <filepath>Z:</filepath>. In practice, there are far fewer than this, and
-the number depends on the individual manufacturer's handset </p> <p>Internally,
-Symbian platform uses the idea of a drive number instead of a letter, and
-some legacy API items take a drive number as input, or return a drive number
-as output. However, there are functions that can translate drive numbers to
-and from drive letters: <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-A0F50C51-A4F0-33C1-BBD4-757DEC4B7F2E"><apiname>RFs::DriveToChar()</apiname></xref> and <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-D545B868-0549-37A9-AACE-288E7C9CE8C3"><apiname>RFs::CharToDrive()</apiname></xref>. </p> <p>The
-main ROM on a handset is always identified as the <filepath>Z:</filepath> drive.
-Other drives may be in use: sixteen of the drives <filepath>C:</filepath> to <filepath>R:</filepath> are
-usually reserved as local drives, i.e. for media devices located within the
-handset. A common convention is to adopt <filepath>C:</filepath> as the main
-user data drive. and to designate <filepath>D:</filepath> or <filepath>E:</filepath> as
-drives for removable media. <i>Be aware</i>, however, that this is a convention
-that some handset manufacturers may not follow, so you are always advised
-to check the full SDK that applies to a specific handset for guidance. Indeed,
-as a matter of principle, you should always use the <xref href="GUID-629AB2C9-BEDD-5166-8B09-F8DFF7527C03.dita">system
-drive</xref> for user data. </p> <p><b>Volume</b> </p> <p>The concept of the volume applies to removable media. As users insert
-and remove individual devices, so different volumes are said to be mounted
-and demounted. For media types that can be split into partitions, each partition
-corresponds to a separate volume. </p> <p><b>File
-names and directory structures</b> </p> <p>Files have names, and Symbian platform
-uses a hierarchical directory structure in which to organize them; this is
-similar to schemes adopted by other operating systems. For example: </p> <codeblock id="GUID-C4330879-E93B-5939-A810-8D4A1E5B14DB" xml:space="preserve">C:\AAA\BBB\CCC\DDD.EXT</codeblock> <p>There
-are four main parts to the structure: </p> <ul>
-<li id="GUID-39D18587-8793-511F-B3CC-8CFA6D129F80"><p>the <i>drive</i>; this
-is always at the top of the hierarchy, and is represented by a drive letter
-and a colon. </p> </li>
-<li id="GUID-8F5F5EB0-721F-5C5B-90B6-08E2CB92BA98"><p>the <i>path</i>; this
-is a list of names, each name representing a level in the hierarchy. Each
-directory name is separated by a back slash character, and the last directory
-name is always terminated by a back slash character. </p> </li>
-<li id="GUID-BD848A50-9BEA-5E08-ACDB-92EDB9C5CA86"><p>the <i>filename</i>;
-this is everything after the final backslash, and before the dot if there
-is a file extension. Symbian platform supports long file filenames. </p> </li>
-<li id="GUID-07E1D5CB-9D9B-5141-AD7B-76F839AA2FC0"><p>the <i>extension</i>,
-everything after the final dot. There is no restriction on the length of the
-extension; limits on length apply to the whole structure, not to any single
-part of it. </p> </li>
-</ul> <p>You will find that the whole structure is sometimes referred to as
-the full file name or the full path name. The maximum length of a full file
-name is limited to 256 characters. Symbian platform does not use the extension
-to identify the software or application that can access the data. Instead,
-files have UIDs embedded within them, and the mapping of files to applications
-is done through these UIDs. See <xref href="GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C.dita">Application
-registration information</xref>. </p> <p>The case of full path names is always
-preserved, but operations on names are case insensitive. This means that two
-files that have the same name but differ only in case are considered to refer
-to the same file. </p> <p>Full file names are normally manipulated programmatically.
-Extracting drive names, filenames, file extensions, and changing the names
-of a directory structure are typical activities. Symbian platform provides
-you with the <xref href="GUID-E79A3B03-F8CB-37DB-A2A8-1C6C4E4D739A.dita"><apiname>TParse</apiname></xref>, <xref href="GUID-A6268E58-68EC-3041-93FD-5368CD230947.dita"><apiname>TParsePtr</apiname></xref>, and <xref href="GUID-C65BCDAB-0476-3EAC-9BFC-37243AE43FE9.dita"><apiname>TParsePtrC</apiname></xref> classes
-to help you do this manipulation. </p> <p>See <xref href="GUID-ECF9E432-EA93-5284-B0E6-A1211289CBD8.dita">parsing
-paths and filenames</xref> . </p> </section>
-<section id="GUID-62387DD0-D8E4-5426-8432-B14696291AF8"><title>Accessing file
-services</title> <p>On Symbian platform, file services are a common resource.
-Like other common or shared resources on Symbian platform, file services are
-handled by a server - the file server. Applications and other software that
-require access to files, directories and drives are clients of the file server,
-and send file-related requests using the <xref href="GUID-198DCED1-F429-5C95-A51D-53AE416687E8.dita">file
-server client-side API</xref>. </p> <p>The file server is multithreaded, which
-allows each logical drive to be accessed concurrently. More than one request
-can be issued for the same drive, but these requests are handled sequentially.
-For example, a request to read or write data to a MultiMediaCard can be handled
-at the same time as a request to read or write data to the main user drive. </p> <p>The
-file server has a main thread that initially handles all requests. Short requests,
-such as those that require access to the ROM drive, and those that do not
-require access to any media, run in the file server. </p> <p>The services
-provided by the file server can be divided into two types: </p> <ul>
-<li id="GUID-12F7606D-835D-5948-B0F0-EBACC5F6E569"><p>those that give you
-access to individual files, directories and drives using the <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref>, <xref href="GUID-12AE154F-7741-38C0-ADFE-9784FCF5E516.dita"><apiname>RDir</apiname></xref> and <xref href="GUID-9D7E765B-6872-3EB9-9D5B-1503FA466EC1.dita"><apiname>RFormat</apiname></xref> classes. </p> <p>See also <xref href="GUID-30B2AF3F-E120-5D47-AAA2-529555625B55.dita">How to
-use sessions, files, and directories</xref>. </p> </li>
-<li id="GUID-9E40CF33-C35E-52CE-80B9-8A019F34F305"><p>those that allow you
-to do higher level longer running operations such as moving, copying and deleting
-files, using the <xref href="GUID-82CEC14F-1479-3922-846A-9FCDB6465EF7.dita"><apiname>CFileMan</apiname></xref> class, scanning directory trees
-using the <xref href="GUID-C657AF2D-1183-3CD2-ACAF-3B0B00FC91BB.dita"><apiname>CDirScan</apiname></xref> class, and tracking the progress of
-these operations using the <xref href="GUID-E608485F-B3E3-3310-A80E-169D8B9D2234.dita"><apiname>MFileManObserver</apiname></xref> class. </p> <p>See
-also <xref href="GUID-ACF6C0A2-87ED-55B3-B22A-9B331D9940AC.dita">File management
-and searching</xref>  </p> </li>
-</ul> <p>Like most other servers, the client API allows you to make file requests
-synchronously or asynchronously. </p> <p>See also <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">client-server</xref>. </p> </section>
-<section id="GUID-9FF4525A-EBFD-5E9F-BD86-C6B75E5C35EF"><title>Security issues</title> <p>Security
-considerations restrict the parts of a handset's directory structure that
-an application is allowed to access. The concept is referred to as <i>data
-caging</i>. </p> <p>There are a number of principles involved: </p> <ul>
-<li id="GUID-21674EE5-40A3-5F71-9973-C089FD838585"><p>The fundamental principle
-is the separation of executable code from data. Executable code can only reside
-in the <filepath>/sys/bin/</filepath> directory. Executables cannot be loaded
-from any location other than <filepath>/sys/bin/</filepath>. Unless an application
-has the appropriate system capabilities, the <filepath>/sys/</filepath> directory
-is not visible to that application. System capabilities are a discrete set
-of 'permissions' that give access to various sensitive system services, and
-which can only be granted to applications, if justified, through the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian Signed</xref> scheme. </p> </li>
-<li id="GUID-4A1854CE-25CB-5630-A27C-73931D937567"><p>Applications have their
-own private directory, under which they are free to create further directory
-structures and files, and to write to those files. This is the directory structure <filepath>/private/&lt;app_SID&gt;/</filepath>. <i>&lt;app_SID&gt;</i> is known as a secure identifier and, in general, is used when verifying
-an executable's rights of access to system resources. Here, it is used to
-form the path name for the executable's private directory. The secure identifier
-is a UID which is allocated to a developer through the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian Signed</xref> scheme, and is guaranteed to be unique
-within the handset on which the application is installed. The UID is coded
-into the <filepath>mmp</filepath> file(s) that define the application's source
-files, link requirements, and general characteristics. </p> <p>Other applications
-have no right of access to an application's private directory. </p> </li>
-<li id="GUID-2814D086-A660-5294-9952-E6D66243B652"><p>There is a directory <filepath>/resource/</filepath> to
-which all applications have read access, but no write access. The purpose
-of this directory is to conatin common read-only files. </p> </li>
-<li id="GUID-FC6EE81A-59FA-5AC5-8EC4-3034597F8829"><p>All other directories
-are accessible for both reading and writing. This allows the use of standard
-file system hierarchies that may be available on removable media. </p> </li>
-<li id="GUID-95121831-873B-5E79-B07C-410858FC9779"><p>The above principles
-apply regardless of the drive. </p> </li>
-</ul> <p>It is possible to pass an open file to another process, or between
-a client and server, so that the target can access the file without knowing
-the full path name. The only information that is passed to the target is the
-filename and extension. </p> </section>
-<section id="GUID-849F5D6E-7911-55F8-839A-019D1BF16726"><title>File systems
-and mounting a drive</title> <p>The varying characteristics of media types
-can mean that different media types require different formats. A common format
-is VFAT, and typically, this is used for removable media to maintain compatibility
-with other systems. This also means that long file names are supported. </p> <p>In
-Symbian platform, format schemes are implemented by what are called file systems;
-they are constructed as plugins to the file server. This means that the file
-server itself is independent of the format scheme, and also means that a phone
-manufacturer is free to add new file systems to a handset. The ROM is an exception
-- it has its own file system built into the main file server code. </p> <p>A
-file system must be associated with a drive before the drive can be used.
-This is known as mounting the drive, and is typically done at system boot
-time. </p> <p>In practice, an application does not need to concern itself
-with the format scheme. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-310A8A9C-98E7-59EE-9376-8E572580190F" xml:lang="en"><title>File services in Symbian platform</title><shortdesc>This topic describes the common concepts of file systems
+and files used by Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Like other software systems, Symbian platform can store data so
+that it is kept when a handset is powered down. </p>
+<p>On PCs, a file is kept on magnetic disk or optical media such as
+CD or DVD. On older generations of personal organisers, a file was
+often kept in RAM, needing a permanent power supply, and a backup
+battery to guarantee this. On the most recent telephone handsets,
+files are normally stored in flash memory, either NOR flash or NAND
+flash, and also on removable devices such as MultiMediaCard (MMC),
+Secure Digital card (SD card), Memory Stick or Compact flash (CF). </p>
+<p>There are more sophisticated services for persisting data such
+as streams, stores, central repository etc. that applications can
+use, but they all rely, either directly or indirectly, on the commonly
+understood idea of the file. </p>
+<p>The ROM on a typical handset is located in non-volatile flash memory,
+allowing it to be upgraded by the handset manufacturer after initial
+production. The location for user data is almost always flash memory
+(NAND or NOR), on the grounds of cost, although rotating media devices
+capable of holding large amounts of data are likely in future handsets. </p>
+<ul>
+<li id="GUID-798E9ED1-24DF-5990-9D1E-CD043B94B722"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-DD8C4BFB-9816-5EA5-A9F2-5146C64BBC9C">Basic concepts</xref>  </p> </li>
+<li id="GUID-BBB6D4C2-4AE6-55CD-BC65-416BCF705F31"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-62387DD0-D8E4-5426-8432-B14696291AF8">Accessing file services</xref>  </p> </li>
+<li id="GUID-B6AEF9DA-60D3-5728-9C46-59EE5C98346C"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-9FF4525A-EBFD-5E9F-BD86-C6B75E5C35EF">Security issues</xref>  </p> </li>
+<li id="GUID-ACF583E3-3FAA-52FE-9A07-8172A4BBBCC9"><p> <xref href="GUID-310A8A9C-98E7-59EE-9376-8E572580190F.dita#GUID-310A8A9C-98E7-59EE-9376-8E572580190F/GUID-849F5D6E-7911-55F8-839A-019D1BF16726">File systems and mounting a drive</xref>  </p> </li>
+</ul>
+<section id="GUID-DD8C4BFB-9816-5EA5-A9F2-5146C64BBC9C"><title>Basic
+concepts</title> <p>Symbian platform uses a number of file concepts
+that are common to most operating systems, for example, drives and
+directories. </p> <p><b>Drives</b> </p> <p>Symbian platform uses the concept of the <i>drive</i>. This idea is similar to that in other operating systems,
+i.e. it corresponds to a logical device. A media device such as a
+MultiMediaCard can be logically split into partitions, and each partition
+is treated as a separate drive. Symbian platform adopts a DOS-like
+convention where each drive is identified by a single letter. This
+means that there can be up to 26 drives on a handset, identified by
+the letters <filepath>A:</filepath> through to <filepath>Z:</filepath>. In practice, there are far fewer than this, and the number depends
+on the individual manufacturer's handset </p> <p>Internally, Symbian
+platform uses the idea of a drive number instead of a letter, and
+some legacy API items take a drive number as input, or return a drive
+number as output. However, there are functions that can translate
+drive numbers to and from drive letters: <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-A0F50C51-A4F0-33C1-BBD4-757DEC4B7F2E"><apiname>RFs::DriveToChar()</apiname></xref> and <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-D545B868-0549-37A9-AACE-288E7C9CE8C3"><apiname>RFs::CharToDrive()</apiname></xref>. </p> <p>The main ROM
+on a handset is always identified as the <filepath>Z:</filepath> drive.
+Other drives may be in use: sixteen of the drives <filepath>C:</filepath> to <filepath>R:</filepath> are usually reserved as local drives,
+i.e. for media devices located within the handset. A common convention
+is to adopt <filepath>C:</filepath> as the main user data drive. and
+to designate <filepath>D:</filepath> or <filepath>E:</filepath> as
+drives for removable media. <i>Be aware</i>, however, that this is
+a convention that some handset manufacturers may not follow, so you
+are always advised to check the full SDK that applies to a specific
+handset for guidance. Indeed, as a matter of principle, you should
+always use the <xref href="GUID-629AB2C9-BEDD-5166-8B09-F8DFF7527C03.dita">system drive</xref> for user data. </p> <p><b>Volume</b> </p> <p>The concept of the volume applies to removable
+media. As users insert and remove individual devices, so different
+volumes are said to be mounted and demounted. For media types that
+can be split into partitions, each partition corresponds to a separate
+volume. </p> <p><b>File names and directory structures</b> </p> <p>Files have names,
+and Symbian platform uses a hierarchical directory structure in which
+to organize them; this is similar to schemes adopted by other operating
+systems. For example: </p> <codeblock id="GUID-C4330879-E93B-5939-A810-8D4A1E5B14DB" xml:space="preserve">C:\AAA\BBB\CCC\DDD.EXT</codeblock> <p>There are four main parts to the structure: </p> <ul>
+<li id="GUID-39D18587-8793-511F-B3CC-8CFA6D129F80"><p>the <i>drive</i>; this is always at the top of the hierarchy, and is represented
+by a drive letter and a colon. </p> </li>
+<li id="GUID-8F5F5EB0-721F-5C5B-90B6-08E2CB92BA98"><p>the <i>path</i>; this is a list of names, each name representing a level in the
+hierarchy. Each directory name is separated by a back slash character,
+and the last directory name is always terminated by a back slash character. </p> </li>
+<li id="GUID-BD848A50-9BEA-5E08-ACDB-92EDB9C5CA86"><p>the <i>filename</i>; this is everything after the final backslash, and before the dot
+if there is a file extension. Symbian platform supports long file
+filenames. </p> </li>
+<li id="GUID-07E1D5CB-9D9B-5141-AD7B-76F839AA2FC0"><p>the <i>extension</i>, everything after the final dot. There is no restriction on the
+length of the extension; limits on length apply to the whole structure,
+not to any single part of it. </p> </li>
+</ul> <p>You will find that the whole structure is sometimes referred
+to as the full file name or the full path name. The maximum length
+of a full file name is limited to 256 characters. Symbian platform
+does not use the extension to identify the software or application
+that can access the data. Instead, files have UIDs embedded within
+them, and the mapping of files to applications is done through these
+UIDs. For more information, see <b>Symbian^3 Tools Guide &gt; Building</b>.</p> <p>The case of full path names is always preserved, but operations
+on names are case insensitive. This means that two files that have
+the same name but differ only in case are considered to refer to the
+same file. </p> <p>Full file names are normally manipulated programmatically.
+Extracting drive names, filenames, file extensions, and changing the
+names of a directory structure are typical activities. Symbian platform
+provides you with the <xref href="GUID-E79A3B03-F8CB-37DB-A2A8-1C6C4E4D739A.dita"><apiname>TParse</apiname></xref>, <xref href="GUID-A6268E58-68EC-3041-93FD-5368CD230947.dita"><apiname>TParsePtr</apiname></xref>, and <xref href="GUID-C65BCDAB-0476-3EAC-9BFC-37243AE43FE9.dita"><apiname>TParsePtrC</apiname></xref> classes to help you do this manipulation. </p> <p>See <xref href="GUID-ECF9E432-EA93-5284-B0E6-A1211289CBD8.dita">parsing
+paths and filenames</xref> . </p> </section>
+<section id="GUID-62387DD0-D8E4-5426-8432-B14696291AF8"><title>Accessing
+file services</title> <p>On Symbian platform, file services are a
+common resource. Like other common or shared resources on Symbian
+platform, file services are handled by a server - the file server.
+Applications and other software that require access to files, directories
+and drives are clients of the file server, and send file-related requests
+using the <xref href="GUID-198DCED1-F429-5C95-A51D-53AE416687E8.dita">file
+server client-side API</xref>. </p> <p>The file server is multithreaded,
+which allows each logical drive to be accessed concurrently. More
+than one request can be issued for the same drive, but these requests
+are handled sequentially. For example, a request to read or write
+data to a MultiMediaCard can be handled at the same time as a request
+to read or write data to the main user drive. </p> <p>The file server
+has a main thread that initially handles all requests. Short requests,
+such as those that require access to the ROM drive, and those that
+do not require access to any media, run in the file server. </p> <p>The services provided by the file server can be divided into two
+types: </p> <ul>
+<li id="GUID-12F7606D-835D-5948-B0F0-EBACC5F6E569"><p>those that give
+you access to individual files, directories and drives using the <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref>, <xref href="GUID-12AE154F-7741-38C0-ADFE-9784FCF5E516.dita"><apiname>RDir</apiname></xref> and <xref href="GUID-9D7E765B-6872-3EB9-9D5B-1503FA466EC1.dita"><apiname>RFormat</apiname></xref> classes. </p> <p>See also <xref href="GUID-30B2AF3F-E120-5D47-AAA2-529555625B55.dita">How to use sessions,
+files, and directories</xref>. </p> </li>
+<li id="GUID-9E40CF33-C35E-52CE-80B9-8A019F34F305"><p>those that allow
+you to do higher level longer running operations such as moving, copying
+and deleting files, using the <xref href="GUID-82CEC14F-1479-3922-846A-9FCDB6465EF7.dita"><apiname>CFileMan</apiname></xref> class, scanning
+directory trees using the <xref href="GUID-C657AF2D-1183-3CD2-ACAF-3B0B00FC91BB.dita"><apiname>CDirScan</apiname></xref> class, and tracking
+the progress of these operations using the <xref href="GUID-E608485F-B3E3-3310-A80E-169D8B9D2234.dita"><apiname>MFileManObserver</apiname></xref> class. </p> <p>See also <xref href="GUID-ACF6C0A2-87ED-55B3-B22A-9B331D9940AC.dita">File management and
+searching</xref>.  </p> </li>
+</ul> <p>Like most other servers, the client API allows you to make
+file requests synchronously or asynchronously. </p> <p>See also <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">client-server</xref>. </p> </section>
+<section id="GUID-9FF4525A-EBFD-5E9F-BD86-C6B75E5C35EF"><title>Security
+issues</title> <p>Security considerations restrict the parts of a
+handset's directory structure that an application is allowed to access.
+The concept is referred to as <i>data caging</i>. </p> <p>There are
+a number of principles involved: </p> <ul>
+<li id="GUID-21674EE5-40A3-5F71-9973-C089FD838585"><p>The fundamental
+principle is the separation of executable code from data. Executable
+code can only reside in the <filepath>/sys/bin/</filepath> directory.
+Executables cannot be loaded from any location other than <filepath>/sys/bin/</filepath>. Unless an application has the appropriate system
+capabilities, the <filepath>/sys/</filepath> directory is not visible
+to that application. System capabilities are a discrete set of 'permissions'
+that give access to various sensitive system services, and which can
+only be granted to applications, if justified, through the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian
+Signed</xref> scheme. </p> </li>
+<li id="GUID-4A1854CE-25CB-5630-A27C-73931D937567"><p>Applications
+have their own private directory, under which they are free to create
+further directory structures and files, and to write to those files.
+This is the directory structure <filepath>/private/&lt;app_SID&gt;/</filepath>. <i>&lt;app_SID&gt;</i> is known as a secure identifier and, in general,
+is used when verifying an executable's rights of access to system
+resources. Here, it is used to form the path name for the executable's
+private directory. The secure identifier is a UID which is allocated
+to a developer through the <xref href="https://www.symbiansigned.com/app/page" scope="external">Symbian
+Signed</xref> scheme, and is guaranteed to be unique within the handset
+on which the application is installed. The UID is coded into the <filepath>mmp</filepath> file(s) that define the application's source files,
+link requirements, and general characteristics. </p> <p>Other applications
+have no right of access to an application's private directory. </p> </li>
+<li id="GUID-2814D086-A660-5294-9952-E6D66243B652"><p>There is a directory <filepath>/resource/</filepath> to which all applications have read access,
+but no write access. The purpose of this directory is to conatin common
+read-only files. </p> </li>
+<li id="GUID-FC6EE81A-59FA-5AC5-8EC4-3034597F8829"><p>All other directories
+are accessible for both reading and writing. This allows the use of
+standard file system hierarchies that may be available on removable
+media. </p> </li>
+<li id="GUID-95121831-873B-5E79-B07C-410858FC9779"><p>The above principles
+apply regardless of the drive. </p> </li>
+</ul> <p>It is possible to pass an open file to another process, or
+between a client and server, so that the target can access the file
+without knowing the full path name. The only information that is passed
+to the target is the filename and extension. </p> </section>
+<section id="GUID-849F5D6E-7911-55F8-839A-019D1BF16726"><title>File
+systems and mounting a drive</title> <p>The varying characteristics
+of media types can mean that different media types require different
+formats. A common format is VFAT, and typically, this is used for
+removable media to maintain compatibility with other systems. This
+also means that long file names are supported. </p> <p>In Symbian
+platform, format schemes are implemented by what are called file systems;
+they are constructed as plugins to the file server. This means that
+the file server itself is independent of the format scheme, and also
+means that a phone manufacturer is free to add new file systems to
+a handset. The ROM is an exception - it has its own file system built
+into the main file server code. </p> <p>A file system must be associated
+with a drive before the drive can be used. This is known as mounting
+the drive, and is typically done at system boot time. </p> <p>In practice,
+an application does not need to concern itself with the format scheme. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-314A8784-604E-509A-839E-38CEE280B67F_d0e231544_href.png has changed
Binary file Symbian3/PDK/Source/GUID-314A8784-604E-509A-839E-38CEE280B67F_d0e237539_href.png has changed
--- a/Symbian3/PDK/Source/GUID-314B1556-5CB5-4BCC-93C0-B22DB849D2D5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-314B1556-5CB5-4BCC-93C0-B22DB849D2D5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 <fig id="GUID-3BDA33E2-C1C4-4F6C-94F4-1A9E00723DE2">
 <title>Universal indicator pane. Indicators are placed side by side at the
 top (above the clock in the image on the right).</title>
-<image href="GUID-EAFD71DD-0EB2-402A-9511-D0F3362BDCE3_d0e95787_href.png" placement="inline"/>
+<image href="GUID-EAFD71DD-0EB2-402A-9511-D0F3362BDCE3_d0e99906_href.png" placement="inline"/>
 </fig>
 <p>The universal indicator pane is not
 accessible to applications.</p>
--- a/Symbian3/PDK/Source/GUID-314FAEB5-946C-4090-B6AA-1BEEC9BE8EFB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-314FAEB5-946C-4090-B6AA-1BEEC9BE8EFB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -311,10 +311,10 @@
 <li id="O"><p>The active scheduler is nested.</p></li>
 <li id="P"><p>One or more high priority active objects are started (probably
 several times), which all make requests on a server. </p></li>
-<li id="Q-GENID-1-11-1-1-5-1-6-1-3-5-19-4"><p>The high priority active object(s) are serviced and immediately
+<li id="Q-GENID-1-11-1-1-7-1-6-1-3-5-19-4"><p>The high priority active object(s) are serviced and immediately
 restarted. This continues until there is no more work for the high priority
 active object(s) to do.</p></li>
-<li id="Q-GENID-1-11-1-1-5-1-6-1-3-5-19-5"><p>The low priority active object runs and un-nests the active
+<li id="Q-GENID-1-11-1-1-7-1-6-1-3-5-19-5"><p>The low priority active object runs and un-nests the active
 scheduler.</p></li>
 </ol><p>In a single core environment, the server always processes the client
 requests before the client can run any other code (because the server runs
@@ -442,10 +442,10 @@
 to ensure all kernel memory has been cleaned up. </p><p>There are three possibilities
 to fix this problem: </p><ol>
 <li id="X"><p>Recreate the thread with a different name.</p></li>
-<li id="Y-GENID-1-11-1-1-5-1-6-1-3-6-12-2"><p>Wait a "little bit" before recreating the thread (or performing
+<li id="Y-GENID-1-11-1-1-7-1-6-1-3-6-12-2"><p>Wait a "little bit" before recreating the thread (or performing
 the heap check). </p><p>This is almost always a bad idea as there is no way
 of knowing how long to wait and this may be different on any future system.</p></li>
-<li id="Y-GENID-1-11-1-1-5-1-6-1-3-6-12-3"><p>Wait for the object concerned to be completely destroyed.</p></li>
+<li id="Y-GENID-1-11-1-1-7-1-6-1-3-6-12-3"><p>Wait for the object concerned to be completely destroyed.</p></li>
 </ol><p>In general, option 1 is preferred. For code that is likely to encounter
 the problem in practice, APIs should be provided to aid with creating objects
 with a unique name. For example, the <codeph>TDynamicDfcQue</codeph> and <codeph>Kern::DynamicDfcQCreate</codeph> APIs
--- a/Symbian3/PDK/Source/GUID-31640F5C-ABF0-5BA5-BA77-4FCC63359E38.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-31640F5C-ABF0-5BA5-BA77-4FCC63359E38.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 used by several graphics components and their clients. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-499241CB-858F-5685-9D77-1AF32F6F3E95">
 <title> The Graphics Utilities collection</title>
-<image href="GUID-867B7D4C-34AC-585D-BEED-BDF050A12203_d0e274028_href.png" placement="inline"/>
+<image href="GUID-867B7D4C-34AC-585D-BEED-BDF050A12203_d0e280028_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
Binary file Symbian3/PDK/Source/GUID-316D7B85-F827-4479-B5EE-81F210614236_d0e13138_href.png has changed
Binary file Symbian3/PDK/Source/GUID-316D7B85-F827-4479-B5EE-81F210614236_d0e13237_href.png has changed
--- a/Symbian3/PDK/Source/GUID-316ED912-04F7-5613-942E-516C3AB01C49.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-316ED912-04F7-5613-942E-516C3AB01C49.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 reverse order, starting with the parent domains and proceeding down the tree
 to the child domains. </p>
 <fig id="GUID-90A60E81-1461-5CF7-9BA5-94AFAE96635D">
-<image href="GUID-4710494E-835F-50B8-B0B5-0482147C02D2_d0e373220_href.png" placement="inline"/>
+<image href="GUID-4710494E-835F-50B8-B0B5-0482147C02D2_d0e379068_href.png" placement="inline"/>
 </fig>
 <p>Domains are identified by a domain Id. This is an 8-bit wide number and
 is defined as being of type <xref href="GUID-4F284AB0-85A5-3871-B973-8BCAB4AA91BC.dita"><apiname>TDmDomainId</apiname></xref>. The Symbian platform
--- a/Symbian3/PDK/Source/GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,6 +12,6 @@
 <concept xml:lang="en" id="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140"><title>Privacy Data Types</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>  This document describes the classes and types of the Privacy Data Types that are used by the LBS Privacy Q&amp;N Notifiers. </p> </section> <section><title>Contents</title> <ul><li id="GUID-B53B02D5-777C-5E46-AF5C-C036D1239F6B"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-B81EACA1-BC5A-5DDF-A93C-F7A19DB14D57">Introduction</xref>  </p> </li> <li id="GUID-2C9E7947-5213-5588-9B6F-542534029E97"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1E11995F-FEE5-5FD1-87E0-E9D035BD9367">API description</xref>  </p> <ul><li id="GUID-8FF26922-8C69-5091-9178-300AC2F12B80"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>  </p> </li> <li id="GUID-A96E58AB-40E8-5697-A42C-34CAF8D9122A"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> </p> </li> <li id="GUID-D54C00BD-838C-5890-8BA6-0574B3708B65"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref> </p> </li> <li id="GUID-2D593D16-32BC-5C22-875F-5629A45DA98D"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-B156EAC5-D877-584F-8634-690645DC0F5C">RPosRequestorStack</xref>  </p> </li> <li id="GUID-903D6D72-D73D-5AB3-BB03-E893436091B9"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-270E155F-8E20-551A-AF43-6B68363E039C">TPosRequestSource</xref>  </p> </li> <li id="GUID-A43DD96C-725D-5886-B1CF-BA6C0FD8FC18"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-EE4A2044-AF18-57F8-A586-91A5D531DD45">TPosRequestDecision</xref>  </p> </li> <li id="GUID-0EDAD9F5-B0BC-5387-A5C1-7D2AC67FEB4B"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-852EC187-332B-5B25-9A1B-94CA875C2B4C">TPosNotificationReason</xref> </p> </li> <li id="GUID-6FBAA486-0335-5DE0-A6D7-20343AD688B9"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-80BD9F8E-1E87-5E3B-8E62-1B42987C83A4">TPosVerifyCancelReason</xref> </p> </li> </ul> </li> <li id="GUID-A09E1B03-9BC2-510C-9B04-9281B8810722"><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-4279E9B0-3376-5E0A-82A6-BE73DA466B5F">See also</xref>  </p> </li> </ul> </section> <section id="GUID-B81EACA1-BC5A-5DDF-A93C-F7A19DB14D57"><title>Introduction</title> <p>Figure 1 shows the Privacy Data Types within the <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">Full LBS configuration</xref>. The Privacy Data Types are used to pass privacy request data and privacy response data between the LBS subsystem and licensee Privacy Q&amp;N Notifier classes. </p> <p>For a privacy request passed from the LBS subsystem to a Privacy Q&amp;N Notifier, the Privacy Data Types specify the agent that is making the request (the requester) and the type of the request. For a privacy response, the Privacy Data Types specify why a privacy request was accepted, rejected or cancelled by a user. </p> <p>Note that the Privacy Data Types are used only by the <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> API and are not used by the standard LBS Privacy Notifiers or the Privacy Controller, which are also shown in figure 1. </p> <p>Note also that although figure 1 shows a (partial) Full LBS Mode configuration, the Privacy Q&amp;N Notifiers and their associated Privacy Data Types can also be included in the <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">Standalone Privacy Mode configuration</xref>. </p> <p>See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for examples of how the Privacy Data Types are used. </p> <fig id="GUID-D2E6E362-7A9F-5B43-87A1-8B3F6F30D49E"><title>
              Figure 1. The Privacy Data Types and related LBS subsystem
              components. 
-          </title> <image href="GUID-2565AD08-6D97-5EF5-9CA2-83D6A953D772_d0e431716_href.png" placement="inline"/></fig> </section> <section id="GUID-1E11995F-FEE5-5FD1-87E0-E9D035BD9367"><title>API description</title> <p><b>Privacy Data Types class diagram </b> </p> <p>Figure 2 shows the classes and types of the Privacy Data Types. </p> <fig id="GUID-D871288E-3775-5868-9DFE-54CD060C2E4C"><title>
+          </title> <image href="GUID-2565AD08-6D97-5EF5-9CA2-83D6A953D772_d0e437561_href.png" placement="inline"/></fig> </section> <section id="GUID-1E11995F-FEE5-5FD1-87E0-E9D035BD9367"><title>API description</title> <p><b>Privacy Data Types class diagram </b> </p> <p>Figure 2 shows the classes and types of the Privacy Data Types. </p> <fig id="GUID-D871288E-3775-5868-9DFE-54CD060C2E4C"><title>
              Figure 2. Classes and types of the Privacy Data Types. 
-          </title> <image href="GUID-94984754-A724-57C4-9E18-33B951F917B6_d0e431735_href.png" placement="inline"/></fig> <p><b>List of Privacy Data Types classes and types </b> </p> <p>The following table lists the main classes and types of the Privacy Data Types. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Privacy Data Types have <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-3B68A9CD-3031-564B-A80B-2B5D93AEAEF9"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-B156EAC5-D877-584F-8634-690645DC0F5C">RPosRequestorStack</xref>  </p> </entry> <entry><p>An array of <codeph>CPosRequestor</codeph> objects. </p> </entry> <entry><p> <filepath>EPos_RPosRequestorStack.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>  </p> </entry> <entry><p>The base class that represents an agent (such as a contact or service) involved in a privacy request. Derived classes are <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> and <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref>. A privacy requester is identified by a string which represents a contact number, URL, email address etc. </p> </entry> <entry><p> <filepath>EPos_CPosRequestor.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> </p> </entry> <entry><p>The derived class that represents a service privacy requester (such as a network service). </p> </entry> <entry><p> <filepath>EPos_CPosServiceRequestor.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref> </p> </entry> <entry><p>The derived class that represents a contact privacy requester (such as a phone number or email address). </p> </entry> <entry><p> <filepath>EPos_CPosContactRequestor.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-270E155F-8E20-551A-AF43-6B68363E039C">TPosRequestSource</xref>  </p> </entry> <entry><p>Specifies the source of the privacy request. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-EE4A2044-AF18-57F8-A586-91A5D531DD45">TPosRequestDecision</xref>  </p> </entry> <entry><p>Specifies if a privacy request was accepted or rejected by a Privacy Q&amp;N notifier. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-852EC187-332B-5B25-9A1B-94CA875C2B4C">TPosNotificationReason</xref> </p> </entry> <entry><p>Specifies the reason why a privacy notification was sent into LBS. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-80BD9F8E-1E87-5E3B-8E62-1B42987C83A4">TPosVerifyCancelReason</xref> </p> </entry> <entry><p>Specifies the reason why a privacy request was cancelled. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Libraries </b> </p> <p>The Privacy Data Types are packaged in <filepath>eposprvtyp.dll</filepath>. A client (a Privacy Q&amp;N Notifier) links to <filepath>eposprvtyp.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>Use of the Privacy Data Types requires no capabilities. </p> <p id="GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816"><b>CPosRequestor</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname> CPosRequestor</apiname></xref> is the base class that represents the agent (known as the <i>requester</i>) that is making a privacy request. Requesters are classified as either <i>service</i> or <i>contact</i> and these are represented by the derived classes <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita"><apiname>CPosServiceRequestor</apiname></xref> and <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita"><apiname>CPosContactRequestor</apiname></xref>. </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname>CPosRequestor</apiname></xref> has the following attributes: </p> <ul><li id="GUID-6892A398-714C-5C65-A4C0-44104AD2363B"><p>The requester type </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-708907E4-30DC-3F5E-AB02-9B1D95CCCC6A"><apiname>CPosRequestor::TRequestorType</apiname></xref> specifies the type of requester: a service or contact. </p> </li> <li id="GUID-ABB60FFC-A19E-555D-8300-31BBDF38D209"><p>The ID descriptor </p> <p>A descriptor variable specifies the ID of the requester. </p> </li> <li id="GUID-C36962FB-CC2B-5527-B811-E4BE3DBF3376"><p>The ID format </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-973896EC-CB0F-3FA1-AE52-A8B625882E1E"><apiname>CPosRequestor::TRequestorIdFormat</apiname></xref> specifies the type of data that the ID string contains, such as a name, a contact number or an email address. </p> </li> <li id="GUID-20143CCB-43B9-5536-B1AC-4EF827E19FA4"><p>The network type </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-3D9E27B9-A352-33A3-A317-F09879232C79"><apiname>CPosRequestor::_TNetworkType</apiname></xref> specifies whether a request is received over a GSM network or SUPL. </p> </li> <li id="GUID-AF439C9A-7B3B-54D2-8BD5-A9E37A493379"><p>The request type </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-F26E3F8D-033B-3292-8777-A99E493CEF75"><apiname>CPosRequestor::_TRequestType</apiname></xref> specifies if a request is single shot, periodic or an area event. </p> <p>Note that this property is not currently used within the LBS subsystem, but is defined for future use. </p> </li> </ul> <p><b>Usage </b> </p> <p>To send a privacy request to a Privacy Q&amp;N Notifier the LBS subsystem instantiates one of the derived classes <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> (for a request from a service) or <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref> (for a request from a contact), setting the attributes listed above. </p> <p>Note that not all information about a privacy request that may be required by the notifier is passed to it in the <codeph>CPosRequestor</codeph> object. The enumerations <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref>, <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> and <xref href="GUID-5836362B-C341-311E-ABBE-D403DFA0DD62.dita"><apiname>TPosRequestDecision</apiname></xref> shown in figure 1 also describe request data. These are set directly by the LBS subsystem on the Privacy Q&amp;N notifier (derived from <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref>) when it is started. See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for more information. </p> <p>The LBS subsystem starts a Privacy Q&amp;N Notifier plug-in to display the privacy request information to the user. The notifier extracts request information by calling: </p> <ul><li id="GUID-91ECCED3-8F16-5AB9-AFB1-BDDFDB4A8684"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-1EAED876-8A9F-36F2-87A1-D26ADD7ADD45"><apiname>CPosRequestor::RequestorType()</apiname></xref> to get the type of requester: a service or contact </p> </li> <li id="GUID-E4170E9B-1B3F-5154-8538-7C0E60EB1DE9"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-62B84884-BC38-3A64-A766-152FBA8D940B"><apiname>CPosRequestor::RequestorIdString()</apiname></xref> to get the requester ID descriptor </p> </li> <li id="GUID-CE558FBC-DA5B-5977-994F-3C39D9915805"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-C5701A88-8E52-3790-89FC-B524A80B17CA"><apiname>CPosRequestor::RequestorIdFormat()</apiname></xref> to get the format of the requester ID contained in <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-62B84884-BC38-3A64-A766-152FBA8D940B"><apiname>CPosRequestor::RequestorIdString()</apiname></xref>  </p> </li> <li id="GUID-25F824A4-C929-58B3-8383-24F3CCC0591D"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-EBFDCEE7-ECCD-397E-AD87-47F36F5A3B71"><apiname>CPosRequestor::NetworkType()</apiname></xref> to get the network type </p> </li> <li id="GUID-FFA5A457-FBA6-5940-8EBC-CEB2F681D1D0"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-51B8E4EC-5F3A-3EB6-9CE5-343E2C5570DD"><apiname>CPosRequestor::RequestType()</apiname></xref> to get the type of request </p> </li> </ul> <p>Information about the reason the notification was sent, the request source and the request timeout strategy is obtained directly from the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> derived notifier by calling: </p> <ul><li id="GUID-117AF757-4367-5413-8DB9-32A4A7D93E95"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-22FFC3B2-A6B9-3501-AD89-1DB31027F53C"><apiname>CPosPrivacyNotifier::NotificationReason()</apiname></xref> to get the reason the notification request was sent </p> </li> <li id="GUID-57237383-1689-5CB9-9675-F6B24AE160D2"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4EFE3E2B-92A4-3DC2-A02B-4AEE260DD682"><apiname>CPosPrivacyNotifier::RequestSource()</apiname></xref> to get the source of the request </p> </li> <li id="GUID-57DE6AE7-AB5C-5AA0-9DBC-BC52C9B352FF"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-73244BA6-E796-383B-BA9F-507B25AA98EA"><apiname>CPosPrivacyNotifier::QueryTimeoutStrategy()</apiname></xref> to get the timeout strategy that was supplied as part of the privacy request. The strategy specifies whether a request should be accepted or rejected if the notifier times out. </p> </li> </ul> <p>See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for more information about <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref>. </p> <p id="GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99"><b>CPosServiceRequestor</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita"><apiname>CPosServiceRequestor</apiname></xref> is the derived class that represents a service privacy requester (such as a network service). </p> <p><b>Usage </b> </p> <p>The LBS subsystem creates an instance of this class to pass information about a privacy request received from a service to a Privacy Q&amp;N Notifier. </p> <p>The class adds the static constructors <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita#GUID-05250819-073D-3627-958A-4AB36939B58A/GUID-C92E9D95-6040-380F-95E3-1E459FDB128E"><apiname>CPosServiceRequestor::NewL()</apiname></xref> and <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita#GUID-05250819-073D-3627-958A-4AB36939B58A/GUID-C4CFD65D-6B3D-3B5F-BC9A-BF7846BDEDA5"><apiname>CPosServiceRequestor::NewLC()</apiname></xref> to the base class <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>. </p> <p id="GUID-6D8EC945-5331-516C-B319-2104D6BA4022"><b>CPosContactRequestor</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita"><apiname> CPosContactRequestor</apiname></xref> is the derived class that represents a contact privacy requester (such as a phone number or email address). </p> <p><b>Usage </b> </p> <p>The LBS subsystem creates an instance of this class to pass information about a privacy request received from a contact (such as a telephone number or email address) to a Privacy Q&amp;N Notifier. </p> <p>The class adds the static constructors <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita#GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46/GUID-15F3CEF6-B635-37B9-9ECE-2BAE24B5ED65"><apiname>CPosContactRequestor::NewL()</apiname></xref> and <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita#GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46/GUID-943C2E1C-F379-32A0-8D20-61EB800BE3F7"><apiname>CPosContactRequestor::NewLC()</apiname></xref> to the base class <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>. </p> <p id="GUID-B156EAC5-D877-584F-8634-690645DC0F5C"><b>RPosRequestorStack</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-1349F419-EDB4-303C-A3CA-AD9D061FC91C.dita"><apiname>RPosRequestorStack</apiname></xref> is an array of <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname>CPosRequestor</apiname></xref> objects. </p> <p><b>Usage </b> </p> <p>The LBS subsystem creates an <xref href="GUID-1349F419-EDB4-303C-A3CA-AD9D061FC91C.dita"><apiname>RPosRequestorStack</apiname></xref> instance populated with <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname>CPosRequestor</apiname></xref> derived objects when a privacy request is received. This stack object is passed to a Privacy Q&amp;N Notifier. See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for more information about the use of <xref href="GUID-1349F419-EDB4-303C-A3CA-AD9D061FC91C.dita"><apiname>RPosRequestorStack</apiname></xref>. </p> <p id="GUID-270E155F-8E20-551A-AF43-6B68363E039C"><b>TPosRequestSource</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> specifies the source of a privacy request. This enumeration defines two values for a network source and for an unknown source. </p> <p><b>Usage </b> </p> <p>Set by the LBS subsystem on a Privacy Q&amp;N notifier plug-in when it is started to specify the source of the request. <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4EFE3E2B-92A4-3DC2-A02B-4AEE260DD682"><apiname>CPosPrivacyNotifier::RequestSource()</apiname></xref> gets the value. </p> <p id="GUID-EE4A2044-AF18-57F8-A586-91A5D531DD45"><b>TPosRequestDecision</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-5836362B-C341-311E-ABBE-D403DFA0DD62.dita"><apiname>TPosRequestDecision</apiname></xref> specifies if a privacy request was accepted or rejected by a Privacy Q&amp;N notifier. </p> <p><b>Usage </b> </p> <ul><li id="GUID-C2201640-1DCF-50EC-92F5-32E717C061E6"><p>Set by the LBS subsystem to specify the privacy response that should be made if a Privacy Q&amp;N notifier times out. <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-73244BA6-E796-383B-BA9F-507B25AA98EA"><apiname>CPosPrivacyNotifier::QueryTimeoutStrategy()</apiname></xref> gets the value which can be to either accept or reject the request. </p> </li> <li id="GUID-636190B1-B4AF-5094-ABC3-90136F78C1E7"><p>Set by a Privacy Q&amp;N Notifier to specify the privacy response. <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-DDAC932E-1093-38AB-8CA6-3B2B06CC2BC0"><apiname>CPosPrivacyNotifier::LocationRequestDecision()</apiname></xref> gets the value set by the notifier. </p> </li> </ul> <p id="GUID-852EC187-332B-5B25-9A1B-94CA875C2B4C"><b>TPosNotificationReason</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref> specifies the reason why a notification message was received from the network: </p> <p>A notification can be received for the following reasons: </p> <ul><li id="GUID-9F352245-B298-594A-B251-3515758ABA03"><p>A privacy verification (sent previously) has timed out and the user needs to be notified of this fact. </p> </li> <li id="GUID-20752DE6-7C53-57D8-BDC0-68DC807CE1AB"><p>A location request was either accepted or rejected by the request source. </p> </li> <li id="GUID-C01869C1-5A79-59DC-BA0D-52F24C88D556"><p>For an unknown reason. </p> </li> </ul> <p><b>Usage </b> </p> <p>Set by the LBS subsystem on a Privacy Q&amp;N Notifier to specify why a privacy notification was received. The value is obtained from the notifier by calling <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-22FFC3B2-A6B9-3501-AD89-1DB31027F53C"><apiname>CPosPrivacyNotifier::NotificationReason()</apiname></xref>. </p> <p id="GUID-80BD9F8E-1E87-5E3B-8E62-1B42987C83A4"><b>TPosVerifyCancelReason</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-8E445582-5821-36B3-A8FB-EE706D7C40EF.dita"><apiname>TPosVerifyCancelReason</apiname></xref> specifies the reason why a privacy verification request was cancelled. </p> <p><b>Usage </b> </p> <p>Set by the LBS subsystem on a Privacy Q&amp;N Notifier to specify why a privacy verification request was cancelled. The value is obtained from the notifier by calling <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-54EB2437-9070-376D-8FCD-C1D4758113E6"><apiname>CPosPrivacyNotifier::CancelReason()</apiname></xref>. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-94984754-A724-57C4-9E18-33B951F917B6_d0e437580_href.png" placement="inline"/></fig> <p><b>List of Privacy Data Types classes and types </b> </p> <p>The following table lists the main classes and types of the Privacy Data Types. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Privacy Data Types have <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-3B68A9CD-3031-564B-A80B-2B5D93AEAEF9"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-B156EAC5-D877-584F-8634-690645DC0F5C">RPosRequestorStack</xref>  </p> </entry> <entry><p>An array of <codeph>CPosRequestor</codeph> objects. </p> </entry> <entry><p> <filepath>EPos_RPosRequestorStack.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>  </p> </entry> <entry><p>The base class that represents an agent (such as a contact or service) involved in a privacy request. Derived classes are <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> and <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref>. A privacy requester is identified by a string which represents a contact number, URL, email address etc. </p> </entry> <entry><p> <filepath>EPos_CPosRequestor.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> </p> </entry> <entry><p>The derived class that represents a service privacy requester (such as a network service). </p> </entry> <entry><p> <filepath>EPos_CPosServiceRequestor.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref> </p> </entry> <entry><p>The derived class that represents a contact privacy requester (such as a phone number or email address). </p> </entry> <entry><p> <filepath>EPos_CPosContactRequestor.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-270E155F-8E20-551A-AF43-6B68363E039C">TPosRequestSource</xref>  </p> </entry> <entry><p>Specifies the source of the privacy request. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-EE4A2044-AF18-57F8-A586-91A5D531DD45">TPosRequestDecision</xref>  </p> </entry> <entry><p>Specifies if a privacy request was accepted or rejected by a Privacy Q&amp;N notifier. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-852EC187-332B-5B25-9A1B-94CA875C2B4C">TPosNotificationReason</xref> </p> </entry> <entry><p>Specifies the reason why a privacy notification was sent into LBS. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> <row><entry><p><xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-80BD9F8E-1E87-5E3B-8E62-1B42987C83A4">TPosVerifyCancelReason</xref> </p> </entry> <entry><p>Specifies the reason why a privacy request was cancelled. </p> </entry> <entry><p> <filepath>EPos_Privacy.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Libraries </b> </p> <p>The Privacy Data Types are packaged in <filepath>eposprvtyp.dll</filepath>. A client (a Privacy Q&amp;N Notifier) links to <filepath>eposprvtyp.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>Use of the Privacy Data Types requires no capabilities. </p> <p id="GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816"><b>CPosRequestor</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname> CPosRequestor</apiname></xref> is the base class that represents the agent (known as the <i>requester</i>) that is making a privacy request. Requesters are classified as either <i>service</i> or <i>contact</i> and these are represented by the derived classes <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita"><apiname>CPosServiceRequestor</apiname></xref> and <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita"><apiname>CPosContactRequestor</apiname></xref>. </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname>CPosRequestor</apiname></xref> has the following attributes: </p> <ul><li id="GUID-6892A398-714C-5C65-A4C0-44104AD2363B"><p>The requester type </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-708907E4-30DC-3F5E-AB02-9B1D95CCCC6A"><apiname>CPosRequestor::TRequestorType</apiname></xref> specifies the type of requester: a service or contact. </p> </li> <li id="GUID-ABB60FFC-A19E-555D-8300-31BBDF38D209"><p>The ID descriptor </p> <p>A descriptor variable specifies the ID of the requester. </p> </li> <li id="GUID-C36962FB-CC2B-5527-B811-E4BE3DBF3376"><p>The ID format </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-973896EC-CB0F-3FA1-AE52-A8B625882E1E"><apiname>CPosRequestor::TRequestorIdFormat</apiname></xref> specifies the type of data that the ID string contains, such as a name, a contact number or an email address. </p> </li> <li id="GUID-20143CCB-43B9-5536-B1AC-4EF827E19FA4"><p>The network type </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-3D9E27B9-A352-33A3-A317-F09879232C79"><apiname>CPosRequestor::_TNetworkType</apiname></xref> specifies whether a request is received over a GSM network or SUPL. </p> </li> <li id="GUID-AF439C9A-7B3B-54D2-8BD5-A9E37A493379"><p>The request type </p> <p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-F26E3F8D-033B-3292-8777-A99E493CEF75"><apiname>CPosRequestor::_TRequestType</apiname></xref> specifies if a request is single shot, periodic or an area event. </p> <p>Note that this property is not currently used within the LBS subsystem, but is defined for future use. </p> </li> </ul> <p><b>Usage </b> </p> <p>To send a privacy request to a Privacy Q&amp;N Notifier the LBS subsystem instantiates one of the derived classes <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99">CPosServiceRequestor</xref> (for a request from a service) or <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-6D8EC945-5331-516C-B319-2104D6BA4022">CPosContactRequestor</xref> (for a request from a contact), setting the attributes listed above. </p> <p>Note that not all information about a privacy request that may be required by the notifier is passed to it in the <codeph>CPosRequestor</codeph> object. The enumerations <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref>, <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> and <xref href="GUID-5836362B-C341-311E-ABBE-D403DFA0DD62.dita"><apiname>TPosRequestDecision</apiname></xref> shown in figure 1 also describe request data. These are set directly by the LBS subsystem on the Privacy Q&amp;N notifier (derived from <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref>) when it is started. See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for more information. </p> <p>The LBS subsystem starts a Privacy Q&amp;N Notifier plug-in to display the privacy request information to the user. The notifier extracts request information by calling: </p> <ul><li id="GUID-91ECCED3-8F16-5AB9-AFB1-BDDFDB4A8684"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-1EAED876-8A9F-36F2-87A1-D26ADD7ADD45"><apiname>CPosRequestor::RequestorType()</apiname></xref> to get the type of requester: a service or contact </p> </li> <li id="GUID-E4170E9B-1B3F-5154-8538-7C0E60EB1DE9"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-62B84884-BC38-3A64-A766-152FBA8D940B"><apiname>CPosRequestor::RequestorIdString()</apiname></xref> to get the requester ID descriptor </p> </li> <li id="GUID-CE558FBC-DA5B-5977-994F-3C39D9915805"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-C5701A88-8E52-3790-89FC-B524A80B17CA"><apiname>CPosRequestor::RequestorIdFormat()</apiname></xref> to get the format of the requester ID contained in <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-62B84884-BC38-3A64-A766-152FBA8D940B"><apiname>CPosRequestor::RequestorIdString()</apiname></xref>  </p> </li> <li id="GUID-25F824A4-C929-58B3-8383-24F3CCC0591D"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-EBFDCEE7-ECCD-397E-AD87-47F36F5A3B71"><apiname>CPosRequestor::NetworkType()</apiname></xref> to get the network type </p> </li> <li id="GUID-FFA5A457-FBA6-5940-8EBC-CEB2F681D1D0"><p> <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita#GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3/GUID-51B8E4EC-5F3A-3EB6-9CE5-343E2C5570DD"><apiname>CPosRequestor::RequestType()</apiname></xref> to get the type of request </p> </li> </ul> <p>Information about the reason the notification was sent, the request source and the request timeout strategy is obtained directly from the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> derived notifier by calling: </p> <ul><li id="GUID-117AF757-4367-5413-8DB9-32A4A7D93E95"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-22FFC3B2-A6B9-3501-AD89-1DB31027F53C"><apiname>CPosPrivacyNotifier::NotificationReason()</apiname></xref> to get the reason the notification request was sent </p> </li> <li id="GUID-57237383-1689-5CB9-9675-F6B24AE160D2"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4EFE3E2B-92A4-3DC2-A02B-4AEE260DD682"><apiname>CPosPrivacyNotifier::RequestSource()</apiname></xref> to get the source of the request </p> </li> <li id="GUID-57DE6AE7-AB5C-5AA0-9DBC-BC52C9B352FF"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-73244BA6-E796-383B-BA9F-507B25AA98EA"><apiname>CPosPrivacyNotifier::QueryTimeoutStrategy()</apiname></xref> to get the timeout strategy that was supplied as part of the privacy request. The strategy specifies whether a request should be accepted or rejected if the notifier times out. </p> </li> </ul> <p>See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for more information about <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref>. </p> <p id="GUID-9AA0AD0E-A04C-5C71-980D-9F4E4B470F99"><b>CPosServiceRequestor</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita"><apiname>CPosServiceRequestor</apiname></xref> is the derived class that represents a service privacy requester (such as a network service). </p> <p><b>Usage </b> </p> <p>The LBS subsystem creates an instance of this class to pass information about a privacy request received from a service to a Privacy Q&amp;N Notifier. </p> <p>The class adds the static constructors <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita#GUID-05250819-073D-3627-958A-4AB36939B58A/GUID-C92E9D95-6040-380F-95E3-1E459FDB128E"><apiname>CPosServiceRequestor::NewL()</apiname></xref> and <xref href="GUID-05250819-073D-3627-958A-4AB36939B58A.dita#GUID-05250819-073D-3627-958A-4AB36939B58A/GUID-C4CFD65D-6B3D-3B5F-BC9A-BF7846BDEDA5"><apiname>CPosServiceRequestor::NewLC()</apiname></xref> to the base class <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>. </p> <p id="GUID-6D8EC945-5331-516C-B319-2104D6BA4022"><b>CPosContactRequestor</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita"><apiname> CPosContactRequestor</apiname></xref> is the derived class that represents a contact privacy requester (such as a phone number or email address). </p> <p><b>Usage </b> </p> <p>The LBS subsystem creates an instance of this class to pass information about a privacy request received from a contact (such as a telephone number or email address) to a Privacy Q&amp;N Notifier. </p> <p>The class adds the static constructors <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita#GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46/GUID-15F3CEF6-B635-37B9-9ECE-2BAE24B5ED65"><apiname>CPosContactRequestor::NewL()</apiname></xref> and <xref href="GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46.dita#GUID-5730E9C2-CD6A-3E04-8F5F-FB1F42D44C46/GUID-943C2E1C-F379-32A0-8D20-61EB800BE3F7"><apiname>CPosContactRequestor::NewLC()</apiname></xref> to the base class <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-1378C4C8-BBCE-5452-9D01-7AED7B867816">CPosRequestor</xref>. </p> <p id="GUID-B156EAC5-D877-584F-8634-690645DC0F5C"><b>RPosRequestorStack</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-1349F419-EDB4-303C-A3CA-AD9D061FC91C.dita"><apiname>RPosRequestorStack</apiname></xref> is an array of <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname>CPosRequestor</apiname></xref> objects. </p> <p><b>Usage </b> </p> <p>The LBS subsystem creates an <xref href="GUID-1349F419-EDB4-303C-A3CA-AD9D061FC91C.dita"><apiname>RPosRequestorStack</apiname></xref> instance populated with <xref href="GUID-4093F252-99F9-3B2B-AA8B-68C635EF64D3.dita"><apiname>CPosRequestor</apiname></xref> derived objects when a privacy request is received. This stack object is passed to a Privacy Q&amp;N Notifier. See <xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-700B8644-A19F-5E0C-A1A8-E00CB2829229">Privacy Q&amp;N Notifiers</xref> for more information about the use of <xref href="GUID-1349F419-EDB4-303C-A3CA-AD9D061FC91C.dita"><apiname>RPosRequestorStack</apiname></xref>. </p> <p id="GUID-270E155F-8E20-551A-AF43-6B68363E039C"><b>TPosRequestSource</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> specifies the source of a privacy request. This enumeration defines two values for a network source and for an unknown source. </p> <p><b>Usage </b> </p> <p>Set by the LBS subsystem on a Privacy Q&amp;N notifier plug-in when it is started to specify the source of the request. <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4EFE3E2B-92A4-3DC2-A02B-4AEE260DD682"><apiname>CPosPrivacyNotifier::RequestSource()</apiname></xref> gets the value. </p> <p id="GUID-EE4A2044-AF18-57F8-A586-91A5D531DD45"><b>TPosRequestDecision</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-5836362B-C341-311E-ABBE-D403DFA0DD62.dita"><apiname>TPosRequestDecision</apiname></xref> specifies if a privacy request was accepted or rejected by a Privacy Q&amp;N notifier. </p> <p><b>Usage </b> </p> <ul><li id="GUID-C2201640-1DCF-50EC-92F5-32E717C061E6"><p>Set by the LBS subsystem to specify the privacy response that should be made if a Privacy Q&amp;N notifier times out. <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-73244BA6-E796-383B-BA9F-507B25AA98EA"><apiname>CPosPrivacyNotifier::QueryTimeoutStrategy()</apiname></xref> gets the value which can be to either accept or reject the request. </p> </li> <li id="GUID-636190B1-B4AF-5094-ABC3-90136F78C1E7"><p>Set by a Privacy Q&amp;N Notifier to specify the privacy response. <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-DDAC932E-1093-38AB-8CA6-3B2B06CC2BC0"><apiname>CPosPrivacyNotifier::LocationRequestDecision()</apiname></xref> gets the value set by the notifier. </p> </li> </ul> <p id="GUID-852EC187-332B-5B25-9A1B-94CA875C2B4C"><b>TPosNotificationReason</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref> specifies the reason why a notification message was received from the network: </p> <p>A notification can be received for the following reasons: </p> <ul><li id="GUID-9F352245-B298-594A-B251-3515758ABA03"><p>A privacy verification (sent previously) has timed out and the user needs to be notified of this fact. </p> </li> <li id="GUID-20752DE6-7C53-57D8-BDC0-68DC807CE1AB"><p>A location request was either accepted or rejected by the request source. </p> </li> <li id="GUID-C01869C1-5A79-59DC-BA0D-52F24C88D556"><p>For an unknown reason. </p> </li> </ul> <p><b>Usage </b> </p> <p>Set by the LBS subsystem on a Privacy Q&amp;N Notifier to specify why a privacy notification was received. The value is obtained from the notifier by calling <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-22FFC3B2-A6B9-3501-AD89-1DB31027F53C"><apiname>CPosPrivacyNotifier::NotificationReason()</apiname></xref>. </p> <p id="GUID-80BD9F8E-1E87-5E3B-8E62-1B42987C83A4"><b>TPosVerifyCancelReason</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-8E445582-5821-36B3-A8FB-EE706D7C40EF.dita"><apiname>TPosVerifyCancelReason</apiname></xref> specifies the reason why a privacy verification request was cancelled. </p> <p><b>Usage </b> </p> <p>Set by the LBS subsystem on a Privacy Q&amp;N Notifier to specify why a privacy verification request was cancelled. The value is obtained from the notifier by calling <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-54EB2437-9070-376D-8FCD-C1D4758113E6"><apiname>CPosPrivacyNotifier::CancelReason()</apiname></xref>. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-31A6FA69-418D-5F8D-A0FB-6A99AA8CC4E1_d0e107105_href.png has changed
Binary file Symbian3/PDK/Source/GUID-31A6FA69-418D-5F8D-A0FB-6A99AA8CC4E1_d0e109548_href.png has changed
Binary file Symbian3/PDK/Source/GUID-31CE66F2-B36C-56ED-A399-BA9EFA179DED_d0e302614_href.png has changed
Binary file Symbian3/PDK/Source/GUID-31CE66F2-B36C-56ED-A399-BA9EFA179DED_d0e308606_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3239641A-2D13-56D7-B18D-6E65B6B24886_d0e489632_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3239641A-2D13-56D7-B18D-6E65B6B24886_d0e495453_href.png has changed
Binary file Symbian3/PDK/Source/GUID-323A76FE-3147-5E54-9282-B80D30246D8F_d0e449908_href.png has changed
Binary file Symbian3/PDK/Source/GUID-323A76FE-3147-5E54-9282-B80D30246D8F_d0e455753_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3248A2B1-54D0-56E3-B770-DC595B01EA04_d0e243585_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3248A2B1-54D0-56E3-B770-DC595B01EA04_d0e249596_href.png has changed
Binary file Symbian3/PDK/Source/GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e1505_href.png has changed
Binary file Symbian3/PDK/Source/GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e1509_href.png has changed
Binary file Symbian3/PDK/Source/GUID-32A0AE67-0AC4-534F-B978-6D82A205EA48_d0e594252_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-32A0AE67-0AC4-534F-B978-6D82A205EA48_d0e622146_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-32C1FC8B-F7D2-5275-BDF2-0D662551294C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-32C1FC8B-F7D2-5275-BDF2-0D662551294C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -114,7 +114,7 @@
 searching and sorting messages: </p> <fig id="GUID-B16C2CC4-4269-5F23-88C3-33E87F198D88">
 <title>              High level class diagram of new search-sort API     
       </title>
-<image href="GUID-0E91173A-BA80-5817-866A-7A284573EBCE_d0e483000_href.png" placement="inline"/>
+<image href="GUID-0E91173A-BA80-5817-866A-7A284573EBCE_d0e488829_href.png" placement="inline"/>
 </fig> <ul>
 <li id="GUID-9A2D5945-9D5F-5235-BA4F-500CFE5B2CF0"><p> <xref href="GUID-5D956759-5D21-3715-916E-F7E703172762.dita"><apiname>CMsvSearchSortOperation</apiname></xref>  </p> <p>The <xref href="GUID-5D956759-5D21-3715-916E-F7E703172762.dita"><apiname>CMsvSearchSortOperation</apiname></xref> class is used in the client application for enhanced search-sort operations
 on the message store. </p> <p>This class can be used for the following: </p> <ul>
Binary file Symbian3/PDK/Source/GUID-32C58139-E341-5A15-B20C-D3EA4117AC6E_d0e373296_href.png has changed
Binary file Symbian3/PDK/Source/GUID-32C58139-E341-5A15-B20C-D3EA4117AC6E_d0e379144_href.png has changed
Binary file Symbian3/PDK/Source/GUID-32D39AB1-D1B0-5F44-8226-0777B8010C7D_d0e137721_href.png has changed
Binary file Symbian3/PDK/Source/GUID-32D39AB1-D1B0-5F44-8226-0777B8010C7D_d0e139970_href.png has changed
--- a/Symbian3/PDK/Source/GUID-32E29020-1956-461A-B79A-1492E06049E7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-32E29020-1956-461A-B79A-1492E06049E7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,60 +11,24 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-32E29020-1956-461A-B79A-1492E06049E7" xml:lang="en"><title>Symbian Guide</title><shortdesc>The Symbian Guide describes the architecture and functionality
 of the platform, and provides guides on using its APIs.  </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><xref href="GUID-97CCEF05-8F3D-5802-A33A-ED349084D524.dita">Application Framework Guide</xref></p>
-<p><xref href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita">Application
-Installation Guide</xref></p>
-<p><xref href="GUID-34E7AAF2-EC62-5BF6-B9E7-C7D346BCDF93.dita">Cellular
-Baseband Services Guide</xref></p>
-<p><xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita">Classic
-UI Guide</xref></p>
-<p><xref href="GUID-620CD3E3-61C4-4643-8922-48DEA9EF0A6E.dita">Common Email
-Guide</xref></p>
-<p><xref href="GUID-8F2D6AC8-8357-55C7-970B-CD2684BA9B04.dita">Communications
-Framework Guide</xref></p>
-<p><xref href="GUID-F8C8CE42-E7C9-5AFC-86BC-B78F677F1B05.dita">Device Services
-Guide</xref></p>
-<p><xref href="GUID-5F38F219-B22D-42E6-973A-B4DBBC5984F8.dita">Digital
-rights management</xref></p>
-<p><xref href="GUID-58035B49-2EAE-5144-B226-28AF2EDD62E7.dita">Generic
-Application Support Guide</xref></p>
-<p><xref href="GUID-5072BE46-B1B4-5C3A-BF55-BEA7443E7657.dita">Generic
-OS Services Guide</xref></p>
-<p><xref href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita">Graphics
-Guide</xref></p>
-<p><xref href="GUID-C0D38954-2FC5-4E8B-BC11-229464DCF16C.dita">High Level
-Internet Protocols Guide</xref></p>
-<p><xref href="GUID-D280276A-6E4C-41B7-B6EA-700B33B04981.dita">IP Connection
-Management</xref></p>
-<p><xref href="GUID-C14B2552-43A7-4499-ABFE-1725128DA6EF.dita">Kernel and
-Hardware Services Guide</xref></p>
-<p><xref href="GUID-7F476137-5E7F-5288-9F4A-6C20F0A1AD9B.dita">Location
-Based Services (LBS) Guide</xref></p>
-<p><xref href="GUID-1A43A45B-80AE-56A0-A94C-64BA75519C67.dita">Messaging
-Application Guide</xref></p>
-<p><xref href="GUID-5DD1010C-1648-5086-BA80-BC25F3C7A2C4.dita">Messaging
-Middleware Guide</xref></p>
-<p><xref href="GUID-1DE5CDAD-8D71-5384-9E98-5665D5A4C792.dita">Multimedia
-Guide</xref></p>
-<p><xref href="GUID-6425B722-4095-56E3-9198-70BA3E06C617.dita">Multimedia
-Protocols Guide</xref></p>
-<p><xref href="GUID-B144EAB9-53AB-579B-9E12-B16518E4FC01.dita">Networking
-Services Guide</xref></p>
-<p><xref href="GUID-FBCBF8A0-7922-5881-A1C5-5DB41630E75A.dita">Persistent
-Data Services Guide</xref></p>
-<p><xref href="GUID-BE3B53A8-B06D-53C4-8FC0-85B3BA4F39EF.dita">PIM Application
-Engines and Services Guide</xref></p>
-<p><xref href="GUID-A0D4B6EC-8FA7-5FD9-AE5A-E811D876D585.dita">Remote Connectivity
-Guide</xref></p>
-<p><xref href="GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita">OS Security
-Guide</xref></p>
-<p><xref href="GUID-4CF8E6BC-3E2A-5773-A296-6321573B967E.dita">Security
-Services Guide</xref></p>
-<p><xref href="GUID-DD13AA8E-BDAD-57EC-81EC-49C8D6D30A86.dita">Short Link
-Services Guide</xref></p>
-<p><xref href="GUID-1DCA2F4D-ABE6-52A0-AC4E-5AAC1AB5909D.dita">Text and
-Localization Guide</xref></p>
-<p><xref href="GUID-F9F53050-AAFA-4685-8C62-033E585F061B.dita">Web Guide</xref></p>
-<p><xref href="GUID-82AF5F49-EE25-54C7-AEE9-D1F41BD5190F.dita">XML Services
-Guide</xref></p>
+
+
+<section id="GUID-90EC784B-1982-4D7D-908E-841C172E41AC"><p><xref href="GUID-97CCEF05-8F3D-5802-A33A-ED349084D524.dita">Application Framework
+Guide</xref></p><p><xref href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita">Application Installation Guide</xref></p><p><xref href="GUID-34E7AAF2-EC62-5BF6-B9E7-C7D346BCDF93.dita">Cellular Baseband
+Services Guide</xref></p><p><xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita">Classic UI Guide</xref></p><p><xref href="GUID-620CD3E3-61C4-4643-8922-48DEA9EF0A6E.dita">Common
+Email Guide</xref></p><p><xref href="GUID-8F2D6AC8-8357-55C7-970B-CD2684BA9B04.dita">Communications Framework
+Guide</xref></p><p><xref href="GUID-0522B178-0FD5-4416-B7FE-390749F7A13D.dita">Contacts Guide</xref></p><p><xref href="GUID-F8C8CE42-E7C9-5AFC-86BC-B78F677F1B05.dita">Device Services Guide</xref></p><p><xref href="GUID-5F38F219-B22D-42E6-973A-B4DBBC5984F8.dita">Digital
+rights management</xref></p><p><xref href="GUID-58035B49-2EAE-5144-B226-28AF2EDD62E7.dita">Generic Application
+Support Guide</xref></p><p><xref href="GUID-5072BE46-B1B4-5C3A-BF55-BEA7443E7657.dita">Generic OS Services
+Guide</xref></p><p><xref href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita">Graphics Guide</xref></p><p><xref href="GUID-C0D38954-2FC5-4E8B-BC11-229464DCF16C.dita">High Level Internet
+Protocols Guide</xref></p><p><xref href="GUID-D280276A-6E4C-41B7-B6EA-700B33B04981.dita">IP Connection Management</xref></p><p><xref href="GUID-C14B2552-43A7-4499-ABFE-1725128DA6EF.dita">Kernel
+and Hardware Services Guide</xref></p><p><xref href="GUID-7F476137-5E7F-5288-9F4A-6C20F0A1AD9B.dita">Location Based Services
+(LBS) Guide</xref></p><p><xref href="GUID-1A43A45B-80AE-56A0-A94C-64BA75519C67.dita">Messaging Application
+Guide</xref></p><p><xref href="GUID-5DD1010C-1648-5086-BA80-BC25F3C7A2C4.dita">Messaging Middleware Guide</xref></p><p><xref href="GUID-1DE5CDAD-8D71-5384-9E98-5665D5A4C792.dita">Multimedia Guide</xref></p><p><xref href="GUID-6425B722-4095-56E3-9198-70BA3E06C617.dita">Multimedia
+Protocols Guide</xref></p><p><xref href="GUID-B144EAB9-53AB-579B-9E12-B16518E4FC01.dita">Networking Services
+Guide</xref></p><p><xref href="GUID-F22B8035-CD08-4181-B03A-759E92CA967B.dita">Organizer Guide</xref></p><p><xref href="GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita">OS Security Guide</xref></p><p><xref href="GUID-FBCBF8A0-7922-5881-A1C5-5DB41630E75A.dita">Persistent
+Data Services Guide</xref></p><p><xref href="GUID-A0D4B6EC-8FA7-5FD9-AE5A-E811D876D585.dita">Remote Connectivity
+Guide</xref></p><p><xref href="GUID-4CF8E6BC-3E2A-5773-A296-6321573B967E.dita">Security Services Guide</xref></p><p><xref href="GUID-DD13AA8E-BDAD-57EC-81EC-49C8D6D30A86.dita">Short Link Services
+Guide</xref></p><p><xref href="GUID-1DCA2F4D-ABE6-52A0-AC4E-5AAC1AB5909D.dita">Text and Localization Guide</xref></p><p><xref href="GUID-F9F53050-AAFA-4685-8C62-033E585F061B.dita">Web Guide</xref></p><p><xref href="GUID-82AF5F49-EE25-54C7-AEE9-D1F41BD5190F.dita">XML Services
+Guide</xref></p></section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-32F00078-6084-5288-9D3F-9F8D70514799.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-32F00078-6084-5288-9D3F-9F8D70514799" xml:lang="en"><title>RESOURCE
-statement</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;resource-statement&gt;
-resource-statement ::= 
-RESOURCE &lt;struct-name&gt; [ &lt;resource-name&gt; ] { &lt;resource-initialiser-list&gt; } </codeblock>
-<p>The <codeph>RESOURCE</codeph> statement is used to generate a resource
-in the resource file. The statement specifies three things:</p>
-<ul>
-<li id="GUID-F51FD208-5879-57EF-9E16-914A1F4F1FE7"><p>a <varname>struct-name</varname> which
-denotes the structure that will be used for the resource</p> <p>It must have
-been defined in a previous <codeph>STRUCT</codeph> statement and must be in
-upper case.</p> </li>
-<li id="GUID-1EE96D74-26D0-5BC3-8EDC-19CD924515D0"><p>an optional <varname>resource-name</varname> which
-identifies the resource</p> <p>The <codeph>resource-name</codeph> must be
-in lower case.</p> <p>The <codeph>resource-name</codeph> causes a symbolic
-constant to be generated in the resource compiler’s output header file, so
-that a resource</p> <codeblock id="GUID-505C63EA-20A4-5019-BA34-FEAED516E037" xml:space="preserve">RESOURCE TEST my_test { /* etc */ }</codeblock> <p>will
-result in a definition of the form</p> <codeblock id="GUID-4FBB0DF1-09D6-54CA-AAD4-F29BFCC27A42" xml:space="preserve">#define MY_TEST 1</codeblock> <p>in
-the generated header file.</p> <p>The default ID for the first resource defined
-in the file is one with subsequent resources’ IDs generated in ascending sequence.
-See <xref href="GUID-F9605837-2209-500D-AB62-48A433489C5E.dita">Resource file definition</xref> for
-more information on how resource IDs are generated.</p> <p>If no resource
-name is specified then the resource is generated in the object file and assigned
-a resource ID as usual, but will not be published in the header file. Anonymous
-resources are used mainly for playback scripts where the resources are read
-in sequentially by default, so that assigning names to them would be superfluous.</p> <p>The <codeph>resource-name</codeph> may
-also be used by the resource compiler for <codeph>LINK</codeph> and <codeph>LLINK</codeph> members
-— see <xref href="GUID-FFD56DA3-9301-5679-9209-A70CE63A34A2.dita">Resource identifiers
-for LINKs and LLINKs</xref>.</p> </li>
-<li id="GUID-4F0ED7DA-1A16-53FE-A1E0-98298A9B2BB0"><p>initialisation for members
-of the resource struct, where their default values are not appropriate</p> </li>
-</ul>
-<example><p>As an example, given the struct definition</p><codeblock id="GUID-D2FBD433-0A85-5C0C-9CD2-CFC08F20E14E" xml:space="preserve">STRUCT NCEDIT
- {
- WORD current;
- WORD low;
- WORD high=65535;
- }</codeblock><p>you could define a resource:</p><codeblock id="GUID-4B005C45-B0EF-542D-BD63-0D2E02186FFA" xml:space="preserve">RESOURCE NCEDIT memory_size
- {
- low=640;
- high=1024;
- }</codeblock><p>Thus, in the resource file, <codeph>current</codeph> has
-the value compiler default value of 0, <codeph>low</codeph> has the value
-640 (specified in the resource definition) and <codeph>high</codeph> has the
-value 1024 (specified in the resource definition, overriding the default for
-the struct type).</p></example>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-33108CC9-3FF7-4076-A512-FB6F2F0BCC0D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-33108CC9-3FF7-4076-A512-FB6F2F0BCC0D" xml:lang="en"><title>Retrieving application information using filters</title><shortdesc>This tutorial describes how application information can
+be retrieved from the SCR using filters.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<prereq id="GUID-ED7444CA-D1AF-4617-91E6-ABEBFEBD6259"><p>The Client
+applications must link against <filepath>scrclient.dll</filepath>. </p></prereq>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-6-1-4-1-5-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-5-1-1-6-1-6-1-4-1-5-1-3-2-1"><cmd>Connect
+to the SCR server.</cmd>
+<info><codeblock xml:space="preserve">#include &lt;usif/scr/scr.h&gt;
+Usif::RSoftwareComponentRegistry scrSession;
+scrSession.Connect();
+</codeblock></info>
+</step>
+<step id="GUID-52B25417-323F-46D8-B572-A65C4B1F8DBA-GENID-1-12-1-5-1-1-6-1-6-1-4-1-5-1-3-2-2"><cmd>Create an
+object of <codeph>RApplicationInfoView</codeph>.</cmd>
+<info><codeblock xml:space="preserve">RApplicationInfoView subSession;</codeblock></info>
+</step>
+<step id="GUID-5EECC6C2-C7EF-48DF-ABB0-2D0F237B00C8"><cmd>Create a
+filter object of <codeph>CAppInfoFilter</codeph>.</cmd>
+<info><codeblock xml:space="preserve">CAppInfoFilter* infoFilter;
+infoFilter = CAppInfoFilter::NewL();
+</codeblock></info>
+</step>
+<step id="GUID-4E3FED58-9FB4-474D-BFD9-30267D4054B8"><cmd>Set the
+filter object properties.</cmd>
+<info><codeblock xml:space="preserve">// embeddability filter (the extent to which the application can be embedded) 
+// and screen mode (size of the screen)
+// The filter used below is used to list applications filtered by whether they are 
+// embeddable and  have a screen mode value of zero
+Usif::TEmbeddableFilter embedibilityFilter;
+embedibilityFilter.AddEmbeddability(EEmbeddable)
+infoFilter-&gt;SetEmbeddabilityFilterWithScreenMode(embedibilityFilter,0);
+</codeblock></info>
+</step>
+<step id="GUID-90F67FCC-E2E4-4BFD-927F-AF59651B8A2D-GENID-1-12-1-5-1-1-6-1-6-1-4-1-5-1-3-2-5"><cmd>Open a <xref href="GUID-5DD9E56F-CDBC-3BBC-B949-8FE10F29152B.dita"><apiname>RApplicationInfoView</apiname></xref>  subsession with the filter.</cmd>
+<info><codeblock xml:space="preserve">subSession.OpenViewL(scrSession,infoFilter);
+</codeblock></info>
+</step>
+<step id="GUID-0D7AF719-87D6-4191-96AE-23193C58C236-GENID-1-12-1-5-1-1-6-1-6-1-4-1-5-1-3-2-6"><cmd>Retrieve
+the information using <xref href="GUID-5DD9E56F-CDBC-3BBC-B949-8FE10F29152B.dita#GUID-5DD9E56F-CDBC-3BBC-B949-8FE10F29152B/GUID-8B1BB35A-91A3-3E74-82F8-B3A56542551D"><apiname>RApplicationInfoView::GetNextAppInfoL()</apiname></xref>.</cmd>
+<info><codeblock xml:space="preserve">// GetNextAppInfoL() takes two parameters. The number of  entries to be fetched 
+// in a single call and an output parameter of type <codeph>RPointerArray</codeph>
+// for returning the array.
+TInt noOfEntries = 5;
+RPointerArray&lt;TAppRegInfo&gt; infoSet;
+do {
+   .....
+   .....
+   infoSet.ResetAndDestroy();
+   subSession.GetNextAppInfoL(noOfEntries, infoSet);
+   }while(0 != infoSet.Count());
+</codeblock></info>
+</step>
+</steps>
+</taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,8 +39,7 @@
 security capabilities. </p> </section>
 <section id="GUID-EB4F71F2-D55D-43C5-B55F-F211D170056F"><title>Related
 APIs</title><p><xref href="GUID-D034B02C-3B45-3DCC-A7DA-E51227032A87.dita"><apiname>mkdir(const char *,mode_t)</apiname></xref></p><p><xref href="GUID-935A007C-D95C-3EEB-B796-603AF3612A97.dita"><apiname>fopen(const char *, const char *)</apiname></xref></p></section>
-<section id="GUID-81AA0C7F-5D43-4EFB-9DD0-4A8A79922576"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this example application. </p> <p>The example builds an executable called <filepath>fileaccessexample.exe</filepath> in the standard locations. </p> <p>To run the example, start <filepath>fileaccessexample.exe</filepath> from the file system or from your
+<section id="GUID-81AA0C7F-5D43-4EFB-9DD0-4A8A79922576"><title>Build</title> <p>The example builds an executable called <filepath>fileaccessexample.exe</filepath> in the standard locations. </p> <p>To run the example, start <filepath>fileaccessexample.exe</filepath> from the file system or from your
 IDE. After launching the executable, depending on the emulator you
 are using, you may need to navigate away from the application launcher
 or shell screen to view the console. </p> </section>
Binary file Symbian3/PDK/Source/GUID-331655D7-2D5F-55F9-99A4-5FFA40877C26_d0e229785_href.png has changed
Binary file Symbian3/PDK/Source/GUID-331655D7-2D5F-55F9-99A4-5FFA40877C26_d0e235780_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3319E01A-F500-5F5C-9798-351C6F3EC583.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3319E01A-F500-5F5C-9798-351C6F3EC583.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 Module are stored: </p> <ul>
 <li id="GUID-E71A7995-B0EA-523A-BEF3-D677086C18B8"><p>The GPS/A-GPS PSY registers
 itself as a PSY with the LBS subsystem using a Central Repository initialisation
-file with keys defined by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning
+file with keys defined by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning
 Plug-in Information API</xref>. The GPS PSY and the A-GPS PSY have separate
 initialisation files. </p> </li>
 <li id="GUID-ADDBC706-ACE3-544F-9CD4-EC5F4DD95445"><p>The A-GPS Location Manager
@@ -88,7 +88,7 @@
 0xf string "\\resource\\lbsagpspsy_name.rsc" 0 cap_rd=alwayspass cap_wr=alwaysfail
 0x10000000 int 2000000 0 cap_rd=alwayspass cap_wr=alwaysfail
 </codeblock> </stepxmp>
-<info>For a full description of the meanings of these keys, see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning
+<info>For a full description of the meanings of these keys, see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning
 Plug-in Information API</xref>. </info>
 <info>The important keys for this task are as shown in the following table: </info>
 <stepxmp><table id="GUID-A227F71E-9B87-54D7-ABDF-4C29D1CF6F37">
Binary file Symbian3/PDK/Source/GUID-331DB770-D699-58CB-9BA6-1AE6F08D7050_d0e449317_href.png has changed
Binary file Symbian3/PDK/Source/GUID-331DB770-D699-58CB-9BA6-1AE6F08D7050_d0e455162_href.png has changed
--- a/Symbian3/PDK/Source/GUID-33241691-7362-5FA1-A3B0-C3FA550E5E09.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-33241691-7362-5FA1-A3B0-C3FA550E5E09.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -68,7 +68,7 @@
 and embedded applications to handle their data storage through stores. </p> <p>Stores
 are also the basis of the relational database provided by <xref href="GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita">DBMS</xref>. </p> <fig id="GUID-39DD7576-D335-5CD2-92A6-E0B81EF2160A">
 <title>Store inheritance diagram</title>
-<image href="GUID-09A58B23-68EA-58D7-BBC9-E7F4C4BF55D7_d0e580777_href.png" placement="inline"/>
+<image href="GUID-09A58B23-68EA-58D7-BBC9-E7F4C4BF55D7_d0e630065_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-CBBE7C0F-6999-4FCE-9793-C71B61130C75"><title>APIs</title> <table id="GUID-6D27BADC-7CA7-5E39-8308-29CAA1858CAB">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
--- a/Symbian3/PDK/Source/GUID-33716081-180C-5DDB-A5D2-0EC61357250D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-33716081-180C-5DDB-A5D2-0EC61357250D" xml:lang="en"><title>How
-to use the post-linker (elf2e32)</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The post-linker is a Symbian-specific build tool. Its principal function
-is to create executables (DLLs and EXEs) in the particular format required
-by Symbian platform, known as the <i>E32Image</i> format. Commercial compiler
-and linkers, such as ARM's RVCT and GNU GCC, cannot directly generate that
-format. Such compilers do however support a standard output format called
-the Executable and Linking Format (ELF) (defined at <xref href="http://www.caldera.com/developers/gabi/" scope="external">http://www.caldera.com/developers/gabi/</xref>). A tool is
-therefore needed to convert from the ELF format into the E32Image format,
-and this is the key role of the post-linker. The tool also contains the functionality
-to maintain and create the DEF files used for freezing the exports of libraries. </p>
-<p>In ordinary use, the post-linker is not used directly by users. It is called
-from the makefiles generated by <filepath>abld</filepath> on the command line,
-or from the build commands of an IDE. </p>
-<p>The tool can also be used to <xref href="GUID-6A5D3E05-B1F4-4DF6-9384-3CC471DCC267.dita">output
-a description</xref> of an existing E32Image file for analysis. </p>
-<p>This section contains the following topics:</p>
-<ul>
-<li><xref href="GUID-17C80FD1-0D2D-4A65-B199-FE2405AA7B77.dita">Post Linker Overview</xref></li>
-<li><xref href="GUID-9605B59D-F9DB-4BA3-8C87-1C5205976CBB.dita">How to create executables</xref></li>
-<li><xref href="GUID-5EF18ADF-018B-47BA-B60C-269EF2C9FF48.dita">How to create a
-DSO library file from a DEF file</xref></li>
-<li><xref href="GUID-6A5D3E05-B1F4-4DF6-9384-3CC471DCC267.dita">How to dump an
-E32Image file</xref></li>
-</ul>
-</conbody><related-links>
-<link href="GUID-CAC07A47-1475-5152-83AA-E59FD3AFF321.dita"><linktext>elf2e32 command
-syntax</linktext></link>
-<link href="GUID-75AFF4B9-1F95-585E-9354-EAA6271251FA.dita"><linktext>Troubleshooting
-post-linker (elf2e32) errors</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e106720_href.png has changed
Binary file Symbian3/PDK/Source/GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e109163_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e100308_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e101270_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e64164_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e68387_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e79254_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e79656_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e83452_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e83854_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e96189_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e97191_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1" xml:lang="en"><title>Password
+Based Encryption (PBE) example code</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example covers: </p>
+<ul>
+<li id="GUID-79A33AFC-B814-586D-93BC-D152C08DC7FD-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-2-1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1.dita#GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1/GUID-29272282-2325-55CD-B583-E9E50D344C14-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-5">Encrypting some data with a password and writing it to a file</xref>  </p> </li>
+<li id="GUID-72DFC0FF-5E9E-581E-9589-544E349413D1-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-2-2"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1.dita#GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1/GUID-432A4D99-0AD1-5E1E-8E09-ED47FFC0C353-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-6">Reading the data back from the file and decrypting it with the same password.</xref>  </p> </li>
+</ul>
+<p> <i>This example code is for reference only - it would be better to use:</i>  </p>
+<ul>
+<li id="GUID-450F0BEB-EA72-5A93-8722-CB10DF2DD0FC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-4-1"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">Secure
+stream example code</xref>  </p> </li>
+<li id="GUID-95E469DF-F6D4-5F1A-9A6F-A3759DC51308-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-4-2"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita">Secure
+store example code</xref>  </p> </li>
+</ul>
+<section id="GUID-29272282-2325-55CD-B583-E9E50D344C14-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-5"><title>Encrypting
+data with a password and writing it to a file</title> <ul>
+<li id="GUID-92C03164-30E8-5B3E-91FA-667D344DC8A6-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-5-2-1"><p> <xref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita">Supporting
+code for this example</xref>  </p> </li>
+</ul> <codeblock id="GUID-A2587573-A051-57DF-BC36-76585CB14F99-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-5-3" xml:space="preserve">
+void CPBEExample::WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the output file
+         RFileWriteStream writeStream;
+         User::LeaveIfError(writeStream.Replace(iFs, aFilename, EFileShareExclusive | EFileWrite));
+         CleanupClosePushL(writeStream);
+
+         // Create a CPBEncryptElement object, passing details of the encryption we
+         // are using and the user's password
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(aPassword, ECipherDES_CBC);
+
+         // This is used to create a CPBEncryptor object
+         CPBEncryptor* encryptor = encryption-&gt;NewEncryptLC();
+
+         // Create a buffer of appropriate size to hold the ciphertext
+         HBufC8* ciphertextTemp = HBufC8::NewLC(encryptor-&gt;MaxFinalOutputLength(aInput.Length()));
+         TPtr8 ciphertext = ciphertextTemp-&gt;Des();         
+
+         // Encrypt the input data into the ciphertext buffer
+         encryptor-&gt;ProcessFinalL(aInput, ciphertext);
+
+         // Store encryption data.  This contains details of the encryption used (e.g.,
+         // cipher, key size) as well as things like the salt.  This must be stored
+         // along with the encrypted data, otherwise it is not possible to decrypt it
+         // again!
+         writeStream &lt;&lt; encryption-&gt;EncryptionData();
+
+         // Store the ciphertext
+         writeStream &lt;&lt; ciphertext;
+
+         // Commit the stream
+         writeStream.CommitL();
+
+         // Free memory (writeStream, encryption, encryptor, ciphertextTemp)
+         CleanupStack::PopAndDestroy(4, &amp;writeStream);
+         }
+            </codeblock> </section>
+<section id="GUID-432A4D99-0AD1-5E1E-8E09-ED47FFC0C353-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-6"><title>Reading data
+from a file and decrypting it</title> <ul>
+<li id="GUID-70128A46-1AAB-59E8-9F03-68885091D54B-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-6-2-1"><p> <xref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita">Supporting
+code for this example</xref>  </p> </li>
+</ul> <codeblock id="GUID-110E47B5-D63D-5041-ADC9-5A8DA1305712-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-3-1-2-6-3" xml:space="preserve">
+HBufC8* CPBEExample::ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the input file
+         RFileReadStream readStream;
+         User::LeaveIfError(readStream.Open(iFs, aFilename, EFileRead));
+         CleanupClosePushL(readStream);
+
+         // Read the encryption data from the file
+         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
+         
+         // Recreate the CPBEncryptElement object, using the encryption data from the
+         // file and the user's password.  This will leave with KErrBadPassphrase if
+         // the password is wrong.
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(*encryptionData, aPassword);
+
+         // This is used to create a CPBDecryptor object
+         CPBDecryptor* decryptor = encryption-&gt;NewDecryptLC();
+         
+         // Read the ciphertext
+         HBufC8* ciphertext = HBufC8::NewLC(readStream, KMaxTInt);
+
+         // Allocate a buffer for the plaintext (this will be returned to the caller)
+         HBufC8* plaintextBuf = HBufC8::NewLC(decryptor-&gt;MaxFinalOutputLength(ciphertext-&gt;Length()));
+         TPtr8 plaintext = plaintextBuf-&gt;Des();
+
+         // Decrypt the data
+         decryptor-&gt;ProcessFinalL(*ciphertext, plaintext);
+
+         // Free memory (readStream, encryptionData, encryption, decryptor, ciphertext, plaintext)
+         CleanupStack::Pop(plaintextBuf); // don't free this
+         CleanupStack::PopAndDestroy(5, &amp;readStream);
+         CleanupStack::PushL(plaintextBuf);
+
+         // Return plaintext to the caller
+         return plaintextBuf;
+         }
+        </codeblock> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1" xml:lang="en"><title>Password
+Based Encryption (PBE) example code</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example covers: </p>
+<ul>
+<li id="GUID-79A33AFC-B814-586D-93BC-D152C08DC7FD-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-2-1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita#GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1/GUID-29272282-2325-55CD-B583-E9E50D344C14-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-5">Encrypting some data with a password and writing it to a file</xref>  </p> </li>
+<li id="GUID-72DFC0FF-5E9E-581E-9589-544E349413D1-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-2-2"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita#GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1/GUID-432A4D99-0AD1-5E1E-8E09-ED47FFC0C353-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-6">Reading the data back from the file and decrypting it with the same password.</xref>  </p> </li>
+</ul>
+<p> <i>This example code is for reference only - it would be better to use:</i>  </p>
+<ul>
+<li id="GUID-450F0BEB-EA72-5A93-8722-CB10DF2DD0FC-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-4-1"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">Secure
+stream example code</xref>  </p> </li>
+<li id="GUID-95E469DF-F6D4-5F1A-9A6F-A3759DC51308-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-4-2"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita">Secure
+store example code</xref>  </p> </li>
+</ul>
+<section id="GUID-29272282-2325-55CD-B583-E9E50D344C14-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-5"><title>Encrypting
+data with a password and writing it to a file</title> <ul>
+<li id="GUID-92C03164-30E8-5B3E-91FA-667D344DC8A6-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-5-2-1"><p> <xref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita">Supporting
+code for this example</xref>  </p> </li>
+</ul> <codeblock id="GUID-A2587573-A051-57DF-BC36-76585CB14F99-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-5-3" xml:space="preserve">
+void CPBEExample::WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the output file
+         RFileWriteStream writeStream;
+         User::LeaveIfError(writeStream.Replace(iFs, aFilename, EFileShareExclusive | EFileWrite));
+         CleanupClosePushL(writeStream);
+
+         // Create a CPBEncryptElement object, passing details of the encryption we
+         // are using and the user's password
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(aPassword, ECipherDES_CBC);
+
+         // This is used to create a CPBEncryptor object
+         CPBEncryptor* encryptor = encryption-&gt;NewEncryptLC();
+
+         // Create a buffer of appropriate size to hold the ciphertext
+         HBufC8* ciphertextTemp = HBufC8::NewLC(encryptor-&gt;MaxFinalOutputLength(aInput.Length()));
+         TPtr8 ciphertext = ciphertextTemp-&gt;Des();         
+
+         // Encrypt the input data into the ciphertext buffer
+         encryptor-&gt;ProcessFinalL(aInput, ciphertext);
+
+         // Store encryption data.  This contains details of the encryption used (e.g.,
+         // cipher, key size) as well as things like the salt.  This must be stored
+         // along with the encrypted data, otherwise it is not possible to decrypt it
+         // again!
+         writeStream &lt;&lt; encryption-&gt;EncryptionData();
+
+         // Store the ciphertext
+         writeStream &lt;&lt; ciphertext;
+
+         // Commit the stream
+         writeStream.CommitL();
+
+         // Free memory (writeStream, encryption, encryptor, ciphertextTemp)
+         CleanupStack::PopAndDestroy(4, &amp;writeStream);
+         }
+            </codeblock> </section>
+<section id="GUID-432A4D99-0AD1-5E1E-8E09-ED47FFC0C353-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-6"><title>Reading data
+from a file and decrypting it</title> <ul>
+<li id="GUID-70128A46-1AAB-59E8-9F03-68885091D54B-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-6-2-1"><p> <xref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita">Supporting
+code for this example</xref>  </p> </li>
+</ul> <codeblock id="GUID-110E47B5-D63D-5041-ADC9-5A8DA1305712-GENID-1-12-1-26-1-1-9-1-12-1-3-1-2-6-3" xml:space="preserve">
+HBufC8* CPBEExample::ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the input file
+         RFileReadStream readStream;
+         User::LeaveIfError(readStream.Open(iFs, aFilename, EFileRead));
+         CleanupClosePushL(readStream);
+
+         // Read the encryption data from the file
+         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
+         
+         // Recreate the CPBEncryptElement object, using the encryption data from the
+         // file and the user's password.  This will leave with KErrBadPassphrase if
+         // the password is wrong.
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(*encryptionData, aPassword);
+
+         // This is used to create a CPBDecryptor object
+         CPBDecryptor* decryptor = encryption-&gt;NewDecryptLC();
+         
+         // Read the ciphertext
+         HBufC8* ciphertext = HBufC8::NewLC(readStream, KMaxTInt);
+
+         // Allocate a buffer for the plaintext (this will be returned to the caller)
+         HBufC8* plaintextBuf = HBufC8::NewLC(decryptor-&gt;MaxFinalOutputLength(ciphertext-&gt;Length()));
+         TPtr8 plaintext = plaintextBuf-&gt;Des();
+
+         // Decrypt the data
+         decryptor-&gt;ProcessFinalL(*ciphertext, plaintext);
+
+         // Free memory (readStream, encryptionData, encryption, decryptor, ciphertext, plaintext)
+         CleanupStack::Pop(plaintextBuf); // don't free this
+         CleanupStack::PopAndDestroy(5, &amp;readStream);
+         CleanupStack::PushL(plaintextBuf);
+
+         // Return plaintext to the caller
+         return plaintextBuf;
+         }
+        </codeblock> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3385079E-84F4-534F-B937-BD3A568D71BC" xml:lang="en"><title>Password
-Based Encryption (PBE) example code</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This example covers: </p>
-<ul>
-<li id="GUID-79A33AFC-B814-586D-93BC-D152C08DC7FD"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita#GUID-3385079E-84F4-534F-B937-BD3A568D71BC/GUID-29272282-2325-55CD-B583-E9E50D344C14">Encrypting some data with a password and writing it to a file</xref>  </p> </li>
-<li id="GUID-72DFC0FF-5E9E-581E-9589-544E349413D1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita#GUID-3385079E-84F4-534F-B937-BD3A568D71BC/GUID-432A4D99-0AD1-5E1E-8E09-ED47FFC0C353">Reading the data back from the file and decrypting it with the same password.</xref>  </p> </li>
-</ul>
-<p> <i>This example code is for reference only - it would be better to use:</i>  </p>
-<ul>
-<li id="GUID-450F0BEB-EA72-5A93-8722-CB10DF2DD0FC"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita">Secure
-stream example code</xref>  </p> </li>
-<li id="GUID-95E469DF-F6D4-5F1A-9A6F-A3759DC51308"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita">Secure
-store example code</xref>  </p> </li>
-</ul>
-<section id="GUID-29272282-2325-55CD-B583-E9E50D344C14"><title>Encrypting
-data with a password and writing it to a file</title> <ul>
-<li id="GUID-92C03164-30E8-5B3E-91FA-667D344DC8A6"><p> <xref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C.dita">Supporting
-code for this example</xref>  </p> </li>
-</ul> <codeblock id="GUID-A2587573-A051-57DF-BC36-76585CB14F99" xml:space="preserve">
-void CPBEExample::WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword)
-         {
-         // Open a stream to the output file
-         RFileWriteStream writeStream;
-         User::LeaveIfError(writeStream.Replace(iFs, aFilename, EFileShareExclusive | EFileWrite));
-         CleanupClosePushL(writeStream);
-
-         // Create a CPBEncryptElement object, passing details of the encryption we
-         // are using and the user's password
-         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(aPassword, ECipherDES_CBC);
-
-         // This is used to create a CPBEncryptor object
-         CPBEncryptor* encryptor = encryption-&gt;NewEncryptLC();
-
-         // Create a buffer of appropriate size to hold the ciphertext
-         HBufC8* ciphertextTemp = HBufC8::NewLC(encryptor-&gt;MaxFinalOutputLength(aInput.Length()));
-         TPtr8 ciphertext = ciphertextTemp-&gt;Des();         
-
-         // Encrypt the input data into the ciphertext buffer
-         encryptor-&gt;ProcessFinalL(aInput, ciphertext);
-
-         // Store encryption data.  This contains details of the encryption used (e.g.,
-         // cipher, key size) as well as things like the salt.  This must be stored
-         // along with the encrypted data, otherwise it is not possible to decrypt it
-         // again!
-         writeStream &lt;&lt; encryption-&gt;EncryptionData();
-
-         // Store the ciphertext
-         writeStream &lt;&lt; ciphertext;
-
-         // Commit the stream
-         writeStream.CommitL();
-
-         // Free memory (writeStream, encryption, encryptor, ciphertextTemp)
-         CleanupStack::PopAndDestroy(4, &amp;writeStream);
-         }
-            </codeblock> </section>
-<section id="GUID-432A4D99-0AD1-5E1E-8E09-ED47FFC0C353"><title>Reading data
-from a file and decrypting it</title> <ul>
-<li id="GUID-70128A46-1AAB-59E8-9F03-68885091D54B"><p> <xref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C.dita">Supporting
-code for this example</xref>  </p> </li>
-</ul> <codeblock id="GUID-110E47B5-D63D-5041-ADC9-5A8DA1305712" xml:space="preserve">
-HBufC8* CPBEExample::ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword)
-         {
-         // Open a stream to the input file
-         RFileReadStream readStream;
-         User::LeaveIfError(readStream.Open(iFs, aFilename, EFileRead));
-         CleanupClosePushL(readStream);
-
-         // Read the encryption data from the file
-         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
-         
-         // Recreate the CPBEncryptElement object, using the encryption data from the
-         // file and the user's password.  This will leave with KErrBadPassphrase if
-         // the password is wrong.
-         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(*encryptionData, aPassword);
-
-         // This is used to create a CPBDecryptor object
-         CPBDecryptor* decryptor = encryption-&gt;NewDecryptLC();
-         
-         // Read the ciphertext
-         HBufC8* ciphertext = HBufC8::NewLC(readStream, KMaxTInt);
-
-         // Allocate a buffer for the plaintext (this will be returned to the caller)
-         HBufC8* plaintextBuf = HBufC8::NewLC(decryptor-&gt;MaxFinalOutputLength(ciphertext-&gt;Length()));
-         TPtr8 plaintext = plaintextBuf-&gt;Des();
-
-         // Decrypt the data
-         decryptor-&gt;ProcessFinalL(*ciphertext, plaintext);
-
-         // Free memory (readStream, encryptionData, encryption, decryptor, ciphertext, plaintext)
-         CleanupStack::Pop(plaintextBuf); // don't free this
-         CleanupStack::PopAndDestroy(5, &amp;readStream);
-         CleanupStack::PushL(plaintextBuf);
-
-         // Return plaintext to the caller
-         return plaintextBuf;
-         }
-        </codeblock> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-33BACB23-5BEB-5A1A-85B2-71E6AA7730C4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-33BACB23-5BEB-5A1A-85B2-71E6AA7730C4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-33BACB23-5BEB-5A1A-85B2-71E6AA7730C4"><title>Sending Location to a Remote Party - Overview</title><shortdesc>LBS allows a user to send their location to a remote party over a network. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes the Transmit Location API, which allows client applications to send location data to remote parties. </p> </section> <section><title>Key concepts</title> <p><b>Transmit position server </b> </p> <p>The LBS Symbian server that sends position data to a remote location server in the network. Multiple applications can use the server simultaneously as transmit location requests are queued and prioritised. The Transmit Location API is the client application view of the transmit position server. </p> <p><b>Remote party </b> </p> <p>The remote destination to which the location is sent. This may be identified by a phone number, email address or web service URL. </p> <p><b>Remote location server </b> </p> <p>The network server that receives the location data sent from the handset. It is the first stage in routing the location data message to the destination remote party. </p> <p><b>X3P request </b> </p> <p>Transmit to third party request. The request made by a client application to calculate the mobile device location and to send it to a remote party (the 'third party'). More formally known as MO-LR (transfer to third party). </p> </section> <section><title>API summary</title> <p>The Transmit Location API consists of three classes: </p> <ul><li id="GUID-137412A2-F59F-5A0F-B7D2-23809955ED85"><p> <xref href="GUID-97CFE236-9DAD-3455-8969-6D0B4C484E0B.dita"><apiname>RLbsTransmitPositionServer</apiname></xref>  </p> <p>Client applications use this class to create a session with the transmit position server. </p> </li> <li id="GUID-55711D51-FC49-58EF-9A07-95B930629F90"><p> <xref href="GUID-10A380F1-7550-336E-BAE4-8CB889C5BACF.dita"><apiname>RLbsTransmitPosition</apiname></xref>  </p> <p>Applications use this class to create a subsession with the transmit position server. Applications use the subsession to make requests to send location data to a remote location server. </p> </li> <li id="GUID-B23446D7-8396-56C3-8EA5-C0C9AAA17915"><p> <xref href="GUID-FD409038-85FC-3442-9D8E-CBA80E9B5FD5.dita"><apiname>TLbsTransmitPositionOptions</apiname></xref> is used to set a timeout on sending the location. If location data cannot be sent before the timeout expires then the send request is cancelled. </p> </li> </ul> <p>Figure 1 shows the three classes. </p> <fig id="GUID-656E1D67-CE50-5A82-8EB2-F9224033B718"><title>
              Figure 1. Classes used to send location to a remote server 
-          </title> <image href="GUID-96FEE9E3-E870-5CE2-A049-9425B82894B0_d0e433894_href.png" placement="inline"/></fig> <p>To send location, an application must have the <codeph>WriteDeviceData</codeph> and <codeph>NetworkServices</codeph> capabilities. </p> <p>The three classes of the Transmit Location API are defined in the file <filepath>LbsX3P.h</filepath>. Client applications link against <filepath>Lbsx3p.lib</filepath>. </p> <p><b>Sending location data </b> </p> <p>Applications call <xref href="GUID-10A380F1-7550-336E-BAE4-8CB889C5BACF.dita#GUID-10A380F1-7550-336E-BAE4-8CB889C5BACF/GUID-EB88EBE8-0B6A-359C-895C-15D063CAD4AA"><apiname>RLbsTransmitPosition::TransmitPosition()</apiname></xref> to send location data to a remote location server. <codeph>TransmitPosition()</codeph> makes an asynchronous service request and calling applications pass a <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> parameter to be notified of completion. </p> <p>To calculate the device location, LBS may obtain position data from the network and/or from GPS hardware. The exact sequence of events is dependent upon which positioning modules are installed in the device and the quality profile that is configured for use with X3P requests. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration</xref> and <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS integration and configuration</xref> for more information about configuring LBS and quality profiles. </p> <p><b>TransmitPosition() </b> </p> <p>There are two <codeph>TransmitPosition()</codeph> methods. To send the device location, an application calls <i>one</i> of them: </p> <ul><li id="GUID-2CB2EA8F-C4E5-591C-A479-4C94A73856E3"><p> <codeph>void TransmitPosition(const TDesC&amp; aDestinationID,TUint
+          </title> <image href="GUID-96FEE9E3-E870-5CE2-A049-9425B82894B0_d0e439739_href.png" placement="inline"/></fig> <p>To send location, an application must have the <codeph>WriteDeviceData</codeph> and <codeph>NetworkServices</codeph> capabilities. </p> <p>The three classes of the Transmit Location API are defined in the file <filepath>LbsX3P.h</filepath>. Client applications link against <filepath>Lbsx3p.lib</filepath>. </p> <p><b>Sending location data </b> </p> <p>Applications call <xref href="GUID-10A380F1-7550-336E-BAE4-8CB889C5BACF.dita#GUID-10A380F1-7550-336E-BAE4-8CB889C5BACF/GUID-EB88EBE8-0B6A-359C-895C-15D063CAD4AA"><apiname>RLbsTransmitPosition::TransmitPosition()</apiname></xref> to send location data to a remote location server. <codeph>TransmitPosition()</codeph> makes an asynchronous service request and calling applications pass a <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> parameter to be notified of completion. </p> <p>To calculate the device location, LBS may obtain position data from the network and/or from GPS hardware. The exact sequence of events is dependent upon which positioning modules are installed in the device and the quality profile that is configured for use with X3P requests. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration</xref> and <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS integration and configuration</xref> for more information about configuring LBS and quality profiles. </p> <p><b>TransmitPosition() </b> </p> <p>There are two <codeph>TransmitPosition()</codeph> methods. To send the device location, an application calls <i>one</i> of them: </p> <ul><li id="GUID-2CB2EA8F-C4E5-591C-A479-4C94A73856E3"><p> <codeph>void TransmitPosition(const TDesC&amp; aDestinationID,TUint
                 aTransmitPriority, TRequestStatus&amp; aTransmittedPosStatus,
                 TPositionInfo&amp; aTransmittedPosInfo)</codeph>  </p> <p>This method takes four parameters: </p> <ul><li id="GUID-C441043A-EF15-559A-BA2A-0CE8B7B28651"><p> <codeph>aDestinationID</codeph> is the phone number, email address or URL to which the device location is to be sent. </p> </li> <li id="GUID-AC7417D9-0432-5046-9112-737FCEB79575"><p> <codeph>aTransmitPriority</codeph> is the priority of the request. </p> </li> <li id="GUID-922173A5-6E60-544B-B8C7-B0869CA5F7D9"><p> <codeph>aTransmittedPosStatus</codeph> is a <codeph>TRequestStatus</codeph> variable from the calling object. This variable is used to notify when the location data is sent (or a failure or timeout occurs). </p> </li> <li id="GUID-1E268B8F-E710-5C7C-8D22-1E8C2C0812D3"><p> <codeph>aTransmittedPosInfo</codeph> is used to access the location data that is sent to the remote party. </p> </li> </ul> <p>The calling application receives only one notification of completion (through <codeph>aTransmittedPosStatus</codeph>) when the calculated location is sent to the network (or there is a failure or timeout). An application calls this <codeph>TransmitPosition()</codeph> method when it requires only notification of the final state of its send location request. </p> </li> <li id="GUID-1155FCDF-7C99-5B0C-A52A-144339889E13"><p> <codeph>void TransmitPosition(const TDesC&amp; aDestinationID,TUint
                 aTransmitPriority, TRequestStatus&amp; aRefPosStatus, TPositionInfo&amp;
--- a/Symbian3/PDK/Source/GUID-33D50AB9-AFA8-521F-8A85-031C24EA7D25.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-33D50AB9-AFA8-521F-8A85-031C24EA7D25.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 Framework</xref> and the <xref href="GUID-5ACFA8E4-3C4B-5851-A43E-9FA72D0B8403.dita">XML
 DOM Engine</xref>. </p> <fig id="GUID-4EE5466D-6370-5ED5-9BAA-838F5413AAE5">
 <title>              Package diagram for the libxml2 component            </title>
-<image href="GUID-873186CE-9723-558F-9C7E-0CEE607F076C_d0e681992_href.png" placement="inline"/>
+<image href="GUID-873186CE-9723-558F-9C7E-0CEE607F076C_d0e694819_href.png" placement="inline"/>
 </fig> <p>The libxml2 sub-component provides direct access to the C API of
 the standard libxml2 library. </p> <p>The Utilities sub-component provides
 object-oriented access to the C functions: it also implements the resource
Binary file Symbian3/PDK/Source/GUID-3457B9BC-2F8F-55C1-9B5F-FA210D3439C6_d0e167942_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3457B9BC-2F8F-55C1-9B5F-FA210D3439C6_d0e174035_href.png has changed
--- a/Symbian3/PDK/Source/GUID-34614E31-45F1-5BD8-963D-9526AAD31734.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-34614E31-45F1-5BD8-963D-9526AAD31734.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,88 +1,85 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-34614E31-45F1-5BD8-963D-9526AAD31734" xml:lang="en"><title>resourcemanager:
-Power Resource Manager Framework example</title><shortdesc>This example demonstrates the Power Resource Manager user side
-APIs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Purpose</title> <p>The example shows how to use the <xref href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita">Power Resource Manager user
-side APIs</xref> provided by the <xref href="GUID-FD3DEFC1-DA39-3A1A-8E00-A46B34B78899.dita"><apiname>RBusDevResManUs</apiname></xref> class. </p> The
-use cases demonstrated are:<ul>
-<li><p>How to get information about power resources.</p></li>
-<li><p>How to get information about other clients registered with the Power
-Resource Manager. </p></li>
-<li><p> How to change the state of a resource.</p></li>
-<li><p>How to get notification when a resource changes state.</p></li>
-</ul></section>
-<section><title>Class summary</title><ol>
-<li id="GUID-BF6BF1A4-061C-4643-95D8-C89388675B91"><p><xref href="GUID-FD3DEFC1-DA39-3A1A-8E00-A46B34B78899.dita"><apiname>RBusDevResManUs</apiname></xref></p></li>
-<li id="GUID-4DD7C3AC-048E-446D-8D52-EE6CFCEB8227"><p><xref href="GUID-A1DDD3E3-C009-3C02-895B-0B2D0EE67A9D.dita"><apiname>TResourceInfo</apiname></xref></p></li>
-<li id="GUID-D1CD4D8A-B58E-46DC-AB17-E19EEC0C7714"><p><xref href="GUID-3BC432D9-6C37-35C0-BE85-DA21E6E520C7.dita"><apiname>TClientInfo</apiname></xref></p></li>
-</ol></section>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bca7fbc0-b2fc-48da-adf3-3f0961ac9f88.zip" scope="external">resourcemanager.zip</xref>.</p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bca7fbc0-b2fc-48da-adf3-3f0961ac9f88.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section><title>Design and implementation</title> <p>This example builds a
-console application called <filepath>resourcemanager.exe</filepath>. It requests
-user input, and prints information to the console. </p> <p>The following menu
-options are presented to the user: </p> <ul>
-<li id="GUID-D5D0980D-140F-5142-B002-4986476AB082"><p>Get Power Resource information. </p> </li>
-<li id="GUID-90DE75D2-2F4C-5FEC-BFC0-89BC65A68EA1"><p>Change the state of
-a resource. </p> </li>
-<li id="GUID-AA262888-404A-58B8-85BA-EC10E523F8DD"><p>Notify a change of resource
-state. </p> </li>
-</ul> <p><b>Get Power Resource information</b> </p> <p>This option gets and
-displays information about the clients of the Power Resource Manager framework
-and about the available resources. </p> <p>The following sub-menu options
-are presented: </p> <ul>
-<li id="GUID-0C71EA91-4622-568F-B909-F48E453E3261"><p>1. Get the number of
-available resources. </p> </li>
-<li id="GUID-83B6CD7A-6830-58EE-9AC1-DD59E1320FAA"><p>2. Get information about
-a particular resource. </p> </li>
-<li id="GUID-85B710BA-7EA7-5A6A-8389-34115D094044"><p>3. Get information about
-all the available resources. </p> </li>
-<li id="GUID-D92401B4-0F81-5FF4-A413-1AB3DE0E4EAF"><p>4. Get the state of
-a particular resource. </p> </li>
-<li id="GUID-B7E8C908-5AF7-5C3A-9CD9-4E812BE446A1"><p>5. Get the number of
-clients using a particular resource. </p> </li>
-<li id="GUID-90A8D835-F4D4-5B4E-831A-F4BB6B8D36C7"><p>6. Get the number of
-resources used by a particular client. </p> </li>
-<li id="GUID-CF511B2E-A7A4-5435-8878-8F9332EBEF8C"><p>7. Get information about
-all the resources in use by a particular client. </p> </li>
-<li id="GUID-4E7F9E93-1FFF-56DD-9970-87EAF45CDB7A"><p>8. Get information on
-all clients using a particular resource. </p> </li>
-<li id="GUID-85D80BC5-99E1-5AA9-AE0C-573CAD798B6D"><p>9. Get the names of
-all clients. </p> </li>
-</ul> <p><b>Change the state of a resource</b> </p> <p>This option allows
-the user to change the state of a resource. </p> <p><b>Notify any change of
-resource state</b> </p> <p>This option changes the state of a resource and
-notifies the user about the change. </p> </section>
-<section><title>Building and configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-1724170B-EEB9-5899-AB43-540035CE23F4"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-23AF0285-6E6B-55F4-BF08-49C6E41C1B7D"><p>For the emulator, the
-example builds an executable called <filepath>resourcemanager.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or                 urel&gt;\</filepath> folder. </p> </li>
-</ul> </section>
-<section><title>Running the example</title> <p>To run the example, launch
-the executable <filepath>resourcemanager.exe</filepath>, then choose from
-the menu options. Press <userinput>Esc</userinput> to quit. </p> <p>Note:
-this example requires an LDD, a PDD and a PSL (platform specific layer). If
-these are not provided on the platform you are using, the example will not
-run. </p> </section>
-</conbody><related-links>
-<link href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita"><linktext>Power Resource
-Manager Architecture Overview</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-34614E31-45F1-5BD8-963D-9526AAD31734" xml:lang="en"><title>resourcemanager: Power Resource Manager Framework example</title><shortdesc>This example demonstrates the Power Resource Manager user
+side APIs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-479DBACE-22C6-47B7-AA0B-06D09F7972C0"><title>Purpose</title> <p>The example shows how to use the <xref href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita">Power Resource Manager
+user side APIs</xref> provided by the <xref href="GUID-FD3DEFC1-DA39-3A1A-8E00-A46B34B78899.dita"><apiname>RBusDevResManUs</apiname></xref> class. </p> The use cases demonstrated are:<ul>
+<li><p>How to get information about power resources.</p></li>
+<li><p>How to get information about other clients registered with
+the Power Resource Manager. </p></li>
+<li><p> How to change the state of a resource.</p></li>
+<li><p>How to get notification when a resource changes state.</p></li>
+</ul></section>
+<section id="GUID-5A18CC8E-11D7-401C-8957-7A82DA4D7C44"><title>Class summary</title><ol>
+<li id="GUID-BF6BF1A4-061C-4643-95D8-C89388675B91"><p><xref href="GUID-FD3DEFC1-DA39-3A1A-8E00-A46B34B78899.dita"><apiname>RBusDevResManUs</apiname></xref></p></li>
+<li id="GUID-4DD7C3AC-048E-446D-8D52-EE6CFCEB8227"><p><xref href="GUID-A1DDD3E3-C009-3C02-895B-0B2D0EE67A9D.dita"><apiname>TResourceInfo</apiname></xref></p></li>
+<li id="GUID-D1CD4D8A-B58E-46DC-AB17-E19EEC0C7714"><p><xref href="GUID-3BC432D9-6C37-35C0-BE85-DA21E6E520C7.dita"><apiname>TClientInfo</apiname></xref></p></li>
+</ol></section>
+<section id="GUID-78393943-2E05-43C3-97E9-053D7A6F63E7"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bca7fbc0-b2fc-48da-adf3-3f0961ac9f88.zip" scope="external">resourcemanager.zip</xref>.</p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bca7fbc0-b2fc-48da-adf3-3f0961ac9f88.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-4AE582AE-5232-4EC1-87F3-9EC131825897"><title>Design and implementation</title> <p>This example
+builds a console application called <filepath>resourcemanager.exe</filepath>. It requests user input, and prints information to the console. </p> <p>The following menu options are presented to the user: </p> <ul>
+<li id="GUID-D5D0980D-140F-5142-B002-4986476AB082"><p>Get Power Resource
+information. </p> </li>
+<li id="GUID-90DE75D2-2F4C-5FEC-BFC0-89BC65A68EA1"><p>Change the state
+of a resource. </p> </li>
+<li id="GUID-AA262888-404A-58B8-85BA-EC10E523F8DD"><p>Notify a change
+of resource state. </p> </li>
+</ul> <p><b>Get Power Resource information</b> </p> <p>This option
+gets and displays information about the clients of the Power Resource
+Manager framework and about the available resources. </p> <p>The following
+sub-menu options are presented: </p> <ul>
+<li id="GUID-0C71EA91-4622-568F-B909-F48E453E3261"><p>1. Get the number
+of available resources. </p> </li>
+<li id="GUID-83B6CD7A-6830-58EE-9AC1-DD59E1320FAA"><p>2. Get information
+about a particular resource. </p> </li>
+<li id="GUID-85B710BA-7EA7-5A6A-8389-34115D094044"><p>3. Get information
+about all the available resources. </p> </li>
+<li id="GUID-D92401B4-0F81-5FF4-A413-1AB3DE0E4EAF"><p>4. Get the state
+of a particular resource. </p> </li>
+<li id="GUID-B7E8C908-5AF7-5C3A-9CD9-4E812BE446A1"><p>5. Get the number
+of clients using a particular resource. </p> </li>
+<li id="GUID-90A8D835-F4D4-5B4E-831A-F4BB6B8D36C7"><p>6. Get the number
+of resources used by a particular client. </p> </li>
+<li id="GUID-CF511B2E-A7A4-5435-8878-8F9332EBEF8C"><p>7. Get information
+about all the resources in use by a particular client. </p> </li>
+<li id="GUID-4E7F9E93-1FFF-56DD-9970-87EAF45CDB7A"><p>8. Get information
+on all clients using a particular resource. </p> </li>
+<li id="GUID-85D80BC5-99E1-5AA9-AE0C-573CAD798B6D"><p>9. Get the names
+of all clients. </p> </li>
+</ul> <p><b>Change the state of a resource</b> </p> <p>This option
+allows the user to change the state of a resource. </p> <p><b>Notify
+any change of resource state</b> </p> <p>This option changes the state
+of a resource and notifies the user about the change. </p> </section>
+<section id="GUID-6F1BD626-F15A-478B-AB59-72AF09A3C0EE"><title>Building and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-1724170B-EEB9-5899-AB43-540035CE23F4"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-23AF0285-6E6B-55F4-BF08-49C6E41C1B7D"><p>For the emulator,
+the example builds an executable called <filepath>resourcemanager.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or             
+   urel&gt;\</filepath> folder. </p> </li>
+</ul> </section>
+<section id="GUID-5BF499DA-9E68-4A77-AFE3-C5597FD12401"><title>Running the example</title> <p>To run the example,
+launch the executable <filepath>resourcemanager.exe</filepath>, then
+choose from the menu options. Press <userinput>Esc</userinput> to
+quit. </p> <p>Note: this example requires an LDD, a PDD and a PSL
+(platform specific layer). If these are not provided on the platform
+you are using, the example will not run. </p> </section>
+</conbody><related-links>
+<link href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita"><linktext>Power
+Resource Manager Architecture Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3472798D-CEC5-5BA9-A3A7-D4245661DEDB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3472798D-CEC5-5BA9-A3A7-D4245661DEDB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,78 +1,67 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3472798D-CEC5-5BA9-A3A7-D4245661DEDB" xml:lang="en"><title>pubsub:
-Using the Publish and Subscribe IPC Mechanism</title><shortdesc>This example demonstrates the Publish and Subscribe IPC mechanisms
-using the <codeph>RProperty</codeph> class. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-909438A0-5FCA-4FA3-96EF-2666A3C07227"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b24148a4-d20f-4af6-a0d2-d404f1a5698e.zip" scope="external">pubsub.zip</xref>.</p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b24148a4-d20f-4af6-a0d2-d404f1a5698e.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-20D6C064-50E0-52EE-8287-1D657C27FF75"><title>Description</title> <p>This
-example demonstrates three types of usage pattern for Publish and Subscribe: </p> <ul>
-<li id="GUID-12170122-3E04-5098-99C3-0C0C6B8C8914"><p>Standard State Publishing </p> <ul>
-<li id="GUID-DA65B928-6F46-5238-AED8-8CE062098621"><p> <b>Publisher:</b> The
-publisher defines a byte-array property and pre-allocates memory to it. It
-interactively updates and re-publishes the value of the property. </p> </li>
-<li id="GUID-0519A68F-E898-5FD7-95C1-A6AA79C5CAE1"><p> <b>Subscriber:</b> The
-subscriber gets the value of the property defined by the publisher by subscribing
-to it. It displays an error and stops running if it fails to get the value
-of the property. </p> </li>
-</ul> </li>
-<li id="GUID-FA0336A7-3402-58BF-A987-BC3273FFB687"><p>Pure Event Distribution </p> <ul>
-<li id="GUID-03D5D3D0-23F5-5E75-840E-70DC8BB74388"><p> <b>Publisher:</b> The
-publisher defines an integer property and publishes a random integer value
-periodically. This value has no significance to the subscriber. </p> </li>
-<li id="GUID-4A3987D9-B916-584A-81C9-DC8079AA1270"><p> <b>Subscriber:</b> The
-subscriber gets a notification when the publisher publishes a value. It exits
-when the property is deleted by the publisher. </p> </li>
-</ul> </li>
-<li id="GUID-FFBD46FD-D0FB-5C9A-98D8-ABA7B8C6E398"><p>Speculative Publishing </p> <ul>
-<li id="GUID-073BA0B9-1682-5642-8929-4B45738F28BD"><p> <b>Publisher:</b> The
-publisher does not define the property. It ignores the <codeph>KErrNotFound</codeph> error
-when it publishes the value of the property. </p> </li>
-<li id="GUID-78B22435-963F-5E5E-9A2B-AC582DD520D4"><p> <b>Subscriber:</b> The
-subscriber defines and subscribes to the property. It ignores the <codeph>KErrAlreadyExists</codeph> error. </p> </li>
-</ul> </li>
-</ul> </section>
-<section id="GUID-63F559E8-36AB-41CD-9A2E-57080EA29601"><title>Class summary</title><ul>
-<li><p><xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> - User side interface to Publish &amp;
-Subscribe.</p></li>
-<li><p><xref href="GUID-067293BF-B28C-3CEC-92F4-1351A795EA7F.dita"><apiname>CActive</apiname></xref> - The core class of the active object abstraction.</p></li>
-</ul></section>
-<section id="GUID-43D665F1-BB55-5D5D-808E-3CBE18D2F6DA"><title>Build</title> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref> describes
-how to build this example. </p> <p>This example builds the following binaries
-in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath>)
-for Carbide.c++: </p> <ul>
-<li id="GUID-F06CD099-75C7-5070-89E9-015AAC1F0D9A"><p> <filepath>publishstd.exe</filepath>:
-The publisher process for the Standard State pattern. </p> </li>
-<li id="GUID-772A8A83-743C-5EE5-8D78-F1E8B60B070F"><p> <filepath>subscribestd.exe</filepath>:
-The subscriber process for the Standard State pattern. </p> </li>
-<li id="GUID-19AD84BC-4618-518B-8F46-3DA1B1279B20"><p> <filepath>publishpe.exe</filepath>:
-The publisher process for the Pure Event Distribution pattern. </p> </li>
-<li id="GUID-BDCCB376-3EE5-5F5B-A53D-43F52418E6AA"><p> <filepath>subscribepe.exe</filepath>:
-The subscriber process for the Pure Event Distribution pattern. </p> </li>
-<li id="GUID-9731BBF0-0C21-5739-A9C6-4894E78A6B41"><p> <filepath>publishspec.exe</filepath>:
-The publisher process for the Speculative Publishing pattern. </p> </li>
-<li id="GUID-0897C9AB-A30D-57A7-817C-80750877350C"><p> <filepath>subscribespec.exe</filepath>:
-The subscriber process for the Speculative Publishing pattern. </p> </li>
-</ul> </section>
-<section id="GUID-D8D0CB53-A319-55EA-8650-6F9A74DBDD6C"><title>Running the
-example</title> <p>To run the example, perform the following steps on each
-usage pattern: </p> <ol id="GUID-5BFB2C37-2036-542C-9CD4-672D9D18F25C">
-<li id="GUID-80B81388-C636-50A0-BCCC-8F6F609E410E"><p>Open two eshells. </p> </li>
-<li id="GUID-A1FF28F1-696E-593C-9FFA-54F5C96F32F2"><p>Run the publisher executable
-file in one eshell. </p> </li>
-<li id="GUID-E3227D02-EB36-518A-8A25-59335A27F062"><p>Run the subscriber executable
-file in another eshell. </p> </li>
-</ol> <p> <b>Note</b>: Switch between eshells by pressing <codeph>CTRL+ALT+SHIFT+T</codeph>. </p> </section>
-<section id="GUID-935115E3-FF46-5EC1-8F36-A6AE35356AD4"><title>See also</title> <p>For
-more information, see <xref href="GUID-A81C65CF-CF4E-571C-8080-9D387F46AAD6.dita">Publish
-and Subscribe</xref> in <i>Using User Library (E32)</i>. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3472798D-CEC5-5BA9-A3A7-D4245661DEDB" xml:lang="en"><title>pubsub: Using the Publish and Subscribe IPC Mechanism</title><shortdesc>This example demonstrates the Publish and Subscribe IPC
+mechanisms using the <codeph>RProperty</codeph> class. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-909438A0-5FCA-4FA3-96EF-2666A3C07227"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b24148a4-d20f-4af6-a0d2-d404f1a5698e.zip" scope="external">pubsub.zip</xref>.</p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b24148a4-d20f-4af6-a0d2-d404f1a5698e.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-20D6C064-50E0-52EE-8287-1D657C27FF75"><title>Description</title> <p>This example demonstrates three types of usage pattern for Publish
+and Subscribe: </p> <ul>
+<li id="GUID-12170122-3E04-5098-99C3-0C0C6B8C8914"><p>Standard State
+Publishing </p> <ul>
+<li id="GUID-DA65B928-6F46-5238-AED8-8CE062098621"><p> <b>Publisher:</b> The publisher defines a byte-array property and pre-allocates memory
+to it. It interactively updates and re-publishes the value of the
+property. </p> </li>
+<li id="GUID-0519A68F-E898-5FD7-95C1-A6AA79C5CAE1"><p> <b>Subscriber:</b> The subscriber gets the value of the property defined by the publisher
+by subscribing to it. It displays an error and stops running if it
+fails to get the value of the property. </p> </li>
+</ul> </li>
+<li id="GUID-FA0336A7-3402-58BF-A987-BC3273FFB687"><p>Pure Event Distribution </p> <ul>
+<li id="GUID-03D5D3D0-23F5-5E75-840E-70DC8BB74388"><p> <b>Publisher:</b> The publisher defines an integer property and publishes a random
+integer value periodically. This value has no significance to the
+subscriber. </p> </li>
+<li id="GUID-4A3987D9-B916-584A-81C9-DC8079AA1270"><p> <b>Subscriber:</b> The subscriber gets a notification when the publisher publishes
+a value. It exits when the property is deleted by the publisher. </p> </li>
+</ul> </li>
+<li id="GUID-FFBD46FD-D0FB-5C9A-98D8-ABA7B8C6E398"><p>Speculative
+Publishing </p> <ul>
+<li id="GUID-073BA0B9-1682-5642-8929-4B45738F28BD"><p> <b>Publisher:</b> The publisher does not define the property. It ignores the <codeph>KErrNotFound</codeph> error when it publishes the value of the property. </p> </li>
+<li id="GUID-78B22435-963F-5E5E-9A2B-AC582DD520D4"><p> <b>Subscriber:</b> The subscriber defines and subscribes to the property. It ignores
+the <codeph>KErrAlreadyExists</codeph> error. </p> </li>
+</ul> </li>
+</ul> </section>
+<section id="GUID-63F559E8-36AB-41CD-9A2E-57080EA29601"><title>Class
+summary</title><ul>
+<li><p><xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> - User side interface to Publish
+&amp; Subscribe.</p></li>
+<li><p><xref href="GUID-067293BF-B28C-3CEC-92F4-1351A795EA7F.dita"><apiname>CActive</apiname></xref> - The core class of the active object
+abstraction.</p></li>
+</ul></section>
+<section id="GUID-43D665F1-BB55-5D5D-808E-3CBE18D2F6DA"><title>Build</title> <p>The Symbian build process describes how to build this example. </p> <p>This example builds the following binaries in
+the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath>) for Carbide.c++: </p> <ul>
+<li id="GUID-F06CD099-75C7-5070-89E9-015AAC1F0D9A"><p> <filepath>publishstd.exe</filepath>: The publisher process for the Standard State pattern. </p> </li>
+<li id="GUID-772A8A83-743C-5EE5-8D78-F1E8B60B070F"><p> <filepath>subscribestd.exe</filepath>: The subscriber process for the Standard State pattern. </p> </li>
+<li id="GUID-19AD84BC-4618-518B-8F46-3DA1B1279B20"><p> <filepath>publishpe.exe</filepath>: The publisher process for the Pure Event Distribution pattern. </p> </li>
+<li id="GUID-BDCCB376-3EE5-5F5B-A53D-43F52418E6AA"><p> <filepath>subscribepe.exe</filepath>: The subscriber process for the Pure Event Distribution pattern. </p> </li>
+<li id="GUID-9731BBF0-0C21-5739-A9C6-4894E78A6B41"><p> <filepath>publishspec.exe</filepath>: The publisher process for the Speculative Publishing pattern. </p> </li>
+<li id="GUID-0897C9AB-A30D-57A7-817C-80750877350C"><p> <filepath>subscribespec.exe</filepath>: The subscriber process for the Speculative Publishing pattern. </p> </li>
+</ul> </section>
+<section id="GUID-D8D0CB53-A319-55EA-8650-6F9A74DBDD6C"><title>Running
+the example</title> <p>To run the example, perform the following steps
+on each usage pattern: </p> <ol id="GUID-5BFB2C37-2036-542C-9CD4-672D9D18F25C">
+<li id="GUID-80B81388-C636-50A0-BCCC-8F6F609E410E"><p>Open two eshells. </p> </li>
+<li id="GUID-A1FF28F1-696E-593C-9FFA-54F5C96F32F2"><p>Run the publisher
+executable file in one eshell. </p> </li>
+<li id="GUID-E3227D02-EB36-518A-8A25-59335A27F062"><p>Run the subscriber
+executable file in another eshell. </p> </li>
+</ol> <p> <b>Note</b>: Switch between eshells by pressing <codeph>CTRL+ALT+SHIFT+T</codeph>. </p> </section>
+<section id="GUID-935115E3-FF46-5EC1-8F36-A6AE35356AD4"><title>See
+also</title> <p>For more information, see <xref href="GUID-A81C65CF-CF4E-571C-8080-9D387F46AAD6.dita">Publish and Subscribe</xref> in <i>Using User Library (E32)</i>. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-347ACB44-5D07-5EA6-8751-E424A118859D_d0e171193_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-347ACB44-5D07-5EA6-8751-E424A118859D_d0e177261_href.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025"><title>Supported Audio Codecs</title><shortdesc>This document provides a list of codecs supported by Multimedia audio components. Each codec is listed with its unique four character (FourCC) code identifier and equivalent Hexadecimal ASCII value. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><table id="GUID-B837E19B-477D-550A-9927-A439FB9419E7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Codec</entry> <entry>FourCC Code</entry> <entry>Hexadecimal ASCII Value</entry> </row> </thead> <tbody><row><entry><p>8-bit PCM </p> </entry> <entry><p> <codeph>P8</codeph>  </p> <p>Note: The first two characters in this FourCC code are spaces. </p> </entry> <entry><p>0x38502020 </p> </entry> </row> <row><entry><p>8-bit unsigned PCM </p> </entry> <entry><p> <codeph> PU8 </codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x38555020 </p> </entry> </row> <row><entry><p>16-bit PCM </p> </entry> <entry><p> <codeph> P16 </codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x36315020 </p> </entry> </row> <row><entry><p>16-bit unsigned PCM </p> </entry> <entry><p> <codeph>PU16</codeph>  </p> </entry> <entry><p>0x36315550 </p> </entry> </row> <row><entry><p>Advanced Audio Codec (AAC) or Moving Picture Experts Group 4 (MPEG-4) Audio Layer 3 </p> </entry> <entry><p> <codeph>AAC</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x43414120 </p> </entry> </row> <row><entry><p>Advanced Audio Codec Audio Data Transport Stream (AAC ADTS) </p> </entry> <entry><p> <codeph> ADTS</codeph>  </p> </entry> <entry><p>0x53544441 </p> </entry> </row> <row><entry><p>A-Law </p> </entry> <entry><p> <codeph> ALAW</codeph>  </p> </entry> <entry><p>0x57414c41 </p> </entry> </row> <row><entry><p>AMR </p> </entry> <entry><p> <codeph> AMR</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x524d4120 </p> </entry> </row> <row><entry><p>AMR Wideband </p> </entry> <entry><p> <codeph> AMRW</codeph>  </p> </entry> <entry><p>0x57524d41 </p> </entry> </row> <row><entry><p>ATRAC3 </p> </entry> <entry><p> <codeph> ATR3</codeph>  </p> </entry> <entry><p>0x33525441 </p> </entry> </row> <row><entry><p>Dolby Digital (DD) or Audio Coding 3 (AC-3) </p> </entry> <entry><p> <codeph> AC3</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x33434120 </p> </entry> </row> <row><entry><p>Dolby Digital Plus (DD+) or Enhanced Audio Coding 3 (E-AC-3) </p> </entry> <entry><p> <codeph> EAC3</codeph>  </p> </entry> <entry><p>0x33434145 </p> </entry> </row> <row><entry><p>GSM 6.10 </p> </entry> <entry><p> <codeph> GSM6</codeph>  </p> </entry> <entry><p>0x364d5347 </p> </entry> </row> <row><entry><p>IMA ADPCM </p> </entry> <entry><p> <codeph> IMAD</codeph>  </p> </entry> <entry><p>0x44414d49 </p> </entry> </row> <row><entry><p>IMA stereo ADPCM </p> </entry> <entry><p> <codeph> IMAS</codeph>  </p> </entry> <entry><p>0x53414d49 </p> </entry> </row> <row><entry><p>Most-significant byte first (big-endian) 16-bit PCM </p> </entry> <entry><p> <codeph> P16B</codeph>  </p> </entry> <entry><p>0x42363150 </p> </entry> </row> <row><entry><p>Most-significant byte first (big-endian) 16-bit unsigned PCM </p> </entry> <entry><p> <codeph> PU6B</codeph>  </p> </entry> <entry><p>0x42365550 </p> </entry> </row> <row><entry><p>MPEG-1 Audio Layer 3 </p> </entry> <entry><p> <codeph> MP3</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x33504d20 </p> </entry> </row> <row><entry><p>Mu-law or µ-law </p> </entry> <entry><p> <codeph> ULAW</codeph>  </p> </entry> <entry><p>0x57414c75 </p> </entry> </row> <row><entry><p>Null </p> </entry> <entry><p> <codeph> NULL</codeph>  </p> <p>Note: Use this FourCC code if the actual FourCC is not known or not applicable. </p> </entry> <entry><p>0x4c4c554e </p> </entry> </row> <row><entry><p>SBC </p> </entry> <entry><p> <codeph> SBC</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x43425320 </p> </entry> </row> <row><entry><p>Wideband AMR </p> </entry> <entry><p> <codeph> AWB</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x42574120 </p> </entry> </row> <row><entry><p>Windows Media Audio (WMA) </p> </entry> <entry><p> <codeph> WMA</codeph>  </p> <p>Note: The first character in this FourCC code is a space. </p> </entry> <entry><p>0x414d5720 </p> </entry> </row> </tbody> </tgroup> </table> </conbody><related-links><link href="GUID-7261FEC6-5AA6-555C-AB72-2173BD3F1FA5.dita"><linktext>Writing a Codec Plug-in</linktext> </link> <link href="GUID-528BDE53-327A-5D34-B4BF-CB2421BE43C8.dita"><linktext>Writing a Controller
+                Plug-in</linktext> </link> <link href="GUID-46E12D78-5F1F-55B8-B7E8-1B4862CC70E8.dita"><linktext>Audio Output
+                Stream Library</linktext> </link> <link href="GUID-C05374FC-CF33-58C2-9442-B9EE78C81A4F.dita"><linktext>DevSound Library</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3490A064-8421-4ABB-9E93-99A5565CF4D7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3490A064-8421-4ABB-9E93-99A5565CF4D7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 Preferences API are listed below. One or more of the preferences can be set
 based on connection establishment requirements. For more details on the restrictions
 regarding the preferences that can be used jointly, refer <xref href="GUID-B78E8AC0-CDC8-3DEC-AF3C-98C8994DA34A.dita"><apiname> TExtendedConnPref </apiname></xref> .</p></context>
-<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-4-1-1-5-1-1-7-1-3-2">
+<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-4-1-1-5-1-1-7-1-3-2">
 <step id="GUID-81D0BBB7-82EA-46B5-98A6-1BD426777AA5"><cmd><b>Define Bearer
 Filtering</b></cmd>
 <info><p>Extended Connection Preferences API allows the application to limit
--- a/Symbian3/PDK/Source/GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -42,7 +42,7 @@
 </table></section>
 <section><title>Architectural Relationships</title><fig id="GUID-D55FA7FA-A914-483B-80E4-FCA159B24648">
 <title>Class Relationships for TExtendedConnPref</title>
-<image href="GUID-21F0EE0E-6CC6-44E7-9FED-FB8911E3C3A2_d0e282741_href.jpg" placement="inline"/>
+<image href="GUID-21F0EE0E-6CC6-44E7-9FED-FB8911E3C3A2_d0e288732_href.jpg" placement="inline"/>
 </fig></section>
 <section><title>Typical Uses</title><p> The API provides the following key
 services: </p><ul>
--- a/Symbian3/PDK/Source/GUID-34D1D0BF-20DE-5677-A067-8FF9DD72E703.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-34D1D0BF-20DE-5677-A067-8FF9DD72E703.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -151,7 +151,7 @@
 It also calls <xref href="GUID-15D25C07-CFD2-32CE-AD22-E17D512D8E87.dita#GUID-15D25C07-CFD2-32CE-AD22-E17D512D8E87/GUID-6CFE19D9-249A-3305-8224-823D2FDB1859"><apiname>Power::RequestWakeupEventNotification()</apiname></xref> so
 that it can be informed of a wake-up event. If it is notified of a wake-up
 event, it can halt, and reverse the user side response to the power transition. </p> <fig id="GUID-ACC6E7E3-71E3-5553-B433-9017CB04513D">
-<image href="GUID-65F3E8BD-22C9-5CF2-A3CC-270C24ADECC0_d0e388259_href.png" placement="inline"/>
+<image href="GUID-65F3E8BD-22C9-5CF2-A3CC-270C24ADECC0_d0e394112_href.png" placement="inline"/>
 </fig> <p>Before calling <xref href="GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366.dita#GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366/GUID-0642129D-05F2-3AB0-B562-37A7BB7A275F"><apiname>DPowerController::EnableWakeupEvents()</apiname></xref>,
 the power manager sets the <codeph>iTargetState</codeph> member of <codeph>DPowerController</codeph> to
 the applicable <xref href="GUID-87AB8B20-04EE-31D2-8F3D-EA904D05B8D0.dita"><apiname>TPowerState</apiname></xref>. This means that you can enable
--- a/Symbian3/PDK/Source/GUID-34DB27CB-9010-5B7F-A51E-0CA794147CAE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-34DB27CB-9010-5B7F-A51E-0CA794147CAE"><title>macro</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>macro</codeph>  <varname>macro-list</varname>  </p> <p>Where, <varname>macro-list</varname> =<varname>macro_name_1</varname> <varname>macro_name_2=value_2</varname>...<varname>macro_name_n</varname>  </p> <p>Use the <codeph>macro</codeph> statement to specify <codeph>#defines</codeph> for the preprocessing of source code. You can specify multiple macros separated by a space. if required, you can also assign values to those macros. </p> <p> <b>Note</b>: It is not mandatory that all the macros listed must have a value. </p> <p>Each macro specified is passed to the complier using the option <codeph>-d</codeph> for preprocessing the C++ source code in your project. </p> <section><title>Example</title> <codeblock id="GUID-5435FAD4-7594-5CB9-B0D1-FBF4FA2A2101" xml:space="preserve">MACRO _MACRO1 _MACRO2=value2</codeblock> <p>To check whether these macros are passed to the compiler or not, use the <xref href="GUID-AD5C89AC-51CD-5CC0-961C-62F38E9BEA33.dita">-verbose</xref> <xref href="GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E.dita">abld</xref> option. </p> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054" xml:lang="en"><title>SIF Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-A3BAEDB1-D62E-4877-84E2-8C247FF9DDFF"><title>Purpose</title> <p>SIF provides uniform interfaces for installation of software
+and management of software Symbian platform devices regardless of
+the type of a package. The uniform interfaces provided by SIF enable: </p> <ul>
+<li id="GUID-3A207AF4-C957-566D-94A6-0EE9D4FC46A8"><p>Installation
+of software, for example SIS or JAR files. </p> </li>
+<li id="GUID-85E29288-459D-5FE2-8668-E32848B4AF19"><p>Management of
+software, for example removing an existing software component installed
+on a device. </p> </li>
+<li id="GUID-F8C01B68-14DF-5631-A0C5-C27BB1A005E7"><p>Extracting package
+information. </p> </li>
+</ul> </section>
+<section id="GUID-ED363D15-01A7-4D9D-A8DF-F4D9A0618788"><title>Architecture</title> <p>The following diagram illustrates the SIF interaction with SWI,
+AppArc and other components of the Universal Software Installation
+Framework : </p><fig id="GUID-2F4266C8-C5C7-44A3-A65A-4448919BBEDF">
+<title>SIF interaction diagram</title>
+<image href="GUID-9B97E076-22CB-434A-B16A-E4CE3A859F05_d0e41292_href.jpg" placement="inline"/>
+</fig><fig id="GUID-14AE4786-0AFB-4B5C-9306-1B112985FF7B">
+<image href="GUID-41CE73A7-4820-417D-8AD7-92F9DB9C552A_d0e41296_href.jpg" placement="inline"/>
+</fig> <p> <b>SIF Transport Library</b>  </p> <p>This is a client-server
+framework used to send and receive SIF requests across a process boundary.
+It significantly reduces the time needed to implement an installer
+client and a server for sending and receiving SIF requests. The SIF
+Transport Library consists of a SIF Transport Client and a Server. </p> <p>The SIF Transport Client sends software management requests (for
+example, installation, uninstallation, activation, deactivation and
+so on) across the process boundary to a specified SIF Transport Server.
+The SIF Transport Server processes the requests from the SIF Transport
+Client by instantiating a SIF Transport session object and hands over
+further processing to it. </p> <p> <b>SIF Utility library</b>  </p> <p>This library provides an API for uninstalling a software component
+from the system and is for simple installers. It removes the component
+from the System Component Registry (SCR) and deletes its files from
+the file system. </p> <p> <b>SIF Launcher</b>  </p> <p>SIF Launcher
+is a SIF component that handles installation requests from the AppArc
+APIs. Installation requests are issued by generic clients, such as
+file or web browsers. When the user clicks on a file or link, a browser
+may use <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-FE6E7F9F-86AB-398E-A979-90F1DAC93E71"><apiname>RApaLsSession::StartDocument()</apiname></xref> to start
+the SIF Launcher automatically.</p> <p><b>Notifier Framework</b></p><p>There is a need to receive progress notifications during package
+management operations, such as installation, upgradation and uninstallion.
+The native and non-native installers follow legacy mechanisms to publish
+the installation context.  If each installer provides a different
+publication mechanism, the observers of the events need to make additional
+changes relevant to the installer. To overcome this redundancy, SIF
+provides a unified notification mechanism that makes receiving progress
+notifications simpler. </p><p>The Notifier framework delivers the
+start, progress and completion status of SIF operation (install or
+uninstall) to registered clients in a unified mechanism. The Publish
+and Subscribe Keys defined by the Universal Software Install Framework
+(USIF) can be used by all installers to <xref href="GUID-6A9E486A-6C1B-4E31-832A-FD39AF041817.dita">publish the progress
+of operations</xref>. The clients must <xref href="GUID-FDA575AB-F5A5-4244-B47C-F1B1794F09F6.dita">subscribe to receive
+the progress notifications</xref>.</p><p> A utility library is provided
+with APIs that set and publish the SIF operation progress. Installers
+and client applications can use these APIs to publish and subscribe
+for install, upgrade and uninstall status notifications.</p></section>
+<section id="GUID-B0AD8013-8166-411C-BA70-E0FC494094B2"><title>Key
+Classes</title> <p>The following table summarizes the key classes
+of SIF: </p> <table id="GUID-95FAE876-4A42-5AFA-8D92-B14E4B3C3B8B">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>Class Name</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-1A295877-CBEF-3C5C-A72E-FFB5D2E57B22.dita"><apiname>RSoftwareInstall</apiname></xref>  </p> </entry>
+<entry><p>Provides an asynchronous interface to SIF. This class wraps
+all the details of client-server communication with the SIF server
+residing in a separate process. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-CD380D01-8649-36E4-8435-C6F600D5A5CF.dita"><apiname>CSifPlugin</apiname></xref>  </p> </entry>
+<entry><p>Is an abstract SIF plug-in
+interface. Derived classes must implement the functions of the interface
+for each particular software type. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-D526646E-45DB-3DC4-9384-CFF02C590F74.dita"><apiname>RSifTransportClient</apiname></xref>  </p> </entry>
+<entry><p>Is a client side of the SIF Transport. This class sends
+software management requests across the process boundary to a specified
+Transport Server. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-6C066A48-4889-302B-879B-4A07552C3AFC.dita"><apiname>CSifTransportTask</apiname></xref>  </p> </entry>
+<entry><p>Defines an abstract interface for SIF Transport tasks. It
+is the core class of the SIF Transport library. Transport tasks are
+instantiated and run to handle incoming software management requests. </p> </entry>
+</row>
+<row>
+<entry><p><xref href="GUID-F1D2CE7E-B5B9-3E35-B648-55F1B24E6272.dita"><apiname>CSifOperationStartData</apiname></xref></p></entry>
+<entry><p>Contains basic information
+about packages to be installed or uninstalled.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-4F0E57D3-CE4C-3A41-951B-F2BB43E7BA34.dita"><apiname>CSifOperationEndData</apiname></xref> </p></entry>
+<entry><p>Contains the error status
+information after an installation or uninstallation.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-DBEB6AEF-2128-3566-93AA-3CDB5D554B1E.dita"><apiname>CSifOperationProgressData</apiname></xref></p></entry>
+<entry><p>Provides the progress
+status.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita"><apiname>CPublishSifOperationInfo</apiname></xref></p></entry>
+<entry><p>Is used by installers
+to publish a single install, uninstall or update operation information.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-4683B704-D21C-3D42-82BB-2B4B88B4974C.dita"><apiname>MSifOperationsHandler</apiname></xref></p></entry>
+<entry><p>Is an interface class
+required to be implemented by the client class to receive notifications.
+This class has functions that notify about the SIF operation start,
+end and progress updates.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-33D234E5-2970-3521-BDB9-EE29C9165856.dita"><apiname>CSifOperationsNotifier</apiname></xref></p></entry>
+<entry><p> An object of the class
+is created for carrying out subscription to notification. </p></entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-7B431AC3-6B81-40A1-98E4-31CA7B20B5DE"><title>Typical
+uses</title> <p>You can use the APIs provided by SIF to <xref href="GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977.dita">create an installer</xref> . When you use SIF with SCR you can perform <xref href="GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042.dita">application management
+functions</xref> such as listing software components on a device and
+extracting package information about a software component. </p> </section>
+</conbody><related-links>
+<link href="GUID-B2BD19A4-132E-5D5C-8870-04BADB6E7815.dita"><linktext>SIF
+Tutorial</linktext></link>
+<link href="GUID-2AB7F53A-5EDF-574D-866D-EF2592881559.dita"><linktext>Configuring
+the SIF Launcher</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3527AAEE-210F-524B-A655-A65F1CE86C80.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3527AAEE-210F-524B-A655-A65F1CE86C80" xml:lang="en"><title>How
-to build a resource file</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Resource building is performed by the <filepath>epocrc</filepath> tool.
-It is a three-stage process:</p>
-<ul>
-<li id="GUID-06BFE8CC-6DB9-5FE0-97CF-9176B6832C92"><p>pre-processing</p> </li>
-<li id="GUID-78EF35B1-B93B-54C7-8991-F1DAA1FB2B39"><p>localised string merging</p> </li>
-<li id="GUID-C217A7AC-2919-5587-BB58-5744C1FDF5D8"><p>compilation to binary
-format</p> </li>
-</ul>
-<p>The sections below describe each stage in turn.</p>
-<section><title>Pre-processing</title><p>Resource files can use the familiar
-pre-processor directives. In particular, <codeph>#include</codeph> is used
-to include header files; <codeph>#define</codeph> is used to define macros
-such as numeric constants; and <codeph>#if</codeph> and related directives
-can be used to perform conditional compilation. Pre-processor arguments for
-include file paths and macro definitions can be passed to the pre-processor
-through <filepath>epocrc</filepath>.</p><p>The source file is pre-processed,
-using the <filepath>cpp</filepath> pre-processor, and an output file produced
-with an extension <filepath>.rpp</filepath>.</p></section>
-<section><title>Merging localised strings</title><p>Strings that should be
-localised should not be defined in the resource file itself, but in separate
-files with an <filepath>.rls</filepath> extension. The <filepath>.rpp</filepath> files
-are processed by <filepath>epocrc</filepath> to merge in the localisable strings.</p><p>A
-flag can also be specified to <filepath>epocrc</filepath> that causes it to
-copy the <filepath>.rpp</filepath> files into a <filepath>epoc32\localisation\</filepath> directory,
-from where they can form input into a localisation kit.</p></section>
-<section><title>Compilation to binary format</title><p>The final
-stage is to convert the intermediary <filepath>.rpp</filepath> files into
-the final compiled format. This is done by the <filepath>rcomp</filepath> tool.
-The resource compiler also produces a header file that contains a symbolic
-identifier for each resource.</p><p>The names of the output files are specified
-as parameters to <filepath>epocrc</filepath>. Note though that:</p><ul>
-<li id="GUID-1575F474-7035-55E8-A37D-1E7CF8B825BC"><p> resource files as built
-by the project build tools (<filepath>abld</filepath>) have the default extension <filepath>.rsc</filepath>.
-The additional naming conventions used when you need to supply multiple resource
-files, each for a different locale, are discussed in <xref href="GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita">How
-to localise resources</xref> </p> </li>
-<li id="GUID-8940240B-69E5-51B2-9335-67E63822D6FF"><p> by convention, the
-header file has an extension <filepath>.rsg</filepath> </p> </li>
-</ul><p>The identifiers in the header file provide symbolic names for index
-positions in the resource file, so that your source code can be independent
-of the number and order of resources within the file. For a named resource
-such as:</p><codeblock id="GUID-2FC8E745-72D6-5837-84EC-9C275445FFE5" xml:space="preserve">RESOURCE TBUF r_eik_bafl_error_offset { buf="Wrong format resource file"; }</codeblock><p>the generated header file will have a <codeph>#define</codeph> such as:</p><codeblock id="GUID-39701585-375F-529C-A059-4504B420A61E" xml:space="preserve">#define R_EIK_BAFL_ERROR_OFFSET 0xf3b045</codeblock><p>where
-the number is a resource ID which encodes the resource index, and is suitable
-for passing to the C++ function <codeph>RResourceFile::AllocReadLC()</codeph>.</p><p>In
-the course of project development, changes to the resource file may not always
-result in changes to the set of <codeph>#define</codeph> statements generated.
-If there is no change, the <filepath>rsg</filepath> file is not rebuilt, thereby
-avoiding unnecessary re-compilation and linking.</p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3542A39C-8D0F-53A0-A5A2-81F381D3BA7B_d0e522848_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3542A39C-8D0F-53A0-A5A2-81F381D3BA7B_d0e530308_href.png has changed
Binary file Symbian3/PDK/Source/GUID-35521A99-3F1F-5EE1-8078-FFD8A298C0BD_d0e239685_href.png has changed
Binary file Symbian3/PDK/Source/GUID-35521A99-3F1F-5EE1-8078-FFD8A298C0BD_d0e245695_href.png has changed
--- a/Symbian3/PDK/Source/GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5" xml:lang="en"><title>version</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>version</codeph>  <varname>major.minor</varname> <codeph>[explicit]</codeph>  </p>
-<p>The <codeph>version</codeph> keyword allows a version number to be set
-for a project. The optional keyword, <codeph>explicit</codeph> is used to
-append the specified version number to the <filepath>.exe</filepath> or <filepath>.dll</filepath> output
-file. </p>
-<p>EKA1 will only allow one version of an executable to exist in a Symbian
-platform phone. However, EKA2 supports version numbering. Version numbering
-associates a version number with each executable enabling new and old versions
-of the same executable to be on the device simultaneously. </p>
-<p>The <codeph>version</codeph> keyword takes a major and a minor value separated
-by a full stop. This value is defined as 32 bit, anything exceeding this will
-produce a warning. Failing to enter a value will result in a warning and a
-default value of 10.0 being supplied for binaries built with an EABI compliant
-compiler. Omitting the version keyword altogether will also result in a default
-of 10.0 being applied. The version number can be found at Hexadecimal offset
-70 within the header of the executable file in ROM. </p>
-<p>Usage of the version keyword is optional. One use is to aid eclipsing.
-In order to eclipse a file on ROM successfully the version of the new file
-can be set to a higher value than the version of the file to eclipse. This
-tells the loader that the new file is preferred over the old one. </p>
-<p>See the <xref href="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita#GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0/GUID-124e78dc-2c94-4901-a90b-20ddc2f3ad66">Important
-Considerations</xref> section for more information. </p>
-<p>The loader will show preference to versions that have a major number that
-is equal to the one requested, and of these the minor numbers
-that are higher are preferred. The loader can assume by the version number
-that the API is compatible, while also being the most up to date version available. </p>
-<p>If the above is not available the loader will look for DLLs with a higher
-major version number than the one requested. Of these it will select the one
-with the lowest major number and the highest minor number. If the executable
-requests exports that no longer exist in this DLL, then the loader cannot
-use it. </p>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e355800_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e361702_href.png has changed
Binary file Symbian3/PDK/Source/GUID-356B54BB-E389-5562-A2D9-80A472EAC9A3_d0e8880_href.png has changed
Binary file Symbian3/PDK/Source/GUID-356B54BB-E389-5562-A2D9-80A472EAC9A3_d0e9002_href.png has changed
Binary file Symbian3/PDK/Source/GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e2014_href.png has changed
Binary file Symbian3/PDK/Source/GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e2022_href.png has changed
Binary file Symbian3/PDK/Source/GUID-358634A7-8757-5D4C-B967-8040B7F39102_d0e434370_href.png has changed
Binary file Symbian3/PDK/Source/GUID-358634A7-8757-5D4C-B967-8040B7F39102_d0e440215_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3596A468-DC46-51B1-BD88-B7665CB69E0E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3596A468-DC46-51B1-BD88-B7665CB69E0E" xml:lang="en"><title>CryptoSPI</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-35D49549-1F4D-583F-A45D-9B557A207DD2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-35D49549-1F4D-583F-A45D-9B557A207DD2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,55 +1,44 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-35D49549-1F4D-583F-A45D-9B557A207DD2" xml:lang="en"><title>GlassTerm:
-glass teletype terminal</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-1D23EC68-021A-43E5-8584-28D8E85C0E62"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e132f025-ded6-4ae4-8a4d-dc50d344b55b.zip" scope="external">GlassTerm.zip</xref></p>Download some additional files required
-by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.zip" scope="external">CommonFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e132f025-ded6-4ae4-8a4d-dc50d344b55b.html" scope="peer">browse</xref> to view the example code. </p>View the additional
-files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.html" scope="peer">browse</xref>. </section>
-<section id="GUID-A2E5D50F-2DD3-4A5A-8433-13B8BADEB77B"><title>Description</title> <p>GlassTerm is a terminal application
-with configurable handshaking that illustrates the use of the Serial Communications
-API. </p> </section>
-<section id="GUID-5DDD6F0D-50FA-4887-A61F-2E6C8074E168"><title>Class Summary</title><p><xref href="GUID-3B4E8ED5-72F7-3E51-B188-3C1045526DDF.dita"><apiname>RComm</apiname></xref>: serial port</p><p><xref href="GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306.dita"><apiname>RCommServ</apiname></xref>:
-Comms server</p><p><xref href="GUID-076DD315-CE3F-3640-BAB4-0FC51C906820.dita"><apiname>TCommCaps</apiname></xref>: serial port capabilities
-(in package buffer) </p><p><xref href="GUID-BF099B27-4E8A-3765-A6A8-DB88DB4F4F2E.dita"><apiname>TCommConfig</apiname></xref>: serial port configuration
-(in package buffer)  </p><p><xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref>: asynchronous
-request status </p><p><xref href="GUID-A6E4627A-A3AE-3B64-9E5C-710EE15C5595.dita"><apiname>TSerialInfo</apiname></xref>: serial protocol information </p></section>
-<section id="GUID-2925258F-CF25-46F7-B6B6-761615C7526B"><title>Build</title> <p>The source code for this example application
-can be found in the directory: </p> <p> <filepath>examples\SerialComms\ServerClientSide\GlassTerm</filepath>  </p> <p>The
-source code may be in the directory in which you installed the Symbian platform,
-or it may be in <filepath>src\common\developerlibrary\</filepath>. The source
-code includes the two project files needed for building the example: <filepath>bld.inf</filepath> and
-the <filepath>.mmp</filepath> file. </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this application, which
-results in an executable called <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or udeb&gt;\GLASSTERM.EXE</filepath>. </p> </section>
-<section id="GUID-13E2D7B4-19BD-4EF5-BD11-96858ED96A9C"><title>Usage</title> <ol id="GUID-1DB8E591-3818-51E6-BDE0-89FFE8B6F96A">
-<li id="GUID-A399AF4D-E821-5341-9645-B7F0FA42B76A"><p>Run the executable <filepath>GLASSTERM.EXE</filepath>. </p> <p>Executables
-for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can
-be run on your PC. Executables for ARM targets must be copied to your target
-platform before being run. </p> </li>
-<li id="GUID-BD9D8050-474C-5FD0-8485-08CED5D8AEEF"><p>Once running, the glass
-teletype application performs two simple functions: </p> <ul>
-<li id="GUID-3384ABA3-13A8-57F7-BE4F-7CC322BDA464"><p>Read any key presses
-and send the characters to the serial port. </p> </li>
-<li id="GUID-A44E9991-D87A-5E20-BC01-91454379BFF8"><p>Receive any incoming
-characters from the serial port and display them on screen. </p> </li>
-</ul> <p>It sends and receives at 19200 baud, 8 data bits, no parity, 1 stop
-bit. </p> </li>
-</ol> <p>In order to see the application working, you must make a suitable
-serial port connection. A simple way is to connect a PC and a Symbian device,
-and run the application on both machines simultaneously. (Before doing this,
-make sure to close down any other applications using the serial port on the
-PC, and set the device's <systemoutput>Link To Desktop</systemoutput> option
-to <systemoutput>Off</systemoutput>). Characters typed on one machine are
-then echoed to the application on the other. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-35D49549-1F4D-583F-A45D-9B557A207DD2" xml:lang="en"><title>GlassTerm: glass teletype terminal</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-1D23EC68-021A-43E5-8584-28D8E85C0E62"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e132f025-ded6-4ae4-8a4d-dc50d344b55b.zip" scope="external">GlassTerm.zip</xref></p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.zip" scope="external">CommonFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e132f025-ded6-4ae4-8a4d-dc50d344b55b.html" scope="peer">browse</xref> to view the example code. </p>View the
+additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-16f2a07d-2ace-4a32-b383-6f1352dfd72e.html" scope="peer">browse</xref>. </section>
+<section id="GUID-A2E5D50F-2DD3-4A5A-8433-13B8BADEB77B"><title>Description</title> <p>GlassTerm is a terminal application with configurable handshaking
+that illustrates the use of the Serial Communications API. </p> </section>
+<section id="GUID-5DDD6F0D-50FA-4887-A61F-2E6C8074E168"><title>Class
+Summary</title><p><xref href="GUID-3B4E8ED5-72F7-3E51-B188-3C1045526DDF.dita"><apiname>RComm</apiname></xref>: serial port</p><p><xref href="GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306.dita"><apiname>RCommServ</apiname></xref>: Comms server</p><p><xref href="GUID-076DD315-CE3F-3640-BAB4-0FC51C906820.dita"><apiname>TCommCaps</apiname></xref>: serial port capabilities (in package buffer) </p><p><xref href="GUID-BF099B27-4E8A-3765-A6A8-DB88DB4F4F2E.dita"><apiname>TCommConfig</apiname></xref>: serial port configuration (in package buffer)  </p><p><xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref>: asynchronous request status </p><p><xref href="GUID-A6E4627A-A3AE-3B64-9E5C-710EE15C5595.dita"><apiname>TSerialInfo</apiname></xref>: serial protocol information </p></section>
+<section id="GUID-2925258F-CF25-46F7-B6B6-761615C7526B"><title>Build</title> <p>The source code for this example application can be found in
+the directory: </p> <p> <filepath>examples\SerialComms\ServerClientSide\GlassTerm</filepath>  </p> <p>The source code may be in the directory in which you installed
+the Symbian platform, or it may be in <filepath>src\common\developerlibrary\</filepath>. The source code includes the two project files needed for building
+the example: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p>The Symbian build process describes how to build this
+application, which results in an executable called <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or udeb&gt;\GLASSTERM.EXE</filepath>. </p> </section>
+<section id="GUID-13E2D7B4-19BD-4EF5-BD11-96858ED96A9C"><title>Usage</title> <ol id="GUID-1DB8E591-3818-51E6-BDE0-89FFE8B6F96A">
+<li id="GUID-A399AF4D-E821-5341-9645-B7F0FA42B76A"><p>Run the executable <filepath>GLASSTERM.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can be run on your
+PC. Executables for ARM targets must be copied to your target platform
+before being run. </p> </li>
+<li id="GUID-BD9D8050-474C-5FD0-8485-08CED5D8AEEF"><p>Once running,
+the glass teletype application performs two simple functions: </p> <ul>
+<li id="GUID-3384ABA3-13A8-57F7-BE4F-7CC322BDA464"><p>Read any key
+presses and send the characters to the serial port. </p> </li>
+<li id="GUID-A44E9991-D87A-5E20-BC01-91454379BFF8"><p>Receive any
+incoming characters from the serial port and display them on screen. </p> </li>
+</ul> <p>It sends and receives at 19200 baud, 8 data bits, no parity,
+1 stop bit. </p> </li>
+</ol> <p>In order to see the application working, you must make a
+suitable serial port connection. A simple way is to connect a PC and
+a Symbian device, and run the application on both machines simultaneously.
+(Before doing this, make sure to close down any other applications
+using the serial port on the PC, and set the device's <systemoutput>Link To Desktop</systemoutput> option to <systemoutput>Off</systemoutput>). Characters typed on one machine are then echoed to the application
+on the other. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD" xml:lang="en"><title>evalid
-Command Syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Purpose</title> <p> evalid compares two files, or two trees
-of files, ignoring insignificant differences in some types of files. You can
-use it to check if the behaviour and compatibility of a build has changed,
-without having to run complex BC (Binary Compatibility) checking tools or
-regression tests. </p> <p>Typically, evalid is useful when you make changes
-in the source code or in the build environment, which do not affect the built
-files. Such source changes include adding comments, or configured code that
-should not be built in the configuration that you are testing. You can use
-evalid to compare new and old builds, and check for differences. </p> <p>Standard
-diff tools would typically flag environment information, such as time stamps,
-as differences, whereas evalid has better comparison rules that allows it
-to ignore insignificant differences. </p> <p>You can use evalid in two ways:
-to directly compare files, or to generate a hash (using the MD5 algorithm)
-of files, and then later compare the hashes. The second method can be more
-convenient, as it does not require both builds to be available when the comparison
-is done. </p> </section>
-<section id="GUID-478305DC-1A5E-5FAB-841A-5B40A4A3443A"><title>Usage</title> <p> evalid
-is a command-line tool, delivered in the <filepath>epoc32\tools</filepath> directory
-of the Symbian platform kit. You can invoke it with various options, depending
-on the task you want to perform. This section describes these options. </p> <p>The
-results from running the tool are written by default to a log file <filepath>evalid.lis</filepath>.
-You can change the log file, or choose to log to screen, using the <xref href="GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD.dita#GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD/GUID-B4AA5F08-7AEF-5AFC-B316-ADD972BF0A2D">Log options</xref> flags. The meanings of the log messages are described
-in the <xref href="GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD.dita#GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD/GUID-80209D4B-081E-5C93-ADF4-FB968558B4B3">Log
-messages</xref> section. The tool terminates with an error message if the
-files or directories specified as input arguments do not exist. </p> <p><b>Directly
-compare two files</b> </p> <p><userinput>evalid <parmname>[log-options]</parmname> <cmdname>file1</cmdname> <cmdname>file2</cmdname> </userinput> </p> <p>This compares <varname>file1</varname> against <varname>file2</varname>. </p> <p><b> Recursively
-compare two directory trees </b> </p> <p><userinput>evalid <parmname>[log-options]</parmname> <cmdname>directory1</cmdname> <cmdname>directory2</cmdname> </userinput> </p> <p>This compares each file in the directory tree <varname>directory1</varname> against
-the corresponding file in the directory tree <varname>directory2</varname>. </p> <p><b>Recursively
-create MD5 hashes for a directory tree</b> </p> <p><userinput>evalid <parmname>[log-options]</parmname> <parmname>-g</parmname> [<parmname>-x
-             regular-expression</parmname>] [<parmname>-I              regular-expression</parmname>] <cmdname>directory1</cmdname> <cmdname>file1</cmdname> </userinput> </p> <p>Option <codeph>-g</codeph> creates an MD5 hash for
-each file in <varname>directory1</varname>, and stores this data in the file <varname>file1</varname>. </p> <p>You
-can then compare two directories by passing their hash data files to evalid
-using the <codeph>-m</codeph> option, described below. </p> <p>You can limit
-the files that are processed using these filter options: </p> <table id="GUID-7364348F-D590-51A0-A5EE-D81D4877CDBD">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-x</codeph>  <varname>regular-expression</varname>  </p> </entry>
-<entry><p>Exclude files with names that match the specified Perl regular expression.
-Syntax for Perl regular expressions can be found at <xref href="http://www.perl.com/pub/q/documentation" scope="external">http://www.perl.com</xref>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-I</codeph>  <varname>regular-expression</varname>  </p> </entry>
-<entry><p>Include only files with names that match the specified Perl regular
-expression. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>Inclusions take precedence over exclusions if both expressions
-match. </p> <p><b>Create MD5 hashes of specified files</b> </p> <p><userinput>evalid <parmname>[log-options]</parmname> <parmname>-f</parmname> [<parmname>-x              regular-expression</parmname>] [<parmname>-I            
- regular-expression</parmname>] <cmdname>listfile</cmdname> <cmdname>directory1</cmdname> <cmdname>file1</cmdname> </userinput> </p> <p>Option <codeph>-f</codeph> creates an MD5 hash for each file listed in the file <varname>listfile</varname>,
-and stores this data in the file <varname>file1</varname>. </p> <p>The <varname>listfile</varname> must
-contain a list of files, one per line. File paths should be specified relative
-to <varname>directory1</varname>, and must not start with a directory separator
-(<filepath>\</filepath>). </p> <p>You can limit the files that are processed
-using the <codeph>-x</codeph> and <codeph>-I</codeph> options, as described
-above for the <codeph>-g</codeph> option. </p> <p><b>Compare two MD5 hash
-data files</b> </p> <p><userinput>evalid <parmname>[log-options]</parmname> <parmname>-m</parmname>  <cmdname>file1</cmdname> <cmdname>file2</cmdname> </userinput> </p> <p>Option <codeph>-m</codeph> compares the MD5 hashes
-in <varname>file1</varname> (created using option <codeph>-g</codeph> or <codeph>-f</codeph>)
-against those in <varname>file2</varname>. </p> <p><b>Compare two MD5 hash
-data files, and update directory</b> </p> <p><userinput>evalid <parmname>[log-options]</parmname> <parmname>-u</parmname>  <cmdname>file1</cmdname> <cmdname>file2</cmdname> </userinput> </p> <p>Option <codeph>-u</codeph> is
-an alternative to <codeph>-m</codeph>. It creates batch files that you can
-run to change the files defined by <varname>file1</varname> to be the same
-as the files defined by <varname>file2</varname>. </p> <p>The output batch
-file <filepath>del_&lt;file1&gt;_to_&lt;file2&gt;.bat</filepath> deletes files that
-are defined in <varname>file1</varname> but not in <varname>file2</varname>. </p> <p>The
-output batch file <filepath>zip_&lt;file1&gt;_to_&lt;file2&gt;.bat</filepath> creates
-a zip of the files that are defined in <varname>file2</varname> but not in <varname>file1</varname>,
-and of files that are defined in both, but are different. </p> <p><b>Create
-a dump of descriptive information required for analysis</b> </p> <p>As part
-of MD5 generation, the tool extracts descriptive information about the files
-being compared, and uses it in its comparisons. Creating a dump file of this
-descriptive information, helps in the detailed analysis of significant differences
-between the two files. It also helps in troubleshooting, if the tool fails
-to list all the significant differences between the two files. The following
-is the syntax to creating a dump file of the descriptive information: </p> <p><userinput>evalid <parmname>[log-options]</parmname>  <parmname>-f
-|              -g</parmname> [<parmname>-x              regular-expression</parmname>]
-[<parmname>-I              regular-expression</parmname>] [<parmname>-d  
-           dump-directory</parmname>] <cmdname>listfile</cmdname> <cmdname>directory1</cmdname> <cmdname>file1</cmdname> </userinput> </p> <p>Where,
-the <codeph>-d</codeph> option creates a dump file for each of those files
-listed in <varname>listfile</varname> or <varname>directory1</varname> using
-the <codeph>-f</codeph> or <codeph>-g</codeph> MD5 generation options. The
-dump files are placed in the <varname>dump              directory</varname> with
-the directory structure that is similar to the input directory structure. </p> <p>For
-example, consider the following DLLs which are two different builds of the
-same DLL, but are significantly different in content: </p> <p> <filepath>D:\epoc32\release\armv5\urel\mycomponent.dll</filepath>  </p> <p> <filepath>E:\epoc32\release\armv5\urel\mycomponent.dll</filepath>  </p> <p>Using the
-following commands to dump files and generate MD5 hash for both the DLLs: </p> <p><userinput>evalid
--d \buildone -g epoc32 buildone.md5</userinput> </p> <p><userinput>evalid
--d \buildtwo -g epoc32 buildtwo.md5</userinput> </p> <p>Apart from generating
-the two <filepath>.md5</filepath> files, the commands listed above also generate
-the following dump files with the directory structure: </p> <p> <filepath>D:\buildone\epoc32\release\armv5\urel\mycomponent.dll</filepath>  </p> <p> <filepath>E:\buildtwo\epoc32\release\armv5\urel\mycomponent.dll</filepath>  </p> <p>Both
-the files listed above are text files containing descriptive information about
-the two different builds of <filepath>mycomponent.dll</filepath>. A text compare
-between these two dump files would list differences between the two builds
-of <filepath>mycomponent.dll</filepath> that evalid views as significant.
-In the case of comparing two directory trees, a recursive comparison between
-the two dump directories (<filepath>buildone</filepath> and <filepath>buildtwo</filepath>)
-using Beyond Compare would list the differences between the directories. </p> <p> <b>Note:</b> If
-the evalid tool decides to examine an input file without any further processing,
-then the generated MD5 hash is based directly on the input file. Using <codeph>-d</codeph> option
-in such situations, copies the input file as it is to the dump directory.
-Comparing the two dump directories containing a copy of the input files, is
-similar to comparing the MD5 files based on the input files, using evalid. </p> <p id="GUID-B4AA5F08-7AEF-5AFC-B316-ADD972BF0A2D"><b>Log options</b> </p> <p>The <varname>log-options</varname> options
-control how the tool outputs its results: </p> <table id="GUID-1EC54E5C-85E7-5AF7-B00C-F337E29C9D57">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph> -v</codeph>  </p> </entry>
-<entry><p>Provide verbose information about failed comparisons. </p> <p>This
-has no effect on MD5 operations. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-c</codeph>  </p> </entry>
-<entry><p>Print results to standard out (i.e. the screen). </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-l &lt;logfile&gt;</codeph>  </p> </entry>
-<entry><p>Append results to specified file. </p> <p>This has no effect when
-used with <codeph>-u</codeph>. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>By default, output is written to the file <filepath>evalid.lis</filepath>. </p> <p><b> File
-and directory argument shorthand</b> </p> <p>Note that you can use the following
-shorthand in file and directory arguments: </p> <p> <codeph>evalid file1 dir2</codeph> is
-equivalent to <codeph>evalid file1              dir2\file1</codeph>. </p> <p> <codeph>evalid
-dir1 file1</codeph> is equivalent to <codeph>evalid              dir1\file1
-file1</codeph>. </p> </section>
-<section id="GUID-80209D4B-081E-5C93-ADF4-FB968558B4B3"><title>Log messages</title> <p> evalid
-reports the result of each file comparison that it performs. </p> <p>For example,
-in a direct comparison, the meaning of these messages are as follows: </p> <table id="GUID-4B5D8D0A-145A-5CBB-B07E-2A6B969AE071">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <b>Message type</b>  </p> </entry>
-<entry><p> <b>Explanation</b>  </p> </entry>
-</row>
-<row>
-<entry><p> <codeph> OK: ... (identical) </codeph>  </p> </entry>
-<entry><p>Files are exactly the same. For example: </p> <codeblock id="GUID-3458E2BF-A9AE-50B4-94D8-9B8727B39C6E" xml:space="preserve">OK: epoc32\release\armv5\urel\XMLDOM.DLL and epoc32_master\release\armv5\urel\XMLDOM.DLL (identical)</codeblock> </entry>
-</row>
-<row>
-<entry><p> <codeph> OK: ... (&lt;type&gt;)</codeph>  </p> </entry>
-<entry><p>The files are different, but the comparison rules for the file type
-indicate that the difference is not significant. For example: </p> <codeblock id="GUID-68819FCD-1FA0-52D6-8FD1-11840D302D09" xml:space="preserve">OK: epoc32\release\armv5\urel\cprov.exe and epoc32_master\release\armv5\urel\cprov.exe (E32 EXE) </codeblock> </entry>
-</row>
-<row>
-<entry><p> <codeph>MISSING:...</codeph>  </p> </entry>
-<entry><p>A file that is present in the first tree is not present in the second.
-For example: </p> <codeblock id="GUID-1542FC15-3819-56D8-A1B3-94C0035729F4" xml:space="preserve">MISSING: epoc32_master\release\armv5\urel\alink.dll </codeblock> <p>Note
-that evalid does not check to see if files in the second tree are present
-in the first. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>FAILED:... </codeph>  </p> </entry>
-<entry><p>There is a significant difference between the files. If evalid does
-not know the type of the files being compared, it does a binary comparison,
-so any time stamp differences cause it to report a failure. </p> <p>For example: </p> <codeblock id="GUID-3CD93458-14F8-5A36-861C-FC6B7453FC6C" xml:space="preserve">FAILED:    epoc32\release\armv5\urel\ASN1.DLL and epoc32_master\release\armv5\urel\ASN1.DLL (Compressed E32 DLL)</codeblock> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>For an MD5 comparison, the meaning of these messages is as follows: </p> <table id="GUID-489A4DD4-38D9-5A4A-8DD0-EBC66300A203">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <b>Message type</b>  </p> </entry>
-<entry><p> <b>Explanation</b>  </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>Passed </codeph>  </p> </entry>
-<entry><p>Files have no significant differences. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>Failed</codeph>  </p> </entry>
-<entry><p>There is a significant difference between the files. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>Missing Left</codeph>  </p> </entry>
-<entry><p>A file listed in the first MD5 file is not present in the second. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>Missing Right</codeph>  </p> </entry>
-<entry><p>A file listed in the second MD5 file is not present in the first. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-<section id="GUID-153BF974-534C-58E0-A6E7-CF9AEEFD489A"><title>Recognized
-file types</title> <p>These are the types of files for which evalid has special
-support for finding and ignoring insignificant differences: </p> <ul>
-<li id="GUID-2BCA1EC9-2C22-5FF4-90DA-AECB2B7E94FC"><p>ELF format </p> </li>
-<li id="GUID-C9C638B6-A697-5BFD-BD6F-D2DAD9EB78BE"><p>E32 Image (Symbian platform
-executables) </p> </li>
-<li id="GUID-649F98D8-01A6-53A4-A978-65FFA37ED81E"><p>EPOC Permanent File
-Store </p> </li>
-<li id="GUID-0E343A53-DF61-5F2C-961E-AB43A2F9FBCA"><p>MAP files from the GNU
-Linker, CodeWarrior and RVCT </p> </li>
-<li id="GUID-2E9B3FE7-0D67-5369-AEB7-81AED46B5F3F"><p>Microsoft Compiled HTML
-Help </p> </li>
-<li id="GUID-DD8E4C47-0E33-5366-A362-414DE54B1247"><p>Microsoft PE COFF (Windows/MS-DOS
-executables, object files, and import and static libraries) </p> <p>Note that
-comparisons of such files requires that Microsoft's DUMPBIN tool from Microsoft
-Visual Studio v6 is installed. </p> </li>
-<li id="GUID-4FA0265A-1448-52CC-9D7F-2210BC340428"><p>Pre-processor (<filepath>cpp.exe</filepath>)
-output </p> </li>
-<li id="GUID-31B3FDCF-0B55-568F-A184-2253825AA4A9"><p>SGML (including XML
-and HTML) </p> </li>
-<li id="GUID-2F3CC859-AAC1-5A32-A10D-D258A03E7EAB"><p>ZIP </p> </li>
-</ul> </section>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1" xml:lang="en"><title>Asymmetric
+ciphers -- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-7D18EC96-7474-5AA8-873A-475B07CCB9C4-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-1-1"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1/GUID-0A5993D6-54CC-53AB-ACB5-EB0BA535B83B-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-2">What is asymmetric cryptography?</xref> </p> </li>
+<li id="GUID-3F8B68B8-63A3-5D8E-9376-05105EE27E26-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-1-2"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1/GUID-D495DA72-27D6-53B1-846E-B8CE4736433C-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3">Types of asymmetric algorithms supported</xref> </p> </li>
+<li id="GUID-CCC7DAF4-1A46-59FB-82EE-B4F2BF19AACE-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-1-3"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1/GUID-3BBF7DAE-BBF0-52B7-83D0-9D85D2296D40-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-4">Base classes and their derived classes</xref> </p> </li>
+</ul>
+<section id="GUID-0A5993D6-54CC-53AB-ACB5-EB0BA535B83B-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-2"><title>What is asymmetric
+cryptography?</title> <p>Asymmetric ciphers, unlike symmetric ciphers, are
+algorithms that involve the use of two keys: a private key and a public key.
+The private key is kept secret, while the public key is made publicly available.
+For schemes which are thought to be secure, it is believed that deriving the
+private key from the public key, or any transformation resulting from the
+public key, is computationally infeasible. </p><p>This type of algorithm generates
+the keys as key pairs. This means that if one key in the pair is used to encrypt
+some data, only the other key can decrypt it, and vice versa. </p> <fig id="GUID-B943398C-3D1A-5400-8D6B-0B5CFAA91426-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-2-4">
+<title>The diagram above shows the encryption and decryption process using:
+an asymmetric algorithm; a plaintext message, M; a private key, K1, and a
+public key, K2 (or vice versa); and the ciphertext, K1(M).            </title>
+<image href="GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e615026_href.png" placement="inline"/>
+</fig> <p>Although it varies depending on the specific algorithm, the generation
+of asymmetric keys is much slower than symmetric key generation. </p> <p>There
+are four basic primitives in asymmetric cryptography: encryption and decryption,
+and signing and verification. </p> <p id="GUID-7120B4FA-46C6-5856-AF46-942D959AD34B-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-2-7"><b>Encryption
+schemes</b> </p> <p>In order to encrypt a message with an asymmetric scheme,
+one performs a well-known transformation on the message using the public key
+of the intended recipient. Upon receipt, the receiver can decrypt this message
+using the inverse transformation and the associated private key. Provided
+that only the intended recipient knows the associated private key, it is believed
+that message secrecy between the sender and receiver is achieved. </p> <p id="GUID-3C282457-ED91-5B01-AF81-731D6AEABBF8-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-2-9"><b>Signature schemes</b> </p> <p>Conversely,
+in order to digitally sign a message with an asymmetric scheme, one performs
+another well-known transformation on the message using one's own private key.
+Both the original message and the resulting transformation are sent to the
+intended recipient. Upon receipt, the receiver can verify that the message
+was signed by the associated private key by performing the inverse operation
+with the public key as input, and then comparing the received message with
+the message obtained from the transformation of the signature. </p> </section>
+<section id="GUID-D495DA72-27D6-53B1-846E-B8CE4736433C-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3"><title>Types of asymmetric
+algorithms supported</title> <p>The following asymmetric algorithms are supported: </p> <table id="GUID-8C498BD0-8D70-5024-9329-61AD4927E37C-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3-3">
+<tgroup cols="3"><colspec colname="col0" colwidth="0.65*"/><colspec colname="col1" colwidth="0.79*"/><colspec colname="col2" colwidth="1.56*"/>
+<thead>
+<row>
+<entry><p>Asymmetric algorithm</p></entry>
+<entry><p>What it's used for</p></entry>
+<entry><p>Specified in:</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>RSA </p> </entry>
+<entry><p>both encryption and digital signatures </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5 </p> </entry>
+</row>
+<row>
+<entry><p>DSA (Digital Signature Algorithm) </p> </entry>
+<entry><p>signing data </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> CR1 </p> </entry>
+</row>
+<row>
+<entry><p>DH (Diffie-Hellman) </p> </entry>
+<entry><p>secure exchange of keys between two parties </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p id="GUID-12ED48AC-AB99-5C0D-B035-9F86AA99055A-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3-4"><b>RSA</b> </p> <p>The
+Cryptography library allows support for RSA as specified in <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5. The library does not, in and of itself,
+fulfil all the requirements of PKCS#1 v1.5. This is because the Cryptography
+library’s modular design allows applications utilizing it to provide their
+own mechanisms of certain operations. At minimum, signature input data (be
+prepared in compliance with PKCS#1 v1.5) must be provided by applications
+in order to support PKCS#1 v1.5. </p> <ul>
+<li><p><b>Private Key Encryption and Decryption</b> </p><p>RSA private keys
+provide functionality for encrypting and decrypting data with the private
+key. Encrypting with the private key is typically used in signature generation
+while decrypting would be used for key exchange or confidentiality of other
+small amounts of data. </p><p>The basic mathematics involved in the encryption
+and decryption is identical, the differences lay with the handling of padding;
+encryption adds padding while decryption removes and checks it. </p></li>
+<li><p><b>Padding </b></p><p>For padding the existing PKCS#1 padding mechanism
+is used. However, this interface allows the use of any defined padding mechanism. </p></li>
+<li><p><b>Key Generation </b> </p><p>Before any private keys can be used they
+need to be generated. They can be generated on the device or generated elsewhere. </p> <p>An
+RSA modulus takes the form of the product of a pair of large prime numbers,
+which will be generated randomly and considered prime if they pass a probabilistic
+primality test (where the chance of claiming a non-prime is prime is less
+than 1 in 2<sup>30</sup>). This generation process can be rather long-winded,
+even for relatively small keys. </p> <p>While there is no actually limit on
+RSA modulus sizes, for most applications they range from 512 bits to 4096
+bits. </p></li>
+</ul> <p id="GUID-488F5006-B5CE-5D3C-8A6A-20F7BFCA3E92-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3-7"><b>DSA</b> </p> <p>The
+Cryptography library allows support for NIST Digital Signature Standard (DSS)
+as specified in <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> change request 1. The standard specifies
+DSA as the algorithm for digital signatures and SHA-1 for hashing. At minimum,
+the following items must be provided by applications using the library in
+order to be fully compliant: </p> <ul>
+<li id="GUID-1ABDBEDC-705D-57AC-85A1-C37E3C34FCC7-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3-9-1"><p>Signature input data
+must be hashed with SHA-1 as specified in <xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS 180-1</xref>. </p> <p> <i>or should it be</i>  </p> <p>Signature
+input data must be hashed with SHA-1 as specified in <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf" scope="external">FIPS 180-2</xref>. </p> </li>
+<li id="GUID-FEC46D5F-0CC7-53F5-9C56-561424AABE2B-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3-9-2"><p>A FIPS-186-2 CR 1 compliant
+random number generator must be supplied. The library provides a mechanism
+for using such a random number generator if required. </p> </li>
+<li id="GUID-BEB5CC2B-F25D-5959-A0BA-C0A2EF05EB8A-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-3-9-3"><p>For backwards compatibility
+reasons, the Cryptography library continues to allow prime moduli of less
+than 1024 bits to be used. If an application wanted to be fully compliant
+with the FIPS 186-2 CR1, it should refuse to submit requests to the Cryptography
+library to sign data with a prime modulus of less than 1024 bits. </p> </li>
+</ul> <p>The following are some important features of DSA:</p><ul>
+<li><p><b>Key Generation</b></p><p>DSA keys have an associated set of parameters,
+these parameters are generally public and used across a community of users.
+If some parameters are supplied the key generation will use those parameters
+or it will generate a set if there are none supplied. </p></li>
+<li><p><b>Parameter Generation</b></p><p>Parameter generation for DSA keys
+is implemented as specified in FIPS-186. </p></li>
+</ul> <p><b>Diffie-Hellman (DH)</b></p><p>The Cryptography library
+supports Diffie-Hellman as specified in <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>. Note that due to security concerns and a serious
+lack of interoperable implementations, the library does not support DH parameter
+generation. It is up to the application using the DH implementation to ensure
+that they trust the source of the parameters they intend to use for a DH key
+exchange. </p></section>
+<section id="GUID-3BBF7DAE-BBF0-52B7-83D0-9D85D2296D40-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-4"><title>Base classes
+and their derived classes </title> <p>The asymmetric cipher API is used by
+the certman (certitificate management) component for WTLS and X.509 certificate
+support and by appinst for SIS file signature verification. It is also used
+by Networking (TLS/IPSec). </p> <p> <xref href="GUID-BFC47C18-2046-3B2C-8A22-74E0D4E59BFB.dita"><apiname>CRSAParameters</apiname></xref>, <xref href="GUID-76994822-5482-3055-9AF3-82A67845EB68.dita"><apiname>CDSAParameters</apiname></xref>,
+and <xref href="GUID-59DFB240-8360-3C80-959B-CF46F77AC9CC.dita"><apiname>CDHParameters</apiname></xref> are the base classes that allow a client
+to use the supported asymmetric algorithms listed above. The classes hold
+the domain parameters used by the public key algorithms. They are used by
+some of the asymmetric algorithms to define some common mathematical structures
+used by the encryption or signature processes. </p> <p>The diagrams below
+show the main classes used in asymmetric cipher framework. Blue dotted arrows
+indicate that a class is contained or used by another class. The arrows are
+labelled with the variable(s) through which the pointed class is accessible.
+The color of the boxes indicates the type of Symbian class, i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class. For detailed information on each component see the Cryptography API
+Reference material. </p> <p><b>RSA, padding and associated classes</b> </p> <fig id="GUID-6066E2FF-34DA-57F1-A90A-E126887D34A8-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-4-6">
+<title>The inheritance diagram above shows the <codeph>RInteger</codeph> and <codeph>CRSAParameters</codeph> classes,
+and also the <codeph>CEncryptor</codeph>, <codeph>CDecryptor</codeph> and <codeph>CPadding</codeph> abstract
+classes. Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>MCryptoSystem</codeph>, <codeph>CRSAPKCS1v15Decryptor</codeph>, <codeph>CRSAPKCS1v15Encryptor</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CRSAPrivateKeyStandard</codeph>, <codeph>CRSAPrivateKeyCRT</codeph>, <codeph>CRSAKeyPair</codeph>, <codeph>CPaddingPKCS7</codeph>, <codeph>CPaddingPKCS1Encryption</codeph>, <codeph>CPaddingNone</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, and <codeph>CPaddingSSLv3</codeph>.
+              </title>
+<image href="GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e615377_href.png" placement="inline"/>
+</fig> <fig id="GUID-28D2A983-B665-57ED-AB50-C33A9CE12045-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-4-7">
+<title>The inheritance diagram above shows the <codeph>CRSASigner</codeph> and <codeph>CRSAVerifier</codeph> classes.
+Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>CSigner</codeph>, <codeph>CRSAPKCS1v15Signer</codeph>, <codeph>CRSAParameters</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CPadding</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, <codeph>CVerifier</codeph>, and <codeph>CRSAPKCS1v15Verifier</codeph>.
+              </title>
+<image href="GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e615421_href.png" placement="inline"/>
+</fig> <p><b>DSA and associated classes</b> </p> <fig id="GUID-97AB5216-F33B-52B6-83B5-08B6FB623DE4-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-4-9">
+<title>The inheritance diagram above shows the <codeph>CDSAParameters</codeph> class.
+Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CSigner</codeph>, <codeph>CDSASigner</codeph>, <codeph>CDSASignature</codeph>, <codeph>CDSAPrimeCertificate</codeph>, <codeph>CDSAKeyPair</codeph>, <codeph>CDSAPrivateKey</codeph>, <codeph>CDSAPublicKey</codeph>, <codeph>CVerifier</codeph>,
+and <codeph>CDSAVerifier</codeph>.               </title>
+<image href="GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e615473_href.png" placement="inline"/>
+</fig> <p><b>DH and associated classes</b> </p> <fig id="GUID-0F963BD7-810F-5D1F-99BC-284DD38AAB1D-GENID-1-12-1-26-1-1-11-1-1-5-1-5-1-2-4-11">
+<title> The inheritance diagram above shows the <codeph>CDHParameters</codeph> class.
+Also shown are the following classes from the Cryptography API:  <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CDHPrivateKey</codeph>, <codeph>CDHPublicKey</codeph>, <codeph>CDH</codeph>, and <codeph>CDHKeyPair</codeph>. </title>
+<image href="GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e615507_href.png" placement="inline"/>
+</fig> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1" xml:lang="en"><title>Asymmetric
+ciphers -- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-7D18EC96-7474-5AA8-873A-475B07CCB9C4-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-1-1"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1/GUID-0A5993D6-54CC-53AB-ACB5-EB0BA535B83B-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-2">What is asymmetric cryptography?</xref> </p> </li>
+<li id="GUID-3F8B68B8-63A3-5D8E-9376-05105EE27E26-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-1-2"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1/GUID-D495DA72-27D6-53B1-846E-B8CE4736433C-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3">Types of asymmetric algorithms supported</xref> </p> </li>
+<li id="GUID-CCC7DAF4-1A46-59FB-82EE-B4F2BF19AACE-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-1-3"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1/GUID-3BBF7DAE-BBF0-52B7-83D0-9D85D2296D40-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-4">Base classes and their derived classes</xref> </p> </li>
+</ul>
+<section id="GUID-0A5993D6-54CC-53AB-ACB5-EB0BA535B83B-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-2"><title>What is asymmetric
+cryptography?</title> <p>Asymmetric ciphers, unlike symmetric ciphers, are
+algorithms that involve the use of two keys: a private key and a public key.
+The private key is kept secret, while the public key is made publicly available.
+For schemes which are thought to be secure, it is believed that deriving the
+private key from the public key, or any transformation resulting from the
+public key, is computationally infeasible. </p><p>This type of algorithm generates
+the keys as key pairs. This means that if one key in the pair is used to encrypt
+some data, only the other key can decrypt it, and vice versa. </p> <fig id="GUID-B943398C-3D1A-5400-8D6B-0B5CFAA91426-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-2-4">
+<title>The diagram above shows the encryption and decryption process using:
+an asymmetric algorithm; a plaintext message, M; a private key, K1, and a
+public key, K2 (or vice versa); and the ciphertext, K1(M).            </title>
+<image href="GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e596642_href.png" placement="inline"/>
+</fig> <p>Although it varies depending on the specific algorithm, the generation
+of asymmetric keys is much slower than symmetric key generation. </p> <p>There
+are four basic primitives in asymmetric cryptography: encryption and decryption,
+and signing and verification. </p> <p id="GUID-7120B4FA-46C6-5856-AF46-942D959AD34B-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-2-7"><b>Encryption
+schemes</b> </p> <p>In order to encrypt a message with an asymmetric scheme,
+one performs a well-known transformation on the message using the public key
+of the intended recipient. Upon receipt, the receiver can decrypt this message
+using the inverse transformation and the associated private key. Provided
+that only the intended recipient knows the associated private key, it is believed
+that message secrecy between the sender and receiver is achieved. </p> <p id="GUID-3C282457-ED91-5B01-AF81-731D6AEABBF8-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-2-9"><b>Signature schemes</b> </p> <p>Conversely,
+in order to digitally sign a message with an asymmetric scheme, one performs
+another well-known transformation on the message using one's own private key.
+Both the original message and the resulting transformation are sent to the
+intended recipient. Upon receipt, the receiver can verify that the message
+was signed by the associated private key by performing the inverse operation
+with the public key as input, and then comparing the received message with
+the message obtained from the transformation of the signature. </p> </section>
+<section id="GUID-D495DA72-27D6-53B1-846E-B8CE4736433C-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3"><title>Types of asymmetric
+algorithms supported</title> <p>The following asymmetric algorithms are supported: </p> <table id="GUID-8C498BD0-8D70-5024-9329-61AD4927E37C-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3-3">
+<tgroup cols="3"><colspec colname="col0" colwidth="0.65*"/><colspec colname="col1" colwidth="0.79*"/><colspec colname="col2" colwidth="1.56*"/>
+<thead>
+<row>
+<entry><p>Asymmetric algorithm</p></entry>
+<entry><p>What it's used for</p></entry>
+<entry><p>Specified in:</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>RSA </p> </entry>
+<entry><p>both encryption and digital signatures </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5 </p> </entry>
+</row>
+<row>
+<entry><p>DSA (Digital Signature Algorithm) </p> </entry>
+<entry><p>signing data </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> CR1 </p> </entry>
+</row>
+<row>
+<entry><p>DH (Diffie-Hellman) </p> </entry>
+<entry><p>secure exchange of keys between two parties </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p id="GUID-12ED48AC-AB99-5C0D-B035-9F86AA99055A-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3-4"><b>RSA</b> </p> <p>The
+Cryptography library allows support for RSA as specified in <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5. The library does not, in and of itself,
+fulfil all the requirements of PKCS#1 v1.5. This is because the Cryptography
+library’s modular design allows applications utilizing it to provide their
+own mechanisms of certain operations. At minimum, signature input data (be
+prepared in compliance with PKCS#1 v1.5) must be provided by applications
+in order to support PKCS#1 v1.5. </p> <ul>
+<li><p><b>Private Key Encryption and Decryption</b> </p><p>RSA private keys
+provide functionality for encrypting and decrypting data with the private
+key. Encrypting with the private key is typically used in signature generation
+while decrypting would be used for key exchange or confidentiality of other
+small amounts of data. </p><p>The basic mathematics involved in the encryption
+and decryption is identical, the differences lay with the handling of padding;
+encryption adds padding while decryption removes and checks it. </p></li>
+<li><p><b>Padding </b></p><p>For padding the existing PKCS#1 padding mechanism
+is used. However, this interface allows the use of any defined padding mechanism. </p></li>
+<li><p><b>Key Generation </b> </p><p>Before any private keys can be used they
+need to be generated. They can be generated on the device or generated elsewhere. </p> <p>An
+RSA modulus takes the form of the product of a pair of large prime numbers,
+which will be generated randomly and considered prime if they pass a probabilistic
+primality test (where the chance of claiming a non-prime is prime is less
+than 1 in 2<sup>30</sup>). This generation process can be rather long-winded,
+even for relatively small keys. </p> <p>While there is no actually limit on
+RSA modulus sizes, for most applications they range from 512 bits to 4096
+bits. </p></li>
+</ul> <p id="GUID-488F5006-B5CE-5D3C-8A6A-20F7BFCA3E92-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3-7"><b>DSA</b> </p> <p>The
+Cryptography library allows support for NIST Digital Signature Standard (DSS)
+as specified in <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> change request 1. The standard specifies
+DSA as the algorithm for digital signatures and SHA-1 for hashing. At minimum,
+the following items must be provided by applications using the library in
+order to be fully compliant: </p> <ul>
+<li id="GUID-1ABDBEDC-705D-57AC-85A1-C37E3C34FCC7-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3-9-1"><p>Signature input data
+must be hashed with SHA-1 as specified in <xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS 180-1</xref>. </p> <p> <i>or should it be</i>  </p> <p>Signature
+input data must be hashed with SHA-1 as specified in <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf" scope="external">FIPS 180-2</xref>. </p> </li>
+<li id="GUID-FEC46D5F-0CC7-53F5-9C56-561424AABE2B-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3-9-2"><p>A FIPS-186-2 CR 1 compliant
+random number generator must be supplied. The library provides a mechanism
+for using such a random number generator if required. </p> </li>
+<li id="GUID-BEB5CC2B-F25D-5959-A0BA-C0A2EF05EB8A-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-3-9-3"><p>For backwards compatibility
+reasons, the Cryptography library continues to allow prime moduli of less
+than 1024 bits to be used. If an application wanted to be fully compliant
+with the FIPS 186-2 CR1, it should refuse to submit requests to the Cryptography
+library to sign data with a prime modulus of less than 1024 bits. </p> </li>
+</ul> <p>The following are some important features of DSA:</p><ul>
+<li><p><b>Key Generation</b></p><p>DSA keys have an associated set of parameters,
+these parameters are generally public and used across a community of users.
+If some parameters are supplied the key generation will use those parameters
+or it will generate a set if there are none supplied. </p></li>
+<li><p><b>Parameter Generation</b></p><p>Parameter generation for DSA keys
+is implemented as specified in FIPS-186. </p></li>
+</ul> <p><b>Diffie-Hellman (DH)</b></p><p>The Cryptography library
+supports Diffie-Hellman as specified in <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>. Note that due to security concerns and a serious
+lack of interoperable implementations, the library does not support DH parameter
+generation. It is up to the application using the DH implementation to ensure
+that they trust the source of the parameters they intend to use for a DH key
+exchange. </p></section>
+<section id="GUID-3BBF7DAE-BBF0-52B7-83D0-9D85D2296D40-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-4"><title>Base classes
+and their derived classes </title> <p>The asymmetric cipher API is used by
+the certman (certitificate management) component for WTLS and X.509 certificate
+support and by appinst for SIS file signature verification. It is also used
+by Networking (TLS/IPSec). </p> <p> <xref href="GUID-BFC47C18-2046-3B2C-8A22-74E0D4E59BFB.dita"><apiname>CRSAParameters</apiname></xref>, <xref href="GUID-76994822-5482-3055-9AF3-82A67845EB68.dita"><apiname>CDSAParameters</apiname></xref>,
+and <xref href="GUID-59DFB240-8360-3C80-959B-CF46F77AC9CC.dita"><apiname>CDHParameters</apiname></xref> are the base classes that allow a client
+to use the supported asymmetric algorithms listed above. The classes hold
+the domain parameters used by the public key algorithms. They are used by
+some of the asymmetric algorithms to define some common mathematical structures
+used by the encryption or signature processes. </p> <p>The diagrams below
+show the main classes used in asymmetric cipher framework. Blue dotted arrows
+indicate that a class is contained or used by another class. The arrows are
+labelled with the variable(s) through which the pointed class is accessible.
+The color of the boxes indicates the type of Symbian class, i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class. For detailed information on each component see the Cryptography API
+Reference material. </p> <p><b>RSA, padding and associated classes</b> </p> <fig id="GUID-6066E2FF-34DA-57F1-A90A-E126887D34A8-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-4-6">
+<title>The inheritance diagram above shows the <codeph>RInteger</codeph> and <codeph>CRSAParameters</codeph> classes,
+and also the <codeph>CEncryptor</codeph>, <codeph>CDecryptor</codeph> and <codeph>CPadding</codeph> abstract
+classes. Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>MCryptoSystem</codeph>, <codeph>CRSAPKCS1v15Decryptor</codeph>, <codeph>CRSAPKCS1v15Encryptor</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CRSAPrivateKeyStandard</codeph>, <codeph>CRSAPrivateKeyCRT</codeph>, <codeph>CRSAKeyPair</codeph>, <codeph>CPaddingPKCS7</codeph>, <codeph>CPaddingPKCS1Encryption</codeph>, <codeph>CPaddingNone</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, and <codeph>CPaddingSSLv3</codeph>.
+              </title>
+<image href="GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e596993_href.png" placement="inline"/>
+</fig> <fig id="GUID-28D2A983-B665-57ED-AB50-C33A9CE12045-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-4-7">
+<title>The inheritance diagram above shows the <codeph>CRSASigner</codeph> and <codeph>CRSAVerifier</codeph> classes.
+Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>CSigner</codeph>, <codeph>CRSAPKCS1v15Signer</codeph>, <codeph>CRSAParameters</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CPadding</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, <codeph>CVerifier</codeph>, and <codeph>CRSAPKCS1v15Verifier</codeph>.
+              </title>
+<image href="GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e597037_href.png" placement="inline"/>
+</fig> <p><b>DSA and associated classes</b> </p> <fig id="GUID-97AB5216-F33B-52B6-83B5-08B6FB623DE4-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-4-9">
+<title>The inheritance diagram above shows the <codeph>CDSAParameters</codeph> class.
+Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CSigner</codeph>, <codeph>CDSASigner</codeph>, <codeph>CDSASignature</codeph>, <codeph>CDSAPrimeCertificate</codeph>, <codeph>CDSAKeyPair</codeph>, <codeph>CDSAPrivateKey</codeph>, <codeph>CDSAPublicKey</codeph>, <codeph>CVerifier</codeph>,
+and <codeph>CDSAVerifier</codeph>.               </title>
+<image href="GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e597089_href.png" placement="inline"/>
+</fig> <p><b>DH and associated classes</b> </p> <fig id="GUID-0F963BD7-810F-5D1F-99BC-284DD38AAB1D-GENID-1-12-1-26-1-1-9-1-4-1-6-1-2-4-11">
+<title> The inheritance diagram above shows the <codeph>CDHParameters</codeph> class.
+Also shown are the following classes from the Cryptography API:  <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CDHPrivateKey</codeph>, <codeph>CDHPublicKey</codeph>, <codeph>CDH</codeph>, and <codeph>CDHKeyPair</codeph>. </title>
+<image href="GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e597123_href.png" placement="inline"/>
+</fig> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0" xml:lang="en"><title>Asymmetric
-ciphers -- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-7D18EC96-7474-5AA8-873A-475B07CCB9C4"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0/GUID-0A5993D6-54CC-53AB-ACB5-EB0BA535B83B">What is asymmetric cryptography?</xref> </p> </li>
-<li id="GUID-3F8B68B8-63A3-5D8E-9376-05105EE27E26"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0/GUID-D495DA72-27D6-53B1-846E-B8CE4736433C">Types of asymmetric algorithms supported</xref> </p> </li>
-<li id="GUID-CCC7DAF4-1A46-59FB-82EE-B4F2BF19AACE"><p><xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita#GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0/GUID-3BBF7DAE-BBF0-52B7-83D0-9D85D2296D40">Base classes and their derived classes</xref> </p> </li>
-</ul>
-<section id="GUID-0A5993D6-54CC-53AB-ACB5-EB0BA535B83B"><title>What is asymmetric
-cryptography?</title> <p>Asymmetric ciphers, unlike symmetric ciphers, are
-algorithms that involve the use of two keys: a private key and a public key.
-The private key is kept secret, while the public key is made publicly available.
-For schemes which are thought to be secure, it is believed that deriving the
-private key from the public key, or any transformation resulting from the
-public key, is computationally infeasible. </p><p>This type of algorithm generates
-the keys as key pairs. This means that if one key in the pair is used to encrypt
-some data, only the other key can decrypt it, and vice versa. </p> <fig id="GUID-B943398C-3D1A-5400-8D6B-0B5CFAA91426">
-<title>The diagram above shows the encryption and decryption process using:
-an asymmetric algorithm; a plaintext message, M; a private key, K1, and a
-public key, K2 (or vice versa); and the ciphertext, K1(M).            </title>
-<image href="GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e624536_href.png" placement="inline"/>
-</fig> <p>Although it varies depending on the specific algorithm, the generation
-of asymmetric keys is much slower than symmetric key generation. </p> <p>There
-are four basic primitives in asymmetric cryptography: encryption and decryption,
-and signing and verification. </p> <p id="GUID-7120B4FA-46C6-5856-AF46-942D959AD34B"><b>Encryption
-schemes</b> </p> <p>In order to encrypt a message with an asymmetric scheme,
-one performs a well-known transformation on the message using the public key
-of the intended recipient. Upon receipt, the receiver can decrypt this message
-using the inverse transformation and the associated private key. Provided
-that only the intended recipient knows the associated private key, it is believed
-that message secrecy between the sender and receiver is achieved. </p> <p id="GUID-3C282457-ED91-5B01-AF81-731D6AEABBF8"><b>Signature schemes</b> </p> <p>Conversely,
-in order to digitally sign a message with an asymmetric scheme, one performs
-another well-known transformation on the message using one's own private key.
-Both the original message and the resulting transformation are sent to the
-intended recipient. Upon receipt, the receiver can verify that the message
-was signed by the associated private key by performing the inverse operation
-with the public key as input, and then comparing the received message with
-the message obtained from the transformation of the signature. </p> </section>
-<section id="GUID-D495DA72-27D6-53B1-846E-B8CE4736433C"><title>Types of asymmetric
-algorithms supported</title> <p>The following asymmetric algorithms are supported: </p> <table id="GUID-8C498BD0-8D70-5024-9329-61AD4927E37C">
-<tgroup cols="3"><colspec colname="col0" colwidth="0.65*"/><colspec colname="col1" colwidth="0.79*"/><colspec colname="col2" colwidth="1.56*"/>
-<thead>
-<row>
-<entry><p>Asymmetric algorithm</p></entry>
-<entry><p>What it's used for</p></entry>
-<entry><p>Specified in:</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>RSA </p> </entry>
-<entry><p>both encryption and digital signatures </p> </entry>
-<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5 </p> </entry>
-</row>
-<row>
-<entry><p>DSA (Digital Signature Algorithm) </p> </entry>
-<entry><p>signing data </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> CR1 </p> </entry>
-</row>
-<row>
-<entry><p>DH (Diffie-Hellman) </p> </entry>
-<entry><p>secure exchange of keys between two parties </p> </entry>
-<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p id="GUID-12ED48AC-AB99-5C0D-B035-9F86AA99055A"><b>RSA</b> </p> <p>The
-Cryptography library allows support for RSA as specified in <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5. The library does not, in and of itself,
-fulfil all the requirements of PKCS#1 v1.5. This is because the Cryptography
-library’s modular design allows applications utilizing it to provide their
-own mechanisms of certain operations. At minimum, signature input data (be
-prepared in compliance with PKCS#1 v1.5) must be provided by applications
-in order to support PKCS#1 v1.5. </p> <ul>
-<li><p><b>Private Key Encryption and Decryption</b> </p><p>RSA private keys
-provide functionality for encrypting and decrypting data with the private
-key. Encrypting with the private key is typically used in signature generation
-while decrypting would be used for key exchange or confidentiality of other
-small amounts of data. </p><p>The basic mathematics involved in the encryption
-and decryption is identical, the differences lay with the handling of padding;
-encryption adds padding while decryption removes and checks it. </p></li>
-<li><p><b>Padding </b></p><p>For padding the existing PKCS#1 padding mechanism
-is used. However, this interface allows the use of any defined padding mechanism. </p></li>
-<li><p><b>Key Generation </b> </p><p>Before any private keys can be used they
-need to be generated. They can be generated on the device or generated elsewhere. </p> <p>An
-RSA modulus takes the form of the product of a pair of large prime numbers,
-which will be generated randomly and considered prime if they pass a probabilistic
-primality test (where the chance of claiming a non-prime is prime is less
-than 1 in 2<sup>30</sup>). This generation process can be rather long-winded,
-even for relatively small keys. </p> <p>While there is no actually limit on
-RSA modulus sizes, for most applications they range from 512 bits to 4096
-bits. </p></li>
-</ul> <p id="GUID-488F5006-B5CE-5D3C-8A6A-20F7BFCA3E92"><b>DSA</b> </p> <p>The
-Cryptography library allows support for NIST Digital Signature Standard (DSS)
-as specified in <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> change request 1. The standard specifies
-DSA as the algorithm for digital signatures and SHA-1 for hashing. At minimum,
-the following items must be provided by applications using the library in
-order to be fully compliant: </p> <ul>
-<li id="GUID-1ABDBEDC-705D-57AC-85A1-C37E3C34FCC7"><p>Signature input data
-must be hashed with SHA-1 as specified in <xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS 180-1</xref>. </p> <p> <i>or should it be</i>  </p> <p>Signature
-input data must be hashed with SHA-1 as specified in <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf" scope="external">FIPS 180-2</xref>. </p> </li>
-<li id="GUID-FEC46D5F-0CC7-53F5-9C56-561424AABE2B"><p>A FIPS-186-2 CR 1 compliant
-random number generator must be supplied. The library provides a mechanism
-for using such a random number generator if required. </p> </li>
-<li id="GUID-BEB5CC2B-F25D-5959-A0BA-C0A2EF05EB8A"><p>For backwards compatibility
-reasons, the Cryptography library continues to allow prime moduli of less
-than 1024 bits to be used. If an application wanted to be fully compliant
-with the FIPS 186-2 CR1, it should refuse to submit requests to the Cryptography
-library to sign data with a prime modulus of less than 1024 bits. </p> </li>
-</ul> <p>The following are some important features of DSA:</p><ul>
-<li><p><b>Key Generation</b></p><p>DSA keys have an associated set of parameters,
-these parameters are generally public and used across a community of users.
-If some parameters are supplied the key generation will use those parameters
-or it will generate a set if there are none supplied. </p></li>
-<li><p><b>Parameter Generation</b></p><p>Parameter generation for DSA keys
-is implemented as specified in FIPS-186. </p></li>
-</ul> <p><b>Diffie-Hellman (DH)</b></p><p>The Cryptography library
-supports Diffie-Hellman as specified in <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>. Note that due to security concerns and a serious
-lack of interoperable implementations, the library does not support DH parameter
-generation. It is up to the application using the DH implementation to ensure
-that they trust the source of the parameters they intend to use for a DH key
-exchange. </p></section>
-<section id="GUID-3BBF7DAE-BBF0-52B7-83D0-9D85D2296D40"><title>Base classes
-and their derived classes </title> <p>The asymmetric cipher API is used by
-the certman (certitificate management) component for WTLS and X.509 certificate
-support and by appinst for SIS file signature verification. It is also used
-by Networking (TLS/IPSec). </p> <p> <xref href="GUID-BFC47C18-2046-3B2C-8A22-74E0D4E59BFB.dita"><apiname>CRSAParameters</apiname></xref>, <xref href="GUID-76994822-5482-3055-9AF3-82A67845EB68.dita"><apiname>CDSAParameters</apiname></xref>,
-and <xref href="GUID-59DFB240-8360-3C80-959B-CF46F77AC9CC.dita"><apiname>CDHParameters</apiname></xref> are the base classes that allow a client
-to use the supported asymmetric algorithms listed above. The classes hold
-the domain parameters used by the public key algorithms. They are used by
-some of the asymmetric algorithms to define some common mathematical structures
-used by the encryption or signature processes. </p> <p>The diagrams below
-show the main classes used in asymmetric cipher framework. Blue dotted arrows
-indicate that a class is contained or used by another class. The arrows are
-labelled with the variable(s) through which the pointed class is accessible.
-The color of the boxes indicates the type of Symbian class, i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class. For detailed information on each component see the Cryptography API
-Reference material. </p> <p><b>RSA, padding and associated classes</b> </p> <fig id="GUID-6066E2FF-34DA-57F1-A90A-E126887D34A8">
-<title>The inheritance diagram above shows the <codeph>RInteger</codeph> and <codeph>CRSAParameters</codeph> classes,
-and also the <codeph>CEncryptor</codeph>, <codeph>CDecryptor</codeph> and <codeph>CPadding</codeph> abstract
-classes. Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>MCryptoSystem</codeph>, <codeph>CRSAPKCS1v15Decryptor</codeph>, <codeph>CRSAPKCS1v15Encryptor</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CRSAPrivateKeyStandard</codeph>, <codeph>CRSAPrivateKeyCRT</codeph>, <codeph>CRSAKeyPair</codeph>, <codeph>CPaddingPKCS7</codeph>, <codeph>CPaddingPKCS1Encryption</codeph>, <codeph>CPaddingNone</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, and <codeph>CPaddingSSLv3</codeph>.
-              </title>
-<image href="GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e624887_href.png" placement="inline"/>
-</fig> <fig id="GUID-28D2A983-B665-57ED-AB50-C33A9CE12045">
-<title>The inheritance diagram above shows the <codeph>CRSASigner</codeph> and <codeph>CRSAVerifier</codeph> classes.
-Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>CSigner</codeph>, <codeph>CRSAPKCS1v15Signer</codeph>, <codeph>CRSAParameters</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CPadding</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, <codeph>CVerifier</codeph>, and <codeph>CRSAPKCS1v15Verifier</codeph>.
-              </title>
-<image href="GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e624931_href.png" placement="inline"/>
-</fig> <p><b>DSA and associated classes</b> </p> <fig id="GUID-97AB5216-F33B-52B6-83B5-08B6FB623DE4">
-<title>The inheritance diagram above shows the <codeph>CDSAParameters</codeph> class.
-Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CSigner</codeph>, <codeph>CDSASigner</codeph>, <codeph>CDSASignature</codeph>, <codeph>CDSAPrimeCertificate</codeph>, <codeph>CDSAKeyPair</codeph>, <codeph>CDSAPrivateKey</codeph>, <codeph>CDSAPublicKey</codeph>, <codeph>CVerifier</codeph>,
-and <codeph>CDSAVerifier</codeph>.               </title>
-<image href="GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e624983_href.png" placement="inline"/>
-</fig> <p><b>DH and associated classes</b> </p> <fig id="GUID-0F963BD7-810F-5D1F-99BC-284DD38AAB1D">
-<title> The inheritance diagram above shows the <codeph>CDHParameters</codeph> class.
-Also shown are the following classes from the Cryptography API:  <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CDHPrivateKey</codeph>, <codeph>CDHPublicKey</codeph>, <codeph>CDH</codeph>, and <codeph>CDHKeyPair</codeph>. </title>
-<image href="GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e625017_href.png" placement="inline"/>
-</fig> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3603126B-661E-509B-8CCF-04A99F9ACE07.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3603126B-661E-509B-8CCF-04A99F9ACE07.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,38 +1,33 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3603126B-661E-509B-8CCF-04A99F9ACE07" xml:lang="en"><title>HelloWorld:
-writes “Hello World!” to the console</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Description</title> <p> <codeph>HelloWorld</codeph> is a very
-simple piece of code showing how text is written to the console. All other
-examples in <filepath>Basics</filepath> and <filepath>System</filepath> use
-the same technique. </p> <p>The file <filepath>CommonFramework.h</filepath> contains
-the entry point and all code necessary to support the example itself, including
-the construction of the console and the cleanup stack. Putting code into a <filepath>.h</filepath> file
-may not be conventional practice, but it is useful to do so here. </p> </section>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-9a9bd0dd-017a-4460-b7d8-019616ebfa39.zip" scope="external">HelloWorld.zip</xref></p><p>Download some additional files
-required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-9a9bd0dd-017a-4460-b7d8-019616ebfa39.html" scope="peer">browse</xref> to view the example code. </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse</xref> to view the additional file.</p> </section>
-<section><title>Build</title> <p>The example includes the two project files
-needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian platform build
-process</xref> describes how to build this application, which results in an
-executable called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or udeb&gt;\HELLOWORLD.EXE</filepath>. </p> </section>
-<section><title>Usage</title> <p>Run the executable <filepath>HELLOWORLD.EXE</filepath>. </p> <p>Executables
-for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can
-be run on your PC. Executables for ARM targets must be copied to your target
-platform before being run. </p> </section>
-<section><title>Classes used</title> <p>The example shows the use of the <codeph>_LIT</codeph> macro
-which is used throughout all of the examples. The macro generates a: </p> <codeblock id="GUID-FD21D75C-AA23-5F83-9076-2F9CA6F313A8" xml:space="preserve">const static TLitC&lt;TInt&gt;</codeblock> <p>object
-and is an efficient and convenient way of generating constant literal text. </p> <p>As
-this is a wide (Unicode) build, <codeph>TLItC&lt;TInt&gt;</codeph> is a typedef
-for <codeph>TLitC16&lt;TInt&gt;.</codeph>  </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3603126B-661E-509B-8CCF-04A99F9ACE07" xml:lang="en"><title>HelloWorld: writes “Hello World!” to the console</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-9B04430C-4ACD-4C91-ABA1-FC83264E8F6B"><title>Description</title> <p> <codeph>HelloWorld</codeph> is a very simple piece of code showing how text is written to the
+console. All other examples in <filepath>Basics</filepath> and <filepath>System</filepath> use the same technique. </p> <p>The file <filepath>CommonFramework.h</filepath> contains the entry point and all code
+necessary to support the example itself, including the construction
+of the console and the cleanup stack. Putting code into a <filepath>.h</filepath> file may not be conventional practice, but it is useful
+to do so here. </p> </section>
+<section id="GUID-9D8D6977-5AEA-400F-B2B6-0603738FD4BC"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-9a9bd0dd-017a-4460-b7d8-019616ebfa39.zip" scope="external">HelloWorld.zip</xref></p><p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-9a9bd0dd-017a-4460-b7d8-019616ebfa39.html" scope="peer">browse</xref> to view the example code. </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse</xref> to view the additional file.</p> </section>
+<section id="GUID-A2B5A863-F70B-41F2-9377-DD2661996321"><title>Build</title> <p>The example includes the two project
+files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p>The Symbian platform build process
+describes how to build this application, which results in an executable
+called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or udeb&gt;\HELLOWORLD.EXE</filepath>. </p> </section>
+<section id="GUID-1F313CF4-9A1C-4A36-8DE2-FF2868A58417"><title>Usage</title> <p>Run the executable <filepath>HELLOWORLD.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can be run on your PC. Executables
+for ARM targets must be copied to your target platform before being
+run. </p> </section>
+<section id="GUID-4778E674-9FB8-4A55-B6BB-026F721AA23A"><title>Classes used</title> <p>The example shows the use
+of the <codeph>_LIT</codeph> macro which is used throughout all of
+the examples. The macro generates a: </p> <codeblock id="GUID-FD21D75C-AA23-5F83-9076-2F9CA6F313A8" xml:space="preserve">const static TLitC&lt;TInt&gt;</codeblock> <p>object and is an efficient and convenient way of generating constant
+literal text. </p> <p>As this is a wide (Unicode) build, <codeph>TLItC&lt;TInt&gt;</codeph> is a typedef for <codeph>TLitC16&lt;TInt&gt;.</codeph>  </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3618ECE9-C22B-5AE2-837E-FEBC55D42330.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3618ECE9-C22B-5AE2-837E-FEBC55D42330.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
              Figure 1. LBS Subsystem with the Privacy Protocol Module. Location
              Server Framework is on the left, with Standalone Privacy Mode components on the
              right. 
-          </title> <image href="GUID-D66415A3-7AFA-50D7-9019-96E20240CF05_d0e427163_href.png" placement="inline"/></fig> </section> <example><title>Integration and configuration tasks</title> <p>This section lists the tasks that may be required to build and configure a working LBS subsystem. Tasks are categorised as required or optional. </p> <ul><li id="GUID-BDB95691-058E-5840-A70E-327C5521AA28"><p>[Required] <xref href="GUID-7923A242-BD6A-56EB-B9D5-97DA94654409.dita">Create a Standalone Privacy Mode</xref> client process. </p> </li> <li id="GUID-7EF49166-E0AF-5835-9BA6-B311B35BA2DD"><p>[Required] <xref href="GUID-ABA8D056-CFA0-5F1F-AF44-10F0989BB392.dita">Create a Privacy Handler</xref> (either a Privacy Controller or Privacy Notifiers). </p> <p>A privacy handler is required to inform the user when privacy requests are received from the network. </p> </li> <li id="GUID-EE8BFEB4-CA4B-53D2-B88E-7DCD51DC75A9"><p>[Required] <xref href="GUID-97F94F36-B4C0-569F-9E5D-0732327330A6.dita">Modify the LBS Default Administration Settings File</xref>  <filepath>1028224B.cre</filepath>. </p> <p>It is necessary to configure LBS settings to load the Privacy Protocol Module on startup. </p> </li> <li id="GUID-0FCA53F6-10D8-5CA7-BC39-C27ECEC0B6A2"><p>[Required] <xref href="GUID-0E89B917-F35A-56AB-B451-EB63E8331044.dita">Modify the LBS Root Process File</xref> <filepath>10282266.cre</filepath> to start only those LBS processes necessary for this configuration and to add the Privacy Controller application (if one is used). In this subsystem configuration Privacy Controller startup is managed by the LBS Root process. </p> </li> <li id="GUID-1A476436-24E6-576B-AB4B-9C6A9F213CE5"><p>[Optional] <xref href="GUID-E6E34A4B-84CE-5C7E-9B7D-7A0FABFF1C96.dita">Create a Positioning Plug-in (PSY)</xref> to interface with integrated positioning hardware. </p> <p>You can use the Positioning Plug-in (PSY) API to develop plug-ins that integrate directly with positioning hardware, possibly using proprietary interfaces and protocols. </p> <p>Note: When the Privacy Protocol Module (PPM) is installed it is not possible to use A-GPS or cell-based positioning via Symbian platform components because the PPM is not a fully functional Network Protocol Module. </p> <p>If you want to use <i>both</i> the Privacy Protocol Module <i>and</i> A-GPS or cell-based positioning you must implement your own PSY(s) to obtain A-GPS assistance data and cell position data from the device domestic OS. </p> </li> <li id="GUID-FC8E4F63-C300-5C30-9FF9-DF8743850AC9"><p>[Optional] <xref href="GUID-29DE87DA-617B-5DF7-9C49-C7113EC4147D.dita">Create an LBS Settings Application</xref>. </p> <p>Creating a settings application is only necessary if you want to give end users the ability to modify LBS settings at runtime. LBS provides the LBS Administration API and the Location Settings API to modify LBS settings at runtime. </p> </li> <li id="GUID-1CEF5F8C-4A3B-5543-8A54-05423CD97AF0"><p>[Optional] Create applications to use the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>The Location Acquisition API can be used to create applications that use location data, such as navigation and location stamping applications. This API can be used by device creators and by third party application developers. </p> </li> <li id="GUID-3E567F07-EE60-536F-96E5-5664EF563C0D"><p><xref href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita">Build a ROM</xref>  </p> </li> </ul> <p>The following documents give additional information about LBS configuration: </p> <ul><li id="GUID-98679D29-F61D-5BAE-853C-75A24BCB60A5"><p><xref href="GUID-7D7FC939-9363-52F8-961F-65E77B3F867C.dita">Configuration Files for Standalone Privacy Mode</xref> gives a list of the LBS configuration files that you can modify. </p> </li> </ul> </example> </conbody><related-links><link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>Integration
+          </title> <image href="GUID-D66415A3-7AFA-50D7-9019-96E20240CF05_d0e433008_href.png" placement="inline"/></fig> </section> <example><title>Integration and configuration tasks</title> <p>This section lists the tasks that may be required to build and configure a working LBS subsystem. Tasks are categorised as required or optional. </p> <ul><li id="GUID-BDB95691-058E-5840-A70E-327C5521AA28"><p>[Required] <xref href="GUID-7923A242-BD6A-56EB-B9D5-97DA94654409.dita">Create a Standalone Privacy Mode</xref> client process. </p> </li> <li id="GUID-7EF49166-E0AF-5835-9BA6-B311B35BA2DD"><p>[Required] <xref href="GUID-ABA8D056-CFA0-5F1F-AF44-10F0989BB392.dita">Create a Privacy Handler</xref> (either a Privacy Controller or Privacy Notifiers). </p> <p>A privacy handler is required to inform the user when privacy requests are received from the network. </p> </li> <li id="GUID-EE8BFEB4-CA4B-53D2-B88E-7DCD51DC75A9"><p>[Required] <xref href="GUID-97F94F36-B4C0-569F-9E5D-0732327330A6.dita">Modify the LBS Default Administration Settings File</xref>  <filepath>1028224B.cre</filepath>. </p> <p>It is necessary to configure LBS settings to load the Privacy Protocol Module on startup. </p> </li> <li id="GUID-0FCA53F6-10D8-5CA7-BC39-C27ECEC0B6A2"><p>[Required] <xref href="GUID-0E89B917-F35A-56AB-B451-EB63E8331044.dita">Modify the LBS Root Process File</xref> <filepath>10282266.cre</filepath> to start only those LBS processes necessary for this configuration and to add the Privacy Controller application (if one is used). In this subsystem configuration Privacy Controller startup is managed by the LBS Root process. </p> </li> <li id="GUID-1A476436-24E6-576B-AB4B-9C6A9F213CE5"><p>[Optional] <xref href="GUID-E6E34A4B-84CE-5C7E-9B7D-7A0FABFF1C96.dita">Create a Positioning Plug-in (PSY)</xref> to interface with integrated positioning hardware. </p> <p>You can use the Positioning Plug-in (PSY) API to develop plug-ins that integrate directly with positioning hardware, possibly using proprietary interfaces and protocols. </p> <p>Note: When the Privacy Protocol Module (PPM) is installed it is not possible to use A-GPS or cell-based positioning via Symbian platform components because the PPM is not a fully functional Network Protocol Module. </p> <p>If you want to use <i>both</i> the Privacy Protocol Module <i>and</i> A-GPS or cell-based positioning you must implement your own PSY(s) to obtain A-GPS assistance data and cell position data from the device domestic OS. </p> </li> <li id="GUID-FC8E4F63-C300-5C30-9FF9-DF8743850AC9"><p>[Optional] <xref href="GUID-29DE87DA-617B-5DF7-9C49-C7113EC4147D.dita">Create an LBS Settings Application</xref>. </p> <p>Creating a settings application is only necessary if you want to give end users the ability to modify LBS settings at runtime. LBS provides the LBS Administration API and the Location Settings API to modify LBS settings at runtime. </p> </li> <li id="GUID-1CEF5F8C-4A3B-5543-8A54-05423CD97AF0"><p>[Optional] Create applications to use the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>The Location Acquisition API can be used to create applications that use location data, such as navigation and location stamping applications. This API can be used by device creators and by third party application developers. </p> </li> <li id="GUID-3E567F07-EE60-536F-96E5-5664EF563C0D"><p><xref href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita">Build a ROM</xref>  </p> </li> </ul> <p>The following documents give additional information about LBS configuration: </p> <ul><li id="GUID-98679D29-F61D-5BAE-853C-75A24BCB60A5"><p><xref href="GUID-7D7FC939-9363-52F8-961F-65E77B3F867C.dita">Configuration Files for Standalone Privacy Mode</xref> gives a list of the LBS configuration files that you can modify. </p> </li> </ul> </example> </conbody><related-links><link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>Integration
                 and Configuration Guide Overview</linktext> </link> <link href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita"><linktext>LBS Architecture Overview</linktext> </link> <link href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita"><linktext>Network
                 Privacy API</linktext> </link> <link href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita"><linktext>Privacy
                 Request API</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-36221068-4E6D-4E03-AF9A-AD9465F1C6B6_d0e91751_href.png has changed
Binary file Symbian3/PDK/Source/GUID-36221068-4E6D-4E03-AF9A-AD9465F1C6B6_d0e95949_href.png has changed
--- a/Symbian3/PDK/Source/GUID-36743EC8-5A64-5FF5-8632-56CBBD04EC12.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-36743EC8-5A64-5FF5-8632-56CBBD04EC12" xml:lang="en"><title>How
-to initialise simple RESOURCE members</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock id="GUID-5381B771-16F9-5D77-B9AC-610DBC4B6E05" xml:space="preserve">&lt;simple-initialiser&gt;
-simple-initialiser ::=
-     &lt;number&gt; | &lt;string&gt; | &lt;resource-identifier&gt;</codeblock>
-<ul>
-<li id="GUID-59B1A462-A03A-592B-B4BB-07755358187C"><p>A <codeph>BYTE</codeph>, <codeph>WORD</codeph>, <codeph>LONG</codeph> or <codeph>DOUBLE</codeph> member must be initialised with a number. The number can be the result of
-simple expressions such as <codeph>3+1</codeph> or <codeph>NUM1+NUM2</codeph> where <codeph>NUM1</codeph> and <codeph>NUM2</codeph> have
-been <codeph>#defined</codeph> earlier on in the file.</p> </li>
-<li id="GUID-E8153E76-954E-5205-B996-4A45CA09B665"><p>A <codeph>TEXT</codeph>, <codeph>LTEXT</codeph> or <codeph>BUF</codeph> member
-must be initialised with a string. If a <varname>length-limit</varname> has
-been declared for that member in the <codeph>STRUCT</codeph> definition then
-an error will be generated if the <varname>string</varname> is longer than
-the limit. You cannot override this maximum length.</p> </li>
-</ul>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-36751DD3-448E-5B94-B6BC-76EF6DE97C75.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-36751DD3-448E-5B94-B6BC-76EF6DE97C75.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,36 +1,30 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-36751DD3-448E-5B94-B6BC-76EF6DE97C75" xml:lang="en"><title>EmbApp:
-An Embedded Application</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-87d4afef-01ce-4913-8d1e-f8c3f896109c.zip" scope="external"> embedded.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-87d4afef-01ce-4913-8d1e-f8c3f896109c.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section><title>Description</title> <p>This example comprises an embedded
-application (<filepath>embedded.dll</filepath>) and the stub (<filepath>embedded.exe</filepath>).
-The stub is essentially an empty executable that launches the embedded application,
-which is wrapped up as an ECOM plug-in. <filepath>Embedded.dll</filepath> builds
-on the <xref href="GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita">minimal</xref> UI
-application. </p> <p>The application is defined in the registration file (<filepath>embedded_reg.rss</filepath>)
-as an embedded and/or a stand-alone application: </p> <codeblock id="GUID-234F184B-21E6-5590-BC19-A60629F73580" xml:space="preserve">embeddability=KAppEmbeddable;</codeblock> <p>and <codeph>KAppEmbeddable</codeph> is defined in <filepath>appinfo.rh</filepath>. </p> </section>
-<section><title>Class Summary</title><p><xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref></p><p><xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref></p><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p><p><xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref></p></section>
-<section><title>Launching an application</title> <p> <codeph>EikStart::RunApplication(KAppEmbeddableUid)</codeph> launches
-the ECOM plugin using <codeph>KAppEmbeddableUid</codeph>. </p> </section>
-
-<section><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build an application. Using ECom plug-ins
-as a mechanism for delivering embeddable applications is discussed in <xref href="GUID-3CAD7211-2164-5F93-9EA7-7167E1C14012.dita">How to port guide: apps to
-exes</xref>. </p> <p>The <filepath>EmbApp</filepath> example builds a plugin
-called <filepath>embedded.dll</filepath> and an executable called <filepath>embedded.exe</filepath> in
-the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
-CodeWarrior). Either launch the executable itself, or launch the emulator
-and then select the <filepath>embedded</filepath> application from the Emulator's
-extras bar. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-36751DD3-448E-5B94-B6BC-76EF6DE97C75" xml:lang="en"><title>EmbApp: An Embedded Application</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-401D445D-010D-47D7-8AE8-EAB22C38736B"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-87d4afef-01ce-4913-8d1e-f8c3f896109c.zip" scope="external"> embedded.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-87d4afef-01ce-4913-8d1e-f8c3f896109c.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-36CDD4D3-6B69-4776-9136-1B61EA0D1672"><title>Description</title> <p>This example comprises an embedded
+application (<filepath>embedded.dll</filepath>) and the stub (<filepath>embedded.exe</filepath>). The stub is essentially an empty executable
+that launches the embedded application, which is wrapped up as an
+ECOM plug-in. <filepath>Embedded.dll</filepath> builds on the <xref href="GUID-1D7BD70F-40A3-53FF-8150-A9CAFA4D01D8.dita">minimal</xref> UI
+application. </p> <p>The application is defined in the registration
+file (<filepath>embedded_reg.rss</filepath>) as an embedded and/or
+a stand-alone application: </p> <codeblock id="GUID-234F184B-21E6-5590-BC19-A60629F73580" xml:space="preserve">embeddability=KAppEmbeddable;</codeblock> <p>and <codeph>KAppEmbeddable</codeph> is defined in <filepath>appinfo.rh</filepath>. </p> </section>
+<section id="GUID-96B9474B-09F1-48C4-AE49-2AD678AAA702"><title>Class Summary</title><p><xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref></p><p><xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref></p><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p><p><xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref></p></section>
+<section id="GUID-02500E2F-3BE1-4004-A87B-696DD0C232EE"><title>Launching an application</title> <p> <codeph>EikStart::RunApplication(KAppEmbeddableUid)</codeph> launches the ECOM plugin using <codeph>KAppEmbeddableUid</codeph>. </p> </section>
+<section id="GUID-E37FD0AF-E2DF-426F-8C7A-C0764EA935FA"><title>Build</title> <p>The Symbian build process describes
+how to build an application. Using ECom plug-ins as a mechanism for
+delivering applications that can be embedded is discussed in <xref href="GUID-3CAD7211-2164-5F93-9EA7-7167E1C14012.dita">How to port guide:
+apps to exes</xref>. </p> <p>The <filepath>EmbApp</filepath> example builds a plugin called <filepath>embedded.dll</filepath> and an executable called <filepath>embedded.exe</filepath> in the
+standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). Either launch the executable
+itself, or launch the emulator and then select the <filepath>embedded</filepath> application from the Emulator's extras bar. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-36AA53D2-A117-5D80-A5B4-67EF865DC40E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-36AA53D2-A117-5D80-A5B4-67EF865DC40E"><title>library</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>library</codeph>  <varname>filename-list</varname> </p> <p>Use the <codeph>library</codeph> statement to specify import libraries. </p> <p>The <codeph>library</codeph> statement may specify any number of files, and there may be many <codeph>library</codeph> statements. Specify the entire filename, e.g. <filepath>euser.lib</filepath> or <filepath>euser.dso</filepath> for ARMv5 target builds. </p> <p> <b>Note:</b> When you are building for Symbian OS v9.4 and beyond, you may change the library file extension from <filepath>.lib</filepath> to <filepath>.dso</filepath> in the MMP file. The ABIv2 toolchain will still allow you to link for ARM builds. However, it fails to link when you build for WINSCW target. Therefore, to make it work on both, the ARM and WINSCW build targets, it is recommended that the library file names with <filepath>.lib</filepath> extension be used. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-36BB14BD-34B3-4F5D-A670-707710E57585_d0e64105_href.png has changed
Binary file Symbian3/PDK/Source/GUID-36BB14BD-34B3-4F5D-A670-707710E57585_d0e68328_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1"><title>Secure store encryption example code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example covers: </p> <ul><li id="GUID-C08CC80E-FDF5-54FB-A289-2D1C4B4AD982-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-2-1"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1/GUID-3CE75F7F-B812-5010-99E6-50416C207B41-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-5">Creating and opening a new secure store protected by the supplied password</xref>  </p> </li> <li id="GUID-67FA0BEE-6BC5-5F49-9CD8-9B81CD25894C-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-2-2"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1/GUID-58FD2C9E-80E8-5F88-AF83-DC0022FE92E7-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-6">Opening an existing secure store</xref>  </p> </li> <li id="GUID-F3D2DF1D-A547-594C-BCB8-8BADD69D980D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-2-3"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1/GUID-6C8BF1E2-E824-539D-A57F-DED436C24C88-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-7">Writing some data to a new stream in the currently opened store, and returning the ID of the stream</xref>  </p> </li> <li id="GUID-1B9A3CB6-6ADB-508F-8563-03E17BD7BB02-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-2-4"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1/GUID-A6AF8D9B-6A03-5CA4-BC0E-0296FBC10EDD-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-8">Reading the data in a given stream from the currently opened store</xref>  </p> </li> <li id="GUID-51A035CA-16CD-5547-828A-049E3FD20D5B-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-2-5"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1/GUID-2C2E3C02-8F9D-5FA6-8ACA-1CDBA8EA11A9-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-9">Closing the currently opened store</xref>  </p> </li> <li id="GUID-1E71B260-5C38-51C7-B535-4A3C6EE210AF-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-2-6"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1/GUID-4ABE3513-0B3D-5F17-8F1B-CDA12C5DE370-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-10">Changing the password for the currently opened store.</xref>  </p> </li> </ul> <p>Also, see: </p> <ul><li id="GUID-96A01360-DFA8-5FC3-97CD-6B2013756CBC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-4-1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita">PBE example code</xref>  </p> </li> <li id="GUID-2E08A91C-C02C-5DF6-8051-7209E48FDA02-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-4-2"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">Secure stream example code</xref>  </p> </li> </ul> <section id="GUID-3CE75F7F-B812-5010-99E6-50416C207B41-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-5"><title>Creating and opening a new secure store protected by the supplied password</title> <ul><li id="GUID-913C5F07-E786-546A-90F6-D26019A52C96-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-5-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-0BBC7516-B37F-5A01-9853-DFD7B490C931-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-5-3" xml:space="preserve">
+void CSecureStoreExample::CreateNewStoreL(const TDesC&amp; aPassword)
+         {
+         // Check store is not already open
+         ASSERT(!iEncryptSet &amp;&amp; !iSecureStore &amp;&amp; !iFileStore);
+
+         // Create a standard file store
+         iFileStore = CPermanentFileStore::ReplaceL(iFs, iFilename, EFileRead | EFileWrite | EFileShareExclusive);
+         iFileStore-&gt;SetTypeL(KPermanentFileStoreLayoutUid);
+         
+         // Create a CPBEncryptSet object (because a store is comprised of multiple
+         // independent objects)
+         TPBPassword password(aPassword);
+         iEncryptSet = CPBEncryptSet::NewL(password, ECipherDES_CBC);
+
+         // Write encryption data and encrypted master key to the root stream of the
+         // store.  We need to store both of these pieces of information to be able
+         // to access the secure store at a later time.
+         RStoreWriteStream writeStream;
+         TStreamId rootId = writeStream.CreateLC(*iFileStore);
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptionData();
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptedMasterKey();
+         writeStream.CommitL();
+         CleanupStack::PopAndDestroy(&amp;writeStream);
+         iFileStore-&gt;SetRootL(rootId);
+         iFileStore-&gt;CommitL();
+
+         // Create the secure store - this wraps the file store providing transparent
+         // encryption/decryption of streams.
+         iSecureStore = CSecureStore::NewL(*iFileStore, *iEncryptSet);
+         }
+            </codeblock> </section> <section id="GUID-58FD2C9E-80E8-5F88-AF83-DC0022FE92E7-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-6"><title>Opening an existing secure store</title> <ul><li id="GUID-9B07EB34-D2C1-53FF-8338-3F18A235ADC5-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-6-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-6EDC3451-A2DF-537F-BF71-1A4925462790-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-6-3" xml:space="preserve">
+// Leaves with KErrBadPassphrase if the password is 
+// not the same as the one used when creating the store.
+void CSecureStoreExample::OpenExistingStoreL(const TDesC&amp; aPassword)
+         {
+         // Check store is not already open
+         ASSERT(!iEncryptSet &amp;&amp; !iSecureStore &amp;&amp; !iFileStore);
+
+         // Open a standard file store
+         iFileStore = CPermanentFileStore::OpenL(iFs, iFilename, EFileRead | EFileWrite | EFileShareExclusive);
+         
+         // Read the encryption data and encrypted master key from the root stream
+         TStreamId rootId = iFileStore-&gt;Root();
+         RStoreReadStream readStream;
+         readStream.OpenLC(*iFileStore, rootId);
+         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
+         HBufC8* encryptedMasterKey = HBufC8::NewLC(readStream, KMaxTInt);
+
+         // Use these to recreate the CPBEncryptSet object (this leaves if
+         // aPassword is wrong)
+         iEncryptSet = CPBEncryptSet::NewL(*encryptionData, *encryptedMasterKey, aPassword);
+
+         // Create the secure store
+         iSecureStore = CSecureStore::NewL(*iFileStore, *iEncryptSet);
+
+         // Free memory
+         CleanupStack::PopAndDestroy(3, &amp;readStream);
+         }
+            </codeblock> </section> <section id="GUID-6C8BF1E2-E824-539D-A57F-DED436C24C88-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-7"><title>Writing some data to a new stream in the currently opened store, and returning the ID of the stream</title> <ul><li id="GUID-1FF9BA5F-296F-5AF7-9737-A95B9059061E-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-7-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-F8539B5E-197A-5FAF-B908-4EAD26BA2A6A-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-7-3" xml:space="preserve">
+TStreamId CSecureStoreExample::WriteEncryptedDataL(const TDesC8&amp; aInput)
+         {
+         // Check store is open
+         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
+
+         // Create a new stream in the store 
+         RStoreWriteStream writeStream;
+         TStreamId newStreamId = writeStream.CreateLC(*iSecureStore);
+
+         // Write data - this is automatically encrypted
+         writeStream &lt;&lt; aInput;
+         writeStream.CommitL();
+         iSecureStore-&gt;CommitL();
+
+         CleanupStack::PopAndDestroy(&amp;writeStream);
+         return newStreamId;
+         }
+            </codeblock> </section> <section id="GUID-A6AF8D9B-6A03-5CA4-BC0E-0296FBC10EDD-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-8"><title>Reading the data in a given stream from the currently opened store</title> <ul><li id="GUID-8F696865-A038-5649-ACCF-030A482C5C3A-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-8-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-DC1CABBD-2D1A-5A94-B28E-73C9F94A579E-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-8-3" xml:space="preserve">
+HBufC8* CSecureStoreExample::ReadEncryptedDataLC(TStreamId aStreamId)
+         {
+         // Check store is open
+         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
+
+         // Open an existing stream in the store
+         RStoreReadStream readStream;
+         readStream.OpenLC(*iSecureStore, aStreamId);
+
+         // Read data - this is automatically decrypted
+         HBufC8* output = HBufC8::NewL(readStream, KMaxTInt);
+
+         CleanupStack::PopAndDestroy(&amp;readStream);
+         CleanupStack::PushL(output);
+         return output;
+         }
+            </codeblock> </section> <section id="GUID-2C2E3C02-8F9D-5FA6-8ACA-1CDBA8EA11A9-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-9"><title>Closing the currently opened store</title> <ul><li id="GUID-6C2360BE-435D-5350-8149-AAF679A441D7-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-9-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-253A7771-4030-5393-83B9-10D4538A0CC6-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-9-3" xml:space="preserve">
+void CSecureStoreExample::CloseStore()
+         {
+         delete iSecureStore;
+         iSecureStore = NULL;
+         delete iEncryptSet;
+         iEncryptSet = NULL;
+         delete iFileStore;
+         iFileStore = NULL;
+         }
+            </codeblock> </section> <section id="GUID-4ABE3513-0B3D-5F17-8F1B-CDA12C5DE370-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-10"><title>Changing the password for the currently opened store</title> <ul><li id="GUID-DFBC3396-7564-5647-8B6C-525F46FA6512-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-10-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-D7A38D85-EAC1-579F-8ECB-F7420A21E519-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-7-1-2-10-3" xml:space="preserve">
+void CSecureStoreExample::ChangePasswordL(const TDesC&amp; aNewPassword)
+         {
+         // Check store is open
+         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
+
+         // Change password on encrypt set object
+         iEncryptSet-&gt;ChangePasswordL(aNewPassword);
+
+         // Must now rewrite data in root stream
+         TStreamId rootId = iFileStore-&gt;Root();
+         RStoreWriteStream writeStream;
+         writeStream.ReplaceLC(*iFileStore, rootId);
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptionData();
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptedMasterKey();
+         writeStream.CommitL();
+         iFileStore-&gt;CommitL();
+         
+         CleanupStack::PopAndDestroy(&amp;writeStream);
+         }
+            </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1"><title>Secure store encryption example code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example covers: </p> <ul><li id="GUID-C08CC80E-FDF5-54FB-A289-2D1C4B4AD982-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-2-1"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1/GUID-3CE75F7F-B812-5010-99E6-50416C207B41-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-5">Creating and opening a new secure store protected by the supplied password</xref>  </p> </li> <li id="GUID-67FA0BEE-6BC5-5F49-9CD8-9B81CD25894C-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-2-2"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1/GUID-58FD2C9E-80E8-5F88-AF83-DC0022FE92E7-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-6">Opening an existing secure store</xref>  </p> </li> <li id="GUID-F3D2DF1D-A547-594C-BCB8-8BADD69D980D-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-2-3"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1/GUID-6C8BF1E2-E824-539D-A57F-DED436C24C88-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-7">Writing some data to a new stream in the currently opened store, and returning the ID of the stream</xref>  </p> </li> <li id="GUID-1B9A3CB6-6ADB-508F-8563-03E17BD7BB02-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-2-4"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1/GUID-A6AF8D9B-6A03-5CA4-BC0E-0296FBC10EDD-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-8">Reading the data in a given stream from the currently opened store</xref>  </p> </li> <li id="GUID-51A035CA-16CD-5547-828A-049E3FD20D5B-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-2-5"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1/GUID-2C2E3C02-8F9D-5FA6-8ACA-1CDBA8EA11A9-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-9">Closing the currently opened store</xref>  </p> </li> <li id="GUID-1E71B260-5C38-51C7-B535-4A3C6EE210AF-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-2-6"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1/GUID-4ABE3513-0B3D-5F17-8F1B-CDA12C5DE370-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-10">Changing the password for the currently opened store.</xref>  </p> </li> </ul> <p>Also, see: </p> <ul><li id="GUID-96A01360-DFA8-5FC3-97CD-6B2013756CBC-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-4-1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita">PBE example code</xref>  </p> </li> <li id="GUID-2E08A91C-C02C-5DF6-8051-7209E48FDA02-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-4-2"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">Secure stream example code</xref>  </p> </li> </ul> <section id="GUID-3CE75F7F-B812-5010-99E6-50416C207B41-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-5"><title>Creating and opening a new secure store protected by the supplied password</title> <ul><li id="GUID-913C5F07-E786-546A-90F6-D26019A52C96-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-5-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-0BBC7516-B37F-5A01-9853-DFD7B490C931-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-5-3" xml:space="preserve">
+void CSecureStoreExample::CreateNewStoreL(const TDesC&amp; aPassword)
+         {
+         // Check store is not already open
+         ASSERT(!iEncryptSet &amp;&amp; !iSecureStore &amp;&amp; !iFileStore);
+
+         // Create a standard file store
+         iFileStore = CPermanentFileStore::ReplaceL(iFs, iFilename, EFileRead | EFileWrite | EFileShareExclusive);
+         iFileStore-&gt;SetTypeL(KPermanentFileStoreLayoutUid);
+         
+         // Create a CPBEncryptSet object (because a store is comprised of multiple
+         // independent objects)
+         TPBPassword password(aPassword);
+         iEncryptSet = CPBEncryptSet::NewL(password, ECipherDES_CBC);
+
+         // Write encryption data and encrypted master key to the root stream of the
+         // store.  We need to store both of these pieces of information to be able
+         // to access the secure store at a later time.
+         RStoreWriteStream writeStream;
+         TStreamId rootId = writeStream.CreateLC(*iFileStore);
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptionData();
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptedMasterKey();
+         writeStream.CommitL();
+         CleanupStack::PopAndDestroy(&amp;writeStream);
+         iFileStore-&gt;SetRootL(rootId);
+         iFileStore-&gt;CommitL();
+
+         // Create the secure store - this wraps the file store providing transparent
+         // encryption/decryption of streams.
+         iSecureStore = CSecureStore::NewL(*iFileStore, *iEncryptSet);
+         }
+            </codeblock> </section> <section id="GUID-58FD2C9E-80E8-5F88-AF83-DC0022FE92E7-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-6"><title>Opening an existing secure store</title> <ul><li id="GUID-9B07EB34-D2C1-53FF-8338-3F18A235ADC5-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-6-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-6EDC3451-A2DF-537F-BF71-1A4925462790-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-6-3" xml:space="preserve">
+// Leaves with KErrBadPassphrase if the password is 
+// not the same as the one used when creating the store.
+void CSecureStoreExample::OpenExistingStoreL(const TDesC&amp; aPassword)
+         {
+         // Check store is not already open
+         ASSERT(!iEncryptSet &amp;&amp; !iSecureStore &amp;&amp; !iFileStore);
+
+         // Open a standard file store
+         iFileStore = CPermanentFileStore::OpenL(iFs, iFilename, EFileRead | EFileWrite | EFileShareExclusive);
+         
+         // Read the encryption data and encrypted master key from the root stream
+         TStreamId rootId = iFileStore-&gt;Root();
+         RStoreReadStream readStream;
+         readStream.OpenLC(*iFileStore, rootId);
+         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
+         HBufC8* encryptedMasterKey = HBufC8::NewLC(readStream, KMaxTInt);
+
+         // Use these to recreate the CPBEncryptSet object (this leaves if
+         // aPassword is wrong)
+         iEncryptSet = CPBEncryptSet::NewL(*encryptionData, *encryptedMasterKey, aPassword);
+
+         // Create the secure store
+         iSecureStore = CSecureStore::NewL(*iFileStore, *iEncryptSet);
+
+         // Free memory
+         CleanupStack::PopAndDestroy(3, &amp;readStream);
+         }
+            </codeblock> </section> <section id="GUID-6C8BF1E2-E824-539D-A57F-DED436C24C88-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-7"><title>Writing some data to a new stream in the currently opened store, and returning the ID of the stream</title> <ul><li id="GUID-1FF9BA5F-296F-5AF7-9737-A95B9059061E-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-7-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-F8539B5E-197A-5FAF-B908-4EAD26BA2A6A-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-7-3" xml:space="preserve">
+TStreamId CSecureStoreExample::WriteEncryptedDataL(const TDesC8&amp; aInput)
+         {
+         // Check store is open
+         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
+
+         // Create a new stream in the store 
+         RStoreWriteStream writeStream;
+         TStreamId newStreamId = writeStream.CreateLC(*iSecureStore);
+
+         // Write data - this is automatically encrypted
+         writeStream &lt;&lt; aInput;
+         writeStream.CommitL();
+         iSecureStore-&gt;CommitL();
+
+         CleanupStack::PopAndDestroy(&amp;writeStream);
+         return newStreamId;
+         }
+            </codeblock> </section> <section id="GUID-A6AF8D9B-6A03-5CA4-BC0E-0296FBC10EDD-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-8"><title>Reading the data in a given stream from the currently opened store</title> <ul><li id="GUID-8F696865-A038-5649-ACCF-030A482C5C3A-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-8-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-DC1CABBD-2D1A-5A94-B28E-73C9F94A579E-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-8-3" xml:space="preserve">
+HBufC8* CSecureStoreExample::ReadEncryptedDataLC(TStreamId aStreamId)
+         {
+         // Check store is open
+         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
+
+         // Open an existing stream in the store
+         RStoreReadStream readStream;
+         readStream.OpenLC(*iSecureStore, aStreamId);
+
+         // Read data - this is automatically decrypted
+         HBufC8* output = HBufC8::NewL(readStream, KMaxTInt);
+
+         CleanupStack::PopAndDestroy(&amp;readStream);
+         CleanupStack::PushL(output);
+         return output;
+         }
+            </codeblock> </section> <section id="GUID-2C2E3C02-8F9D-5FA6-8ACA-1CDBA8EA11A9-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-9"><title>Closing the currently opened store</title> <ul><li id="GUID-6C2360BE-435D-5350-8149-AAF679A441D7-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-9-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-253A7771-4030-5393-83B9-10D4538A0CC6-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-9-3" xml:space="preserve">
+void CSecureStoreExample::CloseStore()
+         {
+         delete iSecureStore;
+         iSecureStore = NULL;
+         delete iEncryptSet;
+         iEncryptSet = NULL;
+         delete iFileStore;
+         iFileStore = NULL;
+         }
+            </codeblock> </section> <section id="GUID-4ABE3513-0B3D-5F17-8F1B-CDA12C5DE370-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-10"><title>Changing the password for the currently opened store</title> <ul><li id="GUID-DFBC3396-7564-5647-8B6C-525F46FA6512-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-10-2-1"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-D7A38D85-EAC1-579F-8ECB-F7420A21E519-GENID-1-12-1-26-1-1-9-1-12-1-7-1-2-10-3" xml:space="preserve">
+void CSecureStoreExample::ChangePasswordL(const TDesC&amp; aNewPassword)
+         {
+         // Check store is open
+         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
+
+         // Change password on encrypt set object
+         iEncryptSet-&gt;ChangePasswordL(aNewPassword);
+
+         // Must now rewrite data in root stream
+         TStreamId rootId = iFileStore-&gt;Root();
+         RStoreWriteStream writeStream;
+         writeStream.ReplaceLC(*iFileStore, rootId);
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptionData();
+         writeStream &lt;&lt; iEncryptSet-&gt;EncryptedMasterKey();
+         writeStream.CommitL();
+         iFileStore-&gt;CommitL();
+         
+         CleanupStack::PopAndDestroy(&amp;writeStream);
+         }
+            </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636"><title>Secure store encryption example code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example covers: </p> <ul><li id="GUID-C08CC80E-FDF5-54FB-A289-2D1C4B4AD982"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636/GUID-3CE75F7F-B812-5010-99E6-50416C207B41">Creating and opening a new secure store protected by the supplied password</xref>  </p> </li> <li id="GUID-67FA0BEE-6BC5-5F49-9CD8-9B81CD25894C"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636/GUID-58FD2C9E-80E8-5F88-AF83-DC0022FE92E7">Opening an existing secure store</xref>  </p> </li> <li id="GUID-F3D2DF1D-A547-594C-BCB8-8BADD69D980D"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636/GUID-6C8BF1E2-E824-539D-A57F-DED436C24C88">Writing some data to a new stream in the currently opened store, and returning the ID of the stream</xref>  </p> </li> <li id="GUID-1B9A3CB6-6ADB-508F-8563-03E17BD7BB02"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636/GUID-A6AF8D9B-6A03-5CA4-BC0E-0296FBC10EDD">Reading the data in a given stream from the currently opened store</xref>  </p> </li> <li id="GUID-51A035CA-16CD-5547-828A-049E3FD20D5B"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636/GUID-2C2E3C02-8F9D-5FA6-8ACA-1CDBA8EA11A9">Closing the currently opened store</xref>  </p> </li> <li id="GUID-1E71B260-5C38-51C7-B535-4A3C6EE210AF"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita#GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636/GUID-4ABE3513-0B3D-5F17-8F1B-CDA12C5DE370">Changing the password for the currently opened store.</xref>  </p> </li> </ul> <p>Also, see: </p> <ul><li id="GUID-96A01360-DFA8-5FC3-97CD-6B2013756CBC"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita">PBE example code</xref>  </p> </li> <li id="GUID-2E08A91C-C02C-5DF6-8051-7209E48FDA02"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita">Secure stream example code</xref>  </p> </li> </ul> <section id="GUID-3CE75F7F-B812-5010-99E6-50416C207B41"><title>Creating and opening a new secure store protected by the supplied password</title> <ul><li id="GUID-913C5F07-E786-546A-90F6-D26019A52C96"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-0BBC7516-B37F-5A01-9853-DFD7B490C931" xml:space="preserve">
-void CSecureStoreExample::CreateNewStoreL(const TDesC&amp; aPassword)
-         {
-         // Check store is not already open
-         ASSERT(!iEncryptSet &amp;&amp; !iSecureStore &amp;&amp; !iFileStore);
-
-         // Create a standard file store
-         iFileStore = CPermanentFileStore::ReplaceL(iFs, iFilename, EFileRead | EFileWrite | EFileShareExclusive);
-         iFileStore-&gt;SetTypeL(KPermanentFileStoreLayoutUid);
-         
-         // Create a CPBEncryptSet object (because a store is comprised of multiple
-         // independent objects)
-         TPBPassword password(aPassword);
-         iEncryptSet = CPBEncryptSet::NewL(password, ECipherDES_CBC);
-
-         // Write encryption data and encrypted master key to the root stream of the
-         // store.  We need to store both of these pieces of information to be able
-         // to access the secure store at a later time.
-         RStoreWriteStream writeStream;
-         TStreamId rootId = writeStream.CreateLC(*iFileStore);
-         writeStream &lt;&lt; iEncryptSet-&gt;EncryptionData();
-         writeStream &lt;&lt; iEncryptSet-&gt;EncryptedMasterKey();
-         writeStream.CommitL();
-         CleanupStack::PopAndDestroy(&amp;writeStream);
-         iFileStore-&gt;SetRootL(rootId);
-         iFileStore-&gt;CommitL();
-
-         // Create the secure store - this wraps the file store providing transparent
-         // encryption/decryption of streams.
-         iSecureStore = CSecureStore::NewL(*iFileStore, *iEncryptSet);
-         }
-            </codeblock> </section> <section id="GUID-58FD2C9E-80E8-5F88-AF83-DC0022FE92E7"><title>Opening an existing secure store</title> <ul><li id="GUID-9B07EB34-D2C1-53FF-8338-3F18A235ADC5"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-6EDC3451-A2DF-537F-BF71-1A4925462790" xml:space="preserve">
-// Leaves with KErrBadPassphrase if the password is 
-// not the same as the one used when creating the store.
-void CSecureStoreExample::OpenExistingStoreL(const TDesC&amp; aPassword)
-         {
-         // Check store is not already open
-         ASSERT(!iEncryptSet &amp;&amp; !iSecureStore &amp;&amp; !iFileStore);
-
-         // Open a standard file store
-         iFileStore = CPermanentFileStore::OpenL(iFs, iFilename, EFileRead | EFileWrite | EFileShareExclusive);
-         
-         // Read the encryption data and encrypted master key from the root stream
-         TStreamId rootId = iFileStore-&gt;Root();
-         RStoreReadStream readStream;
-         readStream.OpenLC(*iFileStore, rootId);
-         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
-         HBufC8* encryptedMasterKey = HBufC8::NewLC(readStream, KMaxTInt);
-
-         // Use these to recreate the CPBEncryptSet object (this leaves if
-         // aPassword is wrong)
-         iEncryptSet = CPBEncryptSet::NewL(*encryptionData, *encryptedMasterKey, aPassword);
-
-         // Create the secure store
-         iSecureStore = CSecureStore::NewL(*iFileStore, *iEncryptSet);
-
-         // Free memory
-         CleanupStack::PopAndDestroy(3, &amp;readStream);
-         }
-            </codeblock> </section> <section id="GUID-6C8BF1E2-E824-539D-A57F-DED436C24C88"><title>Writing some data to a new stream in the currently opened store, and returning the ID of the stream</title> <ul><li id="GUID-1FF9BA5F-296F-5AF7-9737-A95B9059061E"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-F8539B5E-197A-5FAF-B908-4EAD26BA2A6A" xml:space="preserve">
-TStreamId CSecureStoreExample::WriteEncryptedDataL(const TDesC8&amp; aInput)
-         {
-         // Check store is open
-         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
-
-         // Create a new stream in the store 
-         RStoreWriteStream writeStream;
-         TStreamId newStreamId = writeStream.CreateLC(*iSecureStore);
-
-         // Write data - this is automatically encrypted
-         writeStream &lt;&lt; aInput;
-         writeStream.CommitL();
-         iSecureStore-&gt;CommitL();
-
-         CleanupStack::PopAndDestroy(&amp;writeStream);
-         return newStreamId;
-         }
-            </codeblock> </section> <section id="GUID-A6AF8D9B-6A03-5CA4-BC0E-0296FBC10EDD"><title>Reading the data in a given stream from the currently opened store</title> <ul><li id="GUID-8F696865-A038-5649-ACCF-030A482C5C3A"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-DC1CABBD-2D1A-5A94-B28E-73C9F94A579E" xml:space="preserve">
-HBufC8* CSecureStoreExample::ReadEncryptedDataLC(TStreamId aStreamId)
-         {
-         // Check store is open
-         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
-
-         // Open an existing stream in the store
-         RStoreReadStream readStream;
-         readStream.OpenLC(*iSecureStore, aStreamId);
-
-         // Read data - this is automatically decrypted
-         HBufC8* output = HBufC8::NewL(readStream, KMaxTInt);
-
-         CleanupStack::PopAndDestroy(&amp;readStream);
-         CleanupStack::PushL(output);
-         return output;
-         }
-            </codeblock> </section> <section id="GUID-2C2E3C02-8F9D-5FA6-8ACA-1CDBA8EA11A9"><title>Closing the currently opened store</title> <ul><li id="GUID-6C2360BE-435D-5350-8149-AAF679A441D7"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-253A7771-4030-5393-83B9-10D4538A0CC6" xml:space="preserve">
-void CSecureStoreExample::CloseStore()
-         {
-         delete iSecureStore;
-         iSecureStore = NULL;
-         delete iEncryptSet;
-         iEncryptSet = NULL;
-         delete iFileStore;
-         iFileStore = NULL;
-         }
-            </codeblock> </section> <section id="GUID-4ABE3513-0B3D-5F17-8F1B-CDA12C5DE370"><title>Changing the password for the currently opened store</title> <ul><li id="GUID-DFBC3396-7564-5647-8B6C-525F46FA6512"><p> <xref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-D7A38D85-EAC1-579F-8ECB-F7420A21E519" xml:space="preserve">
-void CSecureStoreExample::ChangePasswordL(const TDesC&amp; aNewPassword)
-         {
-         // Check store is open
-         ASSERT(iEncryptSet &amp;&amp; iSecureStore &amp;&amp; iFileStore);
-
-         // Change password on encrypt set object
-         iEncryptSet-&gt;ChangePasswordL(aNewPassword);
-
-         // Must now rewrite data in root stream
-         TStreamId rootId = iFileStore-&gt;Root();
-         RStoreWriteStream writeStream;
-         writeStream.ReplaceLC(*iFileStore, rootId);
-         writeStream &lt;&lt; iEncryptSet-&gt;EncryptionData();
-         writeStream &lt;&lt; iEncryptSet-&gt;EncryptedMasterKey();
-         writeStream.CommitL();
-         iFileStore-&gt;CommitL();
-         
-         CleanupStack::PopAndDestroy(&amp;writeStream);
-         }
-            </codeblock> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-36F18DC4-7BD0-59C6-95E9-8FD945B86D7E_d0e335147_href.png has changed
Binary file Symbian3/PDK/Source/GUID-36F18DC4-7BD0-59C6-95E9-8FD945B86D7E_d0e341119_href.png has changed
--- a/Symbian3/PDK/Source/GUID-36FD1F9A-FA1C-5822-A95F-720600E8F418.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-36FD1F9A-FA1C-5822-A95F-720600E8F418.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-36FD1F9A-FA1C-5822-A95F-720600E8F418"><title>Contact Items Management</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A Contact Item is an element in a Contact Database. Contact Items can be added, read, edited and removed from the database. As the diagram below shows, a Contact Item can be: </p> <ul><li id="GUID-39BF4108-CFC9-54CD-BC88-81C41984601E"><p>a contact card - either generic cards (<xref href="GUID-CCE5DB7C-AD68-3F8C-8720-14CD1FC3D164.dita"><apiname>CContactCard</apiname></xref>) or the device owner's card (<xref href="GUID-942BB679-256F-3DD3-A027-6A40E1DE9C40.dita"><apiname>CContactOwnCard</apiname></xref>) </p> </li> <li id="GUID-06168476-8C2F-5944-A5FD-B37BB2ABB032"><p>a template card (<xref href="GUID-D144F6EE-B50D-3EC8-BAD7-A0E7590CD512.dita"><apiname>CContactTemplate</apiname></xref>) - a card that sets the initial fields for other Contact Items </p> </li> <li id="GUID-7C15AAFE-A236-5036-9C55-E647B6DF46C6"><p>a collection of Contact Items (<xref href="GUID-98A3BF93-A1EF-32C3-B98C-680A515D9985.dita"><apiname>CContactItemPlusGroup</apiname></xref>) - a group that holds a set of associated Contact Item IDs </p> </li> <li id="GUID-21FAB277-889F-52F7-941C-06F803983319"><p>a contact which maps to the device's ICC (<xref href="GUID-BEC62AFD-2CDA-387D-A290-2221D88FD2B8.dita"><apiname>CContactICCEntry</apiname></xref>) or SIM (<xref href="GUID-CCE5DB7C-AD68-3F8C-8720-14CD1FC3D164.dita"><apiname>CContactCard</apiname></xref>). </p> </li> </ul> <p>Each Contact Item is uniquely identified in the database by a Contact Item ID (<xref href="GUID-B1F75A76-9F02-3D88-B76F-1489319B7108.dita"><apiname>TContactItemId</apiname></xref>). More than one Contact Item ID is referred to using a Contact Item ID array (<xref href="GUID-7CACA76F-00E5-3A69-966E-1D40E64F0E27.dita"><apiname>CContactIdArray</apiname></xref>). </p> <fig id="GUID-10046728-05A3-5A02-B9C0-A3AAF33AD8D5"><title>
           CONTACT ITEM HIERARCHY 
-        </title> <image href="GUID-16C323DC-B43F-5621-B617-C31FBB25379B_d0e600212_href.png" placement="inline"/></fig> <p>Contact Items have an access count and attributes ('hidden', for example). The access count is a record of the number of objects referencing a Contact Item. A Contact Item cannot be fully deleted until its access count is zero. </p> <p>Note: Fields in a Contact Item also have attributes. Attribute values specified in the Contact Item override those in the contained fields. </p> <p>Contact Items are accessed through the <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita"><apiname>CContactDatabase</apiname></xref> class. Opening a Contact Item (using <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-05A0BF3B-6F83-300C-A70D-3FEB069A3964"><apiname>CContactDatabase::OpenContactL()</apiname></xref>) locks it so that it cannot be edited by another client. Closing the Contact Item (using <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-0D90CADE-D766-3A39-9928-F4E8936B52FB"><apiname>CContactDatabase::CloseContactL()</apiname></xref>) releases the lock on the item without saving any changes made to it. Committing the Contact Item (using <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-35AD302C-659C-3705-961A-3730F2975B25"><apiname>CContactDatabase::CommitContactL()</apiname></xref>) releases the lock and saves any changes made to it. </p> <section id="GUID-D41E051D-CA35-559C-803B-811008FD4089"><title>Contact Item Fields</title> <p>Each Contact Item contains a number of fields (<xref href="GUID-8ECF9E69-5102-37C6-BF4F-E4C543026304.dita"><apiname>CContactItemFieldSet</apiname></xref>). Each field (<xref href="GUID-6466EF81-CAFC-3098-8E2F-D55AB77F2B99.dita"><apiname>CContactItemField</apiname></xref>) in <xref href="GUID-8ECF9E69-5102-37C6-BF4F-E4C543026304.dita"><apiname>CContactItemFieldSet</apiname></xref> has a content type, (<xref href="GUID-96249829-E053-3DB5-ABEC-77C9C8A0BB69.dita"><apiname>CContentType</apiname></xref>), and a storage type, (<xref href="GUID-35235317-4E31-3ED4-9798-1B2621F89265.dita"><apiname>TStorageType</apiname></xref>) and the field data (<xref href="GUID-429B1D62-189C-3DE1-AABD-C162B0593992.dita"><apiname>CContactTextField</apiname></xref>, <xref href="GUID-C44B4C53-417E-330F-A651-FEB97B3FE75F.dita"><apiname>CContactStoreField</apiname></xref>, <xref href="GUID-ABBBE7AC-F837-3039-B2A3-6A7B4E11F82D.dita"><apiname>CContactAgentField</apiname></xref> or <xref href="GUID-F7BC1DB1-C8AA-371A-B930-1DB9B7360949.dita"><apiname>CContactDateField</apiname></xref>). </p> <p>A content type contains at least one UID, using <xref href="GUID-84023E98-6C2C-31CE-9DDC-15D92650AC23.dita"><apiname>TFieldType</apiname></xref>. A storage type identifies the type of data (text, binary, contact agent ID, date/time) stored in a Contact Item field. As numeric field data is not supported all numbers are stored as text. </p> <p>Each field can also have a label which identifies the field to a user, for example, first name, last name. Fields can have attributes assigned to them such as hidden, disabled, synchronised, read only, user added, template and speed dial. </p> </section> <section id="GUID-C8B3F417-57B3-548B-8247-9171ABAECED9"><title>Contact Groups</title> <p>A Contact Group (<xref href="GUID-F823D586-386F-300B-82D2-8365695BA7A0.dita"><apiname>CContactGroup</apiname></xref> class) is a Contact Item which holds a set of associated Contact Item IDs. The members of the group may be contact cards, own cards, or even other groups. The group has a label which identifies the group such as 'family', or 'colleagues' to users. The type of a Contact Group is <xref href="GUID-7770D130-465B-3360-8BB4-0870F81EC8C9.dita"><apiname>KUidContactGroup</apiname></xref>, as returned by <xref href="GUID-F823D586-386F-300B-82D2-8365695BA7A0.dita#GUID-F823D586-386F-300B-82D2-8365695BA7A0/GUID-BE8C8EBC-4402-3E04-ADD4-7843B65AB8A6"><apiname>CContactGroup::Type()</apiname></xref>. </p> <p>It is possible to construct a group using <xref href="GUID-F823D586-386F-300B-82D2-8365695BA7A0.dita#GUID-F823D586-386F-300B-82D2-8365695BA7A0/GUID-61DCBD98-BF07-3DB0-A02B-603A99C7DA58"><apiname>CContactGroup::CreateContactGroupL()</apiname></xref>. These functions create the group, optionally with a label, add it to the database, and return a pointer to it. To create an association between a card and a group, use <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-38EEDF68-F1F8-3286-8525-24822B75FEBC"><apiname>CContactDatabase::AddContactToGroupL()</apiname></xref>. To remove the association, use <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-981C88EC-2089-3CE0-8DDF-03F228EC75F7"><apiname>CContactDatabase::RemoveContactFromGroupL()</apiname></xref>. To find out which groups a card belongs to, use <xref href="GUID-CCE5DB7C-AD68-3F8C-8720-14CD1FC3D164.dita#GUID-CCE5DB7C-AD68-3F8C-8720-14CD1FC3D164/GUID-C67AAC3C-6925-3CE4-9F4D-C7B955A95A9A"><apiname>CContactCard::GroupsJoinedLC()</apiname></xref> or <xref href="GUID-942BB679-256F-3DD3-A027-6A40E1DE9C40.dita#GUID-942BB679-256F-3DD3-A027-6A40E1DE9C40/GUID-4162EB84-E4D1-387B-B92D-DFD4738C5734"><apiname>CContactOwnCard::GroupsJoinedLC()</apiname></xref>. </p> </section> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-16C323DC-B43F-5621-B617-C31FBB25379B_d0e156178_href.png" placement="inline"/></fig> <p>Contact Items have an access count and attributes ('hidden', for example). The access count is a record of the number of objects referencing a Contact Item. A Contact Item cannot be fully deleted until its access count is zero. </p> <p>Note: Fields in a Contact Item also have attributes. Attribute values specified in the Contact Item override those in the contained fields. </p> <p>Contact Items are accessed through the <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita"><apiname>CContactDatabase</apiname></xref> class. Opening a Contact Item (using <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-05A0BF3B-6F83-300C-A70D-3FEB069A3964"><apiname>CContactDatabase::OpenContactL()</apiname></xref>) locks it so that it cannot be edited by another client. Closing the Contact Item (using <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-0D90CADE-D766-3A39-9928-F4E8936B52FB"><apiname>CContactDatabase::CloseContactL()</apiname></xref>) releases the lock on the item without saving any changes made to it. Committing the Contact Item (using <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-35AD302C-659C-3705-961A-3730F2975B25"><apiname>CContactDatabase::CommitContactL()</apiname></xref>) releases the lock and saves any changes made to it. </p> <section id="GUID-D41E051D-CA35-559C-803B-811008FD4089"><title>Contact Item Fields</title> <p>Each Contact Item contains a number of fields (<xref href="GUID-8ECF9E69-5102-37C6-BF4F-E4C543026304.dita"><apiname>CContactItemFieldSet</apiname></xref>). Each field (<xref href="GUID-6466EF81-CAFC-3098-8E2F-D55AB77F2B99.dita"><apiname>CContactItemField</apiname></xref>) in <xref href="GUID-8ECF9E69-5102-37C6-BF4F-E4C543026304.dita"><apiname>CContactItemFieldSet</apiname></xref> has a content type, (<xref href="GUID-96249829-E053-3DB5-ABEC-77C9C8A0BB69.dita"><apiname>CContentType</apiname></xref>), and a storage type, (<xref href="GUID-35235317-4E31-3ED4-9798-1B2621F89265.dita"><apiname>TStorageType</apiname></xref>) and the field data (<xref href="GUID-429B1D62-189C-3DE1-AABD-C162B0593992.dita"><apiname>CContactTextField</apiname></xref>, <xref href="GUID-C44B4C53-417E-330F-A651-FEB97B3FE75F.dita"><apiname>CContactStoreField</apiname></xref>, <xref href="GUID-ABBBE7AC-F837-3039-B2A3-6A7B4E11F82D.dita"><apiname>CContactAgentField</apiname></xref> or <xref href="GUID-F7BC1DB1-C8AA-371A-B930-1DB9B7360949.dita"><apiname>CContactDateField</apiname></xref>). </p> <p>A content type contains at least one UID, using <xref href="GUID-84023E98-6C2C-31CE-9DDC-15D92650AC23.dita"><apiname>TFieldType</apiname></xref>. A storage type identifies the type of data (text, binary, contact agent ID, date/time) stored in a Contact Item field. As numeric field data is not supported all numbers are stored as text. </p> <p>Each field can also have a label which identifies the field to a user, for example, first name, last name. Fields can have attributes assigned to them such as hidden, disabled, synchronised, read only, user added, template and speed dial. </p> </section> <section id="GUID-C8B3F417-57B3-548B-8247-9171ABAECED9"><title>Contact Groups</title> <p>A Contact Group (<xref href="GUID-F823D586-386F-300B-82D2-8365695BA7A0.dita"><apiname>CContactGroup</apiname></xref> class) is a Contact Item which holds a set of associated Contact Item IDs. The members of the group may be contact cards, own cards, or even other groups. The group has a label which identifies the group such as 'family', or 'colleagues' to users. The type of a Contact Group is <xref href="GUID-7770D130-465B-3360-8BB4-0870F81EC8C9.dita"><apiname>KUidContactGroup</apiname></xref>, as returned by <xref href="GUID-F823D586-386F-300B-82D2-8365695BA7A0.dita#GUID-F823D586-386F-300B-82D2-8365695BA7A0/GUID-BE8C8EBC-4402-3E04-ADD4-7843B65AB8A6"><apiname>CContactGroup::Type()</apiname></xref>. </p> <p>It is possible to construct a group using <xref href="GUID-F823D586-386F-300B-82D2-8365695BA7A0.dita#GUID-F823D586-386F-300B-82D2-8365695BA7A0/GUID-61DCBD98-BF07-3DB0-A02B-603A99C7DA58"><apiname>CContactGroup::CreateContactGroupL()</apiname></xref>. These functions create the group, optionally with a label, add it to the database, and return a pointer to it. To create an association between a card and a group, use <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-38EEDF68-F1F8-3286-8525-24822B75FEBC"><apiname>CContactDatabase::AddContactToGroupL()</apiname></xref>. To remove the association, use <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita#GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E/GUID-981C88EC-2089-3CE0-8DDF-03F228EC75F7"><apiname>CContactDatabase::RemoveContactFromGroupL()</apiname></xref>. To find out which groups a card belongs to, use <xref href="GUID-CCE5DB7C-AD68-3F8C-8720-14CD1FC3D164.dita#GUID-CCE5DB7C-AD68-3F8C-8720-14CD1FC3D164/GUID-C67AAC3C-6925-3CE4-9F4D-C7B955A95A9A"><apiname>CContactCard::GroupsJoinedLC()</apiname></xref> or <xref href="GUID-942BB679-256F-3DD3-A027-6A40E1DE9C40.dita#GUID-942BB679-256F-3DD3-A027-6A40E1DE9C40/GUID-4162EB84-E4D1-387B-B92D-DFD4738C5734"><apiname>CContactOwnCard::GroupsJoinedLC()</apiname></xref>. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e1496_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e1500_href.png has changed
--- a/Symbian3/PDK/Source/GUID-37057FD5-7ED0-5B18-9C28-39F6816D7627.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-37057FD5-7ED0-5B18-9C28-39F6816D7627" xml:lang="en"><title>Arrays
-within structs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A declaration of a struct member may either be a simple <varname>type-name</varname>  <varname>member-name</varname>,
-or it may be an array of values of identical type.</p>
-<p>Arrays are always indicated by square brackets:</p>
-<codeblock id="GUID-4F6A2882-FDF8-5DBA-A01D-6772D5BDF70F" xml:space="preserve">STRUCT HAS_ARRAY
- {
- STRUCT elements[];
- }</codeblock>
-<p>In the example above, the <codeph>HAS_ARRAY</codeph> struct has one array
-member, <codeph>elements</codeph>. Each member of <codeph>elements</codeph> is
-of <codeph>STRUCT</codeph> type.</p>
-<p><b>Array size</b> </p>
-<p>If you specify the array size, inside the square brackets, then the generated
-resource will contain no count of the number of elements. So this resource:</p>
-<codeblock id="GUID-F50D2117-7554-5D80-ABF1-2393E65B54CB" xml:space="preserve">STRUCT FIXED_ARRAY
- {
- WORD elements[3];
- }
-
-RESOURCE FIXED_ARRAY example1
- {
- elements={9,8,7};
- }</codeblock>
-<p>will generate the output</p>
-<codeblock id="GUID-880DF2CB-D042-59CD-AF28-89D971CC6466" xml:space="preserve">0x09 0x00 0x08 0x00 0x07 0x00</codeblock>
-<p>For variable length arrays, a count of the number of elements precedes
-the resource. The default for this is a word, but by prefixing the struct
-definition with <codeph>LEN BYTE</codeph> it will be a byte count. So the
-following resource:</p>
-<codeblock id="GUID-FEAD195C-8C3F-529F-AE2A-AC42F2ACA66F" xml:space="preserve">STRUCT VAR_ARRAY
- {
- WORD elements [];
- }
-
-RESOURCE VAR_ARRAY example2
- {
- elements={9,8,7};
- }</codeblock>
-<p>will generate the output</p>
-<codeblock id="GUID-D21EA8C8-876D-5DD8-9F0C-256288A2B6B1" xml:space="preserve">0x03 0x00 0x09 0x00 0x08 0x00 0x07 0x00 </codeblock>
-<p>whereas this resource:</p>
-<codeblock id="GUID-14A52C15-5D28-5716-AED4-22F02AF23AAE" xml:space="preserve">STRUCT VAR_ARRAY2
- {
- LEN BYTE WORD elements[];
- }
-
-RESOURCE VAR_ARRAY2 example3
- {
- elements={9,8,7};
- }</codeblock>
-<p>will generate this output</p>
-<codeblock id="GUID-3909C1FE-84B3-50D1-9519-417B84DD93B0" xml:space="preserve">0x03 0x09 0x00 0x08 0x00 0x07 0x00</codeblock>
-<p>The compiler allows you to prefix <codeph>LEN BYTE</codeph> or <codeph>LEN
-WORD</codeph> even for fixed length arrays, but it has no effect. Fixed length
-arrays do not generate an element count.</p>
-</conbody><related-links>
-<link href="GUID-0142B290-DA6C-5574-83D7-7555D804D9B5.dita"><linktext>How to initialise
-array RESOURCE members</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-377B04D8-4E8B-54C7-AE7F-8BD47CB81758_d0e11038_href.png has changed
Binary file Symbian3/PDK/Source/GUID-377B04D8-4E8B-54C7-AE7F-8BD47CB81758_d0e11154_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37888891-DFB2-5A93-9547-3B22410906BF_d0e507126_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37888891-DFB2-5A93-9547-3B22410906BF_d0e514588_href.png has changed
Binary file Symbian3/PDK/Source/GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e1724_href.png has changed
Binary file Symbian3/PDK/Source/GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e1729_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37C193CD-3D8A-56A5-B78C-0A6FE7163EC2_d0e537961_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37C193CD-3D8A-56A5-B78C-0A6FE7163EC2_d0e545421_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37D2EFAE-FB55-5015-90CE-1361144C411E_d0e322595_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37D2EFAE-FB55-5015-90CE-1361144C411E_d0e328581_href.png has changed
Binary file Symbian3/PDK/Source/GUID-37DCD20D-E123-5B62-976D-F91AD99A765D_d0e536039_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-37DCD20D-E123-5B62-976D-F91AD99A765D_d0e543499_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-37E8A48E-09B8-5958-9263-B33EDAE3F7C6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-37E8A48E-09B8-5958-9263-B33EDAE3F7C6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 own controls and indirectly through derived classes provided by UIKON and
 AVKON. </p> <fig id="GUID-DD81BA7E-07D0-53C7-9B42-7BE263CC82D3">
 <title>              Cone architectural relationships            </title>
-<image href="GUID-63BB9C30-9103-5900-9FD7-5B45FD78A5D7_d0e73074_href.png" placement="inline"/>
+<image href="GUID-63BB9C30-9103-5900-9FD7-5B45FD78A5D7_d0e77287_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-9A9F72A2-0CA0-488A-91DE-35FD0A88B6CD"><title>Description</title> <p><b>Controls</b> </p> <p>A
 control is a rectangular area of a window that may respond to user input.
@@ -34,7 +34,7 @@
 when its container control is redrawn. </p> <p>The following diagram shows
 simple controls in orange and container controls in grey. </p> <fig id="GUID-771A429A-B61E-5C45-83A9-4B9F76C40FB9">
 <title>                 Simple and compound controls               </title>
-<image href="GUID-8B37A2C7-B4DB-5826-B6C2-3C21012EF9EA_d0e73123_href.png" placement="inline"/>
+<image href="GUID-8B37A2C7-B4DB-5826-B6C2-3C21012EF9EA_d0e77336_href.png" placement="inline"/>
 </fig> <p><b>Controls and Windows </b> </p> <p>A window may be considered
 as a transparent layer. Windows are managed by the Window Server and described <xref href="GUID-0C4B86B5-530A-5839-86C1-46E7ABE281E0.dita">elsewhere</xref>. A control
 provides a means of access to a window - it can be drawn onto the window and
Binary file Symbian3/PDK/Source/GUID-38089CC3-D969-5501-9FDA-BB0369D5D6A9_d0e481505_href.png has changed
Binary file Symbian3/PDK/Source/GUID-38089CC3-D969-5501-9FDA-BB0369D5D6A9_d0e487334_href.png has changed
--- a/Symbian3/PDK/Source/GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9" xml:lang="en"><title>How
-to use UIDs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A UID is a globally unique identifier consisting of a 32-bit number. </p>
-<p>In Symbian platform, objects are identified by a compound identifier, known
-as the <keyword>UID type</keyword>, which is constructed from three 32 bit
-identifiers. The individual UIDs making up the UID type are referred to as <keyword>UID1</keyword>, <keyword>UID2</keyword> and <keyword>UID3</keyword>. </p>
-<p>Symbian platform makes widespread use of UIDs: </p>
-<ul>
-<li id="GUID-CD464385-25EF-5953-AA1F-31F99A12B7F1"><p>UIDs are used to identify
-the types of objects at runtime and loadtime, for example identifying executables,
-DLLs, filestores. </p> </li>
-<li id="GUID-E57A5374-9526-5BEA-BC18-14852DD30423"><p>UIDs are used to verify
-that objects present compatible and expected interfaces at runtime and loadtime,
-for example verifying that DLLs or filestores are of the expected type. </p> </li>
-<li id="GUID-5A2B51EC-DA36-5CC3-A2FA-0F318B80E983"><p>UIDs are fundamental
-to the association of applications with documents. For example, associating
-a document with an application allows the system to launch the application
-when the document is opened. </p> </li>
-</ul>
-<p>A file's three UIDs are stored in the first 12 bytes of the file. </p>
-<p>To program successfully, Symbian developers need to understand why and
-how to use UIDs in their programs. </p>
-<section><title>What UIDs are for</title> <p>From a user's point of view,
-conventional file names are preferable to UIDs for file identification. Symbian
-platform therefore supports a flexible, long filename, file naming scheme. </p> <p>However
-from a system point of view, guaranteed unique, 32-bit numbers provide for
-much safer, systematic, and more lightweight identification. </p> <p>UID1,
-UID2 and UID3 have the following general characteristics: </p> <ul>
-<li id="GUID-251CC75C-E12F-5602-AC72-D61769536325"><p> <keyword>UID1</keyword> indicates
-the structure of the file, for example, whether it is an executable, a DLL
-or a file store. </p> </li>
-<li id="GUID-04F9AE5C-CE1C-5A78-A58E-843CAA821975"><p>The meaning of <keyword>UID2</keyword> depends
-on the type of object it applies to. For polymorphic interface (plug-in framework)
-DLLs, UID2 identifies the interface that the DLL implements. For static interface
-(shared library) DLLs that others link to, the UID2 value is always the same.
-For executables the UID value has to be set to <codeph>KUidApp</codeph> or <codeph>NULL</codeph>. </p> </li>
-<li id="GUID-0C52BBE3-8971-5D13-92D9-1958BD053C90"><p> <keyword>UID3</keyword> distinguishes
-between objects with the same UID2 and can be thought of as a project identifier.
-For example, for an application, the same UID3 is shared by the executable,
-registration file (which defines the application's icon, caption, and some
-capability information), and all documents. </p> <p>The <xref href="GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1.dita">SECUREID</xref> need
-not be explicitly specified in the .mmp file, but if it is omitted, then the
-value of the UID3, specified elsewhere in the .mmp file, is used. If the UID3
-is not specified, then the secureid will take the value <codeph>KNullUID</codeph>.
-This has several consequences, including lack of privacy for data used by
-that application. </p> </li>
-</ul> <p>The UID type is a <codeph>TUidType</codeph> object and is constructed
-from a combination of all or some of the three possible UIDs. The UID type
-can be queried to return its component <keyword>UID1</keyword>, <keyword>UID2</keyword> and <keyword>UID3</keyword> values. </p> <p>If
-no UIDs are attached to an object, then all three component UIDs are returned
-as <codeph>KUidNull</codeph>. </p> </section>
-<section><title>UID1, UID2, UID3, and the no UIDs case</title> <p>An object
-in Symbian platform and more particularly files in Symbian platform may have
-all, some, or none of the three possible UIDs defined. </p> <p>Symbian platform
-predefines all possible UID1 values and the UID2 values used for GUI applications
-and static interface DLLs at system level. Symbian developers refer to them
-by their constant names, although in project (<filepath>.mmp</filepath>) files,
-hexadecimal numbers are used. </p> <ul>
-<li id="GUID-95B7B621-CE04-53DE-A708-FCBD4DB5A36D"><p>UID1: examples include <codeph>KExecutableImageUid</codeph>, <codeph>KDynamicLibraryUid</codeph> and <codeph>KDirectFileStoreLayoutUid</codeph>  </p> </li>
-<li id="GUID-8956CAD8-C680-5BD6-9C3F-86821A268C1B"><p>UID2: examples include <codeph>KSharedLibraryUid</codeph> (0x1000008d)
-for a static interface DLL and <codeph>KUidApp</codeph> (0x100039CE) or NULL
-for a GUI application. <b>Note:</b> Both <codeph>KUidApp</codeph> and NULL
-are acceptable values for UID2 when the application is an EXE, although at
-the present time these values are ignored. At a later stage UID2 may be used
-for other purposes, so setting UID2 to values outside of these values is not
-recommended. </p> </li>
-<li id="GUID-BECDDD3F-58E9-5414-ACC7-25BE2217D81A"><p>Symbian developers are
-responsible for ensuring that where UID3 values are required, they are properly
-allocated. See the <xref href="https://www.symbiansigned.com" scope="external">Symbian
-Signed</xref> web site for information on how to allocate UIDs (free registration
-is required to see the FAQ). </p> </li>
-</ul> <p>Note that in project (<filepath>.mmp</filepath>) files, UID2 and
-UID3 values can be specified, but UID1 values cannot; the UID1 value is implied
-by the project's target type. </p> </section>
-<section><title>EXE targets and UIDs</title> <p>All executable targets have
-a UID1 of <codeph>KExecutableImageUid</codeph>. This is defined by Symbian
-platform and is automatically built into any executable target based on the <codeph>exe</codeph> target
-type declared in the project file. </p> <p>A UID2 value should be specified
-by GUI applications (.EXE) and the application architecture expects this to
-be <codeph>KUidApp</codeph> (0x100039CE) or NULL. Console applications (also
-.EXE), which are often used for testing and as example code, do not need to
-specify a UID2, and if they do, it is ignored. </p> </section>
-<section><title>DLLs and UIDs</title> <p>All DLLs, whether they have static
-or polymorphic interfaces, have a UID1 of <codeph>KDynamicLibraryUid</codeph>.
-This is defined by Symbian platform and is automatically built into any DLL
-target based on the <filepath>dll</filepath> target type declared in the project
-file. </p> <p>For static interface DLLs, the UID2 is <codeph>KSharedLibraryUid.</codeph> The
-UID3, which is used to identify the interface to the library, must be allocated
-by Symbian Signed. </p> <p>For polymorphic DLLs (for instance ECom plugins,
-device drivers and front end processors), UID2 identifies the interface that
-the DLL implements. UID3 (which, if required, must be allocated by Symbian
-Signed) may be used to identify a specific implementation of that interface. </p> </section>
-<section><title>Documents and UIDs</title> <p>In Symbian platform, documents
-are really file-stores: stores which can be closed and re-opened. There are
-two different kinds of file store, <keyword>direct file stores</keyword> which
-are write-once-read-many, and <keyword>permanent file stores</keyword> which
-are write-many-read-many. </p> <p>A document's UID1 will therefore be one
-of <codeph>KDirectFileStoreLayoutUid</codeph> or <codeph>KPermanentFileStoreLayoutUid</codeph>.
-The UID2 and/or UID3 will be application dependent. </p> <p>Every native document
-must have an appropriate UID1 which should be set by the application which
-creates the document. Typically documents may have a UID2 of <codeph>KUidAppDllDoc</codeph> and
-a UID3 shared with the creating application. More precisely, a document’s
-UID3 should match that of the application which will open it. </p> <p>Only
-the UID1 is required, but in most cases Symbian developers will want to specify
-second and third UIDs for the documents their applications create and use.
-These UIDs are used by the application architecture framework to manage associations
-between applications and their documents. This allows an application to be
-found and launched when a file is opened, and it also allows an application
-icon to be associated with documents in system shell displays. Conversely,
-it allows an application, when opening files, to select only applicable files. </p> <p>Symbian
-platform also allows default file associations with the implication that in
-some cases users may want to select a different application to open a file.
-Applications which support this must therefore be able to open documents whose
-third UID differs from their own. </p> <p>Applications may also want to open
-non-native documents which have no UIDs, and may wish to be specified as default
-applications for these documents. </p> </section>
-<section><title>UIDs in package files</title> <p>Package (.PKG) files are
-used in Symbian platform to provide the information required to create Symbian
-installation (.SIS) files. Each SIS file contains a UID, which is defined
-in the package file's <xref href="GUID-D9D20EE0-AC86-512A-91C0-EA0ACF3912A7.dita">package
-header</xref>. This UID should be allocated in the same way
-as other UIDs, through Symbian Signed. </p> </section>
-<section id="GUID-8D9B0F56-4CD1-506C-A8DF-A310DC5F58CE"><title>Uniqueness
-and allocation</title> <p>Because UIDs are fundamental to Symbian platform,
-it is important that they are used correctly when developing programs. To
-ensure uniqueness, it is essential that UIDs are properly allocated. </p> <p>Uniqueness
-is guaranteed by managing allocation centrally from a single database. All
-UIDs must therefore be assigned to users by a central allocating authority. </p> <p>UIDs
-are also split into protected and unprotected ranges. Any UID values falling
-below 0x7FFFFFFF are classed as "protected" and are only intended for use
-with signed applications (or those pre-installed in ROM). The software installer
-will refuse to install an unsigned application if it uses a package UID in
-the protected range. </p> <p>Symbian developers can request UIDs through <xref href="https://www.symbiansigned.com" scope="external">https://www.symbiansigned.com</xref>.
-For more information, see the Symbian Signed FAQ (free registration required).
-Note that from version 9 of Symbian platform, UIDs are no longer requested
-from uid@symbiandevnet.com. </p></section>
-<section><title>Reserved UID range for development only</title><p>During development,
-or for test code, temporary UIDs may be chosen from the unprotected test range
-0xExxxxxxx. These UIDs can be used during development for unsigned applications
-but must not be used in released software. Note that such applications may
-not be installable via a SIS file. See the Symbian Signed website for more
-information. </p> <p>Care must still be taken to avoid clashes within development
-teams and between multiple projects, including old projects which may still
-be installed on a Symbian emulator or native platforms. UID clashes may stop
-a program from loading correctly, typically leading to <systemoutput>Not Found</systemoutput> errors. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3829BD20-3DCB-5489-8FC4-07F954E391BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3829BD20-3DCB-5489-8FC4-07F954E391BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 use a <codeph>TFindHandleBase</codeph>  <i>derived</i> class to locate a global
 Kernel object. The following diagram shows the general idea.</p>
 <fig id="GUID-01C60CFA-8CA7-51CC-904E-158EC02959DE">
-<image href="GUID-5398C2DC-9AFA-5517-BCBF-5964970B9656_d0e332424_href.png" placement="inline"/>
+<image href="GUID-5398C2DC-9AFA-5517-BCBF-5964970B9656_d0e338396_href.png" placement="inline"/>
 </fig>
 <p>See also:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -73,10 +73,10 @@
 <li><p><xref href="GUID-1FDBA8F6-D1CC-3AE5-AF48-1256D50C5A4F.dita"><apiname>CMsvOperationWait </apiname></xref></p></li>
 <li><p><xref href="GUID-4499491F-FA1A-38E1-BB13-1AB184A31DA6.dita"><apiname>RSendAsMessage </apiname></xref></p></li>
 </ul></section>
-<section id="GUID-13FDF5EE-00C2-54D4-AF6C-41E3DBDC2B93"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build an application. </p> <p>The SendAs example builds an executable called <filepath>SendAs2Example.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). After launching the
-executable, depending on the emulator you are using, you may need
-to task away from the app launcher/shell screen to view the console. </p> </section>
+<section id="GUID-13FDF5EE-00C2-54D4-AF6C-41E3DBDC2B93"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The SendAs example builds an executable called <filepath>SendAs2Example.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
+CodeWarrior). After launching the executable, depending on the emulator
+you are using, you may need to task away from the app launcher/shell
+screen to view the console. </p> </section>
 <section id="GUID-E9152EC2-A404-549C-B7CA-25CAC97BA686"><title>See
 also</title> <p>To create advanced applications using the SendAs API
 refer to the complete <xref href="GUID-F7598A84-9736-5310-AAA4-5BCC4BE46C16.dita"> SendAs </xref> API
--- a/Symbian3/PDK/Source/GUID-383A617C-474B-509D-BA37-3515BCC5F1D1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-383A617C-474B-509D-BA37-3515BCC5F1D1" xml:lang="en"><title>CHARACTER_SET
-statement</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;character_set-statement&gt;
-character_set-statement ::= 
-CHARACTER_SET &lt;character_set-name&gt;</codeblock>
-<p>Use a <codeph>CHARACTER_SET</codeph> statement to define the character
-set to be used. The permitted values for <varname>character_set-name</varname> are
-defined as:</p>
-<codeblock xml:space="preserve">&lt;character_set-name&gt;
-character_set-name ::= 
-CP1252 | UTF8 
-</codeblock>
-<p>If the <codeph>CHARACTER_SET</codeph> statement is omitted from a resource
-file, character set CP1252 is taken as default.</p>
-<example><codeblock id="GUID-6F615F39-DC76-5824-A505-A55F0B34AFB5" xml:space="preserve">CHARACTER_SET UTF8</codeblock></example>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e597643_href.png has changed
Binary file Symbian3/PDK/Source/GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e616484_href.png has changed
Binary file Symbian3/PDK/Source/GUID-383A96FD-99C3-593C-B7A2-58153F4050DE_d0e625537_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3853600F-A096-53A6-8E68-4815ED85FD05_d0e218773_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3853600F-A096-53A6-8E68-4815ED85FD05_d0e224793_href.png has changed
--- a/Symbian3/PDK/Source/GUID-387E98B0-568D-4DBB-9A9E-616E41E96B58.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-387E98B0-568D-4DBB-9A9E-616E41E96B58.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 CPU cores. <fig id="GUID-FBBCE840-E295-4287-BA10-DF37292D432B">
 <title>The Simplified Architecture of an SMP Platform Executing on the Symbian
 Platform.  </title>
-<image href="GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16677_href.jpg" placement="inline"/>
+<image href="GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16767_href.jpg" placement="inline"/>
 </fig></p><p>The figure shows a simplified block diagram of an SMP system,
 where 4 CPUs are connected through their own cache to shared RAM and peripherals.
 The Cache Coherency Control block is responsible for ensuring that each CPU
--- a/Symbian3/PDK/Source/GUID-38A84B6A-BA49-55ED-A4D7-9B4436D00A42.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-38A84B6A-BA49-55ED-A4D7-9B4436D00A42.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -43,8 +43,8 @@
 #endif
 
 #endif // __LBS_BTPSY_IBY__
-</codeblock> </stepxmp> <info>The file <filepath>101fe999.cre</filepath> is the binary Central Repository initialisation file that defines values for the keys specified by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to register the Bluetooth GPS PSY with the LBS subsystem. </info> </step> <step id="GUID-8A1B8894-100C-5020-8FBC-83EEAB7140B2"><cmd/><info>To change values in this file, modify the source text version of the initialisation file <filepath>101fe999.txt</filepath> as described in <xref href="GUID-F9BEC749-D535-55EA-8601-A961EA1E441B.dita">Modifying the Bluetooth GPS PSY Central Repository Initialisation File</xref>, then build a binary version of it. To build a binary version of the file you can use the makefile <filepath>createlbsbtgpsconfigstore.mk</filepath>, which is included with the source distribution of the Bluetooth GPS PSY. </info> <info>The library <filepath>lbsbtgpsconfig.dll</filepath> contains the Bluetooth GPS PSY Configuration API which is also copied into the target ROM. </info> </step> </steps> </taskbody><related-links><link href="GUID-E73A181C-0C9B-513C-ABAE-585C80D566DF.dita"><linktext>Bluetooth
+</codeblock> </stepxmp> <info>The file <filepath>101fe999.cre</filepath> is the binary Central Repository initialisation file that defines values for the keys specified by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to register the Bluetooth GPS PSY with the LBS subsystem. </info> </step> <step id="GUID-8A1B8894-100C-5020-8FBC-83EEAB7140B2"><cmd/><info>To change values in this file, modify the source text version of the initialisation file <filepath>101fe999.txt</filepath> as described in <xref href="GUID-F9BEC749-D535-55EA-8601-A961EA1E441B.dita">Modifying the Bluetooth GPS PSY Central Repository Initialisation File</xref>, then build a binary version of it. To build a binary version of the file you can use the makefile <filepath>createlbsbtgpsconfigstore.mk</filepath>, which is included with the source distribution of the Bluetooth GPS PSY. </info> <info>The library <filepath>lbsbtgpsconfig.dll</filepath> contains the Bluetooth GPS PSY Configuration API which is also copied into the target ROM. </info> </step> </steps> </taskbody><related-links><link href="GUID-E73A181C-0C9B-513C-ABAE-585C80D566DF.dita"><linktext>Bluetooth
                 GPS PSY Overview</linktext> </link> <link href="GUID-F9BEC749-D535-55EA-8601-A961EA1E441B.dita"><linktext>Modifying the Bluetooth GPS
-                PSY Central Repository Initialisation File</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita"><linktext>LBS ROM
+                PSY Central Repository Initialisation File</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita"><linktext>LBS ROM
                 macros</linktext> </link> <link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>LBS
                 Integration and Configuration guide</linktext> </link> </related-links></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-4-1" xml:lang="en"><title>Signing
+and verification</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The following example demonstrates signing and verifying with DSA keys.
+It generates a DSA key pair from the factory, signs some randomly generated
+data using the private key and then verifies the signature using the public
+key. </p>
+<codeblock id="GUID-BFCAC8B2-D97E-59BC-8855-E5A030B9E26B-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-4-1-2-2" xml:space="preserve">#include &lt;legacyselector.h&gt;
+#include &lt;cryptosignatureapi.h&gt;
+#include &lt;cryptokeypairgeneratorapi.h&gt;
+#include &lt;random.h&gt;
+#include &lt;keypair.h&gt;
+
+using namespace CryptoSpi;
+
+//Get a DSA key pair generator
+CKeyPairGenerator* keyPairGeneratorImpl = NULL;
+
+TRAPD(err,CKeyPairGeneratorFactory::CreateKeyPairGeneratorL
+        (keyPairGeneratorImpl,
+        KDSAKeyPairGeneratorAlgorithmUid,
+        NULL));
+
+if(keyPairGeneratorImpl &amp;&amp; (err == KErrNone))
+    {
+    CleanupStack::PushL(keyPairGeneratorImpl);
+    CCryptoParams* keyParameters = CCryptoParams::NewLC();
+
+    //Create a DSA key pair
+    CKeyPair* keyPair = NULL;
+                
+    //Hardcode the keybit to 512
+    TRAP(err,keyPairGeneratorImpl-&gt;GenerateKeyPairL
+        (512,
+        *keyParameters,
+        keyPair));
+            
+    if(keyPair &amp;&amp; (err == KErrNone))
+        {
+        CleanupStack::PushL(keyPair);
+                
+        //Create a pointer for the signing implementation object
+        CSigner* signerImpl = NULL;
+                
+        //Create a signer implementation object using the private key
+        const CKey&amp; privateKey = keyPair-&gt;PrivateKey();
+        TRAP(err,CSignatureFactory::CreateSignerL(
+             signerImpl,
+             KDsaSignerUid,
+             privateKey,
+             KPaddingModeNoneUid,
+             NULL));
+                
+        if(!signerImpl || (err != KErrNone))
+            {
+            User::Panic(_L("Signer/Verifier"),err);
+            }
+        else
+            {
+            CleanupStack::PushL(signerImpl);
+                
+            //Create the object to hold the signature
+            CCryptoParams* signature = CCryptoParams::NewLC();
+
+            //Generate random data; 128 bytes max length and 128 bytes long
+            TBuf8&lt;128&gt; message(128); 
+            TRandom::RandomL(message);
+
+            //Sign the random data
+            //On return, second parameter contains the signature
+            TRAP(err,signerImpl-&gt;SignL(message, *signature));
+            
+            if(err != KErrNone)
+                {
+                User::Panic(_L("Signature using private key"),err);
+                }
+
+            //Now verify the signature using the public key
+            CVerifier* verifierImpl = NULL;
+                    
+            const CKey&amp; publicKey = keyPair-&gt;PublicKey();
+
+            // Create a verification object from the factory
+            TRAP(err,CSignatureFactory::CreateVerifierL(verifierImpl,
+                 KDsaVerifierUid,
+                 publicKey,
+                 KPaddingModeNoneUid,
+                 NULL));
+                        
+            if (!verifierImpl || (err != KErrNone))
+                {
+                User::Panic(_L("Signer/Verifier"),err);
+                }
+            else
+                {
+                CleanupStack::PushL(verifierImpl);
+
+                TBool verifyResult = EFalse;    
+                        
+                //Verify the signature using the public key
+                verifierImpl-&gt;VerifyL(message, *signature, verifyResult);
+
+                if (verifyResult == EFalse)
+                    {
+                    User::Panic(_L("Signer/Verifier"),err);
+                    }
+                            
+                CleanupStack::PopAndDestroy(verifierImpl);
+                }
+                        
+            CleanupStack::PopAndDestroy(signature);
+            CleanupStack::PopAndDestroy(signerImpl);
+            }
+                    
+        CleanupStack::PopAndDestroy(keyPair);                    
+        }
+            
+    CleanupStack::PopAndDestroy(keyParameters);    
+    CleanupStack::PopAndDestroy(keyPairGeneratorImpl);    
+    }</codeblock>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1" xml:lang="en"><title>Signing
+and verification</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The following example demonstrates signing and verifying with DSA keys.
+It generates a DSA key pair from the factory, signs some randomly generated
+data using the private key and then verifies the signature using the public
+key. </p>
+<codeblock id="GUID-BFCAC8B2-D97E-59BC-8855-E5A030B9E26B-GENID-1-12-1-26-1-1-9-1-6-1-2-2" xml:space="preserve">#include &lt;legacyselector.h&gt;
+#include &lt;cryptosignatureapi.h&gt;
+#include &lt;cryptokeypairgeneratorapi.h&gt;
+#include &lt;random.h&gt;
+#include &lt;keypair.h&gt;
+
+using namespace CryptoSpi;
+
+//Get a DSA key pair generator
+CKeyPairGenerator* keyPairGeneratorImpl = NULL;
+
+TRAPD(err,CKeyPairGeneratorFactory::CreateKeyPairGeneratorL
+        (keyPairGeneratorImpl,
+        KDSAKeyPairGeneratorAlgorithmUid,
+        NULL));
+
+if(keyPairGeneratorImpl &amp;&amp; (err == KErrNone))
+    {
+    CleanupStack::PushL(keyPairGeneratorImpl);
+    CCryptoParams* keyParameters = CCryptoParams::NewLC();
+
+    //Create a DSA key pair
+    CKeyPair* keyPair = NULL;
+                
+    //Hardcode the keybit to 512
+    TRAP(err,keyPairGeneratorImpl-&gt;GenerateKeyPairL
+        (512,
+        *keyParameters,
+        keyPair));
+            
+    if(keyPair &amp;&amp; (err == KErrNone))
+        {
+        CleanupStack::PushL(keyPair);
+                
+        //Create a pointer for the signing implementation object
+        CSigner* signerImpl = NULL;
+                
+        //Create a signer implementation object using the private key
+        const CKey&amp; privateKey = keyPair-&gt;PrivateKey();
+        TRAP(err,CSignatureFactory::CreateSignerL(
+             signerImpl,
+             KDsaSignerUid,
+             privateKey,
+             KPaddingModeNoneUid,
+             NULL));
+                
+        if(!signerImpl || (err != KErrNone))
+            {
+            User::Panic(_L("Signer/Verifier"),err);
+            }
+        else
+            {
+            CleanupStack::PushL(signerImpl);
+                
+            //Create the object to hold the signature
+            CCryptoParams* signature = CCryptoParams::NewLC();
+
+            //Generate random data; 128 bytes max length and 128 bytes long
+            TBuf8&lt;128&gt; message(128); 
+            TRandom::RandomL(message);
+
+            //Sign the random data
+            //On return, second parameter contains the signature
+            TRAP(err,signerImpl-&gt;SignL(message, *signature));
+            
+            if(err != KErrNone)
+                {
+                User::Panic(_L("Signature using private key"),err);
+                }
+
+            //Now verify the signature using the public key
+            CVerifier* verifierImpl = NULL;
+                    
+            const CKey&amp; publicKey = keyPair-&gt;PublicKey();
+
+            // Create a verification object from the factory
+            TRAP(err,CSignatureFactory::CreateVerifierL(verifierImpl,
+                 KDsaVerifierUid,
+                 publicKey,
+                 KPaddingModeNoneUid,
+                 NULL));
+                        
+            if (!verifierImpl || (err != KErrNone))
+                {
+                User::Panic(_L("Signer/Verifier"),err);
+                }
+            else
+                {
+                CleanupStack::PushL(verifierImpl);
+
+                TBool verifyResult = EFalse;    
+                        
+                //Verify the signature using the public key
+                verifierImpl-&gt;VerifyL(message, *signature, verifyResult);
+
+                if (verifyResult == EFalse)
+                    {
+                    User::Panic(_L("Signer/Verifier"),err);
+                    }
+                            
+                CleanupStack::PopAndDestroy(verifierImpl);
+                }
+                        
+            CleanupStack::PopAndDestroy(signature);
+            CleanupStack::PopAndDestroy(signerImpl);
+            }
+                    
+        CleanupStack::PopAndDestroy(keyPair);                    
+        }
+            
+    CleanupStack::PopAndDestroy(keyParameters);    
+    CleanupStack::PopAndDestroy(keyPairGeneratorImpl);    
+    }</codeblock>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2" xml:lang="en"><title>Signing
-and verification</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The following example demonstrates signing and verifying with DSA keys.
-It generates a DSA key pair from the factory, signs some randomly generated
-data using the private key and then verifies the signature using the public
-key. </p>
-<codeblock id="GUID-BFCAC8B2-D97E-59BC-8855-E5A030B9E26B" xml:space="preserve">#include &lt;legacyselector.h&gt;
-#include &lt;cryptosignatureapi.h&gt;
-#include &lt;cryptokeypairgeneratorapi.h&gt;
-#include &lt;random.h&gt;
-#include &lt;keypair.h&gt;
-
-using namespace CryptoSpi;
-
-//Get a DSA key pair generator
-CKeyPairGenerator* keyPairGeneratorImpl = NULL;
-
-TRAPD(err,CKeyPairGeneratorFactory::CreateKeyPairGeneratorL
-        (keyPairGeneratorImpl,
-        KDSAKeyPairGeneratorAlgorithmUid,
-        NULL));
-
-if(keyPairGeneratorImpl &amp;&amp; (err == KErrNone))
-    {
-    CleanupStack::PushL(keyPairGeneratorImpl);
-    CCryptoParams* keyParameters = CCryptoParams::NewLC();
-
-    //Create a DSA key pair
-    CKeyPair* keyPair = NULL;
-                
-    //Hardcode the keybit to 512
-    TRAP(err,keyPairGeneratorImpl-&gt;GenerateKeyPairL
-        (512,
-        *keyParameters,
-        keyPair));
-            
-    if(keyPair &amp;&amp; (err == KErrNone))
-        {
-        CleanupStack::PushL(keyPair);
-                
-        //Create a pointer for the signing implementation object
-        CSigner* signerImpl = NULL;
-                
-        //Create a signer implementation object using the private key
-        const CKey&amp; privateKey = keyPair-&gt;PrivateKey();
-        TRAP(err,CSignatureFactory::CreateSignerL(
-             signerImpl,
-             KDsaSignerUid,
-             privateKey,
-             KPaddingModeNoneUid,
-             NULL));
-                
-        if(!signerImpl || (err != KErrNone))
-            {
-            User::Panic(_L("Signer/Verifier"),err);
-            }
-        else
-            {
-            CleanupStack::PushL(signerImpl);
-                
-            //Create the object to hold the signature
-            CCryptoParams* signature = CCryptoParams::NewLC();
-
-            //Generate random data; 128 bytes max length and 128 bytes long
-            TBuf8&lt;128&gt; message(128); 
-            TRandom::RandomL(message);
-
-            //Sign the random data
-            //On return, second parameter contains the signature
-            TRAP(err,signerImpl-&gt;SignL(message, *signature));
-            
-            if(err != KErrNone)
-                {
-                User::Panic(_L("Signature using private key"),err);
-                }
-
-            //Now verify the signature using the public key
-            CVerifier* verifierImpl = NULL;
-                    
-            const CKey&amp; publicKey = keyPair-&gt;PublicKey();
-
-            // Create a verification object from the factory
-            TRAP(err,CSignatureFactory::CreateVerifierL(verifierImpl,
-                 KDsaVerifierUid,
-                 publicKey,
-                 KPaddingModeNoneUid,
-                 NULL));
-                        
-            if (!verifierImpl || (err != KErrNone))
-                {
-                User::Panic(_L("Signer/Verifier"),err);
-                }
-            else
-                {
-                CleanupStack::PushL(verifierImpl);
-
-                TBool verifyResult = EFalse;    
-                        
-                //Verify the signature using the public key
-                verifierImpl-&gt;VerifyL(message, *signature, verifyResult);
-
-                if (verifyResult == EFalse)
-                    {
-                    User::Panic(_L("Signer/Verifier"),err);
-                    }
-                            
-                CleanupStack::PopAndDestroy(verifierImpl);
-                }
-                        
-            CleanupStack::PopAndDestroy(signature);
-            CleanupStack::PopAndDestroy(signerImpl);
-            }
-                    
-        CleanupStack::PopAndDestroy(keyPair);                    
-        }
-            
-    CleanupStack::PopAndDestroy(keyParameters);    
-    CleanupStack::PopAndDestroy(keyPairGeneratorImpl);    
-    }</codeblock>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-38FF81FD-0C23-586D-AFAE-9F0761A36BAD_d0e315497_href.png has changed
Binary file Symbian3/PDK/Source/GUID-38FF81FD-0C23-586D-AFAE-9F0761A36BAD_d0e321487_href.png has changed
--- a/Symbian3/PDK/Source/GUID-39186342-960A-46A4-BC35-851F53665FA8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-39186342-960A-46A4-BC35-851F53665FA8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,8 +12,8 @@
 <task id="GUID-39186342-960A-46A4-BC35-851F53665FA8" xml:lang="en"><title>Writing
 the Version 3 Registration Resource File</title><shortdesc>The version 3 registration resource file is an evolution of the
 version 2 . This version is evolved to accommodate extended interfaces. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-4-1-5-1-4-1-5-1-6-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-4-1-5-1-4-1-5-1-6-1-3-1-1"><cmd>Set Info_format
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-8-1-4-1-5-1-4-1-5-1-6-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-8-1-4-1-5-1-4-1-5-1-6-1-3-1-1"><cmd>Set Info_format
 to the type of info record that is, <codeph>IMPLEMENTATION_INFO</codeph> or <codeph>BINARY_IMPLEMENTATION_INFO</codeph>.
  </cmd>
 </step>
Binary file Symbian3/PDK/Source/GUID-395C240D-6487-5832-B5F6-FC92991001FE_d0e584074_href.png has changed
Binary file Symbian3/PDK/Source/GUID-395C240D-6487-5832-B5F6-FC92991001FE_d0e611968_href.png has changed
Binary file Symbian3/PDK/Source/GUID-398483AD-C341-5777-AD23-381A067F9180_d0e454195_href.png has changed
Binary file Symbian3/PDK/Source/GUID-398483AD-C341-5777-AD23-381A067F9180_d0e460040_href.png has changed
Binary file Symbian3/PDK/Source/GUID-399F7F7D-3E8E-58BB-9925-9F34C561C39A_d0e507156_href.png has changed
Binary file Symbian3/PDK/Source/GUID-399F7F7D-3E8E-58BB-9925-9F34C561C39A_d0e514618_href.png has changed
--- a/Symbian3/PDK/Source/GUID-39A8FBC9-5FD6-4F92-B71E-5C5438ECFD46.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-39A8FBC9-5FD6-4F92-B71E-5C5438ECFD46.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,14 +12,14 @@
 <concept id="GUID-39A8FBC9-5FD6-4F92-B71E-5C5438ECFD46" xml:lang="en"><title>OOM
 Monitor Overview</title><shortdesc>This section provides an overview of the functionality and the
 architecture of the OOM Monitor component.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-12-1-1-9-1-5-1-4-1-3-1"><title>Purpose</title><p>The
+<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-13-1-1-9-1-5-1-4-1-3-1"><title>Purpose</title><p>The
 OOM Monitor Client API monitors the memory situations and handles out of memory
 situations. OOM monitor is responsible to maintain good memory level in the
 device. In case of low memory situation, OOM Monitor releases memory by closing
 applications based on the priority defined. For information on priority, refer
 to <xref href="GUID-CE308C71-D8B2-43B3-97FD-B868285ED5FB.dita">OOM Monitor Priority</xref>.</p> 
   </section>
-<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-12-1-1-9-1-5-1-4-1-3-2"><title>Key concepts</title><dl>
+<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-13-1-1-9-1-5-1-4-1-3-2"><title>Key concepts</title><dl>
 <dlentry>
 <dt>LOW_RAM_THRESHOLD</dt>
 <dd><p>It is the minimum amount of free RAM that is specified for the device.
@@ -39,19 +39,19 @@
 </dl><p>For information on OOM Monitor Priority and Optional RAM allocation,
 refer to <xref href="GUID-F6A33835-D677-41D0-86BB-812E3AFA5192.dita">OOM Monitor
 Concepts</xref></p>  </section>
-<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-12-1-1-9-1-5-1-4-1-3-3"><title>Architecture</title>  <p>The
+<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-13-1-1-9-1-5-1-4-1-3-3"><title>Architecture</title>  <p>The
 basic function of the OOM Monitor is to monitor the amount of free RAM in
 the mobile device. Whenever the amount of free RAM decreases below a defined <keyword>LOW_RAM_THRESHOLD</keyword> threshold
 value, the OOM Monitor is triggered. The OOM Monitor then releases RAM by
 closing applications running on background in order to raise the amount of
 free RAM above the defined GOOD_RAM_THRESHOLD value.</p><fig id="GUID-1DD9B22F-1060-4AC9-899B-EC2D91E7B948">
-<image href="GUID-F4203C60-EB2A-4644-8B2D-291087724BA9_d0e184675_href.png" placement="inline"/>
+<image href="GUID-F4203C60-EB2A-4644-8B2D-291087724BA9_d0e190752_href.png" placement="inline"/>
 </fig><fig id="GUID-573E838C-50CD-4CE7-B608-6BBD18B29088">
-<image href="GUID-AA820231-5C46-46A1-A310-ABBA45593B1F_d0e184679_href.png" scale="100" placement="inline"/>
+<image href="GUID-AA820231-5C46-46A1-A310-ABBA45593B1F_d0e190756_href.png" scale="100" placement="inline"/>
 </fig>  </section>
-<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-12-1-1-9-1-5-1-4-1-3-4"><title>APIs</title><p>The
+<section id="GUID-84DFAB24-BC7F-45B2-813D-6CD05EBCF34F-GENID-1-12-1-13-1-1-9-1-5-1-4-1-3-4"><title>APIs</title><p>The
 OOM Monitor Client API consists of <xref href="GUID-02D1911A-D2E5-3D28-9B05-75DA0A75DE73.dita"><apiname>ROomMonitorSession</apiname></xref> class.
-The main functions of this class are:</p><table id="GUID-CF94290C-7BE9-418F-9CF0-93DE74814097-GENID-1-12-1-12-1-1-9-1-5-1-4-1-3-4-3">
+The main functions of this class are:</p><table id="GUID-CF94290C-7BE9-418F-9CF0-93DE74814097-GENID-1-12-1-13-1-1-9-1-5-1-4-1-3-4-3">
 <tgroup cols="2"><colspec colname="col1" colwidth="0.70*"/><colspec colname="col2" colwidth="1.30*"/>
 <tbody>
 <row>
@@ -74,7 +74,7 @@
 </tbody>
 </tgroup>
 </table><p>The OOM Monitor Client API also consists of <xref href="GUID-ACE03F26-555A-363E-B220-44FCA7E8EACB.dita"><apiname>COomMonitorPlugin</apiname></xref> class.
-The main functions of this plug-in class are:</p><table id="GUID-CF94290C-7BE9-418F-9CF0-93DE74814097-GENID-1-12-1-12-1-1-9-1-5-1-4-1-3-4-5">
+The main functions of this plug-in class are:</p><table id="GUID-CF94290C-7BE9-418F-9CF0-93DE74814097-GENID-1-12-1-13-1-1-9-1-5-1-4-1-3-4-5">
 <tgroup cols="2"><colspec colname="col1" colwidth="0.70*"/><colspec colname="col2" colwidth="1.30*"/>
 <tbody>
 <row>
--- a/Symbian3/PDK/Source/GUID-39A995DC-F047-4B41-A60D-27063CE329BE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-39A995DC-F047-4B41-A60D-27063CE329BE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -38,7 +38,7 @@
 steps until the necessary level of protection is achieved.</p></li>
 </ol>
 <p/>
-<fig id="GUID-A41ADA16-6D0B-4EA4-BBF2-67C2CFED68F3"><title>Security development process</title><image href="GUID-316D7B85-F827-4479-B5EE-81F210614236_d0e13138_href.png"/></fig>
+<fig id="GUID-A41ADA16-6D0B-4EA4-BBF2-67C2CFED68F3"><title>Security development process</title><image href="GUID-316D7B85-F827-4479-B5EE-81F210614236_d0e13237_href.png"/></fig>
 <p>The security development process is guided by <i>cost</i>, <i>efficiency,</i> and <i>usability</i>.
 If security is too tight, this may be expensive and affect both performance
 and the user's experience of the system or software. On the other hand, if
Binary file Symbian3/PDK/Source/GUID-39AAB0D3-6D4D-5DE3-B894-F5E763D3E19B_d0e346160_href.png has changed
Binary file Symbian3/PDK/Source/GUID-39AAB0D3-6D4D-5DE3-B894-F5E763D3E19B_d0e352111_href.png has changed
--- a/Symbian3/PDK/Source/GUID-39B5850D-EAAD-56BC-B75A-2104033814E6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-39B5850D-EAAD-56BC-B75A-2104033814E6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 one or more audio streams can be grouped into a logical unit called a context.
 The following diagram shows a context which contains two audio streams: </p> <fig id="GUID-3E0CDA7E-7B25-5407-9276-8397C4FFEAFE">
 <title>              Audio streams in a context            </title>
-<image href="GUID-5673347B-DA7B-563A-AB2B-615BF7C19F92_d0e538648_href.png" placement="inline"/>
+<image href="GUID-5673347B-DA7B-563A-AB2B-615BF7C19F92_d0e546108_href.png" placement="inline"/>
 </fig> <p>Using a context means that, for the purposes of pre-emption, all
 audio streams in the context can be controlled as a single unit. For example,
 if an audio stream needs to be stopped because it uses a resource that is
--- a/Symbian3/PDK/Source/GUID-39CFE2E2-9776-54EE-8E3B-8B85AFF1697A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-39CFE2E2-9776-54EE-8E3B-8B85AFF1697A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-39CFE2E2-9776-54EE-8E3B-8B85AFF1697A"><title>Window Server Plug-in Framework in the Non-ScreenPlay Variant</title><shortdesc>This topic provides an introduction to the Window Server plug-in framework in the non-ScreenPlay variant. This framework was introduced in a project to improve the Window Server. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">Non-ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <section><title>Purpose</title> <p>The Window Server (WSERV) performance improvements introduce several new APIs and Service Provider Interfaces (SPIs). An SPI differs from an API in that an API describes functionality that a developer expects to use, whereas an SPI defines an interface that a developer is expected to implement. </p> <p>The SPI part consists primarily of abstract interfaces for plug-ins, faders and render stages. Developers are expected to provide concrete implementations of these interfaces. The API part consists of new object provider interfaces that can be used by plug-ins (including the existing Content Rendering Plug-ins (CRP)). </p> <p>This document provides an overview for the new WSERV performance improvements. </p> </section> <section><title>Library details</title> <p>There is one library affected by the WSERV performance improvements changes. </p> <table id="GUID-9CB1253D-AABA-5B2E-9E2D-78E95F84DBC2"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library Name</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>wsgraphicdrawer.lib </filepath>  </p> </entry> <entry><p>Server-side base-classes for graphic drawer plug-ins </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural relationship</title> <p><b>New additions </b> </p> <p>In the past, Window Server (WSERV) has supported a number of plug-in interfaces, for example: </p> <ul><li id="GUID-CD8F335E-B5CE-5E01-ADE4-B74ECA118A58"><p>Anim dlls </p> </li> <li id="GUID-1668ACD9-AA34-535E-877C-9EDB3F81730F"><p>Content rendering plug-ins </p> </li> </ul> <p>In general, these plug-ins enable UI platform providers to have code running in the WSERV process for specific purposes, without having to modify WSERV. This mechanism can be used to extend or customize WSERV functionality. However, in the past, new plug-in types were added in a fairly ad hoc way, with each new implementer going about things in a different way. </p> <p>In order to improve performance, there have been changes made to this previous method. These changes are a generic plug-in framework, two new types of plug-in and some new extension interfaces. </p> <p><b>A generic plug-in framework </b> </p> <p>The generic plug-in framework provides a standard mechanism for adding new types of plug-ins, based on the support provided by the Symbian ECOM component. This amounts to a fairly thin wrapper around ECOM, with WSERV specific features such as the ability to specify which plug-ins to load at boot time, using the <codeph>WSINI.INI</codeph> file. The intention is that when new types of plug-in are introduced in future they should use this generic plug-in framework rather than an ad hoc mechanism, leading to reduced implementation time. </p> <p><b>Two new types of plug-in </b> </p> <p>The WSERV performance improvements make use of the new framework to add two new types of plug-in: </p> <ul><li id="GUID-D2FF6AA8-5BDB-5033-8482-CAC6D50C13C5"><p>Fader plug-ins, which enable customizable fading </p> </li> <li id="GUID-5B8F8A9F-D956-5AD2-819F-493BD55767E1"><p>Render stage plug-ins, which enable modification of the tail end of the rendering pipeline, at the point where WSERV outputs draw operations for a screen target. </p> </li> </ul> <p><b>New extension interfaces </b> </p> <p>The WSERV performance improvements also provide a number of new extension interfaces giving plug-ins a more detailed picture than previously of WSERV’s internal workings. This applies not only to plug-ins using the new framework, but also to the existing CRP plug-ins. </p> </section> <section><title>APIs and SPIs</title> <p>To understand the new SPIs, it is necessary to show how they would fit into a configuration in which concrete implementations have been supplied by plug-ins. The following diagram shows the default configuration, in which the concrete classes are supplied by the WSERV reference plug-ins: </p> <fig id="GUID-567069E8-347C-59B3-A340-20F99BA43721"><title>
              Default configuration of WSERV plug-ins  
-          </title> <image href="GUID-7F200AB2-602E-5351-8FA1-1B818F6DE355_d0e245815_href.png" placement="inline"/></fig> <p>The diagram has three layers, going down: </p> <ol id="GUID-76FDE51A-794E-52AC-B718-5AF61F692825"><li id="GUID-7B3FCB2E-54D7-5739-BDE4-7B6BFA5722D2"><p>The top layer is the <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> interface, which is an existing class in WSERV. This provides a framework for extensible interfaces. </p> </li> <li id="GUID-C124D68E-B08F-52E9-B5C8-AA179C0DE1AA"><p>In the middle layer, there are four new interfaces introduced by the WSERV performance improvements: <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref>, <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref>, <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref> and <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref>. </p> </li> <li id="GUID-D926A8DC-779D-56F2-BFF5-2060DDBEA93E"><p>In the bottom layer, there are the concrete implementations of the new interfaces. </p> </li> </ol> <p>The classes in the above diagram are as follows: </p> <ul><li id="GUID-214F1492-8998-59CE-96C5-5AA82F96B4C8"><p> <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> is the base class from which the top level objects presented by plug-ins should derive. </p> </li> <li id="GUID-0717B186-7404-5F21-A9A4-428DDBB1CB8F"><p> <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref> is the interface that the plug-in object in a fader plug-in should present. Thus the concrete implementation of a fader should derive from <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> and <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref>. </p> </li> <li id="GUID-7BD0FDC1-1862-55A0-8B16-F649E6C569E9"><p> <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref> is the interface that the plug-in object in a render stage plug-in should present. Thus concrete implementations of render stage factories should derive from <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> and <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref>. </p> </li> <li id="GUID-B3B3A50F-E6EF-5B65-AC6D-542363E00891"><p> <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref> is the abstract base class for render stages. Concrete implementations should derive from this. (Note that <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref> is *not* a subclass of <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref>. The plug-in provides only a render stage factory. Render stages must then be obtained from the factory.) </p> </li> </ul> <p>Why do render stages have factories, but faders do not? The idea here is that faders are not expected to have any internal state, and therefore a single fader instance can be shared across multiple screens. Therefore there is no need for a factory. On the other hand, render stages could have internal state (such as stored draw commands or offscreen bitmaps), and therefore each screen needs its own instance. Therefore we need a factory to create the instances as required. </p> <p>Note that in addition, we may want multiple render stages (of different types) per screen, if they are chained. Therefore we will typically have multiple render stage factories. For example, in the default configuration, there are two render stage factory plug-ins, producing flicker buffer and standard render stages respectively. </p> <p><b>New object provider extensions </b> </p> <p>In addition to the above, the WSERV performance improvements provide some minor extensions to existing object provider interfaces, together with the following new object provider extension interfaces: </p> <ul><li id="GUID-391069BC-422E-50ED-A4C2-F6E649FFCFB1"><p> <xref href="GUID-5A22BB23-DF2D-3E1C-9476-A485C878283D.dita"><apiname>MWsWindow</apiname></xref> – an interface through which windows can be examined </p> </li> <li id="GUID-8D4E169B-3C7B-528B-AEA4-5FB9618BD2F1"><p> <xref href="GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704.dita"><apiname>MWsScreenRedraw</apiname></xref> – an extension of the existing <xref href="GUID-6021D388-FFC5-3D4E-B0D0-4C579D500DD0.dita"><apiname>MWsScreen</apiname></xref> interface for handling the animation aspects of the redraw sequence </p> </li> <li id="GUID-06A315C4-F503-5F2E-A250-90B36D2C1CA8"><p> <xref href="GUID-4D4CEEB6-940A-3016-9BD9-70EE69BA2BD1.dita"><apiname>MWsScreenRedrawObserver</apiname></xref> – an interface for receiving notifications of screen updates </p> </li> <li id="GUID-70D71FA4-1C95-5BAC-B783-FADC817557F1"><p> <xref href="GUID-112D3118-4983-3BC5-B4E8-0FB219E03295.dita"><apiname>MWsMemoryRelease</apiname></xref> – an interface which enables plug-ins to cooperate with WSERV by releasing memory when requested (for example caches) </p> </li> <li id="GUID-EE5FE016-09EC-5149-B1CE-51F6A81D5689"><p> <xref href="GUID-7A56E7FD-9BC3-33E7-8DC8-EB9F39773DF3.dita"><apiname>MWsGcClipRect</apiname></xref> – an extension interface that can be requested from an <xref href="GUID-658CCB93-7143-3D51-BD34-B43AFA578958.dita"><apiname>MWsGc</apiname></xref>, providing some functionality to do with clipping rectangles which was omitted from the original <xref href="GUID-658CCB93-7143-3D51-BD34-B43AFA578958.dita"><apiname>MWsGc</apiname></xref> implementation </p> </li> <li id="GUID-E1E43A73-F574-57F5-B7AF-6EBCECF9AF45"><p> <xref href="GUID-17AD82CF-BCC6-3AF9-A791-68F3FFEC5D70.dita"><apiname>MWsPluginManager</apiname></xref> – enables plug-ins to request services from other plug-ins </p> </li> <li id="GUID-CDBD37E5-EF22-5206-8A6E-0E067CA20689"><p> <xref href="GUID-C15F47F9-7C13-302B-AD81-FBB288102AAA.dita"><apiname>MWsIniFile</apiname></xref> – enables plug-ins to read the <codeph>WSINI.INI</codeph> file </p> </li> </ul> <p>Each of these new interfaces inherits from the existing <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> interface, and they are made available through the object provider mechanism. In other words, each interface has an associated “type id”, and the interface is obtained by calling <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita#GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F/GUID-DC742E6F-6F18-3B1E-A3B7-B4A1A7E258DE"><apiname>MWsObjectProvider::ResolveObjectInterface(&lt;type id&gt;)</apiname></xref> on an appropriate object provider. In the case where a plug-in wants to request the interface, the object provider will be WSERV’s <xref href="GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431.dita"><apiname>MWsGraphicDrawerEnvironment</apiname></xref>, which is passed to plug-ins during construction. </p> </section> <section><title>Fader plug-ins</title> <p>Fader plug-ins enable WSERV to delegate the implementation of window fading. This means that when <codeph>RWindowTreeNode::SetFaded()</codeph> or <codeph>RWindowBase::FadeBehind()</codeph> is called on the client side, WSERV calls the fader plug-in to do the fading. Note that fader plug-ins are <b>not</b> involved in <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> fading. Calls to <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita#GUID-0AEE5955-C530-35F1-A904-69183331B294/GUID-64B8B22D-3702-32F9-9B42-3A5B2A95AABE"><apiname>CWindowGc::SetFaded()</apiname></xref> do not result in calls to fader plug-ins – WSERV passes them straight through to the rendering backend as GDI calls. </p> <p>In principle, fader plug-ins enable the implementation of custom fading algorithms. However, one potential limitation at the moment is that the existing client-side APIs dictate the form that parameters to control fading must take - therefore <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita#GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9/GUID-A093EB4F-EA64-368D-B4BE-F5A4568F63B4"><apiname>RWsSession::SetDefaultFadingParameters(TUint8
+          </title> <image href="GUID-7F200AB2-602E-5351-8FA1-1B818F6DE355_d0e251826_href.png" placement="inline"/></fig> <p>The diagram has three layers, going down: </p> <ol id="GUID-76FDE51A-794E-52AC-B718-5AF61F692825"><li id="GUID-7B3FCB2E-54D7-5739-BDE4-7B6BFA5722D2"><p>The top layer is the <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> interface, which is an existing class in WSERV. This provides a framework for extensible interfaces. </p> </li> <li id="GUID-C124D68E-B08F-52E9-B5C8-AA179C0DE1AA"><p>In the middle layer, there are four new interfaces introduced by the WSERV performance improvements: <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref>, <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref>, <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref> and <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref>. </p> </li> <li id="GUID-D926A8DC-779D-56F2-BFF5-2060DDBEA93E"><p>In the bottom layer, there are the concrete implementations of the new interfaces. </p> </li> </ol> <p>The classes in the above diagram are as follows: </p> <ul><li id="GUID-214F1492-8998-59CE-96C5-5AA82F96B4C8"><p> <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> is the base class from which the top level objects presented by plug-ins should derive. </p> </li> <li id="GUID-0717B186-7404-5F21-A9A4-428DDBB1CB8F"><p> <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref> is the interface that the plug-in object in a fader plug-in should present. Thus the concrete implementation of a fader should derive from <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> and <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref>. </p> </li> <li id="GUID-7BD0FDC1-1862-55A0-8B16-F649E6C569E9"><p> <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref> is the interface that the plug-in object in a render stage plug-in should present. Thus concrete implementations of render stage factories should derive from <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> and <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref>. </p> </li> <li id="GUID-B3B3A50F-E6EF-5B65-AC6D-542363E00891"><p> <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref> is the abstract base class for render stages. Concrete implementations should derive from this. (Note that <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref> is *not* a subclass of <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref>. The plug-in provides only a render stage factory. Render stages must then be obtained from the factory.) </p> </li> </ul> <p>Why do render stages have factories, but faders do not? The idea here is that faders are not expected to have any internal state, and therefore a single fader instance can be shared across multiple screens. Therefore there is no need for a factory. On the other hand, render stages could have internal state (such as stored draw commands or offscreen bitmaps), and therefore each screen needs its own instance. Therefore we need a factory to create the instances as required. </p> <p>Note that in addition, we may want multiple render stages (of different types) per screen, if they are chained. Therefore we will typically have multiple render stage factories. For example, in the default configuration, there are two render stage factory plug-ins, producing flicker buffer and standard render stages respectively. </p> <p><b>New object provider extensions </b> </p> <p>In addition to the above, the WSERV performance improvements provide some minor extensions to existing object provider interfaces, together with the following new object provider extension interfaces: </p> <ul><li id="GUID-391069BC-422E-50ED-A4C2-F6E649FFCFB1"><p> <xref href="GUID-5A22BB23-DF2D-3E1C-9476-A485C878283D.dita"><apiname>MWsWindow</apiname></xref> – an interface through which windows can be examined </p> </li> <li id="GUID-8D4E169B-3C7B-528B-AEA4-5FB9618BD2F1"><p> <xref href="GUID-51B49D4D-A421-3AE9-A7D6-F4B89CEE0704.dita"><apiname>MWsScreenRedraw</apiname></xref> – an extension of the existing <xref href="GUID-6021D388-FFC5-3D4E-B0D0-4C579D500DD0.dita"><apiname>MWsScreen</apiname></xref> interface for handling the animation aspects of the redraw sequence </p> </li> <li id="GUID-06A315C4-F503-5F2E-A250-90B36D2C1CA8"><p> <xref href="GUID-4D4CEEB6-940A-3016-9BD9-70EE69BA2BD1.dita"><apiname>MWsScreenRedrawObserver</apiname></xref> – an interface for receiving notifications of screen updates </p> </li> <li id="GUID-70D71FA4-1C95-5BAC-B783-FADC817557F1"><p> <xref href="GUID-112D3118-4983-3BC5-B4E8-0FB219E03295.dita"><apiname>MWsMemoryRelease</apiname></xref> – an interface which enables plug-ins to cooperate with WSERV by releasing memory when requested (for example caches) </p> </li> <li id="GUID-EE5FE016-09EC-5149-B1CE-51F6A81D5689"><p> <xref href="GUID-7A56E7FD-9BC3-33E7-8DC8-EB9F39773DF3.dita"><apiname>MWsGcClipRect</apiname></xref> – an extension interface that can be requested from an <xref href="GUID-658CCB93-7143-3D51-BD34-B43AFA578958.dita"><apiname>MWsGc</apiname></xref>, providing some functionality to do with clipping rectangles which was omitted from the original <xref href="GUID-658CCB93-7143-3D51-BD34-B43AFA578958.dita"><apiname>MWsGc</apiname></xref> implementation </p> </li> <li id="GUID-E1E43A73-F574-57F5-B7AF-6EBCECF9AF45"><p> <xref href="GUID-17AD82CF-BCC6-3AF9-A791-68F3FFEC5D70.dita"><apiname>MWsPluginManager</apiname></xref> – enables plug-ins to request services from other plug-ins </p> </li> <li id="GUID-CDBD37E5-EF22-5206-8A6E-0E067CA20689"><p> <xref href="GUID-C15F47F9-7C13-302B-AD81-FBB288102AAA.dita"><apiname>MWsIniFile</apiname></xref> – enables plug-ins to read the <codeph>WSINI.INI</codeph> file </p> </li> </ul> <p>Each of these new interfaces inherits from the existing <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref> interface, and they are made available through the object provider mechanism. In other words, each interface has an associated “type id”, and the interface is obtained by calling <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita#GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F/GUID-DC742E6F-6F18-3B1E-A3B7-B4A1A7E258DE"><apiname>MWsObjectProvider::ResolveObjectInterface(&lt;type id&gt;)</apiname></xref> on an appropriate object provider. In the case where a plug-in wants to request the interface, the object provider will be WSERV’s <xref href="GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431.dita"><apiname>MWsGraphicDrawerEnvironment</apiname></xref>, which is passed to plug-ins during construction. </p> </section> <section><title>Fader plug-ins</title> <p>Fader plug-ins enable WSERV to delegate the implementation of window fading. This means that when <codeph>RWindowTreeNode::SetFaded()</codeph> or <codeph>RWindowBase::FadeBehind()</codeph> is called on the client side, WSERV calls the fader plug-in to do the fading. Note that fader plug-ins are <b>not</b> involved in <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> fading. Calls to <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita#GUID-0AEE5955-C530-35F1-A904-69183331B294/GUID-64B8B22D-3702-32F9-9B42-3A5B2A95AABE"><apiname>CWindowGc::SetFaded()</apiname></xref> do not result in calls to fader plug-ins – WSERV passes them straight through to the rendering backend as GDI calls. </p> <p>In principle, fader plug-ins enable the implementation of custom fading algorithms. However, one potential limitation at the moment is that the existing client-side APIs dictate the form that parameters to control fading must take - therefore <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita#GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9/GUID-A093EB4F-EA64-368D-B4BE-F5A4568F63B4"><apiname>RWsSession::SetDefaultFadingParameters(TUint8
           aBlackMap,TUint8 aWhiteMap)</apiname></xref> has to be used. In addition, <xref href="GUID-9FFD28C7-8747-3438-84BF-44AF26ACEC7D.dita#GUID-9FFD28C7-8747-3438-84BF-44AF26ACEC7D/GUID-317255C3-6CB3-3608-8104-53706BDBAFA0"><apiname>RWindowTreeNode::SetFaded()</apiname></xref> has a variant in which these parameters can be passed in. The API that fader plug-ins present to WSERV has been designed so that fading parameters can be passed as opaque binary data. However, as it stands this data will always take the form of two <xref href="GUID-F894527F-13A6-3E6D-BA7B-187812CDF20E.dita"><apiname>TUint8</apiname></xref> s. </p> <p> <b>Note</b>: In ScreenPlay, fading effects can be created using render stages. See <xref href="GUID-E7F6DD98-9080-50E9-B071-56247EBBF570.dita">Window Server Plugins Component</xref> for more information. </p> </section> <section><title>Render stage plug-ins</title> <p>Render stage plug-ins are designed to allow the customizations of the final stages of the rendering pipeline. The idea is that, to WSERV, a render stage looks pretty much like the graphics context that it is expecting to use to draw to a screen. WSERV carries on with its usual tasks, tracking dirty rectangles and so on, and issuing draw operations when it believes that it needs to repaint some region of the screen. However, instead of these draw operations being used immediately to repaint the screen, they are passed to a render stage. The simplest render stage implementation would indeed use the draw operations to repaint the screen. However, the render stage may do other things with the draw operations, such as capturing some of them for later use in a transition effect or redirecting them to another target and so on. </p> <p>The render stage API is such that every time WSERV wants to do a redraw, it must call <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-75503F6F-91DA-3392-8CD5-34FFF9095D30"><apiname>CWsRenderStage::Begin()</apiname></xref> in order to get hold of the graphics context with which to do the drawing. When it is finished, it must call <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-0EBA06BF-D17F-3485-85B6-F4B855A48B62"><apiname>CWsRenderStage::End()</apiname></xref>, and release its pointer to the graphics context. This means in particular that render stages understand that draw operations come in blocks corresponding to a single redraw. </p> <p>Render stages can be chained, so that the output of the first render stage (in the form of draw operations), passes not to the screen but to a second render stage. In the default implementation supplied with WSERV, two render stages are used to achieve flicker-free drawing. The first render stage takes the draw operations that are passed in, and draws them to an offscreen bitmap. When <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita#GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A/GUID-0EBA06BF-D17F-3485-85B6-F4B855A48B62"><apiname>CWsRenderStage::End()</apiname></xref> is called, it then blits the updated region to the second render stage. The second render stage draws to the screen. This setup therefore eliminates flicker within individual redraws. </p> <p>For information about render stages in ScreenPlay, see <xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">ScreenPlay Render Stages</xref>. </p> </section> <section><title>Key classes</title> <p>All classes belong to <codeph>wsgraphicdrawer.lib</codeph>. </p> <table id="GUID-57A9F34C-D432-51E9-BC55-06E69A29380E"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref>  </p> </entry> <entry><p>This is the base class that all top-level plug-in objects must derive from. Note that it is an abstract class – in particular it does not provide an implementation of <xref href="GUID-311158DA-BA24-3CF2-8361-EE36F07EED4B.dita"><apiname>ResolveObjectInterface()
                   </apiname></xref> (inherited from <xref href="GUID-A47A4139-70FD-3F76-B51E-0452A0F6A76F.dita"><apiname>MWsObjectProvider</apiname></xref>) – subclasses are expected to do so for themselves. </p> </entry> </row> <row><entry><p> <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref>  </p> </entry> <entry><p>This is the interface that fader plug-ins are required to implement. </p> </entry> </row> <row><entry><p> <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref>  </p> </entry> <entry><p>This is the interface that render stage factory plug-ins are required to implement. </p> </entry> </row> <row><entry><p> <xref href="GUID-5A22BB23-DF2D-3E1C-9476-A485C878283D.dita"><apiname>MWsWindow</apiname></xref>  </p> </entry> <entry><p>This interface represents a window, and provides plug-ins with information about some attributes of windows. Currently, the only way to get hold of an <xref href="GUID-5A22BB23-DF2D-3E1C-9476-A485C878283D.dita"><apiname>MWsWindow</apiname></xref> is from the new <xref href="GUID-46C44F9F-7E2F-3633-B9EC-624058A84F0E.dita"><apiname>TWsCREvent</apiname></xref>  <codeph>EWindowClosing</codeph> event. The intended use is for transition engines to discover information about a window that is closing. </p> </entry> </row> <row><entry><p> <xref href="GUID-17AD82CF-BCC6-3AF9-A791-68F3FFEC5D70.dita"><apiname>MWsPluginManager</apiname></xref>  </p> </entry> <entry><p>An interface enabling plug-ins to get pointers to other plug-ins, enabling them to use the services of other plug-ins. An example use would be that a platform provider could write a plug-in providing a new interface <xref href="GUID-CE6A3654-AB67-3FBC-B3D5-69C556F773E8.dita"><apiname>MWsBitmapCache</apiname></xref>. They could modify the <codeph>WSINI.INI</codeph> file to ensure that this plug-in was loaded. Then other plug-ins could request the <xref href="GUID-17AD82CF-BCC6-3AF9-A791-68F3FFEC5D70.dita"><apiname>MWsPluginManager</apiname></xref> interface from the <xref href="GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431.dita"><apiname>MWsGraphicDrawerEnvironment</apiname></xref>, and then request the <xref href="GUID-CE6A3654-AB67-3FBC-B3D5-69C556F773E8.dita"><apiname>MWsBitmapCache</apiname></xref> interface from <xref href="GUID-17AD82CF-BCC6-3AF9-A791-68F3FFEC5D70.dita"><apiname>MWsPluginManager</apiname></xref>. Thus the purpose of this interface is to enable the use case where one writes plug-ins providing services for the benefit of other plug-ins. </p> </entry> </row> <row><entry><p> <xref href="GUID-112D3118-4983-3BC5-B4E8-0FB219E03295.dita"><apiname>MWsMemoryRelease</apiname></xref>  </p> </entry> <entry><p>This is an SPI that enables plug-in objects to assist WSERV in memory management, by freeing memory when requested to do so. </p> </entry> </row> <row><entry><p> <xref href="GUID-C15F47F9-7C13-302B-AD81-FBB288102AAA.dita"><apiname>MWsIniFile</apiname></xref>  </p> </entry> <entry><p>An interface enabling plug-ins to read the <codeph>WSINI.INI</codeph> file. </p> </entry> </row> <row><entry><p>New functions in <xref href="GUID-05641B8E-F59A-3353-A196-642ED3CF608D.dita"><apiname>MWsAnimationScheduler</apiname></xref>  </p> </entry> <entry><p>WSERV has an animation scheduler which was previously used to schedule CRP animations, and is now also used to schedule deferred redraws. The default scheduler can be replaced by a plug-in, via the call <xref href="GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431.dita#GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431/GUID-E0B768A5-3CD0-3429-9DA7-0C3F1ABEFE61"><apiname>MWsGraphicDrawerEnvironment::SetCustomAnimationScheduler(MWsAnimationScheduler*)</apiname></xref>. The class <xref href="GUID-05641B8E-F59A-3353-A196-642ED3CF608D.dita"><apiname>MWsAnimationScheduler</apiname></xref> already contained functions relevant to CRP animation, but the WSERV performance improvements add new functions relevant to deferred redraw. </p> </entry> </row> <row><entry><p>New functions in <xref href="GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431.dita"><apiname>MWsGraphicDrawerEnvironment</apiname></xref> </p> </entry> <entry><p> <xref href="GUID-ADBFCAEF-8DC6-3B81-B5ED-E2F36645D431.dita"><apiname>MWsGraphicDrawerEnvironment</apiname></xref> is an existing class. It is an interface provided to all plug-ins, which makes available some generic services. The new functions are primarily for registration/unregistration of event handlers and memory releasers. </p> </entry> </row> <row><entry><p>New functions in <xref href="GUID-46C44F9F-7E2F-3633-B9EC-624058A84F0E.dita"><apiname>TWsCREvent</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-46C44F9F-7E2F-3633-B9EC-624058A84F0E.dita"><apiname>TWsCREvent</apiname></xref> is an existing class. It provides event reporting of some WSERV internals to Content Rendering Plug-ins (and now other plug-ins too). It is typically used by transition effects plug-ins, to provide them with additional information about what is happening inside WSERV. The new functionality is a new event to notify that a window is closing. </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody><related-links><link href="GUID-139F9E66-830D-5B94-8674-2F90152EBC4A.dita"><linktext>Fader Plug-ins</linktext> </link> <link href="GUID-053BADC7-858B-5D83-8FEE-BFB6C29AFB73.dita"><linktext>Render Stage Plug-ins</linktext> </link> <link href="GUID-434F690E-738A-51DF-80CC-8A6CC067DA6C.dita"><linktext> Miscellaneous Plug-in
                 Interfaces</linktext> </link> <link href="GUID-E7F6DD98-9080-50E9-B071-56247EBBF570.dita"><linktext>Window Server Plugins Component</linktext> </link> <link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> <link href="GUID-A40C75A2-59FF-5472-B279-8B5FBFF68794.dita"><linktext> Content Rendering Plug-ins (CRPs)</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3A05CD69-0AB6-5549-B18A-842F49C06874.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-3A05CD69-0AB6-5549-B18A-842F49C06874"><title>prj_exports</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>prj_exports</codeph> </p> <p>  <varname>source_file_1</varname>  <varname>[destination_file]</varname>  </p> <p>  <varname>source_file_n</varname>  <varname>[destination_file]</varname>  </p> <p> :zip <varname>zip_file</varname>  <varname>[destination_path]</varname>  </p> <p>In the <codeph>prj_exports</codeph> section, list any files to be copied from the source directories to the releasables’ directories during the building of a component. It is intended mainly for specifying C++ header files to be copied to the directory <filepath>epoc32\include\</filepath>. </p> <p>Specify each file on a separate line. </p> <p>Note that:</p> <ul><li id="GUID-FDAE68CD-E6B0-5984-A833-78C23B9CD77F"><p>If a source file is listed with a relative path, the path will be considered relative to the directory containing the <filepath>bld.inf</filepath> file. </p> </li> <li id="GUID-2CEDC1BA-0BDB-5E09-9B72-366F73F211F6"><p>If a destination file is not specified, the source file will be copied to <filepath>epoc32\include\</filepath>. </p> </li> <li id="GUID-FFDD8517-5778-5CB4-B62B-8FC6ADCB8A72"><p>If a destination file is specified with the relative path, the path will be considered relative to directory <filepath>epoc32\include\</filepath>.</p> </li> <li id="GUID-44667861-4451-5DEB-A1DC-528ED3831692"><p>If a destination begins with a drive letter, then the file is copied to <filepath>epoc32\data\&lt;drive_letter&gt;\&lt;path&gt;</filepath>. For example,</p> <codeblock id="GUID-568BF797-3C9B-58CB-BF60-29E73A2C2F4C" xml:space="preserve">mydata.dat e:\appdata\mydata.dat</codeblock> <p>copies <filepath>mydata.dat</filepath> to <filepath>epoc32\data\e\appdata\mydata.dat</filepath>.</p> <p>You can use any driveletter between A and Z.</p> </li> <li id="GUID-C6CBC7CD-8B6C-585F-8BF0-39C88F2FE659"><p>A line can start with the preface :zip. This instructs the build tools to unzip the specified zip file to the specified destination path. If a destination path is not specified, the source file will be unzipped in the root directory.</p> </li> </ul> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3A07445A-1CD4-5556-BE65-553A4A251789_d0e577842_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3A07445A-1CD4-5556-BE65-553A4A251789_d0e627130_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3A41040A-7F0C-50A8-B623-FED7F82A5E62.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-3A41040A-7F0C-50A8-B623-FED7F82A5E62"><title>Dependency diagram for cryptography.dll on Symbian OS v8.1</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The diagram below shows the inter-dependencies between <filepath>cryptography.dll</filepath> (shaded) and its clients. <filepath>Cryptography.dll</filepath> imports <filepath>hash.dll</filepath>, <filepath>random.dll</filepath>, and also <filepath>euser.dll</filepath> from the <filepath>base/e32</filepath> component. The DLL's exports are not used statically by other executables. </p> <fig id="GUID-09BA97E6-CE92-5C38-91D1-06B6F669C0BC"><image href="GUID-D8696B0F-01BC-5CBB-A061-6EC62186DD01_d0e616300_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3A506E2A-2999-458B-BBA2-DCC4D2EA5492_d0e68691_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3A506E2A-2999-458B-BBA2-DCC4D2EA5492_d0e72904_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3A6BEF56-ADBF-543E-B70A-52195DE3E92A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3A6BEF56-ADBF-543E-B70A-52195DE3E92A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 on behalf of all clients. </p> <p>Calendar's implementation of import and
 export behaviour is done using the AgnVersit2 plug-in. </p> <fig id="GUID-EFB35AEC-41B2-5DD4-B029-D4BDC8A682DF">
 <title>              Calendar dependencies            </title>
-<image href="GUID-E2F6A71A-4A18-5E0B-AE77-C059C59448E4_d0e595154_href.png" placement="inline"/>
+<image href="GUID-E2F6A71A-4A18-5E0B-AE77-C059C59448E4_d0e577709_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-1E37BF6E-B69F-49AB-BA6A-F60463FACC5A"><title>Description</title> <p>This document describes the following
 key areas: </p> <p id="GUID-BFCC991A-B456-5662-AFDE-5B86AAC6056F"><b>The Calendar Server</b> </p> <p>The
Binary file Symbian3/PDK/Source/GUID-3A8755A9-139E-4845-9B52-13AEECF9EBBD_d0e80619_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3A8755A9-139E-4845-9B52-13AEECF9EBBD_d0e84817_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e101235_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e101314_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e79632_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e79713_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e83830_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e83911_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e85695_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e86403_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e89893_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e90601_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e97156_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e97235_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3ABE5DA5-F6FD-5439-ADED-CBF0B2554D94_d0e274231_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3ABE5DA5-F6FD-5439-ADED-CBF0B2554D94_d0e280231_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3AF1F492-3D7D-5F8C-B1AE-16FBD8224775.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3AF1F492-3D7D-5F8C-B1AE-16FBD8224775.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -66,7 +66,7 @@
 used by text strings. </p> </section>
 <section><title>Resource File Interface</title><p>Resource files contain data
 in numbered resources. A resource file has the following format:</p><fig id="GUID-9CFB3B14-9C09-42E2-A87E-ED07BD2E7E36">
-<image href="GUID-FB479891-8788-5548-B875-A5C637EC2DE6_d0e219494_href.png" placement="inline"/>
+<image href="GUID-FB479891-8788-5548-B875-A5C637EC2DE6_d0e225514_href.png" placement="inline"/>
 </fig><p>A resource file is generated from text input using the resource compiler.
 The index can be used to efficiently find a resource given its numeric ID.
 There can be 1 to 4095 resources in a resource file. Each resource contains
@@ -86,7 +86,7 @@
 in resource file usage</title> <p>The file types involved in resource file
 usage are defined in the following diagram: </p> <fig id="GUID-4C93BFC7-89BD-5E88-BA68-D6273F13BB8D">
 <title>              File types            </title>
-<image href="GUID-4A5A50EB-261E-5739-904E-1D14D1A6BAD9_d0e219540_href.png" placement="inline"/>
+<image href="GUID-4A5A50EB-261E-5739-904E-1D14D1A6BAD9_d0e225560_href.png" placement="inline"/>
 </fig> <p>These files work together as follows: </p> <ul>
 <li id="GUID-CA9BB1F1-0535-5F18-9CD2-AC2C02DACE8D"><p>the C++ compiler and
 linker, together, take <filepath>.cpp</filepath> source files and produce <filepath>.exe</filepath> output
--- a/Symbian3/PDK/Source/GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C" xml:lang="en"><title>Application registration information</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3AFE0D8B-FB9B-5355-A63B-FB71DD13E7D0_d0e300993_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3AFE0D8B-FB9B-5355-A63B-FB71DD13E7D0_d0e306985_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3B0602F1-4294-43C4-9E7A-B1A33291C22F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3B0602F1-4294-43C4-9E7A-B1A33291C22F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,8 +28,8 @@
 Monitor Server API) and avoid polling and keep-alives. If the application
 protocol mandates the use of timers, they should be tuned so that the control
 data over the air is minimized. </p>     </prereq>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-7-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-7-1-3-2-1"><cmd><xref href="GUID-E2E2FACF-5D4F-43E8-8B53-B268252CF572.dita">Defining
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-7-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-7-1-3-2-1"><cmd><xref href="GUID-E2E2FACF-5D4F-43E8-8B53-B268252CF572.dita">Defining
 Connection Management Items</xref></cmd>
 </step>
 <step id="GUID-725900FE-86E4-4A8F-A896-1F1661B4C1BB"><cmd><xref href="GUID-A2F691C8-9525-4028-BF82-70E9D50630C6.dita">Prompting
Binary file Symbian3/PDK/Source/GUID-3B2957D0-4D1A-5289-BE2A-AC8CD34A54E6_d0e434972_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3B2957D0-4D1A-5289-BE2A-AC8CD34A54E6_d0e440817_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3B6544CD-FA6E-5AB2-AA63-61186F52167D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3B6544CD-FA6E-5AB2-AA63-61186F52167D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 might be arranged: </p>
 <fig id="GUID-41113C18-2C87-5DEA-9D05-31083F51269A">
 <title>Example power resource arrangement</title>
-<image href="GUID-622D6337-E60A-5252-8B2B-BA8232927453_d0e389421_href.png" placement="inline"/>
+<image href="GUID-622D6337-E60A-5252-8B2B-BA8232927453_d0e395274_href.png" placement="inline"/>
 </fig>
 <p>There is no default support or default implementation for controllable
 power resources in the generic layers of Symbian platform. They must be managed
@@ -160,7 +160,7 @@
 block diagram above (see the beginning of this section at <xref href="GUID-3B6544CD-FA6E-5AB2-AA63-61186F52167D.dita">Controllable
 Power Resources</xref>): </p> <fig id="GUID-309A6C5E-A347-5E04-B2C8-426A81755226">
 <title>Base port software architecture</title>
-<image href="GUID-EE2F64B2-A2E3-524F-8E04-68BE9AA9EA36_d0e389647_href.png" placement="inline"/>
+<image href="GUID-EE2F64B2-A2E3-524F-8E04-68BE9AA9EA36_d0e395500_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-C4C67612-C5CD-5D64-B257-259FD12443C9"><title>Multi-level,
 composite and asynchronous power resources</title> <p>Some power resources
--- a/Symbian3/PDK/Source/GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,81 +1,81 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98" xml:lang="en"><title>Process
-identification</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Sometimes it is useful for security reasons to obtain more information
-about server or application processes, and identify an application and even
-its vendor uniquely.</p>
-<ul>
-<li><p>To verify an application's identity, use <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Application_Architecture/RApaLsSessionClass.html" format="application/java-archive">RApaLsSession</xref></codeph> to retrieve the application's name and  <i>Unique Identifier</i> UID,
-and compare them against known information.</p><p>For more information,
-see <xref href="GUID-EA05F9B6-52C7-4BD9-8B9A-4BA3456E70B5.dita">UID</xref>.</p>
-</li>
-<li><p>Use the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Application_Architecture/TApaTaskListClass.html" format="application/java-archive">TApaTaskList</xref></codeph> class
-to get a list of currently running applications.</p><p>In the platform
-security architecture there are two different identifiers for applications:
-Secure Identifier (SID) and Vendor Identifier  (VID).</p></li>
-</ul>
-<p><b id="GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">Secure Identifier
-(SID)</b></p>
-<p>Every executable has its own <i>Secure Identifier</i> (SID), which is
-used to identify the running process launched from the executable. It can
-also be used to determine which private directory a process can access. SID
-is stored in the executable binary, so it has the same security as any executable
-code. The SID value is not relevant for <codeph>dll</codeph>.</p>
-<p>SID values are requested from the <xref href="http://www.symbiansigned.com" scope="external">Symbian
-Signed</xref> web site. The <xref href="GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita">Software
-Installer</xref> ensures that no two applications have the same SID value
-on a particular target device.</p>
-<p>To retrieve the SID of a process, use the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/RProcessClass.html#%3a%3aRProcess%3a%3aSecureId%28%29const" format="application/java-archive">RProcess::SecureId()</xref></codeph> method . During inter process communication, use the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TSecurityPolicyClass.html" format="application/java-archive">TSecurityPolicy</xref></codeph> class to specify a security policy consisting of both <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref> and
-SID checks.</p>
-<p>For information on how to define the SID in the <codeph>mmp</codeph> file,
-see <codeph><xref href="GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1.dita">secureid</xref></codeph>.
-If SID is not specified in the <codeph>mmp</codeph> file, the value of UID3
-is used as the SID.</p>
-<p><b id="GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC654">Vendor Identifier
-(VID)</b></p>
-<p>In addition to SID, signed applications have a <i>Vendor Identifier</i> (VID)
-which can be used to identify the source of the application. Applications
-from one vendor usually share a common VID, but the vendor may have different
-VIDs for different product families. VIDs can also be used to group servers
-and clients into logical groups providing services to each other.</p>
-<p>Note that the VID cannot be reused for any other entity. For example,
-the Nokia VID (<codeph>0x101FB657</codeph>) is property of Nokia.</p>
-<p>For information on how to define the VID in the <codeph>mmp</codeph> file,
-see <codeph><xref href="GUID-535793F2-08F1-5B4E-AD32-783985C53124.dita">vendorid</xref></codeph>.</p>
-<section id="GUID-09668673-7926-453D-BD33-9894F5631C90"><title>Secure inter
-process communication</title>
-<p>Authentication can be done in different ways. The server can decide
-to request (or not to request) capabilities from the client. The client's
-options are more limited, the server is usually authenticated by name. The <codeph>ProtServ</codeph> <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref> allows
-the server to insert an "!" in front of its name, indicating that the server
-can be trusted. Nameless servers are also possible, but no client can connect
-to them without a handle to the server. The server can also authenticate the
-client with SID and VID.</p>
-<p>Every server should define the following security policies:</p>
-<ul>
-<li><p>Which capabilities are required by the calling application</p>
-</li>
-<li><p>Which SID and VID are required by the calling application</p>
-</li>
-<li><p>What actions are possible or must be done with the information
-provided:</p>
-<ul>
-<li><p>Can input data be trusted?</p></li>
-<li><p>Is user acceptance needed for this operation?</p></li>
-<li><p>Can this server act as a proxy towards other components?</p>
-</li>
-</ul>
-</li>
-</ul>
-</section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98" xml:lang="en"><title>Process identification</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Sometimes it is useful for security reasons to obtain more information
+about server or application processes, and identify an application
+and even its vendor uniquely.</p>
+<ul>
+<li><p>To verify an application's identity, use <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Application_Architecture/RApaLsSessionClass.html" format="application/java-archive">RApaLsSession</xref></codeph> to retrieve the application's
+name and  <i>Unique Identifier</i> UID, and compare them against known
+information.</p><p>For more information, see <xref href="GUID-EA05F9B6-52C7-4BD9-8B9A-4BA3456E70B5.dita">UID</xref>.</p>
+</li>
+<li><p>Use the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Application_Architecture/TApaTaskListClass.html" format="application/java-archive">TApaTaskList</xref></codeph> class to get a list of currently
+running applications.</p><p>In the platform security architecture
+there are two different identifiers for applications: Secure Identifier
+(SID) and Vendor Identifier  (VID).</p></li>
+</ul>
+<p><b id="GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">Secure Identifier
+(SID)</b></p>
+<p>Every executable has its own <i>Secure Identifier</i> (SID),
+which is used to identify the running process launched from the executable.
+It can also be used to determine which private directory a process
+can access. SID is stored in the executable binary, so it has the
+same security as any executable code. The SID value is not relevant
+for <codeph>dll</codeph>.</p>
+<p>SID values are requested from the <xref href="http://www.symbiansigned.com" scope="external">Symbian Signed</xref> web site.
+The <xref href="GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita">Software
+Installer</xref> ensures that no two applications have the same SID
+value on a particular target device.</p>
+<p>To retrieve the SID of a process, use the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/RProcessClass.html#%3a%3aRProcess%3a%3aSecureId%28%29const" format="application/java-archive">RProcess::SecureId()</xref></codeph> method . During inter
+process communication, use the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TSecurityPolicyClass.html" format="application/java-archive">TSecurityPolicy</xref></codeph> class to specify a security
+policy consisting of both <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref> and SID checks.</p>
+<p>For information on how to define the SID in the <codeph>mmp</codeph> file, see <codeph>secureid</codeph>. If SID is not specified in
+the <codeph>mmp</codeph> file, the value of UID3 is used as the SID.</p>
+<p><b id="GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC654">Vendor Identifier
+(VID)</b></p>
+<p>In addition to SID, signed applications have a <i>Vendor Identifier</i> (VID) which can be used to identify the source of the application.
+Applications from one vendor usually share a common VID, but the vendor
+may have different VIDs for different product families. VIDs can also
+be used to group servers and clients into logical groups providing
+services to each other.</p>
+<p>Note that the VID cannot be reused for any other entity. For
+example, the Nokia VID (<codeph>0x101FB657</codeph>) is property of
+Nokia.</p>
+<p>For information on how to define the VID in the <codeph>mmp</codeph> file, see <codeph>vendorid</codeph>.</p>
+<section id="GUID-09668673-7926-453D-BD33-9894F5631C90"><title>Secure
+inter process communication</title>
+<p>Authentication can be done in different ways. The server can
+decide to request (or not to request) capabilities from the client.
+The client's options are more limited, the server is usually authenticated
+by name. The <codeph>ProtServ</codeph> <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref> allows the server to insert an "!" in front of its name, indicating
+that the server can be trusted. Nameless servers are also possible,
+but no client can connect to them without a handle to the server.
+The server can also authenticate the client with SID and VID.</p>
+<p>Every server should define the following security policies:</p>
+<ul>
+<li><p>Which capabilities are required by the calling application</p>
+</li>
+<li><p>Which SID and VID are required by the calling application</p>
+</li>
+<li><p>What actions are possible or must be done with the
+information provided:</p>
+<ul>
+<li><p>Can input data be trusted?</p></li>
+<li><p>Is user acceptance needed for this operation?</p>
+</li>
+<li><p>Can this server act as a proxy towards other components?</p>
+</li>
+</ul>
+</li>
+</ul>
+</section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3B9AC7E9-3133-505F-9C1E-EB4BB4969838.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3B9AC7E9-3133-505F-9C1E-EB4BB4969838.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -57,7 +57,7 @@
 platform. </p> <fig id="GUID-84049713-A7F7-5909-8D26-EC93F53EBFDD">
 <title>              OpenWF-C and related Symbian platform components    
        </title>
-<image href="GUID-86A6FAC5-FF3C-5C35-A521-5C4BD3823629_d0e275773_href.png" placement="inline"/>
+<image href="GUID-86A6FAC5-FF3C-5C35-A521-5C4BD3823629_d0e281773_href.png" placement="inline"/>
 </fig> <ul>
 <li id="GUID-03E19B9B-3CE8-5781-B94B-F68CC4D0F207"><p><xref href="GUID-0C4B86B5-530A-5839-86C1-46E7ABE281E0.dita">Window
 Server</xref>. The Symbian window management and rendering component. </p> </li>
Binary file Symbian3/PDK/Source/GUID-3BA7EB01-D967-44B2-B817-91722C59F2DE_d0e94094_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3BA7EB01-D967-44B2-B817-91722C59F2DE_d0e98292_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3BB539EF-E1DE-4EB4-A9F0-BB31430DD64A_d0e91837_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3BB539EF-E1DE-4EB4-A9F0-BB31430DD64A_d0e96035_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3BB6E558-017D-584A-BCB7-AB1DD80C5A90.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-3BB6E558-017D-584A-BCB7-AB1DD80C5A90"><title>deffile</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>deffile</codeph>  <varname>filename</varname>  </p> <p>Use the <codeph>deffile</codeph> statement to override the default linker definition file for the project. </p> <p>A <filepath>.def</filepath> file specifies associations between exported function names and their ordinal export number. It is used by the linker when constructing a DLL and (where applicable) when constructing its associated import library. </p> <p>The assignment of ordinals must be controlled by a <filepath>.def</filepath> file in two situations: </p> <ul><li id="GUID-8F33841B-EF81-59DA-A409-231032FA5606"><p>A polymorphic interface <filepath>DLL</filepath> must export a particular function as ordinal 1. In this case, the <filepath>.def</filepath> file is used to specify this association, while other exported functions may have a random order. </p> </li> <li id="GUID-C032173B-7997-5292-80F4-B1325C4CE9A6"><p>A re-released <filepath>DLL</filepath> must be used by clients built against the old version. In this case, the <filepath>.def</filepath> file is used to ensure that all functions exported by the old version of the <filepath>DLL</filepath> are exported with the same ordinal by the new version. </p> </li> </ul> <p>For many polymorphic <filepath>DLL</filepath> s, a special target type is provided so that the build tools can ensure that the correct function is exported as ordinal 1. Where a special target type is provided, the <filepath>.def</filepath> file can be dispensed with. </p> <p> <filepath>.def</filepath> files are sometimes colloquially referred to as freeze files, because they freeze the association between name and ordinal, for exported functions. </p> <p>The RVCT and Microsoft tool chains use different schemes for mangling the names of exported functions. This means that <filepath>.def</filepath> files of the same name must be differentiated by storing them in separate directories. </p> <p>Conventionally, </p> <p> <filepath>..\eabi\</filepath> is used for ARM <filepath>.def</filepath> files, </p> <p>while </p> <p> <filepath>..\bwins\</filepath> is used for WINSCW <filepath>.def</filepath> files. </p> <p>By default, the frozen <filepath>.def</filepath> file takes its basename from the basename of the target for the project. </p> <p>Where the default frozen <filepath>.def</filepath> file is overridden by the <codeph>deffile</codeph> statement, a path to the file can be specified as part of the filename. </p> <p>If no path is specified, the <filepath>.def</filepath> files are expected to be in: </p> <ul><li id="GUID-F592A3E3-2577-5146-B512-04CEADA760D7"><p>directory ..<filepath>\bwins\</filepath> for platforms WINSCW, CW_IDE, VS6 and VS2003 </p> </li> <li id="GUID-EE1052D2-87E9-5C0B-ABA9-492C0F9D302D"><p>directory ..<filepath>\eabi\</filepath> for the ARM platform. </p> </li> </ul> <p>If a path is specified, place the <codeph>deffile</codeph> statement within <codeph>#if defined(</codeph> <varname>identifier</varname> <codeph>)</codeph> so that the same file will not be used during both ARM and non-ARM builds. </p> <p>For example: </p> <codeblock id="GUID-06609D34-4569-555E-984D-6F688A45B3BA" xml:space="preserve">#if defined(WINS)
-deffile-stmt
-#else if defined(MARM)
-deffile-stmt
-#endif</codeblock> <p>Note that the platform name macros used with <codeph>#if
-        defined(</codeph> <varname>identifier</varname> <codeph>)</codeph> must be in upper-case. </p> <p>In most cases, the functions exported from a DLL depend on the build variant. This is common because descriptor class names depend on whether the build is wide or narrow. For such DLLs, different <filepath>.def</filepath> files—differentiated by the <filepath>-u</filepath> suffix—are used. Although narrow builds are no longer supported, the <filepath>-u</filepath> suffix is still in use to maintain backward compatibility with previous versions of the build tools. This suffix behaviour can be removed by using <codeph>nostrictdef</codeph>. </p> <p>Note too that under WINSCW, when using an <codeph>exedll</codeph> target type, the first export is the one which will be called when the DLL is loaded, so you should use a <filepath>.def</filepath> file for the WINSCW variant. </p> <p>Makefiles create the import library associated with an executable (where applicable) directly from the frozen <filepath>.def</filepath> file, so only frozen exported functions will appear in the import library and only these exported functions can be linked against by other components. </p> <p>For ARM platforms, import libraries for compatible ABIs are also created. </p> <p>For example: </p> <ul><li id="GUID-AB341A8F-B9A0-5F01-A453-A99A9825EBF4"><p>if a project is built for <codeph>ARMv5</codeph>, then <codeph>ARMv5_ABIv1</codeph> import libraries will be created. </p> </li> <li id="GUID-58B657D6-0B87-59C3-BEA1-31F1AFA4C00C"><p>if a project is built for <codeph>ARMv5_ABIv2</codeph>, then <codeph>ARMv5_ABIv2</codeph> import libraries will be created. </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3BCA55F8-3867-579B-8D81-C540A32A8462.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-3BCA55F8-3867-579B-8D81-C540A32A8462"><title> build</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>build</codeph>  <codeph> ( ( [-c] | [-w] ) | ( [-s] [-k] [-v] ) )</codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>This command combines the effects of several <filepath>abld</filepath> commands in one, and will probably be all you’ll need to invoke to build your component.</p> <p>The <filepath>abld</filepath> commands that this command combines are <codeph>export</codeph>, <codeph>makefile</codeph>, <codeph>library</codeph>, <codeph>resource</codeph>, <codeph>target</codeph> and <codeph>final</codeph>, which are carried out in turn.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA" xml:lang="en"><title>CapSearch Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e86813_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e87403_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e91011_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e91601_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3C34724F-B476-5329-B0B1-6D5A34294979.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3C34724F-B476-5329-B0B1-6D5A34294979.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,22 +1,21 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-3C34724F-B476-5329-B0B1-6D5A34294979" xml:lang="en"><title>Interrupt Dispatcher
-Tutorial</title><shortdesc>Describes how to implement the Interrupt Dispatcher part of the
-ASSP/Variant.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/><related-links>
-<link href="GUID-76A30EC4-4B99-5471-9E80-F853C91485BC.dita"><linktext>Interrupt
-Dispatcher</linktext></link>
-<link href="GUID-396294CF-F666-55DB-BCB3-8E2877AEEC77.dita"><linktext>Interrupt
-Service Routines (ISRs)</linktext></link>
-<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/6._Interrupts_and_Exceptions.dita">
-<linktext>Symbian OS Internals - Chapter 6 Interrupts and Exceptions</linktext>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3C34724F-B476-5329-B0B1-6D5A34294979" xml:lang="en"><title>Interrupt
+Dispatcher Tutorial</title><shortdesc>Describes how to implement the Interrupt Dispatcher part
+of the ASSP/Variant.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/><related-links>
+<link href="GUID-76A30EC4-4B99-5471-9E80-F853C91485BC.dita"><linktext>Interrupt
+Dispatcher</linktext></link>
+<link href="GUID-396294CF-F666-55DB-BCB3-8E2877AEEC77.dita"><linktext>Interrupt
+Service Routines (ISRs)</linktext></link>
+<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/6._Interrupts_and_Exceptions" scope="external"><linktext>Symbian OS Internals - Chapter 6 Interrupts
+and Exceptions</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e86858_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e87786_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e91056_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e91984_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3C6935E1-66C9-5115-901E-D3B1D0C2E783.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3C6935E1-66C9-5115-901E-D3B1D0C2E783.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -131,7 +131,7 @@
 </table> <p>For the last four parameters (mask, gateway and the DNS servers)
 you can normally use the same values that Windows on your PC uses. To show
 Window's configuration, type the following from a command prompt: <userinput>ipconfig
-/all</userinput></p><p>You will get a screen similar to:</p><image href="GUID-9AA59C73-6603-5709-9392-68688785DAA0_d0e401582_href.png" placement="inline">
+/all</userinput></p><p>You will get a screen similar to:</p><image href="GUID-9AA59C73-6603-5709-9392-68688785DAA0_d0e407435_href.png" placement="inline">
 </image> <p>You must not use the same IP address as Windows, though. </p> </li>
 <li id="GUID-10C64BB5-F9F5-5C62-A255-83A1CA6DA1DE"><p>Search for the text <codeph>&lt;Name&gt;ConnectionPreferencesTable2&lt;/Name&gt;</codeph> and
 set the accompanying <codeph>&lt;IAPRef&gt;</codeph> tag to: </p> <codeblock id="GUID-A4D96B41-06E8-5742-B882-9A9D6708E233" xml:space="preserve">&lt;IAPRef&gt;IAP.Ethernet No Daemon Static IP&lt;/IAPRef&gt;</codeblock> </li>
Binary file Symbian3/PDK/Source/GUID-3C86C6E4-43E3-5D0C-B08A-3130FE3426CD_d0e450772_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C86C6E4-43E3-5D0C-B08A-3130FE3426CD_d0e456617_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C8FD050-1CD4-5AFB-ACB7-4264536BB300_d0e534768_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3C8FD050-1CD4-5AFB-ACB7-4264536BB300_d0e542228_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3CA473CB-E79C-5B32-8B5B-F222B3DDEF3B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3CA473CB-E79C-5B32-8B5B-F222B3DDEF3B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-3CA473CB-E79C-5B32-8B5B-F222B3DDEF3B"><title>Speech Recognition Controller Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides an overview of the Speech Recognition Controller (SRC) component. </p> <section><title>Purpose</title> <p>The Speech Recognition Controller component provides speech recognition services for clients requiring speech recognition functionality. The SRC component comprises a client utility, a data handler and a custom commands library. </p> </section> <section><title>Required background</title> <p>Automatic Speech Recognition (ASR) is a technology that enables users to use speech to interact with devices. ASR works by converting speech into a machine-readable form. Voice activated dialling is an example of an ASR application. </p> </section> <section><title>Architectural relationships</title> <p>The ASR Client Utility is dependent on the Multimedia Framework. The MMF acts as the interface between the ASR Client Utility and the low level DevASR. A Speech Recognition Services (SRS) controller plugin is responsible for transporting speech recognition requests from the MMF to the DevASR. For playback, the DevASR implementation uses DevSound to play the recorded speech. </p> <p>The relationship between the SRC component and other multimedia components is shown below. </p> <fig id="GUID-7A60FFE5-51FB-5379-8C78-8EA81C46F91D"><title>
              SRC component architectural relationship 
-          </title> <image href="GUID-CCE61F55-DDCC-566B-B4C6-E094E8E8B073_d0e524074_href.png" placement="inline"/></fig> </section> <section><title>API summary</title> <p>The SRC component includes the following APIs: </p> <table id="GUID-A7626951-7BF0-5876-B799-F50B3F2DF587"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <b>Automatic Speech Recognition Client Utility</b>  </p> </entry> <entry><p>Client side interface for ASR. </p> <p>For more information, see <xref href="GUID-B454C08F-0531-5789-ABFA-171D3C2319D9.dita">Automatic Speech Recognition Client Utility Overview</xref>. </p> </entry> </row> <row><entry><p> <b>Automatic Speech Recognition Custom Commands</b>  </p> </entry> <entry><p>Custom commands for ASR. </p> <p>For more information, see <xref href="GUID-DC4BF172-CDD3-5351-BBA1-550DEC1706BD.dita">Automatic Speech Recognition Custom Commands Overview</xref>. </p> </entry> </row> <row><entry><p> <b>Automatic Speech Recognition Data Handling</b>  </p> </entry> <entry><p>Recognition data handling for ASR. </p> <p>For more information, see <xref href="GUID-F684F363-B361-5868-9195-41305428AB2D.dita">Automatic Speech Recognition Data Handling Overview</xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The SRC component is used for the following: </p> <ul><li id="GUID-9B393CDD-1BF6-5107-98E5-97D2A820A992"><p>Recognising spoken input. </p> </li> <li id="GUID-903CDDE8-CBA3-5ACE-A32E-F15EA3FC68F8"><p>Training a new model. </p> </li> <li id="GUID-C82BD979-3704-5B29-ADB0-BAA26A79B447"><p>Manipulating grammars, lexicons and models. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-CCE61F55-DDCC-566B-B4C6-E094E8E8B073_d0e531534_href.png" placement="inline"/></fig> </section> <section><title>API summary</title> <p>The SRC component includes the following APIs: </p> <table id="GUID-A7626951-7BF0-5876-B799-F50B3F2DF587"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <b>Automatic Speech Recognition Client Utility</b>  </p> </entry> <entry><p>Client side interface for ASR. </p> <p>For more information, see <xref href="GUID-B454C08F-0531-5789-ABFA-171D3C2319D9.dita">Automatic Speech Recognition Client Utility Overview</xref>. </p> </entry> </row> <row><entry><p> <b>Automatic Speech Recognition Custom Commands</b>  </p> </entry> <entry><p>Custom commands for ASR. </p> <p>For more information, see <xref href="GUID-DC4BF172-CDD3-5351-BBA1-550DEC1706BD.dita">Automatic Speech Recognition Custom Commands Overview</xref>. </p> </entry> </row> <row><entry><p> <b>Automatic Speech Recognition Data Handling</b>  </p> </entry> <entry><p>Recognition data handling for ASR. </p> <p>For more information, see <xref href="GUID-F684F363-B361-5868-9195-41305428AB2D.dita">Automatic Speech Recognition Data Handling Overview</xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The SRC component is used for the following: </p> <ul><li id="GUID-9B393CDD-1BF6-5107-98E5-97D2A820A992"><p>Recognising spoken input. </p> </li> <li id="GUID-903CDDE8-CBA3-5ACE-A32E-F15EA3FC68F8"><p>Training a new model. </p> </li> <li id="GUID-C82BD979-3704-5B29-ADB0-BAA26A79B447"><p>Manipulating grammars, lexicons and models. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3D110AD3-C5C7-533C-8E57-C4E3D032A229_d0e247915_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3D110AD3-C5C7-533C-8E57-C4E3D032A229_d0e253926_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1" xml:lang="en"><title>Secure Sockets</title><shortdesc>The Secure Sockets allow a user to transport data over the network
+by enabling the users to authenticate and encrypt the data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This section provides the summary of concepts and tutorials related to
+the Secure Sockets.</p>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-5-1-4-1" xml:lang="en"><title>Secure Sockets</title><shortdesc>The Secure Sockets allow a user to transport data over the network
+by enabling the users to authenticate and encrypt the data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This section provides the summary of concepts and tutorials related to
+the Secure Sockets.</p>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-9-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-9-1-4-1" xml:lang="en"><title>Secure Sockets</title><shortdesc>The Secure Sockets allow a user to transport data over the network
+by enabling the users to authenticate and encrypt the data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This section provides the summary of concepts and tutorials related to
+the Secure Sockets.</p>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3D4D96AB-4A77-5EC1-9C2F-9BADF76209D1_d0e594707_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-3D4D96AB-4A77-5EC1-9C2F-9BADF76209D1_d0e622601_href.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3D5974E9-0F6C-4BBE-AD41-C405DC286C09.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3D5974E9-0F6C-4BBE-AD41-C405DC286C09" xml:lang="en"><title>Crazy Scheduler</title><shortdesc>This document describes the crazy scheduler tool.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-BB5A11B3-4EEB-4DD1-A9CF-F0D38BC87527"><title>Introduction</title><p>The adding of new functionality to the kernel has meant that Inter-Process
+Communication (IPC) is no longer deterministic.  The crazy scheduler
+is a tool that is designed to simulate the effect of IPC calls occurring
+at any time. With this tool, developers can check that their code
+will still work with the latest version of the kernel.</p><p>Crazy
+scheduler has two modes of operation:</p><ul>
+<li><p>Crazy delays</p></li>
+<li><p>Crazy priorities</p></li>
+</ul><p><note>Both modes of operation should not be enabled simultaneously
+since this could cause the system to deadlock.</note></p><p>Ideally,
+the test cases should be run twice (once with each mode of the crazy
+scheduler).</p> </section>
+<section id="GUID-EE0742D8-4050-4307-BBF9-DE00B4CD9D0B"><title>Crazy
+delay mode</title><p>This mode is used to test the effect of a delay
+in threads moving between states.</p></section>
+<section id="GUID-D104CF5B-22F6-4367-8220-3E213583C014"><title>Crazy
+priority mode</title><p>This mode is used to test the effect of no
+longer being able to rely on thread priority to synchronize IPC calls.
+In this mode, an IPC call can occur at any time. </p></section>
+<section id="GUID-D23075E3-C015-4ECF-A0E2-65553B3506E5"><title>Prerequisites</title><p>Your build should have the crazy scheduler present. It is present
+in the udeb version of a build and is disabled by default.</p></section>
+<section id="GUID-03C46CE1-6ED6-4448-A804-E023D25477E1"><title>Limitations</title><p>Crazy scheduler will only work on the udeb version of a build.
+Crazy scheduler in crazy priority mode does not impact the system
+as heavily as the crazy scheduler in crazy delay mode. Crazy Priority
+mode can only be enabled at ROM time or boot time (for the emulator).
+Do not expect this tool to find all the issues associated with IPC
+and synchronization. The crazy delay mode will slow the system down.</p><p><note>When a build is booting with the crazy scheduler in crazy
+delay mode enabled, the booting process can take a long time. In fact
+it can appear that it has hung. To reduce the boot time, it is advisable
+to do the following:<ul>
+<li><p>Format the user NAND (C:) partition using a regular ROM image
+before booting the build with the crazy scheduler enabled.</p></li>
+</ul>It is advisable to execute the crazy scheduling tests on both
+the emulator and on hardware. </note></p></section>
+<section id="GUID-B7C2FAE4-4DA7-4678-BB9E-788E884BEDC4"><title>How
+to enable the crazy scheduler</title><p>The Crazy scheduler can be
+used on both the emulator and hardware builds.</p></section>
+<section id="GUID-A0B0C64D-5366-47C7-9599-5E528855C36E"><title>Enabling
+for hardware</title><p>If the crazy scheduler is to be executed on
+hardware, then there are two ways to enable it:</p><ul>
+<li><p>Add the parameters -DCRAZYSCHEDDELAY (for the crazy delay)
+or -DCRAZYSCHEDPRIO (for crazy priority) to the buildrom arguments.
+Do not enable both parameters at the same time.</p></li>
+</ul><p>There are other ways of enabling the two modes of the crazy
+scheduler:</p><ul>
+<li><p>To enable the crazy priorities mode, include the following
+line into the relevant iby/oby file:</p><p>CRAZYSCHEDULING(on)</p></li>
+<li><p>To enable the crazy delay mode , include the following line
+into the relevant iby/oby file: </p><p>kerneltrace 0x80000000 0 0x20
+0 0 0 0 0</p></li>
+</ul></section>
+<section id="GUID-EEF30371-BF17-4C14-BC06-8C8C92E514DC"><title>Enabling
+for the emulator</title><p>If the crazy scheduler is to run on the
+emulator, then:</p><ul>
+<li><p>To enable crazy delays, add the following line to the \epoc\data\epoc.ini
+file:</p><p>debugmask2 0x20</p></li>
+<li><p>To enable crazy priorities, add the following line to the \epoc32\data\epoc.ini
+file:</p><p>crazyscheduling on</p></li>
+</ul><p><note>Do not enable both crazy delays and crazy priorities
+on at once.</note></p></section>
+<section id="GUID-1D6341AB-D9F1-4F39-AD93-3DF0B408EE4A"><title>Runtime
+enabling</title><p>The crazy delays can be toggled on or off at runtime.</p><p>To do this, EShell must be running. The following commands can
+be used from within EShell:</p><table id="GUID-B3A9D71D-ED36-4FB4-AEB6-01B4C9AD78CF">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<tbody>
+<row>
+<entry><p><b>Command</b></p></entry>
+<entry><p><b>Description</b></p></entry>
+</row>
+<row>
+<entry><p>trace on 69</p></entry>
+<entry><p>Enable crazy delays</p></entry>
+</row>
+<row>
+<entry><p>trace off 69</p></entry>
+<entry><p>Disable crazy delays</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p><note>Crazy priority cannot be toggled on or off at runtime.</note></p></section>
+<section id="GUID-B1284B69-ECCF-4265-A2A6-50C7AC0BD7BB"><title>State
+of the crazy scheduler</title><p>The state of the crazy scheduler
+can be obtained by executing the following in EShell:</p><ul>
+<li><p>sysinfo</p></li>
+</ul><p>The output will tell you which of the crazy scheduler modes
+are enabled or disabled.</p></section>
+<section id="GUID-582EB310-2404-455B-B9F8-59D1367D4E36"><title>How
+to obtain the output from the crazy scheduler</title><p>The crazy
+scheduler does not produce output as such, instead it is expected
+to work in conjunction with other test tools. The only output from
+this tool is whether an application will still work or not.</p></section>
+<section id="GUID-C47E10B3-DA1F-47EE-BAB8-536055580C95"><title>How
+to interpret the output from the crazy scheduler</title><p>As for
+above. </p></section>
+</conbody><related-links>
+<link href="GUID-7FB63DAA-FBFD-4485-919F-5FEFBBC53B97.dita"><linktext>SMP
+Tools Overview</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3D8B134E-3C2F-5BAF-82AB-0AB786A5D22D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3D8B134E-3C2F-5BAF-82AB-0AB786A5D22D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <task id="GUID-3D8B134E-3C2F-5BAF-82AB-0AB786A5D22D" xml:lang="en"><title> Directory
 Cache Tutorial</title><shortdesc>Describes how to configure the directory cache in a FAT file system
 enabled drive. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-17-1-1-10-1-7-1-7-1-3-1"><p>Before you start,
+<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-18-1-1-10-1-7-1-7-1-3-1"><p>Before you start,
 you must: </p> <ul>
 <li id="GUID-41E9D4BC-974F-5046-8FC1-E3C67298C5AA"><p>have the knowledge of
 the <xref href="GUID-AFFC4002-3A06-5458-A4D9-1E0AEDB8C534.dita">FAT file system</xref>  </p> </li>
@@ -23,7 +23,7 @@
 the <xref href="GUID-AFFC4002-3A06-5458-A4D9-1E0AEDB8C534.dita#GUID-AFFC4002-3A06-5458-A4D9-1E0AEDB8C534/GUID-7675348A-9D74-54DB-A09A-0537AD4D6CA5">global
 cache manager</xref>. </p> </li>
 </ul> </prereq>
-<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-17-1-1-10-1-7-1-7-1-3-2"><p>The developers
+<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-18-1-1-10-1-7-1-7-1-3-2"><p>The developers
 can configure the directory cache memory with a dynamic range. The memory
 allocation for directory cache on a drive depends on the available global
 cache memory. The global cache manager allocates memory to various cache memory
Binary file Symbian3/PDK/Source/GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e106639_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e109082_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930"><title>Image Conversion Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Image Conversion functionality. </p> <section id="GUID-5BECDECD-C1EC-5579-BE91-8F8004CD0DC4"><title>Purpose</title> <p>Image Conversion functionality supports many features like encoding, decoding, scaling, rotating, producing mirror image, flipping and cropping images. </p> <p><b>Image Conversion Library Details</b> </p> <p>To use Image Conversion, you must obtain necessary binaries in the form of DLL file to implement the image encoding and the image decoding functions. </p> <table id="GUID-0F5A5EF5-1839-5A5A-9DCC-3A58CB33A62F"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>imageconversion.dll</filepath>  </p> </entry> <entry><p> <filepath>imageconversion.lib</filepath>  </p> </entry> <entry><p>These files are used for implementing image conversion operation. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>Image Conversion is primarily used for Image Encoding and Image Decoding. The following diagram shows how the Image Encoding and the Image Decoding interacts with other components. </p> <fig id="GUID-D7706AA7-F1A9-5D87-B9D6-760FB7D7E906"><title>
              Image Conversion system diagram 
-          </title> <image href="GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e508793_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Image conversion provides several features to enable the conversion and basic manipulation of images. Conversions can be made from images stored in files or descriptors to <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects, or from <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> and <xref href="GUID-27B63129-ABD9-3B6C-882B-6F4501AF8E15.dita"><apiname>CFrameImageData</apiname></xref> objects to files or descriptors. Features of the image conversion function include: </p> <ul><li id="GUID-EA49D943-5B10-56C0-9AE3-5F73283CEB8E"><p>Standard decoders that can decode single or multiframe images, images with bitmasks, images with in-image or in-frame comments. </p> </li> <li id="GUID-80C4DB9F-6273-5656-8A6A-221528128D9C"><p>Support for progressive decoding. </p> </li> <li id="GUID-033F1133-1DFA-5460-9FE8-E95DB53CF38C"><p>Functions to decode images stored in files or descriptors. </p> </li> <li id="GUID-D99568AB-50DB-5B49-892E-A83FD4F4FABC"><p>Standard encoder that can encode single frame images and images with in image comments. </p> </li> <li id="GUID-85F702CC-60C0-5913-890C-08F8F6CAEFF2"><p>Functions to manipulate image properties such as scale, rotation, dithering and progressive decoding. </p> </li> <li id="GUID-94FF0822-C220-5D0C-AF65-16D2A09E7072"><p>Advanced thread control for encoder and decoders. </p> </li> </ul> </section> <section><title>Key Image Conversion Classes</title> <p>The key classes are </p> <dl><dlentry><dt>Image Encoding</dt> <dd><p>Image encoding is the process of taking a bitmap stored in a <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>, converting it to a specified format and writing the output to a file or descriptor. Typical sources of bitmap data are cameras and paint applications. The <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita"><apiname>CImageEncoder</apiname></xref> object is created specifying the source image and encoder plugin as parameters. The <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita#GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8/GUID-E1CADEBF-E502-3F7E-85D1-C6AA63E497FE"><apiname>CImageEncoder::Convert()</apiname></xref> function then encodes the image using the methods provided by the plugin. The results of the conversion are then saved to a file or descriptor. </p> </dd> </dlentry> <dlentry><dt>Image Decoding</dt> <dd><p>Image decoding is the process of taking an image stored in a file or descriptor, converting it from a specified format and writing the output to a <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>. The <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita"><apiname>CImageDecoder</apiname></xref> object is created specifying the source image and decoder plugin as parameters. The <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita#GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4/GUID-8118AC37-471E-3CB6-9F71-4E93507DDE57"><apiname>CImageDecoder::Convert()</apiname></xref> function then decodes the image using the methods provided by the plugin. The results of the conversion are then saved to a <codeph>CFbsBitmap</codeph>. </p> </dd> </dlentry> <dlentry><dt>Image Processor</dt> <dd><p>Image Processor is an interface to process the decoded image using the <xref href="GUID-E57B96D4-87E2-3BD7-ADA1-B9448A6DFFF6.dita"><apiname>CImageProcessor</apiname></xref> class. </p> </dd> </dlentry> </dl> </section> <section><title>Using Image Conversion</title> <p>The Image Conversion functionality is used for the following: </p> <ul><li id="GUID-1A5A0DC1-EA29-535C-A5BB-5D8EF0F24A5C"><p>Rotate, crop, mirror and flip an image frame during decode operation. </p> </li> <li id="GUID-0F53E15D-1D95-587E-8B4B-2B7E6CBEF2BF"><p>Scaling with reduction factor of an image during decode operation. </p> </li> <li id="GUID-55A5A2CD-ED87-56E7-8A36-8F783454184C"><p>Decode an image by requesting pixel data block by block. </p> </li> <li id="GUID-84E17F61-98DF-5782-8DFF-EE946F61E8DF"><p>Decode an image from a descriptor or a file. </p> </li> <li id="GUID-67885D9D-BA8C-53A4-B5E5-6B57B0ED00A8"><p>Decode an image using a mask for the image with transparency. </p> </li> <li id="GUID-10DF77DC-D6B5-54E7-A8B1-728DA0970558"><p>Decode an image using separate thread. </p> </li> <li id="GUID-A4FA39C1-2965-582D-B9EC-E2FB57646274"><p>Decode a JPEG image thumbnail. </p> </li> <li id="GUID-7D98BCC3-18EF-5EF3-8B1A-99AE0DB2F809"><p>Decode a GIF multi-frame image. </p> </li> <li id="GUID-3710C58E-45F1-5FFC-8DAA-28B5FD4A2A76"><p>Decode an image that supports YUV format into an image frame. </p> </li> <li id="GUID-F25602E2-9EA2-5C08-A445-11911DC1C47F"><p>Turning OFF and ON dithering during decode operation of the image. </p> </li> <li id="GUID-43824E57-1608-5798-BE2B-A28EE0C1670E"><p>Encode a bitmap or an image frame into a descriptor or a file. </p> </li> <li id="GUID-F56A325A-3272-5E0A-99A1-60D29E5EBE50"><p>Encode an image frame by passing pixel data block by block. </p> </li> <li id="GUID-8C57D275-981D-5D70-8D60-3F7FD5DCE2F7"><p>Rotate, mirror and flip an image during encode functionality. </p> </li> <li id="GUID-6D5ACBD5-2471-50BF-AAB5-B71D98F9DF39"><p>Rotate a bitmap image. </p> </li> <li id="GUID-2CE27CA7-4D48-5E04-B307-B5C934918AAE"><p>Scaling a bitmap image with or without a mask. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-88091838-03FC-550F-9A3D-DA70907EF955.dita"><linktext>Imaging Frameworks Overview</linktext> </link> <link href="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita"><linktext>Image Conversion Overview</linktext> </link> <link href="GUID-6DC34798-86CE-537D-B3B8-9A94FF77B283.dita"><linktext>Image Encoding Tutorial</linktext> </link> <link href="GUID-B10B048F-37FF-53E7-92B9-83F8C197566A.dita"><linktext>Image Decoding Tutorial</linktext> </link> <link href="GUID-A825B62E-B5F6-5FDD-B267-E47103D57FD8.dita"><linktext>Guide to Symbian supplied Codecs</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e516255_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Image conversion provides several features to enable the conversion and basic manipulation of images. Conversions can be made from images stored in files or descriptors to <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects, or from <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> and <xref href="GUID-27B63129-ABD9-3B6C-882B-6F4501AF8E15.dita"><apiname>CFrameImageData</apiname></xref> objects to files or descriptors. Features of the image conversion function include: </p> <ul><li id="GUID-EA49D943-5B10-56C0-9AE3-5F73283CEB8E"><p>Standard decoders that can decode single or multiframe images, images with bitmasks, images with in-image or in-frame comments. </p> </li> <li id="GUID-80C4DB9F-6273-5656-8A6A-221528128D9C"><p>Support for progressive decoding. </p> </li> <li id="GUID-033F1133-1DFA-5460-9FE8-E95DB53CF38C"><p>Functions to decode images stored in files or descriptors. </p> </li> <li id="GUID-D99568AB-50DB-5B49-892E-A83FD4F4FABC"><p>Standard encoder that can encode single frame images and images with in image comments. </p> </li> <li id="GUID-85F702CC-60C0-5913-890C-08F8F6CAEFF2"><p>Functions to manipulate image properties such as scale, rotation, dithering and progressive decoding. </p> </li> <li id="GUID-94FF0822-C220-5D0C-AF65-16D2A09E7072"><p>Advanced thread control for encoder and decoders. </p> </li> </ul> </section> <section><title>Key Image Conversion Classes</title> <p>The key classes are </p> <dl><dlentry><dt>Image Encoding</dt> <dd><p>Image encoding is the process of taking a bitmap stored in a <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>, converting it to a specified format and writing the output to a file or descriptor. Typical sources of bitmap data are cameras and paint applications. The <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita"><apiname>CImageEncoder</apiname></xref> object is created specifying the source image and encoder plugin as parameters. The <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita#GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8/GUID-E1CADEBF-E502-3F7E-85D1-C6AA63E497FE"><apiname>CImageEncoder::Convert()</apiname></xref> function then encodes the image using the methods provided by the plugin. The results of the conversion are then saved to a file or descriptor. </p> </dd> </dlentry> <dlentry><dt>Image Decoding</dt> <dd><p>Image decoding is the process of taking an image stored in a file or descriptor, converting it from a specified format and writing the output to a <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>. The <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita"><apiname>CImageDecoder</apiname></xref> object is created specifying the source image and decoder plugin as parameters. The <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita#GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4/GUID-8118AC37-471E-3CB6-9F71-4E93507DDE57"><apiname>CImageDecoder::Convert()</apiname></xref> function then decodes the image using the methods provided by the plugin. The results of the conversion are then saved to a <codeph>CFbsBitmap</codeph>. </p> </dd> </dlentry> <dlentry><dt>Image Processor</dt> <dd><p>Image Processor is an interface to process the decoded image using the <xref href="GUID-E57B96D4-87E2-3BD7-ADA1-B9448A6DFFF6.dita"><apiname>CImageProcessor</apiname></xref> class. </p> </dd> </dlentry> </dl> </section> <section><title>Using Image Conversion</title> <p>The Image Conversion functionality is used for the following: </p> <ul><li id="GUID-1A5A0DC1-EA29-535C-A5BB-5D8EF0F24A5C"><p>Rotate, crop, mirror and flip an image frame during decode operation. </p> </li> <li id="GUID-0F53E15D-1D95-587E-8B4B-2B7E6CBEF2BF"><p>Scaling with reduction factor of an image during decode operation. </p> </li> <li id="GUID-55A5A2CD-ED87-56E7-8A36-8F783454184C"><p>Decode an image by requesting pixel data block by block. </p> </li> <li id="GUID-84E17F61-98DF-5782-8DFF-EE946F61E8DF"><p>Decode an image from a descriptor or a file. </p> </li> <li id="GUID-67885D9D-BA8C-53A4-B5E5-6B57B0ED00A8"><p>Decode an image using a mask for the image with transparency. </p> </li> <li id="GUID-10DF77DC-D6B5-54E7-A8B1-728DA0970558"><p>Decode an image using separate thread. </p> </li> <li id="GUID-A4FA39C1-2965-582D-B9EC-E2FB57646274"><p>Decode a JPEG image thumbnail. </p> </li> <li id="GUID-7D98BCC3-18EF-5EF3-8B1A-99AE0DB2F809"><p>Decode a GIF multi-frame image. </p> </li> <li id="GUID-3710C58E-45F1-5FFC-8DAA-28B5FD4A2A76"><p>Decode an image that supports YUV format into an image frame. </p> </li> <li id="GUID-F25602E2-9EA2-5C08-A445-11911DC1C47F"><p>Turning OFF and ON dithering during decode operation of the image. </p> </li> <li id="GUID-43824E57-1608-5798-BE2B-A28EE0C1670E"><p>Encode a bitmap or an image frame into a descriptor or a file. </p> </li> <li id="GUID-F56A325A-3272-5E0A-99A1-60D29E5EBE50"><p>Encode an image frame by passing pixel data block by block. </p> </li> <li id="GUID-8C57D275-981D-5D70-8D60-3F7FD5DCE2F7"><p>Rotate, mirror and flip an image during encode functionality. </p> </li> <li id="GUID-6D5ACBD5-2471-50BF-AAB5-B71D98F9DF39"><p>Rotate a bitmap image. </p> </li> <li id="GUID-2CE27CA7-4D48-5E04-B307-B5C934918AAE"><p>Scaling a bitmap image with or without a mask. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-88091838-03FC-550F-9A3D-DA70907EF955.dita"><linktext>Imaging Frameworks Overview</linktext> </link> <link href="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita"><linktext>Image Conversion Overview</linktext> </link> <link href="GUID-6DC34798-86CE-537D-B3B8-9A94FF77B283.dita"><linktext>Image Encoding Tutorial</linktext> </link> <link href="GUID-B10B048F-37FF-53E7-92B9-83F8C197566A.dita"><linktext>Image Decoding Tutorial</linktext> </link> <link href="GUID-A825B62E-B5F6-5FDD-B267-E47103D57FD8.dita"><linktext>Guide to Symbian supplied Codecs</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3DD37A41-E822-5CB6-A59E-0B309B5627D9_d0e227813_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3DD37A41-E822-5CB6-A59E-0B309B5627D9_d0e233812_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3DE276E8-D2C7-5297-AF3B-40B0B8733572.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3DE276E8-D2C7-5297-AF3B-40B0B8733572.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 the <codeph>WriteL()</codeph> function. The following diagram illustrates
 this:</p>
 <fig id="GUID-7A4E3725-E6DA-566D-86E0-2941A8D96ACE">
-<image href="GUID-40C995CA-9906-59D8-A5E7-08F592031AEE_d0e349498_href.png" placement="inline"/>
+<image href="GUID-40C995CA-9906-59D8-A5E7-08F592031AEE_d0e355441_href.png" placement="inline"/>
 </fig>
 <p>The source or target location in the <i>other</i> thread is identified
 by pointer. The pointer only has meaning within the context of that thread;
Binary file Symbian3/PDK/Source/GUID-3E0E2E54-CD8A-5BAF-A87B-BF51FD8890D6_d0e684100_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E0E2E54-CD8A-5BAF-A87B-BF51FD8890D6_d0e696927_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E1199E4-4F19-58BB-B1EC-8975A04B68FF_d0e315529_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E1199E4-4F19-58BB-B1EC-8975A04B68FF_d0e321519_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E23788D-4D67-5E9B-961F-B67D7471BB71_d0e173143_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E23788D-4D67-5E9B-961F-B67D7471BB71_d0e179211_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E2E0C91-14B3-53AC-B797-DEE349688477_d0e263997_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E2E0C91-14B3-53AC-B797-DEE349688477_d0e269997_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,25 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED" xml:lang="en">
-<title>Suppo<?Pub Caret?>rt for Multiple Pointers in the Emulator</title>
-<shortdesc>This section introduces support for multiple pointers in
-the emulator which uses multiple mice to simulate human fingers. The
-multiple pointer environment in the emulator allows application developers
-to test multiple pointer UI features when hardware devices are not
-available.</shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p><b>Variant</b>: <xref
-href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
->. <b>Target audience</b>: Application developers. </p>
-</conbody>
-<related-links>
-<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext
->Advanced Pointers</linktext></link>
-</related-links>
-</concept>
-<?Pub *0000001008?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED" xml:lang="en"><title>Support for Multiple Pointers in the Emulator</title><shortdesc>This section introduces support for multiple pointers in
+the emulator which uses multiple mice to simulate human fingers. The
+multiple pointer environment in the emulator allows application developers
+to test multiple pointer UI features when hardware devices
+are not available.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p>
+</conbody><related-links>
+<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced
+Pointers</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3E7FBDE5-B580-4C2D-9815-83E04B7D71E1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3E7FBDE5-B580-4C2D-9815-83E04B7D71E1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 is not usually advised.<p>With AGPS terminal-assisted positioning the client
 application therefore requests a position from the network using an AGPS Terminal.
 The steps below describe the process.</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-18-1-1-9-1-6-1-12-1-3-2">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-19-1-1-9-1-6-1-12-1-3-2">
 <step id="GUID-B53B2F90-233B-42D8-A083-57DC29B6251C"><cmd>The client must
 open a connection to the server by calling <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-23285930-A1D5-3A97-AED4-E979BFA96FDD"><apiname>RPositionServer::Connect()</apiname></xref>.</cmd>
 </step>
@@ -32,18 +32,18 @@
 then open RPositioner by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> and
 specify the UID of the Network Proxy PSY.</cmd>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-18-1-1-9-1-6-1-12-1-3-2-3"><cmd>The client application
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-19-1-1-9-1-6-1-12-1-3-2-3"><cmd>The client application
 sends a location request to the Location subsystem by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref>.</cmd>
 </step>
-<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-18-1-1-9-1-6-1-12-1-3-2-4"><cmd>The Location subsystem
+<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-19-1-1-9-1-6-1-12-1-3-2-4"><cmd>The Location subsystem
 forwards the location request to the SUPL Protocol module by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref>.
 (In the default configuration SUPL is used for cell-based positioning).</cmd>
 </step>
-<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-18-1-1-9-1-6-1-12-1-3-2-5"><cmd>The SUPL protocol
+<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-19-1-1-9-1-6-1-12-1-3-2-5"><cmd>The SUPL protocol
 module communicates with an external SUPL server, which decides to use terminal-assisted
 GPS positioning instead of cell-based positioning. </cmd>
 </step>
-<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-18-1-1-9-1-6-1-12-1-3-2-6"><cmd>The SUPL Protocol
+<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-12-1-3-2-6"><cmd>The SUPL Protocol
 Module requests a measurement update from the Location subsystem by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-676C6200-0A3A-331D-9776-17CA53E8A1D7"><apiname>MLbsNetworkProtocolObserver::ProcessLocationRequest()</apiname></xref>.</cmd>
 </step>
 <step id="GUID-675B9902-D5B8-4292-8F61-6599E7E128FA"><cmd>The Location subsystem
@@ -58,7 +58,7 @@
 <step id="GUID-5B71C7FE-FB91-4096-9DCD-3C8053862213"><cmd>The measurement
 is sent to the SUPL server, which calculates and returns the position.</cmd>
 </step>
-<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-18-1-1-9-1-6-1-12-1-3-2-11"><cmd>The SUPL Protocol
+<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-12-1-3-2-11"><cmd>The SUPL Protocol
 module returns the cell-based position by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-CAB9645E-91AD-326B-8803-45F28505CCCC"><apiname>MLbsNetworkProtocolObserver::ProcessLocationUpdate()</apiname></xref>.</cmd>
 </step>
 <step id="GUID-A0638E54-9F51-468E-9DD3-B43A0C0AAAAA"><cmd>The Location subsystem
Binary file Symbian3/PDK/Source/GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e241170_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e247182_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3EF88A1D-CCB6-5DE5-9CA6-F6E785A6898A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3EF88A1D-CCB6-5DE5-9CA6-F6E785A6898A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -56,7 +56,7 @@
 Communications Server</xref>. </p> </li>
 </ul> <p>The following diagram outlines the Communication Framework collections
 and the components associated with each collection. </p> <fig id="GUID-201CB2BD-3398-57FA-B5D7-B38D1FFE77FD">
-<image href="GUID-5598B53F-2A6D-5813-913C-94B2AB36134E_d0e106187_href.png" placement="inline"/>
+<image href="GUID-5598B53F-2A6D-5813-913C-94B2AB36134E_d0e108630_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-47666C49-F51E-4297-9222-6ABDD2FF32B8"><title>Technologies</title> <p>The Comms Framework defines the structure
 and operations of the communications protocol stack in Symbian platform,
Binary file Symbian3/PDK/Source/GUID-3F0053A7-6EE2-5B59-81C2-27EC3CC7820A_d0e380122_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F0053A7-6EE2-5B59-81C2-27EC3CC7820A_d0e385975_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F0789DE-8455-5BA6-850C-45C60C581F18_d0e155655_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F0789DE-8455-5BA6-850C-45C60C581F18_d0e161756_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16" xml:lang="en"><title>DSA Migration Guide</title><shortdesc>This migration guide explains the guidelines that applications
+that use direct screen access (DSA) must follow in order to run on
+ScreenPlay (NGA) devices.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Introduced in an earlier version of the Symbian platform, DSA enables
+applications that require high frame rates (such as video and games)
+to bypass the Window Server and write to the screen directly.  On
+ScreenPlay, Symbian recommends the use of EGL window surfaces in preference
+to DSA.</p>
+<p>Support for DSA is maintained for backward compatibility reasons.
+ However, whereas on some earlier devices, applications might work
+without fully conforming to the rules of DSA, these rules are now
+necessarily enforced.  Applications that follow the following guidelines
+should run correctly on a ScreenPlay device.</p>
+<section id="GUID-3725C49E-4804-4AF3-9797-1D052685893F"><title>Always
+use a DSA session when using DSA</title>             <p>The main classes
+of the DSA framework are <xref href="GUID-24C7AE25-B44A-3B6F-AA05-EA90A8D36129.dita"><apiname>CDirectScreenAccess</apiname></xref>, <xref href="GUID-E2092CF9-98E8-3206-91B2-36011AA6FB77.dita"><apiname>RDirectScreenAccess</apiname></xref> and <xref href="GUID-5A289A8A-1485-3AB9-94CF-177B83D4F450.dita"><apiname>MDirectScreenAccess</apiname></xref>. Before drawing to the screen, the DSA application must create a
+DSA session; for example, by instantiating <codeph>CDirectScreenAccess</codeph> and calling <codeph>CDirectScreenAccess::StartL()</codeph>.  This
+rule applies regardless of whether the application accesses the DSA
+framebuffer using <xref href="GUID-4A501086-7EFF-376D-8901-6D9B2EB4EFF2.dita"><apiname>CFbsBitGc</apiname></xref>, <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref> or gains a pointer directly through HAL.</p><p>Applications that
+fail to create a DSA session will not work.  Applications that draw
+outside of an active period of DSA will not work.  This is because
+all DSA rendering is directed into a virtual framebuffer and the Operating
+System uses the DSA session to determine when that framebuffer should
+be made visible.</p><p>The following example demonstrates requesting
+direct screen access:</p><codeblock xml:space="preserve">voidCMyDSAEngine::StartDrawingL()
+    {
+    // Initialize DSA.
+    TRAPD(dsaError,iDSA-&gt;StartL());
+    if (dsaError==KErrNone)
+        {
+        // Get the graphics context for drawing.
+        iGc=iDSA-&gt;Gc();
+
+        // Get the region to draw to.
+        iRegion=iDSA-&gt;DrawingRegion();
+
+        // Set the clipping region to this region.
+        iGc-&gt;SetClippingRegion(iRegion); 
+
+        // Start generating timer events (the drawing is done in a timer callback).
+        iPeriodicTimer=CPeriodic::NewL(CActive::EPriorityStandard);
+        iPeriodicTimer-&gt;Start(0,KInterval,TCallBack(DrawNextFrame, this));
+        iDrawing=ETrue;
+        }
+    }
+</codeblock></section>
+<section id="GUID-ED2BEF42-7E4D-484F-8142-011271D7A584"><title>Inform
+the Operating System after updating the DSA buffer</title><p>Applications
+can access the screen by writing to the video hardware framebuffer
+or by using <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref>.  Regardless which
+of these methods you use, the application must inform the OS that
+the framebuffer has been updated in order for the DSA drawing to be
+pushed to the display.</p><p>Applications that fail to declare modifications
+to the framebuffer will not see their content correctly appear on-screen.
+ This is because the OS uses event-driven updating to copy the contents
+of the DSA framebuffer into the display.</p><p>When writing to the
+video hardware frame buffer, force a screen update by creating a redraw
+event like this:</p><codeblock xml:space="preserve">TRawEventredraw;
+redraw.Set(TRawEvent::ERedraw);
+UserSvr::AddEvent(redraw);</codeblock><p>When using <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref>, force a screen update by calling one of the following:</p><codeblock xml:space="preserve">void CFbsScreenDevice::Update();
+void CFbsScreenDevice::Update(constTRegion &amp;aRegion);
+</codeblock>         </section>
+<section id="GUID-862F9788-B580-4D93-84B4-677D4B964BB9"><title>Do
+not mix DSA and non-DSA rendering</title><p>The application must not
+issue <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> rendering to a window when DSA
+is active on that window.  If both types of rendering are required,
+the application must ensure that they only happen in distinct periods
+demarcated by the DSA session.</p><p>Applications that interleave
+periods of DSA rendering with periods of standard indirect (<xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref>) rendering, expecting to see each painted on
+top of the previous, will not work.  This is because the OS now uses
+two separate framebuffers; one for DSA rendering and one for indirect
+rendering.  Previous versions of the OS use a single
+framebuffer for both types of rendering.</p><p>Applications must be
+written to render the entire contents of their window using either
+DSA or indirect rendering at any one point of time.</p></section>
+</conbody><related-links>
+<link href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita"><linktext>The
+ScreenPlay Graphics Architecture</linktext></link>
+<link href="GUID-484B51EC-2209-5492-8E9C-9D792AB0DF35.dita"><linktext>Graphics
+and Drawing</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3F172A97-8B96-5E1B-854C-F198D1334D2A_d0e361991_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F172A97-8B96-5E1B-854C-F198D1334D2A_d0e367839_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3F1FF06E-4190-5AC7-86C6-6732B632BA1A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-3F1FF06E-4190-5AC7-86C6-6732B632BA1A"><title>reallyclean</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>reallyclean</codeph> <codeph> ( ( [-c] | [-w] ) | ( [-k] [-v] ) )</codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>This command does what <codeph>abld clean</codeph> does, and also removes files exported by <codeph>abld
-          export</codeph> and the makefiles generated by <codeph>abld
-          makefile</codeph>.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3F2E04BF-5A72-5540-9D6E-C2F3A47E0570_d0e272210_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F2E04BF-5A72-5540-9D6E-C2F3A47E0570_d0e278210_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F3E8851-3770-5B58-A31E-B5FFCBDE7E55_d0e276826_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F3E8851-3770-5B58-A31E-B5FFCBDE7E55_d0e282826_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8"><title>Media Transfer Protocol and Symbian Implementation</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section introduces the Media Transfer Protocol (MTP) and describes the basic interfaces of the Symbian MTP implementation. </p> <section><title>Media Transport Protocol</title> <p>The Media Transfer Protocol (MTP) is based upon, and is compatible with, the Picture Transfer Protocol (PTP) which is commonly used by digital imaging devices and printers for the exchange of pictures. PTP supports only the transfer of pictures. MTP allows the transfer of most types of media and is aimed at intelligent multifunction storage devices, such as <b>digital cameras</b>, <b>portable media players</b> and <b>mobile phones</b>. </p> <p> <b>Key aspects of MTP</b>  </p> <ul><li id="GUID-FB0F4F07-B1B0-5A50-85FF-1CF3CD7E81FB"><p>It is intended for transient connectivity between devices which normally function unconnected. </p> </li> <li id="GUID-55CC5201-44BD-5A2E-9001-80793579B462"><p>It is optimised for very large data stores. </p> </li> <li id="GUID-6F065A9C-486D-5035-B470-AEF20097544A"><p>A device may act as either a data producer or a data consumer. This refers to the direction in which data is transferred. For example image files may be uploaded from a Symbian device acting as a producer and music files downloaded to the same Symbian device acting as a consumer. </p> </li> <li id="GUID-F9831006-61CB-54D7-A8B9-27260D58D384"><p>A device may act as either an Initiator or a Responder. Typically the Initiator is the 'more responsible' of the two devices. </p> </li> <li id="GUID-3D5F403C-2BDA-5570-AD84-87B5797A17E4"><p>Besides enabling data transfer MTP enables some command and control of the connected device (the responder) </p> </li> <li id="GUID-A00DC1C1-4310-596B-8CB9-D080E6643D59"><p>Data is transferred as an atomic binary object so the data types that can be transferred are not restricted. </p> </li> </ul> <p>For a more complete description of MTP, and to download the MTP Porting Kit, please visit the <xref scope="external" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A2E73160-E862-4F19-BB26-C0CAFE798955&amp;displaylang=en">Microsoft website</xref>  </p> </section> <section><title>Symbian Implementation</title> <p>Support for MTP means that Symbian devices are able to interact with Microsoft Windows without the need to install any additional software on either device. The degree of interaction (the range and sophistication of features available) depends upon the software built into both the PC and the Symbian device. </p> <p>The basic Symbian MTP implementation provides access to the public file system on the device over a USB connection. The PC user is able to view the file system using applications such as Windows Explorer and the Windows Media Player. </p> <fig id="GUID-2A202F42-025D-56CB-92F6-F89FA757657C"><title>
              Basic MTP over USB 
-          </title> <image href="GUID-04820567-5745-56D3-9D9D-05E576FF7454_d0e607371_href.png" placement="inline"/></fig> <p>Within the Symbian platform MTP is implemented as a <i>framework</i> which allows the use of a variety of transports (e.g. USB, TCP/IP...), a variety of modes (MTP, PTP &amp; PictBridge) and a variety of Data Providers (e.g. specific media and data type providers). </p> <fig id="GUID-B6CD9315-60D3-5D6C-B857-DB9F04262B1A"><title>
+          </title> <image href="GUID-04820567-5745-56D3-9D9D-05E576FF7454_d0e646533_href.png" placement="inline"/></fig> <p>Within the Symbian platform MTP is implemented as a <i>framework</i> which allows the use of a variety of transports (e.g. USB, TCP/IP...), a variety of modes (MTP, PTP &amp; PictBridge) and a variety of Data Providers (e.g. specific media and data type providers). </p> <fig id="GUID-B6CD9315-60D3-5D6C-B857-DB9F04262B1A"><title>
              MTP Framework Interfaces 
-          </title> <image href="GUID-D5DC22F5-8891-5377-BE54-61FD72046237_d0e607383_href.png" placement="inline"/></fig> <p>The Symbian MTP implementation is compatible with Microsoft's MTP Enhanced specification v0.95. Symbian devices conform to the Windows Portable Device (WPD) architecture. Compatible versions of Microsoft Windows are: </p> <ul><li id="GUID-F96E8517-5F95-5AA5-A33C-06F96D0E463B"><p>Windows XP with Windows Media Player version 11 or higher </p> </li> <li id="GUID-33301BA5-BE2C-52BA-B5F4-845C0D8E773F"><p>Windows Vista </p> </li> </ul> <p>A Symbian device can take only the Responder role. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-D5DC22F5-8891-5377-BE54-61FD72046237_d0e646545_href.png" placement="inline"/></fig> <p>The Symbian MTP implementation is compatible with Microsoft's MTP Enhanced specification v0.95. Symbian devices conform to the Windows Portable Device (WPD) architecture. Compatible versions of Microsoft Windows are: </p> <ul><li id="GUID-F96E8517-5F95-5AA5-A33C-06F96D0E463B"><p>Windows XP with Windows Media Player version 11 or higher </p> </li> <li id="GUID-33301BA5-BE2C-52BA-B5F4-845C0D8E773F"><p>Windows Vista </p> </li> </ul> <p>A Symbian device can take only the Responder role. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3F4604B8-9154-4C98-BB6A-D3633C639F2B_d0e165692_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3F4604B8-9154-4C98-BB6A-D3633C639F2B_d0e171785_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3F7DA54D-28D5-4099-B4EF-728489DCEF2C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3F7DA54D-28D5-4099-B4EF-728489DCEF2C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,6 +18,6 @@
 selection grid.</p>
 <fig id="GUID-580E5952-9BAD-41FF-AE8B-6F4F1FA804E7">
 <title>Example of color selection grid</title>
-<image href="GUID-B12EEEF5-311B-49F8-A2DA-D6EF6A705071_d0e80983_href.png" placement="inline"/>
+<image href="GUID-B12EEEF5-311B-49F8-A2DA-D6EF6A705071_d0e85181_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA"><title>Localisable icon/caption definition files</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>These files define the following information required by the application launcher or system shell:</p> <ul><li id="GUID-7F29FAB6-8EE4-583D-9B18-B91AA475BC94"><p>the application’s caption. This is often displayed beside the icon in the application launcher, and is usually the application’s name,</p> </li> <li id="GUID-5B9FC4AE-02C8-5644-AA6E-97EFEA27037A"><p>an optional short version of the caption. This is used by some UIs in situations where screen space is limited,</p> </li> <li id="GUID-6D7CA1B8-EB2F-50E4-9C85-C1919B2E8B27"><p>the name of the icon file,</p> </li> <li id="GUID-4B2B8D32-B6A5-52B0-83EF-3E4ACB60119D"><p>for view-based applications, optional information about the views, including view-specific captions and icons. This feature may not be supported by all UIs.</p> </li> <li id="GUID-0F7E7175-67FC-53BA-898D-C7C4AFEEC3A5"><p>an optional application group name. This may also be defined in the registration file. If it is defined in both files, the localisable version takes precedence.</p> </li> </ul> <p>This information is defined using a <codeph>LOCALISABLE_APP_INFO</codeph> resource struct, see <filepath>AppInfo.rh</filepath>. This resource can either be defined in a icon/caption definition resource file, or in the application's UI resource file, if it has one.</p> <p> This choice of two methods is provided to give flexibility. For instance:</p> <ul><li id="GUID-4EDF8630-818E-5035-913D-D64695247559"><p> applications without any UI resources but which require icons/captions might need to use an icon/caption definition file,</p> </li> <li id="GUID-C01E9BAB-152D-586C-8183-B3B998620973"><p>applications with UI resources that do not need to be localised, but which require multiple captions, would use a single UI resource file, but several language-dependent icon/caption definition files,</p> </li> <li id="GUID-DE9080B3-6E42-503D-BCDA-E8FBDC420DA7"><p>for applications with localisable UI resources and different captions for different languages, it may be more convenient to define the caption/icon information in the UI resource files instead of using icon/caption definition files.</p> </li> </ul> <p>Localisable information is optional. A set of default icons are provided by the GUI, and the default caption is the application name.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3F938A76-3F27-56ED-BB3D-0E7EC4ACFB9C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3F938A76-3F27-56ED-BB3D-0E7EC4ACFB9C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -47,7 +47,7 @@
 is zero (<codeph>0</codeph>) which indicates the non-iterative method. You
 must set it to <codeph>1</codeph> to get specify the iterative method.</note> <fig id="GUID-B440387E-2A93-5DF0-9E81-79FCA72AB5C8">
 <title>                 New search-sort request process               </title>
-<image href="GUID-21E43B0E-85C7-536E-83A5-E829820775BF_d0e485288_href.png" placement="inline"/>
+<image href="GUID-21E43B0E-85C7-536E-83A5-E829820775BF_d0e491117_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Simple search</title> <ol id="GUID-40D841C8-004A-5E15-AB18-DD1E3D9C0164">
 <li id="GUID-90D2E877-B63F-57C5-9601-47CC2AE67325"><p>Create a search-sort
--- a/Symbian3/PDK/Source/GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A"><title>Feature Manager Client Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Provides the APIs required to communicate with the feature management server. </p> <section><title>Purpose</title> <p>Provides the complete set of functionality required for feature management. </p> </section> <section><title>Required background</title> <p>A familiarity with the client/server framework is necessary because feature management uses the standard client/server architecture; the feature manager server actually does the work, the feature manager library provides the APIs to implement a client to that server. </p> </section> <section><title>Architecture</title> <p>The relationship between the parts of the feature management system is : </p> <fig id="GUID-46A8976E-3C88-54C5-90DB-721F10FD62E6"><title>
              Architecture of the feature management system 
-          </title> <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569234_href.png" placement="inline"/></fig> </section> <section id="GUID-3CF8D502-1181-511C-9F14-A256ACD4EF6B"><title>APIs</title> <p>This component provides one set of APIs that can be used to communicate with the feature management server. </p> <p>This dll file holds the APIs that are @publishedPartner. </p> <table id="GUID-2152DCD5-2797-505C-A906-BD1EB378D3EB"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-F8232FA0-6D5C-3B40-8AFC-5359E91689BD.dita"><apiname>RFeatMgrClient</apiname></xref>  </p> </entry> <entry><p>Base class of the client-side communication with the feature manager server. </p> </entry> </row> <row><entry><p> <xref href="GUID-F6AAAC24-4A62-383A-86C6-2E46335C3FD4.dita"><apiname>RFeatureControl</apiname></xref>  </p> </entry> <entry><p>Contains the full functionality of the feature manager. </p> </entry> </row> <row><entry><p> <xref href="GUID-623C4183-00F0-36B0-AE1F-5C5EDCAF1B3D.dita"><apiname>MFeatureObserver</apiname></xref>  </p> </entry> <entry><p>Provides a callback interface for handling feature change notifications. </p> </entry> </row> <row><entry><p> <xref href="GUID-CA12C6F7-E997-33B8-9463-B326BC1832C5.dita"><apiname>CFeatureNotifier</apiname></xref>  </p> </entry> <entry><p>This is the active object for obtaining the notification of changes in features. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <ul><li id="GUID-56FA99FF-152D-50AB-99F8-00A2533A978C"><p>Connect to the feature management server. </p> </li> <li id="GUID-EFE0D43B-C1F0-573B-8837-01863115EB57"><p>Produce a list of the features that are present. </p> </li> <li id="GUID-7C2EA017-7FF3-5B2C-8A47-C4AA7D026A3C"><p>Check to see if a feature is supported. </p> </li> <li id="GUID-E7680CAD-CF68-5F60-8694-39601EBACE24"><p>Delete a feature. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager Overview</linktext> </link> <link href="GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita"><linktext>Feature Discovery Overview</linktext> </link> <link href="GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0.dita"><linktext>Feature Manager Server Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618530_href.png" placement="inline"/></fig> </section> <section id="GUID-3CF8D502-1181-511C-9F14-A256ACD4EF6B"><title>APIs</title> <p>This component provides one set of APIs that can be used to communicate with the feature management server. </p> <p>This dll file holds the APIs that are @publishedPartner. </p> <table id="GUID-2152DCD5-2797-505C-A906-BD1EB378D3EB"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-F8232FA0-6D5C-3B40-8AFC-5359E91689BD.dita"><apiname>RFeatMgrClient</apiname></xref>  </p> </entry> <entry><p>Base class of the client-side communication with the feature manager server. </p> </entry> </row> <row><entry><p> <xref href="GUID-F6AAAC24-4A62-383A-86C6-2E46335C3FD4.dita"><apiname>RFeatureControl</apiname></xref>  </p> </entry> <entry><p>Contains the full functionality of the feature manager. </p> </entry> </row> <row><entry><p> <xref href="GUID-623C4183-00F0-36B0-AE1F-5C5EDCAF1B3D.dita"><apiname>MFeatureObserver</apiname></xref>  </p> </entry> <entry><p>Provides a callback interface for handling feature change notifications. </p> </entry> </row> <row><entry><p> <xref href="GUID-CA12C6F7-E997-33B8-9463-B326BC1832C5.dita"><apiname>CFeatureNotifier</apiname></xref>  </p> </entry> <entry><p>This is the active object for obtaining the notification of changes in features. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <ul><li id="GUID-56FA99FF-152D-50AB-99F8-00A2533A978C"><p>Connect to the feature management server. </p> </li> <li id="GUID-EFE0D43B-C1F0-573B-8837-01863115EB57"><p>Produce a list of the features that are present. </p> </li> <li id="GUID-7C2EA017-7FF3-5B2C-8A47-C4AA7D026A3C"><p>Check to see if a feature is supported. </p> </li> <li id="GUID-E7680CAD-CF68-5F60-8694-39601EBACE24"><p>Delete a feature. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager Overview</linktext> </link> <link href="GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita"><linktext>Feature Discovery Overview</linktext> </link> <link href="GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0.dita"><linktext>Feature Manager Server Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8"><title>Recording Audio</title><shortdesc>This tutorial describes how to start, pause and resume, stop and retrieve the audio samples for audio recording. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><prereq id="GUID-5364D394-21F7-5327-BCD3-8F91DB5EEC8D-GENID-1-12-1-21-1-1-14-1-5-1-4-1-5-1-6-1-4-1-3-1"><p>Before you start, you must: </p> <ul><li id="GUID-17398FD3-6EE4-5439-96D3-1E896488AA40"><p>Understand the <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound Component</xref> to which the DevSound library belongs. </p> </li> <li id="GUID-895B2B05-ADAC-5B15-8117-0536295BD460"><p>Understand the architectural relationship of the DevSound. For information see <xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>. </p> </li> </ul> </prereq> <context id="GUID-1BDA6C77-3A07-5E9D-9550-DA6D48DC17C1"><p>You can perform various functionality in DevSound audio recording that are listed in the below section. </p> </context> <steps id="GUID-19C32465-E50D-585B-8271-4F43F640253D"><step id="GUID-63886A2F-644A-5254-863F-E6321E45E883"><cmd/><info><xref href="GUID-769CD1E7-8545-5223-A195-43E72AAF5DDC.dita">Starting Audio Record</xref>  </info> </step> <step id="GUID-37C5AC22-4CC5-5857-B77A-A7940BDE03F0"><cmd/><info><xref href="GUID-96B8657D-FC07-5D5C-8ADE-3B2167A9229E.dita">Pausing and Resuming Audio Record</xref>  </info> </step> <step id="GUID-58C9B223-FE59-5718-AD70-E1EF0DEB00D1"><cmd/><info><xref href="GUID-D67D6147-ECE1-576C-A64C-120F32AE2AA2.dita">Stopping Audio Record</xref>  </info> </step> <step id="GUID-FAE90C07-5AD0-538A-9EBD-8971E503512A"><cmd/><info><xref href="GUID-D0CD890F-36DB-5265-B2C1-8D632EAF736B.dita">Retrieving Audio Record Samples</xref>  </info> </step> </steps> </taskbody><related-links><link href="GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita"><linktext>Playing Audio</linktext> </link> </related-links></task>
\ No newline at end of file
+<task xml:lang="en" id="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8"><title>Recording Audio</title><shortdesc>This tutorial describes how to start, pause and resume, stop and retrieve the audio samples for audio recording. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><prereq id="GUID-5364D394-21F7-5327-BCD3-8F91DB5EEC8D-GENID-1-12-1-22-1-1-15-1-5-1-4-1-5-1-6-1-4-1-3-1"><p>Before you start, you must: </p> <ul><li id="GUID-17398FD3-6EE4-5439-96D3-1E896488AA40"><p>Understand the <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound Component</xref> to which the DevSound library belongs. </p> </li> <li id="GUID-895B2B05-ADAC-5B15-8117-0536295BD460"><p>Understand the architectural relationship of the DevSound. For information see <xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>. </p> </li> </ul> </prereq> <context id="GUID-1BDA6C77-3A07-5E9D-9550-DA6D48DC17C1"><p>You can perform various functionality in DevSound audio recording that are listed in the below section. </p> </context> <steps id="GUID-19C32465-E50D-585B-8271-4F43F640253D"><step id="GUID-63886A2F-644A-5254-863F-E6321E45E883"><cmd/><info><xref href="GUID-769CD1E7-8545-5223-A195-43E72AAF5DDC.dita">Starting Audio Record</xref>  </info> </step> <step id="GUID-37C5AC22-4CC5-5857-B77A-A7940BDE03F0"><cmd/><info><xref href="GUID-96B8657D-FC07-5D5C-8ADE-3B2167A9229E.dita">Pausing and Resuming Audio Record</xref>  </info> </step> <step id="GUID-58C9B223-FE59-5718-AD70-E1EF0DEB00D1"><cmd/><info><xref href="GUID-D67D6147-ECE1-576C-A64C-120F32AE2AA2.dita">Stopping Audio Record</xref>  </info> </step> <step id="GUID-FAE90C07-5AD0-538A-9EBD-8971E503512A"><cmd/><info><xref href="GUID-D0CD890F-36DB-5265-B2C1-8D632EAF736B.dita">Retrieving Audio Record Samples</xref>  </info> </step> </steps> </taskbody><related-links><link href="GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita"><linktext>Playing Audio</linktext> </link> </related-links></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-3FE9C184-1880-51E1-B045-3C2EA4BE204A_d0e310011_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3FE9C184-1880-51E1-B045-3C2EA4BE204A_d0e316002_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3FEA5BE8-C306-587F-8CCC-E4619DE7183A_d0e590723_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3FEA5BE8-C306-587F-8CCC-E4619DE7183A_d0e618617_href.png has changed
--- a/Symbian3/PDK/Source/GUID-3FF0F248-EDF0-5348-BC43-869CE1B5B415.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3FF0F248-EDF0-5348-BC43-869CE1B5B415.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -55,7 +55,7 @@
 the request to the user binary, the user implementation must call <codeph>RDevUsbcClient::SetDeviceControl()</codeph>.
 Device-directed requests from the PC are all then routed to this instance
 of <codeph>RDevUsbcClient</codeph>. </p> <fig id="GUID-FD68DA9C-2175-5B9D-B4A1-8A8B6D0EAEA8">
-<image href="GUID-1E2DC905-472F-519F-A390-A1189FCB0F9D_d0e611107_href.jpg" placement="inline"/>
+<image href="GUID-1E2DC905-472F-519F-A390-A1189FCB0F9D_d0e650261_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-39D9E728-14DA-58DB-9F3A-C30B23832ECA"><p>Provide an OS feature
 descriptor handler. </p> <p>Once a valid OS string descriptor is returned,
Binary file Symbian3/PDK/Source/GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e1785_href.png has changed
Binary file Symbian3/PDK/Source/GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e1791_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4028CDCF-D2E8-5668-A751-A7CFA86CED46_d0e584453_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4028CDCF-D2E8-5668-A751-A7CFA86CED46_d0e633741_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40437D9A-7503-5087-851A-D1269F0AF9A9_d0e248069_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40437D9A-7503-5087-851A-D1269F0AF9A9_d0e254080_href.png has changed
--- a/Symbian3/PDK/Source/GUID-405F7AB8-0F0E-4171-95E6-3524D76917DE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-405F7AB8-0F0E-4171-95E6-3524D76917DE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,36 +9,19 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-405F7AB8-0F0E-4171-95E6-3524D76917DE" xml:lang="en"><title>Handling stylus pop-up menu events and commands</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>At the construction phase, <codeph>CAknStylusPopUpMenu</codeph> is given a <codeph>MEikMenuObserver</codeph> object, which is usually
-a pointer to the application’s UI (<xref href="GUID-77329067-34D9-3698-B764-294535E660EB.dita"><apiname>CAknAppUi</apiname></xref>) or
-another class that implements the interface. The stylus pop up menu
-will grab the stylus event when one of its items is tapped on and
-it will then report the item’s command ID to the menu observer. It
-is then up to the application to handle the command in the implementation
-of <xref href="GUID-CDB32ABA-F567-395D-9A00-2AC518BD5F3B.dita#GUID-CDB32ABA-F567-395D-9A00-2AC518BD5F3B/GUID-5A200511-9E99-3E2F-8E1B-B4A724BD2704"><apiname>MEikMenuObserver::HandleCommandL()</apiname></xref>. </p>
-<p>When an item is  tapped, the menu calls its observer's (<codeph>iMenuObserver</codeph>) <codeph>ProcessCommandL()</codeph> using:<codeblock xml:space="preserve">void ProcessCommandL(TInt aCommandId);</codeblock> where, <codeph>aCommandID</codeph> parameter is the command number recorded in 
-the resource file. You can also add it using <codeph>AddMenuItemL()</codeph> function as shown in the following code snippet:<codeblock xml:space="preserve">void AddMenuItemL( const TDesC&amp; aItem, const TInt aCommandId );</codeblock></p>
-<p>The following code snippet illustrates how to handle the command:<codeblock xml:space="preserve">switch( aCommandId )
-		{
-		case StylusMenuCommand1:
-			break;
-		case StylusMenuCommand2:
-			break;
-		case StylusMenuCommand3:
-			break;
-		case StylusMenuCommand4:
-			break;
-		case KErrCancel:
-			break;
-		default:
-			break;
-		}
-</codeblock> </p>
-<p>Typically the observer is application's AppUi. It is then the observer's
-responsibility to handle the command appropriately. The observer is
-informed with <codeph>KErrCancel</codeph> if the menu is closed without
-making a selection.</p>
-<p>Use the <xref href="GUID-FB7D03CC-6FE6-3B2E-997F-A220A92BF5E8.dita#GUID-FB7D03CC-6FE6-3B2E-997F-A220A92BF5E8/GUID-100C0AE9-D134-3409-8620-7343033DF5BA"><apiname>CAknStylusPopUpMenu::HandleControlEventL()</apiname></xref> method to handle events that occur when user selects a menu item.</p>
-<codeblock xml:space="preserve"/>
+<concept id="GUID-405F7AB8-0F0E-4171-95E6-3524D76917DE" xml:lang="en"><title>Handling
+stylus pop-up menu events and commands</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>At the construction phase, <codeph>CAknStylusPopUpMenu</codeph> is given
+a <codeph>MEikMenuObserver</codeph> object, which is usually a pointer to
+the application’s UI (<xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknAppUi.html" format="application/java-archive"><codeph>CAknAppUi</codeph></xref>)
+or another class that implements the interface. The stylus pop up menu will
+grab the stylus event when one of its items is tapped on and it will then
+report the item’s command ID to the menu observer. It is then up to the application
+to handle the command in the implementation of <codeph>MEikMenuObserver::HandleCommandL()</codeph>. </p>
+<p>When an item is  tapped, the menu calls its observer's (iMenuObserver)
+ProcessCommandL. Typically the observer is application's AppUi. It is then
+the observer's responsibility to handle the command appropriately. The observer
+is informed with KErrCancel if the menu is closed without making a selection.</p>
+<p><draft-comment time="2008-05-15T15:38" translate="no">Add sample code on event and command
+handling here.</draft-comment></p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-40619192-8C2F-4267-BFCA-F53E10BF5A31_d0e14149_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40619192-8C2F-4267-BFCA-F53E10BF5A31_d0e14249_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4067B0E6-9431-4325-95F7-78B143EED326.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-4067B0E6-9431-4325-95F7-78B143EED326" xml:lang="en"><title>Softkeys
-and basic softkey configuration</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The Symbian platform supports two softkeys and labels the Selection key
-in the middle of the Control pane. This, in effect, looks like a "middle softkey".
-Touch UI does not have the middle softkey label visible, refer to <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch
-support for common UI components</xref>. The softkey labels are placed in
-the control pane (the bottom area of the screen). The left and right softkeys
-always have textual labels, but the Selection key can also have two icons
-in certain situations.</p>
-<p>The three softkey configurations supported in the Symbian UI style are
-the following:</p>
-<ul>
-<li><p>Basic Symbian portrait-oriented UI with softkeys immediately below
-the screen (the middle softkey label is visible). </p></li>
-<li><p>Symbian UI with side softkeys in landscape (both left and right rotation
-possible, middle softkey label not possible). </p></li>
-<li><p>Symbian UI with bottom softkeys in landscape (middle softkey label
-not possible). Not available for Touch UI.</p></li>
-</ul>
-<p>For more details on the functions assigned to softkeys, see <xref href="GUID-959AB527-12A7-4BDB-B01F-F0868E60D237.dita">Where
-the Symbian user interface belongs </xref>and <xref href="GUID-26435FE1-D912-4AA2-96EE-82B35DA231E6.dita">Typical
-functions of the standard keys</xref>. </p>
-<section id="GUID-821EA4E9-F6D3-48A4-8D69-DDEBFD6E90F0"><title>Using
-softkeys in applications</title><p>The API to use for softkeys is the <xref format="html" href="specs/guides/Buttons_API_Specification/Buttons_API_Specification.html" scope="peer">Buttons API</xref>. For implementation information, see <xref format="html" href="specs/guides/Buttons_API_Specification/Buttons_API_Specification.html#Buttons_API_Specification.topic3" scope="peer">Using the Buttons API</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-40A3938E-366E-5318-A7FA-146F9E5E23B1_d0e236301_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40A3938E-366E-5318-A7FA-146F9E5E23B1_d0e242274_href.png has changed
--- a/Symbian3/PDK/Source/GUID-40A9EAE3-F0AA-52FF-B3E8-455E820AA410.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-40A9EAE3-F0AA-52FF-B3E8-455E820AA410.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 <fig id="GUID-9B668E70-5EB8-5B16-B434-ED9CE0D0E079">
 <title>           Extended Light API - Architectural Relationship        
  </title>
-<image href="GUID-28E3645D-6673-569D-BF4A-409DDEA07CA9_d0e155782_href.png" placement="inline"/>
+<image href="GUID-28E3645D-6673-569D-BF4A-409DDEA07CA9_d0e161883_href.png" placement="inline"/>
 </fig>
 <p><b>See also</b></p>
 <p><xref href="GUID-453F06F7-DD8C-546F-A206-FCE863744572.dita">Extended Light Tutorial</xref></p>
--- a/Symbian3/PDK/Source/GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14"><title>Feature Discovery Overview</title><shortdesc>Provides a set of APIs that are used to initate a feature discovery operation. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>Feature discovery provides a set of APIs to discover if a feature or feature set is supported and available. </p> </section> <section><title>Required background</title> <p>The feature management system uses the standard client server architecture that is the feature manager server does the work associated with the feature management functionality. Communication between the application and the server is undertaken by two dlls which contain the required API. </p> </section> <section><title>Architecture</title> <p>The relationship between the parts of the feature management system is : </p> <fig id="GUID-FAFC39CE-B585-5C3F-A6DA-DE4BFEB8CE31"><title>
              Architecture of the feature management system 
-          </title> <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569407_href.png" placement="inline"/></fig> </section> <section id="GUID-044747C8-90DF-5C93-B0E1-310F283E8894"><title>APIs</title> <p>This component provides one set of APIs that can be used to communicate with the feature management server. </p> <table id="GUID-C141A34B-4F52-5520-B107-E05271DDF614"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-7C19450F-41CF-3293-B8BF-4A4D6F795155.dita"><apiname>TFeatureSet</apiname></xref>  </p> </entry> <entry><p>Used to determine if multiple features are supported. </p> </entry> </row> <row><entry><p> <xref href="GUID-2C9E6E72-2858-37A1-9D43-4E8086569520.dita"><apiname>CFeatureDiscovery</apiname></xref>  </p> </entry> <entry><p>Used to determine if a feature is supported. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The APIs provided by this dll are for use by third parties </p> <ul><li id="GUID-DBC7434D-75B2-5186-BBBE-308B037F513D"><p>A third party app wants to find out if the device can execute it : there is no point installing an application needing a camera, if one is not present on the device. </p> </li> <li id="GUID-E9646304-09F3-5F28-84AA-A462DA630A97"><p>For the above, they would use the API provided by featmgr.dll. </p> </li> <li id="GUID-2A691994-0025-5039-A704-1573F2D13418"><p>Would be used to check if the required feature (and assumed framework) is present. </p> </li> </ul> <p>Use cases: </p> <ul><li id="GUID-691330F6-5CE0-536E-B796-F5EF7D281FCC"><p>Query a single feature. </p> </li> <li id="GUID-15001873-E802-5A0C-AC11-FB3FC3B30F67"><p>Query multiple features. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager Overview</linktext> </link> <link href="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita"><linktext>Feature Manager Client
+          </title> <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618703_href.png" placement="inline"/></fig> </section> <section id="GUID-044747C8-90DF-5C93-B0E1-310F283E8894"><title>APIs</title> <p>This component provides one set of APIs that can be used to communicate with the feature management server. </p> <table id="GUID-C141A34B-4F52-5520-B107-E05271DDF614"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-7C19450F-41CF-3293-B8BF-4A4D6F795155.dita"><apiname>TFeatureSet</apiname></xref>  </p> </entry> <entry><p>Used to determine if multiple features are supported. </p> </entry> </row> <row><entry><p> <xref href="GUID-2C9E6E72-2858-37A1-9D43-4E8086569520.dita"><apiname>CFeatureDiscovery</apiname></xref>  </p> </entry> <entry><p>Used to determine if a feature is supported. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The APIs provided by this dll are for use by third parties </p> <ul><li id="GUID-DBC7434D-75B2-5186-BBBE-308B037F513D"><p>A third party app wants to find out if the device can execute it : there is no point installing an application needing a camera, if one is not present on the device. </p> </li> <li id="GUID-E9646304-09F3-5F28-84AA-A462DA630A97"><p>For the above, they would use the API provided by featmgr.dll. </p> </li> <li id="GUID-2A691994-0025-5039-A704-1573F2D13418"><p>Would be used to check if the required feature (and assumed framework) is present. </p> </li> </ul> <p>Use cases: </p> <ul><li id="GUID-691330F6-5CE0-536E-B796-F5EF7D281FCC"><p>Query a single feature. </p> </li> <li id="GUID-15001873-E802-5A0C-AC11-FB3FC3B30F67"><p>Query multiple features. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager Overview</linktext> </link> <link href="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita"><linktext>Feature Manager Client
                 Overview</linktext> </link> <link href="GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0.dita"><linktext>Feature Manager Server Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-40BE9805-6CEC-557F-BAAC-4D328E181AC3_d0e248013_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40BE9805-6CEC-557F-BAAC-4D328E181AC3_d0e254024_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40C995CA-9906-59D8-A5E7-08F592031AEE_d0e349498_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40C995CA-9906-59D8-A5E7-08F592031AEE_d0e355441_href.png has changed
--- a/Symbian3/PDK/Source/GUID-40E64445-CBA3-59E4-A777-937609B311C9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-40E64445-CBA3-59E4-A777-937609B311C9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 is primarily used by messaging, telephony, synchronisation and vCard viewer
 clients on a device. </p> <fig id="GUID-79192704-415D-530B-8FEB-F73A5C93D0C2">
 <title>              CONTACTS MODEL CLIENTS            </title>
-<image href="GUID-5B6634EA-EB78-504E-BC5D-ABA67EEA06DF_d0e599998_href.png" placement="inline"/>
+<image href="GUID-5B6634EA-EB78-504E-BC5D-ABA67EEA06DF_d0e155964_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-DF37BEEF-CF1D-42B4-A5E2-B3C8F69B33BD"><title>Description</title> <p>The <xref href="GUID-6A6C7B3B-1E44-3731-956D-590A1122FF6E.dita"><apiname>CContactDatabase</apiname></xref> class
 allows clients access to the contact data stored on the device and has the
Binary file Symbian3/PDK/Source/GUID-40ED6F39-F8E2-5292-ADA5-C2507F256AE0_d0e346267_href.png has changed
Binary file Symbian3/PDK/Source/GUID-40ED6F39-F8E2-5292-ADA5-C2507F256AE0_d0e352218_href.png has changed
--- a/Symbian3/PDK/Source/GUID-40F5B725-A5D7-487F-BF5D-A616F768F40D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-40F5B725-A5D7-487F-BF5D-A616F768F40D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,7 +37,7 @@
 same as that of a note. The example in the figure below is an ungrouped soft
 notification. </p><fig id="GUID-604BE550-E472-4FAC-87CF-28A2928DC1E9">
 <title>Soft notification indicating a new message</title>
-<image href="GUID-7D025BEF-61B9-4EF1-AFF7-604B500A8F2C_d0e92545_href.png" placement="inline"/>
+<image href="GUID-7D025BEF-61B9-4EF1-AFF7-604B500A8F2C_d0e96743_href.png" placement="inline"/>
 </fig></li>
 <li><p><b>Grouped soft notification:</b> Many different items of information
 can be combined into one soft notification where the items are displayed as
@@ -46,7 +46,7 @@
 a List query (see <xref href="GUID-7B275129-5EF7-4B27-B603-3BDE2C650A93.dita">Queries</xref>).</p><fig id="GUID-66315EEC-23D9-4484-AB66-37F2E8F43566">
 <title>Grouped soft notification. The height of the window is dynamic and
 depends on the number of lines in the list.</title>
-<image href="GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e92561_href.png" placement="inline"/>
+<image href="GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e96759_href.png" placement="inline"/>
 </fig></li>
 </ul>
 <p/>
Binary file Symbian3/PDK/Source/GUID-4119C4BD-ABBF-524B-B649-0F39EF58A7FB_d0e137619_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4119C4BD-ABBF-524B-B649-0F39EF58A7FB_d0e139868_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4120651F-E0B9-5927-96B9-2662C51F5A09.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4120651F-E0B9-5927-96B9-2662C51F5A09.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -45,7 +45,7 @@
 and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> constitute the SIPPARAMS. </p> <fig id="GUID-57FDC30F-E5AD-5C9D-8D80-71B35CB905D4">
 <title>              Interface of Connection and Sub Connection.         
   </title>
-<image href="GUID-FFE6BAF8-C093-53FC-8672-365BAF38E048_d0e553256_href.png" placement="inline"/>
+<image href="GUID-FFE6BAF8-C093-53FC-8672-365BAF38E048_d0e560712_href.png" placement="inline"/>
 </fig> <p>The SIP high level API models the SIP with Connection and SubConnection
 providers and makes it stackable against the unified comms-infras architecture.
 This enables the future connection convergence. </p> <p><b> Initial setup</b> </p> <p>A
Binary file Symbian3/PDK/Source/GUID-414338AC-D256-54AF-A504-27DAEDE800D5_d0e459649_href.png has changed
Binary file Symbian3/PDK/Source/GUID-414338AC-D256-54AF-A504-27DAEDE800D5_d0e465494_href.png has changed
Binary file Symbian3/PDK/Source/GUID-414DD60D-C5C3-5A75-9DF7-8980F72CB485_d0e606318_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-414DD60D-C5C3-5A75-9DF7-8980F72CB485_d0e645480_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502"><title>Font Store Component Overview</title><shortdesc>The Font Store contains all of the fonts and typefaces on a phone. It is encapsulated by the Font and Bitmap server which provides a client-side class that applications use to find which fonts are available and to find fonts to match their requirements. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Font Store component is sometimes called the <b>Open Font System</b> or <b>Open Font Framework</b>. </p> <section><title>Required background</title> <ul><li id="GUID-5081B96C-4FC7-5881-8D4C-F09B9A843D99"><p>You require no background knowledge or experience use the Font Store using the Font and Bitmap Server interfaces. </p> </li> <li id="GUID-AFE1A3F5-E64C-52F5-AADF-7DF2ECEABF4F"><p>You require no background knowledge or experience to add new font files to the Font Store. You must simply copy the files to the appropriate location. </p> </li> <li id="GUID-A67D26EC-93E2-55F7-9277-24DDAAC1E04B"><p>To create a font file or a font rasterizer, you require an in-depth knowledge of fonts and Symbian programming. </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <p>See <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita#GUID-90644B52-69D7-595C-95E3-D6F7A30C060D/GUID-9F33DD34-F5E5-5EA0-8559-7A933D230129">Concepts and Terms</xref> in the <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita">Font and Text Services Collection Overview</xref>. </p> </section> <section><title>Architectural relationships</title> <p>The Font Store can contain three types of font: bitmap fonts, which are stored as fixed-size pixel definitions; open fonts, which may be stored in any format; and linked fonts, which use characters from two or more other fonts. Open fonts must be converted into bitmaps (rasterized) before they can be used so the Font Store must also contain a font rasterizer for each format of open font. </p> <p>Fonts are stored on Symbian phones as files. The Font Store maintains a list of font files along with specifications for each font that the file contains. When an application requests a font the Font Store searches its list for the best match. If the font is a bitmap font the Font Store loads it into the Font and Bitmap Server's shared heap (unless the font is in eXecute In Place (XIP) ROM, in which case it is accessed directly from ROM). If the font is an open font the Font Store uses the associated open font rasterizer to rasterize glyphs into the heap as they are required. Font rasterizers are ECOM plugins. </p> <fig id="GUID-E823CA77-1B9E-5E0A-BBC3-D99F29D22BBD"><title>
              Font Store relationships 
-          </title> <image href="GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e653899_href.png" placement="inline"/></fig> </section> <section><title>Font Store API summary</title> <p>The Font Store contains APIs for specifying and selecting fonts and for rasterizing open fonts. </p> <table id="GUID-2F133AAE-E960-58A0-84C8-C0807D79FA24"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-25D4B920-6158-3014-8E7D-4E1C5267C5EF.dita"><apiname>CBitmapFont</apiname></xref>  </p> </entry> <entry><p>Bitmap-based font object </p> </entry> </row> <row><entry><p> <xref href="GUID-54E7330D-F794-39EC-8A59-72669ED5F5CF.dita"><apiname>CFontStore</apiname></xref>  </p> </entry> <entry><p>Central font storage class </p> </entry> </row> <row><entry><p> <xref href="GUID-623C40B5-A8FB-3FEE-9F92-254CAB580C5B.dita"><apiname>CLinkedTypefaceGroup</apiname></xref>  </p> </entry> <entry><p>Linked fonts typeface group </p> </entry> </row> <row><entry><p> <xref href="GUID-6BE49D00-7174-3FEC-A944-FE4A5228C13E.dita"><apiname>CLinkedTypefaceSpecification</apiname></xref>  </p> </entry> <entry><p>Linked font creation </p> </entry> </row> <row><entry><p> <xref href="GUID-DDFD0FCB-8413-3FF2-A8D7-A052C30592C9.dita"><apiname>CLinkedTypefaceElementSpec</apiname></xref>  </p> </entry> <entry><p>Linked font typeface element spec </p> </entry> </row> <row><entry><p> <xref href="GUID-039375D3-AFD9-3E31-9C1C-ACEDC10E27CE.dita"><apiname>COpenFont</apiname></xref>  </p> </entry> <entry><p>Generic outline font object </p> </entry> </row> <row><entry><p> <xref href="GUID-FC62EDD7-A3F7-3611-A899-CA5F17BB2EEE.dita"><apiname>COpenFontFile</apiname></xref>  </p> </entry> <entry><p>Open font file </p> </entry> </row> <row><entry><p> <xref href="GUID-CA16238D-478A-302A-9671-97B62B0E738A.dita"><apiname>COpenFontRasterizer</apiname></xref>  </p> </entry> <entry><p>Open font rasterizer </p> </entry> </row> <row><entry><p> <xref href="GUID-20F3E896-46D2-3385-99E5-2EB19F9D301F.dita"><apiname>COpenFontRasterizerContext</apiname></xref>  </p> </entry> <entry><p>Open font rasterizer context </p> </entry> </row> <row><entry><p> <xref href="GUID-06F847E3-B60B-3159-87FE-66F1F75A36B2.dita"><apiname>TAlgStyle</apiname></xref>  </p> </entry> <entry><p>Algorithmic style attributes </p> </entry> </row> <row><entry><p> <xref href="GUID-56CFD361-6DD7-3C21-81A6-D538FA10EAE7.dita"><apiname>TCharacterMetrics</apiname></xref>  </p> </entry> <entry><p>Character information </p> </entry> </row> <row><entry><p> <xref href="GUID-53F6508E-8911-3363-BC07-A0E7BCE29199.dita"><apiname>TLinkedTypeface</apiname></xref>  </p> </entry> <entry><p>Linked fonts </p> </entry> </row> <row><entry><p> <xref href="GUID-BECBB72B-9FA1-317D-A413-B94AB1DCBE90.dita"><apiname>TOpenFontAttachment</apiname></xref>  </p> </entry> <entry><p>Diacritic attachment point information </p> </entry> </row> <row><entry><p> <xref href="GUID-493119E1-65DF-3517-98A4-55E874023BBB.dita"><apiname>TOpenFontCharMetrics</apiname></xref>  </p> </entry> <entry><p>Open font character metrics </p> </entry> </row> <row><entry><p> <xref href="GUID-2408A284-3F1A-325C-BDCB-5B1B12CDA0C9.dita"><apiname>TOpenFontFaceAttrib</apiname></xref>  </p> </entry> <entry><p>Open font typeface information </p> </entry> </row> <row><entry><p> <xref href="GUID-76FDED57-C10E-3B09-B9C5-0FA1118A2774.dita"><apiname>TOpenFontFaceAttribBase</apiname></xref>  </p> </entry> <entry><p>Basic open font typeface information </p> </entry> </row> <row><entry><p> <xref href="GUID-AAE1F96F-03A8-36CD-9D3D-AD106B873663.dita"><apiname>TOpenFontGlyphData</apiname></xref>  </p> </entry> <entry><p>Open font glyph information </p> </entry> </row> <row><entry><p> <xref href="GUID-00FAE7BA-3E49-3DF4-923F-DC35A879900C.dita"><apiname>TOpenFontMetrics</apiname></xref>  </p> </entry> <entry><p>Open font information </p> </entry> </row> <row><entry><p> <xref href="GUID-3E94D613-029F-3A6F-B979-C756C745C828.dita"><apiname>TOpenFontSpec</apiname></xref>  </p> </entry> <entry><p>Open font specification </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Font Store tasks</title> <p>The following functionality is provided by the <codeph>fntstore</codeph> subsystem component: </p> <ul><li id="GUID-E851A049-1C7F-513F-8CA8-DDE4A1D5069B"><p> <b>Font loading </b>  </p> <p>Font file loading using plug-in font rasterizers if required. </p> </li> </ul> <ul><li id="GUID-684260D8-4FF2-5099-BF22-FF0A6A56A7A1"><p> <b>Font request matching</b>  </p> <p>Closest-fit matching of font requests. </p> </li> </ul> <ul><li id="GUID-E4C5B016-EF51-5E1F-A3F8-CF455EF5840D"><p> <b> Font linking</b>  </p> <p>The creation and use of <xref href="GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita">Linked Fonts</xref> – virtual fonts that are made out of one or (usually) more physical fonts. These can be used to: </p> <ul><li id="GUID-693DA237-AFBF-5294-A4A5-854124B2DEA0"><p>Combine multiple character ranges from individual fonts into a single font. </p> </li> <li id="GUID-33B69D75-24FC-567C-AAE6-71222823458A"><p>Allow an existing font containing a particular script to be customized to use regional variant characters. </p> </li> <li id="GUID-4A331581-B834-54C8-82C6-84DC8AD09337"><p>Allow a comprehensive range of scripts to be built into a device ROM and multiple possible subsets to be defined and used by software configuration. </p> </li> </ul> <p>Linked fonts are primarily used for system fonts. The fact that a font is a linked font is invisible to the user. </p> </li> </ul> </section> <section><title>Platform security information</title> <p>Font data files are installed in the read-only folder <codeph>\resource\fonts</codeph>. </p> </section> </conbody><related-links><link href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita"><linktext> Font and Text Services Collection
+          </title> <image href="GUID-184E301D-78BF-5324-98F6-AD583A875D6E_d0e666726_href.png" placement="inline"/></fig> </section> <section><title>Font Store API summary</title> <p>The Font Store contains APIs for specifying and selecting fonts and for rasterizing open fonts. </p> <table id="GUID-2F133AAE-E960-58A0-84C8-C0807D79FA24"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-25D4B920-6158-3014-8E7D-4E1C5267C5EF.dita"><apiname>CBitmapFont</apiname></xref>  </p> </entry> <entry><p>Bitmap-based font object </p> </entry> </row> <row><entry><p> <xref href="GUID-54E7330D-F794-39EC-8A59-72669ED5F5CF.dita"><apiname>CFontStore</apiname></xref>  </p> </entry> <entry><p>Central font storage class </p> </entry> </row> <row><entry><p> <xref href="GUID-623C40B5-A8FB-3FEE-9F92-254CAB580C5B.dita"><apiname>CLinkedTypefaceGroup</apiname></xref>  </p> </entry> <entry><p>Linked fonts typeface group </p> </entry> </row> <row><entry><p> <xref href="GUID-6BE49D00-7174-3FEC-A944-FE4A5228C13E.dita"><apiname>CLinkedTypefaceSpecification</apiname></xref>  </p> </entry> <entry><p>Linked font creation </p> </entry> </row> <row><entry><p> <xref href="GUID-DDFD0FCB-8413-3FF2-A8D7-A052C30592C9.dita"><apiname>CLinkedTypefaceElementSpec</apiname></xref>  </p> </entry> <entry><p>Linked font typeface element spec </p> </entry> </row> <row><entry><p> <xref href="GUID-039375D3-AFD9-3E31-9C1C-ACEDC10E27CE.dita"><apiname>COpenFont</apiname></xref>  </p> </entry> <entry><p>Generic outline font object </p> </entry> </row> <row><entry><p> <xref href="GUID-FC62EDD7-A3F7-3611-A899-CA5F17BB2EEE.dita"><apiname>COpenFontFile</apiname></xref>  </p> </entry> <entry><p>Open font file </p> </entry> </row> <row><entry><p> <xref href="GUID-CA16238D-478A-302A-9671-97B62B0E738A.dita"><apiname>COpenFontRasterizer</apiname></xref>  </p> </entry> <entry><p>Open font rasterizer </p> </entry> </row> <row><entry><p> <xref href="GUID-20F3E896-46D2-3385-99E5-2EB19F9D301F.dita"><apiname>COpenFontRasterizerContext</apiname></xref>  </p> </entry> <entry><p>Open font rasterizer context </p> </entry> </row> <row><entry><p> <xref href="GUID-06F847E3-B60B-3159-87FE-66F1F75A36B2.dita"><apiname>TAlgStyle</apiname></xref>  </p> </entry> <entry><p>Algorithmic style attributes </p> </entry> </row> <row><entry><p> <xref href="GUID-56CFD361-6DD7-3C21-81A6-D538FA10EAE7.dita"><apiname>TCharacterMetrics</apiname></xref>  </p> </entry> <entry><p>Character information </p> </entry> </row> <row><entry><p> <xref href="GUID-53F6508E-8911-3363-BC07-A0E7BCE29199.dita"><apiname>TLinkedTypeface</apiname></xref>  </p> </entry> <entry><p>Linked fonts </p> </entry> </row> <row><entry><p> <xref href="GUID-BECBB72B-9FA1-317D-A413-B94AB1DCBE90.dita"><apiname>TOpenFontAttachment</apiname></xref>  </p> </entry> <entry><p>Diacritic attachment point information </p> </entry> </row> <row><entry><p> <xref href="GUID-493119E1-65DF-3517-98A4-55E874023BBB.dita"><apiname>TOpenFontCharMetrics</apiname></xref>  </p> </entry> <entry><p>Open font character metrics </p> </entry> </row> <row><entry><p> <xref href="GUID-2408A284-3F1A-325C-BDCB-5B1B12CDA0C9.dita"><apiname>TOpenFontFaceAttrib</apiname></xref>  </p> </entry> <entry><p>Open font typeface information </p> </entry> </row> <row><entry><p> <xref href="GUID-76FDED57-C10E-3B09-B9C5-0FA1118A2774.dita"><apiname>TOpenFontFaceAttribBase</apiname></xref>  </p> </entry> <entry><p>Basic open font typeface information </p> </entry> </row> <row><entry><p> <xref href="GUID-AAE1F96F-03A8-36CD-9D3D-AD106B873663.dita"><apiname>TOpenFontGlyphData</apiname></xref>  </p> </entry> <entry><p>Open font glyph information </p> </entry> </row> <row><entry><p> <xref href="GUID-00FAE7BA-3E49-3DF4-923F-DC35A879900C.dita"><apiname>TOpenFontMetrics</apiname></xref>  </p> </entry> <entry><p>Open font information </p> </entry> </row> <row><entry><p> <xref href="GUID-3E94D613-029F-3A6F-B979-C756C745C828.dita"><apiname>TOpenFontSpec</apiname></xref>  </p> </entry> <entry><p>Open font specification </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Font Store tasks</title> <p>The following functionality is provided by the <codeph>fntstore</codeph> subsystem component: </p> <ul><li id="GUID-E851A049-1C7F-513F-8CA8-DDE4A1D5069B"><p> <b>Font loading </b>  </p> <p>Font file loading using plug-in font rasterizers if required. </p> </li> </ul> <ul><li id="GUID-684260D8-4FF2-5099-BF22-FF0A6A56A7A1"><p> <b>Font request matching</b>  </p> <p>Closest-fit matching of font requests. </p> </li> </ul> <ul><li id="GUID-E4C5B016-EF51-5E1F-A3F8-CF455EF5840D"><p> <b> Font linking</b>  </p> <p>The creation and use of <xref href="GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita">Linked Fonts</xref> – virtual fonts that are made out of one or (usually) more physical fonts. These can be used to: </p> <ul><li id="GUID-693DA237-AFBF-5294-A4A5-854124B2DEA0"><p>Combine multiple character ranges from individual fonts into a single font. </p> </li> <li id="GUID-33B69D75-24FC-567C-AAE6-71222823458A"><p>Allow an existing font containing a particular script to be customized to use regional variant characters. </p> </li> <li id="GUID-4A331581-B834-54C8-82C6-84DC8AD09337"><p>Allow a comprehensive range of scripts to be built into a device ROM and multiple possible subsets to be defined and used by software configuration. </p> </li> </ul> <p>Linked fonts are primarily used for system fonts. The fact that a font is a linked font is invisible to the user. </p> </li> </ul> </section> <section><title>Platform security information</title> <p>Font data files are installed in the read-only folder <codeph>\resource\fonts</codeph>. </p> </section> </conbody><related-links><link href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita"><linktext> Font and Text Services Collection
                 Overview</linktext> </link> <link href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita"><linktext> Font and Bitmap Server Component Overview
                 </linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-41802B91-26B3-5F3C-AE04-B6954F3804B7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,7 +27,7 @@
 is owned by the video renderer. </p>
 <fig id="GUID-C2FEB262-DA13-5172-A432-EAC03F0FC80A">
 <title>           The elements in a video telephony use case          </title>
-<image href="GUID-E1E25E68-7FE3-53A7-980E-CCF25090715F_d0e275300_href.png" placement="inline"/>
+<image href="GUID-E1E25E68-7FE3-53A7-980E-CCF25090715F_d0e281300_href.png" placement="inline"/>
 </fig>
 <p>A similar principle applies when a game is running on the phone. The semi-transparent
 UI surface would overlay the element containing the EGL-owned surface. When
@@ -36,7 +36,7 @@
 to blend with the background element. </p>
 <fig id="GUID-A52A1E62-E929-5CC3-A756-A7E332951155">
 <title>           Fast path mode          </title>
-<image href="GUID-F5BFE35F-ED90-50C5-8F63-7A780A97689B_d0e275314_href.png" placement="inline"/>
+<image href="GUID-F5BFE35F-ED90-50C5-8F63-7A780A97689B_d0e281314_href.png" placement="inline"/>
 </fig>
 <p> </p>
 <p>The z-order of an element is determined by its position in the list of
@@ -47,7 +47,7 @@
 the position and size of the element itself. </p>
 <fig id="GUID-FCF3894F-F8D5-511F-881A-169501AA27B5">
 <title>           Element terminology          </title>
-<image href="GUID-FBF2ED6F-D1C5-5368-96C2-FCF38234BF43_d0e275334_href.png" placement="inline"/>
+<image href="GUID-FBF2ED6F-D1C5-5368-96C2-FCF38234BF43_d0e281334_href.png" placement="inline"/>
 </fig>
 <p>The source rectangle corresponds to the <b>viewport</b> in the Window Server
 documentation and the destination rectangle corresponds to the <b>extent</b>. </p>
--- a/Symbian3/PDK/Source/GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF"><title>Recording media files</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>You can use the MVS to record audio or video signals to media files. To record an audio signal, first connect a microphone; to record a video signal, connect a camera. </p> <p>To record a media file, choosing the plugin controller: </p> <ol id="GUID-21FF8CB3-6ABF-57EA-9438-F67C05C0F267"><li id="GUID-E630FEB5-CB97-5D45-A86B-38F9517810AA"><p>In the <i>File</i> menu, click <i>Open for Record</i>. The <i>Choose a plugin</i> dialog box is displayed. </p> <fig id="GUID-AA9201C4-D27E-55F3-886E-1DD6434ED74A"><title>
                 Choosing a format when recording audio 
-             </title> <image href="GUID-BEA8B4D3-992B-591E-8E2A-BCAC847E0B6E_d0e535518_href.jpg" placement="inline"/></fig> <p> <b>Note:</b> If you don't want to choose a plugin controller manually, click <i>Cancel</i> in the <i>Choose a plugin</i> dialog box: the <i>Save as</i> dialog box is displayed. In the <i>Save as</i> dialog box, enter the target file name <b>including</b> its extension; the controller appropriate to the extension is loaded automatically. If there is no appropriate controller, a <systemoutput>Not Supported</systemoutput> message is displayed. </p> </li> <li id="GUID-DB6C4923-F8E3-5A1B-8DDF-AE2F7340F16F"><p>Select the <i>Media Type</i> to record by clicking either the <i>Audio</i> or <i>Video</i> option button. </p> </li> <li id="GUID-2816B901-71F7-5312-987B-71663C56F21D"><p>Select the <i>Supported Format</i> from the drop-down list. The corresponding plugin <i>Controller</i> is selected automatically. </p> <p> <i>Note</i>: To check which controllers are supported by the system: </p> <ul><li id="GUID-3B711334-11F3-5897-BF48-3797B037F1FA"><p>In the <i>File</i> menu, click <i>System Info</i>. The controllers are listed: </p> </li> </ul> <fig id="GUID-1EA1C9FF-9418-5A0F-B6BD-10823AB02782"><image href="GUID-CB4E1B33-470F-581A-BC32-99752C2A0DFE_d0e535589_href.jpg" placement="inline"/></fig> </li> <li id="GUID-2686BEA7-6C48-5947-A973-20D2C08C6F0A"><p>Click <i>Next</i>. The <i>Save as</i> dialog box is displayed. </p> </li> <li id="GUID-AD83CA64-2516-5B01-BEAC-1214E3186A47"><p>In the dialog box, enter the names of the disk drive and folder to contain the file, or select them from the lists. </p> </li> <li id="GUID-4C9BB013-9929-52FF-8745-9AA8CF2798CF"><p>In the dialog box, enter the name of the file, without an extension, to contain the recorded audio or video. </p> </li> <li id="GUID-1D722345-887C-5452-B92B-A1A5B7A444AE"><p>Click <i>OK</i> to save the file. </p> </li> </ol> <p>The next steps depend on whether you are <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita#GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF/GUID-0D57579C-C574-5949-BBE4-CCFEC4CD9895">Recording an audio file</xref> or <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita#GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF/GUID-9DBC71E1-7258-5ED7-A281-DBB693B7EBF3">Recording a video file</xref>. </p> <section id="GUID-0D57579C-C574-5949-BBE4-CCFEC4CD9895"><title>Recording an audio file</title> <p>If you are recording an audio file, the <i>Configure Audio Format</i> dialog box is displayed. </p> <fig id="GUID-C0681190-3134-50E1-BDAD-D3B1CC47DDDC"><image href="GUID-8F29E5C9-0EEA-569C-ADB2-82FD61D87378_d0e535642_href.jpg" placement="inline"/></fig> <ol id="GUID-2FACE122-52A6-5949-8045-2E507A56825D"><li id="GUID-82109DB5-6DBF-5B6D-8648-BA67E54456BE"><p>In the dialog box, select: </p> <ul><li id="GUID-D05A0ECE-31DE-5956-BE66-7A038DC2521B"><p>the codec </p> </li> <li id="GUID-F0FA4CF0-D170-5C30-989C-DBE687FCB84F"><p>the bit rate </p> </li> <li id="GUID-6CFA67A1-8382-5923-8C43-3D8B0205E50A"><p>the number of channels (1 = mono, 2 = stereo) </p> </li> <li id="GUID-7F1240FF-095B-5797-B58D-A59016B2A4DE"><p>the sample rate in bits per second. </p> </li> </ul> </li> <li id="GUID-47E557A2-EBA9-5D1B-95AE-CC526D0E2E27"><p>If required, click the <i>Restore Settings</i> check box to restore the previous settings or - if there are none - the default settings. </p> </li> <li id="GUID-7B1E1951-8BB7-5FDE-A42C-EB4F5EA0B3F7"><p>Click <i>OK</i> to save the settings. </p> </li> <li id="GUID-8D27C825-F2A0-565D-A8CF-5574E409C25A"><p>To start recording, click the tool bar <i>Record</i> button, or in the <i>Controls</i> menu, click <i>Record</i>. </p> </li> </ol> </section> <section id="GUID-9DBC71E1-7258-5ED7-A281-DBB693B7EBF3"><title>Recording a video file</title> <p>If you are recording a video file, the <i>Standard Video Record format</i> dialog box is displayed. </p> <fig id="GUID-932B7767-3A96-52EF-A7E5-AADAEAB689C9"><image href="GUID-07B6D7EE-575A-5E8E-A2BB-8893F84F7F6D_d0e535715_href.jpg" placement="inline"/></fig> <ol id="GUID-5C816EB4-24E7-5698-B43C-9DDF6A535283"><li id="GUID-993FDFAD-5BD8-57C9-AD67-ED66C0CB8A8C"><p>In the dialog box, select: </p> <ul><li id="GUID-957F8EC1-905D-5BBB-96CD-A27E928C75C6"><p>the video mime type </p> </li> <li id="GUID-A57D4FDA-FC81-5551-9FED-3199E16315A0"><p>the video frame rate </p> </li> <li id="GUID-24B2A5F5-7C3B-5F5A-B4CE-C4899F3B527C"><p>the video frame size in pixels (width, height). </p> </li> </ul> </li> <li id="GUID-31F7C6FD-9084-5345-8D6C-E87BE0D180E7"><p>To record audio with the video signal, click the <i>Enable Audio</i> check box. </p> </li> <li id="GUID-6E508C9D-2451-59EA-80FE-F6B2678BC702"><p>If required, click the <i>Restore Settings</i> check box to restore the previous settings or - if there are none - the default settings. </p> </li> <li id="GUID-A55FBF03-BE08-51E6-9D8C-830C863505B1"><p>Click <i>OK</i> to save the settings. </p> </li> <li id="GUID-4020A3B4-7357-59E8-A03F-15664C68BA8E"><p>To start recording, click the tool bar <i>Record</i> button, or in the <i>Controls</i> menu, click <i>Record</i>. </p> <ul><li id="GUID-E9165BDC-0EF6-5B72-A3C6-2F8E12933613"><p>To pause recording, click the tool bar <i>Pause</i> button, or in the <i>Controls</i> menu, click <i>Pause</i>. To un-pause the file and resume recording, click the tool bar <i>Record</i> button, or in the <i>Controls</i> menu, click <i>Record</i>. </p> </li> <li id="GUID-4C1D6B0F-F080-5329-9F66-AB03010BA7A7"><p>To stop recording, click the tool bar <i>Stop</i> button, or in the <i>Controls</i> menu, click <i>Stop</i>. </p> </li> </ul> </li> </ol> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita">MVS GUI layout</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita">Editing media files</xref> </p> <p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita">Configuring and clearing files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+             </title> <image href="GUID-BEA8B4D3-992B-591E-8E2A-BCAC847E0B6E_d0e542978_href.jpg" placement="inline"/></fig> <p> <b>Note:</b> If you don't want to choose a plugin controller manually, click <i>Cancel</i> in the <i>Choose a plugin</i> dialog box: the <i>Save as</i> dialog box is displayed. In the <i>Save as</i> dialog box, enter the target file name <b>including</b> its extension; the controller appropriate to the extension is loaded automatically. If there is no appropriate controller, a <systemoutput>Not Supported</systemoutput> message is displayed. </p> </li> <li id="GUID-DB6C4923-F8E3-5A1B-8DDF-AE2F7340F16F"><p>Select the <i>Media Type</i> to record by clicking either the <i>Audio</i> or <i>Video</i> option button. </p> </li> <li id="GUID-2816B901-71F7-5312-987B-71663C56F21D"><p>Select the <i>Supported Format</i> from the drop-down list. The corresponding plugin <i>Controller</i> is selected automatically. </p> <p> <i>Note</i>: To check which controllers are supported by the system: </p> <ul><li id="GUID-3B711334-11F3-5897-BF48-3797B037F1FA"><p>In the <i>File</i> menu, click <i>System Info</i>. The controllers are listed: </p> </li> </ul> <fig id="GUID-1EA1C9FF-9418-5A0F-B6BD-10823AB02782"><image href="GUID-CB4E1B33-470F-581A-BC32-99752C2A0DFE_d0e543049_href.jpg" placement="inline"/></fig> </li> <li id="GUID-2686BEA7-6C48-5947-A973-20D2C08C6F0A"><p>Click <i>Next</i>. The <i>Save as</i> dialog box is displayed. </p> </li> <li id="GUID-AD83CA64-2516-5B01-BEAC-1214E3186A47"><p>In the dialog box, enter the names of the disk drive and folder to contain the file, or select them from the lists. </p> </li> <li id="GUID-4C9BB013-9929-52FF-8745-9AA8CF2798CF"><p>In the dialog box, enter the name of the file, without an extension, to contain the recorded audio or video. </p> </li> <li id="GUID-1D722345-887C-5452-B92B-A1A5B7A444AE"><p>Click <i>OK</i> to save the file. </p> </li> </ol> <p>The next steps depend on whether you are <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita#GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF/GUID-0D57579C-C574-5949-BBE4-CCFEC4CD9895">Recording an audio file</xref> or <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita#GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF/GUID-9DBC71E1-7258-5ED7-A281-DBB693B7EBF3">Recording a video file</xref>. </p> <section id="GUID-0D57579C-C574-5949-BBE4-CCFEC4CD9895"><title>Recording an audio file</title> <p>If you are recording an audio file, the <i>Configure Audio Format</i> dialog box is displayed. </p> <fig id="GUID-C0681190-3134-50E1-BDAD-D3B1CC47DDDC"><image href="GUID-8F29E5C9-0EEA-569C-ADB2-82FD61D87378_d0e543102_href.jpg" placement="inline"/></fig> <ol id="GUID-2FACE122-52A6-5949-8045-2E507A56825D"><li id="GUID-82109DB5-6DBF-5B6D-8648-BA67E54456BE"><p>In the dialog box, select: </p> <ul><li id="GUID-D05A0ECE-31DE-5956-BE66-7A038DC2521B"><p>the codec </p> </li> <li id="GUID-F0FA4CF0-D170-5C30-989C-DBE687FCB84F"><p>the bit rate </p> </li> <li id="GUID-6CFA67A1-8382-5923-8C43-3D8B0205E50A"><p>the number of channels (1 = mono, 2 = stereo) </p> </li> <li id="GUID-7F1240FF-095B-5797-B58D-A59016B2A4DE"><p>the sample rate in bits per second. </p> </li> </ul> </li> <li id="GUID-47E557A2-EBA9-5D1B-95AE-CC526D0E2E27"><p>If required, click the <i>Restore Settings</i> check box to restore the previous settings or - if there are none - the default settings. </p> </li> <li id="GUID-7B1E1951-8BB7-5FDE-A42C-EB4F5EA0B3F7"><p>Click <i>OK</i> to save the settings. </p> </li> <li id="GUID-8D27C825-F2A0-565D-A8CF-5574E409C25A"><p>To start recording, click the tool bar <i>Record</i> button, or in the <i>Controls</i> menu, click <i>Record</i>. </p> </li> </ol> </section> <section id="GUID-9DBC71E1-7258-5ED7-A281-DBB693B7EBF3"><title>Recording a video file</title> <p>If you are recording a video file, the <i>Standard Video Record format</i> dialog box is displayed. </p> <fig id="GUID-932B7767-3A96-52EF-A7E5-AADAEAB689C9"><image href="GUID-07B6D7EE-575A-5E8E-A2BB-8893F84F7F6D_d0e543175_href.jpg" placement="inline"/></fig> <ol id="GUID-5C816EB4-24E7-5698-B43C-9DDF6A535283"><li id="GUID-993FDFAD-5BD8-57C9-AD67-ED66C0CB8A8C"><p>In the dialog box, select: </p> <ul><li id="GUID-957F8EC1-905D-5BBB-96CD-A27E928C75C6"><p>the video mime type </p> </li> <li id="GUID-A57D4FDA-FC81-5551-9FED-3199E16315A0"><p>the video frame rate </p> </li> <li id="GUID-24B2A5F5-7C3B-5F5A-B4CE-C4899F3B527C"><p>the video frame size in pixels (width, height). </p> </li> </ul> </li> <li id="GUID-31F7C6FD-9084-5345-8D6C-E87BE0D180E7"><p>To record audio with the video signal, click the <i>Enable Audio</i> check box. </p> </li> <li id="GUID-6E508C9D-2451-59EA-80FE-F6B2678BC702"><p>If required, click the <i>Restore Settings</i> check box to restore the previous settings or - if there are none - the default settings. </p> </li> <li id="GUID-A55FBF03-BE08-51E6-9D8C-830C863505B1"><p>Click <i>OK</i> to save the settings. </p> </li> <li id="GUID-4020A3B4-7357-59E8-A03F-15664C68BA8E"><p>To start recording, click the tool bar <i>Record</i> button, or in the <i>Controls</i> menu, click <i>Record</i>. </p> <ul><li id="GUID-E9165BDC-0EF6-5B72-A3C6-2F8E12933613"><p>To pause recording, click the tool bar <i>Pause</i> button, or in the <i>Controls</i> menu, click <i>Pause</i>. To un-pause the file and resume recording, click the tool bar <i>Record</i> button, or in the <i>Controls</i> menu, click <i>Record</i>. </p> </li> <li id="GUID-4C1D6B0F-F080-5329-9F66-AB03010BA7A7"><p>To stop recording, click the tool bar <i>Stop</i> button, or in the <i>Controls</i> menu, click <i>Stop</i>. </p> </li> </ul> </li> </ol> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita">MVS GUI layout</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita">Editing media files</xref> </p> <p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita">Configuring and clearing files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-41A53C1F-E9BF-420F-A967-83906299FE8B_d0e5129_href.png has changed
Binary file Symbian3/PDK/Source/GUID-41A53C1F-E9BF-420F-A967-83906299FE8B_d0e5138_href.png has changed
Binary file Symbian3/PDK/Source/GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e508793_href.png has changed
Binary file Symbian3/PDK/Source/GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e516255_href.png has changed
Binary file Symbian3/PDK/Source/GUID-41CE73A7-4820-417D-8AD7-92F9DB9C552A-master.jpg has changed
Binary file Symbian3/PDK/Source/GUID-41CE73A7-4820-417D-8AD7-92F9DB9C552A_d0e41296_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-41F5F258-5B2A-57E2-BEB4-EBDE1008C833_d0e62865_href.png has changed
Binary file Symbian3/PDK/Source/GUID-41F5F258-5B2A-57E2-BEB4-EBDE1008C833_d0e67096_href.png has changed
--- a/Symbian3/PDK/Source/GUID-422F37DF-F93F-443F-86EA-6A696A53E1E6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-422F37DF-F93F-443F-86EA-6A696A53E1E6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 you must also call the base class implementation of the function.</p>
 <fig id="GUID-ECD9B9C0-0134-4D8A-B350-A797A5C1BE0F">
 <title>Scrollbar</title>
-<image href="GUID-8C8D6B06-E794-4269-B4DF-D2BE4DDB9E8B_d0e65866_href.png" scale="40" placement="inline"/>
+<image href="GUID-8C8D6B06-E794-4269-B4DF-D2BE4DDB9E8B_d0e70089_href.png" scale="40" placement="inline"/>
 </fig>
 <p>For an implementation example, see below.</p>
 <codeblock xml:space="preserve">void CMyContainerControl::HandleScrollEventL( CEikScrollBar* aScrollBar, TEikScrollEvent aEventType )
Binary file Symbian3/PDK/Source/GUID-4257E768-F392-507C-81C2-23F0CE2DDEA2_d0e231038_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4257E768-F392-507C-81C2-23F0CE2DDEA2_d0e237033_href.png has changed
Binary file Symbian3/PDK/Source/GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e488909_href.png has changed
Binary file Symbian3/PDK/Source/GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e494730_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4261EFB2-C587-4E6A-8B3F-A8181177AF40_d0e251603_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4261EFB2-C587-4E6A-8B3F-A8181177AF40_d0e257614_href.png has changed
--- a/Symbian3/PDK/Source/GUID-42833109-F8C2-57FC-9995-0461698A19FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-42833109-F8C2-57FC-9995-0461698A19FF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 Concepts</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>This section describes the Internet Message Access Protocol (IMAP4) and
 its implementation on the Symbian platform. </p>
-<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-19-1-1-7-1-5-1-4-1-2-2"><title>IMAP4 protocol</title> <p>IMAP4
+<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-20-1-1-7-1-5-1-4-1-2-2"><title>IMAP4 protocol</title> <p>IMAP4
 is one of the most common Internet standard protocols for retrieving emails.
 It is an application layer Internet protocol operating on port 143 that allows
 a local client to access email on a remote server. </p> <p>The current version,
--- a/Symbian3/PDK/Source/GUID-42984078-3DEB-41C7-AC76-C769F7CDB4D0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-42984078-3DEB-41C7-AC76-C769F7CDB4D0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -65,7 +65,7 @@
 </ol> <fig id="GUID-B793BDDF-7607-5BCD-94C2-44F8349D7BC5">
 <title>The buffers in the typical approach to handling a window resize
 event</title>
-<image href="GUID-ADC9B349-3CE4-5017-B437-A7F8890C7F0F_d0e271514_href.png" placement="inline"/>
+<image href="GUID-ADC9B349-3CE4-5017-B437-A7F8890C7F0F_d0e277514_href.png" placement="inline"/>
 </fig>    </section>
 <section id="GUID-CF08037B-2A6A-4B79-9766-E8C730C086F3">       <title>Handling preserve buffers </title>       <p>When the preserve buffer
 option is in use, a typical implementation promotes the current back
@@ -79,7 +79,7 @@
 to the front buffer and then immediately copies the contents of the
 newly promoted buffer to the new back buffer.</p><fig id="GUID-B9C43452-0627-41FA-A68A-4C9726194A60">
 <title>Handling preserve buffers</title>
-<image href="GUID-9C54DAFB-843B-41A7-8E54-9B2A39F46527_d0e271538_href.png" placement="inline"/>
+<image href="GUID-9C54DAFB-843B-41A7-8E54-9B2A39F46527_d0e277538_href.png" placement="inline"/>
 </fig>    </section>
 <section id="GUID-F357C440-7789-4439-ABBB-8B71FCCB782D"><title>Handling a window resize event with the preserve buffer
 option</title><p>If there is a window resize event when the preserve
@@ -97,7 +97,7 @@
 </ol><p>The following diagram illustrates a typical implementation.
 There are more details below the diagram.</p><fig id="GUID-D19DF371-8640-4A2B-AF56-57EF2387CEFD">
 <title>Handling a window resize with the preserve buffer option</title>
-<image href="GUID-8A8FA00B-58FA-4D4E-A018-70D5558BCBFE_d0e271578_href.png" placement="inline"/>
+<image href="GUID-8A8FA00B-58FA-4D4E-A018-70D5558BCBFE_d0e277578_href.png" placement="inline"/>
 </fig><p>The first <codeph>eglSwapBuffers()</codeph> call (marked
 X in the diagram above) does the following:</p><ol>
 <li id="GUID-70603721-5603-4015-B382-8D3F9D693139"><p>Promotes the
Binary file Symbian3/PDK/Source/GUID-42C21271-FDDD-5923-95A3-450FED07BEC4_d0e230152_href.png has changed
Binary file Symbian3/PDK/Source/GUID-42C21271-FDDD-5923-95A3-450FED07BEC4_d0e236147_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4303DBDB-3F67-54E6-AB24-5E1871053ED9_d0e73838_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4303DBDB-3F67-54E6-AB24-5E1871053ED9_d0e78051_href.png has changed
Binary file Symbian3/PDK/Source/GUID-431119D1-1B55-4503-905E-6E290FA241CE_d0e91636_href.png has changed
Binary file Symbian3/PDK/Source/GUID-431119D1-1B55-4503-905E-6E290FA241CE_d0e95834_href.png has changed
Binary file Symbian3/PDK/Source/GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e393550_href.png has changed
Binary file Symbian3/PDK/Source/GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e399403_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4324A05E-3243-50E1-A287-BBD2F07E2295_d0e230341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4324A05E-3243-50E1-A287-BBD2F07E2295_d0e236336_href.png has changed
--- a/Symbian3/PDK/Source/GUID-432FF981-010F-540B-834F-FF924238AA2A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-432FF981-010F-540B-834F-FF924238AA2A"><title>epocheapsize</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>epocheapsize</codeph>  <varname>minimum</varname> <varname>maximum</varname>  </p> <p>Use the <codeph>epocheapsize</codeph> statement to specify the minimum and maximum sizes of the initial heap for a process. The default sizes are 4KB minimum and 1MB maximum.This directive is applicable from Symbian OS v9.1, EKA2 releases. EKA2 supports multiple process creation and allows the heap size to be calibrated between the minimum and maximum limits. </p> <p>The minimum size specifies the RAM that is initially mapped for the heap's use. The process can then obtain more heap memory on demand until the maximum value is reached. For more information, see <xref href="GUID-BFEBCD57-3C83-56D7-B7A3-B8A361725645.dita">Memory Management concepts</xref>. </p> <p>The sizes can be specified in decimal or hexadecimal format. Memory is allocated in pages, so the minimum and maximum values are rounded up to a multiple of the page size (4K). </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-433698C1-C97D-5317-83C0-71A029E362E6_d0e511042_href.png has changed
Binary file Symbian3/PDK/Source/GUID-433698C1-C97D-5317-83C0-71A029E362E6_d0e518504_href.png has changed
--- a/Symbian3/PDK/Source/GUID-434F2412-59A1-4BCB-885D-5E708EAA6AB6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-434F2412-59A1-4BCB-885D-5E708EAA6AB6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 query</xref>.</p>
 <fig id="GUID-1C82CBB6-B24C-483D-8F04-3FC90BF219C1">
 <title>Grid query</title>
-<image href="GUID-BE66CF87-E750-40BE-A5EB-18A43E927257_d0e91670_href.png" placement="inline"/>
+<image href="GUID-BE66CF87-E750-40BE-A5EB-18A43E927257_d0e95868_href.png" placement="inline"/>
 </fig>
 <section id="GUID-A63A7EDC-659E-4A86-B4B5-CCA0FCECBDE6"><title>Using
 grid queries in applications</title><p>For implementation information,
--- a/Symbian3/PDK/Source/GUID-4352F2A7-2498-40AA-A335-4A8407497976.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-4352F2A7-2498-40AA-A335-4A8407497976" xml:lang="en"><title>Basic
-interaction style</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The basic interaction principles of the Symbian platform in the bottom
-softkey style remain similar to the legacy Symbian UI style. This applies
-to keypad functions, typical functions of the keys, navigation (both in terms
-of hierarchies, and the scroll and select behavior), and so on.</p>
-<p>As in the legacy UI style, the scrolling in the software follows the visual
-direction of the respective scroll keys.</p>
-<p>Similarly, other visual UI controls of scroll keys rotate together with
-the UI. For example, this applies to the Volume Control component which is
-vertical also in landscape mode.</p>
-<note><p>In some product concepts, using the Numeric keys and some of the
-navigation keys may be disabled while in the bottom softkey mode. This may
-mean that some applications or features (such as editing) are not usable at
-all in one of the modes.</p></note>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-4381EA7F-BE75-5B43-BE97-C97D71D04377_d0e546710_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4381EA7F-BE75-5B43-BE97-C97D71D04377_d0e554166_href.png has changed
Binary file Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e63716_href.png has changed
Binary file Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e63768_href.png has changed
Binary file Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e67938_href.png has changed
Binary file Symbian3/PDK/Source/GUID-43A701DC-24FF-44F7-850B-AA6A79235B56_d0e67990_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4406BDE0-8256-5F97-9FC5-BBFD11D9C4A3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-4406BDE0-8256-5F97-9FC5-BBFD11D9C4A3"><title>Resource file</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A resource file is available to an application at run-time, and usually has extension <filepath>.rsc</filepath>. It contains resources compiled from a source file, <filepath>.rss</filepath>. </p> <p>Each resource is a sequence of bytes. Resources within a file are identified by number at run-time, but may also be identified symbolically in the source file. The resource compiler <filepath>rcomp</filepath> compiles a <filepath>.rss</filepath> into a <filepath>.rsc</filepath>, and also emits a series of <codeph>#define</codeph> statements into a <filepath>.rsg</filepath> file, which the C++ program may <codeph>#include</codeph>, to allow resources lookup by symbolic name rather than by number. </p> <p>Resources are built automatically by <filepath>abld</filepath> or the compiler IDE if the project file specifies a resource file using the <codeph>RESOURCE</codeph> statement. </p> <p>Resource data is mapped by structs — in a similar way to C’s structs. Resource structs are defined using <codeph>STRUCT</codeph> statements which are understood only by the resource compiler. Symbian platform provides many <systemoutput>struct</systemoutput> types: occasionally, applications also add their own. <codeph>STRUCT</codeph> statements are included in headers, conventionally with a <filepath>.rh</filepath> extension. These are <codeph>#include</codeph> d into <filepath>.rss</filepath> files. </p> <p>Symbolic constants for various purposes must be available to both C++ programs and resource file definitions. These are defined using <codeph>#define</codeph> statements or <codeph>enum</codeph> statements, and included in <filepath>.hrh</filepath> files. These may be <codeph>#include</codeph> d into either C++ or resource scripts. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-442D216B-117E-538C-A51F-0775BF37673E_d0e345873_href.png has changed
Binary file Symbian3/PDK/Source/GUID-442D216B-117E-538C-A51F-0775BF37673E_d0e351824_href.png has changed
--- a/Symbian3/PDK/Source/GUID-44345B7F-77DE-5D00-BA0B-BFE40E664DA8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-44345B7F-77DE-5D00-BA0B-BFE40E664DA8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 used as a token. The UID does not have to be the application UID, but must
 be unique. It can be set through the standard UID allocation scheme. </p> <fig id="GUID-164B67F3-ED8A-5FBE-9503-466651D00A82">
 <title>Symbian Certapps Implementation               </title>
-<image href="GUID-3D4D96AB-4A77-5EC1-9C2F-9BADF76209D1_d0e622601_href.jpg" placement="inline"/>
+<image href="GUID-3D4D96AB-4A77-5EC1-9C2F-9BADF76209D1_d0e594707_href.jpg" placement="inline"/>
 </fig> <p><b>CCertificateAppInfoManager </b> </p> <p>The Symbian implementation
 of file based certstore uses certapps store. <xref href="GUID-D81D035F-EB2F-3A6C-A0C9-17473160A3CE.dita"><apiname>CCertificateAppInfoManager</apiname></xref> provides
 functions to add, remove and list these UID/name pairs. An application can
Binary file Symbian3/PDK/Source/GUID-44347376-702D-5648-8938-EB55AFA329EC_d0e658957_href.png has changed
Binary file Symbian3/PDK/Source/GUID-44347376-702D-5648-8938-EB55AFA329EC_d0e671784_href.png has changed
Binary file Symbian3/PDK/Source/GUID-44872DF6-AEA6-554F-A231-D8C6D5F22958_d0e450520_href.png has changed
Binary file Symbian3/PDK/Source/GUID-44872DF6-AEA6-554F-A231-D8C6D5F22958_d0e456365_href.png has changed
Binary file Symbian3/PDK/Source/GUID-44ADB485-69C2-5557-AB95-3B6D20870F73_d0e146068_href.png has changed
Binary file Symbian3/PDK/Source/GUID-44ADB485-69C2-5557-AB95-3B6D20870F73_d0e148309_href.png has changed
--- a/Symbian3/PDK/Source/GUID-44FDDA27-1A5D-42B5-8DE0-D9E88EB75C93.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-44FDDA27-1A5D-42B5-8DE0-D9E88EB75C93.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 a particular sensor type. Once you get the list of sensor channels that are
 active, you can perform any required operations such as configuring sensor
 channel properties, controlling sensor channels and so on.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-4-1-3-1">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-4-1-3-1">
 <step id="GUID-EE1655E2-D4C4-4593-A0E1-BD1DFACB0351"><cmd>Create an instance
 of <codeph>TSensrvChannelInfo</codeph> and set the required channel type as
 the search criteria. For example, to query for all double tapping channels
@@ -28,7 +28,7 @@
 <stepxmp><codeblock xml:space="preserve">CSensrvChannelFinder* finder = CSensrvChannelFinder::NewL();
 finder-&gt;FindChannelsL(channelList, searchParameters);</codeblock></stepxmp>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-4-1-5-1-4-1-3-1-3"><cmd>Create an instance
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-4-1-5-1-4-1-3-1-3"><cmd>Create an instance
 of <codeph>RSensrvChannelInfoList</codeph> to store the list of sensor channels.</cmd>
 <stepxmp><codeblock xml:space="preserve">RSensrvChannelInfoList channelInfoList;</codeblock></stepxmp>
 </step>
Binary file Symbian3/PDK/Source/GUID-450554F3-BA17-5C89-9E01-C0AFD4AC9638_d0e443260_href.png has changed
Binary file Symbian3/PDK/Source/GUID-450554F3-BA17-5C89-9E01-C0AFD4AC9638_d0e449105_href.png has changed
Binary file Symbian3/PDK/Source/GUID-454A850E-E7C4-5CB8-9245-E18BB2BAE993_d0e232464_href.png has changed
Binary file Symbian3/PDK/Source/GUID-454A850E-E7C4-5CB8-9245-E18BB2BAE993_d0e238459_href.png has changed
Binary file Symbian3/PDK/Source/GUID-45580F91-F1E2-5F6F-9449-5C7B5009EC44_d0e171901_href.png has changed
Binary file Symbian3/PDK/Source/GUID-45580F91-F1E2-5F6F-9449-5C7B5009EC44_d0e177969_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4592D493-A47C-5622-8C03-F24FABB4381C_d0e393982_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4592D493-A47C-5622-8C03-F24FABB4381C_d0e399835_href.png has changed
Binary file Symbian3/PDK/Source/GUID-45DD08DB-FCB3-5546-91B4-25868C8ABAE4_d0e146076_href.png has changed
Binary file Symbian3/PDK/Source/GUID-45DD08DB-FCB3-5546-91B4-25868C8ABAE4_d0e148317_href.png has changed
Binary file Symbian3/PDK/Source/GUID-45E418FA-47C0-58C6-B118-EBF8260BCC89_d0e231353_href.png has changed
Binary file Symbian3/PDK/Source/GUID-45E418FA-47C0-58C6-B118-EBF8260BCC89_d0e237348_href.png has changed
--- a/Symbian3/PDK/Source/GUID-45F9389E-F31B-59DA-A4FE-E254EAEB2213.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-45F9389E-F31B-59DA-A4FE-E254EAEB2213.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,6 +33,6 @@
 // ‘KSimulationFile’ is ready for use.
 </codeblock> <p>Note: Capability <codeph>WriteDeviceData</codeph> is required to write the Central Repository settings. </p> </section> <section id="GUID-689C0C92-8AE2-55DE-8A1A-E762048FED6E"><title>Code architecture</title> <fig id="GUID-0BE8DB62-853D-51F4-B40A-1FDC4745AE00"><title>
              Figure 1: Files needed by a Simulation PSY Settings client 
-          </title> <image href="GUID-FE1F6768-FCF8-5670-8621-DC0DBDB0B706_d0e466468_href.png" placement="inline"/></fig> <p>The <filepath>centralrepository.lib</filepath> file contains information needed at link time by the client. The <filepath>centralrepository.dll</filepath> file contains the run-time information. </p> </section> </conbody><related-links><link href="GUID-1A9BA6A1-C6BB-5196-B2D8-355A78B79AE3.dita"><linktext>Simulation
+          </title> <image href="GUID-FE1F6768-FCF8-5670-8621-DC0DBDB0B706_d0e472313_href.png" placement="inline"/></fig> <p>The <filepath>centralrepository.lib</filepath> file contains information needed at link time by the client. The <filepath>centralrepository.dll</filepath> file contains the run-time information. </p> </section> </conbody><related-links><link href="GUID-1A9BA6A1-C6BB-5196-B2D8-355A78B79AE3.dita"><linktext>Simulation
                 PSY Overview</linktext> </link> <link href="GUID-22DB5009-A552-55F7-97EF-1C454E510782.dita"><linktext>Simulation PSY User
                 Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-46040A24-92C3-4B0B-88CC-BDD8DDA8F27C_d0e68953_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46040A24-92C3-4B0B-88CC-BDD8DDA8F27C_d0e73166_href.png has changed
--- a/Symbian3/PDK/Source/GUID-46121F24-AB53-5B44-A082-EF13A72EB7FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-46121F24-AB53-5B44-A082-EF13A72EB7FF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 shows the key elements of the converter architecture, including an example
 client and an example converter DLL that provides two converters, <codeph>myConverter1</codeph> and <codeph>myConverter2</codeph>. </p> <fig id="GUID-6E58825A-CBE2-52B8-B7BD-6D263A0751F4">
 <title>              File Converter architecture            </title>
-<image href="GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e174623_href.png" placement="inline"/>
+<image href="GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e180691_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Procedure</title> <ol id="GUID-1E4BFC84-4F0F-5DB1-A6D5-617E23617AB4">
 <li id="GUID-2132AE6E-DB10-53BE-B9F4-0E8F9C305BCA"><p><xref href="GUID-49C93C36-D86B-4EEE-A8AB-4279312DF4BC.dita">Write
Binary file Symbian3/PDK/Source/GUID-4616CCC9-7BD3-5D91-873A-6027167329ED_d0e228104_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4616CCC9-7BD3-5D91-873A-6027167329ED_d0e234103_href.png has changed
Binary file Symbian3/PDK/Source/GUID-465D1450-B1EF-568B-B518-34ACE8C1697C_d0e380047_href.png has changed
Binary file Symbian3/PDK/Source/GUID-465D1450-B1EF-568B-B518-34ACE8C1697C_d0e385900_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4666DC80-EF7D-5761-9B6B-B2D14BDAB762_d0e608674_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-4666DC80-EF7D-5761-9B6B-B2D14BDAB762_d0e647836_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-46673FC4-ADA9-59D1-A743-B4784425D240_d0e109693_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46673FC4-ADA9-59D1-A743-B4784425D240_d0e112116_href.png has changed
Binary file Symbian3/PDK/Source/GUID-467EF3F5-754B-550A-A9C7-246D68C91F0A_d0e277109_href.png has changed
Binary file Symbian3/PDK/Source/GUID-467EF3F5-754B-550A-A9C7-246D68C91F0A_d0e283109_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4689CD4A-3835-5013-90F9-100C66F18E84_d0e264678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4689CD4A-3835-5013-90F9-100C66F18E84_d0e270678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46A91D57-7864-53AD-903C-B978B0C61DAD_d0e550426_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-46A91D57-7864-53AD-903C-B978B0C61DAD_d0e557882_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225"><title>compresstarget</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>compresstarget</codeph> </p> <p>Use the <codeph>compresstarget</codeph> statement to specify that the target executable should be compressed. In detail, the code and data sections of the executable are compressed with the Deflate, Huffman+LZ77 algorithm.</p> <p>Compression allows the stored executable to use less space on the file system. The executable loader decompresses the file when it is loaded.</p> <p>See also <xref href="GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita">nocompresstarget</xref>.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-46BBABA1-D6C6-5532-8487-6FD744C108C4_d0e230079_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46BBABA1-D6C6-5532-8487-6FD744C108C4_d0e236074_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46CBF409-7A5E-511E-8ED7-1ED8FD04897E_d0e230469_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46CBF409-7A5E-511E-8ED7-1ED8FD04897E_d0e236464_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46E27DAF-B72D-5A86-91BB-1B3C0788C6A5_d0e561276_href.png has changed
Binary file Symbian3/PDK/Source/GUID-46E27DAF-B72D-5A86-91BB-1B3C0788C6A5_d0e569952_href.png has changed
Binary file Symbian3/PDK/Source/GUID-470FAFE8-2246-5E91-9F01-6CC95F975E54_d0e512079_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-470FAFE8-2246-5E91-9F01-6CC95F975E54_d0e519541_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-4710494E-835F-50B8-B0B5-0482147C02D2_d0e373220_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4710494E-835F-50B8-B0B5-0482147C02D2_d0e379068_href.png has changed
Binary file Symbian3/PDK/Source/GUID-474654BE-D73E-5249-B7E3-7F2656DAB190_d0e456780_href.png has changed
Binary file Symbian3/PDK/Source/GUID-474654BE-D73E-5249-B7E3-7F2656DAB190_d0e462625_href.png has changed
--- a/Symbian3/PDK/Source/GUID-474A9F80-2B3E-5D11-8D2E-95E217BEB84A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-474A9F80-2B3E-5D11-8D2E-95E217BEB84A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 while upgrading, as explained in the following sections: </p>
 <section id="GUID-BCC49EB3-DE9A-4B34-8F6C-644D67663996"><title>Standard upgrade
 rules</title> <p>InterpretSIS supports the following upgrade types: </p> <fig id="GUID-E97B0D4F-6B3A-5595-A0C2-B87C1457E80F">
-<image href="GUID-718E1B9F-C05D-559A-AF69-BD9CFAF190FB_d0e24740_href.png" placement="inline"/>
+<image href="GUID-718E1B9F-C05D-559A-AF69-BD9CFAF190FB_d0e26707_href.png" placement="inline"/>
 </fig> <p>* The base SA and associated upgrades are removed ** The base SA
 is removed prior to the installation of the SA upgrade. </p> <p>InterpretSIS
 returns an error if the rules are violated during an upgrade. It supports
@@ -27,7 +27,7 @@
 set (<codeph>+nonremovablepkg</codeph>). The general rule is that a removable
 package cannot be made non-removable, and a non-removable package cannot be
 made removable.</p> <fig id="GUID-20A6F1E5-45DC-5AC0-92F2-181A5AFB77F0">
-<image href="GUID-301CEDFA-6329-56BA-ADA6-8A89BA17E398_d0e24772_href.png" placement="inline"/>
+<image href="GUID-301CEDFA-6329-56BA-ADA6-8A89BA17E398_d0e26739_href.png" placement="inline"/>
 </fig> <p>** The original <codeph>PA</codeph> is removed, including the private
 directory, before upgrading. </p><p><b>Notes:</b></p><ul>
 <li><p>If the base package (SA) is removable then patch upgrade (SP) must
Binary file Symbian3/PDK/Source/GUID-47511301-DFF9-52B0-9602-DD9D293D3044_d0e332343_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47511301-DFF9-52B0-9602-DD9D293D3044_d0e338315_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47587124-66D8-5128-BDBB-AF190E67CAF5_d0e260304_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47587124-66D8-5128-BDBB-AF190E67CAF5_d0e266313_href.png has changed
--- a/Symbian3/PDK/Source/GUID-47701648-CEC1-564C-A6BF-CC42E78E701F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-47701648-CEC1-564C-A6BF-CC42E78E701F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -103,12 +103,12 @@
 </tgroup>
 </table> <fig id="GUID-E9813B1D-6601-574E-800D-2EC6073A3413">
 <title>              4:2:2 subsampling            </title>
-<image href="GUID-D0F3FBB0-CE9E-53C0-93B6-A8E3FCCC1530_d0e232162_href.png" placement="inline"/>
+<image href="GUID-D0F3FBB0-CE9E-53C0-93B6-A8E3FCCC1530_d0e238157_href.png" placement="inline"/>
 </fig> <p>Contrast this to a subsampling scheme of 4:4:4. This has a horizontal
 subsample period of 1 for both the U and V components and a vertical subsample
 period of 1 for both the U and V components. </p> <fig id="GUID-A6DE3EED-90BE-59B9-A126-4C1046635AE7">
 <title>              4:4:4 subsampling            </title>
-<image href="GUID-ABA6144B-E861-5ABD-969E-03814BB2B38A_d0e232173_href.png" placement="inline"/>
+<image href="GUID-ABA6144B-E861-5ABD-969E-03814BB2B38A_d0e238168_href.png" placement="inline"/>
 </fig> <p>This reduction results in almost no perceivable visual difference. </p> </section>
 </conbody><related-links>
 <link href="GUID-D429672C-448D-5E91-ABA0-81680869D69E.dita"><linktext>YUV Pixel
Binary file Symbian3/PDK/Source/GUID-479133EB-1154-554E-8CEA-C61EDA747B69_d0e106535_href.png has changed
Binary file Symbian3/PDK/Source/GUID-479133EB-1154-554E-8CEA-C61EDA747B69_d0e108978_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 adaptation services. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-E6303AD7-063E-5AB4-AA99-275B5154F25C">
 <title>The Graphics Hardware Drivers collection</title>
-<image href="GUID-B7CC7993-7D71-5237-AF39-2BB63789BACB_d0e277152_href.png" placement="inline"/>
+<image href="GUID-B7CC7993-7D71-5237-AF39-2BB63789BACB_d0e283152_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
Binary file Symbian3/PDK/Source/GUID-47AA7F26-FF3F-4FEE-BBB4-F4E8A8E0E335_d0e103111_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47AA7F26-FF3F-4FEE-BBB4-F4E8A8E0E335_d0e99031_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47C04C71-3E77-55A7-BA95-4A03C7554975_d0e450876_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47C04C71-3E77-55A7-BA95-4A03C7554975_d0e456721_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e106650_href.png has changed
Binary file Symbian3/PDK/Source/GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e109093_href.png has changed
--- a/Symbian3/PDK/Source/GUID-48326B53-0814-57B9-A744-78AA219D3480.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-48326B53-0814-57B9-A744-78AA219D3480"><title>CapCheck report - file format </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The results of the comparison carried out between the capabilities in the actual ROM log file and the capabilities listed in the Expected Capability List are stored in an HTML report.</p> <p>The report first lists all the input files used, in other words, the ROM log file, the Expected Capability List and the Symbian Capability List, and then provides Summary and Details sections, as described below.</p> <section><title>Summary section</title> <p>This section provides the following:</p> <ul><li id="GUID-EC19BF5F-1C1E-58D0-9E05-2417530C050F"><p>Total number of binaries found in the ROM log file</p> </li> <li id="GUID-07F1704D-6024-5545-8C53-C8A0A92E8EDB"><p>Total number of unexpected binaries found in the ROM log file</p> </li> <li id="GUID-5586553A-2E14-5270-8E19-98C22FE22CD4"><p>Total number of binaries missing from the ROM log file</p> </li> <li id="GUID-3C13E057-BCDD-51B6-A955-2AEAF2AD74F2"><p>Total number of binaries found in the ROM log file with unexpected capabilities</p> </li> <li id="GUID-A42907AB-6C66-5732-82E6-006424C32AB1"><p>Total number of binaries found in the ROM log file with missing capabilities . </p> </li> </ul> <p>The file names of the binaries are then provided in the Details section.</p> </section> <section><title>Details section</title> <p>The Details section of the report lists the binaries that are missing or unexpected, or to contain missing or unexpected capabilities, as shown below.</p> <ul><li id="GUID-43BEB575-5E80-5940-8066-8A34B97446C3"><p>Unexpected binaries found in the ROM log</p> </li> <li id="GUID-CE0E2A90-A0A7-5269-9E43-3876ADF3243F"><p>Binaries missing from the ROM log</p> </li> <li id="GUID-700F7B04-20F2-5E4D-8CB6-947319D99CC9"><p>Binaries in the ROM log with unexpected capabilities, followed by a list of capabilities found in addition to what is expected to be found according to the Expected Capability List.</p> </li> <li id="GUID-58876A7E-8582-5F57-B7BC-A5DFACDBBFAD"><p>Binaries in the ROM log with missing capabilities, followed by a list of capabilities that are missing when compared to capabilities listed in the Expected Capability List.</p> </li> </ul> </section> </conbody><related-links><link href="GUID-50CA6507-18AF-58D7-8494-2FECF8FDBDF3.dita"><linktext>How to use CapCheck</linktext> </link> <link href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita"><linktext>CapSearch Guide</linktext> </link> <link href="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita"><linktext>CapImportCheck Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-48363190-6FFB-4230-84B4-2E521EA51365.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-48363190-6FFB-4230-84B4-2E521EA51365.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-48363190-6FFB-4230-84B4-2E521EA51365" xml:lang="en"><title>Using
 menu sections in menu bar resource statements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<fig id="GUID-4EAE2293-314B-4FFB-BF37-FAF75DDC0135"><title>Menu sections in an Options menu</title><image href="GUID-F96D14A5-58BB-4F1A-A6FB-5D13DCB84B33_d0e89929_href.png"/></fig>
+<fig id="GUID-4EAE2293-314B-4FFB-BF37-FAF75DDC0135"><title>Menu sections in an Options menu</title><image href="GUID-F96D14A5-58BB-4F1A-A6FB-5D13DCB84B33_d0e94127_href.png"/></fig>
 <p>The use of menu sections provides a means of combining menu bar resource
 declarations in <b>Options</b> menus. One example of how this could be used
 would be an application with two views. Three <parmname>MENU_BAR</parmname> resources
--- a/Symbian3/PDK/Source/GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5"><title>What are Tiers?</title><shortdesc>This topic describes the concepts of a <i>Tier</i> and a <i>Tier Manager</i> in the Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>A Tier is a group of Access Points (APs) related to one or more technologies sharing the same Selection and Availability monitoring logic. The Tier Manager provides the means for an application to connect to a communication service to send and receive data, or to check the current status of a communication service. </p> <p>When an application needs to contruct a stack either to request availability on a particular service or to establish a connection with a remote device or service, it will explicitly select a specific Tier Manager at the top of the stack to define the service. If the application does not explicitly select a specific Tier Manager, the default TM will be used. The selection process and connection preferences will define how the rest of the stack is constructed. Each Tier Manager is responsible for selecting the most appropriate AP from a range of alternatives and may also pass up availability information in some cases, depending on the Tier Manager. </p> <p>When a higher Layer wants to bind to a lower layer, it uses the supplied selection criteria to select a Tier and request a specific AP. Once the Tier has returned an AP and the stack has been bound together, the upper layer queries the availability to see if it is possible to connect at that moment. </p> <p>On a device there will be multiple Tier Managers, each responsible for a separate technology or group of technologies. Each Tier Manager will have distinct selection and availability logic and other technology specific algorithms. </p> <p>A single Tier Manager will be responsible for multiple instances of a layer, i.e. multiple APs of the same type. So the Wi-Fi Tier Manager would allow connection to multiple Wi-Fi Access Points, a Telephony Tier Manager will be responsible for connections to different APNs. </p> <p>Tier Managers (<xref href="GUID-33AD3175-2480-3D56-A6DB-FC1FE11E31B4.dita"><apiname>CTierManagerBase</apiname></xref>) are Comms Framework nodes created by their respective factories. Tier Managers respond to Node Messages sent across the Transport, in a similar way to Stack Nodes. </p> <p>The Tier Manager keeps track of the current Access Points that have been created through a query API, see Availability below. The Tier Manager responds to messages sent when an Access Point changes state. For example, when a Bearer stops being available, a message will be sent to the Tier Manager. </p> <p>In the diagram below, two Tier Managers are shown. The diagram shows that one Tier Manager can be responsible for more than one layer in a Stack. </p> <fig id="GUID-983CF8C4-A1DD-59AD-91BD-27E8EE2C5AA7"><title>
           Communications Architecture showing Tier Managers 
-        </title> <image href="GUID-F97EA91E-35E3-5E69-A4C4-7415AB91C1BC_d0e107418_href.png" placement="inline"/></fig> <p>When a client application wants to start a connection it will request an AP by calling <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-ECA90A33-ED2C-331C-8D5B-62927B7CF690"><apiname>RConnection::Open()</apiname></xref> with a Tier Identifier (the <codeph>iTag</codeph> field in the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-437C4AE0-D16B-50B7-8AD8-A4E8FA5F15E5">Tier</xref> table). This will cause a stack of APs that meet the selection and availability criteria to be returned. When the <xref href="GUID-A0C5A43A-C1AD-347E-A57E-4C7BA819FBBA.dita"><apiname>RConnection:Start()</apiname></xref> occurs, a specific AP will be selected at the top layer and the matching CPRs, SCPRs and Data Flows in each of the layers for the connection will be started (unless the connection is already active and this new <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> can share the open connection). </p> <section id="GUID-20688D48-4536-5B1E-B7F5-8C466FA59031"><title>Configuration</title> <p>The configuration for a Tier Manager is held in a number of <xref href="GUID-BD971173-E009-58DA-AF9C-F4AAFF77B138.dita">Comms Database</xref> tables: most importantly the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-437C4AE0-D16B-50B7-8AD8-A4E8FA5F15E5">Tier</xref> table, and the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-52230909-4652-5613-8E52-6761E948907D">Access Point</xref> table. </p> <p>The Tier Table contains the ECom ID of the loaded module that processes Tier Manager requests, and the Default Access Point. The Default Access Point is the one used if the client makes no special requests, see <xref href="GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita#GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5/GUID-0D40CC6A-AFAE-505C-B791-898B4994AE6D">Explicit and Implicit Selection</xref> below. </p> <p>The Access Point Table contains the identifiers of the MCPR, CPR and SCPR for this layer, the selection policy, the protocol, the Tier ID and a protocol identifier. </p> <p>It is recommended that all connections should specify a Tier in the <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref>, but for backward compatability, <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> without a Tier identifier will use the <codeph>Default Tier</codeph> which is stored in the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-7383902B-10D2-52F3-8BDB-478CA6FB587D">GlobalSettings</xref> table. Important note: for legacy code to function correctly, the Default Tier must be the "<codeph>Network</codeph> " Tier. See <xref href="GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita#GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5/GUID-0D40CC6A-AFAE-505C-B791-898B4994AE6D">Explicit and Implicit Selection</xref> below for more information. </p> </section> <section id="GUID-DD707869-1B90-5707-9D6E-DCB45D2DD1E5"><title>Usage</title> <p id="GUID-A9CF89B0-C3DC-5E60-A697-483DA829FD9C"><b>Selection</b> </p> <p>A Tier Manager uses selection to decide which Access Points can be used for a connection. A top-level Tier Manager responds to selection requests that originate from <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> or <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita"><apiname>RConnectionServ</apiname></xref>. </p> <p>Selection selects a stack of APs that may be used to provide a service. The result is a stack or inverted tree showing potential APs at each layer. Remember that a higher layer AP provides a service, but there may be several options at each lower layer for supporting that service (Wi-Fi, 3G telephony etc.). For example, when a client asks for a service to provide a data socket, the list returned will include all the available APs at each layer. The Tier Manager for each layer decides which AP to use. </p> <p id="GUID-0D40CC6A-AFAE-505C-B791-898B4994AE6D"><b>Explicit and Implicit Selection</b> </p> <p>If Freeway/Mobility is required it is required that communications clients explicitly open an <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> on an AP. and associate the <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> with it. But to for legacy applications or connections that don't require mobility, Implicit Selection is supported which uses the Default Connection. </p> <p>Explicit Selection occurs when an application specifies the top-level Access Point when calling <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> with a parameter bundle that specifies an AP. Explicit selection selects the top-level AP and joins this connection to the stack. </p> <p>Implicit selection occurs when a user calls <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-3491CE2A-A94D-34E0-B0DD-D476EE3334D7"><apiname>RSocket::Open()</apiname></xref> on a socket that is not associated with any connection. Implicit selection will associate the socket with the Default Connection. Implicit selection also occurs when an <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> is called without specifying an AP in the connection preferences. </p> <p>For Implicit Selection, only the top layer of the stack is created by the <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-3491CE2A-A94D-34E0-B0DD-D476EE3334D7"><apiname>RSocket::Open()</apiname></xref>, the remainder of the layers are created when a Data Plane event occurs such as <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-AC5A49E9-337D-334A-9CD0-DB8226372306"><apiname>RSocket::Connect()</apiname></xref> or <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-ADE2383D-3075-30B4-8F63-6D837EB75AEF"><apiname>RSocket::Send()</apiname></xref>. </p> <p>When the Data Plane activation event occurs: </p> <ul><li id="GUID-DF27A381-6BAC-51D0-91CA-42FF85AAE02F"><p>if there is no bearer (no AP for the next layer in the stack), the Control Plane will finish the selection and start the selected connection. </p> </li> <li id="GUID-0B71B7A0-BF9B-5F49-A6B5-F37382039E9A"><p>if there is a bearer, the Data Plane states it has found a flow in the Layer below by protocol-specific means, for example IP routing table. </p> </li> </ul> <p id="GUID-E1C0D897-48A2-58C7-BA2C-0AF406DCDFED"><b>Availability</b> </p> <p>When a client application wants to monitor a technology or existing connection, it can call <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita#GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2/GUID-E80C3173-3777-317A-8007-E9C331FAD9AE"><apiname>RConnectionServ::AccessPointStatusQuery()</apiname></xref> for an immediate status, or <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita#GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2/GUID-D4348A26-176D-3C2D-9BA6-CD055E6EC7D3"><apiname>RConnectionServ::AccessPointNotification()</apiname></xref> to be informed of each status change. As the format of the query bundle is configurable by the MCPR, each technology can specify what information will be returned in a query or notification. For example, the query bundle could contain Wi-Fi hotspot availability, maximum data rate supported, costs etc. </p> </section> </conbody><related-links><link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> <link href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita"><linktext>Planes</linktext> </link> <link href="GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita"><linktext>Nodes</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-F97EA91E-35E3-5E69-A4C4-7415AB91C1BC_d0e109861_href.png" placement="inline"/></fig> <p>When a client application wants to start a connection it will request an AP by calling <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-ECA90A33-ED2C-331C-8D5B-62927B7CF690"><apiname>RConnection::Open()</apiname></xref> with a Tier Identifier (the <codeph>iTag</codeph> field in the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-437C4AE0-D16B-50B7-8AD8-A4E8FA5F15E5">Tier</xref> table). This will cause a stack of APs that meet the selection and availability criteria to be returned. When the <xref href="GUID-A0C5A43A-C1AD-347E-A57E-4C7BA819FBBA.dita"><apiname>RConnection:Start()</apiname></xref> occurs, a specific AP will be selected at the top layer and the matching CPRs, SCPRs and Data Flows in each of the layers for the connection will be started (unless the connection is already active and this new <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> can share the open connection). </p> <section id="GUID-20688D48-4536-5B1E-B7F5-8C466FA59031"><title>Configuration</title> <p>The configuration for a Tier Manager is held in a number of <xref href="GUID-BD971173-E009-58DA-AF9C-F4AAFF77B138.dita">Comms Database</xref> tables: most importantly the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-437C4AE0-D16B-50B7-8AD8-A4E8FA5F15E5">Tier</xref> table, and the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-52230909-4652-5613-8E52-6761E948907D">Access Point</xref> table. </p> <p>The Tier Table contains the ECom ID of the loaded module that processes Tier Manager requests, and the Default Access Point. The Default Access Point is the one used if the client makes no special requests, see <xref href="GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita#GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5/GUID-0D40CC6A-AFAE-505C-B791-898B4994AE6D">Explicit and Implicit Selection</xref> below. </p> <p>The Access Point Table contains the identifiers of the MCPR, CPR and SCPR for this layer, the selection policy, the protocol, the Tier ID and a protocol identifier. </p> <p>It is recommended that all connections should specify a Tier in the <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref>, but for backward compatability, <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> without a Tier identifier will use the <codeph>Default Tier</codeph> which is stored in the <xref href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-7383902B-10D2-52F3-8BDB-478CA6FB587D">GlobalSettings</xref> table. Important note: for legacy code to function correctly, the Default Tier must be the "<codeph>Network</codeph> " Tier. See <xref href="GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita#GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5/GUID-0D40CC6A-AFAE-505C-B791-898B4994AE6D">Explicit and Implicit Selection</xref> below for more information. </p> </section> <section id="GUID-DD707869-1B90-5707-9D6E-DCB45D2DD1E5"><title>Usage</title> <p id="GUID-A9CF89B0-C3DC-5E60-A697-483DA829FD9C"><b>Selection</b> </p> <p>A Tier Manager uses selection to decide which Access Points can be used for a connection. A top-level Tier Manager responds to selection requests that originate from <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> or <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita"><apiname>RConnectionServ</apiname></xref>. </p> <p>Selection selects a stack of APs that may be used to provide a service. The result is a stack or inverted tree showing potential APs at each layer. Remember that a higher layer AP provides a service, but there may be several options at each lower layer for supporting that service (Wi-Fi, 3G telephony etc.). For example, when a client asks for a service to provide a data socket, the list returned will include all the available APs at each layer. The Tier Manager for each layer decides which AP to use. </p> <p id="GUID-0D40CC6A-AFAE-505C-B791-898B4994AE6D"><b>Explicit and Implicit Selection</b> </p> <p>If Freeway/Mobility is required it is required that communications clients explicitly open an <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> on an AP. and associate the <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> with it. But to for legacy applications or connections that don't require mobility, Implicit Selection is supported which uses the Default Connection. </p> <p>Explicit Selection occurs when an application specifies the top-level Access Point when calling <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> with a parameter bundle that specifies an AP. Explicit selection selects the top-level AP and joins this connection to the stack. </p> <p>Implicit selection occurs when a user calls <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-3491CE2A-A94D-34E0-B0DD-D476EE3334D7"><apiname>RSocket::Open()</apiname></xref> on a socket that is not associated with any connection. Implicit selection will associate the socket with the Default Connection. Implicit selection also occurs when an <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> is called without specifying an AP in the connection preferences. </p> <p>For Implicit Selection, only the top layer of the stack is created by the <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-3491CE2A-A94D-34E0-B0DD-D476EE3334D7"><apiname>RSocket::Open()</apiname></xref>, the remainder of the layers are created when a Data Plane event occurs such as <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-AC5A49E9-337D-334A-9CD0-DB8226372306"><apiname>RSocket::Connect()</apiname></xref> or <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-ADE2383D-3075-30B4-8F63-6D837EB75AEF"><apiname>RSocket::Send()</apiname></xref>. </p> <p>When the Data Plane activation event occurs: </p> <ul><li id="GUID-DF27A381-6BAC-51D0-91CA-42FF85AAE02F"><p>if there is no bearer (no AP for the next layer in the stack), the Control Plane will finish the selection and start the selected connection. </p> </li> <li id="GUID-0B71B7A0-BF9B-5F49-A6B5-F37382039E9A"><p>if there is a bearer, the Data Plane states it has found a flow in the Layer below by protocol-specific means, for example IP routing table. </p> </li> </ul> <p id="GUID-E1C0D897-48A2-58C7-BA2C-0AF406DCDFED"><b>Availability</b> </p> <p>When a client application wants to monitor a technology or existing connection, it can call <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita#GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2/GUID-E80C3173-3777-317A-8007-E9C331FAD9AE"><apiname>RConnectionServ::AccessPointStatusQuery()</apiname></xref> for an immediate status, or <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita#GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2/GUID-D4348A26-176D-3C2D-9BA6-CD055E6EC7D3"><apiname>RConnectionServ::AccessPointNotification()</apiname></xref> to be informed of each status change. As the format of the query bundle is configurable by the MCPR, each technology can specify what information will be returned in a query or notification. For example, the query bundle could contain Wi-Fi hotspot availability, maximum data rate supported, costs etc. </p> </section> </conbody><related-links><link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> <link href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita"><linktext>Planes</linktext> </link> <link href="GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita"><linktext>Nodes</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-48482288-B60B-477A-8E28-132F7CBE2C94.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-48482288-B60B-477A-8E28-132F7CBE2C94.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 <p>The Selection key always causes the same action as the left softkey.</p>
 <fig id="GUID-123C27EC-BC2D-4CC7-9E4D-015C6B2ABE1D">
 <title>Confirmation query</title>
-<image href="GUID-1A905563-EF60-4A01-BC55-5B35904F96AB_d0e91585_href.png" placement="inline"/>
+<image href="GUID-1A905563-EF60-4A01-BC55-5B35904F96AB_d0e95783_href.png" placement="inline"/>
 </fig>
 <p>Guidelines for designing Confirmation queries:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -111,6 +111,6 @@
 // Now specify the files to be used
 file=ABI_DIR\DEBUG_DIR\MyLibrary.dll \sys\bin\MyLibrary.dll unpaged
 </codeblock> </example>
-<postreq id="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-6-1-3-4"><p>The next
-step is to <xref href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-6-1-3-4.dita">Build the writable data paging ROM</xref>  </p> </postreq>
+<postreq id="GUID-42BF90E6-BA6A-4587-A265-0C117ABE6440"><p>The next step is to <xref href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita">Build the writable
+data paging ROM</xref>  </p> </postreq>
 </taskbody></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-488F24B1-DC9B-5A5B-8B0D-47A428B9AA3C_d0e535297_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-488F24B1-DC9B-5A5B-8B0D-47A428B9AA3C_d0e542757_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-48B61662-0A11-4356-9882-7523B04FFD96.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-48B61662-0A11-4356-9882-7523B04FFD96.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,21 +12,21 @@
 <task id="GUID-48B61662-0A11-4356-9882-7523B04FFD96" xml:lang="en"><title>Changing
 Passphrase</title><shortdesc>This section explains how to change the passphrase.  </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context><p>The following steps explain the process of changing the passphrase:</p></context>
-<steps id="GUID-16DDA72F-9BC5-52FB-A3C6-874815ABF9FC-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2">
-<step id="GUID-89755D62-9A44-5F07-9035-6AA97F701C0C-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-1"><cmd>Create a file system
+<steps id="GUID-16DDA72F-9BC5-52FB-A3C6-874815ABF9FC-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2">
+<step id="GUID-89755D62-9A44-5F07-9035-6AA97F701C0C-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-1"><cmd>Create a file system
 session using an <codeph>RFs</codeph> object. </cmd>
 </step>
-<step id="GUID-6A14EBD6-AF2D-5CE8-A232-F04B717CA0B3-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-2"><cmd/>
+<step id="GUID-6A14EBD6-AF2D-5CE8-A232-F04B717CA0B3-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-2"><cmd/>
 <info>Create an object of type CUnifiedKeyStore using <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-C7A96153-4179-3B3F-878D-1EAA64A98D39"><apiname>CUnifiedKeyStore::NewL()</apiname></xref> or <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-217FBB3B-CEF5-36F2-A612-EDDA0982053C"><apiname>CUnifiedKeyStore::NewLC()</apiname></xref>. </info>
 </step>
-<step id="GUID-C8F104CE-E857-5615-B847-E3A33EAF7481-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-3"><cmd/>
+<step id="GUID-C8F104CE-E857-5615-B847-E3A33EAF7481-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-3"><cmd/>
 <info>Initialize the member functions and keystore using the asynchronous
 function <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-6C5D732C-1FD1-3EF0-AC90-87690F891B8D"><apiname>CUnifiedKeyStore::Initialize()</apiname></xref>. </info>
 </step>
-<step id="GUID-6CF7703F-8CAC-5DC6-9F43-7E2EE3F39895-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-4"><cmd/>
+<step id="GUID-6CF7703F-8CAC-5DC6-9F43-7E2EE3F39895-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-4"><cmd/>
 <info>Obtain the authentication object of a key using the <xref href="GUID-7AE17C42-BAD8-3BE9-88A9-D0B066D171F2.dita#GUID-7AE17C42-BAD8-3BE9-88A9-D0B066D171F2/GUID-431CEFD1-5469-33B0-B21B-A535536CE40C"><apiname>CCTKeyInfo::Protector()</apiname></xref> function.</info>
 </step>
-<step id="GUID-6CF7703F-8CAC-5DC6-9F43-7E2EE3F39895-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-5"><cmd/>
+<step id="GUID-6CF7703F-8CAC-5DC6-9F43-7E2EE3F39895-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-2-5"><cmd/>
 <info>Invoke the <xref href="GUID-171BE947-E0D2-3049-85BB-FE2664D3777D.dita"><apiname>ChangeReferenceData()</apiname></xref> function for the
 authentication object obtained. The keystore prompts the user to enter the
 old and new passphrases.</info>
@@ -34,8 +34,8 @@
 </steps>
 <result><p>The passphrase is changed for the selected key, if the old passphrase
 is entered correctly.</p> </result>
-<example id="GUID-C2150584-293D-50CE-8DDC-19B4D55D8B0B-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-4"><title>Example</title> <p>The
-following code snippet shows how to set use policy for a key. </p> <codeblock id="GUID-FAD1C292-8E42-5348-B975-3CBA7E8D2820-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-4-3" xml:space="preserve">// Create a file system session object
+<example id="GUID-C2150584-293D-50CE-8DDC-19B4D55D8B0B-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-4"><title>Example</title> <p>The
+following code snippet shows how to set use policy for a key. </p> <codeblock id="GUID-FAD1C292-8E42-5348-B975-3CBA7E8D2820-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-9-1-3-4-3" xml:space="preserve">// Create a file system session object
 RFs iFs;
 CleanupClosePushL(&amp;iFs);
 
--- a/Symbian3/PDK/Source/GUID-48BD628F-F47F-535B-B148-7425A6704FC2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-48BD628F-F47F-535B-B148-7425A6704FC2"><title>always_build_as_arm</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>always_build_as_arm</codeph> </p> <p>Use the <codeph>always_build_as_arm</codeph> statement to instruct an ARMV5 build to not build the project for the THUMB instruction set, but for the ARM instruction set.</p> <p>For details, see <xref href="GUID-D173BE00-1DE7-53D0-BBEF-CBF7CACB0193.dita">ARM/THUMB overrides</xref>.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-48C764A2-378F-57CC-B7F2-EC866AE8F830.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-48C764A2-378F-57CC-B7F2-EC866AE8F830.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-48C764A2-378F-57CC-B7F2-EC866AE8F830"><title>The reference counting object</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A reference counting object is one which uses reference counting to track concurrent references to itself and which arranges for automatic destruction of itself when the final reference is removed. It is also an object which can be named. </p> <p>A reference counting object is any object which has <codeph>CObject</codeph> as its base class. </p> <p>Constructing a <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> derived type, or calling its <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-E6319811-605D-3329-9314-ED25F4A9116C"><apiname>CObject::Open()</apiname></xref> member function, adds a reference to that object by adding one to its reference count. Calling its <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-6E50F446-307B-3C9D-9AD6-AFCB49B2F658"><apiname>CObject::Close()</apiname></xref> member function removes a reference by subtracting one from its reference count. When the last user of the object calls <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-6E50F446-307B-3C9D-9AD6-AFCB49B2F658"><apiname>CObject::Close()</apiname></xref>, the reference count becomes zero and the object is automatically destroyed. </p> <p>The following drawing shows the idea. </p> <fig id="GUID-18A04428-FBD7-5115-B206-6F2E67343A7F"><image href="GUID-39AAB0D3-6D4D-5DE3-B894-F5E763D3E19B_d0e346160_href.png" placement="inline"/></fig> <p>A <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> is always part of a class hierarchy. It is a base class; an explicit <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> type is never instantiated. </p> <p>The server side implementation of a client/server subsession uses a <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref>. </p> <p>See also: </p> <ul><li id="GUID-20A9F23B-19B5-5D70-9943-811FC42F3BED"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref>  </p> </li> <li id="GUID-8C980E14-F073-5918-AD66-8547656BC13D"><p> <xref href="GUID-1CC6FEF0-7D1E-5329-8276-22ACFE3DE362.dita">Subsessions within a session</xref>  </p> </li> <li id="GUID-C5FCE438-1F8B-569C-9257-0EBE9D823747"><p> <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">Using client/server</xref>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-48C764A2-378F-57CC-B7F2-EC866AE8F830"><title>The reference counting object</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A reference counting object is one which uses reference counting to track concurrent references to itself and which arranges for automatic destruction of itself when the final reference is removed. It is also an object which can be named. </p> <p>A reference counting object is any object which has <codeph>CObject</codeph> as its base class. </p> <p>Constructing a <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> derived type, or calling its <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-E6319811-605D-3329-9314-ED25F4A9116C"><apiname>CObject::Open()</apiname></xref> member function, adds a reference to that object by adding one to its reference count. Calling its <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-6E50F446-307B-3C9D-9AD6-AFCB49B2F658"><apiname>CObject::Close()</apiname></xref> member function removes a reference by subtracting one from its reference count. When the last user of the object calls <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-6E50F446-307B-3C9D-9AD6-AFCB49B2F658"><apiname>CObject::Close()</apiname></xref>, the reference count becomes zero and the object is automatically destroyed. </p> <p>The following drawing shows the idea. </p> <fig id="GUID-18A04428-FBD7-5115-B206-6F2E67343A7F"><image href="GUID-39AAB0D3-6D4D-5DE3-B894-F5E763D3E19B_d0e352111_href.png" placement="inline"/></fig> <p>A <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> is always part of a class hierarchy. It is a base class; an explicit <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> type is never instantiated. </p> <p>The server side implementation of a client/server subsession uses a <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref>. </p> <p>See also: </p> <ul><li id="GUID-20A9F23B-19B5-5D70-9943-811FC42F3BED"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref>  </p> </li> <li id="GUID-8C980E14-F073-5918-AD66-8547656BC13D"><p> <xref href="GUID-1CC6FEF0-7D1E-5329-8276-22ACFE3DE362.dita">Subsessions within a session</xref>  </p> </li> <li id="GUID-C5FCE438-1F8B-569C-9257-0EBE9D823747"><p> <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">Using client/server</xref>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-48D06D0E-C4D6-54F1-B603-7A75DEF669AA_d0e583066_href.png has changed
Binary file Symbian3/PDK/Source/GUID-48D06D0E-C4D6-54F1-B603-7A75DEF669AA_d0e604336_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D" xml:lang="en"><title>Cryptography library</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Changes since v7.0</b>  </p> <p>The Cryptography library is a new component that is based on Symbian-developed code rather than code licensed from RSA. It replaces the <codeph>cryptalg</codeph> and <codeph>privkey</codeph> variants (<filepath>cryptX.dll</filepath>, <filepath>privX.dll</filepath>) with a new <filepath>cryptography.dll</filepath>, which at present can be built in a weak or strong form: <filepath>weak_cryptography.dll</filepath> and <filepath>strong_cryptography.dll</filepath>. The weak version is limited to symmetric cryptographic operations with a maximum key size of 56 bits and asymmetric cryptographic operations with a maximum key size of 512 bits. Clients always link against <filepath>cryptography.dll</filepath>. </p> <p>On hardware, the version used is determined at ROM build time by including the appropriate version of the Cryptography library as <filepath>cryptography.dll</filepath>. On the emulator, the crypto switch sub-component supplies <filepath>cryptography.dll</filepath>, and this transparently forwards calls to the appropriate version of the Cryptography library. This setup allows a version of the emulator to be built that is not export restricted (including only the weak Cryptography library), which can be enhanced to use the strong crypto library merely by the addition of the appropriate DLL. </p> <p>Note that the new Cryptography deliverable (incorporating supporting libraries such as <filepath>hash.dll</filepath>) is not source or binary compatible with the previous <codeph>Cryptalg</codeph> implementation. </p> <p>The new Cryptography library has also been made available to the Symbian OS v7.0s release. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-49205F79-C17B-4126-BDB2-D759B91B5894.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-49205F79-C17B-4126-BDB2-D759B91B5894.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,8 +14,8 @@
 to use the best available data connection while operational.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context id="GUID-9B1466E3-661E-4BAB-A7F7-7F587FF8EBF1">       <p>To use application-level
 roaming: </p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-6-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-6-1-3-2-1"><cmd>Initiate an Internet
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-6-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-6-1-3-2-1"><cmd>Initiate an Internet
 connection using the Connection Manager API and the Internet destination network.
 In this example it is assumed that the best available access point for Internet
 is GPRS. </cmd>
Binary file Symbian3/PDK/Source/GUID-4922D80F-009D-56CE-B255-FDAF9C247667_d0e317021_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4922D80F-009D-56CE-B255-FDAF9C247667_d0e323011_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4930A22F-EF80-5B08-A878-C0DB73929558_d0e435184_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4930A22F-EF80-5B08-A878-C0DB73929558_d0e441029_href.png has changed
--- a/Symbian3/PDK/Source/GUID-49363088-CE0B-558D-8E86-48400E4F7C2F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-49363088-CE0B-558D-8E86-48400E4F7C2F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -46,7 +46,7 @@
 to be cleared or snoozed. </p> <fig id="GUID-4F324FD2-EB30-5910-BD8E-315B67A4FA44">
 <title>              Alarm state diagram for multiple alarm notification 
             support            </title>
-<image href="GUID-16B42854-F27D-5CB3-BCFE-8F711793EE60_d0e603974_href.png" placement="inline"/>
+<image href="GUID-16B42854-F27D-5CB3-BCFE-8F711793EE60_d0e582704_href.png" placement="inline"/>
 </fig> <p>In the diagram above, a queued alarm can change to the ‘waiting
 to notify’ state if an alarm has expired but the maximum number of notifying
 alarms has been reached. The state can also change if Alarm Server is waiting
--- a/Symbian3/PDK/Source/GUID-49379616-C235-598D-AE43-668998AD072B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-49379616-C235-598D-AE43-668998AD072B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -309,7 +309,7 @@
 decremented. This means that if the stack overflows, the stack pointer points
 into the guard area and causes a processor exception, with the result that
 the kernel panics the thread. </p> <fig id="GUID-C87444AA-A8DC-5A5C-B2E6-B15FA69B6CE1">
-<image href="GUID-DD0DA06D-4180-54F1-8807-A7BF31D6A1F1_d0e297526_href.png" placement="inline"/>
+<image href="GUID-DD0DA06D-4180-54F1-8807-A7BF31D6A1F1_d0e303518_href.png" placement="inline"/>
 </fig> <p>Return addresses are stored by pushing them on to the stack so at
 any point you can trace through the stack looking at the saved return addresses
 to see the chain of function calls up to the present function. </p> <p>The
--- a/Symbian3/PDK/Source/GUID-49397CFD-955A-5DF6-9251-368C44224966.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-49397CFD-955A-5DF6-9251-368C44224966" xml:lang="en"><title>Build tools reference</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4941C035-C359-4968-9BD5-31F44EE5F810.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4941C035-C359-4968-9BD5-31F44EE5F810.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -41,11 +41,10 @@
 framework directly and results in the <parmname>Options</parmname> menu being
 presented to the device user.</p></li>
 </ul>
-<p>For more information on resource files, see <xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing
-resource files</xref>.</p>
+<p>For more information on resource files, see <xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing resource files</xref>.</p>
 <p>For an example of a resource file, see <xref href="GUID-411ACFE6-0324-4330-ABCD-97A925759A3C.dita">Resource
 management example: HelloWorldBasic</xref>.</p>
-<fig id="GUID-9BA6CBBE-E2F5-4C23-A528-F49A9467F542"><title>Options menu</title><image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e64551_href.png"/></fig>
+<fig id="GUID-9BA6CBBE-E2F5-4C23-A528-F49A9467F542"><title>Options menu</title><image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e68774_href.png"/></fig>
 <p>Commands are passed to the object with which the menu is associated.
 The object that receives the command should handle the command if it is specific
 to the object. If the command is relevant to another object, then it should
--- a/Symbian3/PDK/Source/GUID-494AF38D-CE0C-4B4C-BE44-2FC7482F4B7B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-494AF38D-CE0C-4B4C-BE44-2FC7482F4B7B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,15 +9,8 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-494AF38D-CE0C-4B4C-BE44-2FC7482F4B7B" xml:lang="en"><title>Hiding and showing stylus pop-up menu items</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>To hide and show stylus pop-up menu items, use the method <xref href="GUID-FB7D03CC-6FE6-3B2E-997F-A220A92BF5E8.dita#GUID-FB7D03CC-6FE6-3B2E-997F-A220A92BF5E8/GUID-67820FD4-052E-3011-B563-B12A9A04FC78"><apiname>CAknStylusPopUpMenu::SetItemDimmed()</apiname></xref> in the class. </p>
-<codeblock xml:space="preserve">// You can remove the menu item dynamically according to the command id. For example:
-iPopupMenu-&gt;RemoveMenuItem( StylusMenuCommand1 );
-
-// You can dim (hide) a menu item without removing it
-iPopupMenu-&gt;SetItemDimmed( StylusMenuDynamicAdd, ETrue );
-
-// You can un-dim(show) the menu item again:
-iPopupMenu-&gt;SetItemDimmed( StylusMenuDynamicAdd, EFalse );
-</codeblock>
+<concept id="GUID-494AF38D-CE0C-4B4C-BE44-2FC7482F4B7B" xml:lang="en"><title>Hiding
+and showing stylus pop-up menu items</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>To hide and show stylus pop-up menu items, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknStylusPopUpMenu.html#44ace66d760143c3816baeacf6dfaeea" format="application/java-archive">SetItemDimmed()</xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknStylusPopUpMenu.html" format="application/java-archive"><codeph>CAknStylusPopUpMenu</codeph></xref>. </p>
+<p><draft-comment time="2008-05-15T14:45" translate="no">Add sample code here.</draft-comment></p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4957E6BB-C41D-52F1-94CD-68CF6D61C271.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4957E6BB-C41D-52F1-94CD-68CF6D61C271.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 not only the new attribute which it introduces, but also every attribute which
 it inherits from the preceding format layer. </p>
 <fig id="GUID-DBA21807-9BC8-5FFB-962A-4CDCD9A72359">
-<image href="GUID-CFD3CD78-D99A-57B8-80EB-8C67899E5D27_d0e679639_href.png" placement="inline"/>
+<image href="GUID-CFD3CD78-D99A-57B8-80EB-8C67899E5D27_d0e692466_href.png" placement="inline"/>
 </fig>
 <p>The Symbian platform avoids this inefficiency by using the system of <keyword>based-on
 links</keyword>. Here, each new layer adds attributes in a natural way without
@@ -35,13 +35,13 @@
 arrow represents a based-on link.</p>
 <fig id="GUID-3BE6B9A3-D8DB-543C-AA88-DD519B991B62">
 <title>Format layering</title>
-<image href="GUID-52743192-B1E0-5B71-B85B-43487F18F412_d0e679659_href.png" placement="inline"/>
+<image href="GUID-52743192-B1E0-5B71-B85B-43487F18F412_d0e692486_href.png" placement="inline"/>
 </fig>
 <p>The following diagram demonstrates the system of based-on links when attributes
 are applied to different parts of text rather than added on top of existing
 attribute layers.</p>
 <fig id="GUID-1E0E17F0-BE93-5403-8474-ED612E118C8F">
-<image href="GUID-F99938E9-9E06-53C0-B762-2CE51BC5F1E2_d0e679667_href.png" placement="inline"/>
+<image href="GUID-F99938E9-9E06-53C0-B762-2CE51BC5F1E2_d0e692494_href.png" placement="inline"/>
 </fig>
 <p>In this case, several format layers are required, all of which are based
 on the normal layer.</p>
--- a/Symbian3/PDK/Source/GUID-495C619C-1223-59C1-9B31-0F4031BAE4A9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-495C619C-1223-59C1-9B31-0F4031BAE4A9"><title>systeminclude</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>systeminclude</codeph>  <varname>directory-list</varname> </p> <p>Use the <codeph>systeminclude</codeph> statement to define directories to be scanned for files specified in <codeph>#include</codeph> statements in source and resource files. </p> <p>It may be specified any number of times, and each may have any number of directories. </p> <p>When a project is being built, the pre-processor will be invoked specifying all the <codeph>systeminclude</codeph> and <codeph>userinclude</codeph> directories indicated in these statements. No standard include directories will be searched unless the project links to Win32 libraries under WINS. </p> <p>Files included from source code with a line such as <codeph>#include
-        &lt;e32def.h&gt;</codeph> are searched based on the first matching file in the directory, in the following order: </p> <ul><li id="GUID-862D165E-9F67-5FA7-B108-C44C11A06D70"><p>Directory containing the source file </p> </li> <li id="GUID-202A5A9A-93F5-54A8-A298-5316ABF61A8C"><p>Directories specified by <codeph>userinclude</codeph> keyword, if any </p> </li> <li id="GUID-C110FD13-CA71-51CF-B0BB-B501BADA457E"><p>Directories specified by <codeph>systeminclude</codeph> keyword, if any </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 some of the key concepts that are used in the documentation of surfaces. </p> <fig id="GUID-F134C262-EC19-5925-A188-2C7C2CD5EEEA">
 <title>Composition of the UI surface and an external surface, showing the
              viewport and extent</title>
-<image href="GUID-2468821F-6C66-5761-AE56-CEC942A2EE95_d0e242075_href.png" placement="inline"/>
+<image href="GUID-2468821F-6C66-5761-AE56-CEC942A2EE95_d0e248086_href.png" placement="inline"/>
 </fig> <dl>
 <dlentry>
 <dt>Graphics surface</dt>
@@ -65,7 +65,7 @@
 can be seen.</p> <fig id="GUID-4DB99814-988F-5D51-A1A7-E864B6DA6DFB">
 <title>              A cross section through the surfaces, showing the display
 output            </title>
-<image href="GUID-78B63C44-7765-5408-A611-DFE8709196F8_d0e242153_href.png" placement="inline"/>
+<image href="GUID-78B63C44-7765-5408-A611-DFE8709196F8_d0e248164_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-F9D7659B-1325-5DC2-9D7A-9B6C0DFB8A62"><title>Supported Uses</title> <p>You
 can: </p> <ul>
@@ -92,7 +92,7 @@
 surface from top to bottom and rotate it by 180° to achieve a mirroring effect. </p> </li>
 </ul> <p>The following diagrams shows some surface configuration use cases. </p> <fig id="GUID-FF25ED24-7A3D-5C4B-A711-D6AEA53E972F">
 <title>              Surface configuration use cases            </title>
-<image href="GUID-D04DD8E6-804F-539E-8BD1-146210F4A51C_d0e242220_href.png" placement="inline"/>
+<image href="GUID-D04DD8E6-804F-539E-8BD1-146210F4A51C_d0e248231_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-7EAB8F5D-6290-5B63-B396-8A1FAE7D91A5"><title> Configuration</title> <p>There
 are a number of ways in which dynamically updated content can be configured
Binary file Symbian3/PDK/Source/GUID-497AD33D-F6DC-52D4-85C8-B9E02978ACD4_d0e211010_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-497AD33D-F6DC-52D4-85C8-B9E02978ACD4_d0e217011_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-49F16A96-083E-5928-B939-75F2D11E2BF8_d0e232785_href.png has changed
Binary file Symbian3/PDK/Source/GUID-49F16A96-083E-5928-B939-75F2D11E2BF8_d0e238780_href.png has changed
--- a/Symbian3/PDK/Source/GUID-49FEF50C-98C8-5789-881E-553164EF5517.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-49FEF50C-98C8-5789-881E-553164EF5517" xml:lang="en"><title>How
-to use CapSearch</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>CapSearch is a tool that allows you to search a ROM log for binaries with
-specific capabilities and list them within a report in HTML format.</p>
-<p>When using the <codeph>CapSearch</codeph> tool, you need to define the
-name and location of the ROM log and the Symbian Capability List. You should
-also specify whether to search for <codeph>EXACT</codeph> or <codeph>ALL</codeph> capabilities,
-and whether to include all binaries or only the executables in your search.</p>
-<p>Along with the HTML report, a list of binaries and capabilities is printed
-to standard output, which can be stored as a <filepath>.txt</filepath> file.
-The standard output facility can also be used to generate the Expected Capability
-List, which is used as input for <codeph>CapCheck</codeph>. </p>
-<p>The Expected Capability List is created by specifying no capabilities when
-running <codeph>CapSearch</codeph>, and by setting the <codeph>-match</codeph> option
-to <codeph>LEAST</codeph>.</p>
-<p>The Symbian Capability List is the header file named <filepath>e32capability.h</filepath>,
-and can be found in the <filepath>&lt;EPOCROOT&gt;\epoc32\include</filepath> directory.
-It lists all the permissible capabilities by name and corresponding number
-in hexadecimal format. Either name or number can be used when defining the
-capability to be searched.</p>
-<section><title>Command line syntax</title> <p>The command line syntax to
-be used for <codeph>CapSearch</codeph> is shown below.</p> <p><codeph>&gt;CapSearch.pl
--r &lt;rom_log_file&gt; -s &lt;symbian_capability_list&gt; [-c &lt;capability&gt;]
-[-scope &lt;ALL|EXE&gt;] [-match &lt;EXACT|LEAST&gt;] [-R &lt;HTML_report&gt;]</codeph> </p> <p>The
-order of the arguments can be modified, as long as the mandatory ones are
-used, which are <codeph>-r</codeph> and <codeph>-s</codeph>.</p> <p><b>Arguments</b> </p> <p>The
-following arguments are used.</p> <table id="GUID-FCFC1EDF-C185-5B74-A3FC-411A088EA8D6">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-r &lt;rom_log_file&gt;</codeph> </p> </entry>
-<entry><p> The name and location of the ROM log file, in relation to the directory
-where the tool is run from, for example <filepath>.\input\rom.log</filepath>.
-This flag is mandatory.</p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-s &lt;Symbian_capability_list&gt;</codeph> </p> </entry>
-<entry><p>The name of the Symbian Capability List, listing all the capabilities
-available to search, and their corresponding values. This flag is mandatory
-and the list can be found in <filepath>&lt;EPOCROOT&gt;\epoc32\include\e32capability.h</filepath>.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-c &lt;capability&gt;</codeph> </p> </entry>
-<entry><p>Defines a text string or numerical value for the capability to be
-searched. This could be specified several times, i.e. <codeph>-c &lt;capability1&gt;
--c &lt;capability2&gt; -c &lt;capability3&gt;</codeph>. The names and corresponding
-numbers are listed in the Symbian Capability List. </p> </entry>
-</row>
-<row>
-<entry><p><codeph>-scope &lt;ALL|EXE&gt;</codeph> </p> </entry>
-<entry><p>Defines the scope of the search - whether to only search the executables, <codeph>EXE</codeph>,
-within the ROM, or to include all the binaries, <codeph>ALL</codeph>. The
-default is <codeph>ALL</codeph>.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-match &lt;EXACT|LEAST&gt;</codeph> </p> </entry>
-<entry><p>Defines how the search should be carried out - whether to report
-binaries which contain the specified capability only, <codeph>EXACT</codeph>,
-or whether to report binaries which include the specified capability and more, <codeph>LEAST</codeph>.
-The default is <codeph>LEAST</codeph>.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>-R &lt;HTML_report&gt;</codeph> </p> </entry>
-<entry><p>Defines the name of the HTML report to be generated in the working
-directory. If not specified, the default is <filepath>CapSearchReport.html</filepath>. </p> </entry>
-</row>
-<row>
-<entry><p><codeph>-h</codeph> </p> </entry>
-<entry><p>Displays help information (optional).</p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Example</b> </p> <p>A full example of how to use the <codeph>CapSearch</codeph> tool
-is shown below:</p> <codeblock id="GUID-BD61AFE0-2240-57DD-98C6-0C3DE50A05E8" xml:space="preserve">&gt;CapSearch.pl -r .\input\rom.log -s e32capability.h -c NetworkControl -c ReadUserData -c WriteUserData -scope ALL -match -least -R results.html</codeblock> </section>
-</conbody><related-links>
-<link href="GUID-9B7BF729-7982-5DFC-AD3C-10D327CA2909.dita"><linktext>CapSearch
- report - file format</linktext></link>
-<link href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita"><linktext>CapCheck
-Guide</linktext></link>
-<link href="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita"><linktext>CapImportCheck
-Guide</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-4A2E212E-BC1B-5965-9A62-6309CC7CAAAB_d0e289179_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4A2E212E-BC1B-5965-9A62-6309CC7CAAAB_d0e295171_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4A5A50EB-261E-5739-904E-1D14D1A6BAD9_d0e219540_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4A5A50EB-261E-5739-904E-1D14D1A6BAD9_d0e225560_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4A66B46E-8A23-42E4-ADAD-B124A36B180A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4A66B46E-8A23-42E4-ADAD-B124A36B180A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,30 +12,9 @@
 <concept id="GUID-4A66B46E-8A23-42E4-ADAD-B124A36B180A" xml:lang="en"><title>Showing
 and hiding stylus pop-up menu</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>Use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknStylusPopUpMenu.html#2aab09ce484efcf807cb1191dbd08062" format="application/java-archive"><codeph>ShowMenu()</codeph></xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknStylusPopUpMenu.html" format="application/java-archive"><codeph>CAknStylusPopUpMenu</codeph></xref> to show the stylus pop-up menu.</p>
-<p>Usually, the pop-up menu must not be directly displayed in the <codeph>HandlePointerEventL</codeph> of
-a <codeph>CCoeControl</codeph>.  Use the <codeph>CAknLongTapDetector</codeph> 
-to handle the Llong Tap event and show the pop-up on the <codeph>HandleLongTapEventL</codeph>,
-which is the implementation to the interface <codeph>MAknLongTapDetectorCallBack</codeph>.</p>
-<p>The following code snippets illustrates how to show pop-up menu:</p>
-<codeblock xml:space="preserve">CAknLongTapDetector * iLongTapDetector;
-// "this" implement the interface MAknLongTapDetectorCallBack
-iLongTapDetector = CAknLongTapDetector::NewL( this );
-
-// pass the process to the long tap detector
-void XXXX::HandlePointerEventL(
-		const TPointerEvent&amp; aPointerEvent)
-	{
-	iLongTapDetector-&gt;PointerEventL( aPointerEvent );
-	// Call base class HandlePointerEventL()
-	CCoeControl::HandlePointerEventL(aPointerEvent);
-	}
-// handle long tap detector event to show the stylus popup
-void XXXX::HandleLongTapEventL( const TPoint&amp; aPenEventLocation, const TPoint&amp; aPenEventScreenLocation )
-	{
-      iPopupMenu-&gt;SetPosition( 
-               aPenEventScreenLocation ,
-               CAknStylusPopUpMenu::EPositionTypeRightBottom );
-	iPopupMenu-&gt;ShowMenu();
-	}
-</codeblock>
+<p><draft-comment time="2008-05-19T11:33" translate="no">How is the menu dismissed/hidden?
+Automatically after a command has been selected or when the user taps outside
+the menu?</draft-comment></p>
+<p><draft-comment time="2008-05-19T11:35" translate="no">Add sample code on showing and hiding
+the menu here.</draft-comment></p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4AAABD77-C08E-5EE2-A02A-3B412EA6D23F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4AAABD77-C08E-5EE2-A02A-3B412EA6D23F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 interacts with a specially customised DevSound (configured as optional). </p> <p>Shown
 below is a representation of how A3F interacts with DevSound and other components: </p> <fig id="GUID-D45D43BE-CC91-5A92-B9C4-7E43B3899067">
 <title>              A3F and related components            </title>
-<image href="GUID-37C193CD-3D8A-56A5-B78C-0A6FE7163EC2_d0e537961_href.png" placement="inline"/>
+<image href="GUID-37C193CD-3D8A-56A5-B78C-0A6FE7163EC2_d0e545421_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Library summary</title> <p>A3F includes the following libraries: </p> <table id="GUID-9A61E505-E46F-5811-9EC3-742AFD7444DE">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
Binary file Symbian3/PDK/Source/GUID-4AB3C821-25B5-4B5B-BC20-C8FA42D69802_d0e17034_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4AB3C821-25B5-4B5B-BC20-C8FA42D69802_d0e18145_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4ADD8234-4AFD-4E80-94A4-AC018FE83276.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4ADD8234-4AFD-4E80-94A4-AC018FE83276.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 <li><p>Spawn APIs</p></li>
 <li><p>Libgmodule APIs </p></li>
 </ul>
-<section id="GUID-DFAD39D6-BA92-4293-B5EC-97077CE1FC1A-GENID-1-12-1-13-1-1-7-1-6-1-4-1-3-3">       <title>Memory
+<section id="GUID-DFAD39D6-BA92-4293-B5EC-97077CE1FC1A-GENID-1-12-1-14-1-1-7-1-6-1-4-1-3-3">       <title>Memory
 allocation</title>       <p>The Symbian GLib implementation does not follow
 the default OSS behavior. The default OSS behavior is such that in the event
 of a memory allocation failure the application, using <codeph>g_malloc()</codeph> and
@@ -30,7 +30,7 @@
 all the application code written using GLib does not perform memory allocation
 failure checks. Hence, for Symbian GLib it is the application programmer's
 responsibility to check for memory allocation failures.  </p>     </section>
-<section id="GUID-DFAD39D6-BA92-4293-B5EC-97077CE1FC1A-GENID-1-12-1-13-1-1-7-1-6-1-4-1-3-4">       <title>Spawn
+<section id="GUID-DFAD39D6-BA92-4293-B5EC-97077CE1FC1A-GENID-1-12-1-14-1-1-7-1-6-1-4-1-3-4">       <title>Spawn
 APIs</title>       <p>GLib has a set of APIs for process spawning. Since Symbian
 platform does not support the <codeph>fork()</codeph> and <codeph>exec()</codeph> APIs,
 the <codeph>g_spawn*</codeph> APIs have limitations in their functionality.
Binary file Symbian3/PDK/Source/GUID-4AE98C9B-03A9-5F26-BD0F-2A60B01A67F4_d0e429216_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4AE98C9B-03A9-5F26-BD0F-2A60B01A67F4_d0e435061_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4AEBF49C-E62A-5D0D-8181-600BF29DFFC7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4AEBF49C-E62A-5D0D-8181-600BF29DFFC7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,69 +1,59 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-4AEBF49C-E62A-5D0D-8181-600BF29DFFC7" xml:lang="en"><title>IPC:
-IPC Mechanisms</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This example demonstrates how a parent process communicates with its child
-process using various IPC mechanisms. Two executables, a parent and a child
-(spawned by the parent) are created to demonstrate these mechanisms. The child
-process is created by the parent using the <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> function.
-The parent process communicates with the child process using the following
-IPC mechanisms: </p>
-<ul>
-<li id="GUID-D1CABBD1-AC3A-5216-B2A6-D860C876DEDE"><p>Named pipes (FIFO -
-First in First Out) </p> </li>
-<li id="GUID-8FE87BCB-200D-5498-8F1A-851B861F8673"><p>Single pipe (<xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> system
-call) </p> </li>
-</ul>
-<section id="GUID-E584CAE4-BC05-48D5-837C-40B73DD4524F"><title>Download</title><p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c5b6ac05-a3fb-45df-ab11-bd8ccc13537f.zip" scope="external">IPC.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c5b6ac05-a3fb-45df-ab11-bd8ccc13537f.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-5513D686-D38A-49A9-B3B2-2259992A69A8"><title>Description</title> <p><b> Spawning the child process</b> </p> <p>The <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> function
-creates the child process. A pointer to the process ID (<codeph>pid</codeph>)
-of the child process and the path of the child process are passed as arguments
-to this function. The parent waits for the child to terminate by calling the <xref href="GUID-8F5C89A4-7813-32C7-973E-F7F0F3690BC6.dita"><apiname>waitpid()</apiname></xref> function. </p> <p><b> Creating
-a named pipe</b> </p> <p>This example creates a named pipe using the <xref href="GUID-F4749DAA-1B29-3D1D-A3AA-0D52B851E501.dita"><apiname>mkfifo()</apiname></xref> function.
-The child writes data into the FIFO and then exits. The parent reads data
-from FIFO and writes it to the console. The first argument of the <xref href="GUID-F4749DAA-1B29-3D1D-A3AA-0D52B851E501.dita"><apiname>mkfifo()</apiname></xref> function
-indicates the path of the FIFO file. </p> <p><b> Opening a single pipe</b> </p> <p>The
-parent creates a child process and a pipe to the child process using the <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> function.
-A file handle to the pipe is returned to the parent and the parent uses this
-handle to read the data written to the pipe by the child. The path of the
-child process is passed as the first argument to the <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> function. </p> </section>
-<section id="GUID-367A6465-F1C3-46B3-820B-7086E0BE1BEB"><title>Build</title> <p>The following statements are present in all
-the <filepath>.mmp</filepath> files of the example: </p> <codeblock id="GUID-09782F92-8B25-5CF5-8027-599685F5726D" xml:space="preserve">SYSTEMINCLUDE epoc32\include\stdapis
-LIBRARY libc.lib
-STATICLIBRARY libcrt0.lib</codeblock> <p> <b>Note:</b> You require these statements
-because of the following reasons: </p> <ul>
-<li id="GUID-C735ED4D-4FDD-5535-ACA2-C645C3F10762"><p>The <filepath>epoc32\include\stdapis</filepath> directory
-contains header files such as, <filepath>stdio.h</filepath>, <filepath>unistd.h</filepath> and
-so on that are required to build an Open Environment application. </p> </li>
-<li id="GUID-6351CD50-ED02-5DC9-BAAF-971CB92EEAD3"><p>The <filepath>libc.lib</filepath> file
-contains the definitions of all functions that are defined in the header files
-associated with this example. </p> </li>
-<li id="GUID-C7A1D9C5-07E6-5FD1-B770-24180F04623A"><p>The <filepath>libcrt0.lib</filepath> file
-provides the <codeph>E32Main()</codeph> function, which is the entry point
-for the <codeph>main()</codeph> function of the example. </p> </li>
-</ul> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian
-build process</xref> describes how to build this example. The <codeph>IPC</codeph> builds
-the following binaries in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for
-Carbide.c++). </p> <ul>
-<li id="GUID-1F256024-8210-5C50-8B18-0498C0D5C15F"><p> <b>ipcparent.exe:</b> Executable
-of the parent process. </p> </li>
-<li id="GUID-1C755509-96FA-510A-944B-3FEA065C9936"><p> <b>ipcchild.exe:</b> Executable
-of the child process created using the <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> function. </p> </li>
-<li id="GUID-C056BC80-D664-5F25-A730-35220CA0A6B5"><p> <b>fifochild.exe:</b> Executable
-of the child process created using the <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> function. </p> </li>
-</ul> </section>
-<section id="GUID-9F7DC4C5-16C8-4223-80E0-19DDF9E8303E"><title>Runtime setting</title> <p>Two eshells must be opened before
-executing this example. The executable, <filepath>ipcparent.exe</filepath> is
-run in one eshell and the other eshell is used to run the child process <filepath>fifochild.exe</filepath>.
-You can switch between the two eshells by pressing <b>CTRL</b> +<b>ALT</b> +<b>SHIFT</b> +<b>T</b>. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-4AEBF49C-E62A-5D0D-8181-600BF29DFFC7" xml:lang="en"><title>IPC: IPC Mechanisms</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example demonstrates how a parent process communicates with
+its child process using various IPC mechanisms. Two executables, a
+parent and a child (spawned by the parent) are created to demonstrate
+these mechanisms. The child process is created by the parent using
+the <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> function. The parent process
+communicates with the child process using the following IPC mechanisms: </p>
+<ul>
+<li id="GUID-D1CABBD1-AC3A-5216-B2A6-D860C876DEDE"><p>Named pipes
+(FIFO - First in First Out) </p> </li>
+<li id="GUID-8FE87BCB-200D-5498-8F1A-851B861F8673"><p>Single pipe
+(<xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> system call) </p> </li>
+</ul>
+<section id="GUID-E584CAE4-BC05-48D5-837C-40B73DD4524F"><title>Download</title><p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c5b6ac05-a3fb-45df-ab11-bd8ccc13537f.zip" scope="external">IPC.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c5b6ac05-a3fb-45df-ab11-bd8ccc13537f.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-5513D686-D38A-49A9-B3B2-2259992A69A8"><title>Description</title> <p><b> Spawning the child process</b> </p> <p>The <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> function creates the child process. A pointer to the process ID
+(<codeph>pid</codeph>) of the child process and the path of the child
+process are passed as arguments to this function. The parent waits
+for the child to terminate by calling the <xref href="GUID-8F5C89A4-7813-32C7-973E-F7F0F3690BC6.dita"><apiname>waitpid()</apiname></xref> function. </p> <p><b> Creating a named pipe</b> </p> <p>This example
+creates a named pipe using the <xref href="GUID-F4749DAA-1B29-3D1D-A3AA-0D52B851E501.dita"><apiname>mkfifo()</apiname></xref> function.
+The child writes data into the FIFO and then exits. The parent reads
+data from FIFO and writes it to the console. The first argument of
+the <xref href="GUID-F4749DAA-1B29-3D1D-A3AA-0D52B851E501.dita"><apiname>mkfifo()</apiname></xref> function indicates the path of the
+FIFO file. </p> <p><b> Opening a single pipe</b> </p> <p>The parent
+creates a child process and a pipe to the child process using the <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> function. A file handle to the pipe is returned
+to the parent and the parent uses this handle to read the data written
+to the pipe by the child. The path of the child process is passed
+as the first argument to the <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> function. </p> </section>
+<section id="GUID-367A6465-F1C3-46B3-820B-7086E0BE1BEB"><title>Build</title> <p>The following statements are present in all the <filepath>.mmp</filepath> files of the example: </p> <codeblock id="GUID-09782F92-8B25-5CF5-8027-599685F5726D" xml:space="preserve">SYSTEMINCLUDE epoc32\include\stdapis
+LIBRARY libc.lib
+STATICLIBRARY libcrt0.lib</codeblock> <p> <b>Note:</b> You require
+these statements because of the following reasons: </p> <ul>
+<li id="GUID-C735ED4D-4FDD-5535-ACA2-C645C3F10762"><p>The <filepath>epoc32\include\stdapis</filepath> directory contains header files
+such as, <filepath>stdio.h</filepath>, <filepath>unistd.h</filepath> and so on that are required to build an Open Environment application. </p> </li>
+<li id="GUID-6351CD50-ED02-5DC9-BAAF-971CB92EEAD3"><p>The <filepath>libc.lib</filepath> file contains the definitions of all functions
+that are defined in the header files associated with this example. </p> </li>
+<li id="GUID-C7A1D9C5-07E6-5FD1-B770-24180F04623A"><p>The <filepath>libcrt0.lib</filepath> file provides the <codeph>E32Main()</codeph> function, which is the entry point for the <codeph>main()</codeph> function of the example. </p> </li>
+</ul> <p> The <codeph>IPC</codeph> builds the following binaries in
+the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for Carbide.c++). </p> <ul>
+<li id="GUID-1F256024-8210-5C50-8B18-0498C0D5C15F"><p> <b>ipcparent.exe:</b> Executable of the parent process. </p> </li>
+<li id="GUID-1C755509-96FA-510A-944B-3FEA065C9936"><p> <b>ipcchild.exe:</b> Executable of the child process created using the <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> function. </p> </li>
+<li id="GUID-C056BC80-D664-5F25-A730-35220CA0A6B5"><p> <b>fifochild.exe:</b> Executable of the child process created using the <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> function. </p> </li>
+</ul> </section>
+<section id="GUID-9F7DC4C5-16C8-4223-80E0-19DDF9E8303E"><title>Runtime
+setting</title> <p>Two eshells must be opened before executing this
+example. The executable, <filepath>ipcparent.exe</filepath> is run
+in one eshell and the other eshell is used to run the child process <filepath>fifochild.exe</filepath>. You can switch between the two eshells
+by pressing <b>CTRL</b> +<b>ALT</b> +<b>SHIFT</b> +<b>T</b>. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4AEF7595-17C0-513E-9568-B212E6194388.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4AEF7595-17C0-513E-9568-B212E6194388.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -69,7 +69,7 @@
 <title>                 The record buffer cycle               </title>
 <desc><p>The numbers one to five show the buffer cycle under normal operation,
 while the letters A to C show error induced operation. </p> </desc>
-<image href="GUID-1A92047A-3C1D-5B4C-949B-98D770F5F530_d0e409012_href.png" placement="inline"/>
+<image href="GUID-1A92047A-3C1D-5B4C-949B-98D770F5F530_d0e414865_href.png" placement="inline"/>
 </fig> <p>When recording commences, the driver removes two buffers from the
 free list making one the current buffer and the other the next buffer (4 and
 5). </p> <p>When the current buffer is set as filled, the LDD normally adds
Binary file Symbian3/PDK/Source/GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e342014_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e347965_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,8 +12,8 @@
 <task id="GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B" xml:lang="en"><title>Using
 Sensor Channels APIs</title><shortdesc>The Sensor Channel establishes a data exchange connection between
 the sensor framework and hardware using the sensor channel APIs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-4-1-5-1-3-1-1"><cmd>Include the library <b>SensrvClient.lib</b> in
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-4-1-5-1-3-1-1"><cmd>Include the library <b>SensrvClient.lib</b> in
 your <b>.mmp</b> file.</cmd>
 </step>
 <step id="GUID-4F637EBD-BD56-44FA-A984-E93CC4B2B3B6"><cmd>Include the following
Binary file Symbian3/PDK/Source/GUID-4B7410B2-849B-5E89-97BF-E06613F600CB_d0e587983_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4B7410B2-849B-5E89-97BF-E06613F600CB_d0e615877_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4B7FA629-BFC9-594B-B253-AC920EAD6E67_d0e109504_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4B7FA629-BFC9-594B-B253-AC920EAD6E67_d0e111927_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,52 +1,40 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6" xml:lang="en"><title>BitmapsShell:
-dealing with bitmaps</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <b>Note: </b> This example is designed to work with TechView and there
-is no guarantee that it will work with other interfaces. </p>
-<section id="GUID-74B6AED9-FC4B-5076-8F26-4E74D59CC41C"><title>Download</title><p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e054d812-b1ca-4c8e-92b3-fa955030d94b.zip" scope="external">BitmapsShell.zip</xref></p>Download some additional files
-required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e054d812-b1ca-4c8e-92b3-fa955030d94b.html" scope="peer">browse</xref> to view the example code. </p>View the additional
-files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>. </section>
-<section id="GUID-E39C34AA-AF51-4BAB-84A9-47DA75E7D306"><title>Description</title> <p> <filepath>BitmapsShell</filepath> provides
-an application shell, and two concrete controls. </p> <p> <codeph>CGraphicExampleControl</codeph> is
-a control class, derived from <codeph>CCoeControl</codeph>, which links the
-app shell to the particular controls. </p> <p>The <codeph>CBitmapControl</codeph> and <codeph>CFbsControl</codeph> classes,
-derived from <codeph>CGraphicExampleControl</codeph>, define behaviour for
-their particular controls. </p> <p> <codeph>CBitmapControl</codeph> illustrates
-the handling and rendering of bitmaps. </p> <p> <codeph>CFbsControl</codeph> illustrates
-the use of the font and bitmap server. </p> </section>
-<section id="GUID-52E4FBBB-D279-4244-9B3F-AAADD6829476"><title>Build</title> <p>The source code for this example application
-can be found in the directory: </p> <p> <filepath>examples\Graphics\Bitmaps</filepath>  </p> <p>This
-source code may be in the directory in which you installed the Symbian platform,
-or it may be in <filepath>src\common\developerlibrary\</filepath> directory.
-The directory includes the two project files needed for building the example: <filepath>bld.inf</filepath> and
-the <filepath>.mmp</filepath> file. </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this application. For
-the emulator, an application called <filepath>BitmapsShell.exe</filepath> is
-created in <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath>. </p> </section>
-<section id="GUID-04A68A9E-6D1D-48B4-878E-9762840A67C5"><title>Usage</title> <ol id="GUID-3ABD703F-E0C1-578E-8CE9-213718309521">
-<li id="GUID-E238C82F-AB63-5020-AFC6-D381DF702EE8"><p>Launch the emulator: </p> <p> <filepath>\epoc32\release\winscw\&lt;urel
-or udeb&gt;\EPOC.EXE</filepath>. </p> </li>
-<li id="GUID-BA871F35-5B3B-5B24-92B3-A0EC6444ED64"><p>Click on <systemoutput>BITMAPSSHELL</systemoutput> to
-run the application. If using the <i>TechView</i> emulator, this will be in
-the <i>Extras</i> menu. </p> </li>
-<li id="GUID-FD674483-076C-5C17-8557-FECA3D7031F0"><p>The controls are listed
-on the menu <systemoutput>List of                 Programs</systemoutput>.
-Press the appropriate menu item to select a specific control. </p> </li>
-<li id="GUID-B304AB5B-CB36-5803-ADD8-8D941B9AFB57"><p>Step through each phase
-of an example by pressing the space bar or by tapping on the window drawn
-by that example. </p> </li>
-</ol> </section>
-<section id="GUID-6B54F33D-8C26-4B44-9979-996AC5FF0CC1"><title>Class Summary</title><p>By the bitmap control: </p><p><xref href="GUID-339EC4C5-89DC-3972-9579-6DD38D418317.dita"><apiname>TPoint</apiname></xref></p><p><xref href="GUID-101762DC-E498-3325-88AB-B0FF17DC62B6.dita"><apiname>TRect</apiname></xref></p><p><xref href="GUID-938244B2-5E1A-39F7-8ACA-E6DE4C44A313.dita"><apiname>TSize</apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-F84C7F40-6DEB-39D1-B172-CB0CC3918E27.dita"><apiname>TRgb</apiname></xref></p><p><xref href="GUID-2A12FE3B-47F2-3016-8161-A971CA506491.dita"><apiname>CFont</apiname></xref></p><p><xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref></p><p>By
-the font and bitmap server control: </p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref></p></section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6" xml:lang="en"><title>BitmapsShell: dealing with bitmaps</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> <b>Note: </b> This example is designed to work with TechView and
+there is no guarantee that it will work with other interfaces. </p>
+<section id="GUID-74B6AED9-FC4B-5076-8F26-4E74D59CC41C"><title>Download</title><p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e054d812-b1ca-4c8e-92b3-fa955030d94b.zip" scope="external">BitmapsShell.zip</xref></p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e054d812-b1ca-4c8e-92b3-fa955030d94b.html" scope="peer">browse</xref> to view the example code. </p>View the
+additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>. </section>
+<section id="GUID-E39C34AA-AF51-4BAB-84A9-47DA75E7D306"><title>Description</title> <p> <filepath>BitmapsShell</filepath> provides an application shell,
+and two concrete controls. </p> <p> <codeph>CGraphicExampleControl</codeph> is a control class, derived from <codeph>CCoeControl</codeph>, which
+links the app shell to the particular controls. </p> <p>The <codeph>CBitmapControl</codeph> and <codeph>CFbsControl</codeph> classes,
+derived from <codeph>CGraphicExampleControl</codeph>, define behaviour
+for their particular controls. </p> <p> <codeph>CBitmapControl</codeph> illustrates the handling and rendering of bitmaps. </p> <p> <codeph>CFbsControl</codeph> illustrates the use of the font and bitmap server. </p> </section>
+<section id="GUID-52E4FBBB-D279-4244-9B3F-AAADD6829476"><title>Build</title> <p>The source code for this example application can be found in
+the directory: </p> <p> <filepath>examples\Graphics\Bitmaps</filepath>  </p> <p>This source code may be in the directory in which you installed
+the Symbian platform, or it may be in <filepath>src\common\developerlibrary\</filepath> directory. The directory includes the two project files needed for
+building the example: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p>The Symbian build process describes
+how to build this application. For the emulator, an application called <filepath>BitmapsShell.exe</filepath> is created in <filepath>epoc32\release\winscw\&lt;udeb
+or urel&gt;\</filepath>. </p> </section>
+<section id="GUID-04A68A9E-6D1D-48B4-878E-9762840A67C5"><title>Usage</title> <ol id="GUID-3ABD703F-E0C1-578E-8CE9-213718309521">
+<li id="GUID-E238C82F-AB63-5020-AFC6-D381DF702EE8"><p>Launch the emulator: </p> <p> <filepath>\epoc32\release\winscw\&lt;urel or udeb&gt;\EPOC.EXE</filepath>. </p> </li>
+<li id="GUID-BA871F35-5B3B-5B24-92B3-A0EC6444ED64"><p>Click on <systemoutput>BITMAPSSHELL</systemoutput> to run the application. If using the <i>TechView</i> emulator, this will be in the <i>Extras</i> menu. </p> </li>
+<li id="GUID-FD674483-076C-5C17-8557-FECA3D7031F0"><p>The controls
+are listed on the menu <systemoutput>List of                 Programs</systemoutput>. Press the appropriate menu item to select a specific control. </p> </li>
+<li id="GUID-B304AB5B-CB36-5803-ADD8-8D941B9AFB57"><p>Step through
+each phase of an example by pressing the space bar or by tapping on
+the window drawn by that example. </p> </li>
+</ol> </section>
+<section id="GUID-6B54F33D-8C26-4B44-9979-996AC5FF0CC1"><title>Class
+Summary</title><p>By the bitmap control: </p><p><xref href="GUID-339EC4C5-89DC-3972-9579-6DD38D418317.dita"><apiname>TPoint</apiname></xref></p><p><xref href="GUID-101762DC-E498-3325-88AB-B0FF17DC62B6.dita"><apiname>TRect</apiname></xref></p><p><xref href="GUID-938244B2-5E1A-39F7-8ACA-E6DE4C44A313.dita"><apiname>TSize</apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-F84C7F40-6DEB-39D1-B172-CB0CC3918E27.dita"><apiname>TRgb</apiname></xref></p><p><xref href="GUID-2A12FE3B-47F2-3016-8161-A971CA506491.dita"><apiname>CFont</apiname></xref></p><p><xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref></p><p>By the font and bitmap server control: </p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref></p></section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-4BC95F70-2F3F-5CFE-B057-0C5A97430573_d0e237432_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4BC95F70-2F3F-5CFE-B057-0C5A97430573_d0e243405_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4BCE7915-6BF9-5D83-9049-B7FA9725B406_d0e323076_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4BCE7915-6BF9-5D83-9049-B7FA9725B406_d0e329062_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -87,7 +87,7 @@
 be used to compress archives to zip archives. </p> </li>
 </ul> <fig id="GUID-14EAABD4-6E9D-53CA-9515-7504EF0482D7">
 <title>              EZLib Architecture            </title>
-<image href="GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e186238_href.jpg" placement="inline"/>
+<image href="GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e192315_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>APIs</title> <p>The classes exported from <filepath>ezlib.dll</filepath> are
 tabulated below: </p> <table id="GUID-DD3CE37A-8241-5961-B517-03266AE463F0">
Binary file Symbian3/PDK/Source/GUID-4BF48607-54F0-51C8-A3A8-F334454FAC9C_d0e242710_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4BF48607-54F0-51C8-A3A8-F334454FAC9C_d0e248721_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4C00FAF4-B500-5973-AC6C-79274122276A_d0e428942_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4C00FAF4-B500-5973-AC6C-79274122276A_d0e434787_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4C5DB74E-41A5-53CB-A053-CBBEADD31AFF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4C5DB74E-41A5-53CB-A053-CBBEADD31AFF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-4C5DB74E-41A5-53CB-A053-CBBEADD31AFF" xml:lang="en"><title>Architecture</title><shortdesc>Describes the architecture of the DMA Framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The following diagram shows the main parts of the architecture: </p>
 <fig id="GUID-E25AE30D-8EC9-530F-BD3C-FF4D6E5B9049">
-<image href="GUID-AC7830F9-C3FB-5117-B851-1D106AE400D4_d0e377757_href.png" placement="inline"/>
+<image href="GUID-AC7830F9-C3FB-5117-B851-1D106AE400D4_d0e383610_href.png" placement="inline"/>
 </fig>
 <p>The DMA Framework is implemented as a single DLL, which is split into two
 layers: </p>
Binary file Symbian3/PDK/Source/GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e1809_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e1815_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4C859177-7B45-4569-9E27-B207300A7A1C_d0e68219_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4C859177-7B45-4569-9E27-B207300A7A1C_d0e72432_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1" xml:lang="en"><title> Asymmetric
+ciphers -- HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-CBD15CF0-5E62-5446-847E-9E7E0EB1A25E-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1"><title> How do I use
+the asymmetric cryptographic framework? </title> <p>The asymmetric cryptographic
+framework consists of the following logically separate concepts: </p> <ol id="GUID-DC7D223E-57B3-5F96-8487-99F9A5A6CB68-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-3">
+<li id="GUID-DD6E517D-6ABE-5BED-A12C-7F4807B493E1-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-3-1"><p>Key storage classes
+(For instance, <xref href="GUID-5EF9067A-713F-3934-A29E-62F1414D9EF4.dita"><apiname>CRSAPublicKey</apiname></xref>, <xref href="GUID-2A19BF6D-D333-349B-9F2F-76E2F28A7044.dita"><apiname>CDSAPrivateKey</apiname></xref>) </p> </li>
+<li id="GUID-29151A18-EDC2-546C-A44F-3C746B016EDC-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-3-2"><p>Cipher transformation
+classes (<xref href="GUID-F845CB30-7ABE-3EB6-B1B9-C72581897D0C.dita"><apiname>CRSAPKCS1v15Encryptor</apiname></xref>, <xref href="GUID-13B5CDC3-CB8A-34C7-ADD2-FAE6D6915412.dita"><apiname>CDSASigner</apiname></xref>) </p> </li>
+<li id="GUID-8E9E241C-5464-5AB7-BD51-59C75218C3EF-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-3-3"><p>Signature representative
+classes (<xref href="GUID-27876B1C-C1A7-39C2-9266-0D42A86300B4.dita"><apiname>CRSASignature</apiname></xref>, <xref href="GUID-83C9D319-CC1B-355D-85EF-D58C42ABCCCA.dita"><apiname>CDSASignature</apiname></xref>) </p> </li>
+</ol> <p>The first and third are simply containers for their respective concepts.
+Each implementation of item two is responsible for performing one of the four
+primitive operations on some data using a key specified at construction. If
+the operation is signing or verification, then the transformation outputs
+a signature representative class. On the other hand, in the case of encryption
+or decryption, input and output consist of binary descriptor data. </p> <p>Before
+showing some example code, an important note about object ownership. In general,
+unless otherwise stated, the following three rules apply. </p> <ol id="GUID-FFBF1C61-CEB0-573E-9003-86BC4F37319B-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-6">
+<li id="GUID-60A066D8-C525-510D-8502-D6FF245D2B78-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-6-1"><p>All key storage and
+signature representative constructors <b>take ownership</b> of objects given
+to them (typically <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s). </p> </li>
+<li id="GUID-E13072F8-7B6A-547F-80A8-AFC1D198C3E8-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-6-2"><p>All cipher transformation
+classes <b>only use</b> objects given to them (typically key storage classes,
+signature representatives, and descriptors). </p> </li>
+<li id="GUID-B4611B8A-F4D5-5209-A9B7-7B9CC237D64E-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-6-3"><p>Any functions that return
+pointers to objects (typically the Signer classes) <b>transfer ownership</b> of
+the returned object to the caller. </p> </li>
+</ol> <p id="GUID-EE3679E5-FE32-5C72-9EDB-B202A1C4E7FB-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-7"><b>Sample
+code for encryption/decryption</b> </p> <p>The following code illustrates
+how to encrypt data using an RSA PKCS#1 v1.5 encryptor. It assumes you already
+have access to the <xref href="GUID-5EF9067A-713F-3934-A29E-62F1414D9EF4.dita"><apiname>CRSAPublicKey</apiname></xref> you wish to encrypt to. </p> <codeblock id="GUID-A2B3F20C-3437-5F04-BC97-A1A53AF2940D-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-9" xml:space="preserve">
+CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewLC(rsaPublicKey);
+//As per rules described above, encryptor does not own rsaPublicKey
+HBufC8* encryptedMessage = HBufC8::NewLC(encryptor-&gt;MaxOutputLength());
+encryptor-&gt;EncryptL(messageToEncrypt, *encryptedMessage);
+CleanupStack::Pop(encryptedMessage);
+CleanupStack::PopAndDestroy(encryptor); 
+</codeblock> <p>To subsequently decrypt, again presuming access to a <xref href="GUID-53CFA8FB-1C29-3C4F-B72E-15E13B26E00F.dita"><apiname>CRSAPrivateKey</apiname></xref>. </p> <codeblock id="GUID-E822E9A2-B457-5A4E-BF7C-0A19BD0D078A-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-11" xml:space="preserve">
+CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewLC(rsaPrivateKey);
+//As per rules described above, decryptor does not own rsaPrivateKey
+HBufC8* decryptedMessage = HBufC8::NewLC(decryptor-&gt;MaxOutputLength());
+encryptor-&gt;EncryptL(*decryptedMessage, *encryptedMessage);
+CleanupStack::Pop(decryptedMessage);
+CleanupStack::PopAndDestroy(decryptor); 
+</codeblock> <p id="GUID-F6919BBF-8CAD-5CA6-8DA0-5836F6DE63B1-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-12"><b>Sample code
+for signing/verifying</b> </p> <p>All implemented signature systems (both
+signing and verifying) do not perform any manipulation of the input message
+prior to performing their internal signing mechanism. For instance, both <xref href="GUID-2EA351B3-155D-3B44-80FC-6F6827A52AEA.dita"><apiname>CRSAPKCS1v15Signer</apiname></xref> and <xref href="GUID-13B5CDC3-CB8A-34C7-ADD2-FAE6D6915412.dita"><apiname>CDSASigner</apiname></xref> do
+not hash the data to be signed prior to signing it. Some people refer to this
+as a "raw sign primitive". The decision to operate this way was taken because
+large numbers of higher level standards dictate different ways for the data
+to be hashed prior to signing (and similarly for verification) and accomadating
+all of them significantly confused the api. Instead it is suggested a class
+that handles specification specific (for example, RSA signatures for TLS or
+X.509), pre-signing transformation is created. Upon calling a <codeph>Final()</codeph> -like
+call on such a class, it shall return a descriptor that can be "raw signed"
+by the implemented signing primitives. </p> <p>The following code illustrates
+how to DSA sign an unhashed descriptor, <codeph>messageToBeSigned</codeph> given
+a <xref href="GUID-2A19BF6D-D333-349B-9F2F-76E2F28A7044.dita"><apiname>CDSAPrivateKey</apiname></xref>. In this case, the pre-signing transformation
+required by the DSA is simply a SHA-1 hash. As a result, <codeph>CSHA1</codeph> is
+used as the specification specific, pre-signing transformation class. </p> <codeblock id="GUID-28326A2B-C312-506A-9AC2-C77936EF4A58-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-15" xml:space="preserve">
+CDSASigner* signer = CDSASigner::NewLC(dsaPrivateKey);
+//As per rules described above, signer does not own dsaPrivateKey
+CSHA1* sha1 = CSHA1::NewLC();
+CDSASignature* signature = signer-&gt;SignL(sha1-&gt;Final(messageToBeSigned));
+//Caller owns signature as per rules described above.
+CleanupStack::PopAndDestroy(2, signer); //sha1, signer
+CleanupStack::PushL(signature);
+</codeblock> <p>To subsequently verify given a <xref href="GUID-BBB5FEE0-368B-32D8-A30F-CFF4FACBE29A.dita"><apiname>CDSAPublicKey</apiname></xref> and
+a <xref href="GUID-83C9D319-CC1B-355D-85EF-D58C42ABCCCA.dita"><apiname>CDSASignature</apiname></xref>: </p> <codeblock id="GUID-59919AAE-C2B0-5207-8FE2-03A9D7F287AD-GENID-1-12-1-26-1-1-11-1-1-5-1-6-1-2-1-17" xml:space="preserve">
+CDSAVerifier* verifier = CDSAVerifier::NewLC(dsaPublicKey);
+//As per rules described above, verifier does not own dsaPublicKey
+CSHA1* sha1 = CSHA1::NewLC();
+TBool result = verifier-&gt;VerifyL(sha1-&gt;Final(messageToBeVerified), *signature);
+CleanupStack::PopAndDestroy(2, verifier); //sha1, verifier
+</codeblock> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-9-1-5-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-9-1-5-1-7-1" xml:lang="en"><title> Asymmetric
+ciphers -- HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-CBD15CF0-5E62-5446-847E-9E7E0EB1A25E-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1"><title> How do I use
+the asymmetric cryptographic framework? </title> <p>The asymmetric cryptographic
+framework consists of the following logically separate concepts: </p> <ol id="GUID-DC7D223E-57B3-5F96-8487-99F9A5A6CB68-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-3">
+<li id="GUID-DD6E517D-6ABE-5BED-A12C-7F4807B493E1-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-3-1"><p>Key storage classes
+(For instance, <xref href="GUID-5EF9067A-713F-3934-A29E-62F1414D9EF4.dita"><apiname>CRSAPublicKey</apiname></xref>, <xref href="GUID-2A19BF6D-D333-349B-9F2F-76E2F28A7044.dita"><apiname>CDSAPrivateKey</apiname></xref>) </p> </li>
+<li id="GUID-29151A18-EDC2-546C-A44F-3C746B016EDC-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-3-2"><p>Cipher transformation
+classes (<xref href="GUID-F845CB30-7ABE-3EB6-B1B9-C72581897D0C.dita"><apiname>CRSAPKCS1v15Encryptor</apiname></xref>, <xref href="GUID-13B5CDC3-CB8A-34C7-ADD2-FAE6D6915412.dita"><apiname>CDSASigner</apiname></xref>) </p> </li>
+<li id="GUID-8E9E241C-5464-5AB7-BD51-59C75218C3EF-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-3-3"><p>Signature representative
+classes (<xref href="GUID-27876B1C-C1A7-39C2-9266-0D42A86300B4.dita"><apiname>CRSASignature</apiname></xref>, <xref href="GUID-83C9D319-CC1B-355D-85EF-D58C42ABCCCA.dita"><apiname>CDSASignature</apiname></xref>) </p> </li>
+</ol> <p>The first and third are simply containers for their respective concepts.
+Each implementation of item two is responsible for performing one of the four
+primitive operations on some data using a key specified at construction. If
+the operation is signing or verification, then the transformation outputs
+a signature representative class. On the other hand, in the case of encryption
+or decryption, input and output consist of binary descriptor data. </p> <p>Before
+showing some example code, an important note about object ownership. In general,
+unless otherwise stated, the following three rules apply. </p> <ol id="GUID-FFBF1C61-CEB0-573E-9003-86BC4F37319B-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-6">
+<li id="GUID-60A066D8-C525-510D-8502-D6FF245D2B78-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-6-1"><p>All key storage and
+signature representative constructors <b>take ownership</b> of objects given
+to them (typically <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s). </p> </li>
+<li id="GUID-E13072F8-7B6A-547F-80A8-AFC1D198C3E8-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-6-2"><p>All cipher transformation
+classes <b>only use</b> objects given to them (typically key storage classes,
+signature representatives, and descriptors). </p> </li>
+<li id="GUID-B4611B8A-F4D5-5209-A9B7-7B9CC237D64E-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-6-3"><p>Any functions that return
+pointers to objects (typically the Signer classes) <b>transfer ownership</b> of
+the returned object to the caller. </p> </li>
+</ol> <p id="GUID-EE3679E5-FE32-5C72-9EDB-B202A1C4E7FB-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-7"><b>Sample
+code for encryption/decryption</b> </p> <p>The following code illustrates
+how to encrypt data using an RSA PKCS#1 v1.5 encryptor. It assumes you already
+have access to the <xref href="GUID-5EF9067A-713F-3934-A29E-62F1414D9EF4.dita"><apiname>CRSAPublicKey</apiname></xref> you wish to encrypt to. </p> <codeblock id="GUID-A2B3F20C-3437-5F04-BC97-A1A53AF2940D-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-9" xml:space="preserve">
+CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewLC(rsaPublicKey);
+//As per rules described above, encryptor does not own rsaPublicKey
+HBufC8* encryptedMessage = HBufC8::NewLC(encryptor-&gt;MaxOutputLength());
+encryptor-&gt;EncryptL(messageToEncrypt, *encryptedMessage);
+CleanupStack::Pop(encryptedMessage);
+CleanupStack::PopAndDestroy(encryptor); 
+</codeblock> <p>To subsequently decrypt, again presuming access to a <xref href="GUID-53CFA8FB-1C29-3C4F-B72E-15E13B26E00F.dita"><apiname>CRSAPrivateKey</apiname></xref>. </p> <codeblock id="GUID-E822E9A2-B457-5A4E-BF7C-0A19BD0D078A-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-11" xml:space="preserve">
+CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewLC(rsaPrivateKey);
+//As per rules described above, decryptor does not own rsaPrivateKey
+HBufC8* decryptedMessage = HBufC8::NewLC(decryptor-&gt;MaxOutputLength());
+encryptor-&gt;EncryptL(*decryptedMessage, *encryptedMessage);
+CleanupStack::Pop(decryptedMessage);
+CleanupStack::PopAndDestroy(decryptor); 
+</codeblock> <p id="GUID-F6919BBF-8CAD-5CA6-8DA0-5836F6DE63B1-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-12"><b>Sample code
+for signing/verifying</b> </p> <p>All implemented signature systems (both
+signing and verifying) do not perform any manipulation of the input message
+prior to performing their internal signing mechanism. For instance, both <xref href="GUID-2EA351B3-155D-3B44-80FC-6F6827A52AEA.dita"><apiname>CRSAPKCS1v15Signer</apiname></xref> and <xref href="GUID-13B5CDC3-CB8A-34C7-ADD2-FAE6D6915412.dita"><apiname>CDSASigner</apiname></xref> do
+not hash the data to be signed prior to signing it. Some people refer to this
+as a "raw sign primitive". The decision to operate this way was taken because
+large numbers of higher level standards dictate different ways for the data
+to be hashed prior to signing (and similarly for verification) and accomadating
+all of them significantly confused the api. Instead it is suggested a class
+that handles specification specific (for example, RSA signatures for TLS or
+X.509), pre-signing transformation is created. Upon calling a <codeph>Final()</codeph> -like
+call on such a class, it shall return a descriptor that can be "raw signed"
+by the implemented signing primitives. </p> <p>The following code illustrates
+how to DSA sign an unhashed descriptor, <codeph>messageToBeSigned</codeph> given
+a <xref href="GUID-2A19BF6D-D333-349B-9F2F-76E2F28A7044.dita"><apiname>CDSAPrivateKey</apiname></xref>. In this case, the pre-signing transformation
+required by the DSA is simply a SHA-1 hash. As a result, <codeph>CSHA1</codeph> is
+used as the specification specific, pre-signing transformation class. </p> <codeblock id="GUID-28326A2B-C312-506A-9AC2-C77936EF4A58-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-15" xml:space="preserve">
+CDSASigner* signer = CDSASigner::NewLC(dsaPrivateKey);
+//As per rules described above, signer does not own dsaPrivateKey
+CSHA1* sha1 = CSHA1::NewLC();
+CDSASignature* signature = signer-&gt;SignL(sha1-&gt;Final(messageToBeSigned));
+//Caller owns signature as per rules described above.
+CleanupStack::PopAndDestroy(2, signer); //sha1, signer
+CleanupStack::PushL(signature);
+</codeblock> <p>To subsequently verify given a <xref href="GUID-BBB5FEE0-368B-32D8-A30F-CFF4FACBE29A.dita"><apiname>CDSAPublicKey</apiname></xref> and
+a <xref href="GUID-83C9D319-CC1B-355D-85EF-D58C42ABCCCA.dita"><apiname>CDSASignature</apiname></xref>: </p> <codeblock id="GUID-59919AAE-C2B0-5207-8FE2-03A9D7F287AD-GENID-1-12-1-26-1-1-9-1-5-1-7-1-2-1-17" xml:space="preserve">
+CDSAVerifier* verifier = CDSAVerifier::NewLC(dsaPublicKey);
+//As per rules described above, verifier does not own dsaPublicKey
+CSHA1* sha1 = CSHA1::NewLC();
+TBool result = verifier-&gt;VerifyL(sha1-&gt;Final(messageToBeVerified), *signature);
+CleanupStack::PopAndDestroy(2, verifier); //sha1, verifier
+</codeblock> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6" xml:lang="en"><title> Asymmetric
-ciphers -- HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-CBD15CF0-5E62-5446-847E-9E7E0EB1A25E"><title> How do I use
-the asymmetric cryptographic framework? </title> <p>The asymmetric cryptographic
-framework consists of the following logically separate concepts: </p> <ol id="GUID-DC7D223E-57B3-5F96-8487-99F9A5A6CB68">
-<li id="GUID-DD6E517D-6ABE-5BED-A12C-7F4807B493E1"><p>Key storage classes
-(For instance, <xref href="GUID-5EF9067A-713F-3934-A29E-62F1414D9EF4.dita"><apiname>CRSAPublicKey</apiname></xref>, <xref href="GUID-2A19BF6D-D333-349B-9F2F-76E2F28A7044.dita"><apiname>CDSAPrivateKey</apiname></xref>) </p> </li>
-<li id="GUID-29151A18-EDC2-546C-A44F-3C746B016EDC"><p>Cipher transformation
-classes (<xref href="GUID-F845CB30-7ABE-3EB6-B1B9-C72581897D0C.dita"><apiname>CRSAPKCS1v15Encryptor</apiname></xref>, <xref href="GUID-13B5CDC3-CB8A-34C7-ADD2-FAE6D6915412.dita"><apiname>CDSASigner</apiname></xref>) </p> </li>
-<li id="GUID-8E9E241C-5464-5AB7-BD51-59C75218C3EF"><p>Signature representative
-classes (<xref href="GUID-27876B1C-C1A7-39C2-9266-0D42A86300B4.dita"><apiname>CRSASignature</apiname></xref>, <xref href="GUID-83C9D319-CC1B-355D-85EF-D58C42ABCCCA.dita"><apiname>CDSASignature</apiname></xref>) </p> </li>
-</ol> <p>The first and third are simply containers for their respective concepts.
-Each implementation of item two is responsible for performing one of the four
-primitive operations on some data using a key specified at construction. If
-the operation is signing or verification, then the transformation outputs
-a signature representative class. On the other hand, in the case of encryption
-or decryption, input and output consist of binary descriptor data. </p> <p>Before
-showing some example code, an important note about object ownership. In general,
-unless otherwise stated, the following three rules apply. </p> <ol id="GUID-FFBF1C61-CEB0-573E-9003-86BC4F37319B">
-<li id="GUID-60A066D8-C525-510D-8502-D6FF245D2B78"><p>All key storage and
-signature representative constructors <b>take ownership</b> of objects given
-to them (typically <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s). </p> </li>
-<li id="GUID-E13072F8-7B6A-547F-80A8-AFC1D198C3E8"><p>All cipher transformation
-classes <b>only use</b> objects given to them (typically key storage classes,
-signature representatives, and descriptors). </p> </li>
-<li id="GUID-B4611B8A-F4D5-5209-A9B7-7B9CC237D64E"><p>Any functions that return
-pointers to objects (typically the Signer classes) <b>transfer ownership</b> of
-the returned object to the caller. </p> </li>
-</ol> <p id="GUID-EE3679E5-FE32-5C72-9EDB-B202A1C4E7FB"><b>Sample
-code for encryption/decryption</b> </p> <p>The following code illustrates
-how to encrypt data using an RSA PKCS#1 v1.5 encryptor. It assumes you already
-have access to the <xref href="GUID-5EF9067A-713F-3934-A29E-62F1414D9EF4.dita"><apiname>CRSAPublicKey</apiname></xref> you wish to encrypt to. </p> <codeblock id="GUID-A2B3F20C-3437-5F04-BC97-A1A53AF2940D" xml:space="preserve">
-CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewLC(rsaPublicKey);
-//As per rules described above, encryptor does not own rsaPublicKey
-HBufC8* encryptedMessage = HBufC8::NewLC(encryptor-&gt;MaxOutputLength());
-encryptor-&gt;EncryptL(messageToEncrypt, *encryptedMessage);
-CleanupStack::Pop(encryptedMessage);
-CleanupStack::PopAndDestroy(encryptor); 
-</codeblock> <p>To subsequently decrypt, again presuming access to a <xref href="GUID-53CFA8FB-1C29-3C4F-B72E-15E13B26E00F.dita"><apiname>CRSAPrivateKey</apiname></xref>. </p> <codeblock id="GUID-E822E9A2-B457-5A4E-BF7C-0A19BD0D078A" xml:space="preserve">
-CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewLC(rsaPrivateKey);
-//As per rules described above, decryptor does not own rsaPrivateKey
-HBufC8* decryptedMessage = HBufC8::NewLC(decryptor-&gt;MaxOutputLength());
-encryptor-&gt;EncryptL(*decryptedMessage, *encryptedMessage);
-CleanupStack::Pop(decryptedMessage);
-CleanupStack::PopAndDestroy(decryptor); 
-</codeblock> <p id="GUID-F6919BBF-8CAD-5CA6-8DA0-5836F6DE63B1"><b>Sample code
-for signing/verifying</b> </p> <p>All implemented signature systems (both
-signing and verifying) do not perform any manipulation of the input message
-prior to performing their internal signing mechanism. For instance, both <xref href="GUID-2EA351B3-155D-3B44-80FC-6F6827A52AEA.dita"><apiname>CRSAPKCS1v15Signer</apiname></xref> and <xref href="GUID-13B5CDC3-CB8A-34C7-ADD2-FAE6D6915412.dita"><apiname>CDSASigner</apiname></xref> do
-not hash the data to be signed prior to signing it. Some people refer to this
-as a "raw sign primitive". The decision to operate this way was taken because
-large numbers of higher level standards dictate different ways for the data
-to be hashed prior to signing (and similarly for verification) and accomadating
-all of them significantly confused the api. Instead it is suggested a class
-that handles specification specific (for example, RSA signatures for TLS or
-X.509), pre-signing transformation is created. Upon calling a <codeph>Final()</codeph> -like
-call on such a class, it shall return a descriptor that can be "raw signed"
-by the implemented signing primitives. </p> <p>The following code illustrates
-how to DSA sign an unhashed descriptor, <codeph>messageToBeSigned</codeph> given
-a <xref href="GUID-2A19BF6D-D333-349B-9F2F-76E2F28A7044.dita"><apiname>CDSAPrivateKey</apiname></xref>. In this case, the pre-signing transformation
-required by the DSA is simply a SHA-1 hash. As a result, <codeph>CSHA1</codeph> is
-used as the specification specific, pre-signing transformation class. </p> <codeblock id="GUID-28326A2B-C312-506A-9AC2-C77936EF4A58" xml:space="preserve">
-CDSASigner* signer = CDSASigner::NewLC(dsaPrivateKey);
-//As per rules described above, signer does not own dsaPrivateKey
-CSHA1* sha1 = CSHA1::NewLC();
-CDSASignature* signature = signer-&gt;SignL(sha1-&gt;Final(messageToBeSigned));
-//Caller owns signature as per rules described above.
-CleanupStack::PopAndDestroy(2, signer); //sha1, signer
-CleanupStack::PushL(signature);
-</codeblock> <p>To subsequently verify given a <xref href="GUID-BBB5FEE0-368B-32D8-A30F-CFF4FACBE29A.dita"><apiname>CDSAPublicKey</apiname></xref> and
-a <xref href="GUID-83C9D319-CC1B-355D-85EF-D58C42ABCCCA.dita"><apiname>CDSASignature</apiname></xref>: </p> <codeblock id="GUID-59919AAE-C2B0-5207-8FE2-03A9D7F287AD" xml:space="preserve">
-CDSAVerifier* verifier = CDSAVerifier::NewLC(dsaPublicKey);
-//As per rules described above, verifier does not own dsaPublicKey
-CSHA1* sha1 = CSHA1::NewLC();
-TBool result = verifier-&gt;VerifyL(sha1-&gt;Final(messageToBeVerified), *signature);
-CleanupStack::PopAndDestroy(2, verifier); //sha1, verifier
-</codeblock> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,30 +9,27 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C" xml:lang="en"><title>Open
-C libz Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The example demonstrates how to use the libz library to compress a file
-and decompress it. The library can compress and decompress any kind of file
-(txt, doc, xls, xml, mpeg, ppt, mp3 etc). </p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-11-1-2-2"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4e9f70e8-96f8-45be-90fc-00c9071cf562.zip" scope="external"> openclibz.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4e9f70e8-96f8-45be-90fc-00c9071cf562.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-11-1-2-3"><title>Design and
-Implementation</title> <p>The following sections provide more information
-about the steps that the example performs. </p> <p><b>Capabilities</b> </p>Program
-capabilities are defined in <filepath>openclibz.mmp</filepath>: <codeph>CAPABILITY
-None</codeph><p><b>Implementation details of EXE</b> </p>This example is a
-console based application. This application can be launched from the icon
-(openclibz) in installed folder and also from eshell.  When we launch it through
-icon it prompts the user to enter the mode to process. The strategy parameter
-is used to select the compression algorithm. For compressing a file, it reads
-the file and then compresses it using the API of the libz library and then
-stores the compressed content in a (.gz) file. If you want to decompress,
-type d.  For decompressing a file, it opens the compressed (.gz) file using
-libz API's  and then reads the content and decompresses it . To check what
-happens to the content of the string after compression then type s. Enter
-the string you want and see the data in compressed format .   This option
-is to demonstrate compression of string using libz API's.<p>To run this application
-through eshell: </p><p><codeblock xml:space="preserve"> Usage :  openclibz [-d] [-f] [-h] [-r] [-1 to -9] [files...]
+<concept id="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C" xml:lang="en"><title>Open C libz Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The example demonstrates how to use the libz library to compress
+a file and decompress it. The library can compress and decompress
+any kind of file (txt, doc, xls, xml, mpeg, ppt, mp3 etc). </p>
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-11-1-2-2"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4e9f70e8-96f8-45be-90fc-00c9071cf562.zip" scope="external"> openclibz.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4e9f70e8-96f8-45be-90fc-00c9071cf562.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-11-1-2-3"><title>Design
+and Implementation</title> <p>The following sections provide more
+information about the steps that the example performs. </p> <p><b>Capabilities</b> </p>Program capabilities are defined in <filepath>openclibz.mmp</filepath>: <codeph>CAPABILITY None</codeph><p><b>Implementation
+details of EXE</b> </p>This example is a console based application.
+This application can be launched from the icon (openclibz) in installed
+folder and also from eshell.  When we launch it through icon it prompts
+the user to enter the mode to process. The strategy parameter is used
+to select the compression algorithm. For compressing a file, it reads
+the file and then compresses it using the API of the libz library
+and then stores the compressed content in a (.gz) file. If you want
+to decompress, type d.  For decompressing a file, it opens the compressed
+(.gz) file using libz API's  and then reads the content and decompresses
+it . To check what happens to the content of the string after compression
+then type s. Enter the string you want and see the data in compressed
+format .   This option is to demonstrate compression of string using
+libz API's.<p>To run this application through eshell: </p><p><codeblock xml:space="preserve"> Usage :  openclibz [-d] [-f] [-h] [-r] [-1 to -9] [files...]
    -d : decompress
    -f : compress with Z_FILTERED
    -h : compress with Huffman encoding
@@ -40,27 +37,27 @@
    -1 to -9 : compression level
    files : absolute path of files
 </codeblock></p><p><b>Some usage tips</b></p><p>Once you choose compression
-process, enter the file name. You should provide absolute path of the file
-you want to compress.  <filepath>(drive letter):\[(folder name)\]filename</filepath>.
-  To get : on phone you have to press 1 few times.  To get on phone you have
-to press 1 few times.  To get on emulator is bit tricky. If you are lucky
-then pressing 1 will get it for you, otherwise change the mode. using "\ BUTTON"
-(Just above the enter button in the keyboard) and then try pressing 1.  To
-press enter on phone we are supposed to press 0 four times. </p><p><b>Cross
-platform usage</b></p><p>We can compress the file on any platform and uncompress
-it on any other platform.  For example Unix's gzip files can be compressed
-using the example application and decompressed using Unix's gunzip.   Compression
-can be done in a single step, if the buffers are large enough; or compression
-can be done by repeated calls of the compression function. In the second scenario,
-application must provide more input and consume the output (providing more
-output space) before each call. </p></section>
-<section id="GUID-D72E3F44-9925-456B-9B1D-FBCBAC2548DA"><b>APIs Used</b><p><codeph>compress</codeph>, <codeph>uncompress</codeph>, <codeph>gzopen</codeph>, <codeph>gzclose</codeph>, <codeph>gzread</codeph>, <codeph>gzwrite</codeph>, <codeph>gzerror</codeph> from
-libz library</p><p> <codeph>fopen</codeph>, <codeph>fclose</codeph>, <codeph>fread</codeph>, <codeph>fwrite</codeph>, <codeph>mmap</codeph>, <codeph>munmap</codeph>, <codeph>fstat</codeph>, <codeph>unlink</codeph>, <codeph>printf</codeph>, <codeph>scanf</codeph> from
-libc library </p></section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-11-1-2-5"><title>Building and
-Using</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this example application. </p> To
-build the example application, go to the openclibz\group directory and build
-the application.  The definition for the whole application can be found in
-the bld.inf file in the group subdirectory of the applications main directory. </section>
+process, enter the file name. You should provide absolute path of
+the file you want to compress.  <filepath>(drive letter):\[(folder
+name)\]filename</filepath>.   To get : on phone you have to press
+1 few times.  To get on phone you have to press 1 few times.  To get
+on emulator is bit tricky. If you are lucky then pressing 1 will get
+it for you, otherwise change the mode. using "\ BUTTON" (Just above
+the enter button in the keyboard) and then try pressing 1.  To press
+enter on phone we are supposed to press 0 four times. </p><p><b>Cross
+platform usage</b></p><p>We can compress the file on any platform
+and uncompress it on any other platform.  For example Unix's gzip
+files can be compressed using the example application and decompressed
+using Unix's gunzip.   Compression can be done in a single step, if
+the buffers are large enough; or compression can be done by repeated
+calls of the compression function. In the second scenario, application
+must provide more input and consume the output (providing more output
+space) before each call. </p></section>
+<section id="GUID-D72E3F44-9925-456B-9B1D-FBCBAC2548DA"><b>APIs Used</b><p><codeph>compress</codeph>, <codeph>uncompress</codeph>, <codeph>gzopen</codeph>, <codeph>gzclose</codeph>, <codeph>gzread</codeph>, <codeph>gzwrite</codeph>, <codeph>gzerror</codeph> from libz library</p><p> <codeph>fopen</codeph>, <codeph>fclose</codeph>, <codeph>fread</codeph>, <codeph>fwrite</codeph>, <codeph>mmap</codeph>, <codeph>munmap</codeph>, <codeph>fstat</codeph>, <codeph>unlink</codeph>, <codeph>printf</codeph>, <codeph>scanf</codeph> from libc library </p></section>
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-11-1-2-5"><title>Building
+and Using</title> <p>The Symbian build process describes how to build
+this example application. </p> To build the example
+application, go to the openclibz\group directory and build the application.
+ The definition for the whole application can be found in the bld.inf
+file in the group subdirectory of the applications main directory. </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4CEB52EC-8F08-53B7-A900-AF163316D442.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4CEB52EC-8F08-53B7-A900-AF163316D442.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 as, TCP/IP, are performed by MTMs. The Messaging Framework provides APIs to
 enable storage of messages in the Message Store. It also provides APIs to
 manipulate messages in the Message Store.</p><fig id="GUID-79BA59FD-0DC0-45FF-8882-1E4CB08F5A2C">
-<image href="GUID-A950288B-D9D8-59E3-9F4C-0AEE2FC77E38_d0e477296_href.jpg" placement="inline"/>
+<image href="GUID-A950288B-D9D8-59E3-9F4C-0AEE2FC77E38_d0e483125_href.jpg" placement="inline"/>
 </fig></section>
 <section id="GUID-785B1C63-F749-4D9F-AF08-A38C66DBE4DA"><title>Documentation and examples</title><p>The following sections
 list tutorials and example applications that can be referred while creating
Binary file Symbian3/PDK/Source/GUID-4CFFD28E-25B5-5B3F-859F-DF8ADC1DC029_d0e260233_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4CFFD28E-25B5-5B3F-859F-DF8ADC1DC029_d0e266242_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4D4CB4DC-9B9A-5256-B949-C5E9F369D9C6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-4D4CB4DC-9B9A-5256-B949-C5E9F369D9C6"><title>help</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph>  <codeph>help</codeph>  <codeph>( ( [ options ] | [ commands ] ) | </codeph> ( <varname>command</varname> ) )</p> <p>This command provides a brief guide to <filepath>abld</filepath> command-line syntax.</p> <p><codeph>abld help options</codeph> lists the options available with <filepath>abld</filepath>.</p> <p><codeph>abld help commands</codeph> lists the available commands.</p> <p><codeph>abld help command</codeph> displays the syntax for a particular command, and also a brief description of what the command is used for.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-4D82B904-71BF-4945-85ED-655AF8879FF9_d0e99434_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4D92E302-3145-4453-AFA1-F5C5BDF933F9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4D92E302-3145-4453-AFA1-F5C5BDF933F9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -97,10 +97,19 @@
 </row>
 <row>
 <entry><xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita#GUID-30479BE3-296E-3B4D-914D-B080ABD733E4/GUID-A61D694F-FDC7-369A-947C-7AD8A340768A"><apiname>CWsScreenDevice::SetPalette()</apiname></xref>, <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita#GUID-30479BE3-296E-3B4D-914D-B080ABD733E4/GUID-41C7C9DB-BE16-3473-8B28-F452728C288E"><apiname>CWsScreenDevice::PaletteAttributes()</apiname></xref>, and <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita#GUID-30479BE3-296E-3B4D-914D-B080ABD733E4/GUID-C51950BE-3E3A-3CB7-B986-6C2BC6B11FCB"><apiname>CWsScreenDevice::GetPalette()</apiname></xref>.</entry>
-<entry>These APIs are not supported. All calls to these
-APIs will return KErrNotSupported. If the existing applications using
-these APIs check for KErrNotSupported error, will continue to work
-without any change. All other applications must be modified and rebuilt.</entry>
+<entry>These APIs are not supported. All calls to these APIs will
+return KErrNotSupported. If the existing applications using these
+APIs check for KErrNotSupported error, will continue to work without
+any change. All other applications must be modified and rebuilt.</entry>
+</row>
+<row>
+<entry><xref href="GUID-24C7AE25-B44A-3B6F-AA05-EA90A8D36129.dita"><apiname>CDirectScreenAccess</apiname></xref>, <xref href="GUID-E2092CF9-98E8-3206-91B2-36011AA6FB77.dita"><apiname>RDirectScreenAccess</apiname></xref>, and <xref href="GUID-5A289A8A-1485-3AB9-94CF-177B83D4F450.dita"><apiname>MDirectScreenAccess</apiname></xref>.</entry>
+<entry>The usage of these Direct Screen Access (DSA)
+APIs has changed in Symbian^3 because of the ScreenPlay feature, which
+recommends using external surfaces instead of DSA to write to screen.
+Refer to <xref href="GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita">DSA
+Migration Guide</xref> for information on how to use these APIs in
+Symbian^3.</entry>
 </row>
 </tbody>
 </tgroup>
--- a/Symbian3/PDK/Source/GUID-4D93A8E2-DB78-5681-BD0E-54B02D92140F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4D93A8E2-DB78-5681-BD0E-54B02D92140F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 interacts with hardware through the Hardware Adaptation Layer (HAL) and abstracts
 hardware to mobile TV middleware. The diagramatic representation is shown
 below: </p> <fig id="GUID-3B3597B1-1BA0-5865-9275-2F39FBC1CBD6">
-<image href="GUID-B4E5F308-DC7A-5547-8948-9DDCBC104918_d0e524993_href.png" placement="inline"/>
+<image href="GUID-B4E5F308-DC7A-5547-8948-9DDCBC104918_d0e532453_href.png" placement="inline"/>
 </fig> </section>
 <section><title>API summary</title> <p>The Mobile TV DVB-H Receiver HAI component
 includes the following APIs: </p> <ul>
Binary file Symbian3/PDK/Source/GUID-4DACC8E6-090F-5FDE-9D67-5B43A9E8C6B2_d0e450805_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DACC8E6-090F-5FDE-9D67-5B43A9E8C6B2_d0e456650_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DB70D45-1E74-5357-9824-566962316E12_d0e139221_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DB70D45-1E74-5357-9824-566962316E12_d0e141470_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DBE998D-9699-5770-8182-929FDCAA7E26_d0e477601_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DBE998D-9699-5770-8182-929FDCAA7E26_d0e483430_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DE6423B-9731-5168-B563-8F263AAF1482_d0e464262_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4DE6423B-9731-5168-B563-8F263AAF1482_d0e470107_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4E1D4E5D-7CE6-5A93-9170-BEF2937FC953_d0e239799_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4E1D4E5D-7CE6-5A93-9170-BEF2937FC953_d0e245809_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE"><title>How to use the audio player utility </title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4E5B1276-07D1-562A-8EE8-21DDE78D2CE5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4E5B1276-07D1-562A-8EE8-21DDE78D2CE5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -100,7 +100,7 @@
 the system state is transitioned from ‘Normal’ to ‘Shutdown’. </p> <fig id="GUID-C6D2D6B9-FE2D-5265-94EC-DF1D6128ACA9">
 <title>                 System state transition from 'Normal' to 'Shutdown'
               </title>
-<image href="GUID-1686AFA7-F0FA-5B3D-9E2F-EE2D7CDC338B_d0e161014_href.png" placement="inline"/>
+<image href="GUID-1686AFA7-F0FA-5B3D-9E2F-EE2D7CDC338B_d0e167115_href.png" placement="inline"/>
 </fig> <p><b>Symbian defined system state transitions</b> </p> <p>The following
 events cause transitions in Symbian defined system state: </p> <ol id="GUID-D8F4E705-1C48-5222-956E-0D74835EEDD6">
 <li id="GUID-9BFC161B-D1CE-5BB4-868A-F86E432E12BC"><p> <b>Undefined -&gt; Start-up:</b>  </p> <p>In
Binary file Symbian3/PDK/Source/GUID-4E6520E8-4BF1-55D1-B643-81B8D2816D1D_d0e285809_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4E6520E8-4BF1-55D1-B643-81B8D2816D1D_d0e291801_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,10 +9,80 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74"><title>Handling BLOBs</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to Binary Large Objects (BLOB) in Symbian SQL. </p> <section><title>Purpose</title> <p>A BLOB is an SQL database container object for binary large objects, usually images or audio files but may also include other binary files such as an application executable. </p> </section> <section><title>Features of SQL BLOB</title> <p>BLOBS offer the following features: </p> <ul><li id="GUID-50CE608F-04BA-5D0F-BA59-E608F4B10989"><p>read from and write to BLOB objects in a RAM-efficient manner -- enables an overall reduction of RAM usage, </p> </li> <li id="GUID-60702664-4ABF-5F90-9DDE-C77969C0DC0B"><p>reduced read latency (compared to previous versions) -- improving the responsiveness of client applications, </p> </li> <li id="GUID-72DAFF78-CF0D-50F0-8C29-BF95920D2CA0"><p>larger BLOB objects can be stored and retrieved (&gt;16Mb). Before version 9.5 there was a limit on the size of a BLOB object supported by Symbian SQL. This limit was dictated by the amount of server-side RAM available. Applications that needed to store large BLOB objects in their database (for example, MP3 files) are no longer restricted by this limit. </p> </li> <li id="GUID-D66B611B-8908-59B1-A7BA-BED5D6702509"><p>The maximum possible length for a blob is 2147483647 bytes. </p> </li> </ul> </section> <section><title>Streaming</title> <p>The classes <xref href="GUID-03426E55-3C0A-322B-9CE7-556D63FD762F.dita"><apiname>RSqlBlobReadStream</apiname></xref> and <xref href="GUID-9D7747B6-E090-3450-9906-845B549F966F.dita"><apiname>RSqlBlobWriteStream</apiname></xref> allow direct access to BLOB content. These classes do not require the whole BLOB to be loaded into RAM before streaming can begin. These classes match the standard Symbian <xref href="GUID-81056EAD-722C-373F-A8CF-4CC67A5B4468.dita"><apiname>RReadStream</apiname></xref> /<xref href="GUID-ADAC48A2-3D24-306B-9473-70201F4D351D.dita"><apiname>RWriteStream</apiname></xref> idiom. </p> <p>The server intelligently chooses the size of an internal buffer to incrementally read/write the requested blob data in blocks. The size of the buffer is calculated based on a combination of the size of the request and the value of <codeph>aBlockSizeHint</codeph> (if specified). </p> <p> <codeph>aBlockSizeHint</codeph> is provided by the client to provide a hint to the server about the size of block that it is intending to use to read/write the blob data. This is advance information about the intended behaviour of the client that the server may use to its benefit to read/write the blob data. </p> </section> <section><title>Whole-blob access</title> <p>The class <xref href="GUID-78544D11-1972-3492-9BD7-D794240895E1.dita"><apiname>TSqlBlob</apiname></xref> allows one-shot storage and retrieval of whole blobs. This class avoids the need for double buffering of the blob in both the client and the server. </p> <p>there are two versions of the BLOB get functions. One is <i>non-leaving</i> and the other is <i>leaving</i>. </p> <p>Use the non-leaving variant when the client knows that the blob will either: </p> <ul><li id="GUID-557D1A55-1E94-56F6-8794-1257ED5D2E17"><p>all be of a fixed size, </p> </li> <li id="GUID-7C5CA733-C030-5761-A2C0-5EAA7A3B50FD"><p>not exceed an upper size limit. </p> </li> </ul> <p>In these situations the client can pre-allocate a buffer and avoid the overhead of memory allocation. </p> <p>Use the leaving variant when the client does not have prior knowledge of the BLOB size (or if the size varies wildly). In this situation the server allocates a buffer and passes ownership to the client. </p> </section> <section><title>RAM benefits</title> <p>Symbian SQL has been improved to eliminate the need for a 2 MB server-side buffer. Data is transferred to the client in blocks so for example, the server-side buffer may be reduced to 32 KB. </p> <p>Previous to version 9.5, both whole-blob and streaming use cases require up to 3MB of server-side RAM. The page cache size is capped at 1MB due to a built-in limiting mechanism. But, a 2MB buffer must be allocated to hold the entire blob. A critical side-effect of this is that, due to heap exhaustion, there is a maximum limit on the size of a blob object that can be written to or read from a database. </p> <p>In the following diagram the top two sections illustrate whole-blob retrieval in which the entire blob is retrieved in one go using <xref href="GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A.dita"><apiname>RSqlStatement</apiname></xref>. The bottom section illustrates streaming retrieval in which the blob is retrieved in blocks specified by the client using <xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref>. </p> <fig id="GUID-60AEFF09-235C-55F3-BBEF-D484964A4A82"><title>
-             Reading a 2MB blob. 
-          </title> <image href="GUID-739556F5-A2F3-5548-943C-7D50785DFB48_d0e587286_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-5C3005B3-7008-5209-A2BD-D52B8B422D58.dita"><linktext>SQL Security
-                Policies</linktext> </link> <link href="GUID-CB33868A-139C-5976-B021-709E663FA21B.dita"><linktext>Database file
-                format</linktext> </link> <link href="GUID-DA1D327C-141C-524A-AD57-5E246745808D.dita"><linktext>SQLite
-                Modules</linktext> </link> <link href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita"><linktext>Free Space
-                Reclaimation</linktext> </link> <link><linktext/></link><link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
+<concept id="GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74" xml:lang="en"><title>Handling BLOBs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This document introduces you to Binary Large Objects (BLOB) in
+Symbian SQL. </p>
+<section id="GUID-EAAD8374-EFB5-496A-993E-84D310F7CDFE"><title>Purpose</title> <p>A BLOB is an SQL database container
+object for binary large objects, usually images or audio files but
+may also include other binary files such as an application executable. </p> </section>
+<section id="GUID-A53CDAF5-D5A4-4230-90DA-9F942F26CED3"><title>Features of SQL BLOB</title> <p>BLOBS offer the following
+features: </p> <ul>
+<li id="GUID-50CE608F-04BA-5D0F-BA59-E608F4B10989"><p>read from and
+write to BLOB objects in a RAM-efficient manner -- enables an overall
+reduction of RAM usage, </p> </li>
+<li id="GUID-60702664-4ABF-5F90-9DDE-C77969C0DC0B"><p>reduced read
+latency (compared to previous versions) -- improving the responsiveness
+of client applications, </p> </li>
+<li id="GUID-72DAFF78-CF0D-50F0-8C29-BF95920D2CA0"><p>larger BLOB
+objects can be stored and retrieved (&gt;16Mb). Before version 9.5 there
+was a limit on the size of a BLOB object supported by Symbian SQL.
+This limit was dictated by the amount of server-side RAM available.
+Applications that needed to store large BLOB objects in their database
+(for example, MP3 files) are no longer restricted by this limit. </p> </li>
+<li id="GUID-D66B611B-8908-59B1-A7BA-BED5D6702509"><p>The maximum
+possible length for a blob is 2147483647 bytes. </p> </li>
+</ul> </section>
+<section id="GUID-E2F1B6E4-D146-4467-AE17-169C55579012"><title>Streaming</title> <p>The classes <xref href="GUID-03426E55-3C0A-322B-9CE7-556D63FD762F.dita"><apiname>RSqlBlobReadStream</apiname></xref> and <xref href="GUID-9D7747B6-E090-3450-9906-845B549F966F.dita"><apiname>RSqlBlobWriteStream</apiname></xref> allow direct access to
+BLOB content. These classes do not require the whole BLOB to be loaded
+into RAM before streaming can begin. These classes match the standard
+Symbian <xref href="GUID-81056EAD-722C-373F-A8CF-4CC67A5B4468.dita"><apiname>RReadStream</apiname></xref> /<xref href="GUID-ADAC48A2-3D24-306B-9473-70201F4D351D.dita"><apiname>RWriteStream</apiname></xref> idiom. </p> <p>The server intelligently chooses the size of an internal
+buffer to incrementally read/write the requested blob data in blocks.
+The size of the buffer is calculated based on a combination of the
+size of the request and the value of <codeph>aBlockSizeHint</codeph> (if specified). </p> <p> <codeph>aBlockSizeHint</codeph> is provided
+by the client to provide a hint to the server about the size of block
+that it is intending to use to read/write the blob data. This is advance
+information about the intended behaviour of the client that the server
+may use to its benefit to read/write the blob data. </p> </section>
+<section id="GUID-1DBAF5CA-1FD4-4D94-BD28-B00E8049C7DC"><title>Whole-blob access</title> <p>The class <xref href="GUID-78544D11-1972-3492-9BD7-D794240895E1.dita"><apiname>TSqlBlob</apiname></xref> allows one-shot storage and retrieval of whole blobs. This class
+avoids the need for double buffering of the blob in both the client
+and the server. </p> <p>there are two versions of the BLOB get functions.
+One is <i>non-leaving</i> and the other is <i>leaving</i>. </p> <p>Use the non-leaving variant when the client knows that the blob will
+either: </p> <ul>
+<li id="GUID-557D1A55-1E94-56F6-8794-1257ED5D2E17"><p>all be of a
+fixed size, </p> </li>
+<li id="GUID-7C5CA733-C030-5761-A2C0-5EAA7A3B50FD"><p>not exceed an
+upper size limit. </p> </li>
+</ul> <p>In these situations the client can pre-allocate a buffer
+and avoid the overhead of memory allocation. </p> <p>Use the leaving
+variant when the client does not have prior knowledge of the BLOB
+size (or if the size varies wildly). In this situation the server
+allocates a buffer and passes ownership to the client. </p> </section>
+<section id="GUID-DEA6CB21-B0E7-4CCD-A0FD-44C979352009"><title>RAM benefits</title> <p>Symbian SQL has been improved
+to eliminate the need for a 2 MB server-side buffer. Data is transferred
+to the client in blocks so for example, the server-side buffer may
+be reduced to 32 KB. </p> <p>Previous to version 9.5, both whole-blob
+and streaming use cases require up to 3MB of server-side RAM. The
+page cache size is capped at 1MB due to a built-in limiting mechanism.
+But, a 2MB buffer must be allocated to hold the entire blob. A critical
+side-effect of this is that, due to heap exhaustion, there is a maximum
+limit on the size of a blob object that can be written to or read
+from a database. </p> <p>In the following diagram the top two sections
+illustrate whole-blob retrieval in which the entire blob is retrieved
+in one go using <xref href="GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A.dita"><apiname>RSqlStatement</apiname></xref>. The bottom section
+illustrates streaming retrieval in which the blob is retrieved in
+blocks specified by the client using <xref href="GUID-35BF7B4A-C4F7-3215-B5DF-6D0682247976.dita"><apiname>RSqlColumnReadStream</apiname></xref>. </p> <fig id="GUID-60AEFF09-235C-55F3-BBEF-D484964A4A82">
+<title>              Reading a 2MB blob.            </title>
+<image href="GUID-739556F5-A2F3-5548-943C-7D50785DFB48_d0e636585_href.png" placement="inline"/>
+</fig> </section>
+</conbody><related-links>
+<link href="GUID-5C3005B3-7008-5209-A2BD-D52B8B422D58.dita"><linktext>SQL
+Security  Policies</linktext></link>
+<link href="GUID-CB33868A-139C-5976-B021-709E663FA21B.dita"><linktext>Database
+file  format</linktext></link>
+<link href="GUID-DA1D327C-141C-524A-AD57-5E246745808D.dita"><linktext>SQLite
+ Modules</linktext></link>
+<link href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita"><linktext> Reclaiming
+Free Space </linktext></link>
+<link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL
+Overview</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-4F273D6C-073F-580B-8B1E-E23BECEFCAB1_d0e424722_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F273D6C-073F-580B-8B1E-E23BECEFCAB1_d0e430567_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F5DCA9A-E535-54B4-B8B2-30549AC12A51_d0e264523_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F5DCA9A-E535-54B4-B8B2-30549AC12A51_d0e270523_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F8197C3-D61B-579A-81E9-ED6397EB5645_d0e456038_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F8197C3-D61B-579A-81E9-ED6397EB5645_d0e461883_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F879832-8425-5C56-B3FE-4C4592EBB6A5_d0e514747_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4F879832-8425-5C56-B3FE-4C4592EBB6A5_d0e522211_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1"><title>Secure Sockets Interface</title><shortdesc>This section describes the Secure sockets interface. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Description of the interface</title> <p>Secure Sockets allow the user to transport data over a public network. It provides both parties the ability to authenticate and to encrypt the data being sent. </p> <p>Secure sockets implement the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> interface and its methods to: </p> <ul><li id="GUID-2CDBE4E3-8043-5351-A0F9-B6CC7183FFE7-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-1-4-1"><p>create and close a secure connection </p> </li> <li id="GUID-71FC7CFA-6052-5743-AEE9-2078D2E7713F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-1-4-2"><p>specify and query the certificates used in a connection </p> </li> <li id="GUID-92A2E6A1-7A10-5EAC-B96E-F0FC0FF759C4-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-1-4-3"><p>send and receive data </p> </li> </ul> <p>This interface supports implementations that act in both the client modes, that is, connecting to a remote secure server, and acting as a server for remote clients. </p> <p>Secure socket implementations are used to secure an open and a connected socket. An application creates an instance of the <codeph>CSecureSocket</codeph> with reference to a connected <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> and a protocol name to use. The <codeph>CSecureSocket</codeph> finds, loads, and creates a secure socket of the implementation. The <codeph>CSecureSocket</codeph> owns an instance of the <codeph>CSecureSocket</codeph> implementation object and acts as a proxy, sending any method calls to the actual implementation object. </p> <p>Protocol implementations are not directly exposed to applications. From the applications, the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> class hides the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> class and the plug-in nature of the implementations. Secure sockets are created through the static <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita#GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C/GUID-78262DF7-7741-369D-80F2-5229C8F3F801"><apiname>CSecureSocket::NewL()</apiname></xref> method. </p> <p>A secure socket plug-in is provided for TLS1.0 or SSL3.0. </p> </section> <section><title>Protocol implementations</title> <p>Protocol implementations use the methods of the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> to: </p> <ul><li id="GUID-BCECAC51-7367-536D-9E91-CFD135517587-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-2-3-1"><p>set a secure socket </p> </li> <li id="GUID-746E3F28-46E9-5E4A-800C-44DDE5C611BE-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-2-3-2"><p>set or get the current server certificate </p> </li> <li id="GUID-E8146070-36EC-5B72-9C32-616CA59B4D98-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-2-3-3"><p>set or get a protocol or version, if the implementations supports more than one </p> </li> <li id="GUID-9984158C-AAB9-57D7-8972-1ECF8A8B4FA1-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1-3-2-3-4"><p>set or get the supported cipher suites. <b>Note</b>: Cipher suites are methods of encrypting the text. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets Server</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1"><title>Secure Sockets Interface</title><shortdesc>This section describes the Secure sockets interface. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Description of the interface</title> <p>Secure Sockets allow the user to transport data over a public network. It provides both parties the ability to authenticate and to encrypt the data being sent. </p> <p>Secure sockets implement the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> interface and its methods to: </p> <ul><li id="GUID-2CDBE4E3-8043-5351-A0F9-B6CC7183FFE7-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-1-4-1"><p>create and close a secure connection </p> </li> <li id="GUID-71FC7CFA-6052-5743-AEE9-2078D2E7713F-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-1-4-2"><p>specify and query the certificates used in a connection </p> </li> <li id="GUID-92A2E6A1-7A10-5EAC-B96E-F0FC0FF759C4-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-1-4-3"><p>send and receive data </p> </li> </ul> <p>This interface supports implementations that act in both the client modes, that is, connecting to a remote secure server, and acting as a server for remote clients. </p> <p>Secure socket implementations are used to secure an open and a connected socket. An application creates an instance of the <codeph>CSecureSocket</codeph> with reference to a connected <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> and a protocol name to use. The <codeph>CSecureSocket</codeph> finds, loads, and creates a secure socket of the implementation. The <codeph>CSecureSocket</codeph> owns an instance of the <codeph>CSecureSocket</codeph> implementation object and acts as a proxy, sending any method calls to the actual implementation object. </p> <p>Protocol implementations are not directly exposed to applications. From the applications, the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> class hides the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> class and the plug-in nature of the implementations. Secure sockets are created through the static <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita#GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C/GUID-78262DF7-7741-369D-80F2-5229C8F3F801"><apiname>CSecureSocket::NewL()</apiname></xref> method. </p> <p>A secure socket plug-in is provided for TLS1.0 or SSL3.0. </p> </section> <section><title>Protocol implementations</title> <p>Protocol implementations use the methods of the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> to: </p> <ul><li id="GUID-BCECAC51-7367-536D-9E91-CFD135517587-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-2-3-1"><p>set a secure socket </p> </li> <li id="GUID-746E3F28-46E9-5E4A-800C-44DDE5C611BE-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-2-3-2"><p>set or get the current server certificate </p> </li> <li id="GUID-E8146070-36EC-5B72-9C32-616CA59B4D98-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-2-3-3"><p>set or get a protocol or version, if the implementations supports more than one </p> </li> <li id="GUID-9984158C-AAB9-57D7-8972-1ECF8A8B4FA1-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4-1-3-2-3-4"><p>set or get the supported cipher suites. <b>Note</b>: Cipher suites are methods of encrypting the text. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets Server</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1"><title>Secure Sockets Interface</title><shortdesc>This section describes the Secure sockets interface. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Description of the interface</title> <p>Secure Sockets allow the user to transport data over a public network. It provides both parties the ability to authenticate and to encrypt the data being sent. </p> <p>Secure sockets implement the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> interface and its methods to: </p> <ul><li id="GUID-2CDBE4E3-8043-5351-A0F9-B6CC7183FFE7-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-1-4-1"><p>create and close a secure connection </p> </li> <li id="GUID-71FC7CFA-6052-5743-AEE9-2078D2E7713F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-1-4-2"><p>specify and query the certificates used in a connection </p> </li> <li id="GUID-92A2E6A1-7A10-5EAC-B96E-F0FC0FF759C4-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-1-4-3"><p>send and receive data </p> </li> </ul> <p>This interface supports implementations that act in both the client modes, that is, connecting to a remote secure server, and acting as a server for remote clients. </p> <p>Secure socket implementations are used to secure an open and a connected socket. An application creates an instance of the <codeph>CSecureSocket</codeph> with reference to a connected <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> and a protocol name to use. The <codeph>CSecureSocket</codeph> finds, loads, and creates a secure socket of the implementation. The <codeph>CSecureSocket</codeph> owns an instance of the <codeph>CSecureSocket</codeph> implementation object and acts as a proxy, sending any method calls to the actual implementation object. </p> <p>Protocol implementations are not directly exposed to applications. From the applications, the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> class hides the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> class and the plug-in nature of the implementations. Secure sockets are created through the static <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita#GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C/GUID-78262DF7-7741-369D-80F2-5229C8F3F801"><apiname>CSecureSocket::NewL()</apiname></xref> method. </p> <p>A secure socket plug-in is provided for TLS1.0 or SSL3.0. </p> </section> <section><title>Protocol implementations</title> <p>Protocol implementations use the methods of the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> to: </p> <ul><li id="GUID-BCECAC51-7367-536D-9E91-CFD135517587-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-1"><p>set a secure socket </p> </li> <li id="GUID-746E3F28-46E9-5E4A-800C-44DDE5C611BE-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-2"><p>set or get the current server certificate </p> </li> <li id="GUID-E8146070-36EC-5B72-9C32-616CA59B4D98-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-3"><p>set or get a protocol or version, if the implementations supports more than one </p> </li> <li id="GUID-9984158C-AAB9-57D7-8972-1ECF8A8B4FA1-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-4"><p>set or get the supported cipher suites. <b>Note</b>: Cipher suites are methods of encrypting the text. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets Server</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-4FC82562-9163-45F5-9E14-DA0AB6B5E54C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4FC82562-9163-45F5-9E14-DA0AB6B5E54C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 the interaction style or language settings are not affected.</p>
 <fig id="GUID-017EFFEA-6677-4E9A-A7B1-F69E02C50DE1">
 <title>Simplified illustration of the UI theme concept</title>
-<image href="GUID-E489F575-DD07-4949-AB98-8F6A11BF708A_d0e94610_href.png" scale="40" placement="inline"/>
+<image href="GUID-E489F575-DD07-4949-AB98-8F6A11BF708A_d0e98808_href.png" scale="40" placement="inline"/>
 </fig>
 <p>UI themes give the UI theme designer a freedom to design a unique GUI,
 and by designing backgrounds and icons, the result can be very different from
Binary file Symbian3/PDK/Source/GUID-4FDD1F7B-1A4E-5389-A0A4-22727CD42B5B_d0e379956_href.png has changed
Binary file Symbian3/PDK/Source/GUID-4FDD1F7B-1A4E-5389-A0A4-22727CD42B5B_d0e385809_href.png has changed
--- a/Symbian3/PDK/Source/GUID-4FE5CA06-8C3A-4AC1-80CE-4418AC55937A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4FE5CA06-8C3A-4AC1-80CE-4418AC55937A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,8 +19,8 @@
 time from the name / value pairs.</p>     </prereq>
 <context id="GUID-CAFFF446-43D5-440C-9B32-C3B9A518D2D3">       <p>The following are the steps to encode the WSP header:</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-6-1-5-1-5-1-9-1-3-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-6-1-5-1-5-1-9-1-3-1-3-3-1"><cmd/>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-6-1-5-1-5-1-9-1-3-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-6-1-5-1-5-1-9-1-3-1-3-3-1"><cmd/>
 <info>Create a header encoder object.</info>
 <stepxmp><codeblock xml:space="preserve">//creates a pointer to CWspHeaderEncoder object
 CWspHeaderEncoder* primEncoder = CWspHeaderEncoder::NewLC();</codeblock></stepxmp>
--- a/Symbian3/PDK/Source/GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,57 +1,49 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679" xml:lang="en"><title>XmlExample:
-Using the XML framework to parse an XML file</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-7860D226-83AD-501E-9431-6A61A9AC2996"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3eef58b5-bcd4-4f1e-a864-71273651c3bb.zip" scope="external">XmlExample.zip</xref></p><p>Click:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3eef58b5-bcd4-4f1e-a864-71273651c3bb.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section><title>Introduction</title> <p>This example application demonstrates
-the usage of the <xref href="GUID-5748D958-9480-3358-A399-6B92293B86D9.dita"><apiname>XML</apiname></xref> framework API to parse XML and WBXML
-files. </p> <p>The overview contains the following sections: </p> <ul>
-<li id="GUID-01C9B600-A55E-55D8-AA35-057464345A45"><p> <xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita#GUID-5012D63B-4353-5616-BBFB-DB04DAF71679/GUID-3A5027A1-BEE9-5EB4-8670-7E729CF9260F">Description</xref>  </p> </li>
-<li id="GUID-656E68A4-BAF3-505B-AC9A-96C6A9107E1B"><p> <xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita#GUID-5012D63B-4353-5616-BBFB-DB04DAF71679/GUID-5dfd0234-44cf-4252-a980-5b73aaa61e35">Class summary</xref>  </p> </li>
-<li id="GUID-F8CEA6F8-D4AB-5E32-9EC1-9FACED6F34B5"><p> <xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita#GUID-5012D63B-4353-5616-BBFB-DB04DAF71679/GUID-E9F975CA-A59F-5484-83FD-7F17F0A03807">Build</xref>  </p> </li>
-</ul> </section>
-<section id="GUID-3A5027A1-BEE9-5EB4-8670-7E729CF9260F"><title>Description</title> <p>The
-example application demonstrates, how to use the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita"><apiname>Xml</apiname></xref> framework
-to parse XML and WBXML files. It takes a valid XML file with a DTD (Document
-Type Declaration) definining its structure, and a WBXML (WAP Binary XML format)
-file as input. You can generate a WBXML file from an XML file using any freeware
-converters. The application's <filepath>bld.inf</filepath> file specifies
-the target path to which all the three files (XML, DTD, WBXML) need to be
-exported. </p> <p>The application implements all the pure virtual functions
-of the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-25E466A4-0578-3BED-A56D-4E0906313788"><apiname>Xml::MContentHandler</apiname></xref> class, which is a client interface
-to the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita"><apiname>Xml</apiname></xref> framework. These functions inform the client
-application about the XML element being parsed, its content, parser errors
-if any and so on. </p> <p>The XML and WBXML files are parsed using an object
-of the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE"><apiname>Xml::CParser</apiname></xref> class. The parser object is configured
-to report namespace mappings to the client application, using the function <xref href="GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE.dita#GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE/GUID-5F2688CC-16B3-3F0D-B6CA-CE59FE7939BD"><apiname>Xml::CParser::EnableFeature()</apiname></xref>. </p> <p>The
-application first opens a file session using <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> to read
-the XML and WBXML files. Then, the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-CC810749-2F0D-3CC0-911D-EE12BB934867"><apiname>Xml::ParseL()</apiname></xref> function
-is called to start parsing the files. The application parses the XML file
-followed by the WBXML file. While these files are being parsed, status messages
-are printed to the console by the callback functions as and when they are
-invoked. </p> <p>For demonstration purposes, the XML file is parsed twice,
-once by the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE"><apiname>Xml::CParser</apiname></xref> object created using the MIME
-type and again by the <codeph>CParser</codeph> object created using match
-data criteria. The match data criteria are specified using an object of the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-AEFF2DB4-FBC2-36EE-A4CE-7EBBD4AF004E"><apiname>Xml::CMatchData</apiname></xref> class,
-which is passed to the <xref href="GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE.dita#GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE/GUID-9E9D8DBA-A396-3F62-8B59-C4556FD5A80E"><apiname>Xml::CParser::NewLC()</apiname></xref> function while
-creating the parser object. This will return a <codeph>CParser</codeph> object
-that matches the specified MIME type, variant and so on. </p> </section>
-<section id="GUID-5DFD0234-44CF-4252-A980-5B73AAA61E35"><title>Class summary</title><p> <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-25E466A4-0578-3BED-A56D-4E0906313788"><apiname>Xml::MContentHandler </apiname></xref><xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-88087934-B84B-39DD-907F-71328D684035"><apiname>Xml::RDocumentParameters </apiname></xref><xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-A8A238B9-48A5-3729-9BAE-0287EE6295FA"><apiname>Xml::RAttributeArray </apiname></xref><xref href="GUID-DEFFFAAD-662A-34E9-8955-759F37BDC9AB.dita#GUID-DEFFFAAD-662A-34E9-8955-759F37BDC9AB/GUID-9A8E865C-FDAC-3923-83A9-5A8680AEE1EE"><apiname>Xml::CParserXml::CMatchData </apiname></xref> </p></section>
-<section id="GUID-E9F975CA-A59F-5484-83FD-7F17F0A03807"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian platform build process</xref> describes
-how to build an application. </p> <p>The <codeph>XmlExample</codeph> builds
-an executable called <filepath>xmlexample.exe</filepath> in the standard location
-(<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior).
-After launching the executable, depending on the emulator you are using, you
-may need to task away from the application launcher/shell screen to view the
-console. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679" xml:lang="en"><title>XmlExample: Using the XML framework to parse an XML file</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-7860D226-83AD-501E-9431-6A61A9AC2996"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3eef58b5-bcd4-4f1e-a864-71273651c3bb.zip" scope="external">XmlExample.zip</xref></p><p>Click:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3eef58b5-bcd4-4f1e-a864-71273651c3bb.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-8E9C9A4C-288F-4B0B-B880-853895EA252A"><title>Introduction</title> <p>This example application demonstrates
+the usage of the <xref href="GUID-5748D958-9480-3358-A399-6B92293B86D9.dita"><apiname>XML</apiname></xref> framework API to parse XML
+and WBXML files. </p> <p>The overview contains the following sections: </p> <ul>
+<li id="GUID-01C9B600-A55E-55D8-AA35-057464345A45"><p> <xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita#GUID-5012D63B-4353-5616-BBFB-DB04DAF71679/GUID-3A5027A1-BEE9-5EB4-8670-7E729CF9260F">Description</xref>  </p> </li>
+<li id="GUID-656E68A4-BAF3-505B-AC9A-96C6A9107E1B"><p> <xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita#GUID-5012D63B-4353-5616-BBFB-DB04DAF71679/GUID-5dfd0234-44cf-4252-a980-5b73aaa61e35">Class summary</xref>  </p> </li>
+<li id="GUID-F8CEA6F8-D4AB-5E32-9EC1-9FACED6F34B5"><p> <xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita#GUID-5012D63B-4353-5616-BBFB-DB04DAF71679/GUID-E9F975CA-A59F-5484-83FD-7F17F0A03807">Build</xref>  </p> </li>
+</ul> </section>
+<section id="GUID-3A5027A1-BEE9-5EB4-8670-7E729CF9260F"><title>Description</title> <p>The example application demonstrates, how to use the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita"><apiname>Xml</apiname></xref> framework to parse XML and WBXML files. It takes a
+valid XML file with a DTD (Document Type Declaration) definining its
+structure, and a WBXML (WAP Binary XML format) file as input. You
+can generate a WBXML file from an XML file using any freeware converters.
+The application's <filepath>bld.inf</filepath> file specifies the
+target path to which all the three files (XML, DTD, WBXML) need to
+be exported. </p> <p>The application implements all the pure virtual
+functions of the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-25E466A4-0578-3BED-A56D-4E0906313788"><apiname>Xml::MContentHandler</apiname></xref> class, which
+is a client interface to the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita"><apiname>Xml</apiname></xref> framework. These
+functions inform the client application about the XML element being
+parsed, its content, parser errors if any and so on. </p> <p>The XML
+and WBXML files are parsed using an object of the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE"><apiname>Xml::CParser</apiname></xref> class. The parser object is configured to report namespace mappings
+to the client application, using the function <xref href="GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE.dita#GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE/GUID-5F2688CC-16B3-3F0D-B6CA-CE59FE7939BD"><apiname>Xml::CParser::EnableFeature()</apiname></xref>. </p> <p>The application first opens a file session using <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> to read the XML and WBXML files. Then, the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-CC810749-2F0D-3CC0-911D-EE12BB934867"><apiname>Xml::ParseL()</apiname></xref> function is called to start parsing the files.
+The application parses the XML file followed by the WBXML file. While
+these files are being parsed, status messages are printed to the console
+by the callback functions as and when they are invoked. </p> <p>For
+demonstration purposes, the XML file is parsed twice, once by the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE"><apiname>Xml::CParser</apiname></xref> object created using the MIME type and again
+by the <codeph>CParser</codeph> object created using match data criteria.
+The match data criteria are specified using an object of the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-AEFF2DB4-FBC2-36EE-A4CE-7EBBD4AF004E"><apiname>Xml::CMatchData</apiname></xref> class, which is passed to the <xref href="GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE.dita#GUID-EE37CB28-DAB4-30A9-B46E-8AE4664B28DE/GUID-9E9D8DBA-A396-3F62-8B59-C4556FD5A80E"><apiname>Xml::CParser::NewLC()</apiname></xref> function while creating the parser
+object. This will return a <codeph>CParser</codeph> object that matches
+the specified MIME type, variant and so on. </p> </section>
+<section id="GUID-5DFD0234-44CF-4252-A980-5B73AAA61E35"><title>Class
+summary</title><p> <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-25E466A4-0578-3BED-A56D-4E0906313788"><apiname>Xml::MContentHandler </apiname></xref><xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-88087934-B84B-39DD-907F-71328D684035"><apiname>Xml::RDocumentParameters </apiname></xref><xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita#GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473/GUID-A8A238B9-48A5-3729-9BAE-0287EE6295FA"><apiname>Xml::RAttributeArray </apiname></xref><xref href="GUID-DEFFFAAD-662A-34E9-8955-759F37BDC9AB.dita#GUID-DEFFFAAD-662A-34E9-8955-759F37BDC9AB/GUID-9A8E865C-FDAC-3923-83A9-5A8680AEE1EE"><apiname>Xml::CParserXml::CMatchData </apiname></xref> </p></section>
+<section id="GUID-E9F975CA-A59F-5484-83FD-7F17F0A03807"><title>Build</title> <p>The Symbian platform build process describes how to build an
+application. </p> <p>The <codeph>XmlExample</codeph> builds an executable called <filepath>xmlexample.exe</filepath> in
+the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior). After launching the executable, depending on the
+emulator you are using, you may need to task away from the application
+launcher/shell screen to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -43,7 +43,7 @@
 <section id="GUID-CC6CEEC2-1553-4C87-AE51-9A62A15944D3"><title>Architectural relationships</title><p>The following diagram
 shows the relationships between the Khronos rendering APIs. </p> <fig id="GUID-4ED32621-2B56-54F9-8B10-93C82751971F">
 <title>Dependencies between the Khronos rendering components            </title>
-<image href="GUID-C8C804F9-860D-590D-B247-FBB1714604B7_d0e228570_href.png" placement="inline"/>
+<image href="GUID-C8C804F9-860D-590D-B247-FBB1714604B7_d0e234569_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-99BC101A-9466-59EE-B5C9-7622BAF6E6FF.dita"><linktext>Graphics
Binary file Symbian3/PDK/Source/GUID-502C26EB-BB1F-547C-B93B-8A516D545561_d0e456815_href.png has changed
Binary file Symbian3/PDK/Source/GUID-502C26EB-BB1F-547C-B93B-8A516D545561_d0e462660_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 of characters from Chinese and English typefaces. </p> <fig id="GUID-D9F370EF-BA91-5D8B-B963-D3B6EBEFAFF5">
 <title>              Figure 1: An example linked typeface that contains Chinese
 and              English characters            </title>
-<image href="GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e654370_href.png" placement="inline"/>
+<image href="GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e667197_href.png" placement="inline"/>
 </fig> <p>Once a linked typeface has been successfully created, fonts can
 be derived from it and rasterized in just the same way as from a non-linked
 typeface. Similarly clients request a font from a linked typeface in the same
@@ -91,12 +91,12 @@
 and Bitmap Server</xref>. </p> <fig id="GUID-2AC8C198-0BDB-5D69-B53D-3391F33658E7">
 <title>              Figure 2: The linked typeface creation process      
      </title>
-<image href="GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e654514_href.png" placement="inline"/>
+<image href="GUID-192003B7-631D-5AF6-9511-119EF5853054_d0e667341_href.png" placement="inline"/>
 </fig> <p>The following diagram represents the structure of the specification
 for the Chinese - English example shown in Figure 1 above. </p> <fig id="GUID-F44F3735-B486-5870-9514-10B80ADDDE99">
 <title>              Figure 3: The structure of the specification for the
 Chinese -              English example.            </title>
-<image href="GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e654525_href.png" placement="inline"/>
+<image href="GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e667352_href.png" placement="inline"/>
 </fig> <p>See <xref href="GUID-5B4D38A7-DCDC-51D8-A349-050CF0FD1586.dita">Creating
 a Linked Typeface</xref> for more information. </p> </section>
 <section><title>Related APIs</title> <p>The following table shows the linked
Binary file Symbian3/PDK/Source/GUID-504C5CD8-DF83-5657-9D38-E94151C84802_d0e448529_href.png has changed
Binary file Symbian3/PDK/Source/GUID-504C5CD8-DF83-5657-9D38-E94151C84802_d0e454374_href.png has changed
Binary file Symbian3/PDK/Source/GUID-504E4334-FDA9-5982-8BF7-509D019AFD4C_d0e536419_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-504E4334-FDA9-5982-8BF7-509D019AFD4C_d0e543879_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-504EB40B-AC98-5AB2-9263-185887C29A7E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-504EB40B-AC98-5AB2-9263-185887C29A7E" xml:lang="en"><title>Searching
-for an IAP Record by Name and Loading the Associated Service and the Bearer
-Table: Tutorial</title><shortdesc>This tutorial shows you how to search for a Symbian platform defined
-Internet Access Points Configuration (IAP) record by name. The tutorial, then
-shows you how load the connected service and the bearer table. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-
-
-<prereq id="GUID-8F09964A-B8AC-5601-817C-B1C243B1CB92"><p>Before you start,
-you must understand: </p> <ul>
-<li id="GUID-95E91894-42A9-569A-BCBD-D9CAE502B289"><p>the general concept
-of the Comms Database </p> </li>
-<li id="GUID-127FB886-98D0-5F17-997F-CD1134BA7F57"><p>the specific concept
-of fields, records, links and tables </p> </li>
-<li id="GUID-8AF15E7D-44F0-5F28-94A1-C4A6E6DE3B93"><p>how to write and build
-application code to run on Symbian platform </p> </li>
-</ul> </prereq>
-<context id="GUID-37F9160E-EAE2-5975-B064-255EA353CB72"><p>This tutorial shows
-you: </p> <ul>
-<li id="GUID-84E5F473-8F05-5FDD-B1BB-ED301420CD89"><p>how to search the <i>Internet
-Access Points Configuration</i> table for a record defined by name. This table
-is also called the IAP table </p> </li>
-<li id="GUID-08BA5682-4AF9-526B-9CD2-48BFDEE7E162"><p>how to load the connected
-service. </p> </li>
-<li id="GUID-545EC3CC-F771-50AF-8388-CA0AC4B84B10"><p>how to load the connected
-bearer table. </p> </li>
-</ul> <p>The principles that apply here also apply to the other Symbian platform
-defined tables. </p> </context>
-<steps id="GUID-6A94C40E-59E3-5F22-A778-0734773900C4">
-<step id="GUID-FFA9D8F4-6683-52EC-B9F7-7D1AAB904D48"><cmd>Make sure that you
-have created a session. </cmd>
-</step>
-<step id="GUID-D00E9CCC-8046-5E43-9D8E-CCA971C79ED2"><cmd>Create an empty
-IAP record in the tool or application process. </cmd>
-
-<info>You create a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBRecordSet</apiname></xref> <codeph>&lt;T&gt;</codeph> object
-and specify <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CCDIAPRecord</apiname></xref> as the template
-parameter. </info>
-
-<info>Symbian platform defines the <codeph>CCDIAPRecord</codeph> class to
-represent a IAP record. The class is a schema for the record. The class defines
-the fields and links that make a IAP record. </info>
-<info>Symbian platform defines <xref href="GUID-32E556BC-55C3-5FBD-9A60-9708139C20D6.dita">unique
-numeric Id</xref> s for Symbian platform defined tables. The symbol <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDTIdIAPRecord</apiname></xref> also defines the value of this
-Id for records in the IAP table. The Id allows the CommsDat API to get the
-record from the Comms Database. </info>
-<info>To work with other Symbian platform defined tables, use the correct
-class name and the correct unique numeric Id values. The <xref href="GUID-58089281-9DD0-502D-8DFD-831E7BAA931E.dita">Reference</xref> section
-contains a list of all Symbian platform defined tables. </info>
-<stepxmp><codeblock id="GUID-629FD205-82F8-5383-AEC8-1645309B994B" xml:space="preserve">...
-
-// This code fragment assumes that a session with the Comms Database has been created.
-// iDb is a pointer to a CMDBSession object
-...
-
-// When we search by Name or Id, there can be only one record to be returned
-// Create an empty IAP record.
-//
-// Note:
-// 1. the template parameter CCDIAPRecord defines 
-//    the "IAP" record type.
-// 2. to create a record, you use a factory function and pass the unique
-//    numeric Id KCDTIdIAPRecord as a parameter to the constructor.
-//
-
-CCDIAPRecord* ptrIAPRecord = 
-              static_cast&lt;CCDIAPRecord *&gt;(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-...</codeblock> </stepxmp>
-</step>
-<step id="GUID-82296CE1-8682-56E6-8847-FB6A2348479A"><cmd>Define the name
-of the IAP record to be found and set the name in IAP record. Do the search
-for the record in the Comms Database. </cmd>
-
-<info>In this tutorial, the name of the IAP record is NTRas with Null Modem. </info>
-
-<info>Use the assignment operator to add the data to a field. A field that
-has type <codeph>T</codeph> accepts a type T item as the right-hand argument
-of an assignment call. </info>
-
-<info>A descriptor field needs an additional call to set the size of the descriptor.
-Call <codeph>SetMaxLengthL()</codeph> to set the size of the descriptor. This
-function is a member of the field class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;TDesC&gt;</codeph>.
-Internally, the function causes the allocation of a descriptor. You must set
-the size of the descriptor before you assign the data. You can also use the <codeph>SetL()</codeph> function.
-This function sets the length and assigns the data. The function is a member
-of the field class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBField</apiname></xref> <codeph>&lt;TDesC&gt;</codeph>. </info>
-<stepxmp><codeblock id="GUID-8427EB95-2BE7-59C7-9A21-DF9DDB3607AF" xml:space="preserve">...
-// Define the name of the IAP record.
-_LIT(KMyIap, "NTRas with Null Modem");
-
-// Either 
-ptrIAPRecord-&gt;iRecordName.SetMaxLengthL(KMyIap().Length());
-ptrIAPRecord-&gt;iRecordName = KMyIap;
-
-// Or 
-ptrIAPRecord-&gt;iRecordName.SetL(KMyIap);
-
-
-// Search the Comms Database
-if(ptrIAPRecord-&gt;FindL(*iDb))
-    {
-    // Found a matching record
-    ...
-    }
-
-...</codeblock> </stepxmp>
-</step>
-<step id="GUID-119EC7CA-0E0E-5062-BC7D-FC023205FA1A"><cmd>Load the NTRas with
-Null Modem service and the associated bearer table. </cmd>
-<stepxmp><codeblock id="GUID-C3994C1F-61BD-5BCC-9E29-FACAEE5C198C" xml:space="preserve">...
-// Search the Comms Database
-if(ptrIAPRecord-&gt;FindL(*iDb))
-    {
-    // Found a matching record
-
-    // Now load the the associated service and bearer tables, 
-    // The variables iService,iBearer, etc
-    // are links that point to other records. These links have a "Value" and 
-    // "iLinkedRecord".
-    // 
-    // The "Value" represent the id of the target field,and gets initialized along with the
-    // parent record(ptrIAPRecord). When we explictly call load on these LinkedFields,
-    // the "iLinkedRecord" pointer points to the appropriate object.
-    //
-    // The "iLinkedRecord" pointer is  owned by the parent record and gets
-    // deleted along with it.THis means that it must be set to NULL
-    // if the user wants to take ownership.
- 
-    ptrIAPRecord-&gt;iService.LoadL(*iDb);
-    ptrIAPRecord-&gt;iBearer.LoadL(*iDb);
-
-    // Take ownership of the loaded service record cache
-    CCDServiceRecordBase* ptrService = 
-        static_cast&lt; CCDServiceRecordBase *&gt; (ptrIAPRecord-&gt;iService.iLinkedRecord);
-    (ptrIAPRecord-&gt;iService).iLinkedRecord = NULL;
-
-    // Deleting ptrIAPRecord also deletes all the loaded iLinkedRecord
-    // pointers it owns unless set to null.
-
-    delete ptrIAPRecord;         
- 
-   //delete the service view.
-    delete ptrService;
-    }         
-...</codeblock> </stepxmp>
-</step>
-</steps>
-</taskbody><related-links>
-<link href="GUID-1AFDDD6F-CB99-587D-A0B5-D3F5B27F7135.dita"><linktext>Comms Database
-                concepts</linktext></link>
-</related-links></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5059C3F9-1CEA-5DF3-914A-B99376570242_d0e479349_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5059C3F9-1CEA-5DF3-914A-B99376570242_d0e485178_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-50930F20-0F6D-5FF6-A476-59F221DF5CD4_d0e459122_href.png has changed
Binary file Symbian3/PDK/Source/GUID-50930F20-0F6D-5FF6-A476-59F221DF5CD4_d0e464967_href.png has changed
--- a/Symbian3/PDK/Source/GUID-50941508-B999-5FCC-B2B9-F29F5F2CA4C1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-50941508-B999-5FCC-B2B9-F29F5F2CA4C1"><title>userinclude</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>userinclude</codeph>  <varname>directory-list</varname> </p> <p>Use the <codeph>userinclude</codeph> statement to define directories to be scanned for files specified in <codeph>#include</codeph> statements in source and resource files.</p> <p>It may be specified any number of times, and each may have any number of directories. </p> <p>When a project is being built, the pre-processor will be invoked specifying all the <codeph>userinclude</codeph> and <codeph>systeminclude</codeph> directories indicated in these statements. No standard include directories will be searched unless the project links to Win32 libraries under WINS.</p> <p>Files included from source code with a line such as</p> <codeblock id="GUID-E59EBE50-1D73-5EAA-B1F2-A4C9136C4BF5" xml:space="preserve">#include "squash.h"</codeblock> <p>will first be searched for in the directory containing the source file, then in the <codeph>userinclude</codeph> directories and finally in the <codeph>systeminclude</codeph> directories.</p> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-50A38544-8B2A-422D-92AF-2E9358878CFE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-50A38544-8B2A-422D-92AF-2E9358878CFE" xml:lang="en"><title>NKern::Lock()</title><shortdesc>This document specifies that the method <codeph>NKern::Lock()</codeph> is now obsolete and suggests alternative locking mechanisms.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-960B22FE-BF66-49F7-86F0-126C5E54BD91"><title>Description
+of NKern::Lock()</title><p>This method disables the scheduler and
+the <codeph>IDFC</codeph> (Immediate Deferred Function Call), so that
+the currently running thread cannot be pre-empted.</p><p>This is used
+to prevent a thread from being re-entered while it is processing data,
+and so that no data will be corrupted as a result.</p>     </section>
+<section id="GUID-CC1DDBC0-CE7D-450A-AC93-E620F2235054"><title>The
+reason why NKern::Lock() is now obsolete</title><p>The <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-7CBBF72B-4519-38DD-92CA-38AF636AFD8A"><apiname>NKern::Lock()</apiname></xref> method can no longer be used as a means to stop scheduling, since
+it only affects the core that the code is running on.</p></section>
+<section id="GUID-BE4893E5-A300-49B9-B8A0-CBC5BAD83287"><title>The
+replacement for NKern::Lock()</title><p>This method should be replaced
+with one of the following (depending on the circumstances ):</p><ul>
+<li><p><xref href="GUID-F5593B97-DBAD-3F84-8981-DA0994B78E52.dita"><apiname>DMutex</apiname></xref></p></li>
+<li><p><xref href="GUID-D5B555DA-3D17-3ED2-A931-CB35BD93A953.dita"><apiname>NFastMutex</apiname></xref></p></li>
+<li><p><xref href="GUID-16AB388A-ED3E-4901-857D-834072437D25.dita">Spin
+Locks</xref></p></li>
+<li><p><xref href="GUID-1F280171-A3F3-4129-8DBE-3B1C4D629C68.dita">Atomic
+Operations</xref></p></li>
+</ul></section>
+<section id="GUID-04223DE5-D9B6-44D7-B1FC-1CC4DECD390D"><title>Areas
+that could be affected</title><p>At present, the replacement of this
+method only affects kernel services to user side code through an executive
+call (these are made via the <codeph>Exec</codeph> class). This can
+occur in the following areas:</p><ul>
+<li><p>A <xref href="GUID-E7550422-5121-3393-A85E-BB797969CD2A.dita"><apiname>DLogicalChannelBase</apiname></xref> derived driver</p></li>
+<li><p>A HAL (Hardware Abstraction Layer) handle implementation</p></li>
+<li><p>Drivers that contain multiple threads</p></li>
+<li><p>Code which is called back in the context of an unrelated thread.
+For example,<xref href="GUID-37BE6748-4281-393A-A85C-C04B625A1F23.dita"><apiname>TTickLink</apiname></xref> or BSP (Board Support Package)
+drivers.</p></li>
+</ul></section>
+</conbody><related-links>
+<link href="GUID-734588CA-5644-438A-9CC9-77ECBE0C1EEA.dita"><linktext>Obsolete
+Mechanisms</linktext></link>
+<link href="GUID-16AB388A-ED3E-4901-857D-834072437D25.dita"><linktext>Spin
+Locks</linktext></link>
+<link href="GUID-1F280171-A3F3-4129-8DBE-3B1C4D629C68.dita"><linktext>Atomic
+Operations</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-50AB1B77-1912-5C73-A1B5-41220E7A2EA5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-50AB1B77-1912-5C73-A1B5-41220E7A2EA5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 <p>The other characteristics of a store map follow from this. </p>
 <fig id="GUID-16CAA671-B195-558E-868A-46463EDEB476">
 <title/>
-<image href="GUID-4028CDCF-D2E8-5668-A751-A7CFA86CED46_d0e584453_href.png" placement="inline"/>
+<image href="GUID-4028CDCF-D2E8-5668-A751-A7CFA86CED46_d0e633741_href.png" placement="inline"/>
 </fig>
 <p>Entries in the store map can be deleted. An entry can be identified either
 by Swizzle or by stream ID. <codeph>CStoreMap::Unbind()</codeph> deletes an
--- a/Symbian3/PDK/Source/GUID-50BBCB9C-F234-5813-A42E-3FCFB0F14B66.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-50BBCB9C-F234-5813-A42E-3FCFB0F14B66.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 server information, meta information, and body content. The following image
 illustrates a simple HTTP session between a client and a server. </p> <fig id="GUID-784DD05A-B86B-57F0-A2E0-A34E373ABA34">
 <title>              Simple HTTP Interaction           </title>
-<image href="GUID-18547A2C-7425-5478-8235-EC6D3848B404_d0e278520_href.png" placement="inline"/>
+<image href="GUID-18547A2C-7425-5478-8235-EC6D3848B404_d0e284520_href.png" placement="inline"/>
 </fig> <p>See <xref href="http://www.ietf.org/rfc/rfc2616.txt" scope="external">Hypertext
 Transfer Protocol -- HTTP/1.1, RFC 2616</xref> for more details. </p> </section>
 <section id="GUID-80DD2A3D-1C59-4AD5-8838-8DC9E1752729"><title>Architectural
--- a/Symbian3/PDK/Source/GUID-50BE8F1A-513A-433C-B045-66658FC226D7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-50BE8F1A-513A-433C-B045-66658FC226D7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,32 +9,36 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-50BE8F1A-513A-433C-B045-66658FC226D7" xml:lang="en"><title>Client/server
-communication</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><xref href="GUID-E530CBB9-C20D-5426-89AA-DC0281C05381.dita">Inter Process
-Communication</xref> (IPC) is the basis for client/server architecture. Clients
-and servers run in different threads, although not necessarily in different
-processes, and communicate through message passing protocol. There are no
-direct pointers between the parties, leaving the integrity of the server and
-its resources untouched by clients. For more information, see <xref href="GUID-D4C7A714-F7BB-5A8D-A875-4796395B9B6C.dita">Introduction
-to the client/server architecture</xref>.</p>
-<p>Communication between the client and the server is managed by <xref href="GUID-E651C7A7-D6EB-533E-A97A-360D089DE7A5.dita">Inter-thread data transfer</xref>.
-Only the server and its clients can decode the parameters of the message.
-This is also a security feature, because process boundaries are separators
-of memory space, direct pointers to the client's data structures cannot be
-delivered. All data not fitting in the provided integers must be represented
-as a <xref href="GUID-261ADCEC-C8C8-46E3-A7DC-804AC868C233.dita">descriptor</xref>,
-and an address to the descriptor (or actually a <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TPckgClass.html" format="application/java-archive">TPckg</xref></codeph> object)
-is delivered within the message. The server then uses safe inter-thread read
-and write functions to access the provided descriptor.</p>
+<concept id="GUID-50BE8F1A-513A-433C-B045-66658FC226D7" xml:lang="en"><title>Client/server communication</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><xref href="GUID-E530CBB9-C20D-5426-89AA-DC0281C05381.dita">Inter
+Process Communication</xref> (IPC) is the basis for client/server
+architecture. Clients and servers run in different threads, although
+not necessarily in different processes, and communicate through message
+passing protocol. There are no direct pointers between the parties,
+leaving the integrity of the server and its resources untouched by
+clients. For more information, see <xref href="GUID-D4C7A714-F7BB-5A8D-A875-4796395B9B6C.dita">Introduction to the
+client/server architecture</xref>.</p>
+<p>Communication between the client and the server is managed by <xref href="GUID-E651C7A7-D6EB-533E-A97A-360D089DE7A5.dita">Inter-thread data
+transfer</xref>. Only the server and its clients can decode the parameters
+of the message. This is also a security feature, because process boundaries
+are separators of memory space, direct pointers to the client's data
+structures cannot be delivered. All data not fitting in the provided
+integers must be represented as a <xref href="GUID-261ADCEC-C8C8-46E3-A7DC-804AC868C233.dita">descriptor</xref>, and an address to the descriptor (or actually a <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TPckgClass.html" format="application/java-archive">TPckg</xref></codeph> object) is delivered within the message.
+The server then uses safe inter-thread read and write functions to
+access the provided descriptor.</p>
 <p>The following figure shows the relationship of the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/e32cmn.hGlobals.html#%3a%3aTDesC" format="application/java-archive">TDesC</xref></codeph> and <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TPckgClass.html" format="application/java-archive">TPckg</xref></codeph> classes.</p>
-<fig id="GUID-715F1B96-AFC4-4FB2-AF51-6E720077F83A"><title>Relationship of a message package and a descriptor class</title><image href="GUID-D99BA4CA-9823-4968-953D-36AA7F266B39_d0e13674_href.png"/></fig>
-<p>Consider the following issues when implementing the client-side API:</p>
+<fig id="GUID-715F1B96-AFC4-4FB2-AF51-6E720077F83A"><title>Relationship of a message package and a descriptor class</title><image href="GUID-D99BA4CA-9823-4968-953D-36AA7F266B39_d0e13773_href.png"/></fig>
+<p>Consider the following issues when implementing the client-side
+API:</p>
 <ul>
-<li><p>Determine if the server is already running with the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TFindServerClass.html" format="application/java-archive">TFindServer</xref></codeph> class. If not, then it should be launched.</p></li>
-<li><p>Once the server is running, create the connection with <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/RSessionBaseClass.html" format="application/java-archive">RSessionBase::CreateSession</xref></codeph> and make sure there are free message slots available to avoid lost
-messages.</p></li>
-<li><p>When packaging message arguments, make sure they are in a
-format that the server understands. For more information, see <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TIpcArgsClass.html" format="application/java-archive">TIpcArgs</xref></codeph>.</p></li>
+<li><p>Determine if the server is already running with the <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TFindServerClass.html" format="application/java-archive">TFindServer</xref></codeph> class. If not, then it should be
+launched.</p></li>
+<li><p>Once the server is running, create the connection
+with <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/RSessionBaseClass.html" format="application/java-archive">RSessionBase::CreateSession</xref></codeph> and make sure there
+are free message slots available to avoid lost messages.</p>
+</li>
+<li><p>When packaging message arguments, make sure they
+are in a format that the server understands. For more information,
+see <codeph><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Kernel_Architecture_2/TIpcArgsClass.html" format="application/java-archive">TIpcArgs</xref></codeph>.</p></li>
 </ul>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-50CA5439-29A1-426C-83BA-EC048FE86CDE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-50CA5439-29A1-426C-83BA-EC048FE86CDE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,15 +19,15 @@
 it must request the OOM Monitor using the <xref href="GUID-02D1911A-D2E5-3D28-9B05-75DA0A75DE73.dita#GUID-02D1911A-D2E5-3D28-9B05-75DA0A75DE73/GUID-BE322080-5193-3D8E-9425-C6BEA920ED2E"><apiname>ROomMonitorSession::RequestFreeMemory()</apiname></xref> method. </p><p>An
 application can request for free RAM either synchronously or asynchronously.</p> 
  </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-3-2">
-<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-3-2-1"><cmd>Create an OOM Monitor
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-3-2">
+<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-3-2-1"><cmd>Create an OOM Monitor
 session</cmd>
 <info><codeblock xml:space="preserve">ROomMonitorSession ioomMonitorSession;
 CleanUpClosePushL(ioomMonitorSession);
 User::LeaveIfError(ioomMonitorSession.Connect());
 </codeblock></info>
 </step>
-<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-3-2-2"><cmd>Request for free
+<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-3-2-2"><cmd>Request for free
 memory can be done in two ways:</cmd>
 </step>
 </steps>
--- a/Symbian3/PDK/Source/GUID-50CA6507-18AF-58D7-8494-2FECF8FDBDF3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-50CA6507-18AF-58D7-8494-2FECF8FDBDF3" xml:lang="en"><title>How
-to use CapCheck</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>CapCheck</codeph> is a tool that allows you to compare the capabilities
-of binaries within your ROM log with a list of expected capabilities, called
-an Expected Capability List. This is to make sure that the applications within
-your ROM image have the correct access rights. </p>
-<p>The Expected Capability list is a text file listing the capabilities you
-expect to find in your ROM log file. This can be created manually or, as a
-starting point, by using the standard output from <codeph>CapSearch</codeph> without
-specifying any capabilities. To be useful, this seeded list must then be modified
-appropriately to include expected capabilities only. All the capabilities
-are listed in hexadecimal format. </p>
-<p>All the permissible capabilities are defined in a Symbian Capability List,
-which is a file called <filepath>e32capability.h</filepath>, located in <filepath>&lt;EPOCROOT&gt;\epoc32\include</filepath>. </p>
-<p>To use the <codeph>CapCheck</codeph> tool, you need to define the name
-and location of the ROM log file, the file listing the expected capabilities,
-and the name and location of the Symbian Capability list. </p>
-<p>The results are displayed in a report, in HTML format. </p>
-<section><title>Command line syntax</title> <p>The command line syntax to
-be used for <codeph>CapCheck</codeph> is shown below. </p> <p> <codeph>&gt;CapCheck.pl
--r &lt;rom_log_file&gt; -e           &lt;expected_capability_list&gt; -s &lt;Symbian_capability_list&gt;
-[-R           &lt;HTML_report&gt;]</codeph> </p> <p>Mandatory arguments are <codeph>-r</codeph>, <codeph>-e</codeph> and <codeph>-s</codeph>. </p> <p><b>Arguments</b> </p> <p>The following arguments are used. </p> <table id="GUID-C88DC3A2-B2DD-57C8-8F39-01B8FE2CEF34">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-r &lt;rom_log_file&gt;</codeph> </p> </entry>
-<entry><p>The name and location of the ROM log file to be checked, in relation
-to the directory where the tool is run from, for example <filepath>.\input\rom.log</filepath>.
-This is mandatory. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-e &lt;expected_capability_list&gt;</codeph> </p> </entry>
-<entry><p>The name of the file listing the capabilities you expect to find
-in the ROM. This file is a text file created by you, either manually, or by
-using <codeph>CapSearch</codeph>. This flag is mandatory. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-s &lt;Symbian_capability_list&gt;</codeph> </p> </entry>
-<entry><p>The name of the Symbian Capability List, listing all the capabilities
-available to search, and their corresponding values (<filepath>&lt;EPOCROOT&gt;\epoc32\include\e32capability.h</filepath>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-R &lt;HTML_report&gt;</codeph> </p> </entry>
-<entry><p>Defines the name of the HTML report to be generated in the working
-directory. If not specified, the default name is <filepath>CapCheckReport.html</filepath>.
-This is optional. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-h</codeph> </p> </entry>
-<entry><p>Displays help information (optional). </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Example</b> </p> <p>A full example of how to use the <codeph>CapSearch</codeph> tool
-is shown below: </p> <codeblock id="GUID-5AFC93AE-DCE6-5981-984F-73968E9962E4" xml:space="preserve">&gt;CapCheck.pl -r .\input\rom.log -e MyExpectedCapabilityList.txt -s e32capability.h -R results.html</codeblock> </section>
-</conbody><related-links>
-<link href="GUID-48326B53-0814-57B9-A744-78AA219D3480.dita"><linktext>CapCheck
-report - file format</linktext></link>
-<link href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita"><linktext>CapSearch
-Guide</linktext></link>
-<link href="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita"><linktext>CapImportCheck
-Guide</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-50F216D0-242A-5796-BDCC-7AAB28535458.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-50F216D0-242A-5796-BDCC-7AAB28535458" xml:lang="en"><title>Features
-command syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Purpose</title><p>The <codeph>features</codeph> tool processes
-the Feature Database Manager (xml file) and generates the header file, feature
-choices obey file and/or <filepath>features.dat</filepath> file. The header
-file contains feature UIDs. The feature choices obey file is used to create
-different ROM images. The <filepath>features.dat</filepath> file which is
-a binary file, is used as a default configuration file by the Symbian emulator.
-The <codeph>features</codeph> tool accepts both feature manager and feature
-registry database as input, and for the feature registry database, it generates
-only <filepath>features.dat</filepath>. </p> </section>
-<section><title>Syntax</title><codeblock xml:space="preserve">features [options] &lt;xml database  file&gt; [&lt;xml database file1&gt; &lt;xml database file2&gt;...]</codeblock><p>The following options can be used: </p><table id="GUID-4A4B3EE7-8900-404E-8404-955DB9031706">
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<tbody>
-<row>
-<entry><b>Options</b></entry>
-<entry><b>Description</b></entry>
-</row>
-<row>
-<entry><codeph>-r[=&lt;destination path&gt;]</codeph> or <codeph>--hdrfile[=&lt;destination
-path&gt;]</codeph></entry>
-<entry>Creates a header file in <codeph>&lt;destination path&gt;</codeph> or
-in the default path <filepath>\epoc32\include</filepath>, if the destination
-path is not specified. </entry>
-</row>
-<row>
-<entry><codeph>-i[=&lt;destination path&gt;]</codeph> or <codeph>--ibyfile[=&lt;destination
-path&gt; </codeph></entry>
-<entry>Creates an IBY file in <codeph>&lt;destination path&gt;</codeph> or in
-the default path <filepath>\epoc32\rom\include\</filepath>, if the destination
-path is not specified. </entry>
-</row>
-<row>
-<entry><codeph>-d[=&lt;destination path&gt;]</codeph> or <codeph>--datfile[=&lt;destination
-path&gt;]</codeph></entry>
-<entry>Creates <filepath>features.dat</filepath> file in <codeph>&lt;destination
-path&gt;</codeph> or in the current directory, if the destination path is not
-specified. </entry>
-</row>
-<row>
-<entry><codeph>-c[=&lt;destination path&gt;]</codeph> or <codeph>--convert[=&lt;destination
-path&gt;]</codeph></entry>
-<entry>Converts the given feature registry database into a feature manager
-database (for example, <filepath>featureregistryname_converted.xml</filepath>)
-in <codeph>&lt;destination path&gt;</codeph> or in the current directory, if
-the destination path is not specified. <note>The converted file is named as <filepath>featureregistryname_converted.xml</filepath> by
-default. See <b>Conversion of feature registry DB to feature manager DB</b>.</note> </entry>
-</row>
-<row>
-<entry><codeph>-s</codeph> or <codeph>--strict</codeph></entry>
-<entry>Enables strict mode.</entry>
-</row>
-<row>
-<entry><codeph>-v</codeph> or<codeph> --verbose</codeph> </entry>
-<entry>Enables verbose mode.</entry>
-</row>
-<row>
-<entry><codeph>-h</codeph> or <codeph>--help</codeph> </entry>
-<entry>Displays help.</entry>
-</row>
-<row>
-<entry><codeph>--version</codeph> </entry>
-<entry>Displays the version of the tool.</entry>
-</row>
-</tbody>
-</tgroup>
-</table><p>The features tool also allows you to specify a combination of options
-(for example, <codeph>features -rcv</codeph>).   </p><p><codeph>&lt;xml database
-file&gt;</codeph> can be either a Feature Registry database (<filepath>featureUIDs.xml</filepath>)
-or a Feature Manager database (<filepath>featuredatabase.xml</filepath>) </p></section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-50FD71BF-2DDA-5E80-9904-82DC90FCE6DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-50FD71BF-2DDA-5E80-9904-82DC90FCE6DD" xml:lang="en"><title>Resource member initialisation</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5107ABD8-6408-5501-8073-ACAF3719247B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5107ABD8-6408-5501-8073-ACAF3719247B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -81,7 +81,7 @@
 and these classes provide the data members the contain the maximum length
 and the current length of the data. </p>
 <fig id="GUID-50810FFC-9A97-5EC1-B6A6-7E371AEC9FF6">
-<image href="GUID-2F0008EB-715C-50EC-87AD-C78619F44858_d0e322861_href.png" placement="inline"/>
+<image href="GUID-2F0008EB-715C-50EC-87AD-C78619F44858_d0e328847_href.png" placement="inline"/>
 </fig>
 <p>While an <codeph>RBuf</codeph> descriptor has similarities to a heap descriptor,
 it behaves more like a standard 'R' type resource class, i.e. as a handle
--- a/Symbian3/PDK/Source/GUID-51177BB6-D906-57BD-91DD-EC263F900225.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-51177BB6-D906-57BD-91DD-EC263F900225.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -74,4 +74,4 @@
                 location request</linktext> </link> <link href="GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB.dita#GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB/GUID-CDA4A58C-EE1B-5C34-A786-C2FC112C3C74"><linktext>Tracking</linktext> </link> <link href="GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB.dita#GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB/GUID-1C02463D-FBDF-5E04-9842-438C8ABD6DF4"><linktext>Cancelling a
                 location request</linktext> </link> <link href="GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB.dita#GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB/GUID-C88E20CE-C7AD-5439-AE03-E83C18C3694B"><linktext>Unloading the
                 Bluetooth GPS PSY</linktext> </link> <link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
-                PSY</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"><linktext>Location Acquisition API</linktext> </link> </related-links></concept>
\ No newline at end of file
+                PSY</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"><linktext>Location Acquisition API</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5127C80E-EACE-5524-9A75-A0EFB41C2226.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5127C80E-EACE-5524-9A75-A0EFB41C2226.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 removed. The tail always logically follows the head and the implementation
 ensures that the tail never overtakes the head.</p>
 <fig id="GUID-18737BF9-5382-5431-8B3E-68C7CCD3DF86">
-<image href="GUID-F057FFF8-EA6A-5719-BE6B-B37950A07A7B_d0e321628_href.png" placement="inline"/>
+<image href="GUID-F057FFF8-EA6A-5719-BE6B-B37950A07A7B_d0e327614_href.png" placement="inline"/>
 </fig>
 <p>Physically, the buffer is a contiguous block of memory. The implementation
 provides the appearance of circularity.</p>
Binary file Symbian3/PDK/Source/GUID-512D0DA7-0BC2-534F-9233-11F46D285CA6_d0e7711_href.png has changed
Binary file Symbian3/PDK/Source/GUID-512D0DA7-0BC2-534F-9233-11F46D285CA6_d0e7833_href.png has changed
--- a/Symbian3/PDK/Source/GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -457,7 +457,7 @@
 checked. In practice you need to do so. </p> </li>
 </ul> <fig id="GUID-2D81B150-2273-5474-9E33-2C7CE236FAD8">
 <title>Shared chunks implementation</title>
-<image href="GUID-52B8098A-7695-5EA6-B58F-D730A445C583_d0e304519_href.png" placement="inline"/>
+<image href="GUID-52B8098A-7695-5EA6-B58F-D730A445C583_d0e310511_href.png" placement="inline"/>
 </fig> <p><b> Device driver (kernel) side </b> </p> <p>This is example code
 snippet shows the device driver side handling of the request made by the user-side
 to open handles on two shared chunks. </p> <p>The request is handled by the <codeph>OpenIoChunks()</codeph> function
Binary file Symbian3/PDK/Source/GUID-516D2E22-F5C0-56FE-ABDA-948F01CD50DB_d0e317288_href.png has changed
Binary file Symbian3/PDK/Source/GUID-516D2E22-F5C0-56FE-ABDA-948F01CD50DB_d0e323278_href.png has changed
Binary file Symbian3/PDK/Source/GUID-517D9795-88BC-5959-9384-36F132AE634C_d0e175702_href.png has changed
Binary file Symbian3/PDK/Source/GUID-517D9795-88BC-5959-9384-36F132AE634C_d0e181771_href.png has changed
Binary file Symbian3/PDK/Source/GUID-518FC822-AF10-57E8-990E-BB03C2D6ACBE_d0e589136_href.png has changed
Binary file Symbian3/PDK/Source/GUID-518FC822-AF10-57E8-990E-BB03C2D6ACBE_d0e617030_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51B0D0A9-C9FA-59DA-82B1-5834980CB35D_d0e471208_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-51B0D0A9-C9FA-59DA-82B1-5834980CB35D_d0e477044_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-51D6F328-82C4-5224-A51B-3EB9D4FF7B4C_d0e551859_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51D6F328-82C4-5224-A51B-3EB9D4FF7B4C_d0e559315_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51DDCDA8-8B26-4016-8CBA-BDBF82447096_d0e80642_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51DDCDA8-8B26-4016-8CBA-BDBF82447096_d0e84840_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51E0F9C6-CFAF-5113-8516-30045B1269C7_d0e139067_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51E0F9C6-CFAF-5113-8516-30045B1269C7_d0e141316_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977" xml:lang="en"><title>Creating
+an Installer</title><abstract><p>  The Software Installation Framework helps you to create installation
+applications for installing software of different types, such as Java, Python
+and Flash.</p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-3F15E095-7C50-4DC8-87B5-37F7D332FC43"><p>You can create an installer as an in-process plug-in or as a server-side
+plug-in. You should choose the architecture that best meets your specific
+requirements. </p> <p>An in-process plug-in is loaded as a DLL.
+You can create an installer as an in-process plug-in to verify a client's
+identity and capabilities. For example, a Java installer may require the <codeph>ECapabilityWriteUserData</codeph> capability
+to activate or deactivate a MIDlet. </p> <p>Server-side plug-ins use the SIF
+Transport Library to handle software management requests such as install,
+uninstall and so on. This reduces the effort of implementing a server for
+handling software management requests by simplifying the sending of software
+management requests across a process boundary. </p> <p> <b>Notes:</b>  </p> <ul>
+<li id="GUID-91DE0E73-64DC-5DA1-BC7F-6A1288653A87"><p>For more information
+about an ECom plug-ins, see the <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">Plug-in
+Framework</xref> section. </p> </li>
+<li id="GUID-EBF6DD6E-1672-5C6E-8024-069A7E5395BC"><p>The SIF Transport Server
+is implemented as a transient server. This means that it runs only when it
+is in use and terminates when its usage count falls to zero. </p> </li>
+</ul> </context>
+<steps-unordered>
+<step id="GUID-C369CE01-B6F0-4A94-879F-55BD66D359C9"><cmd><xref href="GUID-743BFB3C-7B88-4A5C-A655-A50DEB45FC46.dita">Creating
+an installer as an in-process plug-in</xref></cmd>
+</step>
+<step id="GUID-68AF9104-4F4B-492A-8205-92100E386613"><cmd><xref href="GUID-969EA8CE-7B8C-458D-983B-837128F747E7.dita">Creating
+an installer as a server-side plug-in</xref></cmd>
+</step>
+</steps-unordered>
+</taskbody><related-links>
+<link href="GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054.dita"><linktext>SIF Overview</linktext>
+</link>
+<link href="GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042.dita"><linktext>Using the
+Application Management Functions</linktext></link>
+<link href="GUID-2AB7F53A-5EDF-574D-866D-EF2592881559.dita"><linktext>Configuring
+the SIF Launcher</linktext></link>
+</related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-51F43258-B3D8-5EC9-85EF-67F09499C253.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-51F43258-B3D8-5EC9-85EF-67F09499C253.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-51F43258-B3D8-5EC9-85EF-67F09499C253"><title>Alarm States</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section explains the various states of an alarm. </p> <p>At a given point of time, alarms can be in only one state, which is represented by <xref href="GUID-AA8C278D-B7E9-3DC5-8F9F-955C4368C862.dita"><apiname>TAlarmState</apiname></xref>. The following diagram is self-explanatory and represents the state transition of alarms: </p> <fig id="GUID-5EA45FAD-FEF5-575F-83D1-5607B44D5BD3"><title>
           State Transition of Alarms
-        </title> <image href="GUID-5696BEC1-51F5-5062-A4E6-C6CF48C7C95A_d0e172853_href.png" placement="inline"/></fig> <p> </p> <section><title>See Also</title> <p><xref href="GUID-12A32F8E-0C53-5311-9B2B-8E0EA373ED08.dita">Types of Alarm</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-5696BEC1-51F5-5062-A4E6-C6CF48C7C95A_d0e178921_href.png" placement="inline"/></fig> <p> </p> <section><title>See Also</title> <p><xref href="GUID-12A32F8E-0C53-5311-9B2B-8E0EA373ED08.dita">Types of Alarm</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-51F63BFF-CD62-4FFC-929D-ED778642044E_d0e91804_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51F63BFF-CD62-4FFC-929D-ED778642044E_d0e96002_href.png has changed
Binary file Symbian3/PDK/Source/GUID-51FE06D3-48DF-5BEE-A145-FC9D82DC0FB4_d0e247536_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-51FE06D3-48DF-5BEE-A145-FC9D82DC0FB4_d0e253547_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5223D1C1-CBBE-551A-AC57-CD94F9D1B9B6_d0e473205_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5223D1C1-CBBE-551A-AC57-CD94F9D1B9B6_d0e479041_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52298398-A727-5EC2-80A9-4B9704366455_d0e373541_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52298398-A727-5EC2-80A9-4B9704366455_d0e379389_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52743192-B1E0-5B71-B85B-43487F18F412_d0e679659_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52743192-B1E0-5B71-B85B-43487F18F412_d0e692486_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52783B69-09FC-4123-849A-79FF61406129_d0e65678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52783B69-09FC-4123-849A-79FF61406129_d0e69901_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147" xml:lang="en"><title>start
-resource</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>start resource</codeph>  <varname>source-file</varname>  </p>
-<p>[<codeph>target</codeph>  <varname>target-file-name</varname>] </p>
-<p>[<codeph>targetpath</codeph>  <varname>targetpath</varname>] </p>
-<p>[<codeph>header</codeph> | <codeph>headeronly</codeph>] </p>
-<p>[<codeph>lang</codeph>  <varname>languages</varname>] </p>
-<p>[<codeph>uid</codeph>  <varname>uid-value-1</varname> [<varname>uid-value-2</varname>]
-] </p>
-<p> <codeph>end</codeph>  </p>
-<p>A <codeph>start resource</codeph> section specifies how a resource file
-should be compiled. </p>
-<p> <varname>source-file</varname> specifies the resource source (<filepath>.rss</filepath>)
-file. The file should be in the current <xref href="GUID-565074B2-53E2-54CD-A06B-7E044E66EBE8.dita">sourcepath</xref> directory,
-or specified relatively to that directory. </p>
-<p>The optional <codeph>target</codeph>  <varname>target-file</varname> specifies
-the name of the compiled resource file. The file extension part of the name
-does not need to be specified, as this will be automatically supplied. By
-default, the target has the same name as the source file. </p>
-<p>The optional <codeph>targetpath</codeph>  <varname>targetpath</varname> allows
-you to specify the location of the compiled file on the <filepath>z:</filepath> drive
-(or the emulated <filepath>Z:</filepath> drive). By default, the target file
-is built into the same directory as the project's executable.</p>
-<note> In Symbian OS v9.0 and later, platform security requires resources
-to be placed into the correct path, either <filepath>\resource</filepath> for
-resources that are public but read-only, or <filepath>\private\12345678</filepath>,
-for resources that are private to the application with application Secure_Id <codeph>12345678</codeph>.
-This means that this keyword will almost always be used.</note>
-<p>The optional <codeph>header</codeph> keyword causes a resource header (<filepath>.rsg</filepath>)
-file to be created in <filepath>epoc32\include\</filepath> along with the
-resource (<filepath>.rsc</filepath>) file. The optional <codeph>headeronly</codeph> keyword
-causes only the resource header (<filepath>.rsg</filepath>) file to be created
-in <filepath>epoc32\include\</filepath>. The resource header defines identifiers
-for the index positions of the structures in the resource file. </p>
-<p>The optional <codeph>lang</codeph> keyword specifies language codes for
-the resource. This overrides any language settings made for the mmp file using
-the <xref href="GUID-7C4A8920-359F-5328-8D28-2AFBA25A6A9E.dita">lang</xref> keyword.
-A language code is two-digit code, and is used to complete the extension of
-the built resource file: e.g. if the language code is 01, then the extension
-is <filepath>.r01</filepath>. The default language code is <codeph>sc</codeph>.
-The resource file is compiled multiple times, once for each language specified. </p>
-<p>The optional <codeph>uid</codeph> keyword specifies the values for the
-second, and optionally, the third UID of the resource file. See <xref href="GUID-914DD950-4332-5F23-B725-F4D330DB19EB.dita">UID2
-and UID3 statements</xref> and <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-142C2031-3101-34E0-8A16-5410123C8D18"><apiname>RResourceFile::UidType()</apiname></xref> for
-more information. </p>
-<example><p>This example builds the resource <filepath>foo.rss</filepath> into <filepath>z:\private\10001234\foo.rsc</filepath>. </p><codeblock id="GUID-A1A82EAC-AC98-581D-A0B3-A05791E5C98E" xml:space="preserve">start resource foo.rss
-TARGETPATH     private\10001234
-end
-</codeblock><p>This example builds the resource <filepath>foo.rss</filepath> into <filepath>z:\private\10001234\bar.r01</filepath>,
-and creates a header <filepath>bar.rsg</filepath> in <filepath>epoc32\include</filepath>. </p><codeblock id="GUID-01641ED1-A531-5090-BA9F-508D74401D1F" xml:space="preserve">START RESOURCE         foo.rss
-TARGET                 bar
-TARGETPATH             private\10001234
-HEADER 
-LANG                   01
-UID                    0x10002345 0x10003456
-END</codeblock><p>This example builds only the resource header <filepath>bar.rsg</filepath> in <filepath>epoc32\include</filepath>. </p><codeblock id="GUID-6538518A-321E-5BD4-A68D-4EFCA96AF6A4" xml:space="preserve">START RESOURCE         foo.rss
-HEADERONLY 
-END</codeblock></example>
-</conbody><related-links>
-<link href="GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4.dita"><linktext>Application
-resource tools guide</linktext></link>
-<link href="GUID-687AFC9D-ADB7-5190-A535-C54B835825DD.dita"><linktext>Application
-resource tools reference</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-52B2DFDD-063A-5ED4-9A0B-FB3346301482.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-52B2DFDD-063A-5ED4-9A0B-FB3346301482"><title>unpageddata</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>unpageddata</codeph>  </p> <p>Use the <codeph>unpageddata</codeph> statement to specify that the data in the executable is not paged. This controls the paging of both heap and stacks for an executable. For more fine-grained control, the paging of heap and stack data can be specified separately during the creation of new threads and processes. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-52B8098A-7695-5EA6-B58F-D730A445C583_d0e304519_href.png has changed
Binary file Symbian3/PDK/Source/GUID-52B8098A-7695-5EA6-B58F-D730A445C583_d0e310511_href.png has changed
Binary file Symbian3/PDK/Source/GUID-530AB0D9-BE70-5892-BFBA-213687CA62D1_d0e584031_href.png has changed
Binary file Symbian3/PDK/Source/GUID-530AB0D9-BE70-5892-BFBA-213687CA62D1_d0e633319_href.png has changed
Binary file Symbian3/PDK/Source/GUID-53212F7A-938B-48F6-BC82-30F7494FF8A7-master.png has changed
Binary file Symbian3/PDK/Source/GUID-53212F7A-938B-48F6-BC82-30F7494FF8A7_d0e105234_href.png has changed
Binary file Symbian3/PDK/Source/GUID-53313E89-3E23-4004-BD10-771858657DAD_d0e95258_href.png has changed
Binary file Symbian3/PDK/Source/GUID-53313E89-3E23-4004-BD10-771858657DAD_d0e99456_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5344014E-A6F4-5243-9D55-BB2C5C78A463_d0e444213_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5344014E-A6F4-5243-9D55-BB2C5C78A463_d0e450058_href.png has changed
Binary file Symbian3/PDK/Source/GUID-534C1D1A-9450-5A1B-933F-5157039BF069_d0e516976_href.png has changed
Binary file Symbian3/PDK/Source/GUID-534C1D1A-9450-5A1B-933F-5157039BF069_d0e524436_href.png has changed
--- a/Symbian3/PDK/Source/GUID-535793F2-08F1-5B4E-AD32-783985C53124.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-535793F2-08F1-5B4E-AD32-783985C53124"><title>vendorid</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>vendorid</codeph>  <varname>vendorid</varname>  </p> <p>This keyword specifies the vendor of the executable. For details on how it is possible to use this with platform security. </p> <p>In most cases, this VID will be zero, meaning that source of the executable is not required for any security checks. </p> <p>The setting is only functional on OS versions based on the EKA2 kernel. For those versions based on EKA1, the keyword is ignored. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5357F135-46B1-5C3F-BD2D-2E71D7BD0046_d0e106550_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5357F135-46B1-5C3F-BD2D-2E71D7BD0046_d0e108993_href.png has changed
--- a/Symbian3/PDK/Source/GUID-535954FD-2501-5C80-AD86-AC73A86B18B5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-535954FD-2501-5C80-AD86-AC73A86B18B5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,4 +26,4 @@
           ...
           aStream &gt;&gt; iB; // internalises Swizzle from stream
           ...
-          }</codeblock> <p>Here, <codeph>iId</codeph> is the stream ID containing <codeph>CClassABC</codeph> data.</p> <fig id="GUID-96F9A1CC-91BE-52A2-B9AE-F5BDC5308210"><image href="GUID-A89A50B6-2A3B-54E1-8157-6CC86AFE4A57_d0e584273_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+          }</codeblock> <p>Here, <codeph>iId</codeph> is the stream ID containing <codeph>CClassABC</codeph> data.</p> <fig id="GUID-96F9A1CC-91BE-52A2-B9AE-F5BDC5308210"><image href="GUID-A89A50B6-2A3B-54E1-8157-6CC86AFE4A57_d0e633561_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-536B2F20-DB19-595C-A465-25CF2E421050_d0e137455_href.png has changed
Binary file Symbian3/PDK/Source/GUID-536B2F20-DB19-595C-A465-25CF2E421050_d0e139704_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-536DCEAF-3598-4D3E-A812-E266720F350D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-536DCEAF-3598-4D3E-A812-E266720F350D" xml:lang="en"><title>Supported codecs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In order to play audio and video, devices need compression/decompression
+(codec) software or hardware that performs conversions between different
+compressed data types. Software codecs are implemented in software
+only, whereas hardware-accelerated codecs use hardware to perform
+some of the functions for increased processing speed. For more information,
+see <xref href="http://library.forum.nokia.com/topic/Design_and_User_Experience_Library/GUID-7FD77AB0-E89E-43B1-B33C-F9362D0618B1.html" scope="external">Video encoding guidelines</xref>.</p>
+<p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/index.html#Multimedia_Framework%2etoc" format="application/java-archive">The multimedia framework (MMF)</xref> is a high level interface
+for accessing audio and video  functionality. Codecs can be accessed
+through MMF or through a lower level audio device  driver, <codeph>DevSound</codeph>.</p>
+<section id="GUID-C96B6C7E-0DF8-43BF-8DC2-908E17F4F9A1"><title>To access codecs</title>
+<p>Use the following Symbian classes:</p>
+<ul>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/DevSound_API/CMMFDevSoundClass.html" format="application/java-archive"><parmname>CMMFDevSound</parmname></xref> enables audio functions
+on the device hardware.</p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/CMdaAudioOutputStreamClass.html#_top title=" format="application/java-archive"><parmname>CMdaAudioOutputStream</parmname></xref></p><p> and <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/CMdaAudioInputStreamClass.html#_top title=" format="application/java-archive"><parmname>CMdaAudioInputStream</parmname></xref> provide an
+interface for playing raw or encoded audio data.</p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/CMMFCodecClass.html#_top title=" format="application/java-archive"><parmname>CMMFCodec</parmname></xref> decodes and encodes between
+different coding types, and provides access to MMF software codecs.</p>
+</li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/CMdaAudioPlayerUtilityClass.html#%3a%3aCMdaAudioPlayerUtility" format="application/java-archive"><parmname>CmdaAudioPlayerUtility</parmname></xref> plays audio
+data.</p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/CMdaAudioRecorderUtilityClass.html#%3a%3aCMdaAudioRecorderUtility" format="application/java-archive"><parmname>CmdaAudioRecorderUtility</parmname></xref> plays,
+records, and edits audio data.</p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-cpp/Multimedia_Framework/CVideoPlayerUtilityClass.html#%3a%3aCVideoPlayerUtility" format="application/java-archive"><parmname>CVideoPlayerUtility</parmname></xref> plays sampled
+video data.</p></li>
+</ul>
+<p>For more information, see:</p>
+<ul>
+<li><p><xref href="http://www.forum.nokia.com/info/sw.nokia.com/id/bc72ffde-edb2-4f16-a8a7-dbd18a555011.html" scope="external">eLearning module</xref> on Multimedia Framework</p></li>
+<li><p><xref href="http://www.forum.nokia.com/info/sw.nokia.com/id/ae9307f6-e8b3-455d-81fc-0442aabc5526/Symbian_OS_Multimedia_Framework_And_Other_Multimedia_APIs_v1_0_en.pdf.html" scope="external">Symbian OS Multimedia Framework and Other Multimedia APIs</xref></p></li>
+<li><p><xref href="GUID-55CC7AD4-4C6A-5804-ABFD-F71505C77169.dita">Media Device Framework Overview</xref></p></li>
+<li><p><xref href="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita">Supported Audio Codecs</xref></p></li>
+<li><p><xref href="GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita">Audio Client Overview </xref></p></li>
+<li><p><xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref></p></li>
+<li><p><xref href="GUID-D9D2A600-89C6-5D82-8BC0-2C60D8F6517A.dita">Video HAI Overview</xref></p></li>
+</ul>
+</section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,9 +12,9 @@
 <concept id="GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF" xml:lang="en"><title>CoverFlow: using ScreenPlay</title><shortdesc>This example application demonstrates creating semi-transparent
 UI content over OpenVG content that is rendered to a composition surface.
 This is only possible when ScreenPlay is enabled. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A512AE19-D921-47B7-86D7-1AE293365BC9-GENID-1-12-1-14-1-1-6-1-5-1-3-1"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-25ca392e-ce0c-414e-99aa-3f419cfe5170.zip" scope="external">GraphicsShell.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-25ca392e-ce0c-414e-99aa-3f419cfe5170.html" scope="peer">browse</xref> to view the example code. </p><p>The example
+<section id="GUID-A512AE19-D921-47B7-86D7-1AE293365BC9-GENID-1-12-1-15-1-1-6-1-5-1-3-1"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-25ca392e-ce0c-414e-99aa-3f419cfe5170.zip" scope="external">GraphicsShell.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-25ca392e-ce0c-414e-99aa-3f419cfe5170.html" scope="peer">browse</xref> to view the example code. </p><p>The example
 is located in the <filepath>examples\Graphics\CoverFlow</filepath> directory.</p></section>
-<section id="GUID-12DAE9CC-9E18-40AA-A820-FBC86F179425-GENID-1-12-1-14-1-1-6-1-5-1-3-2"><title>Description</title> This code implements a 'coverflow' application. It uses OpenVG to
+<section id="GUID-12DAE9CC-9E18-40AA-A820-FBC86F179425-GENID-1-12-1-15-1-1-6-1-5-1-3-2"><title>Description</title> This code implements a 'coverflow' application. It uses OpenVG to
 display images while semi-transparent or transparent windows and controls
 are used to display overlaid content. The application does the following:
   <ul>
@@ -32,15 +32,15 @@
 takes multiple overlaid surfaces as input and creates a single screen
 buffer. For more information, see <xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics Composition</xref> and <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay
 Graphics Architecture</xref>.  </section>
-<section id="GUID-7CC504AD-E99D-419D-9A86-E5051B80705E"><b>Screenshots</b><fig id="GUID-0022F196-B3BD-5438-99C8-6EF0AA0D1E43-GENID-1-12-1-14-1-1-6-1-5-1-3-3-2">
+<section id="GUID-7CC504AD-E99D-419D-9A86-E5051B80705E"><b>Screenshots</b><fig id="GUID-0022F196-B3BD-5438-99C8-6EF0AA0D1E43-GENID-1-12-1-15-1-1-6-1-5-1-3-3-2">
 <title>           Basic Screenshot      </title>
-<image href="GUID-61BB12AA-7467-5633-8E4C-54D82AFF0F5E_d0e228837_href.jpg" placement="inline"/>
+<image href="GUID-61BB12AA-7467-5633-8E4C-54D82AFF0F5E_d0e234835_href.jpg" placement="inline"/>
 </fig><fig id="GUID-C918E177-E2DF-4F76-A6AD-709B93959B9E">
 <title>Screenshot showing ticker and incoming call animation </title>
-<image href="GUID-59D86225-4727-5B3F-9117-7815B4900445_d0e228844_href.jpg" placement="inline"/>
+<image href="GUID-59D86225-4727-5B3F-9117-7815B4900445_d0e234842_href.jpg" placement="inline"/>
 </fig><fig id="GUID-0B983730-C5C8-47DF-82FB-4A02624CEECD">
 <title>Screenshot showing the absence of the mirror surface </title>
-<image href="GUID-D84847BB-523D-5057-8F14-F6BCEECA2327_d0e228851_href.jpg" placement="inline"/>
+<image href="GUID-D84847BB-523D-5057-8F14-F6BCEECA2327_d0e234849_href.jpg" placement="inline"/>
 </fig></section>
 <section id="GUID-801DEEAD-37EC-4FE3-88C9-CBCFA7650E0A"><title>Class
 Summary</title><p>These are the principal classes used in this example:<ul>
@@ -53,18 +53,18 @@
 <li><codeph>CLoader</codeph></li>
 </ul></p></section>
 <section id="GUID-6F6FBA67-C8F1-4B55-9922-ADCF9CB0636A"><title>Design
-and Implementation</title><p><fig id="GUID-0022F196-B3BD-5438-99C8-6EF0AA0D1E43-GENID-1-12-1-14-1-1-6-1-5-1-3-5-2-1">
+and Implementation</title><p><fig id="GUID-0022F196-B3BD-5438-99C8-6EF0AA0D1E43-GENID-1-12-1-15-1-1-6-1-5-1-3-5-2-1">
 <title>UML class diagram     </title>
 </fig><fig id="GUID-F08882AF-B171-4D56-A3E7-F510D87D9FEC">
-<image href="GUID-02970C7B-5B98-50C7-A324-0DDD71120DEB_d0e228901_href.png" placement="inline"/>
+<image href="GUID-02970C7B-5B98-50C7-A324-0DDD71120DEB_d0e234899_href.png" placement="inline"/>
 </fig></p></section>
-<section id="GUID-11F1F1BF-F1DC-4876-B47A-275B07C645E3-GENID-1-12-1-14-1-1-6-1-5-1-3-6"><title>Building
-and running</title> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build
-process</xref> describes how to build an application.</p></section>
+<section id="GUID-11F1F1BF-F1DC-4876-B47A-275B07C645E3-GENID-1-12-1-15-1-1-6-1-5-1-3-6"><title>Building
+and running</title> <p>The Symbian build process describes how to
+build an application.</p></section>
 <section id="GUID-3D4FF2C6-91B8-4EFC-A008-DE4FEEF5938A"><title>Configuration
 settings for running the example on an Emulator or H4 board</title><ol>
-<li id="GUID-CC897C4A-15CF-4B05-ABF7-32A1A0C38AFA-GENID-1-12-1-14-1-1-6-1-5-1-3-7-2-1"><p>Change the <codeph>WINDOWMODE</codeph> parameter  to <codeph>Color16MAP </codeph>in <codeph>epoc32\release\winscw\&lt;udeb/urel&gt;\z\system\data\wsini.ini </codeph>(<codeph>epoc32\data\z\system\data\wsini.ini on the H4 board</codeph>).</p></li>
-<li id="GUID-CC897C4A-15CF-4B05-ABF7-32A1A0C38AFA-GENID-1-12-1-14-1-1-6-1-5-1-3-7-2-2"><p>The application
+<li id="GUID-CC897C4A-15CF-4B05-ABF7-32A1A0C38AFA-GENID-1-12-1-15-1-1-6-1-5-1-3-7-2-1"><p>Change the <codeph>WINDOWMODE</codeph> parameter  to <codeph>Color16MAP </codeph>in <codeph>epoc32\release\winscw\&lt;udeb/urel&gt;\z\system\data\wsini.ini </codeph>(<codeph>epoc32\data\z\system\data\wsini.ini on the H4 board</codeph>).</p></li>
+<li id="GUID-CC897C4A-15CF-4B05-ABF7-32A1A0C38AFA-GENID-1-12-1-15-1-1-6-1-5-1-3-7-2-2"><p>The application
 cannot run if ScreenPlay is disabled. If it is not already enabled,
 you need to enable it. See <xref href="GUID-6D8A1FC7-095B-587E-8274-23C132978C53.dita">Enabling the Graphics
 Architecture Variants </xref>for more information.</p></li>
--- a/Symbian3/PDK/Source/GUID-5373B575-F284-5774-9C73-2A18C4A912A2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5373B575-F284-5774-9C73-2A18C4A912A2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5373B575-F284-5774-9C73-2A18C4A912A2"><title>Using Standard Names and MIB enums (SNM) </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Internet names, standard names and MIB enums (SNM) are widely used for character sets. This section describes how to use these names and values during character conversion. </p> <section id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-30-1-1-4-1-5-1-4-1-6-1-2-2"><p>Before you start, you must understand: </p> <ul><li id="GUID-6834352F-169B-55B6-9A25-7E2D2EFB62E4"><p> <xref scope="external" href="http://www.iana.org/assignments/character-sets">Standard names and MIB enums </xref> (SNM) </p> </li> <li id="GUID-44A0D093-E7DE-5A99-9035-E17FCC0B35EB"><p><xref href="GUID-325D8E31-584B-5B10-902C-F004641A614D.dita">Charconv framework conversion APIs</xref>. </p> </li> </ul> </section> <section><title>Introduction</title> <p>To convert text between a foreign encoding and Unicode you must know the UID of the character converter. </p> <p>Device creators can create files which map SNM information of character sets to the UIDs of their character converters. Application developers can then use the MIB enum value or an alias of a character set without knowing its UID. </p> </section> <section><title>Procedure</title> <p> <b>Creating an SNM source file</b>  </p> <p>Device creators can create an SNM mapping file in the ROM as follows: </p> <ol id="GUID-B3316083-E593-5160-919F-98CED9E8AFDD"><li id="GUID-01555850-9692-5FAD-97CF-F4A2E944C6DA"><p>Create an SNM source file using a text editor on a PC and save it. For example d:\charconvfiles\basicsnm.txt. </p> <p>This file must define the mapping between Symbian-specific character set UIDs and one or more standard names and MIB enums. Refer to <xref href="GUID-CD3B2B7D-BAE5-5F99-A5F5-74AFC678D986.dita">SNM Source File Reference</xref> for the file syntax. For information about Symbian UIDs, refer to the <filepath>charconv.h</filepath> header file. </p> <codeblock id="GUID-7F08B7AD-9AFA-5712-9D3D-AF87F5E9C2D8" xml:space="preserve">
+<concept xml:lang="en" id="GUID-5373B575-F284-5774-9C73-2A18C4A912A2"><title>Using Standard Names and MIB enums (SNM) </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Internet names, standard names and MIB enums (SNM) are widely used for character sets. This section describes how to use these names and values during character conversion. </p> <section id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-31-1-1-4-1-5-1-4-1-6-1-2-2"><p>Before you start, you must understand: </p> <ul><li id="GUID-6834352F-169B-55B6-9A25-7E2D2EFB62E4"><p> <xref scope="external" href="http://www.iana.org/assignments/character-sets">Standard names and MIB enums </xref> (SNM) </p> </li> <li id="GUID-44A0D093-E7DE-5A99-9035-E17FCC0B35EB"><p><xref href="GUID-325D8E31-584B-5B10-902C-F004641A614D.dita">Charconv framework conversion APIs</xref>. </p> </li> </ul> </section> <section><title>Introduction</title> <p>To convert text between a foreign encoding and Unicode you must know the UID of the character converter. </p> <p>Device creators can create files which map SNM information of character sets to the UIDs of their character converters. Application developers can then use the MIB enum value or an alias of a character set without knowing its UID. </p> </section> <section><title>Procedure</title> <p> <b>Creating an SNM source file</b>  </p> <p>Device creators can create an SNM mapping file in the ROM as follows: </p> <ol id="GUID-B3316083-E593-5160-919F-98CED9E8AFDD"><li id="GUID-01555850-9692-5FAD-97CF-F4A2E944C6DA"><p>Create an SNM source file using a text editor on a PC and save it. For example d:\charconvfiles\basicsnm.txt. </p> <p>This file must define the mapping between Symbian-specific character set UIDs and one or more standard names and MIB enums. Refer to <xref href="GUID-CD3B2B7D-BAE5-5F99-A5F5-74AFC678D986.dita">SNM Source File Reference</xref> for the file syntax. For information about Symbian UIDs, refer to the <filepath>charconv.h</filepath> header file. </p> <codeblock id="GUID-7F08B7AD-9AFA-5712-9D3D-AF87F5E9C2D8" xml:space="preserve">
 ...
 CharacterSet 0x10004cc6
     StandardName    "US-ASCII"
Binary file Symbian3/PDK/Source/GUID-538302A3-F4B2-539C-8048-39E6028CB2A2_d0e259004_href.png has changed
Binary file Symbian3/PDK/Source/GUID-538302A3-F4B2-539C-8048-39E6028CB2A2_d0e265013_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5384FBBC-0171-5AD2-8CDA-23548DF99DCE_d0e449052_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5384FBBC-0171-5AD2-8CDA-23548DF99DCE_d0e454897_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5398C2DC-9AFA-5517-BCBF-5964970B9656_d0e332424_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5398C2DC-9AFA-5517-BCBF-5964970B9656_d0e338396_href.png has changed
Binary file Symbian3/PDK/Source/GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e482676_href.png has changed
Binary file Symbian3/PDK/Source/GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e488505_href.png has changed
--- a/Symbian3/PDK/Source/GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE"><title>Playing Audio</title><shortdesc>This tutorial describes you how to start playing, pausing and resuming, stopping, retrieving the number of samples in the audio data. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><prereq id="GUID-5364D394-21F7-5327-BCD3-8F91DB5EEC8D-GENID-1-12-1-21-1-1-14-1-5-1-4-1-5-1-5-1-4-1-3-1"><p>Before you start, you must: </p> <ul><li id="GUID-5603BB0D-DA89-53CD-B855-E7ED172664FC"><p>Understand the <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound Component</xref> to which the DevSound library belongs. </p> </li> <li id="GUID-24A98687-F6A9-526A-8407-6E12336EB967"><p>Understand the architectural relationship of the DevSound. For information see <xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>. </p> </li> </ul> </prereq> <context id="GUID-2D44831D-8BB7-5468-AD52-182F4F7ED856"><p>You can perform various functionality in DevSound audio playing that are listed in the below section. </p> </context> <steps id="GUID-E54500DF-7C1B-56FF-B592-FDEF0846BF43"><step id="GUID-CA4439C0-A748-5B4D-A97F-10530E2ABF40"><cmd/><info><xref href="GUID-8CCA6352-DC3D-5BFE-9AAF-B70173DF2558.dita">Starting Audio Play</xref>  </info> </step> <step id="GUID-C877C0D2-2F4A-56F5-AEF5-A463846E8979"><cmd/><info><xref href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and Resuming Audio Play</xref>  </info> </step> <step id="GUID-B4FECB20-A540-5D45-A605-F20299D98ACB"><cmd/><info><xref href="GUID-A5B74E5C-A26F-5699-8885-3C7F3121FAD6.dita">Stopping Audio Play</xref>  </info> </step> <step id="GUID-2F784A08-7CDE-54B1-8FA6-B3BDCCBF7104"><cmd/><info><xref href="GUID-57412030-6B02-592A-81D5-54D2767ED131.dita">Retrieving Audio Play Samples</xref>  </info> </step> </steps> </taskbody><related-links><link href="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita"><linktext>Recording Audio</linktext> </link> <link href="GUID-14BAAB7C-35CD-5A43-B362-79F88C7712DE.dita"><linktext>Playing Tones</linktext> </link> </related-links></task>
\ No newline at end of file
+<task xml:lang="en" id="GUID-53A5AC8D-8A43-505F-A0B6-9E34F3CF23BE"><title>Playing Audio</title><shortdesc>This tutorial describes you how to start playing, pausing and resuming, stopping, retrieving the number of samples in the audio data. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><prereq id="GUID-5364D394-21F7-5327-BCD3-8F91DB5EEC8D-GENID-1-12-1-22-1-1-15-1-5-1-4-1-5-1-5-1-4-1-3-1"><p>Before you start, you must: </p> <ul><li id="GUID-5603BB0D-DA89-53CD-B855-E7ED172664FC"><p>Understand the <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound Component</xref> to which the DevSound library belongs. </p> </li> <li id="GUID-24A98687-F6A9-526A-8407-6E12336EB967"><p>Understand the architectural relationship of the DevSound. For information see <xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>. </p> </li> </ul> </prereq> <context id="GUID-2D44831D-8BB7-5468-AD52-182F4F7ED856"><p>You can perform various functionality in DevSound audio playing that are listed in the below section. </p> </context> <steps id="GUID-E54500DF-7C1B-56FF-B592-FDEF0846BF43"><step id="GUID-CA4439C0-A748-5B4D-A97F-10530E2ABF40"><cmd/><info><xref href="GUID-8CCA6352-DC3D-5BFE-9AAF-B70173DF2558.dita">Starting Audio Play</xref>  </info> </step> <step id="GUID-C877C0D2-2F4A-56F5-AEF5-A463846E8979"><cmd/><info><xref href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and Resuming Audio Play</xref>  </info> </step> <step id="GUID-B4FECB20-A540-5D45-A605-F20299D98ACB"><cmd/><info><xref href="GUID-A5B74E5C-A26F-5699-8885-3C7F3121FAD6.dita">Stopping Audio Play</xref>  </info> </step> <step id="GUID-2F784A08-7CDE-54B1-8FA6-B3BDCCBF7104"><cmd/><info><xref href="GUID-57412030-6B02-592A-81D5-54D2767ED131.dita">Retrieving Audio Play Samples</xref>  </info> </step> </steps> </taskbody><related-links><link href="GUID-3FC6342D-D09C-5C7F-8E03-3DA7B29D2CC8.dita"><linktext>Recording Audio</linktext> </link> <link href="GUID-14BAAB7C-35CD-5A43-B362-79F88C7712DE.dita"><linktext>Playing Tones</linktext> </link> </related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-53C71C87-BFD9-4C9A-8A90-6735494F300C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-53C71C87-BFD9-4C9A-8A90-6735494F300C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 View state.</p>
 <fig id="GUID-B1001721-7F3A-4F15-9371-67D485B4E29B">
 <title>Form in the Edit state</title>
-<image href="GUID-11A79174-485E-425C-9653-193B670A3F03_d0e84215_href.png" placement="inline"/>
+<image href="GUID-11A79174-485E-425C-9653-193B670A3F03_d0e88413_href.png" placement="inline"/>
 </fig>
 <p/>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-541C8505-335F-5C93-8C0E-96BCEE39D1E6_d0e330699_href.png has changed
Binary file Symbian3/PDK/Source/GUID-541C8505-335F-5C93-8C0E-96BCEE39D1E6_d0e336676_href.png has changed
Binary file Symbian3/PDK/Source/GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e205963_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e211964_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-547161C2-BE55-4248-92EE-63612D64F480.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-547161C2-BE55-4248-92EE-63612D64F480.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,12 +20,12 @@
 below. The plug-ins enable information to pass from the network directly to
 the GPS hardware.</p><fig id="GUID-7F00AED7-1CF7-456E-A24E-A494E4C43ED9">
 <title>Location subsystem and SUPL extension</title>
-<image href="GUID-1D58231A-7DDF-46DB-B5A6-7A326BD954F3_d0e455588_href.png" placement="inline"/>
+<image href="GUID-1D58231A-7DDF-46DB-B5A6-7A326BD954F3_d0e461433_href.png" placement="inline"/>
 </fig> <p>If a client application wants to obtain a position without waiting
 for a GPS service a mobile network can provide a cell-based position, using
 SUPL. </p> <p>A cell-based positioning request using SUPL is shown in the
 following steps.</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-18-1-1-9-1-6-1-10-1-3-2">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-19-1-1-9-1-6-1-10-1-3-2">
 <step id="GUID-E0BA1F47-0751-479D-B341-06C4FAB15A03"><cmd>The client must
 open RPositionServer and open a connection to the server by calling <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-23285930-A1D5-3A97-AED4-E979BFA96FDD"><apiname>RPositionServer::Connect()</apiname></xref>.</cmd>
 </step>
@@ -33,18 +33,18 @@
 then open RPositioner by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> and
 specify the UID of the Network Proxy PSY.</cmd>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-18-1-1-9-1-6-1-10-1-3-2-3"><cmd>The client application
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-19-1-1-9-1-6-1-10-1-3-2-3"><cmd>The client application
 sends a location request to the Location subsystem by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref>.</cmd>
 </step>
-<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-18-1-1-9-1-6-1-10-1-3-2-4"><cmd>The Location subsystem
+<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-19-1-1-9-1-6-1-10-1-3-2-4"><cmd>The Location subsystem
 forwards the location request to the SUPL Protocol module by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref>.
 (In the default configuration SUPL is used for cell-based positioning).</cmd>
 </step>
-<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-18-1-1-9-1-6-1-10-1-3-2-5"><cmd>The SUPL protocol
+<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-19-1-1-9-1-6-1-10-1-3-2-5"><cmd>The SUPL protocol
 module communicates with an external SUPL server and obtains a cell-based
 location. </cmd>
 </step>
-<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-18-1-1-9-1-6-1-10-1-3-2-6"><cmd>The SUPL Protocol
+<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-10-1-3-2-6"><cmd>The SUPL Protocol
 Module returns the cell-based position by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-CAB9645E-91AD-326B-8803-45F28505CCCC"><apiname>MLbsNetworkProtocolObserver::ProcessLocationUpdate()</apiname></xref>.</cmd>
 </step>
 <step id="GUID-EB292F2E-BA44-4701-A0A7-2E9A5C258568"><cmd>The Location subsystem
--- a/Symbian3/PDK/Source/GUID-5486EFD3-4660-4C19-A007-286DE48F6EEF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5486EFD3-4660-4C19-A007-286DE48F6EEF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 vertically.</p><p>Essential information or features, such as a label, instructions,
 or sub-controls should never be placed below an interface element that can
 be touched, as it may be hidden by the user's finger.</p><fig id="GUID-6D8108A5-9009-443D-9DF9-FA7AEFE1AD43">
-<image href="GUID-70FC2D13-493D-433F-9CFB-ACF9F512513F_d0e98153_href.png" placement="inline"/>
+<image href="GUID-70FC2D13-493D-433F-9CFB-ACF9F512513F_d0e102231_href.png" placement="inline"/>
 </fig>Following are some useful tips that can be used while placing essential
 information or features on interface element:<ul>
 <li><p>With interfaces having input devices, it makes sense to place targets
Binary file Symbian3/PDK/Source/GUID-54C2B185-3F56-5602-9021-34E27F0C40A6_d0e459082_href.png has changed
Binary file Symbian3/PDK/Source/GUID-54C2B185-3F56-5602-9021-34E27F0C40A6_d0e464927_href.png has changed
--- a/Symbian3/PDK/Source/GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B" xml:lang="en"><title>CapCheck Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,128 +1,131 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E" xml:lang="en"><title>File
-locations</title><shortdesc>This topic gives the location for different file types.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-4A1719B9-BD5A-4D46-A196-E8447C144F91"><title>Pre-Symbian platform v9.0</title> <p>Application program files
-must be located in directories with the form <filepath>\system\apps\&lt;program&gt;\</filepath>.
-Initialisation and configuration files should be in the same directory, or
-where the application is in ROM, in the equivalent directory on a writable
-drive. </p> <p>Document files can be located in any directory <i>except</i> <filepath>\system\</filepath>,
-and may be given any name: the system will not alter the capitalisation of
-that name, and will not attempt to add or remove any extension. </p> <p>The
-application architecture does not dictate the requirements for <i>all</i> files,
-or even all file stores. For instance, an e-mail application is not document
-based. An e-mail subsystem would store its messages in a directory structure
-using special e-mail policies to implement inbox, outbox and folders. Normally,
-this folder would be in a <filepath>\system\</filepath> directory. </p> </section>
-<section id="GUID-C8E8AB80-4EE5-5593-8981-4A91A0111419"><title>Symbian platform
-v9.0 and beyond</title> <p>The following table gives the location for different
-file types. </p> <table id="GUID-9952EBEF-FCBC-585F-A9AD-D1CD2F8088BA">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Location</entry>
-<entry>Example file types</entry>
-<entry>Description</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><ul>
-<li id="GUID-D669EB04-023C-5224-999D-9EE55E8EA7ED"><p>On the emulator (default): </p> <ul>
-<li id="GUID-BEE962D9-B7DD-5B2B-91B3-125B16E414DC"><p> <filepath>epoc32\release\winscw\udeb\</filepath>  </p> </li>
-<li id="GUID-52700062-ED55-525D-BC55-A10678FC97E6"><p> <filepath>epoc32\release\winscw\urel\</filepath>  </p> </li>
-</ul> <p>On the emulator, e.g. for text notifiers: </p> <ul>
-<li id="GUID-851A7FE9-54FE-5FEB-9F38-4B4F32EEDD53"><p> <filepath>\sys\bin\tnotifiers</filepath>  </p> </li>
-</ul> </li>
-<li id="GUID-726EA784-F425-5F5D-8837-33AA9244594E"><p>On the device: </p> <p> <filepath>\sys\bin\</filepath>  </p> </li>
-</ul> </entry>
-<entry><p> <filepath>.exe</filepath>, <filepath>.app</filepath>, </p> <p> <filepath>.dll</filepath>, <filepath>.ani</filepath>, </p> <p> <filepath>.ctl</filepath>, <filepath>.fep</filepath>, </p> <p> <filepath>.mdl</filepath>, <filepath>.csy</filepath>, </p> <p> <filepath>.ldd</filepath>, <filepath>.pdd</filepath>, </p> <p> <filepath>.prt</filepath>, </p> <p> <filepath>.ECOMIIC</filepath>, <filepath>.PLUGIN</filepath>  </p> </entry>
-<entry><ul>
-<li id="GUID-2C766E8B-EB9E-5BA5-9E86-B69D1412E3AD"><p>Location of all binaries </p> </li>
-<li id="GUID-8443D832-175E-52DD-A190-2E4F0F86C02E"><p>The OS will refuse to
-load any binary not in <filepath>\sys\bin\</filepath>  </p> </li>
-<li id="GUID-6EF741B8-BA5E-592B-88AD-D74C18556797"><p>Code without <codeph>AllFiles</codeph> (or <codeph>TCB</codeph>)
-capability will never be able to read (or write) anything under <filepath>\sys\</filepath>  </p> </li>
-<li id="GUID-139E6964-311A-5B28-93A2-DABE9F176D1E"><p>Note that for the emulator
-when <codeph>PlatSecEnforceSysBin</codeph> is enabled (in the <filepath>epoc.ini</filepath> file)
-executables found under <filepath>\system</filepath> will not be able to be
-loaded </p> </li>
-</ul> </entry>
-</row>
-<row>
-<entry><p> <filepath>\private\&lt;process SID&gt;\</filepath>  </p> </entry>
-<entry><p> <filepath>.doc</filepath>, <filepath>.txt</filepath>, </p> <p> <filepath>.xml</filepath>, <filepath>.dat</filepath>, </p> <p> <filepath>.ini</filepath>, <filepath>.mbm</filepath>, </p> <p> <filepath>.rsc</filepath>  </p> </entry>
-<entry><ul>
-<li id="GUID-D3532BB0-FA8A-543F-90D2-FAF3A60D59FB"><p>Location of all private
-data files (e.g. if the file is to be accessed only by the application itself) </p> </li>
-<li id="GUID-9EC27287-26DC-5A60-AAB8-66CB9B542A3B"><p>The directory name under <filepath>\private</filepath> is
-determined by the SecureId (SID) of the process. If a SID is not specified,
-the <codeph>UID3</codeph> provided in the mmp file is used </p> </li>
-<li id="GUID-4FFFABBD-F07E-5B02-932D-2CC014EED451"><p>Under the <filepath>\private</filepath> directory,
-programs without the <codeph>AllFiles</codeph> capability will only ever be
-able to see their own directory </p> </li>
-</ul> </entry>
-</row>
-<row>
-<entry><ul>
-<li id="GUID-7FB0FDE3-CED7-5288-903C-9F4FE929B6FF"><p>Applications on the
-emulator, or built into the ROM must provide registration files in: </p> <ul>
-<li id="GUID-E684117A-273C-51A9-958E-E08446B8F454"><p> <filepath>\private\10003a3f\apps\</filepath>  </p> </li>
-</ul> </li>
-<li id="GUID-CBDD2344-0C22-5D27-B4C3-B14AC92ECF12"><p>Applications installed
-via Software Install must provide registration files in: </p> <ul>
-<li id="GUID-C2EFCAC2-2E85-5A61-BD77-B19F0BDE095F"><p> <filepath>\private\10003a3f\import\apps\</filepath>  </p> </li>
-</ul> </li>
-</ul> </entry>
-<entry><p> <filepath>&lt;appname&gt;_reg.rsc</filepath>  </p> </entry>
-<entry><ul>
-<li id="GUID-44FA136E-CE01-55C1-AAE9-0B0C927A57FB"><p>The private system directory
-for an application's registration file </p> </li>
-<li id="GUID-2EF36F6C-2367-5407-AEEC-6B10D7F17CF7"><p>The directory must always
-be on the same drive as the application </p> </li>
-<li id="GUID-7138A905-C1D6-51AA-BFD1-8679D7157A35"><p>These paths are true
-for both the emulator and target device </p> </li>
-</ul> </entry>
-</row>
-<row>
-<entry><p> <filepath>\resource\apps\</filepath>  </p> </entry>
-<entry><p> <filepath>.rsc</filepath>, <filepath>.mbm</filepath>  </p> </entry>
-<entry><ul>
-<li id="GUID-13F15A62-D5EF-5473-B0FA-27000004212B"><p>Read access is allowed
-by all </p> </li>
-<li id="GUID-39C994D8-602B-5CD2-B68D-D9573CA3141D"><p>Write access only by
-processes with <codeph>AllFiles</codeph> capability </p> </li>
-</ul> </entry>
-</row>
-<row>
-<entry><p> <filepath>\resource\plugins\</filepath>  </p> </entry>
-<entry><p> <filepath>&lt;dllname&gt;.rsc</filepath>  </p> </entry>
-<entry><ul>
-<li id="GUID-58281D7D-4298-5C5E-9CAC-308B83DCF71F"><p>Specifically for ECom
-registration resource files for ECom plugins </p> </li>
-<li id="GUID-2C520ACF-9572-5041-A725-17431171455A"><p>Read access is allowed
-by all </p> </li>
-</ul> </entry>
-</row>
-<row>
-<entry><p>Central Repository API </p> <p> <filepath>\private\&lt;process sid&gt;\</filepath>  </p> </entry>
-<entry><p> <filepath>.txt</filepath>  </p> </entry>
-<entry><ul>
-<li id="GUID-8524D37A-8F26-55A4-91D1-D8C09C3ADFF8"><p>If the file is read/write-only,
-and access to it needs controlling through capabilities, then use the Central
-Repository API, not a file at all. </p> </li>
-</ul> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E" xml:lang="en"><title>File locations</title><shortdesc>This topic gives the location for different file types.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-4A1719B9-BD5A-4D46-A196-E8447C144F91"><title>Pre-Symbian
+OS v9.0</title> <p>Application program files must be located in directories
+with the form <filepath>\system\apps\&lt;program&gt;\</filepath>. Initialisation
+and configuration files should be in the same directory, or where
+the application is in ROM, in the equivalent directory on a writable
+drive. </p> <p>Document files can be located in any directory <i>except</i> <filepath>\system\</filepath>, and may be given any name: the system
+will not alter the capitalisation of that name, and will not attempt
+to add or remove any extension. </p> <p>The application architecture
+does not dictate the requirements for <i>all</i> files, or even all
+file stores. For instance, an e-mail application is not document based.
+An e-mail subsystem would store its messages in a directory structure
+using special e-mail policies to implement inbox, outbox and folders.
+Normally, this folder would be in a <filepath>\system\</filepath> directory. </p> </section>
+<section id="GUID-C8E8AB80-4EE5-5593-8981-4A91A0111419"><title>Symbian
+OS v9.0 and beyond</title> <p>The following table gives the location
+for different file types. </p> <table id="GUID-9952EBEF-FCBC-585F-A9AD-D1CD2F8088BA">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/>
+<colspec colname="col2"/>
+<thead>
+<row>
+<entry>Location</entry>
+<entry>Example file types</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><ul>
+<li id="GUID-D669EB04-023C-5224-999D-9EE55E8EA7ED"><p>On the emulator
+(default): </p> <ul>
+<li id="GUID-BEE962D9-B7DD-5B2B-91B3-125B16E414DC"><p> <filepath>epoc32\release\winscw\udeb\</filepath>  </p> </li>
+<li id="GUID-52700062-ED55-525D-BC55-A10678FC97E6"><p> <filepath>epoc32\release\winscw\urel\</filepath>  </p> </li>
+</ul> <p>On the emulator, e.g. for text notifiers: </p> <ul>
+<li id="GUID-851A7FE9-54FE-5FEB-9F38-4B4F32EEDD53"><p> <filepath>\sys\bin\tnotifiers</filepath>  </p> </li>
+</ul> </li>
+<li id="GUID-726EA784-F425-5F5D-8837-33AA9244594E"><p>On the device: </p> <p> <filepath>\sys\bin\</filepath>  </p> </li>
+</ul> </entry>
+<entry><p> <filepath>.exe</filepath>, <filepath>.app</filepath>, </p> <p> <filepath>.dll</filepath>, <filepath>.ani</filepath>, </p> <p> <filepath>.ctl</filepath>, <filepath>.fep</filepath>, </p> <p> <filepath>.mdl</filepath>, <filepath>.csy</filepath>, </p> <p> <filepath>.ldd</filepath>, <filepath>.pdd</filepath>, </p> <p> <filepath>.prt</filepath>, </p> <p> <filepath>.ECOMIIC</filepath>, <filepath>.PLUGIN</filepath>  </p> </entry>
+<entry><ul>
+<li id="GUID-2C766E8B-EB9E-5BA5-9E86-B69D1412E3AD"><p>Location of
+all binaries </p> </li>
+<li id="GUID-8443D832-175E-52DD-A190-2E4F0F86C02E"><p>The OS will
+refuse to load any binary not in <filepath>\sys\bin\</filepath>  </p> </li>
+<li id="GUID-6EF741B8-BA5E-592B-88AD-D74C18556797"><p>Code without <codeph>AllFiles</codeph> (or <codeph>TCB</codeph>) capability will never
+be able to read (or write) anything under <filepath>\sys\</filepath>  </p> </li>
+<li id="GUID-139E6964-311A-5B28-93A2-DABE9F176D1E"><p>Note that for
+the emulator when <codeph>PlatSecEnforceSysBin</codeph> is enabled
+(in the <filepath>epoc.ini</filepath> file) executables found under <filepath>\system</filepath> will not be able to be loaded </p> </li>
+</ul> </entry>
+</row>
+<row>
+<entry><p> <filepath>\private\&lt;process SID&gt;\</filepath>  </p> </entry>
+<entry><p> <filepath>.doc</filepath>, <filepath>.txt</filepath>, </p> <p> <filepath>.xml</filepath>, <filepath>.dat</filepath>, </p> <p> <filepath>.ini</filepath>, <filepath>.mbm</filepath>, </p> <p> <filepath>.rsc</filepath>  </p> </entry>
+<entry><ul>
+<li id="GUID-D3532BB0-FA8A-543F-90D2-FAF3A60D59FB"><p>Location of
+all private data files (e.g. if the file is to be accessed only by
+the application itself) </p> </li>
+<li id="GUID-9EC27287-26DC-5A60-AAB8-66CB9B542A3B"><p>The directory
+name under <filepath>\private</filepath> is determined by the SecureId
+(SID) of the process. If a SID is not specified, the <codeph>UID3</codeph> provided in the mmp file is used </p> </li>
+<li id="GUID-4FFFABBD-F07E-5B02-932D-2CC014EED451"><p>Under the <filepath>\private</filepath> directory, programs without the <codeph>AllFiles</codeph> capability will only ever be able to see their own directory </p> </li>
+</ul> </entry>
+</row>
+<row>
+<entry><ul>
+<li id="GUID-7FB0FDE3-CED7-5288-903C-9F4FE929B6FF"><p>Applications
+on the emulator, or built into the ROM must provide registration files
+in: </p> <ul>
+<li id="GUID-E684117A-273C-51A9-958E-E08446B8F454"><p> <filepath>\private\10003a3f\apps\</filepath>  </p> </li>
+</ul> </li>
+<li id="GUID-CBDD2344-0C22-5D27-B4C3-B14AC92ECF12"><p>Applications
+installed via Software Install must provide registration files in: </p> <ul>
+<li id="GUID-C2EFCAC2-2E85-5A61-BD77-B19F0BDE095F"><p> <filepath>\private\10003a3f\import\apps\</filepath>  </p> </li>
+</ul> </li>
+</ul> </entry>
+<entry><p> <filepath>&lt;appname&gt;_reg.rsc</filepath>  </p> </entry>
+<entry><ul>
+<li id="GUID-44FA136E-CE01-55C1-AAE9-0B0C927A57FB"><p>The private
+system directory for an application's registration file </p> </li>
+<li id="GUID-2EF36F6C-2367-5407-AEEC-6B10D7F17CF7"><p>The directory
+must always be on the same drive as the application </p> </li>
+<li id="GUID-7138A905-C1D6-51AA-BFD1-8679D7157A35"><p>These paths
+are true for both the emulator and target device </p> </li>
+</ul> </entry>
+</row>
+<row>
+<entry><p> <filepath>\resource\apps\</filepath>  </p> </entry>
+<entry><p> <filepath>.rsc</filepath>, <filepath>.mbm</filepath>  </p> </entry>
+<entry><ul>
+<li id="GUID-13F15A62-D5EF-5473-B0FA-27000004212B"><p>Read access
+is allowed by all </p> </li>
+<li id="GUID-39C994D8-602B-5CD2-B68D-D9573CA3141D"><p>Write access
+only by processes with <codeph>AllFiles</codeph> capability </p> </li>
+</ul> </entry>
+</row>
+<row>
+<entry><p> <filepath>\resource\plugins\</filepath>  </p> </entry>
+<entry><p> <filepath>&lt;dllname&gt;.rsc</filepath>  </p> </entry>
+<entry><ul>
+<li id="GUID-58281D7D-4298-5C5E-9CAC-308B83DCF71F"><p>Specifically
+for ECom registration resource files for ECom plugins </p> </li>
+<li id="GUID-2C520ACF-9572-5041-A725-17431171455A"><p>Read access
+is allowed by all </p> </li>
+</ul> </entry>
+</row>
+<row>
+<entry><p>Central Repository API </p> <p> <filepath>\private\&lt;process
+sid&gt;\</filepath>  </p> </entry>
+<entry><p> <filepath>.txt</filepath>  </p> </entry>
+<entry><ul>
+<li id="GUID-8524D37A-8F26-55A4-91D1-D8C09C3ADFF8"><p>If the file
+is read/write-only, and access to it needs controlling through capabilities,
+then use the Central Repository API, not a file at all. </p> </li>
+</ul> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-54EB6658-D2C1-514B-B9F1-BAB541A2972D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-54EB6658-D2C1-514B-B9F1-BAB541A2972D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-54EB6658-D2C1-514B-B9F1-BAB541A2972D"><title>Bitmap Devices and Contexts</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The BitGDI API provides extensions for bitmap devices of the abstract drawing device and context interfaces defined in the GDI API. The key interfaces defined by it, used for drawing on the screen, are in fact abstract. The Window Server provides concrete classes for on-screen drawing which derive from these interfaces. The concrete device and context classes that the API does provide are normally only used by applications to draw to in-memory bitmaps. </p> <section><title>Bitmap graphics context</title> <p> <xref href="GUID-FC746873-0570-3900-AD89-42B205FDC0D3.dita"><apiname>CBitmapContext</apiname></xref> specializes a GDI context (<xref href="GUID-DAD09DCF-3123-38B4-99E9-91FB24B92138.dita"><apiname>CGraphicsContext</apiname></xref>) for bitmap graphics. It provides extra functionality for: </p> <ul><li id="GUID-CA567C8D-75A2-5541-AB6D-44B3FA2829CF"><p>clearing and copying rectangular areas </p> </li> <li id="GUID-79354D71-D97C-5DB6-89B1-25DCC7D6B9A6"><p>bitmap block transfer </p> </li> <li id="GUID-07452A62-0F2A-54BF-AEC2-D7A27143B917"><p>setting pen color to a grey level </p> </li> <li id="GUID-2F47B9C7-57B4-5B21-9A57-1553D1515819"><p>setting the shadow mode </p> </li> <li id="GUID-10B7AF69-1D9D-557C-95BF-BE619E524C73"><p>resetting the GC settings to their default values </p> </li> </ul> <p>The Window Server client-side API provides one implementation, <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref>, used for screen drawing. Another implementation, <xref href="GUID-4A501086-7EFF-376D-8901-6D9B2EB4EFF2.dita"><apiname>CFbsBitGc</apiname></xref>, is used for drawing to in-memory bitmaps. </p> <fig id="GUID-BD3D2320-242C-5319-8AF2-358001AC0D71"><image href="GUID-E56D30B2-9EF7-555C-8119-9F5E0F959AB4_d0e263000_href.png" placement="inline"/></fig> </section> <section><title>Bitmap graphics device</title> <p> <codeph>CBitmapDevice</codeph> specializes a graphics device (<xref href="GUID-500FC564-35E9-3B66-A0C2-1269371A2EA0.dita"><apiname>CGraphicsDevice</apiname></xref>) for bitmap graphics. </p> <p>The Window Server client-side API provides one implementation, <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita"><apiname>CWsScreenDevice</apiname></xref>, for screen drawing. Another implementation, <xref href="GUID-71D27EBD-26B8-3D51-9798-1EAD461BCBCF.dita"><apiname>CFbsBitmapDevice</apiname></xref>, is used for drawing to in-memory bitmaps. A third, <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref>, is used (rarely) to access the screen directly, without the mediation of the window server. </p> <fig id="GUID-79B68A26-59CC-5915-AB2D-90338FBF1E9B"><image href="GUID-DE0E5230-A422-5859-A8DF-5E51AAA9B23A_d0e263033_href.png" placement="inline"/></fig> </section> <section><title>Screen driver information</title> <p>The screen width and height must be a multiple of four. In certain cases where the screen mode would result in a scanline (the scanline runs in the current horizontal direction of the screen) not being divisible by a whole word (32 bits) the screen width must also be a multiple of 16. This restriction will also apply to the height if there is a screen-size mode with a rotation of 90 or 270 (or both) </p> <p>For example, the screen mode <codeph>EGray4</codeph> is 2 bits per pixel, therefore one word would be 16 pixels, so in order for the scanline to be a whole number of words the width must be a multiple of 16. </p> <p>The vertical height is unrestricted unless there is at least one screen-size mode with a rotation of 90 or 270 (or both). </p> </section> </conbody><related-links><link href="GUID-75B0B7C7-37B7-57D1-8EAA-8303A915A9DD.dita"><linktext>Bitmaps</linktext> </link> <link href="GUID-EAAD1719-C02C-5705-A5C3-993E36441BE6.dita"><linktext>BitGDI Component</linktext> </link> </related-links></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-54EB6658-D2C1-514B-B9F1-BAB541A2972D"><title>Bitmap Devices and Contexts</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The BitGDI API provides extensions for bitmap devices of the abstract drawing device and context interfaces defined in the GDI API. The key interfaces defined by it, used for drawing on the screen, are in fact abstract. The Window Server provides concrete classes for on-screen drawing which derive from these interfaces. The concrete device and context classes that the API does provide are normally only used by applications to draw to in-memory bitmaps. </p> <section><title>Bitmap graphics context</title> <p> <xref href="GUID-FC746873-0570-3900-AD89-42B205FDC0D3.dita"><apiname>CBitmapContext</apiname></xref> specializes a GDI context (<xref href="GUID-DAD09DCF-3123-38B4-99E9-91FB24B92138.dita"><apiname>CGraphicsContext</apiname></xref>) for bitmap graphics. It provides extra functionality for: </p> <ul><li id="GUID-CA567C8D-75A2-5541-AB6D-44B3FA2829CF"><p>clearing and copying rectangular areas </p> </li> <li id="GUID-79354D71-D97C-5DB6-89B1-25DCC7D6B9A6"><p>bitmap block transfer </p> </li> <li id="GUID-07452A62-0F2A-54BF-AEC2-D7A27143B917"><p>setting pen color to a grey level </p> </li> <li id="GUID-2F47B9C7-57B4-5B21-9A57-1553D1515819"><p>setting the shadow mode </p> </li> <li id="GUID-10B7AF69-1D9D-557C-95BF-BE619E524C73"><p>resetting the GC settings to their default values </p> </li> </ul> <p>The Window Server client-side API provides one implementation, <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref>, used for screen drawing. Another implementation, <xref href="GUID-4A501086-7EFF-376D-8901-6D9B2EB4EFF2.dita"><apiname>CFbsBitGc</apiname></xref>, is used for drawing to in-memory bitmaps. </p> <fig id="GUID-BD3D2320-242C-5319-8AF2-358001AC0D71"><image href="GUID-E56D30B2-9EF7-555C-8119-9F5E0F959AB4_d0e269000_href.png" placement="inline"/></fig> </section> <section><title>Bitmap graphics device</title> <p> <codeph>CBitmapDevice</codeph> specializes a graphics device (<xref href="GUID-500FC564-35E9-3B66-A0C2-1269371A2EA0.dita"><apiname>CGraphicsDevice</apiname></xref>) for bitmap graphics. </p> <p>The Window Server client-side API provides one implementation, <xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita"><apiname>CWsScreenDevice</apiname></xref>, for screen drawing. Another implementation, <xref href="GUID-71D27EBD-26B8-3D51-9798-1EAD461BCBCF.dita"><apiname>CFbsBitmapDevice</apiname></xref>, is used for drawing to in-memory bitmaps. A third, <xref href="GUID-B229156F-2344-3F46-8542-AC65882D80DE.dita"><apiname>CFbsScreenDevice</apiname></xref>, is used (rarely) to access the screen directly, without the mediation of the window server. </p> <fig id="GUID-79B68A26-59CC-5915-AB2D-90338FBF1E9B"><image href="GUID-DE0E5230-A422-5859-A8DF-5E51AAA9B23A_d0e269033_href.png" placement="inline"/></fig> </section> <section><title>Screen driver information</title> <p>The screen width and height must be a multiple of four. In certain cases where the screen mode would result in a scanline (the scanline runs in the current horizontal direction of the screen) not being divisible by a whole word (32 bits) the screen width must also be a multiple of 16. This restriction will also apply to the height if there is a screen-size mode with a rotation of 90 or 270 (or both) </p> <p>For example, the screen mode <codeph>EGray4</codeph> is 2 bits per pixel, therefore one word would be 16 pixels, so in order for the scanline to be a whole number of words the width must be a multiple of 16. </p> <p>The vertical height is unrestricted unless there is at least one screen-size mode with a rotation of 90 or 270 (or both). </p> </section> </conbody><related-links><link href="GUID-75B0B7C7-37B7-57D1-8EAA-8303A915A9DD.dita"><linktext>Bitmaps</linktext> </link> <link href="GUID-EAAD1719-C02C-5705-A5C3-993E36441BE6.dita"><linktext>BitGDI Component</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e239080_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e245056_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5512B80D-77E8-5DFB-BD97-EBC1C4360E90.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5512B80D-77E8-5DFB-BD97-EBC1C4360E90"><title>pageddata</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>pageddata </codeph>  </p> <p>Use the <codeph>pageddata</codeph> statement to specify that the data in the executable is paged. This controls the paging of both heap and stacks for an executable. For more fine-grained control, the paging of heap and stack data can be specified separately during the creation of new threads and processes. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-552530EB-1287-542D-AED3-125387B485C1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-552530EB-1287-542D-AED3-125387B485C1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -49,7 +49,7 @@
 <p>The template port provides a framework for implementing the platform specific
 part of the digitiser. The diagram below shows the overall relationship: </p>
 <fig id="GUID-25F301AD-9B05-51BF-A96B-C99AB5B2D2E4">
-<image href="GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e379715_href.png" placement="inline"/>
+<image href="GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e385568_href.png" placement="inline"/>
 </fig>
 <p>The standard Symbian platform ports all follow the same general pattern,
 including the H2. However, the H2 board implementation has two levels in its
Binary file Symbian3/PDK/Source/GUID-55754EF4-EC25-5CE3-9B38-79F278BCF19F_d0e551986_href.png has changed
Binary file Symbian3/PDK/Source/GUID-55754EF4-EC25-5CE3-9B38-79F278BCF19F_d0e559442_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5598B53F-2A6D-5813-913C-94B2AB36134E_d0e106187_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5598B53F-2A6D-5813-913C-94B2AB36134E_d0e108630_href.png has changed
--- a/Symbian3/PDK/Source/GUID-55DD28C0-54A0-4DD9-87A0-FC7CC0723765.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-55DD28C0-54A0-4DD9-87A0-FC7CC0723765.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,8 +24,8 @@
 –[tcx|tci] &lt;TCS_File&gt;</cmdname></p><p>where <codeph>&lt;SCRIPT_FILE&gt;</codeph> indicates
 the script file and <codeph>&lt;TCS_FILE&gt;</codeph> indicates the <codeph>TCS</codeph> file.</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-8-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-8-1-3-2-1"><cmd>Modify the <filepath>TCS</filepath> file
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-8-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-8-1-3-2-1"><cmd>Modify the <filepath>TCS</filepath> file
 based on the test cases that you want to run.</cmd>
 </step>
 <step id="GUID-BF9483A3-D7FE-498B-8738-ADF112512E7C"><cmd>Run the following <codeph>testexecute</codeph> command:</cmd>
--- a/Symbian3/PDK/Source/GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13"><title>Overview</title><shortdesc>This topic describes memory management in the Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Introduction</title> <p>The Communications Framework preallocates memory area buffers to increase the performance of its Data Plane. When a Comms Data Plane component needs a buffer, it asks for one from its pond. The pond contains pools of buffers : each pool contains buffers of a different size, and all the buffers in a pool have the same size. If the pond doesn't have a big enough buffer, it will string together a chain of smaller buffers to meet the request. </p> <p>The Communications Framework uses shared buffers. The Data Plane has strong performance requirements, and using shared buffers helps to avoid the memory copy that occurs between the kernel memory context and the Communications stack. </p> </section> <section id="GUID-9D1B3001-1B30-5CCE-A664-D0EEB53A4A9A"><title>Definitions</title> <dl><dlentry><dt>Comms buffer (MBuf)</dt> <dd><p>A Comms buffer, or MBuf, is a contiguous memory area used to store data on the Data Plane. It is represented by an <xref href="GUID-E0ADB108-D3B2-3670-907D-2AE595BECE3F.dita"><apiname>RMBuf</apiname></xref> object, which combines a shared buffer with metadata. See <xref href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita">Shared buffers</xref> and <xref href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita">Comms Buffers (MBuf) and Comms Chains</xref>. </p> <fig id="GUID-6BD84148-1DC7-5FAD-A150-6FE4832A9420"><title>
                   Comms buffer 
-                </title> <image href="GUID-6262B90B-3F91-517C-B2FA-749C84CE01DE_d0e137391_href.png" placement="inline"/></fig> </dd> </dlentry> <dlentry><dt>Comms buffer chain</dt> <dd><p>A Comms buffer chain links together one or more Comms buffers. This decreases memory consumption because there is no need to reserve space for temporary large buffers, which can be created from a chain of smaller buffers. The chain is represented by a <xref href="GUID-F024208C-ED19-3301-85C1-53F397C9910F.dita"><apiname>RMBufChain</apiname></xref> object. For more information, see <xref href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita">Comms Buffers (MBuf) and Comms Chains</xref>. </p> </dd> </dlentry> <dlentry><dt>Pool</dt> <dd><p>Pre-allocated collection of shared buffers. See <xref href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita">Shared buffers</xref>. </p> <p>The buffers of a pool all have the same size. Depending on the amount of used buffers, the pool dynamically grows and shrinks by a set number of buffers, which reduces the frequency of expensive memory allocation and reduces memory usage when possible. </p> </dd> </dlentry> <dlentry><dt>Pond</dt> <dd><p>The pond is a collection of pools. It is an <codeph>RCommsBufPond</codeph> object which keeps track of the memory available in the pools and allocates all the Comms buffer chains by taking buffers from the appropriate pools. </p> <p>The memory provided by the pond is available to all the layers of the Comms Framework as well as to the drivers underneath the lower layer. Therefore, the Comms Framework components and the drivers can exchange data without additional memory copies. </p> <p>At the moment, there is only one pond in the Comms Framework. </p> <p>For more information, see <xref href="GUID-81E532DF-4702-5881-9E1B-E6537425B4E2.dita">Advanced Pond Guide</xref>. </p> <fig id="GUID-D991B970-86AC-5970-B32E-08791791CCF5"><title>
+                </title> <image href="GUID-6262B90B-3F91-517C-B2FA-749C84CE01DE_d0e139640_href.png" placement="inline"/></fig> </dd> </dlentry> <dlentry><dt>Comms buffer chain</dt> <dd><p>A Comms buffer chain links together one or more Comms buffers. This decreases memory consumption because there is no need to reserve space for temporary large buffers, which can be created from a chain of smaller buffers. The chain is represented by a <xref href="GUID-F024208C-ED19-3301-85C1-53F397C9910F.dita"><apiname>RMBufChain</apiname></xref> object. For more information, see <xref href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita">Comms Buffers (MBuf) and Comms Chains</xref>. </p> </dd> </dlentry> <dlentry><dt>Pool</dt> <dd><p>Pre-allocated collection of shared buffers. See <xref href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita">Shared buffers</xref>. </p> <p>The buffers of a pool all have the same size. Depending on the amount of used buffers, the pool dynamically grows and shrinks by a set number of buffers, which reduces the frequency of expensive memory allocation and reduces memory usage when possible. </p> </dd> </dlentry> <dlentry><dt>Pond</dt> <dd><p>The pond is a collection of pools. It is an <codeph>RCommsBufPond</codeph> object which keeps track of the memory available in the pools and allocates all the Comms buffer chains by taking buffers from the appropriate pools. </p> <p>The memory provided by the pond is available to all the layers of the Comms Framework as well as to the drivers underneath the lower layer. Therefore, the Comms Framework components and the drivers can exchange data without additional memory copies. </p> <p>At the moment, there is only one pond in the Comms Framework. </p> <p>For more information, see <xref href="GUID-81E532DF-4702-5881-9E1B-E6537425B4E2.dita">Advanced Pond Guide</xref>. </p> <fig id="GUID-D991B970-86AC-5970-B32E-08791791CCF5"><title>
                   Pond contents 
-                </title> <image href="GUID-536B2F20-DB19-595C-A465-25CF2E421050_d0e137455_href.png" placement="inline"/></fig> </dd> </dlentry> </dl> </section> <section id="GUID-56ED5265-463D-5C47-9F74-1939E9D9051C"><title>Typical usage</title> <p>Depending on where your component is in the Data Plane, you handle Comms buffers in a different way: </p> <ul><li id="GUID-EE357CF1-1F05-5F86-9F8B-0E39F945617D"><p>Protocol plugins manipulate the data plane flow represented by buffer chains. They obtain a buffer chain from another layer (up or down), process the chain, and send the chain to the next layer in the stack. Link layer components belong to that category. </p> <p>See <xref href="GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita">Data Access Example</xref>. </p> </li> <li id="GUID-7047B580-A3E9-5807-BB48-9AF60BFCE2DC"><p>Data source components, either at the top or at the bottom of the Comms Framework, create buffer chains and send them through the Data Plane. Device drivers belong to that category. </p> <p>See <xref href="GUID-F0891698-F714-55AA-A089-790BB0B07AE4.dita">Allocation Tutorial</xref> and <xref href="GUID-F2E86FB3-C634-5CF9-87B2-EAB18BF25C4B.dita">TLS Look-up Reduction Tutorial</xref>. </p> </li> </ul> <p>In order to increase performance and decrease memory consumption with Comms buffers, you need to configure the pond according to your memory usage. For more information, see <xref href="GUID-81E532DF-4702-5881-9E1B-E6537425B4E2.dita">Advanced Pond Guide</xref> and <xref href="GUID-6FEE5676-8BFB-53E6-A652-7178295C342E.dita">Pond Configuration Reference</xref>. </p> <p>To monitor the pond and its available memory, see <xref href="GUID-0995EBF6-D203-57B3-9F53-972AEB8F3D3C.dita">Memory Metrics</xref>. </p> </section> </conbody><related-links><link href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita"><linktext>Shared Buffers</linktext> </link> <link href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita"><linktext>Comms Buffers (MBuf)
+                </title> <image href="GUID-536B2F20-DB19-595C-A465-25CF2E421050_d0e139704_href.png" placement="inline"/></fig> </dd> </dlentry> </dl> </section> <section id="GUID-56ED5265-463D-5C47-9F74-1939E9D9051C"><title>Typical usage</title> <p>Depending on where your component is in the Data Plane, you handle Comms buffers in a different way: </p> <ul><li id="GUID-EE357CF1-1F05-5F86-9F8B-0E39F945617D"><p>Protocol plugins manipulate the data plane flow represented by buffer chains. They obtain a buffer chain from another layer (up or down), process the chain, and send the chain to the next layer in the stack. Link layer components belong to that category. </p> <p>See <xref href="GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita">Data Access Example</xref>. </p> </li> <li id="GUID-7047B580-A3E9-5807-BB48-9AF60BFCE2DC"><p>Data source components, either at the top or at the bottom of the Comms Framework, create buffer chains and send them through the Data Plane. Device drivers belong to that category. </p> <p>See <xref href="GUID-F0891698-F714-55AA-A089-790BB0B07AE4.dita">Allocation Tutorial</xref> and <xref href="GUID-F2E86FB3-C634-5CF9-87B2-EAB18BF25C4B.dita">TLS Look-up Reduction Tutorial</xref>. </p> </li> </ul> <p>In order to increase performance and decrease memory consumption with Comms buffers, you need to configure the pond according to your memory usage. For more information, see <xref href="GUID-81E532DF-4702-5881-9E1B-E6537425B4E2.dita">Advanced Pond Guide</xref> and <xref href="GUID-6FEE5676-8BFB-53E6-A652-7178295C342E.dita">Pond Configuration Reference</xref>. </p> <p>To monitor the pond and its available memory, see <xref href="GUID-0995EBF6-D203-57B3-9F53-972AEB8F3D3C.dita">Memory Metrics</xref>. </p> </section> </conbody><related-links><link href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita"><linktext>Shared Buffers</linktext> </link> <link href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita"><linktext>Comms Buffers (MBuf)
                 and Comms Chains</linktext> </link> <link href="GUID-A467E933-C4B4-5518-96D6-471E44B216B3.dita"><linktext>Advanced Pond
                 Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,11 +11,11 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F"><title>Surface Manager Overview</title><shortdesc>The Surface Manager is responsible for creating graphics composition surfaces (called surfaces) in system memory and controlling access to them. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <section><title>Summary</title> <p>The Surface Manager creates and manages <xref href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita">graphics composition surfaces</xref>: </p> <ul><li id="GUID-A790AC41-740B-5726-A8AF-7061C4A70398"><p>The Surface Manager allocates memory to which it controls access and that it can safely permit hardware to access. </p> </li> <li id="GUID-DB98578B-105C-5AE7-9BA1-063870D2A07D"><p>The Surface Manager maintains size and format information. </p> </li> <li id="GUID-C3AC5CAD-62EF-55A6-971A-E6C7D48DC8AC"><p>The Surface Manager keeps track of the clients using each surface. </p> </li> </ul> <p>The Surface Manager provides an API that allows clients to <b>create</b>, <b>open</b>, <b>access</b> (map to) and <b>close</b> surfaces. A client can also simply request a surface's attributes. Clients cannot change a surface's attributes which, once the surface has been created, are generally immutable. </p> <p>Surfaces are uniquely identified by a 128 bit <b>surface ID</b>. This comprises eight bits that identify the surface type and 120 bits that identify the surface itself. </p> <p>A client that creates a surface can pass its ID to another process. That process can then become a client of the Surface Manager and use the ID to access the surface. Access to a surface is strictly limited to clients that know the ID. </p> </section> <section><title>Architecture</title> <p>The Surface Manager creates and manages surfaces that are used as input to the composition engine. </p> <fig id="GUID-CDB062F1-36C8-53EA-9603-1680E2000F26"><title>
              Surface Manager and related components 
-          </title> <image href="GUID-A021A398-2FD0-5AAA-90B9-418996877600_d0e277947_href.png" placement="inline"/></fig> <p>The Surface Manager is an adaptation component, which means that it can be modified or replaced to suit the exact hardware that is available on a specific device. </p> <p>The Symbian Surface Manager consists of: </p> <ul><li id="GUID-FBE13EEF-D6E7-5D9A-AC7B-B8D05AFEDDDD"><p>A generic DLL that provides the user-side API. This provides features to create and delete surfaces, to access surface pixel data and to query surface attributes. It routes the calls through to the device driver. </p> </li> <li id="GUID-9D528A65-1A06-548F-8CF5-7603932E5910"><p>A reference implementation, which consists of a Logical Device Driver (LDD) and a kernel extension. This implements surfaces as <xref href="GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita">shared chunks</xref>, which allow memory to be mapped into the address space of multiple applications and to be available to hardware such as the MBX GPU. This allows instant access and avoids copying or moving large amounts of data. </p> <p>Shared chunks are memory regions that can be safely shared between user-side and kernel-side processes. The implementation is a kernel extension because shared chunks can only be created by the kernel. As a kernel extension it is controlled using an LDD. It performs shared chunk allocation and allows the client to specify caching attributes. </p> </li> </ul> <fig id="GUID-C33ED56C-4E4D-5A13-BC19-3E723C68A583"><title>
+          </title> <image href="GUID-A021A398-2FD0-5AAA-90B9-418996877600_d0e283947_href.png" placement="inline"/></fig> <p>The Surface Manager is an adaptation component, which means that it can be modified or replaced to suit the exact hardware that is available on a specific device. </p> <p>The Symbian Surface Manager consists of: </p> <ul><li id="GUID-FBE13EEF-D6E7-5D9A-AC7B-B8D05AFEDDDD"><p>A generic DLL that provides the user-side API. This provides features to create and delete surfaces, to access surface pixel data and to query surface attributes. It routes the calls through to the device driver. </p> </li> <li id="GUID-9D528A65-1A06-548F-8CF5-7603932E5910"><p>A reference implementation, which consists of a Logical Device Driver (LDD) and a kernel extension. This implements surfaces as <xref href="GUID-51514A4B-0220-557B-9F7A-FB110CEFEF10.dita">shared chunks</xref>, which allow memory to be mapped into the address space of multiple applications and to be available to hardware such as the MBX GPU. This allows instant access and avoids copying or moving large amounts of data. </p> <p>Shared chunks are memory regions that can be safely shared between user-side and kernel-side processes. The implementation is a kernel extension because shared chunks can only be created by the kernel. As a kernel extension it is controlled using an LDD. It performs shared chunk allocation and allows the client to specify caching attributes. </p> </li> </ul> <fig id="GUID-C33ED56C-4E4D-5A13-BC19-3E723C68A583"><title>
              The Surface Manager reference implementation 
-          </title> <image href="GUID-5606802D-7517-5BA5-A3BD-A54C417A1B64_d0e277977_href.png" placement="inline"/></fig> <p>Device creators can replace the reference implementation and retain the user-side API. Alternatively, it is possible to replace both the implementation and the user-side API or to replace the implementation and to extend the user-side API. </p> <p>It is generally necessary to create a custom Surface Manager implementation if hardware-accelerated surfaces (surfaces stored in memory managed by the GPU) are to be used. Device creators can also provide their own APIs on top of the Surface Manager. The following diagram shows the default configuration and two possible adaptation configurations. </p> <fig id="GUID-F1EA4AD3-6711-5FF0-8E79-817F6DD1E02D"><title>
+          </title> <image href="GUID-5606802D-7517-5BA5-A3BD-A54C417A1B64_d0e283977_href.png" placement="inline"/></fig> <p>Device creators can replace the reference implementation and retain the user-side API. Alternatively, it is possible to replace both the implementation and the user-side API or to replace the implementation and to extend the user-side API. </p> <p>It is generally necessary to create a custom Surface Manager implementation if hardware-accelerated surfaces (surfaces stored in memory managed by the GPU) are to be used. Device creators can also provide their own APIs on top of the Surface Manager. The following diagram shows the default configuration and two possible adaptation configurations. </p> <fig id="GUID-F1EA4AD3-6711-5FF0-8E79-817F6DD1E02D"><title>
              Some possible Surface Manager configurations 
-          </title> <image href="GUID-57372CC6-C7CC-5802-B24C-66A272359968_d0e277989_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>Features of the Surface Manager API and reference implementation include: </p> <ul><li id="GUID-58933ADA-DD25-57A6-A263-61CF858A67AF"><p> <b>Cache control</b>  </p> <p>Surface Manager allows cached or uncached operation. If the Memory Management Unit (MMU) supports caching, the client can specify the caching attributes that the Surface Manager is to use for the shared chunk allocation. This enables the Surface Manager to create surfaces in shared chunks that are suitable for both hardware and software renderers. If the MMU does not support the requested caching attribute, a lesser one is used. The client can subsequently query the supported cache behavior. </p> </li> <li id="GUID-C82A0E75-B9AA-59E0-960C-8EC4CF079D94"><p> <b>Chunk adoption</b>  </p> <p>Clients can specify a pre-existing shared chunk when creating surfaces. The shared chunk can originate from an existing surface allocated through the Surface Manager or from another driver. The Surface Manager adopts the chunk passed in instead of allocating new memory. This means that pixel data that has already been written to a shared chunk by, for example, the camera driver, can be used as input to the composition engine. </p> <p>This functionality also allows memory to be saved because one chunk can be used for both landscape and portrait orientations of a surface when both orientations are not required at the same time. </p> </li> <li id="GUID-1B8CE968-1F8A-5BA9-83F6-EDB2912DFCD0"><p> <b>Hinting support</b>  </p> <p>Like metadata, surface hints contain information about surface content. Hints are defined by the device creator and consist of key-value pairs, each of which has a flag that determines whether the value can be changed. Other processes that have access to the surface can read this data and change it if the hint is mutable. They can also add hints after creation of the surface. </p> </li> <li id="GUID-11218802-D733-52E1-8C2E-78ECF48AD4DD"><p> <b>Surface states</b>  </p> <p>The Surface Manager determines the relationship between each client process and each Surface ID. Each process sees each surface ID as being in one of the following states: </p> <ul><li id="GUID-9946AA45-923A-5AFD-8713-62D2B4181E28"><p> <b>Invalid</b>. No surface exists with that ID. </p> </li> <li id="GUID-BDCA4B3B-00F0-5258-A9BB-C5E5D283DB99"><p> <b>Closed</b>. The surface exists, but is not open in the process. </p> </li> <li id="GUID-ED6CCEAF-B11B-5A40-8FF0-598996AC2944"><p> <b>Open</b>. The process has opened the surface. </p> </li> <li id="GUID-88A677B6-0374-5494-9405-59F27A433CE6"><p> <b>Mapped</b>. The process has mapped the surface into its address space. This implies that the surface is open in that process. </p> </li> </ul> <p>Multiple processes that refer to the same surface may have different relationships with that surface. For example, the surface may be mapped in one process but simply open in another process. Most Surface Manager operations require the surface to be in a particular state relative to the calling process. If the surface is not in the required state an error is returned. </p> </li> <li id="GUID-8E5B4474-9D5C-5C7A-94EA-A7CE5F3F5CDF"><p> <b>Reference Counting</b>  </p> <p>The Surface Manager maintains a reference count for each surface. The count is started when the surface is created, gets incremented each time a client calls <codeph>OpenSurface()</codeph> and gets decremented each time <codeph>CloseSurface()</codeph> is called. When the count drops to zero the Surface Manager deletes the surface and releases the memory. </p> <p>When a process exits or closes its session with the Surface Manager, the Surface Manager closes all of the surfaces that the process has open. </p> </li> </ul> </section> <section><title>Executables</title> <p>The Surface Manager component contains the following executable files: </p> <table id="GUID-482D8833-2DA6-579A-8A84-F79AC8BB066A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>Surfacemanager.dll</filepath>  </p> </entry> <entry><p>The Surface Manager user-side API, which provides features to create and delete surfaces, to access surface pixel data and to query surface attributes. This routes the calls through to the device driver. </p> </entry> </row> <row><entry><p> <filepath>surfacemanagerdriver.ldd</filepath>  </p> </entry> <entry><p>A system memory logical device driver and kernel extension. It performs shared chunk allocation and allows the client to specify caching attributes. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>Typical use involves creating a surface, querying its properties and passing the surface ID to another process. A second process can then open the surface. </p> <p>Clients of the Surface Manager simply create an instance of the client side class <xref href="GUID-733B8BFA-7BC2-3A6D-A66F-F788413D25A9.dita"><apiname>RSurfaceManager</apiname></xref> and use its API. The complexities of device driver communication, memory management and thread safety are completely encapsulated. </p> <codeblock id="GUID-821CBBD0-C966-5720-960E-28F2A01CEEE2" xml:space="preserve">RSurfaceManager surfaceManager;
+          </title> <image href="GUID-57372CC6-C7CC-5802-B24C-66A272359968_d0e283989_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>Features of the Surface Manager API and reference implementation include: </p> <ul><li id="GUID-58933ADA-DD25-57A6-A263-61CF858A67AF"><p> <b>Cache control</b>  </p> <p>Surface Manager allows cached or uncached operation. If the Memory Management Unit (MMU) supports caching, the client can specify the caching attributes that the Surface Manager is to use for the shared chunk allocation. This enables the Surface Manager to create surfaces in shared chunks that are suitable for both hardware and software renderers. If the MMU does not support the requested caching attribute, a lesser one is used. The client can subsequently query the supported cache behavior. </p> </li> <li id="GUID-C82A0E75-B9AA-59E0-960C-8EC4CF079D94"><p> <b>Chunk adoption</b>  </p> <p>Clients can specify a pre-existing shared chunk when creating surfaces. The shared chunk can originate from an existing surface allocated through the Surface Manager or from another driver. The Surface Manager adopts the chunk passed in instead of allocating new memory. This means that pixel data that has already been written to a shared chunk by, for example, the camera driver, can be used as input to the composition engine. </p> <p>This functionality also allows memory to be saved because one chunk can be used for both landscape and portrait orientations of a surface when both orientations are not required at the same time. </p> </li> <li id="GUID-1B8CE968-1F8A-5BA9-83F6-EDB2912DFCD0"><p> <b>Hinting support</b>  </p> <p>Like metadata, surface hints contain information about surface content. Hints are defined by the device creator and consist of key-value pairs, each of which has a flag that determines whether the value can be changed. Other processes that have access to the surface can read this data and change it if the hint is mutable. They can also add hints after creation of the surface. </p> </li> <li id="GUID-11218802-D733-52E1-8C2E-78ECF48AD4DD"><p> <b>Surface states</b>  </p> <p>The Surface Manager determines the relationship between each client process and each Surface ID. Each process sees each surface ID as being in one of the following states: </p> <ul><li id="GUID-9946AA45-923A-5AFD-8713-62D2B4181E28"><p> <b>Invalid</b>. No surface exists with that ID. </p> </li> <li id="GUID-BDCA4B3B-00F0-5258-A9BB-C5E5D283DB99"><p> <b>Closed</b>. The surface exists, but is not open in the process. </p> </li> <li id="GUID-ED6CCEAF-B11B-5A40-8FF0-598996AC2944"><p> <b>Open</b>. The process has opened the surface. </p> </li> <li id="GUID-88A677B6-0374-5494-9405-59F27A433CE6"><p> <b>Mapped</b>. The process has mapped the surface into its address space. This implies that the surface is open in that process. </p> </li> </ul> <p>Multiple processes that refer to the same surface may have different relationships with that surface. For example, the surface may be mapped in one process but simply open in another process. Most Surface Manager operations require the surface to be in a particular state relative to the calling process. If the surface is not in the required state an error is returned. </p> </li> <li id="GUID-8E5B4474-9D5C-5C7A-94EA-A7CE5F3F5CDF"><p> <b>Reference Counting</b>  </p> <p>The Surface Manager maintains a reference count for each surface. The count is started when the surface is created, gets incremented each time a client calls <codeph>OpenSurface()</codeph> and gets decremented each time <codeph>CloseSurface()</codeph> is called. When the count drops to zero the Surface Manager deletes the surface and releases the memory. </p> <p>When a process exits or closes its session with the Surface Manager, the Surface Manager closes all of the surfaces that the process has open. </p> </li> </ul> </section> <section><title>Executables</title> <p>The Surface Manager component contains the following executable files: </p> <table id="GUID-482D8833-2DA6-579A-8A84-F79AC8BB066A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>Surfacemanager.dll</filepath>  </p> </entry> <entry><p>The Surface Manager user-side API, which provides features to create and delete surfaces, to access surface pixel data and to query surface attributes. This routes the calls through to the device driver. </p> </entry> </row> <row><entry><p> <filepath>surfacemanagerdriver.ldd</filepath>  </p> </entry> <entry><p>A system memory logical device driver and kernel extension. It performs shared chunk allocation and allows the client to specify caching attributes. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>Typical use involves creating a surface, querying its properties and passing the surface ID to another process. A second process can then open the surface. </p> <p>Clients of the Surface Manager simply create an instance of the client side class <xref href="GUID-733B8BFA-7BC2-3A6D-A66F-F788413D25A9.dita"><apiname>RSurfaceManager</apiname></xref> and use its API. The complexities of device driver communication, memory management and thread safety are completely encapsulated. </p> <codeblock id="GUID-821CBBD0-C966-5720-960E-28F2A01CEEE2" xml:space="preserve">RSurfaceManager surfaceManager;
 surfaceManager.Open();
 ...
 // Surface Manager now ready for use</codeblock> <p><b>Creating a surface </b> </p> <p>Before creating a surface, you specify its attributes through the <xref href="GUID-455B9D45-0BB4-3B1B-831E-B7CF5D050BB9.dita"><apiname>TSurfaceCreationAttributes</apiname></xref> class. </p> <codeblock id="GUID-7E5F2756-1F39-5241-86A8-879F29E0E6E6" xml:space="preserve">class TSurfaceCreationAttributes
Binary file Symbian3/PDK/Source/GUID-55F6EEB1-1CED-518D-9AE7-E364FC080423_d0e230784_href.png has changed
Binary file Symbian3/PDK/Source/GUID-55F6EEB1-1CED-518D-9AE7-E364FC080423_d0e236779_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5606802D-7517-5BA5-A3BD-A54C417A1B64_d0e277977_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5606802D-7517-5BA5-A3BD-A54C417A1B64_d0e283977_href.png has changed
--- a/Symbian3/PDK/Source/GUID-565074B2-53E2-54CD-A06B-7E044E66EBE8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-565074B2-53E2-54CD-A06B-7E044E66EBE8"><title>sourcepath</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>sourcepath</codeph>  <varname>directory</varname> </p> <p>Use the <codeph>sourcepath</codeph> statement to define the location of the project and its workfiles.</p> <p>Either relative or full paths can be specified with the keyword. Relative paths are considered relative to the directory containing the <filepath>.mmp</filepath> file. Full paths are considered relative to the location defined by the <codeph>EPOCROOT</codeph> variable.</p> <p>Multiple <codeph>sourcepath</codeph> statements may be specified, but note that the build tools will expect subsequent <codeph>source</codeph> and <codeph>resource</codeph> file statements to relate to the last previous <codeph>sourcepath</codeph> statement. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5673347B-DA7B-563A-AB2B-615BF7C19F92_d0e538648_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5673347B-DA7B-563A-AB2B-615BF7C19F92_d0e546108_href.png has changed
--- a/Symbian3/PDK/Source/GUID-567718E7-0267-4641-A9E3-538D893362D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-567718E7-0267-4641-A9E3-538D893362D2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 framework will handle the remaining tasks.</note>
 <fig id="GUID-3319B23C-B30F-42A0-83F2-636568BD2960">
 <title>An example of Item-specific options menu within stylus pop-up menu.</title>
-<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e88320_href.png" placement="inline"/>
+<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e92518_href.png" placement="inline"/>
 </fig>
 <table id="GUID-5B8DA500-4092-4E1A-A035-308C4D352138-GENID-1-12-1-7-1-1-5-1-12-1-1-3-1-2-4"><title>Default touch
 events for Item-specific options menu.</title>
--- a/Symbian3/PDK/Source/GUID-567D36A2-1097-5D44-B1B2-896F0F812A32.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-567D36A2-1097-5D44-B1B2-896F0F812A32"><title>linkas</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>linkas</codeph>  <varname>priority</varname> </p> <p>Use the <codeph>linkas</codeph> statement to give the DLL that your project defines a different internal name.</p> <p>By default, the internal name of the DLL will be the same as the DLL’s filename. Under certain rare circumstances, it is useful to be able to give a DLL a different internal name. </p> <p>For example, a DLL might be built with a certain name and then renamed as part of a ROM, so the internal name must be the same as the DLL’s name in ROM.</p> <p>Use of this statement will have no effect under Win32 platforms.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e393525_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e399378_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5690EA18-106E-52E6-ABD3-4D5EE3CA8B23_d0e167865_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5690EA18-106E-52E6-ABD3-4D5EE3CA8B23_d0e173958_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5696BEC1-51F5-5062-A4E6-C6CF48C7C95A_d0e172853_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5696BEC1-51F5-5062-A4E6-C6CF48C7C95A_d0e178921_href.png has changed
Binary file Symbian3/PDK/Source/GUID-56BC73B4-E919-487A-9D29-99584204F14C_d0e164912_href.png has changed
Binary file Symbian3/PDK/Source/GUID-56BC73B4-E919-487A-9D29-99584204F14C_d0e171005_href.png has changed
--- a/Symbian3/PDK/Source/GUID-56DF9711-1EFA-5A07-A92B-3F3D6FBD17A8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-56DF9711-1EFA-5A07-A92B-3F3D6FBD17A8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-56DF9711-1EFA-5A07-A92B-3F3D6FBD17A8"><title>Sockets Server Client API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic introduces the Sockets Server API and discusses the main classes. </p> <p>The Sockets Server Client interfaces make asynchronous calls to the Sockets Server. The Server co-ordinates client access to socket services, and manages communications with the protocol plug-ins that provide support for the particular networking protocols. </p> <p>Each protocol plug-in may contain a number of protocols. The term ‘protocol’ may also be used to describe a suite of protocols. For example, the TCP/IP protocol plug-in contains UDP, TCP, ICMP, IP, and DNS. Sockets can access UDP and TCP to transfer data over IP. Another example of a protocol plug-in is the IrDA plug-in. the IrDA plug-in is used for communicating over infrared. </p> <p>The Sockets Server loads protocols plug-ins at runtime either explicitly or on demand. When the server starts, the server scans <filepath>\private\101f7989\esock</filepath> for <xref href="GUID-9430D718-6E4D-5AE1-8389-24A47DFAAF16.dita">.esk</xref> files to see which protocols and services are defined, and which protocols to load. </p> <p>The Sockets Server Client API implements the idea of <keyword>transport independence</keyword>: different protocols are accessed through the same API. However, individual protocols exhibit different properties and semantics regarding socket behaviour. The semantics implemented by any given protocol can be found by interrogating the system using <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita#GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449/GUID-1B597C97-2AEB-32D1-B225-5C1E24F6470F"><apiname>RSocketServ::GetProtocolInfo()</apiname></xref>, which describes the protocol semantics encapsulated in a <xref href="GUID-0FB20F20-67EE-3948-B9F6-E1D679AC3D0F.dita"><apiname>TProtocolDesc</apiname></xref>. </p> <section><title>APIs</title> <p>Five main classes provide the Sockets Server Client API functionality: </p> <ul><li id="GUID-8F21CED0-F874-59E5-9CDE-8212C20F7101"><p> <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ</apiname></xref>  </p> </li> <li id="GUID-D6C46C27-33FA-55E1-9DA0-0FCB64239A65"><p> <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>  </p> </li> <li id="GUID-C65285B2-F251-5021-B830-6388F8600AB0"><p> <xref href="GUID-B16CAD6D-85B1-3482-AAC0-9BADEDB6ABDD.dita"><apiname>RHostResolver</apiname></xref>  </p> </li> <li id="GUID-30061681-0502-57D4-9E24-3AC265140435"><p> <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref>  </p> </li> <li id="GUID-62AEBD22-81FC-539D-BDD3-12CBA93CB0DB"><p> <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref>  </p> </li> </ul> <p>The <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ</apiname></xref> class establishes and reserves resources for the base communication session to the Sockets Server. The <codeph>RSocketServ</codeph> hosts other Sockets Server Client APIs as subsessions inside the <codeph>RSocketServ</codeph> session. The Sockets Server Client APIs which are hosted as subsessions inside <codeph>RSocketServ</codeph> are <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>, <xref href="GUID-B16CAD6D-85B1-3482-AAC0-9BADEDB6ABDD.dita"><apiname>RHostResolver</apiname></xref>, <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> and <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref>. The <codeph>RSocketServ</codeph> class provides functions to load and query protocols. </p> <fig id="GUID-D7E19F08-CADC-5050-A9C7-5A48213B2B0E"><title>
              Figure 1 - Class diagram of RSocketServ inheritance 
-          </title> <image href="GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e141412_href.png" placement="inline"/></fig> <fig id="GUID-142DBA45-272F-59FE-8008-755679B65361"><title>
+          </title> <image href="GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e143661_href.png" placement="inline"/></fig> <fig id="GUID-142DBA45-272F-59FE-8008-755679B65361"><title>
              Figure 2 - Class diagram of classes which make up the subsession APIs
              to RSocketServ 
-          </title> <image href="GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e141418_href.png" placement="inline"/></fig> <p>The <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> class provides a client endpoint to a protocol. It provides the following services: </p> <ul><li id="GUID-4472E72B-56E5-573E-9C91-10D63616C773"><p>socket creation </p> </li> <li id="GUID-20140DAB-5315-5A1F-B8FD-89203020542D"><p>reading from and writing to a protocol </p> </li> <li id="GUID-405469A5-0144-52DD-9A2D-5A517DF37267"><p>binding to addresses </p> </li> <li id="GUID-E8EBB098-2DAB-5851-BEE2-FE3E3329F414"><p>active connecting </p> </li> <li id="GUID-1C67F551-6AC1-506E-B1AF-C475C2C68412"><p>passive connection through the listen/accept model </p> </li> </ul> <p>The <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> class provides access to the Connection Management functionality of a socket. See <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita">Connection Management</xref>. </p> <p>The <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref> API provides functions to specify Quality of Service parameters for a channel. See <xref href="GUID-06CE943B-3D6A-50D1-97C3-CCFE4D4F5864.dita">SubConnection Client API</xref>. </p> </section> </conbody><related-links><link href="GUID-9430D718-6E4D-5AE1-8389-24A47DFAAF16.dita"><linktext>ESK Files</linktext> </link> <link href="GUID-782AA56A-D3CF-5239-AB62-9AE6741964E8.dita"><linktext> Reading from a Socket:
+          </title> <image href="GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e143667_href.png" placement="inline"/></fig> <p>The <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> class provides a client endpoint to a protocol. It provides the following services: </p> <ul><li id="GUID-4472E72B-56E5-573E-9C91-10D63616C773"><p>socket creation </p> </li> <li id="GUID-20140DAB-5315-5A1F-B8FD-89203020542D"><p>reading from and writing to a protocol </p> </li> <li id="GUID-405469A5-0144-52DD-9A2D-5A517DF37267"><p>binding to addresses </p> </li> <li id="GUID-E8EBB098-2DAB-5851-BEE2-FE3E3329F414"><p>active connecting </p> </li> <li id="GUID-1C67F551-6AC1-506E-B1AF-C475C2C68412"><p>passive connection through the listen/accept model </p> </li> </ul> <p>The <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> class provides access to the Connection Management functionality of a socket. See <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita">Connection Management</xref>. </p> <p>The <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref> API provides functions to specify Quality of Service parameters for a channel. See <xref href="GUID-06CE943B-3D6A-50D1-97C3-CCFE4D4F5864.dita">SubConnection Client API</xref>. </p> </section> </conbody><related-links><link href="GUID-9430D718-6E4D-5AE1-8389-24A47DFAAF16.dita"><linktext>ESK Files</linktext> </link> <link href="GUID-782AA56A-D3CF-5239-AB62-9AE6741964E8.dita"><linktext> Reading from a Socket:
                 Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-56E67157-08EE-414A-9EC5-ADAF27E0D36A_d0e91880_href.png has changed
Binary file Symbian3/PDK/Source/GUID-56E67157-08EE-414A-9EC5-ADAF27E0D36A_d0e96078_href.png has changed
Binary file Symbian3/PDK/Source/GUID-57372CC6-C7CC-5802-B24C-66A272359968_d0e277989_href.png has changed
Binary file Symbian3/PDK/Source/GUID-57372CC6-C7CC-5802-B24C-66A272359968_d0e283989_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5746BC4A-E8D2-51DE-B101-4BA68F0E1769_d0e190171_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5746BC4A-E8D2-51DE-B101-4BA68F0E1769_d0e196240_href.png has changed
--- a/Symbian3/PDK/Source/GUID-57A777A3-5D67-5CBB-B224-B7AD422A451B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-57A777A3-5D67-5CBB-B224-B7AD422A451B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 Plugins component.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-11D007D6-E9B6-541F-8490-A546CEC69324">
 <title> The Windowing collection</title>
-<image href="GUID-5A2F083E-EBA9-5477-883F-712636CF5D7C_d0e232864_href.png" placement="inline"/>
+<image href="GUID-5A2F083E-EBA9-5477-883F-712636CF5D7C_d0e238859_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
--- a/Symbian3/PDK/Source/GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,11 +31,11 @@
 something.</p>
 <fig id="GUID-0A84FE47-C9D6-48AF-A4A5-F643342733F9">
 <title>Virtual ITU-T keypad</title>
-<image href="GUID-F7A17E65-CB2D-41D3-9404-1A7D7F55FABC_d0e99023_href.png" placement="inline"/>
+<image href="GUID-F7A17E65-CB2D-41D3-9404-1A7D7F55FABC_d0e103103_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-A294F7A7-79E4-41E3-8456-9554FA23A3B4">
 <title>Virtual QWERTY keyboard</title>
-<image href="GUID-47AA7F26-FF3F-4FEE-BBB4-F4E8A8E0E335_d0e99031_href.png" placement="inline"/>
+<image href="GUID-47AA7F26-FF3F-4FEE-BBB4-F4E8A8E0E335_d0e103111_href.png" placement="inline"/>
 </fig>
 <p>The virtual QWERTY keyboard displays a keyboard that has a collection of
 basic keyboard functions (Shift, Caps lock, punctuation marks, and so on)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-57BBF5C1-C08D-59FA-8F10-F180A82306A4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-57BBF5C1-C08D-59FA-8F10-F180A82306A4" xml:lang="en"><title> STS
+Client</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The STS provides APIs to start a file system transaction, record various
+file system operation as part of a transaction, and commit or roll back the
+transaction. </p>
+<section id="GUID-5380BCC6-7850-42D5-93AF-086125888658"><title>STS Client library details</title> <p>The STS client is implemented
+in <filepath>stsclient.dll</filepath>. </p> <table id="GUID-48F0AABE-0127-5F98-A297-2925B57CD551">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>DLL</entry>
+<entry>LIB</entry>
+<entry>Short description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <filepath>stsclient.dll</filepath>  </p> </entry>
+<entry><p> <filepath>stsclient.lib</filepath>  </p> </entry>
+<entry><p>An STS client application can access the services provided by the
+STS by linking against <filepath>stsclient.lib</filepath>. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-3ABA3351-20B8-42B7-84FD-1DBE9045D393"><title>APIs</title> <p>The key class of the STS client is as follows: </p> <table id="GUID-3528B2AF-5499-52C5-A69C-391C03DBD6E2">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita"><apiname>RStsSession</apiname></xref>  </p> </entry>
+<entry><p>This class provides a synchronous interface to the STS server. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-378E940D-FE89-4337-919B-8691F035B53E"><title>Description</title> <p>The STS can record every file system
+operation such as adding, removing, or updating a file. An STS client, such
+as a software installer, requires that all of its file system operations are
+performed, or that none of them are to ensure that the integrity of the file
+system is not compromised. An STS client instructs STS to group file system
+operations as a single transaction which must be either committed fully or,
+in the event of failure, rolled back to leave the file system unchanged. </p> <p>The
+STS client instructs the STS to commit a transaction once all of the operations
+have been performed. </p> <p><b>Creating a transaction</b> </p> <p>A transaction
+can include file system operations such as adding, removing or updating a
+temporary file. An STS client must do the following to create a new transaction: </p> <ul>
+<li id="GUID-422FC9DD-9AE3-5872-81EC-0D50B6F67A87"><p>Open a new STS session. </p> </li>
+<li id="GUID-3927483B-57B9-58B9-B1AF-F29943DD574C"><p>Create a new transaction
+using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-53899D0C-3FA8-353E-8A6B-1E4492375251"><apiname>RStsSession::CreateTransactionL()</apiname></xref>. This creates a
+new transaction ID. </p> </li>
+</ul> <p> <b>Note</b>: Each STS session can have only one transaction. If <xref href="GUID-F53B786C-301D-34D4-B3CC-D814896DDCC5.dita"><apiname>CreateTransactionL</apiname></xref> or <xref href="GUID-9777AB74-5C7A-3547-A7A1-A2F60EF259AB.dita"><apiname>OpenTransactionL</apiname></xref> is invoked more than once in an STS session, STS returns an error. </p> <p><b>Opening
+a transaction</b> </p> <p>Multiple clients can share a single transaction.
+If an STS client wants to use an existing transaction, it must do the following: </p> <ul>
+<li id="GUID-B2180EAA-E4A7-5F83-A533-01C1F5AE9804"><p>Open a new a session
+to the STS. </p> </li>
+<li id="GUID-2EC132C4-EA74-52F6-A446-5E23BBAFCFD5"><p>Supply the transaction
+ID of the existing transaction to <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-28E986DA-A2E4-3345-8639-C4F367FE5CC3"><apiname>RStsSession::OpenTransactionL()</apiname></xref>. </p> </li>
+</ul> <p><b>Registering a file</b> </p> <p>You must create a transaction before
+registering a file with the server. </p> <p>Register a file with the STS server
+to inform the server about the addition of a new file to the file system. </p> <ul>
+<li id="GUID-35EAD7D7-530F-5559-971E-D50A38F44815"><p>Use <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-E6B456F0-81A8-3940-9824-EC15C14F20D3"><apiname>RStsSession::RegisterNewL</apiname></xref> to
+inform STS about addition of a new file. STS does not perform any action on
+the file. The client must create/add the file to the file system and close
+it properly after calling this function. </p> </li>
+<li id="GUID-E5117E6D-8680-59A1-81B1-59DF8E631CBD"><p>Use <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-D26C70A2-A36A-3DD6-9690-ABCA6EBB399B"><apiname>RStsSession::RegisterTemporaryL</apiname></xref> for
+registering a temporary file. </p> </li>
+</ul> <p><b>Creating a file</b> </p> <p>Create a file with specified file
+name using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-DEB1036D-7B1F-3798-9522-8BEA5E83A7F7"><apiname>RStsSession::CreateNewL()</apiname></xref>. </p> <p>The STS server
+creates an empty file and passes the file handle to the client. </p> <p>Create
+a temporary file using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-3BEAFA0F-7C31-3C34-B2E3-0D48FD58365B"><apiname>RStsSession::CreateTemporaryL()</apiname></xref>.
+STS removes temporary files automatically on both commit and rollback. </p> <p><b>Overwriting
+a file</b> </p> <p>Overwrite a specified file in the file system with an empty
+file using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-7295D60F-9FE4-3CDA-986E-DD7E900E78EA"><apiname>RStsSession::OverwriteL()</apiname></xref>. </p> <p>On commit
+the new file is added to the file system, and on rollback the original file
+is restored. </p> <p> <b>Note</b>: This function is recommended only when
+your client generates the content for the new file. </p> <p><b>Removing a
+file</b> </p> <p>Remove a file with specified file name from the file system
+using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-C8799D1E-DD7A-3299-813B-1F8552251FC5"><apiname>RStsSession::RemoveL()</apiname></xref>. If the file exists STS removes
+it from the file system, otherwise it returns an error. </p> <p>On commit
+the specified file is permanently deleted from the file system, on rollback
+it is restored. </p> <p><b>Committing operation</b> </p> <p>Commit the transaction
+using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-9230F07E-37D1-3F49-AD21-401F1DF3F993"><apiname>RStsSession::CommitL</apiname></xref>. This function closes the session
+to the STS server automatically. </p> <p> <b>Note</b>: After a transaction
+is committed the STS server cannot restore any file system operation performed
+during the transaction. </p> <p><b>Reverting or rolling back operation</b> </p> <p>Rollback
+a transaction using <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita#GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25/GUID-648E46E1-411E-36BF-A47D-9F105E0D0647"><apiname>RStsSession::RollBackL()</apiname></xref>. This function
+reverts all of the file system operations in the transaction and closes the
+session to the STS server. </p> <p> <b>Note</b>: Only file system operations
+performed using RStsSession functions are included in the transaction. </p> <p><b>Closing
+a session</b> </p> <p>A session to the STS is valid until the client calls <xref href="GUID-D7D5B755-456D-3774-ACF9-E4ABC07E5C40.dita"><apiname>CommitL()</apiname></xref> or <xref href="GUID-C6169B55-8E5A-3113-B323-A22EC167C743.dita"><apiname>RollBackL()</apiname></xref> or <xref href="GUID-01D2AF56-21E1-3FF3-BF86-0C356A1658EF.dita"><apiname>Close()</apiname></xref> functions. The <xref href="GUID-01D2AF56-21E1-3FF3-BF86-0C356A1658EF.dita"><apiname>Close()</apiname></xref> function automatically
+rolls back the current transaction. </p> <p><b>Example</b> </p> <p>Symbian
+provides an example reference installer which shows typical usage of STS.
+For more information, see the example code under <codeph>security/usif/examples/installer/</codeph>. </p> </section>
+<section id="GUID-50689CB2-2CF3-4D72-8C3C-A2E32781A5A0"><title>Related Information</title><ul>
+<li><xref href="GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4.dita">STS Overview </xref></li>
+</ul></section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e500491_href.png has changed
Binary file Symbian3/PDK/Source/GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e507953_href.png has changed
Binary file Symbian3/PDK/Source/GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e1544_href.png has changed
Binary file Symbian3/PDK/Source/GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e1548_href.png has changed
--- a/Symbian3/PDK/Source/GUID-57F38146-1DA3-5657-ADF4-76DF740363C5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-57F38146-1DA3-5657-ADF4-76DF740363C5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-57F38146-1DA3-5657-ADF4-76DF740363C5"><title>Static Startup Configuration</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The System Starter is invoked by the Base Starter as part of the boot process once the file system has been mounted. It works by processing a list of instructions in sequence. The list is referred to as a Static Startup Configuration, or SSC. In practical terms the SSC is defined in a resource file and is built into the ROM. </p> <p>A fundamental feature of the SSC is that it allows the start up procedure to be optimised. Though the commands are processed in sequence their effect is to perform tasks not only in <b>sequence</b> (wait for the application or process to initialise before continuing) but also in <b>parallel</b> (do not wait for initialisation) and <b>at the optimum time</b> (wait until conditions are right). </p> <fig id="GUID-6D5009DF-61D7-5A40-9E8F-A4CCDD29A5BC"><desc><p>In the diagram above each vertical bar represents a process or application started during the startup procedure. The list on the left shows the SSC command for each process. An application may ‘rendezvous’ with the starter when its initialisation (shown in dark blue) is complete and it is ready to be used by dependent applications. A rendezvous is simply a signal from the appliation to the starter that it has reached a designated point. </p> </desc> <image href="GUID-15D5E0D3-B643-5C72-A3D4-03E2480890EF_d0e19121_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-57F38146-1DA3-5657-ADF4-76DF740363C5"><title>Static Startup Configuration</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The System Starter is invoked by the Base Starter as part of the boot process once the file system has been mounted. It works by processing a list of instructions in sequence. The list is referred to as a Static Startup Configuration, or SSC. In practical terms the SSC is defined in a resource file and is built into the ROM. </p> <p>A fundamental feature of the SSC is that it allows the start up procedure to be optimised. Though the commands are processed in sequence their effect is to perform tasks not only in <b>sequence</b> (wait for the application or process to initialise before continuing) but also in <b>parallel</b> (do not wait for initialisation) and <b>at the optimum time</b> (wait until conditions are right). </p> <fig id="GUID-6D5009DF-61D7-5A40-9E8F-A4CCDD29A5BC"><desc><p>In the diagram above each vertical bar represents a process or application started during the startup procedure. The list on the left shows the SSC command for each process. An application may ‘rendezvous’ with the starter when its initialisation (shown in dark blue) is complete and it is ready to be used by dependent applications. A rendezvous is simply a signal from the appliation to the starter that it has reached a designated point. </p> </desc> <image href="GUID-15D5E0D3-B643-5C72-A3D4-03E2480890EF_d0e21088_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-58135EB2-5DFF-599A-B17C-B1DD60B4A750_d0e610971_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-58135EB2-5DFF-599A-B17C-B1DD60B4A750_d0e650125_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,285 +1,264 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en">
-<title>Tactile feedback</title>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>There are two cases where vibration or audio of the device is used
-as an output method:</p>
-<ul>
-<li><p>As a <i>tacticon</i> to inform users through physical feedback,
-that an important event is occurring in the device. For example, when
-a new message arrives or a warning note is displayed.</p></li>
-<li><p>As <i>tactile feedback</i> to indicate to the user that an
-interaction event has been made. For example, users receive tactile
-feedback when they press a button on the touch screen.</p></li>
-</ul>
-<p>As with sounds, tactile feedback must be used carefully so as not
-to desensitize the user to the vibration; the attention grabbing quality
-remains and functions so long as the feedback is not too frequent.</p>
-<p>Tactile feedback is enabled for all the Symbian platform UI components.
-Tactile feedback can be disabled for the common UI components in an
-application. However, this is acceptable only if tactile feedback
-causes interference with other device functions.</p>
-<p>The user can choose the level of tactile feedback and turn tacticons
-ON and OFF.</p>
-<p>The following table lists the tactile feedback effects:</p>
-<p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B">
-<title>Tactile feedback effects</title>
-<tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec
-colname="col2" colwidth="1.60*"/>
-<thead>
-<row>
-<entry valign="top"><p>Effects</p></entry>
-<entry valign="top"><p>Description</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p><b>Sensitive button</b></p></entry>
-<entry><p>Provides single pulse effect on repeated key presses with
-buttons. It is also possible with other similar components.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic button</b></p></entry>
-<entry><p>Provides stronger single pulse effect to buttons. It is
-also possible with other similar components.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive list</b></p></entry>
-<entry><p>Provides single pulse effect to lists and grids. Effect
-is used with move (drag and flick) when new item appears on the screen.</p
-></entry>
-</row>
-<row>
-<entry><p><b>Basic list</b></p></entry>
-<entry><p>Provides stronger single pulse effect to lists and grids.
-Effect is used with touch down and release when tap makes an action. </p
-><p>In hierarchical list, collapsing/expanding item provides basic
-list effect with touch down and release.</p></entry>
-</row>
-<row>
-<entry><p><b>Bounce effect</b></p></entry>
-<entry><p>Provides pulse effect when list returns to its normal state
-after boundary effect.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive slider</b></p></entry>
-<entry><p>Provides pulse effect with scrollbar and slider thumbs.
-Effect is provided with touch down and release in thumb area.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth slider</b></p></entry>
-<entry><p>Provides continuous smooth feedback when dragging scrollbar
-or slider thumb. This can also be increasing or decreasing depending
-of the slider type.</p></entry>
-</row>
-<row>
-<entry><p><b>Hold slider</b></p></entry>
-<entry><p>Provides sensitive pulse effect when touch down and hold
-on the slider or scrollbar area. Slider thumb starts moving step by
-step towards the touch point. Every step gives one sensitive pulse.
-If slider thumb moves directly to the touch point, then basic slider
-effect is provided.</p></entry>
-</row>
-<row>
-<entry><p><b>Pop-up</b></p></entry>
-<entry><p>Provides sensitive pulse effect when pop-up is opened or
-closed. If the theme animations are ON, then pop-up effect is used
-with opening event after increasing long touch effect. In this scenario,
-there is no pop-up effect . <note> All pop-ups do not have theme animation.</note
-></p></entry>
-</row>
-<row>
-<entry><p><b>Pop-up close</b></p></entry>
-<entry><p>Provides decreasing smooth feedback  a pop-up and when theme
-animations are ON.</p></entry>
-</row>
-<row>
-<entry><p><b>Increasing long touch</b></p></entry>
-<entry><p>Provides increasing smooth feedback. This can be used with
-either long tap animation or pop-up opening theme effects. If the
-theme effects are ON and long tap opens a pop-up, then feedback is
-provided only with long tap. This is followed by pop-up.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic tab</b></p></entry>
-<entry><p>Provides strong pulse effect with touch down event in tab
-area.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth flick</b></p></entry>
-<entry><p>Provides smooth feedback with drag when horizontal movement
-is possible.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive flick</b></p></entry>
-<entry><p>Provides sensitive pulse effect with touch release when
-horizontal movement is possible.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive edit</b></p></entry>
-<entry><p>Provides sensitive pulse effect in editors with touch down
-and release.</p></entry>
-</row>
-<row>
-<entry><p><b>Text edit</b></p></entry>
-<entry><p>Provides pulse effect when painting the text. Effect is
-provided with every character while painting the text.</p></entry>
-</row>
-<row>
-<entry><p><b>Blank edit</b></p></entry>
-<entry><p>Provides pulse effect when painting blank character. By
-default, it is none.</p></entry>
-</row>
-<row>
-<entry><p><b>Line edit</b></p></entry>
-<entry><p>Provides pulse effect when painting a line.</p></entry>
-</row>
-<row>
-<entry><p><b>Em<?Pub Caret?>pty line</b></p></entry>
-<entry><p>Provides pulse effect when painting an empty line. By default,
-it is none.</p></entry>
-</row>
-<row>
-<entry><p><b>Check box</b></p></entry>
-<entry><p>Provides pulse effect when marking/unmarking a check box.</p
-></entry>
-</row>
-<row>
-<entry><p><b>Multiple touch recognition</b></p></entry>
-<entry><p>Provides double pulse (sensitive + sensitive) effect when
-multiple touch is recognized (generally, when second finger is touched
-down).</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth pinch</b></p></entry>
-<entry><p>Provides smooth continuous feedback while moving fingers
-in multiple touch pinch situation.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth rotate</b></p></entry>
-<entry><p>Provides smooth continuous feedback  while moving fingers
-in multiple touch rotate situation.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></p>
-<section id="GUID-1EB54408-100B-4E4F-8D56-E13C26CA3B96"><title>Haptics
-concept</title><p>The different senses associated to the skin are
-called cutaneous senses. These senses are temperature, pressure (touch
-itself), pain, tickle, itch and vibration senses. We can characterize
-touch as passive or active. Passive touch means the sense of touch
-itself, whereas active touch means the touch action.</p><p>To communicate
-through the sense of touch, we have to stimulate some of the cutaneous
-senses or the movement sense. The stimulation of the cutaneous senses
-or one of them by a product is called tactile stimulation. Respectively,
-the stimulation of the movement sense by a product is called haptic
-stimulation or just haptics. Haptics is also used as general term
-for all issues related to sense of touch, both human and machine.</p
-><p>Haptic feedback, often referred to as "Haptics", is the use of
-the sense of touch in a user interface design to provide information
-to an end user. In mobile phones, this generally means the use of
-vibrations from the device's vibration alarm to denote that a touch
-screen button has been pressed. In this particular example, the phone
-would vibrate slightly in response to the user's activation of an
-on-screen control, making up for the lack of a normal tactile response
-that the user would experience when pressing a physical button.</p
-></section>
-<section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics
-of haptics related  APIs</title><p>You can use the following APIs
-to create haptic effects:</p><ul>
-<li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita"
->Tactile Feedback Client API</xref></p><ul>
-<li><p>Available from S60 5th Edition onwards.</p></li>
-<li><p>It can be used on all S60 5th Edition or later mobile devices.
-However, the feedback is played only on touch enabled layouts.</p
-></li>
-<li><p>Provides simple functions for triggering various predefined
-tactile feedback (vibration or audio) effects.</p></li>
-<li><p>Enables a consistent user experience in all applications of
-the mobile device (an application gives a logical feedback type as
-an input and the actual physical effect depends on the mobile device
-configuration and end user settings).</p></li>
-<li><p>When the area feedback is used, latency is low for the feedback
-triggering (a tactile feedback can already be triggered at the window
-server level prior to the corresponding pointer event being delivered
-to the visible application).</p></li>
-<li><p>Direct feedback can be easily integrated into <xref
-href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"
-><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p
-></li>
-<li><p>An application can select the logical tactile feedback from
-certain types. The produced effect may be different on various mobile
-devices.</p></li>
-</ul></li>
-<li><p><xref format="application/java-archive"
-href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html"
->Haptics API</xref></p><ul>
-<li><p>Available from S60 5th Edition, FP2 onwards.</p></li>
-<li><p>It can be used in touch and hybrid mobile devices.</p></li>
-<li><p>Provides an interface for accessing Haptics player that can
-control different actuator types.</p></li>
-<li><p>Enables producing of complex vibrator effects, such as an explosion
-or machine gun effect in a game, bass boost for a music player, advanced
-ringing tone vibration, and so on.</p></li>
-<li><p>Enables simultaneous playing of different kinds of basis effects
-and modifying them when played. </p></li>
-<li><p>Allows the design of complex effects (using a separate PC application)
-that can be loaded on Haptics player for playing.</p></li>
-<li><p>It may require a special license key  for third-party applications
-(to be set at runtime) to enable the Haptics player functionality.</p
-></li>
-</ul></li>
-<li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita"
->Vibra API</xref></p><ul>
-<li><p>Available from S60 3.0 onwards.</p></li>
-<li><p>It can be used for running device vibrator with given intensity
-for a given period of time.</p></li>
-<li><p>It can be used by a privileged client application to play pulse
-effects, which have a very short duration (as the ones used for tactile
-feedback).</p></li>
-</ul></li>
-</ul></section>
-<section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When
-to use Tactile Feedback Client API, Haptics API, and Vibra API</title
-><p><ul>
-<li><p>Tactile Feedback Client API for providing tactile feedback
-in custom controls (grids, lists, and so on), which will comply with
-the style of Core UI components to ensure a uniform user experience
-among applications.</p></li>
-<li><p>Haptics API on touch and hybrid mobile devices for producing
-complex vibration feedback, which cannot be achieved with Tactile
-Framework (games, simulations, demos, and so on).</p></li>
-<li><p>Vibra API for producing haptic effects such as ringing tone
-vibration in those mobile devices where Haptics API is not available
-or functional.</p></li>
-</ul></p></section>
-<section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using
-tactile feedback in applications</title><p>The API to use for tactile
-feedback is the <xref
-href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback
-client API</xref>.</p><p>The Symbian platform includes a tactile feedback
-interface to add, modify and remove feedback areas in the registry.
-There is also an option to trigger direct feedback and bypass the
-registry. <xref
-href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"
-><apiname>MTouchFeedback::Instance()</apiname></xref> is used for
-acquiring a pointer to a touch feedback instance. When touch feedback
-is activated, the mobile device users get a slight vibration when
-the control with the feedback interface is touched. </p><note><p>Tactile
-feedback can be set and disabled in a client application or a mobile
-device in some scenarios, for example, during phone calls.</p></note
-><p>Client applications cannot determine the actual physical feedback
-that is generated. It depends on device configuration and current
-settings. In current devices, the user changeable settings include
-vibration and audio feedback intensity level.</p><p>For more information,
-see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref
->.</p></section>
-</conbody>
-</concept>
-<?Pub *0000013046?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en"><title>Tactile feedback</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>There are two cases where vibration or audio of the device is used
+as an output method:</p>
+<ul>
+<li><p>As a <i>tacticon</i> to inform users through physical feedback,
+that an important event is occurring in the device. For example, when
+a new message arrives or a warning note is displayed.</p></li>
+<li><p>As <i>tactile feedback</i> to indicate to the user that an
+interaction event has been made. For example, users receive tactile
+feedback when they press a button on the touch screen.</p></li>
+</ul>
+<p>As with sounds, tactile feedback must be used carefully so as not
+to desensitize the user to the vibration; the attention grabbing quality
+remains and functions so long as the feedback is not too frequent.</p>
+<p>Tactile feedback is enabled for all the Symbian platform UI components.
+Tactile feedback can be disabled for the common UI components in an
+application. However, this is acceptable only if tactile feedback
+causes interference with other device functions.</p>
+<p>The user can choose the level of tactile feedback and turn tacticons
+ON and OFF.</p>
+<p>The following table lists the tactile feedback effects:</p>
+<p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B"><title>Tactile
+feedback effects</title>
+<tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec colname="col2" colwidth="1.60*"/>
+<thead>
+<row>
+<entry valign="top"><p>Effects</p></entry>
+<entry valign="top"><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p><b>Sensitive button</b></p></entry>
+<entry><p>Provides single pulse effect on repeated key presses with
+buttons. It is also possible with other similar components.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic button</b></p></entry>
+<entry><p>Provides stronger single pulse effect to buttons. It is
+also possible with other similar components.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive list</b></p></entry>
+<entry><p>Provides single pulse effect to lists and grids. Effect
+is used with move (drag and flick) when new item appears on the screen.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic list</b></p></entry>
+<entry><p>Provides stronger single pulse effect to lists and grids.
+Effect is used with touch down and release when tap makes an action. </p><p>In hierarchical list, collapsing/expanding item provides basic
+list effect with touch down and release.</p></entry>
+</row>
+<row>
+<entry><p><b>Bounce effect</b></p></entry>
+<entry><p>Provides pulse effect when list returns to its normal state
+after boundary effect.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive slider</b></p></entry>
+<entry><p>Provides pulse effect with scrollbar and slider thumbs.
+Effect is provided with touch down and release in thumb area.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth slider</b></p></entry>
+<entry><p>Provides continuous smooth feedback when dragging scrollbar
+or slider thumb. This can also be increasing or decreasing depending
+of the slider type.</p></entry>
+</row>
+<row>
+<entry><p><b>Hold slider</b></p></entry>
+<entry><p>Provides sensitive pulse effect when touch down and hold
+on the slider or scrollbar area. Slider thumb starts moving step by
+step towards the touch point. Every step gives one sensitive pulse.
+If slider thumb moves directly to the touch point, then basic slider
+effect is provided.</p></entry>
+</row>
+<row>
+<entry><p><b>Pop-up</b></p></entry>
+<entry><p>Provides sensitive pulse effect when pop-up is opened or
+closed. If the theme animations are ON, then pop-up effect is used
+with opening event after increasing long touch effect. In this scenario,
+there is no pop-up effect . <note> All pop-ups do not have theme animation.</note></p></entry>
+</row>
+<row>
+<entry><p><b>Pop-up close</b></p></entry>
+<entry><p>Provides decreasing smooth feedback  a pop-up and when theme
+animations are ON.</p></entry>
+</row>
+<row>
+<entry><p><b>Increasing long touch</b></p></entry>
+<entry><p>Provides increasing smooth feedback. This can be used with
+either long tap animation or pop-up opening theme effects. If the
+theme effects are ON and long tap opens a pop-up, then feedback is
+provided only with long tap. This is followed by pop-up.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic tab</b></p></entry>
+<entry><p>Provides strong pulse effect with touch down event in tab
+area.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth flick</b></p></entry>
+<entry><p>Provides smooth feedback with drag when horizontal movement
+is possible.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive flick</b></p></entry>
+<entry><p>Provides sensitive pulse effect with touch release when
+horizontal movement is possible.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive edit</b></p></entry>
+<entry><p>Provides sensitive pulse effect in editors with touch down
+and release.</p></entry>
+</row>
+<row>
+<entry><p><b>Text edit</b></p></entry>
+<entry><p>Provides pulse effect when painting the text. Effect is
+provided with every character while painting the text.</p></entry>
+</row>
+<row>
+<entry><p><b>Blank edit</b></p></entry>
+<entry><p>Provides pulse effect when painting blank character. By
+default, it is none.</p></entry>
+</row>
+<row>
+<entry><p><b>Line edit</b></p></entry>
+<entry><p>Provides pulse effect when painting a line.</p></entry>
+</row>
+<row>
+<entry><p><b>Empty line</b></p></entry>
+<entry><p>Provides pulse effect when painting an empty line. By default,
+it is none.</p></entry>
+</row>
+<row>
+<entry><p><b>Check box</b></p></entry>
+<entry><p>Provides pulse effect when marking/unmarking a check box.</p></entry>
+</row>
+<row>
+<entry><p><b>Multiple Touch recognition</b></p></entry>
+<entry><p>Provides double pulse (sensitive + sensitive) effect when
+multiple touch is recognized (generally, when second finger is touched
+down).</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth pinch</b></p></entry>
+<entry><p>Provides smooth continuous feedback while moving fingers
+in multiple touch pinch situation.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth rotate</b></p></entry>
+<entry><p>Provides smooth continuous feedback  while moving fingers
+in multiple touch rotate situation.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></p>
+<section id="GUID-1EB54408-100B-4E4F-8D56-E13C26CA3B96"><title>Haptics
+concept</title><p>The different senses associated to the skin are
+called cutaneous senses. These senses are temperature, pressure (touch
+itself), pain, tickle, itch and vibration senses. We can characterize
+touch as passive or active. Passive touch means the sense of touch
+itself, whereas active touch means the touch action.</p><p>To communicate
+through the sense of touch, we have to stimulate some of the cutaneous
+senses or the movement sense. The stimulation of the cutaneous senses
+or one of them by a product is called tactile stimulation. Respectively,
+the stimulation of the movement sense by a product is called haptic
+stimulation or just haptics. Haptics is also used as general term
+for all issues related to sense of touch, both human and machine.</p><p>Haptic feedback, often referred to as "Haptics", is the use of
+the sense of touch in a user interface design to provide information
+to an end user. In mobile phones, this generally means the use of
+vibrations from the device's vibration alarm to denote that a touch
+screen button has been pressed. In this particular example, the phone
+would vibrate slightly in response to the user's activation of an
+on-screen control, making up for the lack of a normal tactile response
+that the user would experience when pressing a physical button.</p></section>
+<section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics
+of haptics related  APIs</title><p>You can use the following APIs
+to create haptic effects:</p><ul>
+<li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile
+Feedback Client API</xref></p><ul>
+<li><p>Available from S60 5th Edition onwards.</p></li>
+<li><p>It can be used on all S60 5th Edition or later mobile devices.
+However, the feedback is played only on touch enabled layouts.</p></li>
+<li><p>Provides simple functions for triggering various predefined
+tactile feedback (vibration or audio) effects.</p></li>
+<li><p>Enables a consistent user experience in all applications of
+the mobile device (an application gives a logical feedback type as
+an input and the actual physical effect depends on the mobile device
+configuration and end user settings).</p></li>
+<li><p>When the area feedback is used, latency is low for the feedback
+triggering (a tactile feedback can already be triggered at the window
+server level prior to the corresponding pointer event being delivered
+to the visible application).</p></li>
+<li><p>Direct feedback can be easily integrated into <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p></li>
+<li><p>An application can select the logical tactile feedback from
+certain types. The produced effect may be different on various mobile
+devices.</p></li>
+</ul></li>
+<li><p><xref href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html" format="application/java-archive">Haptics API</xref></p><ul>
+<li><p>Available from S60 5th Edition, FP2 onwards.</p></li>
+<li><p>It can be used in touch and hybrid mobile devices.</p></li>
+<li><p>Provides an interface for accessing Haptics player that can
+control different actuator types.</p></li>
+<li><p>Enables producing of complex vibrator effects, such as an explosion
+or machine gun effect in a game, bass boost for a music player, advanced
+ringing tone vibration, and so on.</p></li>
+<li><p>Enables simultaneous playing of different kinds of basis effects
+and modifying them when played. </p></li>
+<li><p>Allows the design of complex effects (using a separate PC application)
+that can be loaded on Haptics player for playing.</p></li>
+<li><p>It may require a special license key  for third-party applications
+(to be set at runtime) to enable the Haptics player functionality.</p></li>
+</ul></li>
+<li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita">Vibra
+API</xref></p><ul>
+<li><p>Available from S60 3.0 onwards.</p></li>
+<li><p>It can be used for running device vibrator with given intensity
+for a given period of time.</p></li>
+<li><p>It can be used by a privileged client application to play pulse
+effects, which have a very short duration (as the ones used for tactile
+feedback).</p></li>
+</ul></li>
+</ul></section>
+<section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When
+to use Tactile Feedback Client API, Haptics API, and Vibra API</title><p><ul>
+<li><p>Tactile Feedback Client API for providing tactile feedback
+in custom controls (grids, lists, and so on), which will comply with
+the style of Core UI components to ensure a uniform user experience
+among applications.</p></li>
+<li><p>Haptics API on touch and hybrid mobile devices for producing
+complex vibration feedback, which cannot be achieved with Tactile
+Framework (games, simulations, demos, and so on).</p></li>
+<li><p>Vibra API for producing haptic effects such as ringing tone
+vibration in those mobile devices where Haptics API is not available
+or functional.</p></li>
+</ul></p></section>
+<section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using tactile feedback
+in applications</title><p>The API to use for tactile feedback is the <xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback
+client API</xref>.</p><p>The Symbian platform includes a tactile feedback
+interface to add, modify and remove feedback areas in the registry.
+There is also an option to trigger direct feedback and bypass the
+registry. <xref href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"><apiname>MTouchFeedback::Instance()</apiname></xref> is used for
+acquiring a pointer to a touch feedback instance. When touch feedback
+is activated, the mobile device users get a slight vibration when
+the control with the feedback interface is touched. </p><note><p>Tactile
+feedback can be set and disabled in a client application or a mobile
+device in some scenarios, for example, during phone calls.</p></note><p>Client applications cannot determine the actual physical feedback
+that is generated. It depends on device configuration and current
+settings. In current devices, the user changeable settings include
+vibration and audio feedback intensity level.</p><p>For more information,
+see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref>.</p></section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-581FB79B-2DB9-5AB8-AB32-997B05A62070_d0e137842_href.png has changed
Binary file Symbian3/PDK/Source/GUID-581FB79B-2DB9-5AB8-AB32-997B05A62070_d0e140091_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5822CE94-C8AF-5F81-AB3F-E95B44265065.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5822CE94-C8AF-5F81-AB3F-E95B44265065"><title>debuggable</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>debuggable</codeph> </p> <p>Use the <codeph>debuggable</codeph> statement to mark the application to be debugged using the run-mode debug API. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-582B36BD-88B3-5B5B-8A20-058318E80D0B_d0e272975_href.png has changed
Binary file Symbian3/PDK/Source/GUID-582B36BD-88B3-5B5B-8A20-058318E80D0B_d0e278975_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-6-1" xml:lang="en"><title>How
+to use a rule-based selector</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The following example demonstrates the use of the rule selector and the
+inclusion of a selection rule to retrieve the characteristics of a symmetric
+cipher object. </p>
+<codeblock id="GUID-827D423E-4E63-563F-8D00-C3C906A3E20C-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-6-1-2-2" xml:space="preserve">#include &lt;ruleselector.h&gt;
+#include &lt;cryptosymmetriccipherapi.h&gt;
+#include &lt;cryptospistateapi.h&gt;
+#include &lt;cryptospidef.h&gt;
+#include &lt;keys.h&gt;
+
+using namespace CryptoSpi;
+
+// Create a CSelectionRules collection object which is used to store the rules
+// that influence the choice of plug-in implementation selected
+
+CSelectionRules* rules = CSelectionRules::NewL();
+CleanupStack::PushL(rules);
+
+// Add a selection rule selecting symmetric ciphers with a key length of 64 bytes
+    
+TInt ruleValue = 64;
+            
+// Create and initialise one or more crypto parameters 
+// to store the contents of the rule value 
+CCryptoParam* ruleValueParam = CCryptoIntParam::NewL(ruleValue,KMaximumKeyLengthTypeUid);
+
+// Create a selection rule for each crypto parameter (CSelectionRuleContent
+// takes ownership of the crypto parameter), by passing in the following parameters:
+// *InterfaceScope        The Interface scope of which the rule should be applied
+// *AlgorithmScope        The Algorithm scope of which the rule should be applied
+// *CharacteristicValue   The parameter type and value of the rule
+// *Operator              The operator of the rule
+// *IsOptional            Whether this rule is optional (ETrue) or mandatory (EFalse)        
+CSelectionRuleContent* rule = CSelectionRuleContent::NewL(KSymmetricCipherInterfaceUid,
+                                                          KNoneUid,
+                                                          ruleValueParam,
+                                                          EOpEqual,
+                                                          EFalse);
+
+// Add the newly created selection rule to the CSelectionRules collection by calling
+// the 'AddSelectionRuleL' method and passing in a pointer to the constructed rule.
+// AddSelectionRuleL() checks that the type of the crypto parameters is correct and 
+// leaves with KErrNotSupported if not. For instance, a creator name parameter must 
+// be stored using a CCryptoDesC16Param. 
+          
+rules-&gt;AddSelectionRuleL(rule);
+                                    
+// Create an instance of the rule selector, passing in the selection rules 
+// object previously instantiated
+CRuleSelector* ruleSelector = CRuleSelector::NewL(rules);
+    
+// Ownership of the rule collection object is passed to the rule selector, therefore
+// the CSelectionRules object needs to be popped off the cleanup stack before pushing on
+// the rule selector
+CleanupStack::Pop(rules);
+CleanupStack::PushL(ruleSelector);
+    
+// The legacy selector is set within the framework by default. In order to set the rule
+// selector, the 'SetSelector' method of CryptoSpiStateApi needs to be called, 
+//passing a pointer to the initialized rule selector    
+CCryptoSpiStateApi::SetSelector(ruleSelector);
+
+// Create a new CryptoParams object to encapsulate the secret key string for the 
+// Symmetric Cipher implementation 
+CCryptoParams* keyParams = CCryptoParams::NewLC();
+
+// Add the secret key to the CCryptoParams object by calling the AddL method, passing in 
+// the key string and appropriate key parameter UID
+keyParams-&gt;AddL(_L8("12345678"), KSymmetricKeyParameterUid);
+
+// Create a CKey object by passing in an instance of TKeyProperty and the previously
+// created CCryptoParams object containing the secret key
+TKeyProperty keyProperty;        
+CKey* key=CKey::NewL(keyProperty,*keyParams);
+CleanupStack::PushL(key);
+
+// Create and initialise a pointer for the Symmetric Cipher implementation object        
+CSymmetricCipher* symmetricCipherImpl = NULL;
+        
+// If successful, the 'CreateSymmetricCipherL' method returns KErrNone and the framework
+// creates an instance of the selected Symmetric Cipher implementation, as chosen by the
+// rule selector. The CSymmetricCipher pointer is passed by reference and set to point to
+// the new symmetric cipher object
+TRAPD(err,CSymmetricCipherFactory::CreateSymmetricCipherL(symmetricCipherImpl,
+                                                          KDesUid,
+                                                          *key,
+                                                          KCryptoModeEncryptUid,
+                                                          KOperationModeNoneUid,
+                                                          KPaddingModeNoneUid,
+                                                          NULL));
+
+// Having successfully constructed the symmetric cipher implementation object, it is
+// possible to retrieve the plug-in characteristics associated with it
+if (symmetricCipherImpl &amp;&amp; (err == KErrNone))
+ {
+ CleanupStack::PushL(symmetricCipherImpl);
+ // Use cipher
+ CleanupStack::PopAndDestroy(symmetricCipherImpl);
+ }
+
+CleanupStack::PopAndDestroy(2, keyParams);    //key, keyParams
+
+// Unselect rule selector before destruction. This causes CryptoSPI to use the 
+// legacy selector again. After calling SetSelector(), the caller 
+// keeps ownership of the selector, so after calling UnsetSelector(), the 
+// caller needs to delete the selector    
+CCryptoSpiStateApi::UnsetSelector();
+    
+// Pop and destroy the rule selector
+CleanupStack::PopAndDestroy(ruleSelector);
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1" xml:lang="en"><title>How
+to use a rule-based selector</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The following example demonstrates the use of the rule selector and the
+inclusion of a selection rule to retrieve the characteristics of a symmetric
+cipher object. </p>
+<codeblock id="GUID-827D423E-4E63-563F-8D00-C3C906A3E20C-GENID-1-12-1-26-1-1-9-1-5-1-5-1-2-2" xml:space="preserve">#include &lt;ruleselector.h&gt;
+#include &lt;cryptosymmetriccipherapi.h&gt;
+#include &lt;cryptospistateapi.h&gt;
+#include &lt;cryptospidef.h&gt;
+#include &lt;keys.h&gt;
+
+using namespace CryptoSpi;
+
+// Create a CSelectionRules collection object which is used to store the rules
+// that influence the choice of plug-in implementation selected
+
+CSelectionRules* rules = CSelectionRules::NewL();
+CleanupStack::PushL(rules);
+
+// Add a selection rule selecting symmetric ciphers with a key length of 64 bytes
+    
+TInt ruleValue = 64;
+            
+// Create and initialise one or more crypto parameters 
+// to store the contents of the rule value 
+CCryptoParam* ruleValueParam = CCryptoIntParam::NewL(ruleValue,KMaximumKeyLengthTypeUid);
+
+// Create a selection rule for each crypto parameter (CSelectionRuleContent
+// takes ownership of the crypto parameter), by passing in the following parameters:
+// *InterfaceScope        The Interface scope of which the rule should be applied
+// *AlgorithmScope        The Algorithm scope of which the rule should be applied
+// *CharacteristicValue   The parameter type and value of the rule
+// *Operator              The operator of the rule
+// *IsOptional            Whether this rule is optional (ETrue) or mandatory (EFalse)        
+CSelectionRuleContent* rule = CSelectionRuleContent::NewL(KSymmetricCipherInterfaceUid,
+                                                          KNoneUid,
+                                                          ruleValueParam,
+                                                          EOpEqual,
+                                                          EFalse);
+
+// Add the newly created selection rule to the CSelectionRules collection by calling
+// the 'AddSelectionRuleL' method and passing in a pointer to the constructed rule.
+// AddSelectionRuleL() checks that the type of the crypto parameters is correct and 
+// leaves with KErrNotSupported if not. For instance, a creator name parameter must 
+// be stored using a CCryptoDesC16Param. 
+          
+rules-&gt;AddSelectionRuleL(rule);
+                                    
+// Create an instance of the rule selector, passing in the selection rules 
+// object previously instantiated
+CRuleSelector* ruleSelector = CRuleSelector::NewL(rules);
+    
+// Ownership of the rule collection object is passed to the rule selector, therefore
+// the CSelectionRules object needs to be popped off the cleanup stack before pushing on
+// the rule selector
+CleanupStack::Pop(rules);
+CleanupStack::PushL(ruleSelector);
+    
+// The legacy selector is set within the framework by default. In order to set the rule
+// selector, the 'SetSelector' method of CryptoSpiStateApi needs to be called, 
+//passing a pointer to the initialized rule selector    
+CCryptoSpiStateApi::SetSelector(ruleSelector);
+
+// Create a new CryptoParams object to encapsulate the secret key string for the 
+// Symmetric Cipher implementation 
+CCryptoParams* keyParams = CCryptoParams::NewLC();
+
+// Add the secret key to the CCryptoParams object by calling the AddL method, passing in 
+// the key string and appropriate key parameter UID
+keyParams-&gt;AddL(_L8("12345678"), KSymmetricKeyParameterUid);
+
+// Create a CKey object by passing in an instance of TKeyProperty and the previously
+// created CCryptoParams object containing the secret key
+TKeyProperty keyProperty;        
+CKey* key=CKey::NewL(keyProperty,*keyParams);
+CleanupStack::PushL(key);
+
+// Create and initialise a pointer for the Symmetric Cipher implementation object        
+CSymmetricCipher* symmetricCipherImpl = NULL;
+        
+// If successful, the 'CreateSymmetricCipherL' method returns KErrNone and the framework
+// creates an instance of the selected Symmetric Cipher implementation, as chosen by the
+// rule selector. The CSymmetricCipher pointer is passed by reference and set to point to
+// the new symmetric cipher object
+TRAPD(err,CSymmetricCipherFactory::CreateSymmetricCipherL(symmetricCipherImpl,
+                                                          KDesUid,
+                                                          *key,
+                                                          KCryptoModeEncryptUid,
+                                                          KOperationModeNoneUid,
+                                                          KPaddingModeNoneUid,
+                                                          NULL));
+
+// Having successfully constructed the symmetric cipher implementation object, it is
+// possible to retrieve the plug-in characteristics associated with it
+if (symmetricCipherImpl &amp;&amp; (err == KErrNone))
+ {
+ CleanupStack::PushL(symmetricCipherImpl);
+ // Use cipher
+ CleanupStack::PopAndDestroy(symmetricCipherImpl);
+ }
+
+CleanupStack::PopAndDestroy(2, keyParams);    //key, keyParams
+
+// Unselect rule selector before destruction. This causes CryptoSPI to use the 
+// legacy selector again. After calling SetSelector(), the caller 
+// keeps ownership of the selector, so after calling UnsetSelector(), the 
+// caller needs to delete the selector    
+CCryptoSpiStateApi::UnsetSelector();
+    
+// Pop and destroy the rule selector
+CleanupStack::PopAndDestroy(ruleSelector);
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5857377F-B90D-5149-9485-5919C12B8F13.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5857377F-B90D-5149-9485-5919C12B8F13" xml:lang="en"><title>How
-to use a rule-based selector</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The following example demonstrates the use of the rule selector and the
-inclusion of a selection rule to retrieve the characteristics of a symmetric
-cipher object. </p>
-<codeblock id="GUID-827D423E-4E63-563F-8D00-C3C906A3E20C" xml:space="preserve">#include &lt;ruleselector.h&gt;
-#include &lt;cryptosymmetriccipherapi.h&gt;
-#include &lt;cryptospistateapi.h&gt;
-#include &lt;cryptospidef.h&gt;
-#include &lt;keys.h&gt;
-
-using namespace CryptoSpi;
-
-// Create a CSelectionRules collection object which is used to store the rules
-// that influence the choice of plug-in implementation selected
-
-CSelectionRules* rules = CSelectionRules::NewL();
-CleanupStack::PushL(rules);
-
-// Add a selection rule selecting symmetric ciphers with a key length of 64 bytes
-    
-TInt ruleValue = 64;
-            
-// Create and initialise one or more crypto parameters 
-// to store the contents of the rule value 
-CCryptoParam* ruleValueParam = CCryptoIntParam::NewL(ruleValue,KMaximumKeyLengthTypeUid);
-
-// Create a selection rule for each crypto parameter (CSelectionRuleContent
-// takes ownership of the crypto parameter), by passing in the following parameters:
-// *InterfaceScope        The Interface scope of which the rule should be applied
-// *AlgorithmScope        The Algorithm scope of which the rule should be applied
-// *CharacteristicValue   The parameter type and value of the rule
-// *Operator              The operator of the rule
-// *IsOptional            Whether this rule is optional (ETrue) or mandatory (EFalse)        
-CSelectionRuleContent* rule = CSelectionRuleContent::NewL(KSymmetricCipherInterfaceUid,
-                                                          KNoneUid,
-                                                          ruleValueParam,
-                                                          EOpEqual,
-                                                          EFalse);
-
-// Add the newly created selection rule to the CSelectionRules collection by calling
-// the 'AddSelectionRuleL' method and passing in a pointer to the constructed rule.
-// AddSelectionRuleL() checks that the type of the crypto parameters is correct and 
-// leaves with KErrNotSupported if not. For instance, a creator name parameter must 
-// be stored using a CCryptoDesC16Param. 
-          
-rules-&gt;AddSelectionRuleL(rule);
-                                    
-// Create an instance of the rule selector, passing in the selection rules 
-// object previously instantiated
-CRuleSelector* ruleSelector = CRuleSelector::NewL(rules);
-    
-// Ownership of the rule collection object is passed to the rule selector, therefore
-// the CSelectionRules object needs to be popped off the cleanup stack before pushing on
-// the rule selector
-CleanupStack::Pop(rules);
-CleanupStack::PushL(ruleSelector);
-    
-// The legacy selector is set within the framework by default. In order to set the rule
-// selector, the 'SetSelector' method of CryptoSpiStateApi needs to be called, 
-//passing a pointer to the initialized rule selector    
-CCryptoSpiStateApi::SetSelector(ruleSelector);
-
-// Create a new CryptoParams object to encapsulate the secret key string for the 
-// Symmetric Cipher implementation 
-CCryptoParams* keyParams = CCryptoParams::NewLC();
-
-// Add the secret key to the CCryptoParams object by calling the AddL method, passing in 
-// the key string and appropriate key parameter UID
-keyParams-&gt;AddL(_L8("12345678"), KSymmetricKeyParameterUid);
-
-// Create a CKey object by passing in an instance of TKeyProperty and the previously
-// created CCryptoParams object containing the secret key
-TKeyProperty keyProperty;        
-CKey* key=CKey::NewL(keyProperty,*keyParams);
-CleanupStack::PushL(key);
-
-// Create and initialise a pointer for the Symmetric Cipher implementation object        
-CSymmetricCipher* symmetricCipherImpl = NULL;
-        
-// If successful, the 'CreateSymmetricCipherL' method returns KErrNone and the framework
-// creates an instance of the selected Symmetric Cipher implementation, as chosen by the
-// rule selector. The CSymmetricCipher pointer is passed by reference and set to point to
-// the new symmetric cipher object
-TRAPD(err,CSymmetricCipherFactory::CreateSymmetricCipherL(symmetricCipherImpl,
-                                                          KDesUid,
-                                                          *key,
-                                                          KCryptoModeEncryptUid,
-                                                          KOperationModeNoneUid,
-                                                          KPaddingModeNoneUid,
-                                                          NULL));
-
-// Having successfully constructed the symmetric cipher implementation object, it is
-// possible to retrieve the plug-in characteristics associated with it
-if (symmetricCipherImpl &amp;&amp; (err == KErrNone))
- {
- CleanupStack::PushL(symmetricCipherImpl);
- // Use cipher
- CleanupStack::PopAndDestroy(symmetricCipherImpl);
- }
-
-CleanupStack::PopAndDestroy(2, keyParams);    //key, keyParams
-
-// Unselect rule selector before destruction. This causes CryptoSPI to use the 
-// legacy selector again. After calling SetSelector(), the caller 
-// keeps ownership of the selector, so after calling UnsetSelector(), the 
-// caller needs to delete the selector    
-CCryptoSpiStateApi::UnsetSelector();
-    
-// Pop and destroy the rule selector
-CleanupStack::PopAndDestroy(ruleSelector);
-</codeblock>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5862F14F-5BB7-584B-A8B1-447975C42D49.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5862F14F-5BB7-584B-A8B1-447975C42D49.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 DLL interface and server application framework interface. A server application
 derives service support DLL classes and server application framework classes
 to implement the service and the server application interface. </p> <fig id="GUID-34FD3DA8-E488-5AE7-81C9-DB944B478056">
-<image href="GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e168030_href.png" placement="inline"/>
+<image href="GUID-2EB7D9C7-BB61-5282-A7F9-C25F8B1C62FE_d0e174118_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Procedure</title> <p>Complete the following steps to create
 a new service: </p> <ol id="GUID-488F46C9-059D-517B-8DCA-4CF8ED6B4693">
--- a/Symbian3/PDK/Source/GUID-586A88EC-45CC-504B-BB75-9BD88233D88F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-586A88EC-45CC-504B-BB75-9BD88233D88F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,10 +13,10 @@
 the msgPriorityDriveList.ini file</title><shortdesc>A list of priority drives with priority set to each drive is maintained
 by Message Server. The list supports only seven drives out of which one must
 be the device system drive.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-20-1-1-6-1-5-1-5-1-3-1-5-1-3-1"><p>Before you start,
+<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-21-1-1-6-1-5-1-5-1-3-1-5-1-3-1"><p>Before you start,
 you must understand <xref href="GUID-05A20EED-7333-5136-A9D3-D86D32D89D67.dita">Handling
 Multiple Disk Drives</xref>. </p> </prereq>
-<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-20-1-1-6-1-5-1-5-1-3-1-5-1-3-2"><p>Before updating
+<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-21-1-1-6-1-5-1-5-1-3-1-5-1-3-2"><p>Before updating
 the file, read the following considerations: </p> <ul>
 <li id="GUID-397B18BA-A5DB-59B5-9DA1-DB9B0A6CEAC8"><p>The drive list is read
 by message server only if the list is not already present in the central repository. </p> </li>
@@ -42,7 +42,7 @@
 the list of drives that must be the part of a priority drive list. </note></info>
 </step>
 </steps-unordered>
-<example id="GUID-4A2F5CA7-6571-5B53-86B7-FB77F3AB6CDA-GENID-1-12-1-20-1-1-6-1-5-1-5-1-3-1-5-1-3-4"><title>msgPriorityDriveList.ini
+<example id="GUID-4A2F5CA7-6571-5B53-86B7-FB77F3AB6CDA-GENID-1-12-1-21-1-1-6-1-5-1-5-1-3-1-5-1-3-4"><title>msgPriorityDriveList.ini
 example</title> <codeblock id="GUID-B4EBD883-8935-54BF-B3AE-8CF96622BA3C" xml:space="preserve"># The preferred drive list.
 
 PriorityDrive1 = C
--- a/Symbian3/PDK/Source/GUID-5879E34A-B0AB-5609-9C81-E0E8D772E722.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5879E34A-B0AB-5609-9C81-E0E8D772E722.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 <p>The architecture defines four possible transitions between these three
 states, as shown by the diagram below: </p>
 <fig id="GUID-B7975B68-B2AC-5BEA-BD31-2B37CB8D1B54">
-<image href="GUID-87A1B62D-4C89-52B8-8BF3-BDE0AC53916C_d0e373341_href.png" placement="inline"/>
+<image href="GUID-87A1B62D-4C89-52B8-8BF3-BDE0AC53916C_d0e379189_href.png" placement="inline"/>
 </fig>
 <section id="GUID-A3951A4A-C7B7-594D-87FD-F3DB0FDFB971"><title>Active to Standby</title> <p>The
 decision to initiate a system-wide power transition from the <i>Active</i> state
Binary file Symbian3/PDK/Source/GUID-58A5C008-88B6-5C91-8BE5-E98CA5E5A438_d0e400148_href.png has changed
Binary file Symbian3/PDK/Source/GUID-58A5C008-88B6-5C91-8BE5-E98CA5E5A438_d0e406001_href.png has changed
--- a/Symbian3/PDK/Source/GUID-590C985D-A43E-4869-9BE3-62A960782825.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-590C985D-A43E-4869-9BE3-62A960782825.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task id="GUID-590C985D-A43E-4869-9BE3-62A960782825" xml:lang="en"><title>Running
 Tests on Phone</title><shortdesc>You can run the tests on the phone using the <filepath>.pkg</filepath> file.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-7-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-7-1-3-1-1"><cmd>Install eshell and
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-7-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-7-1-3-1-1"><cmd>Install eshell and
 TestExecute on the phone.</cmd>
 <info><p>The eshell is installed by default, if the image build of your phone
 is of Research and Development (R and D) version.  If your image is not of
--- a/Symbian3/PDK/Source/GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,7 +10,7 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1" xml:lang="en"><title>Menu bars</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<fig id="GUID-EBBD1E67-1A8E-4E2C-8520-63B6084247FA"><title>Menu bar configuration</title><image href="GUID-8300FD98-38D7-43EF-A71E-A7BEBFC3F8ED_d0e89623_href.png"/></fig>
+<fig id="GUID-EBBD1E67-1A8E-4E2C-8520-63B6084247FA"><title>Menu bar configuration</title><image href="GUID-8300FD98-38D7-43EF-A71E-A7BEBFC3F8ED_d0e93821_href.png"/></fig>
 <p>The Symbian platform uses <parmname>MENU_BAR</parmname> resources to
 create the <parmname>Options</parmname> menu, when a mobile device user selects
 the <parmname>Options</parmname> softkey. The options that appear above the
--- a/Symbian3/PDK/Source/GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -54,7 +54,7 @@
 MTMs through a single server interface. The following figure shows the MTM
 architecture. </p> <fig id="GUID-D9869871-08F2-5601-8A9C-1871D2AB4E1B">
 <title>              MTM architecture            </title>
-<image href="GUID-9E9C00E1-00A2-5248-946B-D3AE182F44EC_d0e479333_href.jpg" placement="inline"/>
+<image href="GUID-9E9C00E1-00A2-5248-946B-D3AE182F44EC_d0e485162_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>Message Server and MTMs</title> <p>The following figure shows
 the relationship between the Message Server and MTMs. The grey classes are
@@ -65,7 +65,7 @@
 the Message Server client API. </p> <fig id="GUID-F743115B-6934-5026-9D15-8DA5BE3A2D6F">
 <title>              Relationship between Message Server and MTMs        
    </title>
-<image href="GUID-5059C3F9-1CEA-5DF3-914A-B99376570242_d0e479349_href.jpg" placement="inline"/>
+<image href="GUID-5059C3F9-1CEA-5DF3-914A-B99376570242_d0e485178_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>MTM class summary</title> <p>Messaging Middleware provides
 the following base classes, which defines the component interfaces for MTM
--- a/Symbian3/PDK/Source/GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,55 +1,53 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9" xml:lang="en"><title>RTPExample:
-RTP Packet Streaming Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-50EDE46C-719B-4D77-8C61-666A5125C07C"><title>Description</title> <p>This example code demonstrates RTP
-packet streaming. It uses <codeph>CRtpFileSender</codeph> to send RTP packets
-and <codeph>CRtpFileStreamer</codeph> to receive RTP packets. The example
-opens an RTP session using the pre-connected socket and initialises new send
-and receive sources on the RTP session. It registers the callback functions
-when an RTP packet is successfully sent by a send source or received by a
-receive source, to receive notifications whenever an RTP packet is sent or
-received. </p> <p>The <filepath>RTPExample</filepath> example code provides
-the following functionality: </p> </section>
-<section id="GUID-1A5135CC-CAF2-58D8-B37D-5C04B0454D59"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a4ef24ea-0ffa-410a-a19c-e1085f64c0e2.zip" scope="external">RTPExample.zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a4ef24ea-0ffa-410a-a19c-e1085f64c0e2.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-6CB87F84-BDBB-4606-917D-3FE79FDA16C5"><title>Initialising</title> <codeblock id="GUID-DD0E36D0-2CC4-52FF-8C58-2D0061A453CA" xml:space="preserve">void CRtpFileStreamer::ConstructL();</codeblock> <p>Opens an RTP session using the pre-connected socket and initialises new send
-sources on the RTP session. </p> </section>
-<section id="GUID-3F6D2D79-9639-4EAC-9EE6-BA32DC688B6F"><title>Sending an RTP packet</title> <codeblock id="GUID-53DAAACD-46A9-5DAA-8B2D-A4108DA6DFA7" xml:space="preserve">void CRtpFileSender::RunL();</codeblock> <p>Sends the RTP packet. This does the following: </p> <ul>
-<li id="GUID-C279418B-B804-53F1-B18F-1FB030BC6007"><p>gets a new RTP packet
-to send from the send source </p> </li>
-<li id="GUID-35269B55-BD88-5CEA-A9E1-5423BB0E3AF9"><p>sets the RTP timestamp
-of the RTP packet </p> </li>
-<li id="GUID-E38F83C8-5D08-51D2-9E6A-DA81FEBF6512"><p>reads a block of data
-from the source file </p> </li>
-<li id="GUID-42F2FE2D-D3B5-583E-B05C-CC693D3E14C9"><p>creates an RTP packet
-using the block of data </p> </li>
-<li id="GUID-B6ED7AF9-F395-589E-B511-3EBEAEF2E359"><p>sends the RTP packet </p> </li>
-<li id="GUID-84488760-F28D-584A-A5F1-9E5D44C8C2D4"><p>closes the source file. </p> </li>
-</ul> <p> <codeph>CRtpFileSender::PacketSent()</codeph> is called to notify
-that the RTP packet has been successfully sent. </p> </section>
-<section id="GUID-72251E64-B5EF-4994-8ECF-89872AE23D2F"><title>Receiving an RTP packet</title> <codeblock id="GUID-0C30C58E-70B9-5E2A-946F-F349E8026454" xml:space="preserve">void CRtpFileStreamer::NewSource();</codeblock> <p>When an RTP packet with a new receive source arrives, this callback function
-is called, which registers the packet. This can be used for different types
-of RTP packets such as APP, BYE, SDES, SR and RR. </p> <codeblock id="GUID-22A41C41-613E-5DB5-BA35-1F92FEE214AF" xml:space="preserve">void CRtpFileStreamer::PacketArrived();</codeblock> <p>Whenever an RTP packet arrives, this callback function is called. The
-function retrieves the payload from the packet received and writes it to the
-target file. </p> </section>
-<section id="GUID-2291AD95-0A59-4FE0-A52E-12FA0876E097"><title>Class summary</title><p> <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket </apiname></xref>  <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ </apiname></xref>  <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection </apiname></xref> <xref href="GUID-97FC8566-E4AD-3881-8669-134798A88779.dita"><apiname> RRtpSession </apiname></xref>  <xref href="GUID-EF30A0A3-612A-362D-9AC5-07FD314E5CDC.dita"><apiname>RRtpSendSource </apiname></xref>  <xref href="GUID-3690BFA1-A4EA-34EA-AD63-5FCC14CB67A2.dita"><apiname>RRtpReceiveSource </apiname></xref>  <xref href="GUID-0720D1BD-7F73-3EF6-80A6-17127EF17C91.dita"><apiname>RRtpSendPacket </apiname></xref>  <xref href="GUID-3E4F47A8-0432-307A-B871-A2F7F3A7505F.dita"><apiname>RRtpReceivePacket </apiname></xref>  <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs </apiname></xref> <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile </apiname></xref>  </p></section>
-<section id="GUID-8FE5D0CA-57F6-4CF2-A5AA-44C6A7534AA3"><title>Usage</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build an application. </p> <p>This
-is a console application, so does not have a GUI. It builds an executable
-called <filepath>RTPExample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
-CodeWarrior). After launching the executable, depending on the emulator you
-are using, you may need to task away from the app launcher/shell screen to
-view the console. </p> </section>
-<section id="GUID-467EE2A3-9D85-4909-9CB1-98C9CBCAA41D"><title>See also</title> <p> <xref href="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita">RTP
-overview</xref>  </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9" xml:lang="en"><title>RTPExample: RTP Packet Streaming Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-50EDE46C-719B-4D77-8C61-666A5125C07C"><title>Description</title> <p>This example code demonstrates RTP packet streaming. It uses <codeph>CRtpFileSender</codeph> to send RTP packets and <codeph>CRtpFileStreamer</codeph> to receive RTP packets. The example opens an RTP session using the
+pre-connected socket and initialises new send and receive sources
+on the RTP session. It registers the callback functions when an RTP
+packet is successfully sent by a send source or received by a receive
+source, to receive notifications whenever an RTP packet is sent or
+received. </p> <p>The <filepath>RTPExample</filepath> example code
+provides the following functionality: </p> </section>
+<section id="GUID-1A5135CC-CAF2-58D8-B37D-5C04B0454D59"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a4ef24ea-0ffa-410a-a19c-e1085f64c0e2.zip" scope="external">RTPExample.zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a4ef24ea-0ffa-410a-a19c-e1085f64c0e2.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-6CB87F84-BDBB-4606-917D-3FE79FDA16C5"><title>Initialising</title> <codeblock id="GUID-DD0E36D0-2CC4-52FF-8C58-2D0061A453CA" xml:space="preserve">void CRtpFileStreamer::ConstructL();</codeblock> <p>Opens an RTP session using the pre-connected socket and initialises
+new send sources on the RTP session. </p> </section>
+<section id="GUID-3F6D2D79-9639-4EAC-9EE6-BA32DC688B6F"><title>Sending
+an RTP packet</title> <codeblock id="GUID-53DAAACD-46A9-5DAA-8B2D-A4108DA6DFA7" xml:space="preserve">void CRtpFileSender::RunL();</codeblock> <p>Sends the RTP packet. This does the following: </p> <ul>
+<li id="GUID-C279418B-B804-53F1-B18F-1FB030BC6007"><p>gets a new RTP
+packet to send from the send source </p> </li>
+<li id="GUID-35269B55-BD88-5CEA-A9E1-5423BB0E3AF9"><p>sets the RTP
+timestamp of the RTP packet </p> </li>
+<li id="GUID-E38F83C8-5D08-51D2-9E6A-DA81FEBF6512"><p>reads a block
+of data from the source file </p> </li>
+<li id="GUID-42F2FE2D-D3B5-583E-B05C-CC693D3E14C9"><p>creates an RTP
+packet using the block of data </p> </li>
+<li id="GUID-B6ED7AF9-F395-589E-B511-3EBEAEF2E359"><p>sends the RTP
+packet </p> </li>
+<li id="GUID-84488760-F28D-584A-A5F1-9E5D44C8C2D4"><p>closes the source
+file. </p> </li>
+</ul> <p> <codeph>CRtpFileSender::PacketSent()</codeph> is called
+to notify that the RTP packet has been successfully sent. </p> </section>
+<section id="GUID-72251E64-B5EF-4994-8ECF-89872AE23D2F"><title>Receiving
+an RTP packet</title> <codeblock id="GUID-0C30C58E-70B9-5E2A-946F-F349E8026454" xml:space="preserve">void CRtpFileStreamer::NewSource();</codeblock> <p>When an RTP packet with a new receive source arrives, this callback
+function is called, which registers the packet. This can be used for
+different types of RTP packets such as APP, BYE, SDES, SR and RR. </p> <codeblock id="GUID-22A41C41-613E-5DB5-BA35-1F92FEE214AF" xml:space="preserve">void CRtpFileStreamer::PacketArrived();</codeblock> <p>Whenever an RTP packet arrives, this callback function is called.
+The function retrieves the payload from the packet received and writes
+it to the target file. </p> </section>
+<section id="GUID-2291AD95-0A59-4FE0-A52E-12FA0876E097"><title>Class
+summary</title><p> <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket </apiname></xref>  <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ </apiname></xref>  <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection </apiname></xref> <xref href="GUID-97FC8566-E4AD-3881-8669-134798A88779.dita"><apiname> RRtpSession </apiname></xref>  <xref href="GUID-EF30A0A3-612A-362D-9AC5-07FD314E5CDC.dita"><apiname>RRtpSendSource </apiname></xref>  <xref href="GUID-3690BFA1-A4EA-34EA-AD63-5FCC14CB67A2.dita"><apiname>RRtpReceiveSource </apiname></xref>  <xref href="GUID-0720D1BD-7F73-3EF6-80A6-17127EF17C91.dita"><apiname>RRtpSendPacket </apiname></xref>  <xref href="GUID-3E4F47A8-0432-307A-B871-A2F7F3A7505F.dita"><apiname>RRtpReceivePacket </apiname></xref>  <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs </apiname></xref> <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile </apiname></xref>  </p></section>
+<section id="GUID-8FE5D0CA-57F6-4CF2-A5AA-44C6A7534AA3"><title>Usage</title> <p>The Symbian build process describes how to build an application. </p> <p>This is a console application, so does not have
+a GUI. It builds an executable called <filepath>RTPExample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). After launching the
+executable, depending on the emulator you are using, you may need
+to task away from the app launcher/shell screen to view the console. </p> </section>
+<section id="GUID-467EE2A3-9D85-4909-9CB1-98C9CBCAA41D"><title>See
+also</title> <p> <xref href="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita">RTP overview</xref>  </p> </section>
 </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1" xml:lang="en"><title>Using
+Pre-Shared Keys with Transport Layer Security : Tutorial</title><shortdesc>This topic describes how to use Pre-Shared Keys (PSKs) with Transport
+Layer Security (TLS). This tutorial is useful for licensees and third-party
+developers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context><p>TLS_PSK is a standard for using PSKs with Transport Layer Security
+(TLS). You can use TLS_PSK instead of certificate authentication. The benefits
+of using TLS_PSK are as follows: </p> <ul>
+<li id="GUID-F752EC0E-19B2-5C8E-9F0F-AC1131CC9437-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-1-2-1"><p>Easy to manage - For
+example, PSK can derive from a "secret key" that vendors deploy in the SIM
+card of each phone. </p> </li>
+<li id="GUID-9964A601-5724-58D0-856C-B2401AD171D3-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-1-2-2"><p>It improves the connection
+setup performance and battery life, as the key exchange algorithm takes less
+time to run. </p> </li>
+</ul> <p>Symbian maintains the following TLS_PSK ciphersuites: </p> <ul>
+<li id="GUID-AF102861-2863-5189-AEA0-738797280D3A-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-1-4-1"><p>TLS_PSK_WITH_RC4_128_SHA </p> </li>
+<li id="GUID-D305CBF6-87F1-5895-AFE6-F8067340E489-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-1-4-2"><p>TLS_PSK_WITH_3DES_EDE_CBC_SHA </p> </li>
+<li id="GUID-EA4EC83B-5B58-53D6-A1AD-D408CBBC25BA-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-1-4-3"><p>TLS_PSK_WITH_AES_128_CBC_SHA </p> </li>
+<li id="GUID-4B4E0A69-8F73-5D41-AE50-A231F2E73A00-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-1-4-4"><p>TLS_PSK_WITH_AES_256_CBC_SHA </p> </li>
+</ul> <p>The ciphersuite is made up of a key exchange (for example PSK), a
+cipher (for example RC4_128) and a hash (for example SHA). </p> <p>Note: TLS_PSK
+operation is specified by <xref href="http://www.ietf.org/rfc/rfc4279.txt" scope="external">RFC4279</xref>. </p><p>For a client to make a secure connection
+with a TLS_PSK server, it must provide a pre-shared key and an identity. To
+provide a pre-shared key and an identity, do the following steps: 
+</p> </context>
+<steps id="GUID-460D5C5A-7C5D-552F-87B1-5E1ED199EEBD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2">
+<step id="GUID-12A544C1-3A69-5EB5-A546-A03B95B27909-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-1"><cmd>Configure a PSK
+key handler </cmd>
+</step>
+<step id="GUID-6D6DADE7-457D-5885-8448-AF515B58C381-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-2"><cmd/>
+<info>Set available ciphersuites. There are two possibilities for offering
+PSK ciphersuites: </info>
+<substeps id="GUID-505F5F7A-60D5-55BC-9F46-8A0BDE0A8F2F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-2-3">
+<substep id="GUID-5B057120-5AC9-5EAA-929C-F01C9E5036AA-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-2-3-1"><cmd>Specify an explicit
+ordered list of ciphersuites for the server to select from.</cmd>
+<info>To do this call <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref>. You can
+do this only after configuring the PSK key handler. </info>
+</substep>
+<substep id="GUID-72D09EBC-0ACB-533D-B43D-CBDD7A173E95-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-2-3-2"><cmd>Use the default
+list, which is automatically generated.</cmd>
+<info>If you do not specify an explicit list, the stack automatically includes
+the PSK ciphersuites in addition to any other ciphersuites supported. </info>
+</substep>
+</substeps>
+<info>If you specify an explicit list by calling <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref>,
+and you later deconfigure the PSK key handler, you must remove the PSK ciphersuites
+from the list by calling <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref> again. </info>
+</step>
+<step id="GUID-CD1A725D-55EA-5F89-9552-C4DC629E9365-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-3"><cmd/>
+<info>Start a connection. </info>
+<info>The server chooses a ciphersuite from those offered by the client. If
+the server chooses a PSK ciphersuite, the following sequence of events occurs: </info>
+
+<substeps id="GUID-8BA50D23-A34D-5E02-BA1C-33B9C503E83C-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-3-4">
+<substep id="GUID-A0F4A26A-FA91-58DC-9EFF-6F131F473E63-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-3-4-1"><cmd>The server can
+optionally send a “PSK identity hint” to the client.</cmd>
+<info> This PSK identity hint might influence the choice of key and identity
+the client makes. If the server sends one, it is passed to the key handler.
+If it does not send one, NULL is passed to the key handler. </info>
+<info>Note: The PSK identity hint is optional and its meaning is not defined
+(format must be UTF8). Applications using TLS-PSK may left out it or use it
+for any action (for example SUPL uses it to indicate the SUPL protocol version
+and to present a list of allowed PSK generators). </info>
+</substep>
+<substep id="GUID-30DD1846-5C91-577A-9D1F-EE535A9B4DC2-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-3-4-2"><cmd>The TLS stack
+on the client calls <xref href="GUID-1A7C31AC-B493-394E-BB9C-CB6F0DBAE6CF.dita"><apiname>ptrToKeyHandler-&gt;getPskL()</apiname></xref></cmd>
+<info>The TLS stack on the client calls getPskL() for the instance of the
+key handler (in this case ptrToKeyHandler). See <xref href="GUID-9580646B-FDFA-3515-B3CF-39B16880CF6F.dita#GUID-9580646B-FDFA-3515-B3CF-39B16880CF6F/GUID-0EC110F3-D2A6-3FD4-8E59-9E6F5741A61C"><apiname>MSoPskKeyHandler::
+GetPskL()</apiname></xref> for the prototype. This call returns the PSK identity
+and value to be used to secure the connection. </info>
+</substep>
+<substep id="GUID-F52F987A-E500-5579-A5D4-E26F27F7390A-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-2-3-4-3"><cmd>The TLS stack
+sends the PSK identity to the server.</cmd>
+<info>The TLS stack sends the PSK identity (chosen in Step 2) to the server
+so it can retrieve the matching PSK value to secure the connection. </info>
+</substep>
+</substeps>
+<info>After the client has chosen which PSK to use, it sends an identity to
+the server and the server can use this to obtain a matching PSK. Again the
+meaning of the identity field is not specified, but its format must be UTF8.
+An application may choose to use it or leave it empty. </info>
+<info>Note: In the example, the server must select a PSK ciphersuite, because
+the client provides only PSK ciphersuites. The connection fails, if the server
+selects a PSK ciphersuite and fails to get a key that matches with the client.
+The TLS assumes that the first common ciphersuite cannot fail and does not
+implement connection retry. </info>
+</step>
+</steps>
+<example><title>TLS_PSK example</title> <p>The following example code shows
+how to configure TLS_PSK: </p> <codeblock id="GUID-61425E22-BD86-5913-BB16-55D933556969-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1-3-3-3" xml:space="preserve">
+
+
+//Configure a PSK key handler
+
+TPckgBuf&lt;MSoPskKeyHandler *&gt; pskConfigPkg;
+pskConfigPkg() = ptrToKeyHandler;
+User::LeaveIfError(secureSocket-&gt;SetOpt(KSoPskConfig, KSolInetSSL, pskConfigPkg));
+
+//set available ciphersuites 
+
+TBuf8&lt;8&gt; buf;    
+for(TInt i=0; i&lt;4; ++i)
+{
+ // The supported PSK ciphersuites are as follows:-
+ // TLS_PSK_WITH_RC4_128_SHA          = { 0x00, 0x8A };
+ // TLS_PSK_WITH_3DES_EDE_CBC_SHA     = { 0x00, 0x8B };
+ // TLS_PSK_WITH_AES_128_CBC_SHA      = { 0x00, 0x8C };
+ // TLS_PSK_WITH_AES_256_CBC_SHA      = { 0x00, 0x8D };
+ buf[i*2]=0;
+ buf[i*2+1]=0x8a+i;
+}
+secureSocket-&gt;SetAvailableCipherSuites( buf );
+
+//Start a connection
+
+secureSocket-&gt;StartClientHandshake( iStatus );
+
+</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1" xml:lang="en"><title>Using
+Pre-Shared Keys with Transport Layer Security : Tutorial</title><shortdesc>This topic describes how to use Pre-Shared Keys (PSKs) with Transport
+Layer Security (TLS). This tutorial is useful for licensees and third-party
+developers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context><p>TLS_PSK is a standard for using PSKs with Transport Layer Security
+(TLS). You can use TLS_PSK instead of certificate authentication. The benefits
+of using TLS_PSK are as follows: </p> <ul>
+<li id="GUID-F752EC0E-19B2-5C8E-9F0F-AC1131CC9437-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-1-2-1"><p>Easy to manage - For
+example, PSK can derive from a "secret key" that vendors deploy in the SIM
+card of each phone. </p> </li>
+<li id="GUID-9964A601-5724-58D0-856C-B2401AD171D3-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-1-2-2"><p>It improves the connection
+setup performance and battery life, as the key exchange algorithm takes less
+time to run. </p> </li>
+</ul> <p>Symbian maintains the following TLS_PSK ciphersuites: </p> <ul>
+<li id="GUID-AF102861-2863-5189-AEA0-738797280D3A-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-1-4-1"><p>TLS_PSK_WITH_RC4_128_SHA </p> </li>
+<li id="GUID-D305CBF6-87F1-5895-AFE6-F8067340E489-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-1-4-2"><p>TLS_PSK_WITH_3DES_EDE_CBC_SHA </p> </li>
+<li id="GUID-EA4EC83B-5B58-53D6-A1AD-D408CBBC25BA-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-1-4-3"><p>TLS_PSK_WITH_AES_128_CBC_SHA </p> </li>
+<li id="GUID-4B4E0A69-8F73-5D41-AE50-A231F2E73A00-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-1-4-4"><p>TLS_PSK_WITH_AES_256_CBC_SHA </p> </li>
+</ul> <p>The ciphersuite is made up of a key exchange (for example PSK), a
+cipher (for example RC4_128) and a hash (for example SHA). </p> <p>Note: TLS_PSK
+operation is specified by <xref href="http://www.ietf.org/rfc/rfc4279.txt" scope="external">RFC4279</xref>. </p><p>For a client to make a secure connection
+with a TLS_PSK server, it must provide a pre-shared key and an identity. To
+provide a pre-shared key and an identity, do the following steps: 
+</p> </context>
+<steps id="GUID-460D5C5A-7C5D-552F-87B1-5E1ED199EEBD-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2">
+<step id="GUID-12A544C1-3A69-5EB5-A546-A03B95B27909-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-1"><cmd>Configure a PSK
+key handler </cmd>
+</step>
+<step id="GUID-6D6DADE7-457D-5885-8448-AF515B58C381-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-2"><cmd/>
+<info>Set available ciphersuites. There are two possibilities for offering
+PSK ciphersuites: </info>
+<substeps id="GUID-505F5F7A-60D5-55BC-9F46-8A0BDE0A8F2F-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-2-3">
+<substep id="GUID-5B057120-5AC9-5EAA-929C-F01C9E5036AA-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-2-3-1"><cmd>Specify an explicit
+ordered list of ciphersuites for the server to select from.</cmd>
+<info>To do this call <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref>. You can
+do this only after configuring the PSK key handler. </info>
+</substep>
+<substep id="GUID-72D09EBC-0ACB-533D-B43D-CBDD7A173E95-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-2-3-2"><cmd>Use the default
+list, which is automatically generated.</cmd>
+<info>If you do not specify an explicit list, the stack automatically includes
+the PSK ciphersuites in addition to any other ciphersuites supported. </info>
+</substep>
+</substeps>
+<info>If you specify an explicit list by calling <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref>,
+and you later deconfigure the PSK key handler, you must remove the PSK ciphersuites
+from the list by calling <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref> again. </info>
+</step>
+<step id="GUID-CD1A725D-55EA-5F89-9552-C4DC629E9365-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-3"><cmd/>
+<info>Start a connection. </info>
+<info>The server chooses a ciphersuite from those offered by the client. If
+the server chooses a PSK ciphersuite, the following sequence of events occurs: </info>
+
+<substeps id="GUID-8BA50D23-A34D-5E02-BA1C-33B9C503E83C-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-3-4">
+<substep id="GUID-A0F4A26A-FA91-58DC-9EFF-6F131F473E63-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-3-4-1"><cmd>The server can
+optionally send a “PSK identity hint” to the client.</cmd>
+<info> This PSK identity hint might influence the choice of key and identity
+the client makes. If the server sends one, it is passed to the key handler.
+If it does not send one, NULL is passed to the key handler. </info>
+<info>Note: The PSK identity hint is optional and its meaning is not defined
+(format must be UTF8). Applications using TLS-PSK may left out it or use it
+for any action (for example SUPL uses it to indicate the SUPL protocol version
+and to present a list of allowed PSK generators). </info>
+</substep>
+<substep id="GUID-30DD1846-5C91-577A-9D1F-EE535A9B4DC2-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-3-4-2"><cmd>The TLS stack
+on the client calls <xref href="GUID-1A7C31AC-B493-394E-BB9C-CB6F0DBAE6CF.dita"><apiname>ptrToKeyHandler-&gt;getPskL()</apiname></xref></cmd>
+<info>The TLS stack on the client calls getPskL() for the instance of the
+key handler (in this case ptrToKeyHandler). See <xref href="GUID-9580646B-FDFA-3515-B3CF-39B16880CF6F.dita#GUID-9580646B-FDFA-3515-B3CF-39B16880CF6F/GUID-0EC110F3-D2A6-3FD4-8E59-9E6F5741A61C"><apiname>MSoPskKeyHandler::
+GetPskL()</apiname></xref> for the prototype. This call returns the PSK identity
+and value to be used to secure the connection. </info>
+</substep>
+<substep id="GUID-F52F987A-E500-5579-A5D4-E26F27F7390A-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-2-3-4-3"><cmd>The TLS stack
+sends the PSK identity to the server.</cmd>
+<info>The TLS stack sends the PSK identity (chosen in Step 2) to the server
+so it can retrieve the matching PSK value to secure the connection. </info>
+</substep>
+</substeps>
+<info>After the client has chosen which PSK to use, it sends an identity to
+the server and the server can use this to obtain a matching PSK. Again the
+meaning of the identity field is not specified, but its format must be UTF8.
+An application may choose to use it or leave it empty. </info>
+<info>Note: In the example, the server must select a PSK ciphersuite, because
+the client provides only PSK ciphersuites. The connection fails, if the server
+selects a PSK ciphersuite and fails to get a key that matches with the client.
+The TLS assumes that the first common ciphersuite cannot fail and does not
+implement connection retry. </info>
+</step>
+</steps>
+<example><title>TLS_PSK example</title> <p>The following example code shows
+how to configure TLS_PSK: </p> <codeblock id="GUID-61425E22-BD86-5913-BB16-55D933556969-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4-1-3-3-3" xml:space="preserve">
+
+
+//Configure a PSK key handler
+
+TPckgBuf&lt;MSoPskKeyHandler *&gt; pskConfigPkg;
+pskConfigPkg() = ptrToKeyHandler;
+User::LeaveIfError(secureSocket-&gt;SetOpt(KSoPskConfig, KSolInetSSL, pskConfigPkg));
+
+//set available ciphersuites 
+
+TBuf8&lt;8&gt; buf;    
+for(TInt i=0; i&lt;4; ++i)
+{
+ // The supported PSK ciphersuites are as follows:-
+ // TLS_PSK_WITH_RC4_128_SHA          = { 0x00, 0x8A };
+ // TLS_PSK_WITH_3DES_EDE_CBC_SHA     = { 0x00, 0x8B };
+ // TLS_PSK_WITH_AES_128_CBC_SHA      = { 0x00, 0x8C };
+ // TLS_PSK_WITH_AES_256_CBC_SHA      = { 0x00, 0x8D };
+ buf[i*2]=0;
+ buf[i*2+1]=0x8a+i;
+}
+secureSocket-&gt;SetAvailableCipherSuites( buf );
+
+//Start a connection
+
+secureSocket-&gt;StartClientHandshake( iStatus );
+
+</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1" xml:lang="en"><title>Using
+Pre-Shared Keys with Transport Layer Security : Tutorial</title><shortdesc>This topic describes how to use Pre-Shared Keys (PSKs) with Transport
+Layer Security (TLS). This tutorial is useful for licensees and third-party
+developers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context><p>TLS_PSK is a standard for using PSKs with Transport Layer Security
+(TLS). You can use TLS_PSK instead of certificate authentication. The benefits
+of using TLS_PSK are as follows: </p> <ul>
+<li id="GUID-F752EC0E-19B2-5C8E-9F0F-AC1131CC9437-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-1-2-1"><p>Easy to manage - For
+example, PSK can derive from a "secret key" that vendors deploy in the SIM
+card of each phone. </p> </li>
+<li id="GUID-9964A601-5724-58D0-856C-B2401AD171D3-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-1-2-2"><p>It improves the connection
+setup performance and battery life, as the key exchange algorithm takes less
+time to run. </p> </li>
+</ul> <p>Symbian maintains the following TLS_PSK ciphersuites: </p> <ul>
+<li id="GUID-AF102861-2863-5189-AEA0-738797280D3A-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-1-4-1"><p>TLS_PSK_WITH_RC4_128_SHA </p> </li>
+<li id="GUID-D305CBF6-87F1-5895-AFE6-F8067340E489-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-1-4-2"><p>TLS_PSK_WITH_3DES_EDE_CBC_SHA </p> </li>
+<li id="GUID-EA4EC83B-5B58-53D6-A1AD-D408CBBC25BA-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-1-4-3"><p>TLS_PSK_WITH_AES_128_CBC_SHA </p> </li>
+<li id="GUID-4B4E0A69-8F73-5D41-AE50-A231F2E73A00-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-1-4-4"><p>TLS_PSK_WITH_AES_256_CBC_SHA </p> </li>
+</ul> <p>The ciphersuite is made up of a key exchange (for example PSK), a
+cipher (for example RC4_128) and a hash (for example SHA). </p> <p>Note: TLS_PSK
+operation is specified by <xref href="http://www.ietf.org/rfc/rfc4279.txt" scope="external">RFC4279</xref>. </p><p>For a client to make a secure connection
+with a TLS_PSK server, it must provide a pre-shared key and an identity. To
+provide a pre-shared key and an identity, do the following steps: 
+</p> </context>
+<steps id="GUID-460D5C5A-7C5D-552F-87B1-5E1ED199EEBD-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2">
+<step id="GUID-12A544C1-3A69-5EB5-A546-A03B95B27909-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-1"><cmd>Configure a PSK
+key handler </cmd>
+</step>
+<step id="GUID-6D6DADE7-457D-5885-8448-AF515B58C381-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-2"><cmd/>
+<info>Set available ciphersuites. There are two possibilities for offering
+PSK ciphersuites: </info>
+<substeps id="GUID-505F5F7A-60D5-55BC-9F46-8A0BDE0A8F2F-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-2-3">
+<substep id="GUID-5B057120-5AC9-5EAA-929C-F01C9E5036AA-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-2-3-1"><cmd>Specify an explicit
+ordered list of ciphersuites for the server to select from.</cmd>
+<info>To do this call <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref>. You can
+do this only after configuring the PSK key handler. </info>
+</substep>
+<substep id="GUID-72D09EBC-0ACB-533D-B43D-CBDD7A173E95-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-2-3-2"><cmd>Use the default
+list, which is automatically generated.</cmd>
+<info>If you do not specify an explicit list, the stack automatically includes
+the PSK ciphersuites in addition to any other ciphersuites supported. </info>
+</substep>
+</substeps>
+<info>If you specify an explicit list by calling <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref>,
+and you later deconfigure the PSK key handler, you must remove the PSK ciphersuites
+from the list by calling <xref href="GUID-6D5FEC74-C9EB-3A5B-96B0-65E92564F387.dita"><apiname>SetAvailableCipherSuites()</apiname></xref> again. </info>
+</step>
+<step id="GUID-CD1A725D-55EA-5F89-9552-C4DC629E9365-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-3"><cmd/>
+<info>Start a connection. </info>
+<info>The server chooses a ciphersuite from those offered by the client. If
+the server chooses a PSK ciphersuite, the following sequence of events occurs: </info>
+
+<substeps id="GUID-8BA50D23-A34D-5E02-BA1C-33B9C503E83C-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-3-4">
+<substep id="GUID-A0F4A26A-FA91-58DC-9EFF-6F131F473E63-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-3-4-1"><cmd>The server can
+optionally send a “PSK identity hint” to the client.</cmd>
+<info> This PSK identity hint might influence the choice of key and identity
+the client makes. If the server sends one, it is passed to the key handler.
+If it does not send one, NULL is passed to the key handler. </info>
+<info>Note: The PSK identity hint is optional and its meaning is not defined
+(format must be UTF8). Applications using TLS-PSK may left out it or use it
+for any action (for example SUPL uses it to indicate the SUPL protocol version
+and to present a list of allowed PSK generators). </info>
+</substep>
+<substep id="GUID-30DD1846-5C91-577A-9D1F-EE535A9B4DC2-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-3-4-2"><cmd>The TLS stack
+on the client calls <xref href="GUID-1A7C31AC-B493-394E-BB9C-CB6F0DBAE6CF.dita"><apiname>ptrToKeyHandler-&gt;getPskL()</apiname></xref></cmd>
+<info>The TLS stack on the client calls getPskL() for the instance of the
+key handler (in this case ptrToKeyHandler). See <xref href="GUID-9580646B-FDFA-3515-B3CF-39B16880CF6F.dita#GUID-9580646B-FDFA-3515-B3CF-39B16880CF6F/GUID-0EC110F3-D2A6-3FD4-8E59-9E6F5741A61C"><apiname>MSoPskKeyHandler::
+GetPskL()</apiname></xref> for the prototype. This call returns the PSK identity
+and value to be used to secure the connection. </info>
+</substep>
+<substep id="GUID-F52F987A-E500-5579-A5D4-E26F27F7390A-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-2-3-4-3"><cmd>The TLS stack
+sends the PSK identity to the server.</cmd>
+<info>The TLS stack sends the PSK identity (chosen in Step 2) to the server
+so it can retrieve the matching PSK value to secure the connection. </info>
+</substep>
+</substeps>
+<info>After the client has chosen which PSK to use, it sends an identity to
+the server and the server can use this to obtain a matching PSK. Again the
+meaning of the identity field is not specified, but its format must be UTF8.
+An application may choose to use it or leave it empty. </info>
+<info>Note: In the example, the server must select a PSK ciphersuite, because
+the client provides only PSK ciphersuites. The connection fails, if the server
+selects a PSK ciphersuite and fails to get a key that matches with the client.
+The TLS assumes that the first common ciphersuite cannot fail and does not
+implement connection retry. </info>
+</step>
+</steps>
+<example><title>TLS_PSK example</title> <p>The following example code shows
+how to configure TLS_PSK: </p> <codeblock id="GUID-61425E22-BD86-5913-BB16-55D933556969-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4-1-3-3-3" xml:space="preserve">
+
+
+//Configure a PSK key handler
+
+TPckgBuf&lt;MSoPskKeyHandler *&gt; pskConfigPkg;
+pskConfigPkg() = ptrToKeyHandler;
+User::LeaveIfError(secureSocket-&gt;SetOpt(KSoPskConfig, KSolInetSSL, pskConfigPkg));
+
+//set available ciphersuites 
+
+TBuf8&lt;8&gt; buf;    
+for(TInt i=0; i&lt;4; ++i)
+{
+ // The supported PSK ciphersuites are as follows:-
+ // TLS_PSK_WITH_RC4_128_SHA          = { 0x00, 0x8A };
+ // TLS_PSK_WITH_3DES_EDE_CBC_SHA     = { 0x00, 0x8B };
+ // TLS_PSK_WITH_AES_128_CBC_SHA      = { 0x00, 0x8C };
+ // TLS_PSK_WITH_AES_256_CBC_SHA      = { 0x00, 0x8D };
+ buf[i*2]=0;
+ buf[i*2+1]=0x8a+i;
+}
+secureSocket-&gt;SetAvailableCipherSuites( buf );
+
+//Start a connection
+
+secureSocket-&gt;StartClientHandshake( iStatus );
+
+</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-594488FF-02C9-5066-85DB-5F88A754AE18.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-594488FF-02C9-5066-85DB-5F88A754AE18" xml:lang="en"><title>How to build DLLs</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5971E713-9CA1-5D75-AE9F-2EF9CBDE39F4_d0e322350_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5971E713-9CA1-5D75-AE9F-2EF9CBDE39F4_d0e328336_href.png has changed
Binary file Symbian3/PDK/Source/GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e654525_href.png has changed
Binary file Symbian3/PDK/Source/GUID-597D496F-D85A-5FFD-B9CA-FDCA3E016BE7_d0e667352_href.png has changed
Binary file Symbian3/PDK/Source/GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e598544_href.png has changed
Binary file Symbian3/PDK/Source/GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e616130_href.png has changed
Binary file Symbian3/PDK/Source/GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e626438_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5986717C-C777-590D-8487-CB8ED488E975.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5986717C-C777-590D-8487-CB8ED488E975" xml:lang="en"><title>makmake
-command syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Symbian projects are defined by an <filepath>.mmp</filepath> file which
-specifies the essential elements of the project. The <filepath>makmake</filepath> tool
-then uses this environment neutral file to build makefiles for use in various
-environments. These makefiles are then used for project development. </p>
-<p><b>Invocation syntax </b> </p>
-<p> <codeph>makmake</codeph> [ <varname>options</varname> ] [ <varname>source-path</varname> ] <varname>project</varname> <varname>platform</varname>  </p>
-<p>Details of <varname>options</varname>, <varname>source-path</varname>, <varname>project</varname>,
-and <varname>platform</varname> are given below. </p>
-<p><b>Options </b> </p>
-<table id="GUID-BDAF523E-3992-5F10-9509-101F41F14CCF">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph> -d</codeph>  </p> </entry>
-<entry><p>Indicates that the makefile is to be created in directory <filepath>epoc32\build\</filepath> <varname>path_to_mmp_file</varname> <filepath>\</filepath> <codeph>mmp_basename</codeph> <filepath>\</filepath> <varname>platform</varname> rather
-than the directory in which <filepath>makmake</filepath> was invoked. </p> <p>Note
-that relative paths within the created makefile will be relative to the directory
-in which <filepath>makmake </filepath> was invoked so <filepath>nmake</filepath> should
-be invoked from that directory too if the project is to build correctly. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph> -v</codeph>  </p> </entry>
-<entry><p>Indicates verbose operation </p> <p>When this flag is specified, <filepath>makmake</filepath> prints
-many progress messages. The default is to give error messages only. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph> -mmp</codeph>  </p> </entry>
-<entry><p>Provides basic syntax guide to writing <filepath>.mmp</filepath> files
-instead of making the makefile. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph> -plat </codeph>  <varname>platform</varname>  </p> </entry>
-<entry><p>Provides syntax guide to writing platform-specific sections of <filepath>.mmp</filepath> files,
-and information about which macros are defined for preprocessing the <filepath>.mmp</filepath> files. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-arm</codeph>  </p> </entry>
-<entry><p>Instructs an ARMV5 build to not build the project as THUMB, but
-as the appropriate ARM ABI. </p> <p>For details, see <xref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita">ARMV5
-build target</xref>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-debug</codeph>  </p> </entry>
-<entry><p>Generates symbolic debug information for release or debug builds. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-no_debug</codeph>  </p> </entry>
-<entry><p>Does not generate symbolic debug information for release or debug
-builds. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>Note that you can either use <codeph>-debug</codeph> to generate or <codeph>-no_debug</codeph> to
-not generate the symbolic debug information, irrespective of <codeph>UREL</codeph> or <codeph>UDEB</codeph> build. </p>
-<p><b>source-path </b> </p>
-<p>This specifies the path of the source <filepath>.mmp</filepath> file, relative
-to the current directory. </p>
-<p>If omitted, the source <filepath>.mmp</filepath> file is <codeph>project</codeph> <filepath>.mmp</filepath> in
-the current directory. </p>
-<p>Whether or not the <varname>source-path</varname> is specified, the generated
-makefile is always written into the current directory. </p>
-<p><b>project </b> </p>
-<p>This specifies the project for which to create the makefile. </p>
-<p><b>platform </b> </p>
-<p>This specifies the target platform, e.g. <codeph>thumb</codeph> or <codeph>winscw</codeph>. </p>
-<p><b>Command output </b> </p>
-<p>The output makefile name in most cases has the form <varname>project-name</varname>.<varname>platform-name</varname>.
-The exceptions are for <codeph>cw_ide</codeph>, which produces a <filepath>.xml</filepath> file,
-which can be imported into CodeWarrior, and <codeph>vc6</codeph> and <codeph>vc6winc</codeph>,
-which produce <filepath>.dsw</filepath> and <codeph>.dsp</codeph> files. </p>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1"><title>Secure stream encryption example code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example covers: </p> <ul><li id="GUID-3F36B509-4E9F-5F4C-A374-993714418DEF-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-2-1"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1.dita#GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1/GUID-C27DAD65-463E-5CC6-A7D1-58F5DB3F279E-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-5">Encrypting some data with a password and writing it to a file</xref>  </p> </li> <li id="GUID-BE3A3FB7-E5C6-5488-800A-6BDBCD693C99-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-2-2"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1.dita#GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1/GUID-75B9241A-82D2-52F1-BDCE-B8E329F72BDE-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-6">Reading the data back from the file and decrypting it with the same password.</xref>  </p> </li> </ul> <p>Also, see: </p> <ul><li id="GUID-B8CC38F9-AAD9-5FCF-BE9E-F0526443AEFC-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-4-1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita">PBE example code</xref>  </p> </li> <li id="GUID-9952F1C6-982E-54EE-B8E2-29B99141106B-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-4-2"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita">Secure store example code</xref>  </p> </li> </ul> <section id="GUID-C27DAD65-463E-5CC6-A7D1-58F5DB3F279E-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-5"><title>Encrypting data with a password and writing it to a file</title> <ul><li id="GUID-0CF095D9-2387-5DAA-B599-9255C142D5AB-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-5-2-1"><p> <xref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-D41E94E7-F29F-57F4-9DC2-5BFE018BC7C8-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-5-3" xml:space="preserve">
+void CSecureStreamExample::WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the output file
+         RFileWriteStream writeStream;
+         User::LeaveIfError(writeStream.Replace(iFs, aFilename, EFileShareExclusive | EFileWrite));
+         CleanupClosePushL(writeStream);
+                
+         // Create a CPBEncryptElement object, passing details of the encryption we
+         // are using and the user's password
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(aPassword, ECipherDES_CBC);
+                
+         // Store encryption data as the first thing in the stream
+         writeStream &lt;&lt; encryption-&gt;EncryptionData();
+                
+         // Create an REncryptStream - this wraps the write stream and encrypts
+         // everything written to it
+         REncryptStream encStream;
+         encStream.OpenL(writeStream, *encryption);
+         CleanupClosePushL(encStream);
+                
+         // Now we can simply write the plaintext to the encrypt stream - it gets
+         // encrypted automatically
+         encStream &lt;&lt; aInput;
+                
+         // Commit the stream
+         encStream.CommitL();
+                
+         // Free memory (writeStream, encryption, encStream)
+         CleanupStack::PopAndDestroy(3, &amp;writeStream);
+         }
+            </codeblock> </section> <section id="GUID-75B9241A-82D2-52F1-BDCE-B8E329F72BDE-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-6"><title>Reading data from a file and decrypting it</title> <ul><li id="GUID-952B8F2D-DBA3-5338-BC7D-CA835EA9BA29-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-6-2-1"><p> <xref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-93A9C97B-E085-5171-A524-2E34BF726000-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-5-1-2-6-3" xml:space="preserve">
+HBufC8* CSecureStreamExample::ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the input file
+         RFileReadStream readStream;
+         User::LeaveIfError(readStream.Open(iFs, aFilename, EFileRead));
+         CleanupClosePushL(readStream);
+
+         // Read the encryption data from the stream
+         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
+         
+         // Recreate the CPBEncryptElement object, using the encryption data from the
+         // file and the user's password
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(*encryptionData, aPassword);
+
+         // Create an RDecryptStream based on the read stream - this decrypts
+         // everything we read from it
+         RDecryptStream decStream;
+         decStream.OpenL(readStream, *encryption);
+         CleanupClosePushL(decStream);
+    
+         // Now we can read the plaintext straight from the stream
+         HBufC8* plaintext = HBufC8::NewL(decStream, KMaxTInt);
+             
+         // Free memory (readStream, encryptionData, encryption, decStream)
+         CleanupStack::PopAndDestroy(4, &amp;readStream);
+         CleanupStack::PushL(plaintext);
+    
+         // Return plaintext to the caller
+         return plaintext;
+         }
+        </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1"><title>Secure stream encryption example code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example covers: </p> <ul><li id="GUID-3F36B509-4E9F-5F4C-A374-993714418DEF-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-2-1"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita#GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1/GUID-C27DAD65-463E-5CC6-A7D1-58F5DB3F279E-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-5">Encrypting some data with a password and writing it to a file</xref>  </p> </li> <li id="GUID-BE3A3FB7-E5C6-5488-800A-6BDBCD693C99-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-2-2"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita#GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1/GUID-75B9241A-82D2-52F1-BDCE-B8E329F72BDE-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-6">Reading the data back from the file and decrypting it with the same password.</xref>  </p> </li> </ul> <p>Also, see: </p> <ul><li id="GUID-B8CC38F9-AAD9-5FCF-BE9E-F0526443AEFC-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-4-1"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita">PBE example code</xref>  </p> </li> <li id="GUID-9952F1C6-982E-54EE-B8E2-29B99141106B-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-4-2"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita">Secure store example code</xref>  </p> </li> </ul> <section id="GUID-C27DAD65-463E-5CC6-A7D1-58F5DB3F279E-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-5"><title>Encrypting data with a password and writing it to a file</title> <ul><li id="GUID-0CF095D9-2387-5DAA-B599-9255C142D5AB-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-5-2-1"><p> <xref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-D41E94E7-F29F-57F4-9DC2-5BFE018BC7C8-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-5-3" xml:space="preserve">
+void CSecureStreamExample::WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the output file
+         RFileWriteStream writeStream;
+         User::LeaveIfError(writeStream.Replace(iFs, aFilename, EFileShareExclusive | EFileWrite));
+         CleanupClosePushL(writeStream);
+                
+         // Create a CPBEncryptElement object, passing details of the encryption we
+         // are using and the user's password
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(aPassword, ECipherDES_CBC);
+                
+         // Store encryption data as the first thing in the stream
+         writeStream &lt;&lt; encryption-&gt;EncryptionData();
+                
+         // Create an REncryptStream - this wraps the write stream and encrypts
+         // everything written to it
+         REncryptStream encStream;
+         encStream.OpenL(writeStream, *encryption);
+         CleanupClosePushL(encStream);
+                
+         // Now we can simply write the plaintext to the encrypt stream - it gets
+         // encrypted automatically
+         encStream &lt;&lt; aInput;
+                
+         // Commit the stream
+         encStream.CommitL();
+                
+         // Free memory (writeStream, encryption, encStream)
+         CleanupStack::PopAndDestroy(3, &amp;writeStream);
+         }
+            </codeblock> </section> <section id="GUID-75B9241A-82D2-52F1-BDCE-B8E329F72BDE-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-6"><title>Reading data from a file and decrypting it</title> <ul><li id="GUID-952B8F2D-DBA3-5338-BC7D-CA835EA9BA29-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-6-2-1"><p> <xref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-93A9C97B-E085-5171-A524-2E34BF726000-GENID-1-12-1-26-1-1-9-1-12-1-5-1-2-6-3" xml:space="preserve">
+HBufC8* CSecureStreamExample::ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword)
+         {
+         // Open a stream to the input file
+         RFileReadStream readStream;
+         User::LeaveIfError(readStream.Open(iFs, aFilename, EFileRead));
+         CleanupClosePushL(readStream);
+
+         // Read the encryption data from the stream
+         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
+         
+         // Recreate the CPBEncryptElement object, using the encryption data from the
+         // file and the user's password
+         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(*encryptionData, aPassword);
+
+         // Create an RDecryptStream based on the read stream - this decrypts
+         // everything we read from it
+         RDecryptStream decStream;
+         decStream.OpenL(readStream, *encryption);
+         CleanupClosePushL(decStream);
+    
+         // Now we can read the plaintext straight from the stream
+         HBufC8* plaintext = HBufC8::NewL(decStream, KMaxTInt);
+             
+         // Free memory (readStream, encryptionData, encryption, decStream)
+         CleanupStack::PopAndDestroy(4, &amp;readStream);
+         CleanupStack::PushL(plaintext);
+    
+         // Return plaintext to the caller
+         return plaintext;
+         }
+        </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D"><title>Secure stream encryption example code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example covers: </p> <ul><li id="GUID-3F36B509-4E9F-5F4C-A374-993714418DEF"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita#GUID-598B6698-3518-50CA-98DE-D85CB255BA2D/GUID-C27DAD65-463E-5CC6-A7D1-58F5DB3F279E">Encrypting some data with a password and writing it to a file</xref>  </p> </li> <li id="GUID-BE3A3FB7-E5C6-5488-800A-6BDBCD693C99"><p> <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita#GUID-598B6698-3518-50CA-98DE-D85CB255BA2D/GUID-75B9241A-82D2-52F1-BDCE-B8E329F72BDE">Reading the data back from the file and decrypting it with the same password.</xref>  </p> </li> </ul> <p>Also, see: </p> <ul><li id="GUID-B8CC38F9-AAD9-5FCF-BE9E-F0526443AEFC"><p> <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita">PBE example code</xref>  </p> </li> <li id="GUID-9952F1C6-982E-54EE-B8E2-29B99141106B"><p> <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita">Secure store example code</xref>  </p> </li> </ul> <section id="GUID-C27DAD65-463E-5CC6-A7D1-58F5DB3F279E"><title>Encrypting data with a password and writing it to a file</title> <ul><li id="GUID-0CF095D9-2387-5DAA-B599-9255C142D5AB"><p> <xref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-D41E94E7-F29F-57F4-9DC2-5BFE018BC7C8" xml:space="preserve">
-void CSecureStreamExample::WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword)
-         {
-         // Open a stream to the output file
-         RFileWriteStream writeStream;
-         User::LeaveIfError(writeStream.Replace(iFs, aFilename, EFileShareExclusive | EFileWrite));
-         CleanupClosePushL(writeStream);
-                
-         // Create a CPBEncryptElement object, passing details of the encryption we
-         // are using and the user's password
-         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(aPassword, ECipherDES_CBC);
-                
-         // Store encryption data as the first thing in the stream
-         writeStream &lt;&lt; encryption-&gt;EncryptionData();
-                
-         // Create an REncryptStream - this wraps the write stream and encrypts
-         // everything written to it
-         REncryptStream encStream;
-         encStream.OpenL(writeStream, *encryption);
-         CleanupClosePushL(encStream);
-                
-         // Now we can simply write the plaintext to the encrypt stream - it gets
-         // encrypted automatically
-         encStream &lt;&lt; aInput;
-                
-         // Commit the stream
-         encStream.CommitL();
-                
-         // Free memory (writeStream, encryption, encStream)
-         CleanupStack::PopAndDestroy(3, &amp;writeStream);
-         }
-            </codeblock> </section> <section id="GUID-75B9241A-82D2-52F1-BDCE-B8E329F72BDE"><title>Reading data from a file and decrypting it</title> <ul><li id="GUID-952B8F2D-DBA3-5338-BC7D-CA835EA9BA29"><p> <xref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562.dita">Supporting code for this example</xref>  </p> </li> </ul> <codeblock id="GUID-93A9C97B-E085-5171-A524-2E34BF726000" xml:space="preserve">
-HBufC8* CSecureStreamExample::ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword)
-         {
-         // Open a stream to the input file
-         RFileReadStream readStream;
-         User::LeaveIfError(readStream.Open(iFs, aFilename, EFileRead));
-         CleanupClosePushL(readStream);
-
-         // Read the encryption data from the stream
-         CPBEncryptionData* encryptionData = CPBEncryptionData::NewLC(readStream);
-         
-         // Recreate the CPBEncryptElement object, using the encryption data from the
-         // file and the user's password
-         CPBEncryptElement* encryption = CPBEncryptElement::NewLC(*encryptionData, aPassword);
-
-         // Create an RDecryptStream based on the read stream - this decrypts
-         // everything we read from it
-         RDecryptStream decStream;
-         decStream.OpenL(readStream, *encryption);
-         CleanupClosePushL(decStream);
-    
-         // Now we can read the plaintext straight from the stream
-         HBufC8* plaintext = HBufC8::NewL(decStream, KMaxTInt);
-             
-         // Free memory (readStream, encryptionData, encryption, decStream)
-         CleanupStack::PopAndDestroy(4, &amp;readStream);
-         CleanupStack::PushL(plaintext);
-    
-         // Return plaintext to the caller
-         return plaintext;
-         }
-        </codeblock> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e74687_href.png has changed
Binary file Symbian3/PDK/Source/GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e78900_href.png has changed
Binary file Symbian3/PDK/Source/GUID-59C143F6-3A0C-5C37-9351-A72FE45AFFC9_d0e341819_href.png has changed
Binary file Symbian3/PDK/Source/GUID-59C143F6-3A0C-5C37-9351-A72FE45AFFC9_d0e347770_href.png has changed
Binary file Symbian3/PDK/Source/GUID-59D86225-4727-5B3F-9117-7815B4900445_d0e228844_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-59D86225-4727-5B3F-9117-7815B4900445_d0e234842_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-59ED6D14-0976-58AE-8DDC-73F051866406.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-59ED6D14-0976-58AE-8DDC-73F051866406.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -41,6 +41,6 @@
 from the start of <codeph>CMyClass</codeph>. </p>
 <fig id="GUID-3B9C78A4-02FC-5D63-AFD2-53996F9CAEC7">
 <title>Links in singly linked lists</title>
-<image href="GUID-FB654184-C256-546F-AF6C-E0FADA78D5D0_d0e316335_href.png" placement="inline"/>
+<image href="GUID-FB654184-C256-546F-AF6C-E0FADA78D5D0_d0e322325_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e101748_href.png has changed
Binary file Symbian3/PDK/Source/GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e97669_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5A2F083E-EBA9-5477-883F-712636CF5D7C_d0e232864_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5A2F083E-EBA9-5477-883F-712636CF5D7C_d0e238859_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E" xml:lang="en"><title>abld
-command syntax overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <filepath>abld</filepath> batch file is used to control all aspects
-of building a project. The batch file is created using <filepath>bldmake</filepath> from
-a component description file. </p>
-<section><title>Invocation syntax </title><p> <codeph>abld [
-test ]</codeph>  <varname>command</varname> [ <varname>options</varname> ]
-[ <varname>platform</varname> [ <varname>build</varname> [ <varname>program</varname> ]
-] ] </p><p>The usage for test, <varname>command</varname>, <varname>options</varname>, <varname>platform</varname>, <varname>build</varname>,
-and <varname>program</varname> are detailed in the following sections. </p><p> <b>Note:</b> For
-certain <filepath>abld</filepath> commands, parameters such as <varname>platform</varname>, <varname>build</varname>,
-and <varname>program</varname>, do not apply. For example, <codeph>abld export</codeph> does
-not require these parameters, as exports do not depend on <varname>build</varname>, <varname>platform</varname>,
-or <varname>program</varname>. </p><p><b>command </b> </p><p>You can use the
-following commands with <codeph>abld</codeph>: </p><table id="GUID-EF09108F-BFFC-5094-95BB-A34D3A86BCED">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>Command</entry>
-<entry>Purpose</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>build</codeph>  </p> </entry>
-<entry><p>To build the binaries for the specified target. It is a combination
-of the commands, <codeph>export</codeph>, <codeph>makefile</codeph>, <codeph>library</codeph>, <codeph>resource</codeph>, <codeph>target</codeph>,
-and <codeph>final</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>clean</codeph>  </p> </entry>
-<entry><p>To remove everything built for the <codeph>abld target</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>cleanexport</codeph>  </p> </entry>
-<entry><p>To remove files created by the <codeph>abld</codeph> <codeph>export</codeph> command. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>export</codeph>  </p> </entry>
-<entry><p>To copy the exported files to their destination. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>final</codeph>  </p> </entry>
-<entry><p>To allow extension makefiles to run final commands. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>freeze</codeph>  </p> </entry>
-<entry><p>To freeze the exported functions in a <filepath>.def</filepath> file. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>help</codeph>  </p> </entry>
-<entry><p>To display commands, options, or help about a particular command. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>library</codeph>  </p> </entry>
-<entry><p>To create import libraries from the frozen <filepath>.def</filepath> files. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>listing</codeph>  </p> </entry>
-<entry><p>To create an assembler listing file for a particular source file. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>makefile</codeph>  </p> </entry>
-<entry><p>To create makefiles or IDE workspaces. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>reallyclean</codeph>  </p> </entry>
-<entry><p>To remove all the files. It is similar to the <codeph>clean</codeph> command,
-and additionally removes exported files and makefiles. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>resource</codeph>  </p> </entry>
-<entry><p>To create resource files and bitmaps. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>target</codeph>  </p> </entry>
-<entry><p>To create the main executable file and also the resources. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>tidy</codeph>  </p> </entry>
-<entry><p>To remove executable files which need not be released. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table><p><b>options </b> </p><p>You can use the following options with <codeph>abld</codeph>: </p><table id="GUID-722871C1-088A-50C4-B335-213340988C76">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>Option</entry>
-<entry>Purpose</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>-check or -c</codeph>  </p> </entry>
-<entry><p>To check whether the filenames of the executable and resource files
-are compatible for Linux builds. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-debug</codeph>  </p> </entry>
-<entry><p>To generate symbolic debug information for release or debug builds. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-keepgoing or -k</codeph>  </p> </entry>
-<entry><p>To build unrelated targets on error. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-no_debug</codeph>  </p> </entry>
-<entry><p>To not generate symbolic debug information for release or debug
-builds. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-savespace or -s</codeph>  </p> </entry>
-<entry><p>To delete intermediate files on success. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-verbose or -v</codeph>  </p> </entry>
-<entry><p>To display the progress of the <codeph>abld</codeph> command. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-what or -w</codeph>  </p> </entry>
-<entry><p>To list all releaseables, which include executable/map files, resource
-files and so on. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-I &lt;platform&gt;</codeph>  </p> </entry>
-<entry><p>To specify the ARM target to build for, overriding other settings. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-wrap[=&lt;value&gt;]</codeph>  </p> </entry>
-<entry><p>A static analysis tool can be invoked if <codeph>[=&lt;value&gt;]</codeph> is
-not specified. For example, <codeph>-wrap</codeph>. Alternatively, a run-time
-analysis tool can be invoked if <codeph>&lt;value&gt;</codeph> is specified as <codeph>proxy</codeph>.
-For example, <codeph>-wrap=proxy</codeph>. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table><p> <b>Notes:</b>  </p><ul>
-<li id="GUID-3B421EA1-26FB-5535-9808-C22DAC6801E8"><p>You can use <codeph>-debug</codeph> or <codeph>-no_debug</codeph> options
-irrespective of the output build type, that is, <codeph>UREL</codeph> or <codeph>UDEB</codeph>. </p> </li>
-<li id="GUID-0C2D4993-9231-5868-A321-615048F365B1"><p>All options are not
-applicable to all the commands. Wherever applicable, they can be specified
-in their long or short forms. For example, </p> <p> <codeph>-keepgoing</codeph> (long
-form) </p> <p>or </p> <p> <codeph>-k</codeph> (short form) </p> </li>
-</ul><p><b>platform </b> </p><p>This specifies the target platform. Possible
-platforms are: </p><table id="GUID-35EAE8DD-DBC1-5DA4-9419-8274A2C8AF28">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>Target platform</entry>
-<entry>Purpose</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>all</codeph>  </p> </entry>
-<entry><p>To build for all platforms. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>armv5</codeph>  </p> </entry>
-<entry><p>To build for ABI v1 of ARMV5 architecture using the RealView Compilation
-Tools (RVCT). </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>armv5_abiv2</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV5 architecture using RVCT. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>armv6</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV6 architecture using RVCT. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>armv6t2</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV6 architecture that supports Thumb-2
-instruction set, using RVCT. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>armv7</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV7 architecture that supports Thumb-2
-instruction set, using RVCT. </p> </entry>
-</row>
-<row>
-<entry> <codeph>cw_ide</codeph>  <p/> </entry>
-<entry><p>To build the Metrowerks CodeWarrior project file (importable <filepath>.xml</filepath> file). </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>gcce</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV5 architecture using the GNU GCC compiler. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>gccev6</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV6 architecture using the GNU GCC compiler. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>gccev6t2</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV6 architecture that supports Thumb-2
-instruction set, using the GNU GCC compiler. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>gccev7</codeph>  </p> </entry>
-<entry><p>To build for ABI v2 of ARMV7 architecture that supports Thumb-2
-instruction set, using the GNU GCC compiler. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>gccxml</codeph>  </p> </entry>
-<entry><p>To generate the XML description of the project and the program using
-GCC XML. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>vs6</codeph>  </p> </entry>
-<entry><p>To create the project files suitable for opening the project in
-Microsoft Visual Studio IDE, version Visual C++ v6. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>vs2003</codeph>  </p> </entry>
-<entry><p>To create the project files suitable for opening the project in
-Microsoft Visual Studio IDE, version .NET2003. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>winscw</codeph>  </p> </entry>
-<entry><p>To build for the Symbian emulator on Microsoft Windows, using the
-Metrowerks CodeWarrior compiler. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table><p> <b>Note</b>: The target platforms, <codeph>armv5</codeph> and <codeph>armv5_abiv2</codeph> are
-compatible with Symbian OS v9.4 or earlier versions. From Symbian OS v9.4
-onwards, these build platforms are renamed as <codeph>armv5</codeph> and <codeph>armv5_abiv1</codeph> to
-generate binaries and libraries conforming to ABI v2 and ABI v1 respectively. </p><p>If <varname>platform</varname> is
-not specified, or is specified as <codeph>all</codeph>, then <codeph>abld</codeph> will
-build for all the platforms specified in the component description file. </p><p>Basenames
-of <filepath>.mmp</filepath> files or extension makefiles must not be platform
-names. </p><p><b>build </b> </p><p>This specifies the build type. Possible
-types are: </p><table id="GUID-AAD6A56F-61FD-5CB4-B196-FE201E9EE298">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>udeb</codeph>  </p> </entry>
-<entry><p>Debug build </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>urel</codeph>  </p> </entry>
-<entry><p>Release build </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>all</codeph>  </p> </entry>
-<entry><p>Debug and release builds </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table><p>If <varname>build</varname> is not specified, or specified as <codeph>all</codeph>,
-then <codeph>abld</codeph> will build for both <codeph>udeb</codeph> and <codeph>urel</codeph>. </p><p>Basenames
-of <filepath>.mmp</filepath> files or extension makefiles must not be build
-type names. </p><p><b>program </b> </p><p>This specifies the basename of a
-particular <filepath>.mmp</filepath> file or extension makefile, in order
-to limit the command to a single project within a component. </p><p>If <varname>program</varname> is
-not specified, then all the projects within the component are built. </p><p><b>test </b> </p><p>If <codeph>test</codeph> is
-specified before <codeph>command</codeph>, the <codeph>command</codeph> will
-build all the projects defined by <filepath>.mmp</filepath> files listed in
-the <codeph>prj_testmmpfiles</codeph> section of the component description
-file, rather than those listed in the <codeph>prj_mmpfiles</codeph> section. </p><p> <b>Note:</b> The <codeph>test</codeph> parameter
-is not relevant for some commands, and in those cases, it cannot be specified. </p></section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5A71755A-E67F-5007-8C55-5B8FA65B3C04.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5A71755A-E67F-5007-8C55-5B8FA65B3C04.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-5A71755A-E67F-5007-8C55-5B8FA65B3C04" xml:lang="en"><title>ROM
 File System</title><shortdesc>Describes the ROM file system. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-1CA87397-6D2A-55A8-8C2D-683157C8BE61-GENID-1-12-1-17-1-1-10-1-10-1-5-1-3-1"><title>Introduction</title> <p>This
+<section id="GUID-1CA87397-6D2A-55A8-8C2D-683157C8BE61-GENID-1-12-1-18-1-1-10-1-10-1-5-1-3-1"><title>Introduction</title> <p>This
 is the file system is used to access code storage on execute-in place (XIP)
 storage e.g. NOR flash. </p> </section>
 <section id="GUID-468CF32D-5463-464C-B5A2-7D292480BC9C"><title>Background information</title> <p>This is the only file system
Binary file Symbian3/PDK/Source/GUID-5A8AE98B-51B3-5540-911A-2D04DA144C08_d0e229858_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5A8AE98B-51B3-5540-911A-2D04DA144C08_d0e235853_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5ACFA8E4-3C4B-5851-A43E-9FA72D0B8403.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5ACFA8E4-3C4B-5851-A43E-9FA72D0B8403.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -50,7 +50,7 @@
 that are described in the following section. </p> <fig id="GUID-EEFA9390-CA66-56DD-96B4-9DF7C35AB36D">
 <title>              Package diagram for the XML DOM Engine component    
        </title>
-<image href="GUID-AE69AA42-E633-5B7A-BAA1-6896950E0E19_d0e682417_href.png" placement="inline"/>
+<image href="GUID-AE69AA42-E633-5B7A-BAA1-6896950E0E19_d0e695244_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Description</title> <p>The XML DOM Engine is an object-oriented
 provider of the DOM services included in the standard libxml2 library: tree-based
@@ -64,7 +64,7 @@
 types are shown in the following diagram. </p> <fig id="GUID-32F52AA5-2670-5C4C-B9EE-508BDB3B9E78">
 <title>                 Extract of the class diagram for the XML DOM Engine
 parser               </title>
-<image href="GUID-9BF177DF-9E59-5C30-95BA-70A8250579E0_d0e682448_href.png" placement="inline"/>
+<image href="GUID-9BF177DF-9E59-5C30-95BA-70A8250579E0_d0e695275_href.png" placement="inline"/>
 </fig> <p><b>Serialisation</b> </p> <p>Serialisation transforms the DOM tree
 (including binary data) into one of the following formats: </p> <ul>
 <li id="GUID-C7E6E69A-9373-5A8E-A0A4-FABA95738ACC"><p>Default (standard XML) </p> </li>
Binary file Symbian3/PDK/Source/GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e153742_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e159843_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-5AF0B573-4351-5735-92A1-4F29BCF9A164.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5AF0B573-4351-5735-92A1-4F29BCF9A164"><title>prj_mmpfiles</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>prj_mmpfiles</codeph> </p> <p> <varname>mmp_file_1</varname>  <codeph>[build_as_arm]</codeph> <codeph>[tidy]</codeph>  </p> <p> <codeph>makefile</codeph>  <varname>makefile_1</varname> <codeph>[build_as_arm]</codeph>  <codeph>[tidy]</codeph> </p> <p> <codeph>makefile</codeph>  <varname>makefile_n</varname> <codeph>[build_as_arm]</codeph>  <codeph>[tidy]</codeph> </p> <p> <codeph>nmakefile</codeph>  <varname>makefile_1</varname> <codeph>[build_as_arm]</codeph>  <codeph>[tidy]</codeph> </p> <p> <codeph>nmakefile</codeph>  <varname>makefile_n</varname> <codeph>[build_as_arm]</codeph>  <codeph>[tidy]</codeph> </p> <p> <codeph>gnumakefile</codeph>  <varname>makefile_1</varname> <codeph>[build_as_arm]</codeph>  <codeph>[tidy]</codeph> </p> <p> <codeph>gnumakefile</codeph>  <varname>makefile_n</varname> <codeph>[build_as_arm]</codeph>  <codeph>[tidy]</codeph> </p> <p>In the <codeph>prj_mmpfiles</codeph> section, list the <filepath>.mmp</filepath> files contained in your component. </p> <p>Specify each <filepath>.mmp</filepath> file on a separate line. </p> <section><title>Relative paths</title> <p>If a relative path is specified with an <filepath>.mmp</filepath> file, the path will be considered relative to the directory containing the <filepath>bld.inf</filepath> file. </p> <p>For example, if in the <codeph>prj_mmpfiles</codeph> section, a certain <filepath>Hello.mmp</filepath> file is specified as a relative path: </p> <codeblock id="GUID-69924087-2F44-502F-86CE-25C3BEACEF7E" xml:space="preserve">PRJ_MMPFILES
-ProjSpec\Hello.mmp</codeblock> <p>and if the <filepath>bld.inf</filepath> file is in <filepath>\MyComp\</filepath>, then the full path for the location of <filepath>Hello.mmp</filepath> will be <filepath>\MyComp\ProjSpec\Hello.mmp</filepath>. </p> </section> <section><title>The tidy attribute</title> <p>Specify the <codeph>tidy</codeph> attribute if the releasable that an .<filepath>mmp</filepath> file defines is purely internal to your component, and therefore not required either by other components or for your component to execute. </p> <p>If the tidy attribute is specified in your component’s description file, then this will indicate to the <filepath>abld</filepath> tool when it is used to run the command <codeph>abld tidy</codeph>, to remove those releasables that are no longer required. </p> </section> <section><title>The build_as_arm attribute</title> <p>Use the <codeph>build_as_arm</codeph> statement to instruct an ARMV5 build to not build the project for the THUMB instruction set, but for the ARM instruction set. </p> <p>For details, see <xref href="GUID-D173BE00-1DE7-53D0-BBEF-CBF7CACB0193.dita">ARM/THUMB overrides</xref>. </p> </section> <section><title>Extension makefiles</title> <p>Use the keyword <codeph>makefile</codeph>, <codeph>nmakefile</codeph>, and/or <codeph>gnumakefile</codeph> to specify extension makefiles for your component. Extension makefiles can be used where build activities need to be carried out which are not catered for by generated makefiles. </p> <p> <codeph>makefile</codeph> and <codeph>nmakefile</codeph> invoke <filepath>nmake</filepath> on the specified file. <codeph>gnumakefile</codeph> invokes <filepath>make</filepath>. </p> <p>Build activities relating to particular <filepath>.mmp</filepath> files or extension makefiles are carried out in the order in which the .<filepath>mmp</filepath> files and extension makefiles are listed in the <filepath>bld.inf</filepath> file. Extension makefiles can be interspersed among the .<filepath>mmp</filepath> files. </p> <p>See <xref href="GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita">Extension makefiles targets</xref> for more details. </p> <p>Note that the extension makefiles are deprecated, use <codeph>PRJ_EXTENSIONS</codeph> instead. </p> </section> <section><title>Platform-specific use</title> <p>The <codeph>prj_mmpfiles</codeph> section is preprocessed for each platform listed in the <codeph>prj_platforms</codeph> section. </p> <p>If an .<filepath>mmp</filepath> file or extension makefile applies only to a particular platform, then place the item within </p> <codeblock id="GUID-993A8D09-5D18-5302-AD40-5FF5524ACF5B" xml:space="preserve">#if defined &lt;identifier&gt;
-#endif</codeblock> <p>For example, if an .<filepath>mmp</filepath> file relates only to the WINS platform, specify the file as follows: </p> <codeblock id="GUID-57672374-BEFA-5DB6-9573-FF295B470F71" xml:space="preserve">#if defined(WINS)
-&lt;mmp_file&gt;
-#endif</codeblock> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1" xml:lang="en"><title>Cryptography
+overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-67CB0CE0-EFDA-4183-BB49-293580FFA0A5-GENID-1-12-1-26-1-1-11-1-1-4-1-2-1"><title>Purpose</title> <p>The
+Cryptography module is the basis of the Symbian platform Security system.
+The services provided by this module are used by the following components:
+Certman (Certificate Management), Software Installation, Secure Communication
+Protocols (for example, SSL, TLS, IPSEC), and WTLS. </p> <p>These services
+include: </p> <ul>
+<li id="GUID-4D104E90-FF18-5FF6-8D8F-806D31F9C81D-GENID-1-12-1-26-1-1-11-1-1-4-1-2-1-4-1"><p>symmetric encryption-decryption </p> </li>
+<li id="GUID-62E013DC-85FD-5C7E-8F63-93C7F546F99E-GENID-1-12-1-26-1-1-11-1-1-4-1-2-1-4-2"><p>asymmetric encryption-decryption </p> </li>
+<li id="GUID-716CAC33-4B7D-5F10-9F3A-CAFD6D42442F-GENID-1-12-1-26-1-1-11-1-1-4-1-2-1-4-3"><p>integrity checking and
+signature verification </p> </li>
+<li id="GUID-CE94FB08-21CE-51BD-9F2C-B857BC135902-GENID-1-12-1-26-1-1-11-1-1-4-1-2-1-4-4"><p>key exchange </p> </li>
+<li id="GUID-72254184-BFDA-546A-97E9-0056F70ED602-GENID-1-12-1-26-1-1-11-1-1-4-1-2-1-4-5"><p>message digests </p> </li>
+</ul> <p>The interface for the cryptographic services hides the implementation
+details of particular algorithms. No detailed knowledge of the cryptographic
+algorithms is needed to use the cryptographic services. </p> </section>
+<section id="GUID-39C675AC-939A-4028-9016-27C66D869173-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2"><title>Description</title> <p>The
+Cryptography module encapsulates the following significant components: </p> <ul>
+<li id="GUID-1B44BA90-11D8-5FD0-9554-4C7B788CEFF0-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-3-1"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1/GUID-59BBC450-1E19-58EA-8DD6-5F2D1EAB7D63-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-4">Cryptographic algorithms</xref>  </p> </li>
+<li id="GUID-0FCB4381-6394-5A28-86FE-A1AAEC2ABEF5-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-3-2"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1/GUID-10F78AEF-4388-5A04-BD8D-A036171E3B82-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-8">Hash algorithms</xref>  </p> </li>
+<li id="GUID-7CFF13A5-A55A-54F0-A3AD-1137E66D158B-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-3-3"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1/GUID-0630C916-ED45-520D-92CD-FE4F87A66D04-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-12">Random Number Generator (RNG)</xref>  </p> </li>
+<li id="GUID-A42E03EF-DFC1-5646-8326-053E203A509C-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-3-4"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-11-1-1-4-1/GUID-965474E9-6B4E-50C6-8F05-3381BBDC661A-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-16">Supporting APIs</xref>  </p> </li>
+</ul> <p id="GUID-59BBC450-1E19-58EA-8DD6-5F2D1EAB7D63-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-4"><b>Cryptographic algorithms</b> </p> <p>These
+algorithms allow data to be encrypted and decrypted. They include: </p> <ul>
+<li id="GUID-D94D2386-B73D-5D07-A770-C73C81F80D5C-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-6-1"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita">Symmetric
+ciphers</xref> — algorithms that require communicating parties to hold a shared
+secret. They are fast and used for the transmission of bulk data. </p> </li>
+<li id="GUID-7425FC7D-BA33-5F0B-92A4-95876C790EBB-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-6-2"><p> <xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita">Asymmetric
+ciphers</xref> — algorithms which have two keys, one private to the keys'
+owner and one which can be published. They are slow compared to symmetric
+ciphers and are used to exchange a symmetric key before transmission of data
+encrypted using that key. </p> </li>
+</ul> <p>The classes implementing the symmetric and asymmetric ciphers are
+provided in <filepath>cryptography.dll</filepath> (see <xref href="GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D.dita">Cryptography
+library</xref>). </p> <p id="GUID-10F78AEF-4388-5A04-BD8D-A036171E3B82-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-8"><b>Hash
+algorithms</b> </p> <p>Hash algorithms compact a message down to a short series
+of bytes from which it is impossible to regenerate the message. They are used
+with an asymmetric cipher to generate signatures. </p> <p>The classes implementing
+the hash algorithms are provided in <filepath>hash.dll</filepath>. </p> <p>Hash
+algorithms are documented in the mainstream Symbian platform library. </p> <p id="GUID-0630C916-ED45-520D-92CD-FE4F87A66D04-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-12"><b>Random Number Generator
+(RNG)</b> </p> <p>RNG is the basis for the cryptographic key generation. It
+uses the RANROT algorithm seeded by random data available on the target hardware
+(for example, free running counters available on ARM processors). </p> <p>The
+Random number library is provided by <filepath>random.dll</filepath>. </p> <p>The
+Random Number Generator API is documented in the mainstream Symbian OS Library. </p> <p id="GUID-965474E9-6B4E-50C6-8F05-3381BBDC661A-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-16"><b>Supporting APIs</b> </p> <ul>
+<li id="GUID-1AFD7DEA-F5C8-56E4-AA71-359F893ED7C6-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-17-1"><p> <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">Password
+Based Encryption (PBE)</xref> — provides an API to encrypt and decrypt data
+with a user-supplied password. </p> <p>The classes implementing PBE (for example,
+for secure stream encryption) are provided in <filepath>pbe.dll</filepath>. </p> </li>
+<li id="GUID-7A02B665-46BE-5DBB-9A8A-787120AA3D11-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-17-2"><p>Padding — is extra bits
+concatenated with a key, password, or plaintext to make their length equal
+to the block size. It defines the way blocks are filled with data when the
+data to be encrypted is smaller than the block size. Padding is added at encryption
+and checked on decryption. (See <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3">Block
+and stream ciphers</xref> and <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-A8F9A25F-B83E-5FE7-840F-4DCF246D3D96-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5-10">CPadding
+class relationships</xref>.) </p> <p>The Cryptography library supports <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> public
+and private padding, and <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2129" scope="external">PKCS#7</xref> style padding (see <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2315.txt" scope="external">RFC 2315</xref> section 10.3). </p> </li>
+<li id="GUID-85009712-99DF-571D-88B1-6F2B86385762-GENID-1-12-1-26-1-1-11-1-1-4-1-2-2-17-3"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita">Big
+integers</xref> — Implementation of arbitrarily large integers. </p> <p>Note
+that although some methods are exported, the intent is that this library is
+only for use by the Cryptography library and not by application code. </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1" xml:lang="en"><title>Cryptography
+overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-67CB0CE0-EFDA-4183-BB49-293580FFA0A5-GENID-1-12-1-26-1-1-9-1-2-1"><title>Purpose</title> <p>The
+Cryptography module is the basis of the Symbian platform Security system.
+The services provided by this module are used by the following components:
+Certman (Certificate Management), Software Installation, Secure Communication
+Protocols (for example, SSL, TLS, IPSEC), and WTLS. </p> <p>These services
+include: </p> <ul>
+<li id="GUID-4D104E90-FF18-5FF6-8D8F-806D31F9C81D-GENID-1-12-1-26-1-1-9-1-2-1-4-1"><p>symmetric encryption-decryption </p> </li>
+<li id="GUID-62E013DC-85FD-5C7E-8F63-93C7F546F99E-GENID-1-12-1-26-1-1-9-1-2-1-4-2"><p>asymmetric encryption-decryption </p> </li>
+<li id="GUID-716CAC33-4B7D-5F10-9F3A-CAFD6D42442F-GENID-1-12-1-26-1-1-9-1-2-1-4-3"><p>integrity checking and
+signature verification </p> </li>
+<li id="GUID-CE94FB08-21CE-51BD-9F2C-B857BC135902-GENID-1-12-1-26-1-1-9-1-2-1-4-4"><p>key exchange </p> </li>
+<li id="GUID-72254184-BFDA-546A-97E9-0056F70ED602-GENID-1-12-1-26-1-1-9-1-2-1-4-5"><p>message digests </p> </li>
+</ul> <p>The interface for the cryptographic services hides the implementation
+details of particular algorithms. No detailed knowledge of the cryptographic
+algorithms is needed to use the cryptographic services. </p> </section>
+<section id="GUID-39C675AC-939A-4028-9016-27C66D869173-GENID-1-12-1-26-1-1-9-1-2-2"><title>Description</title> <p>The
+Cryptography module encapsulates the following significant components: </p> <ul>
+<li id="GUID-1B44BA90-11D8-5FD0-9554-4C7B788CEFF0-GENID-1-12-1-26-1-1-9-1-2-2-3-1"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1/GUID-59BBC450-1E19-58EA-8DD6-5F2D1EAB7D63-GENID-1-12-1-26-1-1-9-1-2-2-4">Cryptographic algorithms</xref>  </p> </li>
+<li id="GUID-0FCB4381-6394-5A28-86FE-A1AAEC2ABEF5-GENID-1-12-1-26-1-1-9-1-2-2-3-2"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1/GUID-10F78AEF-4388-5A04-BD8D-A036171E3B82-GENID-1-12-1-26-1-1-9-1-2-2-8">Hash algorithms</xref>  </p> </li>
+<li id="GUID-7CFF13A5-A55A-54F0-A3AD-1137E66D158B-GENID-1-12-1-26-1-1-9-1-2-2-3-3"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1/GUID-0630C916-ED45-520D-92CD-FE4F87A66D04-GENID-1-12-1-26-1-1-9-1-2-2-12">Random Number Generator (RNG)</xref>  </p> </li>
+<li id="GUID-A42E03EF-DFC1-5646-8326-053E203A509C-GENID-1-12-1-26-1-1-9-1-2-2-3-4"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1/GUID-965474E9-6B4E-50C6-8F05-3381BBDC661A-GENID-1-12-1-26-1-1-9-1-2-2-16">Supporting APIs</xref>  </p> </li>
+</ul> <p id="GUID-59BBC450-1E19-58EA-8DD6-5F2D1EAB7D63-GENID-1-12-1-26-1-1-9-1-2-2-4"><b>Cryptographic algorithms</b> </p> <p>These
+algorithms allow data to be encrypted and decrypted. They include: </p> <ul>
+<li id="GUID-D94D2386-B73D-5D07-A770-C73C81F80D5C-GENID-1-12-1-26-1-1-9-1-2-2-6-1"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita">Symmetric
+ciphers</xref> — algorithms that require communicating parties to hold a shared
+secret. They are fast and used for the transmission of bulk data. </p> </li>
+<li id="GUID-7425FC7D-BA33-5F0B-92A4-95876C790EBB-GENID-1-12-1-26-1-1-9-1-2-2-6-2"><p> <xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita">Asymmetric
+ciphers</xref> — algorithms which have two keys, one private to the keys'
+owner and one which can be published. They are slow compared to symmetric
+ciphers and are used to exchange a symmetric key before transmission of data
+encrypted using that key. </p> </li>
+</ul> <p>The classes implementing the symmetric and asymmetric ciphers are
+provided in <filepath>cryptography.dll</filepath> (see <xref href="GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D.dita">Cryptography
+library</xref>). </p> <p id="GUID-10F78AEF-4388-5A04-BD8D-A036171E3B82-GENID-1-12-1-26-1-1-9-1-2-2-8"><b>Hash
+algorithms</b> </p> <p>Hash algorithms compact a message down to a short series
+of bytes from which it is impossible to regenerate the message. They are used
+with an asymmetric cipher to generate signatures. </p> <p>The classes implementing
+the hash algorithms are provided in <filepath>hash.dll</filepath>. </p> <p>Hash
+algorithms are documented in the mainstream Symbian platform library. </p> <p id="GUID-0630C916-ED45-520D-92CD-FE4F87A66D04-GENID-1-12-1-26-1-1-9-1-2-2-12"><b>Random Number Generator
+(RNG)</b> </p> <p>RNG is the basis for the cryptographic key generation. It
+uses the RANROT algorithm seeded by random data available on the target hardware
+(for example, free running counters available on ARM processors). </p> <p>The
+Random number library is provided by <filepath>random.dll</filepath>. </p> <p>The
+Random Number Generator API is documented in the mainstream Symbian OS Library. </p> <p id="GUID-965474E9-6B4E-50C6-8F05-3381BBDC661A-GENID-1-12-1-26-1-1-9-1-2-2-16"><b>Supporting APIs</b> </p> <ul>
+<li id="GUID-1AFD7DEA-F5C8-56E4-AA71-359F893ED7C6-GENID-1-12-1-26-1-1-9-1-2-2-17-1"><p> <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">Password
+Based Encryption (PBE)</xref> — provides an API to encrypt and decrypt data
+with a user-supplied password. </p> <p>The classes implementing PBE (for example,
+for secure stream encryption) are provided in <filepath>pbe.dll</filepath>. </p> </li>
+<li id="GUID-7A02B665-46BE-5DBB-9A8A-787120AA3D11-GENID-1-12-1-26-1-1-9-1-2-2-17-2"><p>Padding — is extra bits
+concatenated with a key, password, or plaintext to make their length equal
+to the block size. It defines the way blocks are filled with data when the
+data to be encrypted is smaller than the block size. Padding is added at encryption
+and checked on decryption. (See <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3">Block
+and stream ciphers</xref> and <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-A8F9A25F-B83E-5FE7-840F-4DCF246D3D96-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5-10">CPadding
+class relationships</xref>.) </p> <p>The Cryptography library supports <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> public
+and private padding, and <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2129" scope="external">PKCS#7</xref> style padding (see <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2315.txt" scope="external">RFC 2315</xref> section 10.3). </p> </li>
+<li id="GUID-85009712-99DF-571D-88B1-6F2B86385762-GENID-1-12-1-26-1-1-9-1-2-2-17-3"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita">Big
+integers</xref> — Implementation of arbitrarily large integers. </p> <p>Note
+that although some methods are exported, the intent is that this library is
+only for use by the Cryptography library and not by application code. </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A" xml:lang="en"><title>Cryptography
-overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-67CB0CE0-EFDA-4183-BB49-293580FFA0A5"><title>Purpose</title> <p>The
-Cryptography module is the basis of the Symbian platform Security system.
-The services provided by this module are used by the following components:
-Certman (Certificate Management), Software Installation, Secure Communication
-Protocols (for example, SSL, TLS, IPSEC), and WTLS. </p> <p>These services
-include: </p> <ul>
-<li id="GUID-4D104E90-FF18-5FF6-8D8F-806D31F9C81D"><p>symmetric encryption-decryption </p> </li>
-<li id="GUID-62E013DC-85FD-5C7E-8F63-93C7F546F99E"><p>asymmetric encryption-decryption </p> </li>
-<li id="GUID-716CAC33-4B7D-5F10-9F3A-CAFD6D42442F"><p>integrity checking and
-signature verification </p> </li>
-<li id="GUID-CE94FB08-21CE-51BD-9F2C-B857BC135902"><p>key exchange </p> </li>
-<li id="GUID-72254184-BFDA-546A-97E9-0056F70ED602"><p>message digests </p> </li>
-</ul> <p>The interface for the cryptographic services hides the implementation
-details of particular algorithms. No detailed knowledge of the cryptographic
-algorithms is needed to use the cryptographic services. </p> </section>
-<section id="GUID-39C675AC-939A-4028-9016-27C66D869173"><title>Description</title> <p>The
-Cryptography module encapsulates the following significant components: </p> <ul>
-<li id="GUID-1B44BA90-11D8-5FD0-9554-4C7B788CEFF0"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A/GUID-59BBC450-1E19-58EA-8DD6-5F2D1EAB7D63">Cryptographic algorithms</xref>  </p> </li>
-<li id="GUID-0FCB4381-6394-5A28-86FE-A1AAEC2ABEF5"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A/GUID-10F78AEF-4388-5A04-BD8D-A036171E3B82">Hash algorithms</xref>  </p> </li>
-<li id="GUID-7CFF13A5-A55A-54F0-A3AD-1137E66D158B"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A/GUID-0630C916-ED45-520D-92CD-FE4F87A66D04">Random Number Generator (RNG)</xref>  </p> </li>
-<li id="GUID-A42E03EF-DFC1-5646-8326-053E203A509C"><p> <xref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita#GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A/GUID-965474E9-6B4E-50C6-8F05-3381BBDC661A">Supporting APIs</xref>  </p> </li>
-</ul> <p id="GUID-59BBC450-1E19-58EA-8DD6-5F2D1EAB7D63"><b>Cryptographic algorithms</b> </p> <p>These
-algorithms allow data to be encrypted and decrypted. They include: </p> <ul>
-<li id="GUID-D94D2386-B73D-5D07-A770-C73C81F80D5C"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita">Symmetric
-ciphers</xref> — algorithms that require communicating parties to hold a shared
-secret. They are fast and used for the transmission of bulk data. </p> </li>
-<li id="GUID-7425FC7D-BA33-5F0B-92A4-95876C790EBB"><p> <xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita">Asymmetric
-ciphers</xref> — algorithms which have two keys, one private to the keys'
-owner and one which can be published. They are slow compared to symmetric
-ciphers and are used to exchange a symmetric key before transmission of data
-encrypted using that key. </p> </li>
-</ul> <p>The classes implementing the symmetric and asymmetric ciphers are
-provided in <filepath>cryptography.dll</filepath> (see <xref href="GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D.dita">Cryptography
-library</xref>). </p> <p id="GUID-10F78AEF-4388-5A04-BD8D-A036171E3B82"><b>Hash
-algorithms</b> </p> <p>Hash algorithms compact a message down to a short series
-of bytes from which it is impossible to regenerate the message. They are used
-with an asymmetric cipher to generate signatures. </p> <p>The classes implementing
-the hash algorithms are provided in <filepath>hash.dll</filepath>. </p> <p>Hash
-algorithms are documented in the mainstream Symbian platform library. </p> <p id="GUID-0630C916-ED45-520D-92CD-FE4F87A66D04"><b>Random Number Generator
-(RNG)</b> </p> <p>RNG is the basis for the cryptographic key generation. It
-uses the RANROT algorithm seeded by random data available on the target hardware
-(for example, free running counters available on ARM processors). </p> <p>The
-Random number library is provided by <filepath>random.dll</filepath>. </p> <p>The
-Random Number Generator API is documented in the mainstream Symbian OS Library. </p> <p id="GUID-965474E9-6B4E-50C6-8F05-3381BBDC661A"><b>Supporting APIs</b> </p> <ul>
-<li id="GUID-1AFD7DEA-F5C8-56E4-AA71-359F893ED7C6"><p> <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">Password
-Based Encryption (PBE)</xref> — provides an API to encrypt and decrypt data
-with a user-supplied password. </p> <p>The classes implementing PBE (for example,
-for secure stream encryption) are provided in <filepath>pbe.dll</filepath>. </p> </li>
-<li id="GUID-7A02B665-46BE-5DBB-9A8A-787120AA3D11"><p>Padding — is extra bits
-concatenated with a key, password, or plaintext to make their length equal
-to the block size. It defines the way blocks are filled with data when the
-data to be encrypted is smaller than the block size. Padding is added at encryption
-and checked on decryption. (See <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B">Block
-and stream ciphers</xref> and <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-A8F9A25F-B83E-5FE7-840F-4DCF246D3D96">CPadding
-class relationships</xref>.) </p> <p>The Cryptography library supports <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> public
-and private padding, and <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2129" scope="external">PKCS#7</xref> style padding (see <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2315.txt" scope="external">RFC 2315</xref> section 10.3). </p> </li>
-<li id="GUID-85009712-99DF-571D-88B1-6F2B86385762"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita">Big
-integers</xref> — Implementation of arbitrarily large integers. </p> <p>Note
-that although some methods are exported, the intent is that this library is
-only for use by the Cryptography library and not by application code. </p> </li>
-</ul> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5B1D5561-CC48-5FAD-9DC6-9E89A757288D_d0e448876_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5B1D5561-CC48-5FAD-9DC6-9E89A757288D_d0e454721_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105" xml:lang="en"><title>ARMV5
-build customisation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The ARMV5 build supports the notion of customisation. This allows a programmer
-to define a new build target that is derived from the ARMV5 build. A new build
-target is defined via a <filepath>.BSF</filepath> file. The build system becomes
-aware of a customised build by the presence of its .BSF file in <filepath>epoc32\tools\</filepath>.
-Such customisations are referred to by the name of their <filepath>.BSF</filepath> file:
-e.g. the file <filepath>XScale.bsf</filepath> defines the build target <codeph>XScale</codeph>.
-This name can be used in exactly the same way as built-in names such as ARMV5. </p>
-<section><title>BSF Syntax </title><p>It is intended that the syntax of a
-.BSF file is toolchain specific with the exception of the obligatory header:</p><codeblock id="GUID-3CF96A81-8710-5044-8AF0-A9D568822045" xml:space="preserve">#&lt;BSF&gt;#                    : token to identify this as a BSF file must appear at start of first line.
-CUSTOMIZES     build            : identitifies which build is customized by this spec  e.g. ARMV5.</codeblock><p>Currently,
-only ARMV5 can be customised. The ARMV5 specific .BSF syntax is as follows:</p><codeblock id="GUID-6E4208DE-3B44-5055-8DF5-943210B83779" xml:space="preserve">THUMB_OPTIONS    opt1 opt2 ...    : compiler options used by default for user side code (expected to be THUMB mode)
-ARM_OPTIONS    opt1 opt2 ...    : compiler options used when BUILD_AS_ARM etc are specified (expected to be ARM mode)
-KERNEL_OPTIONS    opt1 opt2 ...    : compiler options used to compile kernel side code
-COMMON_OPTIONS    opt1 opt2 ...    : compiler options that are added to all the above</codeblock><p>The
-above four keywords specify compiler options that can be overriden in an MMP
-file through<codeph>OPTION</codeph>. For example: </p><codeblock id="GUID-EDE9A728-34C2-546F-B93D-77B8CD8BFA0D" xml:space="preserve">OPTION ARMCC -Ospace</codeblock><p>A final keyword specifies the system-wide options that cannot be overridden
-in an MMP file via <codeph>OPTION</codeph>. Typically, these specify options
-within the EABI e.g. the SOFTVFP calling convention. They are called invariant
-since code compiled with different settings will not be binary compatible.</p><codeblock id="GUID-B6AB5699-2C5A-5B39-83B2-56ED9976D5B9" xml:space="preserve">INVARIANT_OPTIONS    opt opt2 ...    : these options are appended to all compiler command lines</codeblock></section>
-<example><p>The following is an example bsf file: </p><codeblock id="GUID-9CDC9BA6-9A59-55F7-8950-184DF26BF10D" xml:space="preserve">#&lt;bsf&gt;#
-
-# Example build specialization file 
-# 
-# NB currently specialization only applies to ARMV5 build using RVCT.
-
-# This file customizes the default ARMV5. It specifies a build that
-# always uses optimization level O1 rather than the default O2.
-customizes ARMV5
-
-# The following options that can be overridden by MMP files
-
-# Use these options when compiling user-side THUMB code
-thumb_options    -thumb -O1 
-
-# Use these options when compiling user-side ARM code
-arm_options    -arm -O1 
-
-# Use these options when compiling Kernel code
-kernel_options    -arm -O1 
-
-# This just factors out common (contingent) options from the above.
-# These options can also be overridden by MMP files.
-common_options    --diag_suppress 1,161,654,1135,1152,1300 --diag_error 1267
-
-# Fixed options for this build. These options should only be changed with great care since
-# they have the potential to introduce incompatible ABI (or machine) level effects.
-# -cpu 5T - this build just targets a generic 5T
-# -Ono_known_library - we use our own library so tell the compiler not to make assumptions about its implementation
-# -fpu softvfp - some system code explicitly assumes this variant of the EABI (softvfp+vfp could be used on say XScale)
-# --dll_vtbl - this switches on class exporting and is needed to support Symbian platform DLL model
-# -apcs /inter - redundant on 5T, but worth saying anyway
-invariant_options    -cpu 5T -fy -Ono_known_library -fpu softvfp --dll_vtbl -apcs /inter</codeblock></example>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5B6634EA-EB78-504E-BC5D-ABA67EEA06DF_d0e155964_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5B6634EA-EB78-504E-BC5D-ABA67EEA06DF_d0e599998_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5B8061C3-3BED-51D7-9919-5BA16EA6C6FE_d0e528171_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5B8061C3-3BED-51D7-9919-5BA16EA6C6FE_d0e535631_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5B8FEDA0-624E-44D6-BF70-C5228234BD15_d0e163290_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5B8FEDA0-624E-44D6-BF70-C5228234BD15_d0e169383_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5B9DE39D-61D0-51FF-948E-15691CD673B5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5B9DE39D-61D0-51FF-948E-15691CD673B5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,109 +1,99 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5B9DE39D-61D0-51FF-948E-15691CD673B5" xml:lang="en"><title>AdvancedClientServerExample:
-Using Client/Server APIs</title><shortdesc>This example application demonstrates the use of client/server
-APIs using a logical device driver (LDD) and a physical device driver (PDD).</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-4A6D20D7-F28D-49AD-AF44-96FA26ED867A"><title>Introduction</title> <p> This
-example implements asynchronous as well as synchronous client requests to
-the server. This example also demonstrates a client and server running in
-separate processes and a client and server running in the same process. </p> <p>This
-example demonstrates the following: </p> <ul>
-<li id="GUID-D4A42C17-F34C-5745-85A2-8FCCEB7B2EEA"><p> <b>a server running
-its own process:</b> This is referred to in this document as the <i>process
-server</i>. The example also implements a DLL that provides an API to allow
-clients to request services from the process server. This client DLL is referred
-to as the <i>process client</i>. </p> </li>
-<li id="GUID-FB3B8745-BF31-5D0F-81AD-E04F23DBA188"><p> <b>a server and client
-running in a single process:</b> These are referred to as the <i>thread server</i> and <i>thread
-client</i>. </p> </li>
-<li id="GUID-7582867D-1D14-5ECC-85B9-59F4A4E9E1EE"><p> <b>a shut down server:</b> This
-terminates the process or thread server if it has no clients connected to
-it for 50 seconds. </p> </li>
-</ul> </section>
-<section id="GUID-3A1715FE-3F34-44FB-826F-E441FD724D01"><title>Download</title><p><b>Process
-Client and Server</b></p><p>Click the following links to download the example:</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-76d97fc3-887f-495b-841a-3ae9de66dbf2.zip" scope="external"> ProcessClient.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4b308120-fd3c-484f-bc1c-36cd2b99cc4e.zip" scope="external"> ProcessServer.zip</xref></p><p>Click the following links
-for additional files: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-d98c1ba5-ea6d-4c8b-a1fc-a0c1a175d36c.zip" scope="external"> ProcessServerInc.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.zip" scope="external"> Common.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.zip" scope="external"> Driver.zip</xref></p><p>Click the following links to view
-the example: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-76d97fc3-887f-495b-841a-3ae9de66dbf2.html" scope="peer"> browse ProcessClient </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4b308120-fd3c-484f-bc1c-36cd2b99cc4e.html" scope="peer"> browse ProcessServer </xref> </p><p>Click the following links
-to view additional files: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-d98c1ba5-ea6d-4c8b-a1fc-a0c1a175d36c.html" scope="peer"> browse ProcessServerInc </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.html" scope="peer"> browse Common </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.html" scope="peer"> browse Driver </xref></p><p><b>Thread Client and Server</b></p><p>Click
-the following links to download the example:</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-fc40328d-eede-4c14-86f3-3691c3db13b7.zip" scope="external"> ThreadClient.zip </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-81f8a0e6-2a4c-48b2-afeb-b385b4cdbb56.zip" scope="external"> ThreadServer.zip </xref></p><p>Click the following links
-to download additional files:</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e61faf57-e35c-4951-ac16-d55954810ba1.zip" scope="external">ThreadServerInc.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.zip" scope="external"> Driver.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-98e2a1ec-8beb-4a7c-a731-309d28afe815.zip" scope="external"> CommonInc.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.zip" scope="external"> Common.zip</xref></p><p>Click the following links to view
-the example: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-fc40328d-eede-4c14-86f3-3691c3db13b7.html" scope="peer">browse ThreadClient</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-81f8a0e6-2a4c-48b2-afeb-b385b4cdbb56.html" scope="peer">browse ThreadServer</xref></p><p>Click the following links to
-view additional files</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e61faf57-e35c-4951-ac16-d55954810ba1.html" scope="peer"> browse ThreadServerInc </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.html" scope="peer"> browse Driver</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-98e2a1ec-8beb-4a7c-a731-309d28afe815.html" scope="peer"> browse CommonInc</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.html" scope="peer"> browse Common</xref></p><p/> </section>
-<section id="GUID-FE0D7810-DBE0-51BC-B0CF-31A6EF605072"><title>Directories</title> <p><b>common</b> </p> <p>This
-directory contains code that is common to the process and thread servers.
-It implements the shut down server which checks the number of connected clients
-to the thread or process server. If this number is zero, then after a time
-delay, the thread/process server is terminated. The server is not terminated
-in the following cases: </p> <ul>
-<li id="GUID-F896C125-5ADA-5514-944C-DD24DA81CD41"><p>if the client tries
-to connect within the duration of the timer, then the shut down operation
-is cancelled and the server handles the client's request to connect. </p> </li>
-<li id="GUID-1A5D651C-50ED-5602-8274-7A73335904D2"><p>if the client tries
-to connect after the timer has expired but before the server shut down process
-has begun, then the process or thread server is stopped and restarted to handle
-the client's request to connect. </p> </li>
-</ul> <p><b>driver</b> </p> <p>Device drivers are DLLs that allow code to
-communicate with hardware. For more information about device drivers, see
-the <xref href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita">Device Driver Guide</xref>. </p> <p id="GUID-A8A82766-6132-5C2B-A98F-52C016D21D68"><b>ProcessClient</b> </p> <p>This
-directory implements a client DLL that starts the process server and creates
-a session with it. The client DLL provides an API to allow clients to request
-the server to load and unload the device driver. </p> <p id="GUID-52EF8BCD-FAD7-5DB8-9D93-2C6D76F0822A"><b>ProcessServer</b> </p> <p>This
-directory implements the process server class <codeph>CProcessServer</codeph>,
-which is derived from <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref>. It handles client requests
-to interact with the device drivers. It can have multiple clients connected
-at the same time. The device driver, server and client all have the <codeph>MultimediaDD</codeph> capability.
-Note that this is for demonstration purposes rather than because the code
-uses any Multimedia APIs. The session class <codeph>CProcessServerSession</codeph> implements
-a simple message queue to hold asynchronous requests. </p> <p id="GUID-49CB48EE-8614-5595-BD22-4C9E3BCC6495"><b>ThreadClient</b> </p> <p>This
-directory implements a client DLL that starts the thread server and creates
-a session within it. The client DLL provides an API to allow clients to request
-the server to load and unload the device driver. </p> <p id="GUID-7B61D8F8-E3D4-53E3-AC3D-AF0FD4E3E6A7"><b>ThreadServer</b> </p> <p>This
-directory implements the thread server class <codeph>CThreadServer</codeph>,
-which is derived from <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref>. An instance of the thread
-server runs in the same process as the client. The thread server handles client
-requests to interact with the device drivers. It can have multiple clients
-connected at the same time. The session class <codeph>CThreadServerSession</codeph> implements
-a simple message queue to hold asynchronous requests. </p> <p><b>test</b> </p> <p>This
-example directory contains a comprehensive test suite to test the process
-client and server and the thread client and server. </p> </section>
-<section id="GUID-44822F1F-BC2C-4B6E-AA86-367A02310F08"><title>Class summary</title><p> <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2 </apiname></xref><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2 </apiname></xref> <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase </apiname></xref>  <xref href="GUID-D7D422D3-65E5-378B-8F52-6485BC5603A0.dita"><apiname>RMessage2</apiname></xref> <xref href="GUID-78E0DEDD-C020-3174-AD0A-E4C18C4C9213.dita"><apiname>RMessagePtr2 </apiname></xref>  <xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita"><apiname>RProcess </apiname></xref> <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread </apiname></xref>  <xref href="GUID-6FBFA078-8253-3E24-B1F8-5F75E86C3066.dita"><apiname>RBusLogicalChannel </apiname></xref> <xref href="GUID-7616AA05-83E6-3989-AB9D-11AE01245BEB.dita"><apiname>DLogicalDevice</apiname></xref> <xref href="GUID-A3CC1D95-4681-3349-A67C-F113A614041D.dita"><apiname>DLogicalChannel </apiname></xref><xref href="GUID-A5484A7F-94B9-34C7-9F88-82B1BF516930.dita"><apiname> DPhysicalDevice</apiname></xref> </p></section>
-<section id="GUID-E1571EF9-7E34-400C-A372-BB3D449E4081"><title>Build</title> <p>Build
-the development and test code using the <codeph>abld build</codeph> command
-from <filepath>AdvancedClientServerExample\group</filepath> as described in <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">the Symbian platform
-build process</xref>. </p> <p>The <codeph>AdvancedClientServerExample</codeph> builds
-the following binaries in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for
-CodeWarrior): </p> <ul>
-<li id="GUID-A78174BF-DBF9-5ED6-944F-FD8216B94567"><p><b><filepath>driver1_ldd.ldd</filepath>.</b>  </p> </li>
-<li id="GUID-797DE4E5-10AE-5E9C-B040-94FAA639DAE3"><p> <b><filepath>driver1_pdd.pdd</filepath>.</b> </p> </li>
-<li id="GUID-FB3FC150-AF7F-5FA8-84ED-1A51886BBDF3"><p> <b><filepath>processclient.dll</filepath>,<filepath>threadclient.dll</filepath> and <filepath>threadserver.dll</filepath>. </b>,\</p> </li>
-<li id="GUID-1082E792-70D0-5656-AA39-696C42D09209"><p><b><filepath>processserver.exe</filepath>, <filepath>Te_ProcessClientServerTestSuite.exe</filepath> and <filepath>Te_ThreadClientServerTestSuite.exe</filepath>.</b> </p> </li>
-</ul> <p>After launching the <b><filepath>Te_ProcessClientServerTestSuite.exe</filepath></b> or <b><filepath>Te_ThreadClientServerTestSuite.exe</filepath></b> executable, depending on the emulator you are using, you may have to
-navigate away from the <b>application launcher/shell</b> screen to view the
-console. </p> </section>
-<section id="GUID-B233D2DE-D64F-422B-AB6E-E695B78450BA"><title>Running tests</title> <p>To
-run the tests, perform the following steps: </p><ul>
-<li><p>From the command prompt, change directory to <filepath>epoc32\release\winscw\udeb</filepath>.</p></li>
-<li><p>Run the following command:</p> <p><userinput>epoc</userinput> </p></li>
-<li><p>On the emulator, go to <codeph>eshell</codeph>. </p></li>
-<li><p>Run the following commands: </p><p><userinput>testexecute c:\testdata\scripts\te_processclientservertestsuite.script</userinput> </p><p><userinput>testexecute c:\testdata\scripts\te_threadclientservertestsuite.script</userinput> </p><p> <b>Note:</b> Test
-results are stored in the <filepath>epoc32\winscw\c\logs\testexecute</filepath> directory: </p></li>
-<li id="GUID-42BC1D4A-6605-5BCF-BD74-BB153DA2E9BE"><p> <b> Process server
-tests:</b> Refer to the <filepath>te_processclientservertestsuite.htm</filepath> file. </p> </li>
-<li id="GUID-AB747CEC-9E1F-5F1C-9682-A2A4F877396D"><p> <b>Thread server tests:</b> Refer
-to the <filepath>te_threadclientservertestsuite.htm</filepath> file. </p> </li>
-</ul> </section>
-</conbody><related-links>
-<link href="GUID-3786D8E6-17A9-52E4-A8DF-CFCDC3039854.dita"><linktext>Inter Process
-Communication</linktext></link>
-<link href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita"><linktext> Device Driver
-Guide</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5B9DE39D-61D0-51FF-948E-15691CD673B5" xml:lang="en"><title>AdvancedClientServerExample: Using Client/Server APIs</title><shortdesc>This example application demonstrates the use of client/server
+APIs using a logical device driver (LDD) and a physical device driver
+(PDD).</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-4A6D20D7-F28D-49AD-AF44-96FA26ED867A"><title>Introduction</title> <p> This example implements asynchronous as well as synchronous
+client requests to the server. This example also demonstrates a client
+and server running in separate processes and a client and server running
+in the same process. </p> <p>This example demonstrates the following: </p> <ul>
+<li id="GUID-D4A42C17-F34C-5745-85A2-8FCCEB7B2EEA"><p> <b>a server
+running its own process:</b> This is referred to in this document
+as the <i>process server</i>. The example also implements a DLL that
+provides an API to allow clients to request services from the process
+server. This client DLL is referred to as the <i>process client</i>. </p> </li>
+<li id="GUID-FB3B8745-BF31-5D0F-81AD-E04F23DBA188"><p> <b>a server
+and client running in a single process:</b> These are referred to
+as the <i>thread server</i> and <i>thread client</i>. </p> </li>
+<li id="GUID-7582867D-1D14-5ECC-85B9-59F4A4E9E1EE"><p> <b>a shut down
+server:</b> This terminates the process or thread server if it has
+no clients connected to it for 50 seconds. </p> </li>
+</ul> </section>
+<section id="GUID-3A1715FE-3F34-44FB-826F-E441FD724D01"><title>Download</title><p><b>Process Client and Server</b></p><p>Click the following links
+to download the example:</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-76d97fc3-887f-495b-841a-3ae9de66dbf2.zip" scope="external"> ProcessClient.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4b308120-fd3c-484f-bc1c-36cd2b99cc4e.zip" scope="external"> ProcessServer.zip</xref></p><p>Click the following
+links for additional files: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-d98c1ba5-ea6d-4c8b-a1fc-a0c1a175d36c.zip" scope="external"> ProcessServerInc.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.zip" scope="external"> Common.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.zip" scope="external"> Driver.zip</xref></p><p>Click the following links
+to view the example: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-76d97fc3-887f-495b-841a-3ae9de66dbf2.html" scope="peer"> browse ProcessClient </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4b308120-fd3c-484f-bc1c-36cd2b99cc4e.html" scope="peer"> browse ProcessServer </xref> </p><p>Click the following
+links to view additional files: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-d98c1ba5-ea6d-4c8b-a1fc-a0c1a175d36c.html" scope="peer"> browse ProcessServerInc </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.html" scope="peer"> browse Common </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.html" scope="peer"> browse Driver </xref></p><p><b>Thread Client and Server</b></p><p>Click the following links to download the example:</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-fc40328d-eede-4c14-86f3-3691c3db13b7.zip" scope="external"> ThreadClient.zip </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-81f8a0e6-2a4c-48b2-afeb-b385b4cdbb56.zip" scope="external"> ThreadServer.zip </xref></p><p>Click the following
+links to download additional files:</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e61faf57-e35c-4951-ac16-d55954810ba1.zip" scope="external">ThreadServerInc.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.zip" scope="external"> Driver.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-98e2a1ec-8beb-4a7c-a731-309d28afe815.zip" scope="external"> CommonInc.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.zip" scope="external"> Common.zip</xref></p><p>Click the following links
+to view the example: </p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-fc40328d-eede-4c14-86f3-3691c3db13b7.html" scope="peer">browse ThreadClient</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-81f8a0e6-2a4c-48b2-afeb-b385b4cdbb56.html" scope="peer">browse ThreadServer</xref></p><p>Click the following
+links to view additional files</p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e61faf57-e35c-4951-ac16-d55954810ba1.html" scope="peer"> browse ThreadServerInc </xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b5fa4b2f-acec-47e3-a0d7-f9187923e7b9.html" scope="peer"> browse Driver</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-98e2a1ec-8beb-4a7c-a731-309d28afe815.html" scope="peer"> browse CommonInc</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f8dabf02-68a2-40d9-8667-84dfa6dfd2ba.html" scope="peer"> browse Common</xref></p><p/> </section>
+<section id="GUID-FE0D7810-DBE0-51BC-B0CF-31A6EF605072"><title>Directories</title> <p><b>common</b> </p> <p>This directory contains code that is common
+to the process and thread servers. It implements the shut down server
+which checks the number of connected clients to the thread or process
+server. If this number is zero, then after a time delay, the thread/process
+server is terminated. The server is not terminated in the following
+cases: </p> <ul>
+<li id="GUID-F896C125-5ADA-5514-944C-DD24DA81CD41"><p>if the client
+tries to connect within the duration of the timer, then the shut down
+operation is cancelled and the server handles the client's request
+to connect. </p> </li>
+<li id="GUID-1A5D651C-50ED-5602-8274-7A73335904D2"><p>if the client
+tries to connect after the timer has expired but before the server
+shut down process has begun, then the process or thread server is
+stopped and restarted to handle the client's request to connect. </p> </li>
+</ul> <p><b>driver</b> </p> <p>Device drivers are DLLs that allow
+code to communicate with hardware. For more information about device
+drivers, see the <xref href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita">Device Driver Guide</xref>. </p> <p id="GUID-A8A82766-6132-5C2B-A98F-52C016D21D68"><b>ProcessClient</b> </p> <p>This directory implements a client DLL that starts the process
+server and creates a session with it. The client DLL provides an API
+to allow clients to request the server to load and unload the device
+driver. </p> <p id="GUID-52EF8BCD-FAD7-5DB8-9D93-2C6D76F0822A"><b>ProcessServer</b> </p> <p>This directory implements the process server
+class <codeph>CProcessServer</codeph>, which is derived from <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref>. It handles client requests to interact with the
+device drivers. It can have multiple clients connected at the same
+time. The device driver, server and client all have the <codeph>MultimediaDD</codeph> capability. Note that this is for demonstration purposes rather
+than because the code uses any Multimedia APIs. The session class <codeph>CProcessServerSession</codeph> implements a simple message queue
+to hold asynchronous requests. </p> <p id="GUID-49CB48EE-8614-5595-BD22-4C9E3BCC6495"><b>ThreadClient</b> </p> <p>This directory implements a client DLL that starts the thread
+server and creates a session within it. The client DLL provides an
+API to allow clients to request the server to load and unload the
+device driver. </p> <p id="GUID-7B61D8F8-E3D4-53E3-AC3D-AF0FD4E3E6A7"><b>ThreadServer</b> </p> <p>This directory implements the thread
+server class <codeph>CThreadServer</codeph>, which is derived from <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref>. An instance of the thread server runs in the
+same process as the client. The thread server handles client requests
+to interact with the device drivers. It can have multiple clients
+connected at the same time. The session class <codeph>CThreadServerSession</codeph> implements a simple message queue to hold asynchronous requests. </p> <p><b>test</b> </p> <p>This example directory contains a comprehensive
+test suite to test the process client and server and the thread client
+and server. </p> </section>
+<section id="GUID-44822F1F-BC2C-4B6E-AA86-367A02310F08"><title>Class
+summary</title><p> <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2 </apiname></xref><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2 </apiname></xref> <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase </apiname></xref>  <xref href="GUID-D7D422D3-65E5-378B-8F52-6485BC5603A0.dita"><apiname>RMessage2</apiname></xref> <xref href="GUID-78E0DEDD-C020-3174-AD0A-E4C18C4C9213.dita"><apiname>RMessagePtr2 </apiname></xref>  <xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita"><apiname>RProcess </apiname></xref> <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread </apiname></xref>  <xref href="GUID-6FBFA078-8253-3E24-B1F8-5F75E86C3066.dita"><apiname>RBusLogicalChannel </apiname></xref> <xref href="GUID-7616AA05-83E6-3989-AB9D-11AE01245BEB.dita"><apiname>DLogicalDevice</apiname></xref> <xref href="GUID-A3CC1D95-4681-3349-A67C-F113A614041D.dita"><apiname>DLogicalChannel </apiname></xref><xref href="GUID-A5484A7F-94B9-34C7-9F88-82B1BF516930.dita"><apiname> DPhysicalDevice</apiname></xref> </p></section>
+<section id="GUID-E1571EF9-7E34-400C-A372-BB3D449E4081"><title>Build</title> <p>Build the development and test code using the <codeph>abld build</codeph> command from <filepath>AdvancedClientServerExample\group</filepath>. </p> <p>The <codeph>AdvancedClientServerExample</codeph> builds the following binaries in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior): </p> <ul>
+<li id="GUID-A78174BF-DBF9-5ED6-944F-FD8216B94567"><p><b><filepath>driver1_ldd.ldd</filepath>.</b>  </p> </li>
+<li id="GUID-797DE4E5-10AE-5E9C-B040-94FAA639DAE3"><p> <b><filepath>driver1_pdd.pdd</filepath>.</b> </p> </li>
+<li id="GUID-FB3FC150-AF7F-5FA8-84ED-1A51886BBDF3"><p> <b><filepath>processclient.dll</filepath>,<filepath>threadclient.dll</filepath> and <filepath>threadserver.dll</filepath>. </b>,\</p> </li>
+<li id="GUID-1082E792-70D0-5656-AA39-696C42D09209"><p><b><filepath>processserver.exe</filepath>, <filepath>Te_ProcessClientServerTestSuite.exe</filepath> and <filepath>Te_ThreadClientServerTestSuite.exe</filepath>.</b> </p> </li>
+</ul> <p>After launching the <b><filepath>Te_ProcessClientServerTestSuite.exe</filepath></b> or <b><filepath>Te_ThreadClientServerTestSuite.exe</filepath></b> executable, depending on the emulator you are using, you may
+have to navigate away from the <b>application launcher/shell</b> screen
+to view the console. </p> </section>
+<section id="GUID-B233D2DE-D64F-422B-AB6E-E695B78450BA"><title>Running
+tests</title> <p>To run the tests, perform the following steps: </p><ul>
+<li><p>From the command prompt, change directory to <filepath>epoc32\release\winscw\udeb</filepath>.</p></li>
+<li><p>Run the following command:</p> <p><userinput>epoc</userinput> </p></li>
+<li><p>On the emulator, go to <codeph>eshell</codeph>. </p></li>
+<li><p>Run the following commands: </p><p><userinput>testexecute c:\testdata\scripts\te_processclientservertestsuite.script</userinput> </p><p><userinput>testexecute c:\testdata\scripts\te_threadclientservertestsuite.script</userinput> </p><p> <b>Note:</b> Test results are stored in the <filepath>epoc32\winscw\c\logs\testexecute</filepath> directory: </p></li>
+<li id="GUID-42BC1D4A-6605-5BCF-BD74-BB153DA2E9BE"><p> <b> Process
+server tests:</b> Refer to the <filepath>te_processclientservertestsuite.htm</filepath> file. </p> </li>
+<li id="GUID-AB747CEC-9E1F-5F1C-9682-A2A4F877396D"><p> <b>Thread server
+tests:</b> Refer to the <filepath>te_threadclientservertestsuite.htm</filepath> file. </p> </li>
+</ul> </section>
+</conbody><related-links>
+<link href="GUID-3786D8E6-17A9-52E4-A8DF-CFCDC3039854.dita"><linktext>Inter
+Process Communication</linktext></link>
+<link href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita"><linktext> Device
+Driver Guide</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5B9F25B5-5FE1-4E38-BC8D-A0273F458C36.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5B9F25B5-5FE1-4E38-BC8D-A0273F458C36.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 devices, the touch functionality of the component is disabled.</p>
 <fig id="GUID-B96EA28D-1BA7-4082-89C5-FD5E4549B0DB">
 <title>Discreet pop-up</title>
-<image href="GUID-EDC39EFF-B633-41DE-93A4-A52D2E7A4A64_d0e90175_href.jpg" placement="inline"/>
+<image href="GUID-EDC39EFF-B633-41DE-93A4-A52D2E7A4A64_d0e94373_href.jpg" placement="inline"/>
 </fig>
 <p>Based on the purpose of use, there are two types of discreet pop-ups:<ul>
 <li><p><b>Global discreet pop-ups</b> - displayed irrespective of the active
Binary file Symbian3/PDK/Source/GUID-5BABDDEC-1D81-5847-9ADB-65DF8E404BFA_d0e332479_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5BABDDEC-1D81-5847-9ADB-65DF8E404BFA_d0e338451_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5BB017AA-46AE-5461-9184-98CE7FA898B9_d0e603081_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5BB017AA-46AE-5461-9184-98CE7FA898B9_d0e630975_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5BCB7325-1755-5A66-99B5-6F5AE003D207_d0e276814_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5BCB7325-1755-5A66-99B5-6F5AE003D207_d0e282814_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5BD8EE4B-3149-4331-91E0-7813DF4994E1_d0e102291_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5BD8EE4B-3149-4331-91E0-7813DF4994E1_d0e106311_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,96 +9,84 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71" xml:lang="en"><title>condvar:
-Using Condition Variables</title><shortdesc>Examples that explains how to use condition variables. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71" xml:lang="en"><title>condvar: Using Condition Variables</title><shortdesc>Examples that explains how to use condition variables. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p/>
 <ul>
 <li id="GUID-7CD8220E-2844-5FCB-A9B4-9B188F95C6EE"><p><xref href="GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita#GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71/GUID-8209AA7E-0DFB-512D-9BEB-9063BA617BC5">condvarglobal</xref>  </p> </li>
 <li id="GUID-74DAFE22-039F-5647-B56E-6BB83B876DED"><p><xref href="GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita#GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71/GUID-8CF8C4E2-4D74-54C8-9601-97CC44B9C943">condvarlocal</xref>  </p> </li>
 </ul>
-<section id="GUID-8209AA7E-0DFB-512D-9BEB-9063BA617BC5"><title>condvarglobal</title> <p>This
-example shows the use of the global condition variable IPC mechanism. The
-scope of a global condition variable is inter-process. It can be shared by
-threads of any process in the system. </p> <p><b>Download</b> </p> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ddcb07c8-2646-4414-b33f-086f5758cbfe.zip" scope="external">condvarglobal .zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ddcb07c8-2646-4414-b33f-086f5758cbfe.html" scope="peer"> browse </xref> to view the example code</p><p><b>Class summary</b></p><p> <xref href="GUID-D16EF740-78E6-3D08-AE2F-AFA5E812FF2B.dita"><apiname>RCondVar </apiname></xref> <xref href="GUID-C0FEA3A0-7DD3-3B87-A919-CB973BC05766.dita"><apiname>RMutex </apiname></xref> <xref href="GUID-326A2F4D-0E99-31C0-A35D-E8BF45913F07.dita"><apiname>RChunk </apiname></xref> <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> </p> <p><b>Description</b> </p> <p>This
-example uses an adder and subtractor pattern to show the use of a global condition
-variable. Two processes, the adder and the subtractor, modify a shared variable
-by adding and subtracting random amounts. The condition variable ensures that
-the value remains within given limits, <codeph>KMaxValue</codeph> and <codeph>KMinValue</codeph>,
-by blocking one of the processes if the value crosses a warning threshold. </p> <p>The
-adder program creates a global shared memory chunk. It also creates a global
-mutex to control access to the chunk and a global condition variable to signal
-that the value in the chunk is '<codeph>ready for use</codeph>'. It then initialises
-the value in the chunk to zero and periodically tries to add a random value
-between 1 and 10 . If, having added a value, it finds that the value of the
-chunk is greater than <codeph>KUpperThreshold</codeph>, it waits for a signal
-from the condition variable before adding another value. </p> <p>The subtractor
-program periodically tries to subtract a random value between 1 and 10 from
-the global shared memory chunk. If, having subtracted a value, it finds that
-the value of the chunk is less than <codeph>KLowerThreshold</codeph>, it waits
-for a signal from the condition variable before subtracting another value. </p> <p><b>Design
-and implementation</b> </p> <fig id="GUID-1FAFB189-D2E4-5A05-8D8B-B3F7D28467FC">
-<image href="GUID-857A523E-E660-5AFA-98B1-3A5440A8372F_d0e351847_href.jpg" placement="inline"/>
-</fig> <p><b>Build</b> </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this example. The ConditionVariable
-example builds the following binary files in the standard location (<filepath>\epoc32\release\winscw\
+<section id="GUID-8209AA7E-0DFB-512D-9BEB-9063BA617BC5"><title>condvarglobal</title> <p>This example shows the use of the global condition variable IPC
+mechanism. The scope of a global condition variable is inter-process.
+It can be shared by threads of any process in the system. </p> <p><b>Download</b> </p> <p>Click on the following link to download the
+example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ddcb07c8-2646-4414-b33f-086f5758cbfe.zip" scope="external">condvarglobal .zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ddcb07c8-2646-4414-b33f-086f5758cbfe.html" scope="peer"> browse </xref> to view the example code</p><p><b>Class
+summary</b></p><p> <xref href="GUID-D16EF740-78E6-3D08-AE2F-AFA5E812FF2B.dita"><apiname>RCondVar </apiname></xref> <xref href="GUID-C0FEA3A0-7DD3-3B87-A919-CB973BC05766.dita"><apiname>RMutex </apiname></xref> <xref href="GUID-326A2F4D-0E99-31C0-A35D-E8BF45913F07.dita"><apiname>RChunk </apiname></xref> <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> </p> <p><b>Description</b> </p> <p>This example uses an adder and subtractor
+pattern to show the use of a global condition variable. Two processes,
+the adder and the subtractor, modify a shared variable by adding and
+subtracting random amounts. The condition variable ensures that the
+value remains within given limits, <codeph>KMaxValue</codeph> and <codeph>KMinValue</codeph>, by blocking one of the processes if the value
+crosses a warning threshold. </p> <p>The adder program creates a global
+shared memory chunk. It also creates a global mutex to control access
+to the chunk and a global condition variable to signal that the value
+in the chunk is '<codeph>ready for use</codeph>'. It then initialises
+the value in the chunk to zero and periodically tries to add a random
+value between 1 and 10 . If, having added a value, it finds that the
+value of the chunk is greater than <codeph>KUpperThreshold</codeph>, it waits for a signal from the condition variable before adding
+another value. </p> <p>The subtractor program periodically tries to
+subtract a random value between 1 and 10 from the global shared memory
+chunk. If, having subtracted a value, it finds that the value of the
+chunk is less than <codeph>KLowerThreshold</codeph>, it waits for
+a signal from the condition variable before subtracting another value. </p> <p><b>Design and implementation</b> </p> <fig id="GUID-1FAFB189-D2E4-5A05-8D8B-B3F7D28467FC">
+<image href="GUID-857A523E-E660-5AFA-98B1-3A5440A8372F_d0e357778_href.jpg" placement="inline"/>
+</fig> <p><b>Build</b> </p> <p>The ConditionVariable example builds
+the following binary files in the standard location (<filepath>\epoc32\release\winscw\
              &lt;build_variant&gt;</filepath>) for Carbide.c++. </p> <ul>
-<li id="GUID-A699F4AF-3A5F-5C24-83CB-1762348AA1D2"><p> <b>adder.exe:</b> Demonstrates
-the use of the global condition variable. It creates a global shared memory
-chunk and periodically adds random values to the chunk. </p> </li>
-<li id="GUID-30A5BE77-8F99-5206-AD42-51E843D0D3C2"><p> <b>subtractor.exe:</b> Demonstrates
-the use of the global condition variable. It periodically subtracts random
-values from the chunk created by <filepath>adder.exe</filepath>. </p> </li>
-</ul> <p><b>How to run the Example</b> </p> <p>To run the example, perform
-the following steps: </p> <ol id="GUID-312A1E16-C92B-5C33-9D80-83080412E657">
+<li id="GUID-A699F4AF-3A5F-5C24-83CB-1762348AA1D2"><p> <b>adder.exe:</b> Demonstrates the use of the global condition variable. It creates
+a global shared memory chunk and periodically adds random values to
+the chunk. </p> </li>
+<li id="GUID-30A5BE77-8F99-5206-AD42-51E843D0D3C2"><p> <b>subtractor.exe:</b> Demonstrates the use of the global condition variable. It periodically
+subtracts random values from the chunk created by <filepath>adder.exe</filepath>. </p> </li>
+</ul> <p><b>How to run the Example</b> </p> <p>To run the example,
+perform the following steps: </p> <ol id="GUID-312A1E16-C92B-5C33-9D80-83080412E657">
 <li id="GUID-E8E12006-8AAC-503D-B59A-F171092293F4"><p>Run <filepath>adder.exe</filepath>. </p> </li>
 <li id="GUID-C9F80A69-218F-5467-9DDE-FC5849753E95"><p>Run eshell. </p> </li>
-<li id="GUID-457E6D8F-A383-5CF6-BA6E-D98C8FAC20F4"><p>Run <filepath>subtract.exe</filepath> in
-your new eshell. </p> </li>
-<li id="GUID-122618AE-028B-5BF9-BB4B-4F95099EE839"><p>Switch between eshells
-by pressing <b>CTRL+ALT+SHIFT+T</b>. </p> </li>
-<li id="GUID-24CCA548-D350-53A7-9919-270EA0C71EC1"><p>To finish, stop each
-application by pressing any key. </p> </li>
+<li id="GUID-457E6D8F-A383-5CF6-BA6E-D98C8FAC20F4"><p>Run <filepath>subtract.exe</filepath> in your new eshell. </p> </li>
+<li id="GUID-122618AE-028B-5BF9-BB4B-4F95099EE839"><p>Switch between
+eshells by pressing <b>CTRL+ALT+SHIFT+T</b>. </p> </li>
+<li id="GUID-24CCA548-D350-53A7-9919-270EA0C71EC1"><p>To finish, stop
+each application by pressing any key. </p> </li>
 </ol> </section>
-<section id="GUID-8CF8C4E2-4D74-54C8-9601-97CC44B9C943"><title>condvarlocal</title> <p>This
-example shows the use of the local condition variable IPC mechanism. The scope
-of a local condition variable is intra-process. It can be shared by threads
-of the process that creates the condition variable. </p> <p><b>Download</b> </p> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-527239ad-3eff-4d62-a7fe-b7e43658dd2f.zip" scope="external">condvarlocal .zip </xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-527239ad-3eff-4d62-a7fe-b7e43658dd2f.html" scope="peer"> browse </xref> to view the example.</p> <p><b>Class summary</b></p><p> <xref href="GUID-C0FEA3A0-7DD3-3B87-A919-CB973BC05766.dita"><apiname>RMutex </apiname></xref><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread </apiname></xref>  <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic </apiname></xref> <xref href="GUID-D16EF740-78E6-3D08-AE2F-AFA5E812FF2B.dita"><apiname>RCondVar</apiname></xref></p> <p><b>Description</b> </p> <p>This
-example uses the producer and the consumer model to show the use of the local
-condition variable. </p> <p>The example creates two local threads: a producer
-and a consumer. The two threads share a buffer, which is an object of the <codeph>CQueue</codeph> class.
-The CQueue object creates a local condition variable using the <codeph>RCondVar::CreateLocal()</codeph> function.
-It also defines the methods to insert and remove a token from the queue. The <codeph>CQueue::Insert()</codeph> function
-inserts a token into the queue and signals the condition variable. The <codeph>CQueue::Remove()</codeph> function
-tries to remove a token from the queue. If the queue is empty, it must wait
-for a signal from the condition variable. </p> <p>An object of the <codeph>CProducer</codeph> class
-creates and calls the producer thread. The producer thread is called once
-every two seconds using an object of the <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> class.
-This thread inserts a token into the queue when it is called. It calls the <codeph>CQueue::Insert()</codeph> function
-on the shared <codeph>CQueue</codeph> object. </p> <p>An object of the <codeph>CConsumer</codeph> class
-creates and calls the consumer thread. The consumer thread is called once
-a second using an object of the <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> class. This thread
-removes a token from the queue when it is called. It calls the <codeph>CQueue::Remove()</codeph> function
-on the shared <codeph>CQueue</codeph> object. </p> <p>For more information,
-refer to <xref href="http://support.entegrity.com/private/doclib/docs/osfhtm/develop/appdev/Appde179.htm" scope="external">Condition Variables</xref>. </p> <p> <note> Symbian
-is not responsible for the content of external websites.</note>  </p> <p><b>Design
-and implementation</b> </p> <fig id="GUID-CA344322-0982-59C3-B93A-7A1F175728F3">
-<image href="GUID-CAB30473-7829-5F2E-9F45-A2344DEDFC35_d0e352049_href.jpg" placement="inline"/>
-</fig> <p><b>Build</b> </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this example. The ConditionVariable
-example builds the following binary files in the standard location (<filepath>\epoc32\release\winscw\
-             &lt;build_variant&gt;</filepath>) for Carbide.c++. </p> <p> <filepath>condvarlocal.exe</filepath>:
-Demonstrates the use of the local condition variable. </p> <p><b>How to run
-the Example</b> </p> <p>To run the example, perform the following steps: </p> <ol id="GUID-D07D5782-6A32-5552-B42B-7D2672F1C94F">
-<li id="GUID-CD0F5EAF-780F-5BC7-A216-2FE9CA3B284D"><p>Run <filepath>condvarlocal.exe</filepath>.
-The program calls the producer and the consumer threads periodically as shown
-in the description section. It also displays a menu. </p> </li>
-<li id="GUID-106E7D1D-4ECB-5FA2-A42C-CB1549F4811F"><p>Press <b>‘d’</b> to
-display the contents of the queue. </p> </li>
-<li id="GUID-AA9ABD22-E280-5F21-A1A1-F47FFAAC58F2"><p>Press <b>‘p’</b> to
-insert a token into the queue. </p> </li>
-<li id="GUID-96C5D556-0700-5632-80A1-E728C97A62C1"><p>Press any key to stop
-the program. </p> </li>
+<section id="GUID-8CF8C4E2-4D74-54C8-9601-97CC44B9C943"><title>condvarlocal</title> <p>This example shows the use of the local condition variable IPC
+mechanism. The scope of a local condition variable is intra-process.
+It can be shared by threads of the process that creates the condition
+variable. </p> <p><b>Download</b> </p> <p>Click on the following link
+to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-527239ad-3eff-4d62-a7fe-b7e43658dd2f.zip" scope="external">condvarlocal .zip </xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-527239ad-3eff-4d62-a7fe-b7e43658dd2f.html" scope="peer"> browse </xref> to view the example.</p> <p><b>Class
+summary</b></p><p> <xref href="GUID-C0FEA3A0-7DD3-3B87-A919-CB973BC05766.dita"><apiname>RMutex </apiname></xref><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread </apiname></xref>  <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic </apiname></xref> <xref href="GUID-D16EF740-78E6-3D08-AE2F-AFA5E812FF2B.dita"><apiname>RCondVar</apiname></xref></p> <p><b>Description</b> </p> <p>This example uses the producer and the
+consumer model to show the use of the local condition variable. </p> <p>The example creates two local threads: a producer and a consumer.
+The two threads share a buffer, which is an object of the <codeph>CQueue</codeph> class. The CQueue object creates a local condition
+variable using the <codeph>RCondVar::CreateLocal()</codeph> function.
+It also defines the methods to insert and remove a token from the
+queue. The <codeph>CQueue::Insert()</codeph> function inserts a token
+into the queue and signals the condition variable. The <codeph>CQueue::Remove()</codeph> function tries to remove a token from the queue. If the queue is
+empty, it must wait for a signal from the condition variable. </p> <p>An object of the <codeph>CProducer</codeph> class creates and
+calls the producer thread. The producer thread is called once every
+two seconds using an object of the <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> class.
+This thread inserts a token into the queue when it is called. It calls
+the <codeph>CQueue::Insert()</codeph> function on the shared <codeph>CQueue</codeph> object. </p> <p>An object of the <codeph>CConsumer</codeph> class creates and calls the consumer thread. The consumer thread
+is called once a second using an object of the <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> class. This thread removes a token from the queue when it is called.
+It calls the <codeph>CQueue::Remove()</codeph> function on the shared <codeph>CQueue</codeph> object. </p> <p>For more information, refer to <xref href="http://support.entegrity.com/private/doclib/docs/osfhtm/develop/appdev/Appde179.htm" scope="external">Condition Variables</xref>. </p> <p> <note> Symbian
+is not responsible for the content of external websites.</note>  </p> <p><b>Design and implementation</b> </p> <fig id="GUID-CA344322-0982-59C3-B93A-7A1F175728F3">
+<image href="GUID-CAB30473-7829-5F2E-9F45-A2344DEDFC35_d0e357977_href.jpg" placement="inline"/>
+</fig> <p><b>Build</b> </p> <p>The Symbian build process describes
+how to build this example. The ConditionVariable example builds the
+following binary files in the standard location (<filepath>\epoc32\release\winscw\
+             &lt;build_variant&gt;</filepath>) for Carbide.c++. </p> <p> <filepath>condvarlocal.exe</filepath>: Demonstrates the use of the
+local condition variable. </p> <p><b>How to run the Example</b> </p> <p>To run the example, perform the following steps: </p> <ol id="GUID-D07D5782-6A32-5552-B42B-7D2672F1C94F">
+<li id="GUID-CD0F5EAF-780F-5BC7-A216-2FE9CA3B284D"><p>Run <filepath>condvarlocal.exe</filepath>. The program calls the producer and the
+consumer threads periodically as shown in the description section.
+It also displays a menu. </p> </li>
+<li id="GUID-106E7D1D-4ECB-5FA2-A42C-CB1549F4811F"><p>Press <b>‘d’</b> to display the contents of the queue. </p> </li>
+<li id="GUID-AA9ABD22-E280-5F21-A1A1-F47FFAAC58F2"><p>Press <b>‘p’</b> to insert a token into the queue. </p> </li>
+<li id="GUID-96C5D556-0700-5632-80A1-E728C97A62C1"><p>Press any key
+to stop the program. </p> </li>
 </ol> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5C1EC237-EBC3-474D-B58D-502B82911DCA_d0e103581_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5C1EC237-EBC3-474D-B58D-502B82911DCA_d0e107601_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5C215C64-5D3D-5B65-A11F-BE6F8C306CF4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5C215C64-5D3D-5B65-A11F-BE6F8C306CF4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -79,4 +79,4 @@
 </codeblock> <p>The resource (<filepath>.rss</filepath>) file contains the XML file and the following information: </p> <ul><li id="GUID-ECADCF4D-C7B1-5F8F-861C-247682A61B41"><p> <codeph> dll_uid</codeph> and <codeph>implementation_uid</codeph>: These UIDs are supplied on request to <xref scope="external" href="http://www.symbiansigned.com">Symbian Signed</xref>. </p> <p> <b>Note</b>: These UIDs can be the same. </p> </li> <li id="GUID-CF722A1F-0FCE-5E12-9DD2-876C1DB776FD"><p> <codeph> interface_uid</codeph>: This must have the value <codeph>0x102010DD</codeph>. </p> </li> <li id="GUID-A9CF8349-9202-508A-83EA-48B0BDBDB147"><p> <codeph>default_data</codeph>: The application UID (without 0x). </p> </li> <li id="GUID-EB1AFAED-F5B6-591D-9412-9E240587ABB5"><p> <codeph> opaque_data</codeph>: The application capabilities in XML format. This field is empty if application capabilities are defined in the implementation. </p> </li> </ul> <section><title>Resolving the target client using CSIPResolvedClient</title> <p>The following illustration shows how the SIP Client Resolver subsystem resolves the target client implementation and requests the resolved client to connect to the SIP implementation. In this plan, the default resolution logic is applied. </p> <fig id="GUID-AF6C1C45-A5A0-56FF-BBFC-3635BF4F9AD1"><title>
              Call flow of resolving a target client implementation using
              CSIPResolvedClient 
-          </title> <image href="GUID-8E8F1999-4DE0-5CA0-9656-C54127FDB3D4_d0e552767_href.png" placement="inline"/></fig> <p>The following list describes how the target client is resolved using <xref href="GUID-F0E4FA44-A41C-3C6F-993E-39CED042A879.dita"><apiname>CSIPResolvedClient</apiname></xref>. </p> <ol id="GUID-3D917824-7288-5893-8FFB-C4C81D30BF79"><li id="GUID-D801505D-4B4F-503B-95F7-F0C412413F70"><p>The user receives a SIP request and the target client is defined using <xref href="GUID-F0E4FA44-A41C-3C6F-993E-39CED042A879.dita"><apiname>CSIPResolvedClient</apiname></xref>. </p> </li> <li id="GUID-6AE1B8B5-83AF-5346-9F6C-68DE86B08800"><p>The user requests the SIP Client Resolver API implementation for a channel UI to connect to the user. </p> </li> <li id="GUID-CBF6BEDC-6062-5E21-80C4-920303B6C3FC"><p>The user requests the target client to connect to SIP with the resolved UID if there is no connection with the resolved channel UID. </p> </li> <li id="GUID-6EEEBE30-C31B-5E7C-9F91-FEAC3D14A340"><p>The SIP Client Resolver API implementation starts the target client. </p> </li> </ol> </section> <section><title>See also</title> <p> <xref href="GUID-0D579DDC-0A8A-5CFA-8194-CAA955B65A57.dita">Example of a SIP client resolver plug-in</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-8E8F1999-4DE0-5CA0-9656-C54127FDB3D4_d0e560223_href.png" placement="inline"/></fig> <p>The following list describes how the target client is resolved using <xref href="GUID-F0E4FA44-A41C-3C6F-993E-39CED042A879.dita"><apiname>CSIPResolvedClient</apiname></xref>. </p> <ol id="GUID-3D917824-7288-5893-8FFB-C4C81D30BF79"><li id="GUID-D801505D-4B4F-503B-95F7-F0C412413F70"><p>The user receives a SIP request and the target client is defined using <xref href="GUID-F0E4FA44-A41C-3C6F-993E-39CED042A879.dita"><apiname>CSIPResolvedClient</apiname></xref>. </p> </li> <li id="GUID-6AE1B8B5-83AF-5346-9F6C-68DE86B08800"><p>The user requests the SIP Client Resolver API implementation for a channel UI to connect to the user. </p> </li> <li id="GUID-CBF6BEDC-6062-5E21-80C4-920303B6C3FC"><p>The user requests the target client to connect to SIP with the resolved UID if there is no connection with the resolved channel UID. </p> </li> <li id="GUID-6EEEBE30-C31B-5E7C-9F91-FEAC3D14A340"><p>The SIP Client Resolver API implementation starts the target client. </p> </li> </ol> </section> <section><title>See also</title> <p> <xref href="GUID-0D579DDC-0A8A-5CFA-8194-CAA955B65A57.dita">Example of a SIP client resolver plug-in</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5C52B6B9-546C-5152-A968-B91CB3D885A0_d0e550561_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5C52B6B9-546C-5152-A968-B91CB3D885A0_d0e558017_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-5C5A695C-A0BB-53C3-A20B-7C7F4DD718DF_d0e435599_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5C5A695C-A0BB-53C3-A20B-7C7F4DD718DF_d0e441444_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5C7F92F7-F3BC-4B00-A093-682AA6A26FFE_d0e92230_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5C7F92F7-F3BC-4B00-A093-682AA6A26FFE_d0e96428_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5CA933B9-7987-5DDE-AE12-B0D5AFD31451.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5CA933B9-7987-5DDE-AE12-B0D5AFD31451.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 PC: <xref href="GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita">Media Transfer
 Protocol (MTP)</xref> and OBEX. </p> <fig id="GUID-0E15DBE8-59F7-52F7-A423-FB4789B39C66">
 <title>              Backup and Restore Architecture            </title>
-<image href="GUID-CD350815-1387-5C46-9D80-905022A90D8A_d0e605026_href.jpg" placement="inline"/>
+<image href="GUID-CD350815-1387-5C46-9D80-905022A90D8A_d0e644188_href.jpg" placement="inline"/>
 </fig> <p> <b>Backup and restore using the MTP Backup and Restore Data Provider</b>  </p> <p>The
 Symbian platform includes a Backup and Restore Data Provider plug-in for data
 backup and restore over MTP. The plug-in is loaded by the MTP Framework when
--- a/Symbian3/PDK/Source/GUID-5CAF1B85-853F-5450-B79B-7E768DFA44EC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5CAF1B85-853F-5450-B79B-7E768DFA44EC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-5CAF1B85-853F-5450-B79B-7E768DFA44EC"><title>Bluetooth GPS PSY Configuration API Overview</title><shortdesc>This document describes the Bluetooth GPS PSY Configuration API and is aimed at application developers who want to create applications for managing a list of Bluetooth GPS devices. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>A developer can use the Bluetooth GPS PSY Configuration API to write an application to manage a list of Bluetooth GPS devices. The list of devices is in order of preference. When GPS position information is required, the Bluetooth GPS PSY reads the list and attempts to connect to the first device address listed. If the connection is unsuccessful, then the Bluetooth GPS PSY tries each device in the list, in the order in which they are specified, until a connection is made. If the end of the list is reached, the Bluetooth GPS PSY requests for another device (not on the list) to be selected via the client application. </p> <p>The Bluetooth GPS PSY Configuration API stores the list in its own repository. </p> </section> <section><title>Library details</title> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-663BCB64-5B5E-510E-95D3-8218CA45E3F6"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short description</entry> </row> </thead> <tbody><row><entry><p> <filepath>lbsbtgpsconfig.dll</filepath>  </p> </entry> <entry><p> <filepath>lbsbtgpsconfig.lib</filepath>  </p> </entry> <entry><p>The Configuration API for the Bluetooth GPS PSY. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architecture</title> <p>The following diagram shows the Bluetooth GPS PSY Configuration API class structure: </p> <fig id="GUID-E804C5A0-6F4E-5B96-AC66-AC8A28CBFEBE"><title>
              Figure 1. Bluetooth GPS PSY Configuration API Class Diagram 
-          </title> <image href="GUID-9C82D039-A561-5F29-B9CB-450FAF89F254_d0e462767_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Bluetooth GPS PSY Configuration API provides the following types of functions: </p> <p> <b>Querying</b>  </p> <p>The following functions return information about the preferred list: </p> <ul><li id="GUID-EDA1FDBF-4ACC-5AF0-8719-6FF225704289"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig::GetDeviceListL(RPointerArray&lt;TLbsBtGpsDeviceInfo&gt;&amp;)</apiname></xref> - returns the list of devices. </p> </li> <li id="GUID-DC60465C-C845-5C5A-A9DA-7041AA95C168"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig::GetDeviceCount(TInt&amp;)</apiname></xref> - returns the number of devices in the list. </p> </li> </ul> <p> <b>Configuring</b>  </p> <p>The following functions enable the preferred list to be configured: </p> <ul><li id="GUID-BA16501E-AAF6-5DE1-B845-99637FF9D071"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname> CLbsBtGpsConfig::AddDevice(const TBTDevAddr&amp;, TInt,
+          </title> <image href="GUID-9C82D039-A561-5F29-B9CB-450FAF89F254_d0e468612_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Bluetooth GPS PSY Configuration API provides the following types of functions: </p> <p> <b>Querying</b>  </p> <p>The following functions return information about the preferred list: </p> <ul><li id="GUID-EDA1FDBF-4ACC-5AF0-8719-6FF225704289"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig::GetDeviceListL(RPointerArray&lt;TLbsBtGpsDeviceInfo&gt;&amp;)</apiname></xref> - returns the list of devices. </p> </li> <li id="GUID-DC60465C-C845-5C5A-A9DA-7041AA95C168"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig::GetDeviceCount(TInt&amp;)</apiname></xref> - returns the number of devices in the list. </p> </li> </ul> <p> <b>Configuring</b>  </p> <p>The following functions enable the preferred list to be configured: </p> <ul><li id="GUID-BA16501E-AAF6-5DE1-B845-99637FF9D071"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname> CLbsBtGpsConfig::AddDevice(const TBTDevAddr&amp;, TInt,
                 TLbsBtGpsEntryKey&amp;)</apiname></xref> - adds a new device to the list, at a specified position. </p> </li> <li id="GUID-7782BDBF-C987-5A20-88E3-6AB4525503CB"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig::ReorderDevice(TLbsBtGpsEntryKey,
                 TInt)</apiname></xref> - moves a device to a new position in the list. </p> </li> <li id="GUID-5D7C39A5-1248-515E-B934-EFA1495F03C1"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>
                 CLbsBtGpsConfig::RemoveDevice(TLbsBtGpsEntryKey)</apiname></xref> - removes a device from the list. </p> </li> <li id="GUID-EA87912B-F6C4-5308-B6B0-312106D465A9"><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig::EmptyDeviceList()</apiname></xref> - removes all of the devices from the list. </p> </li> </ul> </section> <section><title>APIs</title> <p>The key classes of Bluetooth GPS PSY Configuration API are as follows: </p> <table id="GUID-8E10846E-FF2D-5A12-8F3C-2293FFF7E361"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>CLbsBtGpsConfig</apiname></xref>  </p> </entry> <entry><p>Enables client applications to manage the preferred list of Bluetooth GPS devices. </p> </entry> </row> <row><entry><p> <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita"><apiname>MLbsBtGpsConfigObserver</apiname></xref>  </p> </entry> <entry><p>Observer class that client applications can implement to receive notifications about changes to the list. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Using the Bluetooth GPS PSY Configuration API</title> <p>The following tutorials describe how to use the Bluetooth GPS PSY Configuration API: </p> <ul><li id="GUID-E942B878-0A81-55E2-A49A-FF084390DB42"><p><xref href="GUID-D9040B2E-C4C6-576C-A3B2-9F68E8FCE4A6.dita">Creating an Instance of the Bluetooth GPS PSY Configuration API</xref>  </p> </li> <li id="GUID-B77C6603-112F-568A-91C8-41D60BE9BF6B"><p><xref href="GUID-9619335F-7345-5C9B-BAF6-4C3D8172ECE6.dita">Adding a Device to the Start of the List</xref>  </p> </li> <li id="GUID-38395790-2E35-59C1-BAE7-DA1643202A85"><p><xref href="GUID-DEF5784C-FE4A-57FE-834D-3C4C0E179007.dita">Moving a Device to a New Position in the List</xref>  </p> </li> <li id="GUID-CBAF698E-BD3F-5A33-A40E-C500532D0918"><p><xref href="GUID-375CA8E2-DD7A-532A-88F0-004BFAB3F8DE.dita">Removing a Device from the List</xref>  </p> </li> <li id="GUID-8BCE828A-6541-5CD5-9917-43946DC406E7"><p><xref href="GUID-EE715BD5-3DCA-58A5-8A9E-9D29046749C4.dita">Retrieving the List of Devices</xref>  </p> </li> </ul> </section> </conbody><related-links><link href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita"><linktext>Bluetooth
--- a/Symbian3/PDK/Source/GUID-5CCF303A-B7D5-570D-9BE8-29DFBE184995.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5CCF303A-B7D5-570D-9BE8-29DFBE184995.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,87 +1,80 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5CCF303A-B7D5-570D-9BE8-29DFBE184995" xml:lang="en"><title>Porting
-Overview</title><shortdesc>This topic describes the typical steps that you will need to do
-to create a base port. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The easiest way to create a base port is to take the supplied template
-port and expand it to suit your own hardware configuration(s). The template
-port, is an outline, but working, framework that you can modify to suit your
-own hardware. </p>
-<p>The template port can be found under the <filepath>sf/os/kernelhwsrv/bsptemplate/</filepath> directory.
-For more information about the template port see <xref href="http://developer.symbian.org/wiki/index.php/Kernel_%26_Hardware_Services_Quick_Start.dita">Kernel &amp; Hardware Quick Start Guide</xref>.</p>
-<section id="GUID-F8897488-2A94-461D-AA11-7AC2BDA1D3C5"><title>Set up the environment</title> <p>The first thing to do is
-to set up your environment for building, downloading onto your hardware, and
-testing that the port works. </p> </section>
-<section id="GUID-124A8A3A-D114-4A68-9E9E-7062815A8717"><title>Build, download, and test the supplied template port</title> <p>As
-supplied, the template port is designed to boot on any hardware. It should
-boot successfully, but clearly, the system can do nothing more at this time.
-A successful boot shows that your build environment has been set up correctly. </p> </section>
-<section id="GUID-89940537-DA6E-4DE6-9133-74771EB15F6F"><title>Copy and rename the Template port</title> <p>When porting
-the base to a new platform, you will need to code and build the Variant. This
-provides those hardware dependent services required by the kernel. In nearly
-all ports, this is split into an ASSP DLL and a Variant DLL. We usually refer
-to the ASSP layer and the Variant layer. </p> <p>It is desirable that code
-that depends only on the properties of the ASSP be segregated from code that
-depends on details of the system outside the ASSP, so that multiple systems
-that use the same ASSP can share common code. </p> <p>For example, in the
-template reference port, the <filepath>..\template_assp\...</filepath> directory
-contains source code that contains the ASSP code, whereas the <filepath>...\template_variant\...</filepath> directory
-contains the code specific to the template board. </p> </section>
-<section id="GUID-B43B51BC-9ED4-4737-B738-182DBAF04C25"><title>Code the Bootstrap</title> <p>The bootstrap consists of several
-generic source and header files suppplied as part of Symbian platform, and
-a set of platform specific files. You need to create these platform specific
-files as part of a base port. </p> <p>For details, see <xref href="GUID-53944506-5CA2-52BA-8D5A-9EE72092612B.dita">Bootstrap</xref>. </p> <p>The
-updated port can then be built, downloaded and tested. </p> </section>
-<section id="GUID-699C7EE9-A65A-5431-B23D-C5BD80494C09"><title>Implement the
-interrupt dispatcher</title> <p>An interrupt is a condition that causes the
-CPU to suspend normal execution, enter interrupt handling state and jump to
-a section of code called an interrupt handler. The ASSP/variant part of the
-base port must implement an interrupt dispatcher class to manage interrupts. </p> <p>For
-details, see the <xref href="GUID-3C34724F-B476-5329-B0B1-6D5A34294979.dita">Interrupt
-Dispatcher Implementation Tutorial</xref>. </p> <p>The updated port can then
-be built, downloaded and tested. </p> </section>
-<section id="GUID-57F05EBC-310B-5288-B35E-CAA27E933590"><title>Implement the
-Asic class</title> <p>The Kernel requires that the ASSP/variant part of the
-base port provides an implementation of the <xref href="GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D.dita"><apiname>Asic</apiname></xref> interface.
-This defines a small number of hardware-specific functions that are used by
-the Kernel. </p> <p>For details, see the <xref href="GUID-E0DCBDCF-C056-53E5-A375-778327F848E4.dita#GUID-E0DCBDCF-C056-53E5-A375-778327F848E4/GUID-39010DA3-632A-5C27-92BF-9AA8B5966EAB">Asic
-Class Tutorial</xref>. </p> <p>The updated port can then be built, downloaded
-and tested. </p> </section>
-<section id="GUID-88B8F550-4E17-48FE-8A5A-1961E7F0642F"><title>Port the User-Side Hardware Abstraction (HAL)</title> <p>The
-User-Side Hardware Abstraction (HAL) component provides a simple interface
-for programs to read and set hardware-specific settings, for example, the
-display contrast. A base port must define the attributes that clients can
-use on a phone, and implement any functions that are required to get and set
-the attributes. </p> <p>For details, see <xref href="GUID-2D977A02-5928-5441-8AE7-42A722F2A4B8.dita#GUID-2D977A02-5928-5441-8AE7-42A722F2A4B8/GUID-4DA41221-40B9-5BC7-B2C6-7C6EB4522508">User-Side
-Hardware Abstraction</xref>. </p> </section>
-<section id="GUID-BB519F80-9BE3-4816-9C84-FDD5DE67B6D0"><title>Port the other drivers</title> <p>The remaining drivers can
-now be ported. Go and see: </p> <ul>
-<li id="GUID-6D6B4F23-9F27-5DBF-A0FB-9E48CCCAA4AF"><p><xref href="GUID-DF2F0439-AE1A-599C-91B9-6EF2177C3C7E.dita">DMA
-Framework</xref>  </p> </li>
-<li id="GUID-A0CF718D-29D3-5137-9964-40A5C179674D"><p><xref href="GUID-E081474F-6B17-5D2E-833B-E8177778577A.dita">Digitizer
-Driver</xref>  </p> </li>
-<li id="GUID-92D3BEC0-2BCD-51D1-9222-8214F9B6889E"><p><xref href="GUID-D048E187-6B1C-5A80-9CD0-89CD10688C6F.dita">Keyboard
-Driver</xref>  </p> </li>
-<li id="GUID-E9E1CE2D-B8F4-577F-99EB-A9622F302C2A"><p><xref href="GUID-8C22AF20-EE0E-5AD2-BEFD-FED5A7DBB09B.dita">LCD
-Extension</xref>  </p> </li>
-<li id="GUID-A59034CE-8742-5666-9585-0FD1A2DE30E7"><p> <xref href="GUID-5C223AD5-4676-58B4-B3A5-066F6B69AA4D.dita#GUID-5C223AD5-4676-58B4-B3A5-066F6B69AA4D/GUID-868866C8-E90C-5291-8732-BB4E86D6B43E">Local Media Subsystem</xref>   </p> </li>
-<li id="GUID-93D5D175-5493-55F2-B0C2-E1EEE852474D"><p><xref href="GUID-9540A82E-F83D-55F5-B441-868CF77468E9.dita">Media
-Drivers</xref>  </p> </li>
-<li id="GUID-85D744D4-81B2-55EC-B746-F3DF263B306D"><p><xref href="GUID-0C435514-EEC6-5660-BB5F-535790349632.dita">Power
-Management</xref>   </p> </li>
-<li id="GUID-9AD5A0B3-83F7-50DC-AB8D-BDE8830235FA"><p> <xref href="GUID-A04F46F8-1BA9-5A77-B455-59C67DD4AA36.dita#GUID-A04F46F8-1BA9-5A77-B455-59C67DD4AA36/GUID-2AC9DD85-20AB-5E41-B21C-A08300989531">Serial Port Driver</xref>   </p> </li>
-<li id="GUID-B9994028-8D4E-5752-8F84-018346EC617B"><p><xref href="GUID-1499E635-B6E3-51A0-AE38-ADF99FF86CD6.dita">Sound
-Driver</xref>   </p> </li>
-<li id="GUID-C69A5E75-E65B-51F7-AE89-22DC80AFB6F9"><xref href="GUID-AD195629-81CE-5E57-A59E-C67AACF7A2C2.dita">USB
-Client Driver Technology</xref><p>  </p> </li>
-</ul> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5CCF303A-B7D5-570D-9BE8-29DFBE184995" xml:lang="en"><title>Porting Overview</title><shortdesc>This topic describes the typical steps that you will need
+to do to create a base port. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The easiest way to create a base port is to take the supplied template
+port and expand it to suit your own hardware configuration(s). The
+template port, is an outline, but working, framework that you can
+modify to suit your own hardware. </p>
+<p>The template port can be found under the <filepath>sf/os/kernelhwsrv/bsptemplate/</filepath> directory. For more information about the template port see <xref href="http://developer.symbian.org/wiki/index.php/Kernel_%26_Hardware_Services_Quick_Start" scope="external">Kernel &amp; Hardware Quick Start Guide</xref>.</p>
+<section id="GUID-F8897488-2A94-461D-AA11-7AC2BDA1D3C5"><title>Set
+up the environment</title> <p>The first thing to do is to set up your
+environment for building, downloading onto your hardware, and testing
+that the port works. </p> </section>
+<section id="GUID-124A8A3A-D114-4A68-9E9E-7062815A8717"><title>Build,
+download, and test the supplied template port</title> <p>As supplied,
+the template port is designed to boot on any hardware. It should boot
+successfully, but clearly, the system can do nothing more at this
+time. A successful boot shows that your build environment has been
+set up correctly. </p> </section>
+<section id="GUID-89940537-DA6E-4DE6-9133-74771EB15F6F"><title>Copy
+and rename the Template port</title> <p>When porting the base to a
+new platform, you will need to code and build the Variant. This provides
+those hardware dependent services required by the kernel. In nearly
+all ports, this is split into an ASSP DLL and a Variant DLL. We usually
+refer to the ASSP layer and the Variant layer. </p> <p>It is desirable
+that code that depends only on the properties of the ASSP be segregated
+from code that depends on details of the system outside the ASSP,
+so that multiple systems that use the same ASSP can share common code. </p> <p>For example, in the template reference port, the <filepath>..\template_assp\...</filepath> directory contains source code that contains the ASSP code, whereas
+the <filepath>...\template_variant\...</filepath> directory contains
+the code specific to the template board. </p> </section>
+<section id="GUID-B43B51BC-9ED4-4737-B738-182DBAF04C25"><title>Code
+the Bootstrap</title> <p>The bootstrap consists of several generic
+source and header files suppplied as part of Symbian platform, and
+a set of platform specific files. You need to create these platform
+specific files as part of a base port. </p> <p>For details, see <xref href="GUID-53944506-5CA2-52BA-8D5A-9EE72092612B.dita">Bootstrap</xref>. </p> <p>The updated port can then be built, downloaded and tested. </p> </section>
+<section id="GUID-699C7EE9-A65A-5431-B23D-C5BD80494C09"><title>Implement
+the interrupt dispatcher</title> <p>An interrupt is a condition that
+causes the CPU to suspend normal execution, enter interrupt handling
+state and jump to a section of code called an interrupt handler. The
+ASSP/variant part of the base port must implement an interrupt dispatcher
+class to manage interrupts. </p> <p>For details, see the <xref href="GUID-3C34724F-B476-5329-B0B1-6D5A34294979.dita">Interrupt Dispatcher
+Implementation Tutorial</xref>. </p> <p>The updated port can then
+be built, downloaded and tested. </p> </section>
+<section id="GUID-57F05EBC-310B-5288-B35E-CAA27E933590"><title>Implement
+the Asic class</title> <p>The Kernel requires that the ASSP/variant
+part of the base port provides an implementation of the <xref href="GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D.dita"><apiname>Asic</apiname></xref> interface. This defines a small number of hardware-specific functions
+that are used by the Kernel. </p> <p>For details, see the <xref href="GUID-E0DCBDCF-C056-53E5-A375-778327F848E4.dita#GUID-E0DCBDCF-C056-53E5-A375-778327F848E4/GUID-39010DA3-632A-5C27-92BF-9AA8B5966EAB">Asic Class Tutorial</xref>. </p> <p>The updated port can then be
+built, downloaded and tested. </p> </section>
+<section id="GUID-88B8F550-4E17-48FE-8A5A-1961E7F0642F"><title>Port
+the User-Side Hardware Abstraction (HAL)</title> <p>The User-Side
+Hardware Abstraction (HAL) component provides a simple interface for
+programs to read and set hardware-specific settings, for example,
+the display contrast. A base port must define the attributes that
+clients can use on a phone, and implement any functions that are required
+to get and set the attributes. </p> <p>For details, see <xref href="GUID-2D977A02-5928-5441-8AE7-42A722F2A4B8.dita#GUID-2D977A02-5928-5441-8AE7-42A722F2A4B8/GUID-4DA41221-40B9-5BC7-B2C6-7C6EB4522508">User-Side Hardware Abstraction</xref>. </p> </section>
+<section id="GUID-BB519F80-9BE3-4816-9C84-FDD5DE67B6D0"><title>Port
+the other drivers</title> <p>The remaining drivers can now be ported.
+Go and see: </p> <ul>
+<li id="GUID-6D6B4F23-9F27-5DBF-A0FB-9E48CCCAA4AF"><p><xref href="GUID-DF2F0439-AE1A-599C-91B9-6EF2177C3C7E.dita">DMA Framework</xref>  </p> </li>
+<li id="GUID-A0CF718D-29D3-5137-9964-40A5C179674D"><p><xref href="GUID-E081474F-6B17-5D2E-833B-E8177778577A.dita">Digitizer Driver</xref>  </p> </li>
+<li id="GUID-92D3BEC0-2BCD-51D1-9222-8214F9B6889E"><p><xref href="GUID-D048E187-6B1C-5A80-9CD0-89CD10688C6F.dita">Keyboard Driver</xref>  </p> </li>
+<li id="GUID-E9E1CE2D-B8F4-577F-99EB-A9622F302C2A"><p><xref href="GUID-8C22AF20-EE0E-5AD2-BEFD-FED5A7DBB09B.dita">LCD Extension</xref>  </p> </li>
+<li id="GUID-A59034CE-8742-5666-9585-0FD1A2DE30E7"><p> <xref href="GUID-5C223AD5-4676-58B4-B3A5-066F6B69AA4D.dita#GUID-5C223AD5-4676-58B4-B3A5-066F6B69AA4D/GUID-868866C8-E90C-5291-8732-BB4E86D6B43E">Local Media Subsystem</xref>   </p> </li>
+<li id="GUID-93D5D175-5493-55F2-B0C2-E1EEE852474D"><p><xref href="GUID-9540A82E-F83D-55F5-B441-868CF77468E9.dita">Media Drivers</xref>  </p> </li>
+<li id="GUID-85D744D4-81B2-55EC-B746-F3DF263B306D"><p><xref href="GUID-0C435514-EEC6-5660-BB5F-535790349632.dita">Power Management</xref>   </p> </li>
+<li id="GUID-9AD5A0B3-83F7-50DC-AB8D-BDE8830235FA"><p> <xref href="GUID-A04F46F8-1BA9-5A77-B455-59C67DD4AA36.dita#GUID-A04F46F8-1BA9-5A77-B455-59C67DD4AA36/GUID-2AC9DD85-20AB-5E41-B21C-A08300989531">Serial Port Driver</xref>   </p> </li>
+<li id="GUID-B9994028-8D4E-5752-8F84-018346EC617B"><p><xref href="GUID-1499E635-B6E3-51A0-AE38-ADF99FF86CD6.dita">Sound Driver</xref>   </p> </li>
+<li id="GUID-C69A5E75-E65B-51F7-AE89-22DC80AFB6F9"><xref href="GUID-AD195629-81CE-5E57-A59E-C67AACF7A2C2.dita">USB Client Driver
+Technology</xref><p>  </p> </li>
+</ul> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5CF162CA-4395-58AC-A318-2BF178276A57_d0e296428_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5CF162CA-4395-58AC-A318-2BF178276A57_d0e302420_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5D4DA7CA-DAB8-51E6-B597-4E8B0AB56477.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5D4DA7CA-DAB8-51E6-B597-4E8B0AB56477"><title>target</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>target</codeph>  <varname>filename</varname> <codeph>.</codeph> <varname>ext</varname> </p> <p>Use the <codeph>target</codeph> statement to specify the file generated by the project.</p> <p>Specify only the filename with its extension. The path for the released target will be chosen depending on the platform, variant, and release path.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,50 +1,48 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE reference
-  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99" xml:lang="en"><title>PKG
-file format to support multilingual application installation</title><abstract><p>Symbian platform applications can be localized by defining all
-the localizable text and images in language-specific resource and icon files.
-For more information on localising the resource files, see <xref href="GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita">How
-to localise resources</xref>. The PKG file must contain <xref href="GUID-9D5F3B5E-37FB-5156-808B-F92519412A7F.dita">language-specific
-resource and icon files</xref> along with the elements required for simple
-installation. </p></abstract><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section>  <title>Example</title>     <p>The following PKG file is provided
-in <filepath>examples\ToolsAndUtilities\Localise\</filepath>. </p> <codeblock id="GUID-D47FB4EB-939E-5065-B9E3-1AD9E53A0EF4" xml:space="preserve">; Install file for multi-lingual application supporting two language variants
-
-; List of languages supported 
-&amp;EN,GE
-
-; List of localised vendor names for each supported language
-%{"Nokia Corporation", "Nokia Corporation"}
-
-; Single, non-localised (global) vendor name.
-:"Nokia Corporation"
-
-; Package header
-; Component names specified in English and German as these are supported languages
-#{"Hello World", "Hallo Welt"}, (0xE8000096), 1,0,0
-
-; Language-neutral files to be installed irrespective of the languages supported on the Symbian device. 
-          
-"HelloWorld.exe"-"!:\sys\bin\HelloWorld.exe"
-"HelloWorld_reg.rsc" - "!:\private\10003a3f\import\apps\HelloWorld_reg.rsc"
-
-; List of language-specific files; installed based on the language supported by the Symbian device.
-if supported_language=01 
-    "HelloWorld.r01"        -"!:\resource\apps\HelloWorld.r01" ;English version of the resource file
-    "HelloWorld01.mbm"        -"!:\resource\apps\HelloWorld01.mbm" ;language-specific icon file
-endif
-
-if supported_language=03
-    "HelloWorld.r03"        -"!:\resource\apps\HelloWorld.r03" ;German version of the resource file
-    "HelloWorld03.mbm"        -"!:\resource\apps\HelloWorld03.mbm" ;language-specific icon file
-endif</codeblock>     </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference id="GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99" xml:lang="en"><title>PKG file format to support multilingual application installation</title><abstract><p>Symbian platform applications can be localized by defining
+all the localizable text and images in language-specific resource
+and icon files. The PKG file must contain <xref href="GUID-9D5F3B5E-37FB-5156-808B-F92519412A7F.dita">language-specific
+resource and icon files</xref> along with the elements required for
+simple installation. </p></abstract><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-570AF2FA-A5A2-4927-A12C-B86B71C3F1C7">  <title>Example</title>     <p>The following PKG file is
+provided in <filepath>examples\ToolsAndUtilities\Localise\</filepath>. </p> <codeblock id="GUID-D47FB4EB-939E-5065-B9E3-1AD9E53A0EF4" xml:space="preserve">; Install file for multi-lingual application supporting two language variants
+
+; List of languages supported 
+&amp;EN,GE
+
+; List of localised vendor names for each supported language
+%{"Nokia Corporation", "Nokia Corporation"}
+
+; Single, non-localised (global) vendor name.
+:"Nokia Corporation"
+
+; Package header
+; Component names specified in English and German as these are supported languages
+#{"Hello World", "Hallo Welt"}, (0xE8000096), 1,0,0
+
+; Language-neutral files to be installed irrespective of the languages supported on the Symbian device. 
+          
+"HelloWorld.exe"-"!:\sys\bin\HelloWorld.exe"
+"HelloWorld_reg.rsc" - "!:\private\10003a3f\import\apps\HelloWorld_reg.rsc"
+
+; List of language-specific files; installed based on the language supported by the Symbian device.
+if supported_language=01 
+    "HelloWorld.r01"        -"!:\resource\apps\HelloWorld.r01" ;English version of the resource file
+    "HelloWorld01.mbm"        -"!:\resource\apps\HelloWorld01.mbm" ;language-specific icon file
+endif
+
+if supported_language=03
+    "HelloWorld.r03"        -"!:\resource\apps\HelloWorld.r03" ;German version of the resource file
+    "HelloWorld03.mbm"        -"!:\resource\apps\HelloWorld03.mbm" ;language-specific icon file
+endif</codeblock>     </section>
 </refbody></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5D5CCF46-0FB4-57DA-B32D-C2C7F86FAD30_d0e449930_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5D5CCF46-0FB4-57DA-B32D-C2C7F86FAD30_d0e455775_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5D712F4A-E956-543D-BCC0-91107C6E4717.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5D712F4A-E956-543D-BCC0-91107C6E4717.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5D712F4A-E956-543D-BCC0-91107C6E4717"><title>Notification of changes to the comms database</title><shortdesc>This topic describes the mechanism that allows the CommsDat API to notify tools and applications of changes to the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <p>All elements that you can read and write have the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> as a base class. This base class contains the functions that allow the CommsDat API to notify tools and applicaions of changes to the database. </p> <p>Tables, records, links and fields are all elements. The classes that represent tables, records, links and fields have <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> in their class hierearchy. You can use the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CommsDat::MMetaDatabase::RequestNotification()</apiname></xref> function to register for notification of changes to the Comms Database. You can use the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CommsDat::MMetaDatabase::CancelNotification()</apiname></xref> function to cancel a request for notification. </p> <fig id="GUID-81B08072-AFE0-50FC-8A19-AF37E0A246EB"><image href="GUID-B48F7684-76E6-51C1-B85A-08A1F1EBD807_d0e110825_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-5D712F4A-E956-543D-BCC0-91107C6E4717"><title>Notification of changes to the comms database</title><shortdesc>This topic describes the mechanism that allows the CommsDat API to notify tools and applications of changes to the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <p>All elements that you can read and write have the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> as a base class. This base class contains the functions that allow the CommsDat API to notify tools and applicaions of changes to the database. </p> <p>Tables, records, links and fields are all elements. The classes that represent tables, records, links and fields have <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> in their class hierearchy. You can use the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CommsDat::MMetaDatabase::RequestNotification()</apiname></xref> function to register for notification of changes to the Comms Database. You can use the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CommsDat::MMetaDatabase::CancelNotification()</apiname></xref> function to cancel a request for notification. </p> <fig id="GUID-81B08072-AFE0-50FC-8A19-AF37E0A246EB"><image href="GUID-B48F7684-76E6-51C1-B85A-08A1F1EBD807_d0e113248_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5D831531-2430-4C61-B8C4-BEE9850387C2_d0e65837_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5D831531-2430-4C61-B8C4-BEE9850387C2_d0e70060_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5DB0F7C7-6132-552B-BA42-B47D267D1143_d0e76911_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5DB0F7C7-6132-552B-BA42-B47D267D1143_d0e81124_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,15 +12,15 @@
 <concept xml:lang="en" id="GUID-5DD17088-1F9C-5810-8143-5067A2B18330"><title>A-GPS Location Data Source API</title><shortdesc>This document describes the A-GPS Location Data Source API that device creators use to integrate with A-GPS hardware. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes the A-GPS (Assisted GPS) Location Data Source API that a licensee's GPS/A-GPS Integration Module must implement to integrate GPS hardware with the LBS subsystem. It is intended to give licensee Integration Module writers an understanding of the API, how it is called by the LBS subsystem and the behaviour expected from Integration Modules. </p> <p>This document contains links to A-GPS Location Data Source API reference documentation that can be followed to obtain full descriptions of API classes and methods. </p> </section> <section><title>Contents</title> <ul><li id="GUID-30D3903B-3AD2-5BFF-9372-141501AF8F4A"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-1F7525B3-0A1F-5B01-87D9-153E855F59E1">Introduction</xref>  </p> </li> <li id="GUID-4A49C11E-C2FE-5436-8910-650336BEFD45"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-0A902E30-86FE-5E97-98DE-AAA181A784E8">GPS modes</xref>  </p> </li> <li id="GUID-8C334B9A-DE46-5254-9054-B2E9B20B6D6E"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-D923FAFA-AFFA-53B6-921C-100A14B720E3">A-GPS Location Data Source API description</xref>  </p> </li> <li id="GUID-7914AC04-0AD0-52B7-8ECA-03FA6BD9FD99"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-1BAF7733-25E1-53A7-AEE7-61B9EC2DA540">Using the A-GPS Location Data Source API</xref> </p> <ul><li id="GUID-8A63B20C-3AD8-59DB-B9CC-31580EB20E86"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-A9D4C00D-37A3-544F-B9E0-6A5176ABD8C7">LBS loads the A-GPS Integration Module</xref>  </p> </li> <li id="GUID-58E72E3B-5BBC-5463-BC6B-B004C45E9059"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324">LBS sets GPS options (including the GPS mode)</xref>  </p> </li> <li id="GUID-2DDBF855-FF3F-53E1-AC2D-9CAED5DB6115"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-F4A152A0-82D5-52C1-9640-535B62088CDF">LBS sends power advice</xref>  </p> </li> <li id="GUID-F57A9877-2786-504F-97C8-9564DF952877"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B661DC32-76A0-570D-B6B6-B0C69712C427">LBS requests location update</xref>  </p> </li> <li id="GUID-A8967BB1-0C27-5DE7-B7DA-F42B1DFD56D4"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-23A6EF21-DF43-5894-8159-27442A6828C6">Module requests assistance data</xref>  </p> </li> <li id="GUID-7B0906BC-24D7-5948-A01E-3C3374F6A913"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-4820CF1C-DE98-5CC1-9A0E-72C5874A28D0">LBS notifies the A-GPS Integration Module of assistance data availability</xref>  </p> </li> <li id="GUID-0DB2D9A5-3CB4-5461-B3A8-6E0B026B5722"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-9FEAEAA5-1555-5ADC-AF92-DC2C1BF00278">Module retrieves A-GPS assistance data items</xref>  </p> </li> <li id="GUID-5BB24321-02EF-537D-88C3-F11BB85AAEA7"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B3949496-29ED-55B6-BB2F-25BA85CC662E">Module notifies LBS of a location update</xref>  </p> </li> <li id="GUID-2725FBBD-7411-5B87-A030-293EF0E3E19C"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-84D16C45-7ABC-5701-9E02-AF5EEFB34565">Cancelling a location update request</xref>  </p> </li> <li id="GUID-203BDAD2-F575-56AD-8750-4968BFB783C3"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-906DA81C-CB41-58C4-8CA1-79552404B5B4">Resetting A-GPS assistance data</xref>  </p> </li> <li id="GUID-2CC29D5D-7F93-582E-9D96-D0234ED48D6B"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-6FFF6FDB-1A8F-5503-9F0E-D31B7F21CD12">GPS hardware device status changes and quality status changes</xref>  </p> </li> </ul> </li> <li id="GUID-F3264B23-2842-54A8-8AD6-6146A3752A8D"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-1F7525B3-0A1F-5B01-87D9-153E855F59E1">Integration module configuration</xref>  </p> </li> <li id="GUID-D58188A6-8B54-5A76-9597-C0F747263A08"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-8C81482A-AB8E-5040-9D4A-3EB784765ACB">See also</xref>  </p> </li> </ul> </section> <section id="GUID-1F7525B3-0A1F-5B01-87D9-153E855F59E1"><title>Introduction</title> <p>Licensees who want to use GPS technology in their phones must integrate the GPS hardware with the LBS subsystem. To do this they must create a GPS or A-GPS (Assisted GPS) Integration Module. An Integration Module provides the adaptation layer between the LBS subsystem and the GPS hardware. It is an ECOM plug-in that is loaded by the LBS subsystem A-GPS Location Manager on start-up. </p> <p>This document describes the A-GPS Location Data Source API. The API defines the interface between the LBS subsystem and an Integration Module. Symbian provides a reference implementation of an A-GPS Integration Module based on a SiRF chipset. Licensees can use the Symbian reference implementation as the basis of their own A-GPS Integration Module (see <xref href="GUID-8A77545C-3AB8-538B-868E-4F2111E767EF.dita">A-GPS reference module overview</xref> for more information). </p> <p>For a high-level description of LBS architecture, see <xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS architecture overview</xref>. For a more detailed explanation of the architecture see <filepath>SGL.TS0004.202
           LBS Architectural Description </filepath> (in the LBS source distribution documentation folder). </p> </section> <section id="GUID-0A902E30-86FE-5E97-98DE-AAA181A784E8"><title> GPS modes</title> <p>Different GPS hardware chipsets may support different GPS capabilities: hardware may produce GPS position fixes (latitude, longitude and altitude data) or, more simply, GPS measurements that must be used by software outside of the GPS hardware to calculate a position fix. </p> <p>The four GPS modes supported by the LBS subsystem are: </p> <ul><li id="GUID-01F89630-7BB6-5229-BE0C-AA28622C8025"><p> <b>Autonomous mode</b>  </p> <p>In <i>autonomous mode</i> GPS hardware calculates a position fix without using assistance data from the network. This typically takes longer than if assistance data were used to calculate the fix. </p> </li> <li id="GUID-98D9B182-4225-572F-B5A8-C256DE5D1CDB"><p> <b>Terminal based mode</b> (TB) </p> <p>In <i>terminal based mode</i> the Integration Module and GPS hardware use assistance data received from the network to calculate a GPS position fix and return it to the LBS subsystem. </p> </li> <li id="GUID-3642B59E-8152-5A29-B624-EDAF1D186D0B"><p> <b>Terminal assisted mode</b> (TA) </p> <p>In <i>terminal assisted mode</i>, the GPS hardware produces GPS measurements (with the help of assistance data from the network). </p> <p>In the Symbian LBS subsystem the Integration Module returns the GPS measurements which are sent to a network-based server. The measurements are used to calculate a position fix. </p> </li> <li id="GUID-58D818F1-B865-5ED3-8575-91B1768BC7F8"><p> <b>Simultaneous support of TB + TA modes</b>  </p> <p>GPS hardware may be able to return both GPS measurements and position fixes. An Integration Module can return the GPS measurements as they are received from GPS satellites together with GPS position fixes that are increasingly complete and/or accurate. </p> <p>As in TA mode, the LBS subsystem returns the GPS measurements to the network for calculation. Either the network of the Integration Module may be the first to return a position of the required accuracy (as specified by a client process). </p> </li> </ul> <p>Licensees can implement their Integration Modules to support more than one GPS mode. A module may support terminal based mode with the ability to fallback to autonomous mode if assistance data is not available. A module may also be designed to support either TB or TA, but not TB + TA. </p> <p>An Integration Module publishes the GPS mode it supports in a configuration file. LBS uses the configuration file, the LBS subsystem administration settings and any preferences received from the network to set the GPS mode that an Integration Module uses to calculate a position fix. Later sections of this document describe how LBS sets an Integration Module's GPS mode. </p> </section> <section id="GUID-D923FAFA-AFFA-53B6-921C-100A14B720E3"><title>A-GPS Location Data Source API description</title> <p>This section describes the classes of the A-GPS Location Data Source API. </p> <p><b>A-GPS Location Data Source API class diagram </b> </p> <p>Figure 1 shows the classes of the A-GPS Location Data Source API. </p> <p>The main classes of the API are <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita"><apiname>CLbsLocationSourceGpsBase</apiname></xref> and <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref> which together model an observer/observable design pattern. A licensee's Integration Module must derive from <codeph>CLbsLocationSourceGpsBase</codeph>. The LBS subsystem (A-GPS Location Manager) implements <codeph>MLbsLocationSourceGpsObserver</codeph>. </p> <p> <b>Note: All of the methods of the CLbsLocationSourceGpsBase are synchronous and their implementations in a licensee Integration Module must return quickly.</b>  </p> <fig id="GUID-FCB831B6-D0EA-5B04-BF4C-281017287721"><title>
              Figure 1. A-GPS Location Data Source API classes 
-          </title> <image href="GUID-905EA9A9-C72C-5632-A95E-B4ED0BD10316_d0e443688_href.png" placement="inline"/></fig> <p><b>API classes and types </b> </p> <p>Table 1 lists the classes and types that define the A-GPS Location Data Source API. Further details about the classes can be found by following the links to reference documentation. </p> <p>The A-GPS Location Data Source API has <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-03DE9669-4C08-5B9D-B900-C831DEAC2E05"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita"><apiname>CLbsLocationSourceGpsBase</apiname></xref>  </p> </entry> <entry><p>The base class for all A-GPS Integration Module implementations. It defines the methods that the LBS subsystem uses to request GPS measurements or a GPS position fix, to set the mode of operation of the GPS hardware and to send power advice. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref>  </p> </entry> <entry><p>The GPS Integration Module observer class implemented by the LBS subsystem (A-GPS Location Manager). It defines the methods that an A-GPS module uses to request assistance data, return GPS measurements or a position fix, and send module status messages into LBS. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-4FDB2D40-8212-303B-9039-EAEDE14627FC"><apiname>CLbsLocationSourceGpsBase::TPowerMode</apiname></xref>  </p> </entry> <entry><p>Defines a set of values for power advice. A value is a parameter in <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-E676384E-6528-3A63-A6FC-8CED25C0976E"><apiname>CLbsLocationSourceGpsBase::AdvisePowerMode()</apiname></xref>. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-B5C832B0-93B1-30F2-B549-E468CB5A13B7.dita"><apiname> TLbsLocRequestQuality</apiname></xref>  </p> </entry> <entry><p>Specifies the desired quality of a location request. <codeph>TLbsLocRequestQuality</codeph> is used to specify the desired quality of a location request to an Integration Module. A reference to an object of this type is passed to <xref href="GUID-14FCF07F-EF83-3D71-8598-503FF1530589.dita#GUID-14FCF07F-EF83-3D71-8598-503FF1530589/GUID-964C3C84-7CB4-316B-8B1D-892FC36FECE6"><apiname>CLbsLocationSourceBase::UpdateLocation()</apiname></xref>. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita"><apiname> TLbsGpsOptions</apiname></xref>  </p> </entry> <entry><p>This is the default class used to hold various global settings for the GPS integration module including the GPS positioning mode required. It has the method <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita#GUID-B0986288-97BA-35FE-B35B-04DDAE079B76/GUID-0F539830-ECFE-3CE2-AC56-DB2A196E7CED"><apiname>TLbsGpsOptions::SetGpsMode()</apiname></xref> that is used to set the GPS positioning mode of the module (such as terminal based or terminal assisted mode). </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-2CCCF864-C56B-3E82-85FF-5675340BD355.dita"><apiname> TLbsGpsOptionsItem</apiname></xref> (from v9.3) </p> </entry> <entry><p>An item in a <xref href="GUID-333F10FF-C647-3A07-9EFA-B1A2CF0B96C1.dita"><apiname>TLbsGpsOptionsArray</apiname></xref>. The item specifies the type of update required from a module - a position fix or a set of GPS measurements or both. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-333F10FF-C647-3A07-9EFA-B1A2CF0B96C1.dita"><apiname> TLbsGpsOptionsArray</apiname></xref> (from v9.3) </p> </entry> <entry><p>This class is derived from <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita"><apiname>TLbsGpsOptions</apiname></xref>. It is only passed as a parameter in <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0744F006-FF77-3FBA-A33B-9EE403924820"><apiname>CLbsLocationSourceGpsBase::UpdateLocation()</apiname></xref> when the network has asked the LBS subsystem to work in TB + TA mode. For more information see <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324">LBS sets GPS options</xref>. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 1 Classes and types of the A-GPS Location Data Source API.</i>  </p> <p>Table 2 lists the assistance data classes and types that are passed across the API. The classes and types are used to specify the assistance data that an Integration Module requires. For more information see the links to reference documentation. </p> <table id="GUID-94D91F10-86DC-5D1E-81CC-0153D640C823"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname> TLbsAssistanceDataItem</apiname></xref>  </p> </entry> <entry><p>The class defines the type of assistance data that an Integration Module requires. A bitmask of type <xref href="GUID-343E1FD7-9D75-3A41-84EC-B35030C06557.dita"><apiname>TLbsAssistanceDataGroup</apiname></xref> is composed of <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> values. The class and the bitmask are used to pass requests for assistance data between the Integration Module and the LBS subsystem. </p> </entry> <entry><p> <filepath>LbsAssistanceDataBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-343E1FD7-9D75-3A41-84EC-B35030C06557.dita"><apiname>TLbsAssistanceDataGroup</apiname></xref>  </p> </entry> <entry><p>Bitmask of <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> values. </p> </entry> <entry><p> <filepath>LbsAssistanceDataBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-5EB8A06F-5D70-35C0-ADAC-62A2A6126F8D.dita"><apiname>RDataBuilderRootBase</apiname></xref>  </p> </entry> <entry><p>Base class of readers for assistance data. Each type of assistance data requires its own reader that is derived from <codeph>RDataBuilderRootBase</codeph>. </p> </entry> <entry><p> <filepath>LbsAssistanceDataBase.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 2 Assistance data classes passed across the API</i>  </p> <p>Table 3 lists position info classes that are passed across the API from an Integration Module to the LBS subsystem. For more information see the links to reference documentation. </p> <table id="GUID-BADFAAAD-1B60-5E8B-BFCB-A128C755FAFC"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref>  </p> </entry> <entry><p>Base class for classes that hold GPS position fixes or GPS measurements. </p> </entry> <entry><p> <filepath>LbsPositionInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref>  </p> </entry> <entry><p>Holds a position fix and satellite information. </p> </entry> <entry><p> <filepath>LbsSatelliteInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-66C5B5DB-6B9A-3071-816C-F51AEED2E8DE.dita"><apiname>TPositionGpsMeasurementInfo</apiname></xref>  </p> </entry> <entry><p>Holds GPS measurements. </p> </entry> <entry><p> <filepath>LbsGpsMeasurement.h </filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 3 Position Info classes</i>  </p> <p><b>Libraries </b> </p> <p>The main classes of the A-GPS Location Data Source API are packaged in <filepath>lbslocdatasource.dll</filepath>. Integration Module implementations link to <filepath>lbslocdatasource.lib</filepath>. </p> <p>Assistance data classes are packaged in <filepath>lbsassistancedata.dll</filepath>. Clients link to <filepath>lbsassistancedata.lib</filepath>. </p> <p>Position info classes are packaged in <filepath>lbsselflocate.dll</filepath>. Clients link to <filepath>lbsselflocate.lib</filepath>. </p> </section> <section id="GUID-1BAF7733-25E1-53A7-AEE7-61B9EC2DA540"><title>Using the A-GPS Location Data Source API</title> <p>Licensees use the API to create an Integration Module to interface their device GPS hardware with the LBS subsystem. The API provides the means by which the LBS subsystem and an Integration Module interact. Details of how the Integration Module interact with the GPS hardware are hardware-specific and are not part of the API. </p> <p>This section describes how an Integration Module and the LBS subsystem use the API to interact. It is intended to give a description of the general order in which the API methods are called by the LBS subsystem and to give a better understanding of their purpose. </p> <p>The behaviour of an A-GPS Integration Module can be complex when it is linked to a Network Protocol Module. Several detailed end-to-end sequence diagrams that document the behaviour of the LBS subsystem including the behaviour expected from an Integration Module are given in <xref href="GUID-D9EA897E-71FB-5012-8208-49300A19D22C.dita">LBS Sequence Diagrams</xref>. </p> <p>Figure 2 shows a simplified sequence for an MO-LR self locate (a self-locate request from the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>). Terminal based positioning involves obtaining assistance data (and possibly a reference position) from the network via a <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module</xref>. The discussion that follows describes the main flow of events for MO-LR self locate. </p> <fig id="GUID-9DD5D060-D96C-57E1-8029-624638969C30"><title>
+          </title> <image href="GUID-905EA9A9-C72C-5632-A95E-B4ED0BD10316_d0e449533_href.png" placement="inline"/></fig> <p><b>API classes and types </b> </p> <p>Table 1 lists the classes and types that define the A-GPS Location Data Source API. Further details about the classes can be found by following the links to reference documentation. </p> <p>The A-GPS Location Data Source API has <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-03DE9669-4C08-5B9D-B900-C831DEAC2E05"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita"><apiname>CLbsLocationSourceGpsBase</apiname></xref>  </p> </entry> <entry><p>The base class for all A-GPS Integration Module implementations. It defines the methods that the LBS subsystem uses to request GPS measurements or a GPS position fix, to set the mode of operation of the GPS hardware and to send power advice. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref>  </p> </entry> <entry><p>The GPS Integration Module observer class implemented by the LBS subsystem (A-GPS Location Manager). It defines the methods that an A-GPS module uses to request assistance data, return GPS measurements or a position fix, and send module status messages into LBS. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-4FDB2D40-8212-303B-9039-EAEDE14627FC"><apiname>CLbsLocationSourceGpsBase::TPowerMode</apiname></xref>  </p> </entry> <entry><p>Defines a set of values for power advice. A value is a parameter in <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-E676384E-6528-3A63-A6FC-8CED25C0976E"><apiname>CLbsLocationSourceGpsBase::AdvisePowerMode()</apiname></xref>. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-B5C832B0-93B1-30F2-B549-E468CB5A13B7.dita"><apiname> TLbsLocRequestQuality</apiname></xref>  </p> </entry> <entry><p>Specifies the desired quality of a location request. <codeph>TLbsLocRequestQuality</codeph> is used to specify the desired quality of a location request to an Integration Module. A reference to an object of this type is passed to <xref href="GUID-14FCF07F-EF83-3D71-8598-503FF1530589.dita#GUID-14FCF07F-EF83-3D71-8598-503FF1530589/GUID-964C3C84-7CB4-316B-8B1D-892FC36FECE6"><apiname>CLbsLocationSourceBase::UpdateLocation()</apiname></xref>. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita"><apiname> TLbsGpsOptions</apiname></xref>  </p> </entry> <entry><p>This is the default class used to hold various global settings for the GPS integration module including the GPS positioning mode required. It has the method <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita#GUID-B0986288-97BA-35FE-B35B-04DDAE079B76/GUID-0F539830-ECFE-3CE2-AC56-DB2A196E7CED"><apiname>TLbsGpsOptions::SetGpsMode()</apiname></xref> that is used to set the GPS positioning mode of the module (such as terminal based or terminal assisted mode). </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-2CCCF864-C56B-3E82-85FF-5675340BD355.dita"><apiname> TLbsGpsOptionsItem</apiname></xref> (from v9.3) </p> </entry> <entry><p>An item in a <xref href="GUID-333F10FF-C647-3A07-9EFA-B1A2CF0B96C1.dita"><apiname>TLbsGpsOptionsArray</apiname></xref>. The item specifies the type of update required from a module - a position fix or a set of GPS measurements or both. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-333F10FF-C647-3A07-9EFA-B1A2CF0B96C1.dita"><apiname> TLbsGpsOptionsArray</apiname></xref> (from v9.3) </p> </entry> <entry><p>This class is derived from <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita"><apiname>TLbsGpsOptions</apiname></xref>. It is only passed as a parameter in <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0744F006-FF77-3FBA-A33B-9EE403924820"><apiname>CLbsLocationSourceGpsBase::UpdateLocation()</apiname></xref> when the network has asked the LBS subsystem to work in TB + TA mode. For more information see <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324">LBS sets GPS options</xref>. </p> </entry> <entry><p> <filepath>LbsLocDataSourceGpsBase.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 1 Classes and types of the A-GPS Location Data Source API.</i>  </p> <p>Table 2 lists the assistance data classes and types that are passed across the API. The classes and types are used to specify the assistance data that an Integration Module requires. For more information see the links to reference documentation. </p> <table id="GUID-94D91F10-86DC-5D1E-81CC-0153D640C823"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname> TLbsAssistanceDataItem</apiname></xref>  </p> </entry> <entry><p>The class defines the type of assistance data that an Integration Module requires. A bitmask of type <xref href="GUID-343E1FD7-9D75-3A41-84EC-B35030C06557.dita"><apiname>TLbsAssistanceDataGroup</apiname></xref> is composed of <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> values. The class and the bitmask are used to pass requests for assistance data between the Integration Module and the LBS subsystem. </p> </entry> <entry><p> <filepath>LbsAssistanceDataBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-343E1FD7-9D75-3A41-84EC-B35030C06557.dita"><apiname>TLbsAssistanceDataGroup</apiname></xref>  </p> </entry> <entry><p>Bitmask of <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> values. </p> </entry> <entry><p> <filepath>LbsAssistanceDataBase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-5EB8A06F-5D70-35C0-ADAC-62A2A6126F8D.dita"><apiname>RDataBuilderRootBase</apiname></xref>  </p> </entry> <entry><p>Base class of readers for assistance data. Each type of assistance data requires its own reader that is derived from <codeph>RDataBuilderRootBase</codeph>. </p> </entry> <entry><p> <filepath>LbsAssistanceDataBase.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 2 Assistance data classes passed across the API</i>  </p> <p>Table 3 lists position info classes that are passed across the API from an Integration Module to the LBS subsystem. For more information see the links to reference documentation. </p> <table id="GUID-BADFAAAD-1B60-5E8B-BFCB-A128C755FAFC"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref>  </p> </entry> <entry><p>Base class for classes that hold GPS position fixes or GPS measurements. </p> </entry> <entry><p> <filepath>LbsPositionInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref>  </p> </entry> <entry><p>Holds a position fix and satellite information. </p> </entry> <entry><p> <filepath>LbsSatelliteInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-66C5B5DB-6B9A-3071-816C-F51AEED2E8DE.dita"><apiname>TPositionGpsMeasurementInfo</apiname></xref>  </p> </entry> <entry><p>Holds GPS measurements. </p> </entry> <entry><p> <filepath>LbsGpsMeasurement.h </filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 3 Position Info classes</i>  </p> <p><b>Libraries </b> </p> <p>The main classes of the A-GPS Location Data Source API are packaged in <filepath>lbslocdatasource.dll</filepath>. Integration Module implementations link to <filepath>lbslocdatasource.lib</filepath>. </p> <p>Assistance data classes are packaged in <filepath>lbsassistancedata.dll</filepath>. Clients link to <filepath>lbsassistancedata.lib</filepath>. </p> <p>Position info classes are packaged in <filepath>lbsselflocate.dll</filepath>. Clients link to <filepath>lbsselflocate.lib</filepath>. </p> </section> <section id="GUID-1BAF7733-25E1-53A7-AEE7-61B9EC2DA540"><title>Using the A-GPS Location Data Source API</title> <p>Licensees use the API to create an Integration Module to interface their device GPS hardware with the LBS subsystem. The API provides the means by which the LBS subsystem and an Integration Module interact. Details of how the Integration Module interact with the GPS hardware are hardware-specific and are not part of the API. </p> <p>This section describes how an Integration Module and the LBS subsystem use the API to interact. It is intended to give a description of the general order in which the API methods are called by the LBS subsystem and to give a better understanding of their purpose. </p> <p>The behaviour of an A-GPS Integration Module can be complex when it is linked to a Network Protocol Module. Several detailed end-to-end sequence diagrams that document the behaviour of the LBS subsystem including the behaviour expected from an Integration Module are given in <xref href="GUID-D9EA897E-71FB-5012-8208-49300A19D22C.dita">LBS Sequence Diagrams</xref>. </p> <p>Figure 2 shows a simplified sequence for an MO-LR self locate (a self-locate request from the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>). Terminal based positioning involves obtaining assistance data (and possibly a reference position) from the network via a <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module</xref>. The discussion that follows describes the main flow of events for MO-LR self locate. </p> <fig id="GUID-9DD5D060-D96C-57E1-8029-624638969C30"><title>
              Figure 2. Simplified sequence for MO-LR self locate request 
-          </title> <image href="GUID-5344014E-A6F4-5243-9D55-BB2C5C78A463_d0e444213_href.png" placement="inline"/></fig> <p>The following explains a simple flow of events between the LBS subsystem and an A-GPS Integration Module (for terminal based positioning): </p> <ul><li id="GUID-961B08BC-F54E-5F61-B10A-6D14B68D546E"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-A9D4C00D-37A3-544F-B9E0-6A5176ABD8C7">LBS loads the A-GPS Integration Module</xref>  </p> </li> <li id="GUID-2924CFD9-E916-5305-994B-D6A7EFDCD247"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324">LBS sets GPS options (including the GPS mode)</xref>  </p> </li> <li id="GUID-7B4236F5-897F-5846-AE9A-9A1EA1DAC8FA"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-F4A152A0-82D5-52C1-9640-535B62088CDF">LBS sends power advice</xref>  </p> </li> <li id="GUID-82F51F6B-636E-51F3-AC3C-5623B2F5E9DA"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B661DC32-76A0-570D-B6B6-B0C69712C427">LBS requests location update</xref>  </p> </li> <li id="GUID-06022E8B-4EBA-531C-A4C2-41029B19575D"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-23A6EF21-DF43-5894-8159-27442A6828C6">Module requests assistance data</xref>  </p> </li> <li id="GUID-24A0D421-75CC-528C-B47A-C1D75AD1855C"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-4820CF1C-DE98-5CC1-9A0E-72C5874A28D0">LBS notifies the A-GPS Integration Module of assistance data availability</xref>  </p> </li> <li id="GUID-5013410C-6129-599C-90D8-52345921F843"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-9FEAEAA5-1555-5ADC-AF92-DC2C1BF00278">Module retrieves A-GPS assistance data items</xref>  </p> </li> <li id="GUID-53581CD5-7DEF-572A-A989-972ACC12E933"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B3949496-29ED-55B6-BB2F-25BA85CC662E">Module notifies LBS of a location update</xref>  </p> </li> </ul> <p>In addition to the typical flow of events described, a module can also notify LBS of GPS <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-6FFF6FDB-1A8F-5503-9F0E-D31B7F21CD12">device status changes and quality status changes</xref>. </p> <p>The implementation of <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita"><apiname>CLbsLocationSourceGpsBase</apiname></xref> methods must not call <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref> methods or stack overflow may eventually occur. The exception to this rule is <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0370A120-0222-3559-A4B5-89C997B192D7"><apiname>CLbsLocationSourceGpsBase::AssistanceDataEvent()</apiname></xref>: implementations may call <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-AAEE001E-B121-3590-88A8-97200645BFA9"><apiname>MLbsLocationSourceGpsObserver::GetAssistanceDataItem()</apiname></xref> multiple times to get all the request assistance data items. </p> <p>Each of the steps above and shown in figure 2 is described in more detail in the following sections, with links to API reference documentation. </p> <p id="GUID-A9D4C00D-37A3-544F-B9E0-6A5176ABD8C7"><b>LBS loads the A-GPS Integration Module</b> </p> <p>The Integration Module is packaged as an ECOM plug-in DLL. When the LBS subsystem starts up, the A-GPS Location Manager process uses the ECOM framework to load the Integration Module. The A-GPS Location Manager calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-DE91837E-AD18-3236-9678-E21EF655721A"><apiname>CLbsLocationSourceGpsBase::NewL()</apiname></xref>, passing a reference to itself as an <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref> and the ID of the ECOM implementation DLL to load. </p> <p>For more information about how to configure LBS to use an Integration Module see <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS integration and configuration guide</xref>. </p> <p id="GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324"><b>LBS sets GPS options (including the GPS mode)</b> </p> <p> <b/> The GPS mode specifies how the A-GPS Integration Module should obtain a location fix. There are four modes supported by the LBS subsystem as described in <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-0A902E30-86FE-5E97-98DE-AAA181A784E8">GPS modes</xref>: </p> <ul><li id="GUID-A6E6DBC8-E9FB-5492-9FEC-D81FC45B6C06"><p>Autonomous mode </p> </li> <li id="GUID-A174195F-F3E1-5A6B-9EEC-DEBEDB2942C1"><p>Terminal based mode (TB) </p> </li> <li id="GUID-9B17E6D2-4E69-57E2-AF7B-B86C5089D795"><p>Terminal assisted mode (TA) </p> </li> <li id="GUID-ED605E09-31D7-5982-B6CA-A81B762190D9"><p>Simultaneous TB + TA </p> </li> </ul> <p><b>GPS mode settings values </b> </p> <p>The LBS subsystem calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref> to set the GPS mode. The LBS subsystem calls this method when an Integration Module is first loaded by the LBS subsystem and when an MO-LR begins (when the setting value is taken from the LBS administration setting value for <xref href="GUID-28C5F57D-16F7-3433-9398-1441C949EBC4.dita"><apiname>KLbsSettingHomeGpsMode</apiname></xref>). </p> <p>As shown in figure 2, <codeph>SetGpsOptions()</codeph> may be called again as part of a location request if the network requests a different GPS mode from the one that is currently set. The mode that is set should be used by the Integration Module for all further location requests until the next call from LBS to <codeph>SetGpsOptions()</codeph>. </p> <p>Table 1 shows a list of values of <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref> that are passed in <codeph>SetGpsOptions()</codeph>. </p> <table id="GUID-D4793B94-3461-51BF-87A9-360703CA0F95"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>TGpsMode</entry> <entry>Meaning</entry> </row> </thead> <tbody><row><entry><p>EGpsPreferTerminalBased </p> </entry> <entry><p>Prefer Terminal Based (PTB): Integration module should use Terminal Based Positioning (TB) if possible. If TB is not possible then fallback to autonomous mode. </p> </entry> </row> <row><entry><p>EGpsAutonomous </p> </entry> <entry><p>Use Autonomous GPS: Module must not request any assistance data from the network and calculate a position without it. </p> </entry> </row> <row><entry><p>EGpsPreferTerminalAssisted </p> </entry> <entry><p>Prefer Terminal Assisted (PTA): Module must use Terminal Assisted Positioning (TA) if possible. If TA is not possible then fallback to autonomous mode if possible. </p> </entry> </row> <row><entry><p>EGpsAlwaysTerminalAssisted </p> </entry> <entry><p>Always Terminal Assisted (ATA): Module must always use TA and return an error if this is not possible. If the Integration Module is not able to use TA it calls <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> with a status code of <codeph>KErrNotSupported</codeph>. </p> </entry> </row> <row><entry><p>EGpsAlwaysTerminalBased </p> </entry> <entry><p>Always Terminal Based (ATB): Module must always use TB and return an error if this is not possible. <b>This value is not currently supported.</b>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 1. <codeph>TGpsMode</codeph> values and their meanings. </p> <p>A licensee's Integration Module is not required to support all of these modes. Licensees modify the Integration Module <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">module.ini</xref> file <codeph>DeviceGpsModeCaps</codeph> setting to publish a module's capabilities to the LBS subsystem. </p> <p>Valid values of <codeph>DeviceGpsModeCaps</codeph> in <filepath>module.ini</filepath> are as follows: </p> <ul><li id="GUID-E35E03DA-2CFF-5E9A-AFCD-0EF5C46A173D"><p>0001 - Module supports Terminal Based positioning and is also able to calculate position autonomously if assistance data is unavailable or does not arrive on time (for example a fix is obtained before assistance data delivery). </p> </li> <li id="GUID-6826468C-4BE8-5CD0-A834-F5EA468914FC"><p>0010 - Module supports Terminal Assisted positioning. The module may (but does not have to) be able to calculate position autonomously if Terminal Assisted positioning does not succeed (for example the network is unavailable). </p> </li> <li id="GUID-8F42ED59-5645-5B72-8C9C-78351CD4FA26"><p>0011 - Module supports Terminal Based positioning OR Terminal Assisted positioning and is also able to calculate position autonomously if assistance data is unavailable, or does not arrive on time (for example a fix is obtained before assistance data delivery). </p> </li> <li id="GUID-26BCC149-7FE2-5766-9754-7D102546E4C7"><p>0100 - Module can perform Terminal Assisted AND Terminal Based positioning at the same time (TB + TA). It is also able to calculate position autonomously if assistance data is unavailable (e.g. network error), or does not arrive on time (e.g. a fix is obtained before assistance data delivery). NOTE: If this bit is set then it is not necessary to set either of the less significant 2 bits as they are implied. </p> </li> </ul> <p> <i>If DeviceGpsModeCaps is not specified in this file, LBS assumes that the module can support both Terminal Based AND Terminal Assisted GPS modes at the same time.</i>  </p> <p>There are two slightly different methods of specifying the GPS mode to an Integration Module. Both methods involve the A-GPS Location Manager calling <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref>: </p> <p><b>Setting a single positioning mode </b> </p> <p>(For autonomous mode, terminal based mode and terminal assisted mode) </p> <p>LBS creates an object of class <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita"><apiname>TLbsGpsOptions</apiname></xref> and calls <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita#GUID-B0986288-97BA-35FE-B35B-04DDAE079B76/GUID-0F539830-ECFE-3CE2-AC56-DB2A196E7CED"><apiname>TLbsGpsOptions::SetGpsMode()</apiname></xref> with a single parameter of type <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>: </p> <p>To set the Integration Module to use autonomous mode, LBS calls <codeph>SetGpsMode()</codeph> with the parameter value <codeph>CLbsAdmin::EGpsAutonomous</codeph>. </p> <p>To set terminal based mode, LBS calls <codeph>SetGpsMode()</codeph> with the parameter value <codeph>CLbsAdmin::EGpsPreferTerminalBased</codeph>. This specifies that a GPS position fix is required from the Integration Module (the module should use TB if possible, but fallback to autonomous mode if no assistance data is available). </p> <p>To set terminal assisted mode, LBS calls <codeph>SetGpsMode()</codeph> with the parameter value <codeph>CLbsAdmin::EGpsPreferTerminalAssisted</codeph> or <codeph>CLbsAdmin::EGpsAlwaysTerminalAssisted</codeph>. This specifies that GPS measurements are required from the module. The two parameter values have the following meanings: </p> <ul><li id="GUID-3218BAD8-AF6D-50A5-8B60-E2B07E0E7719"><p> <codeph>EGpsPreferTerminalAssisted</codeph> means that a module should use TA if possible but fallback to autonomous mode if this is not possible (for example a network error). </p> </li> <li id="GUID-5DEA5362-9291-52E3-A57A-84F39A9E9FB3"><p> <codeph>EGpsAlwaysTerminalAssisted</codeph> means that a module should <i>always</i> use TA. If TA is not possible (for example because of a network error) then the Integration Module must signal an error by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> with an error status code (a negative code). </p> </li> </ul> <p>To set the GPS mode on the Integration Module, LBS calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref> passing the <codeph>TLbsGpsOptions</codeph> reference as a parameter. </p> <p>If LBS attempts to set an Integration Module's GPS mode to one that it does not support then the Integration Module must call <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> with a status parameter of <codeph>KErrNotSupported</codeph>. Note that the Symbian reference A-GPS Integration Module does not support Terminal Assisted mode or TB + TA mode. </p> <p>As part of a location request, the network can specify the required GPS modes to LBS (see <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref> documentation for more information about how a Protocol Module specifies these modes). If the network asks for Terminal Assisted mode, the LBS subsystem uses the value of the administration setting <codeph>KLbsSettingHomeGpsMode</codeph> to decide which mode is sent to the Integration Module, either <codeph>
+          </title> <image href="GUID-5344014E-A6F4-5243-9D55-BB2C5C78A463_d0e450058_href.png" placement="inline"/></fig> <p>The following explains a simple flow of events between the LBS subsystem and an A-GPS Integration Module (for terminal based positioning): </p> <ul><li id="GUID-961B08BC-F54E-5F61-B10A-6D14B68D546E"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-A9D4C00D-37A3-544F-B9E0-6A5176ABD8C7">LBS loads the A-GPS Integration Module</xref>  </p> </li> <li id="GUID-2924CFD9-E916-5305-994B-D6A7EFDCD247"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324">LBS sets GPS options (including the GPS mode)</xref>  </p> </li> <li id="GUID-7B4236F5-897F-5846-AE9A-9A1EA1DAC8FA"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-F4A152A0-82D5-52C1-9640-535B62088CDF">LBS sends power advice</xref>  </p> </li> <li id="GUID-82F51F6B-636E-51F3-AC3C-5623B2F5E9DA"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B661DC32-76A0-570D-B6B6-B0C69712C427">LBS requests location update</xref>  </p> </li> <li id="GUID-06022E8B-4EBA-531C-A4C2-41029B19575D"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-23A6EF21-DF43-5894-8159-27442A6828C6">Module requests assistance data</xref>  </p> </li> <li id="GUID-24A0D421-75CC-528C-B47A-C1D75AD1855C"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-4820CF1C-DE98-5CC1-9A0E-72C5874A28D0">LBS notifies the A-GPS Integration Module of assistance data availability</xref>  </p> </li> <li id="GUID-5013410C-6129-599C-90D8-52345921F843"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-9FEAEAA5-1555-5ADC-AF92-DC2C1BF00278">Module retrieves A-GPS assistance data items</xref>  </p> </li> <li id="GUID-53581CD5-7DEF-572A-A989-972ACC12E933"><p><xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B3949496-29ED-55B6-BB2F-25BA85CC662E">Module notifies LBS of a location update</xref>  </p> </li> </ul> <p>In addition to the typical flow of events described, a module can also notify LBS of GPS <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-6FFF6FDB-1A8F-5503-9F0E-D31B7F21CD12">device status changes and quality status changes</xref>. </p> <p>The implementation of <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita"><apiname>CLbsLocationSourceGpsBase</apiname></xref> methods must not call <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref> methods or stack overflow may eventually occur. The exception to this rule is <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0370A120-0222-3559-A4B5-89C997B192D7"><apiname>CLbsLocationSourceGpsBase::AssistanceDataEvent()</apiname></xref>: implementations may call <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-AAEE001E-B121-3590-88A8-97200645BFA9"><apiname>MLbsLocationSourceGpsObserver::GetAssistanceDataItem()</apiname></xref> multiple times to get all the request assistance data items. </p> <p>Each of the steps above and shown in figure 2 is described in more detail in the following sections, with links to API reference documentation. </p> <p id="GUID-A9D4C00D-37A3-544F-B9E0-6A5176ABD8C7"><b>LBS loads the A-GPS Integration Module</b> </p> <p>The Integration Module is packaged as an ECOM plug-in DLL. When the LBS subsystem starts up, the A-GPS Location Manager process uses the ECOM framework to load the Integration Module. The A-GPS Location Manager calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-DE91837E-AD18-3236-9678-E21EF655721A"><apiname>CLbsLocationSourceGpsBase::NewL()</apiname></xref>, passing a reference to itself as an <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita"><apiname>MLbsLocationSourceGpsObserver</apiname></xref> and the ID of the ECOM implementation DLL to load. </p> <p>For more information about how to configure LBS to use an Integration Module see <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS integration and configuration guide</xref>. </p> <p id="GUID-EF629CC3-EFA8-559E-970C-1AC5B7B93324"><b>LBS sets GPS options (including the GPS mode)</b> </p> <p> <b/> The GPS mode specifies how the A-GPS Integration Module should obtain a location fix. There are four modes supported by the LBS subsystem as described in <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-0A902E30-86FE-5E97-98DE-AAA181A784E8">GPS modes</xref>: </p> <ul><li id="GUID-A6E6DBC8-E9FB-5492-9FEC-D81FC45B6C06"><p>Autonomous mode </p> </li> <li id="GUID-A174195F-F3E1-5A6B-9EEC-DEBEDB2942C1"><p>Terminal based mode (TB) </p> </li> <li id="GUID-9B17E6D2-4E69-57E2-AF7B-B86C5089D795"><p>Terminal assisted mode (TA) </p> </li> <li id="GUID-ED605E09-31D7-5982-B6CA-A81B762190D9"><p>Simultaneous TB + TA </p> </li> </ul> <p><b>GPS mode settings values </b> </p> <p>The LBS subsystem calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref> to set the GPS mode. The LBS subsystem calls this method when an Integration Module is first loaded by the LBS subsystem and when an MO-LR begins (when the setting value is taken from the LBS administration setting value for <xref href="GUID-28C5F57D-16F7-3433-9398-1441C949EBC4.dita"><apiname>KLbsSettingHomeGpsMode</apiname></xref>). </p> <p>As shown in figure 2, <codeph>SetGpsOptions()</codeph> may be called again as part of a location request if the network requests a different GPS mode from the one that is currently set. The mode that is set should be used by the Integration Module for all further location requests until the next call from LBS to <codeph>SetGpsOptions()</codeph>. </p> <p>Table 1 shows a list of values of <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref> that are passed in <codeph>SetGpsOptions()</codeph>. </p> <table id="GUID-D4793B94-3461-51BF-87A9-360703CA0F95"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>TGpsMode</entry> <entry>Meaning</entry> </row> </thead> <tbody><row><entry><p>EGpsPreferTerminalBased </p> </entry> <entry><p>Prefer Terminal Based (PTB): Integration module should use Terminal Based Positioning (TB) if possible. If TB is not possible then fallback to autonomous mode. </p> </entry> </row> <row><entry><p>EGpsAutonomous </p> </entry> <entry><p>Use Autonomous GPS: Module must not request any assistance data from the network and calculate a position without it. </p> </entry> </row> <row><entry><p>EGpsPreferTerminalAssisted </p> </entry> <entry><p>Prefer Terminal Assisted (PTA): Module must use Terminal Assisted Positioning (TA) if possible. If TA is not possible then fallback to autonomous mode if possible. </p> </entry> </row> <row><entry><p>EGpsAlwaysTerminalAssisted </p> </entry> <entry><p>Always Terminal Assisted (ATA): Module must always use TA and return an error if this is not possible. If the Integration Module is not able to use TA it calls <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> with a status code of <codeph>KErrNotSupported</codeph>. </p> </entry> </row> <row><entry><p>EGpsAlwaysTerminalBased </p> </entry> <entry><p>Always Terminal Based (ATB): Module must always use TB and return an error if this is not possible. <b>This value is not currently supported.</b>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 1. <codeph>TGpsMode</codeph> values and their meanings. </p> <p>A licensee's Integration Module is not required to support all of these modes. Licensees modify the Integration Module <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">module.ini</xref> file <codeph>DeviceGpsModeCaps</codeph> setting to publish a module's capabilities to the LBS subsystem. </p> <p>Valid values of <codeph>DeviceGpsModeCaps</codeph> in <filepath>module.ini</filepath> are as follows: </p> <ul><li id="GUID-E35E03DA-2CFF-5E9A-AFCD-0EF5C46A173D"><p>0001 - Module supports Terminal Based positioning and is also able to calculate position autonomously if assistance data is unavailable or does not arrive on time (for example a fix is obtained before assistance data delivery). </p> </li> <li id="GUID-6826468C-4BE8-5CD0-A834-F5EA468914FC"><p>0010 - Module supports Terminal Assisted positioning. The module may (but does not have to) be able to calculate position autonomously if Terminal Assisted positioning does not succeed (for example the network is unavailable). </p> </li> <li id="GUID-8F42ED59-5645-5B72-8C9C-78351CD4FA26"><p>0011 - Module supports Terminal Based positioning OR Terminal Assisted positioning and is also able to calculate position autonomously if assistance data is unavailable, or does not arrive on time (for example a fix is obtained before assistance data delivery). </p> </li> <li id="GUID-26BCC149-7FE2-5766-9754-7D102546E4C7"><p>0100 - Module can perform Terminal Assisted AND Terminal Based positioning at the same time (TB + TA). It is also able to calculate position autonomously if assistance data is unavailable (e.g. network error), or does not arrive on time (e.g. a fix is obtained before assistance data delivery). NOTE: If this bit is set then it is not necessary to set either of the less significant 2 bits as they are implied. </p> </li> </ul> <p> <i>If DeviceGpsModeCaps is not specified in this file, LBS assumes that the module can support both Terminal Based AND Terminal Assisted GPS modes at the same time.</i>  </p> <p>There are two slightly different methods of specifying the GPS mode to an Integration Module. Both methods involve the A-GPS Location Manager calling <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref>: </p> <p><b>Setting a single positioning mode </b> </p> <p>(For autonomous mode, terminal based mode and terminal assisted mode) </p> <p>LBS creates an object of class <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita"><apiname>TLbsGpsOptions</apiname></xref> and calls <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita#GUID-B0986288-97BA-35FE-B35B-04DDAE079B76/GUID-0F539830-ECFE-3CE2-AC56-DB2A196E7CED"><apiname>TLbsGpsOptions::SetGpsMode()</apiname></xref> with a single parameter of type <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>: </p> <p>To set the Integration Module to use autonomous mode, LBS calls <codeph>SetGpsMode()</codeph> with the parameter value <codeph>CLbsAdmin::EGpsAutonomous</codeph>. </p> <p>To set terminal based mode, LBS calls <codeph>SetGpsMode()</codeph> with the parameter value <codeph>CLbsAdmin::EGpsPreferTerminalBased</codeph>. This specifies that a GPS position fix is required from the Integration Module (the module should use TB if possible, but fallback to autonomous mode if no assistance data is available). </p> <p>To set terminal assisted mode, LBS calls <codeph>SetGpsMode()</codeph> with the parameter value <codeph>CLbsAdmin::EGpsPreferTerminalAssisted</codeph> or <codeph>CLbsAdmin::EGpsAlwaysTerminalAssisted</codeph>. This specifies that GPS measurements are required from the module. The two parameter values have the following meanings: </p> <ul><li id="GUID-3218BAD8-AF6D-50A5-8B60-E2B07E0E7719"><p> <codeph>EGpsPreferTerminalAssisted</codeph> means that a module should use TA if possible but fallback to autonomous mode if this is not possible (for example a network error). </p> </li> <li id="GUID-5DEA5362-9291-52E3-A57A-84F39A9E9FB3"><p> <codeph>EGpsAlwaysTerminalAssisted</codeph> means that a module should <i>always</i> use TA. If TA is not possible (for example because of a network error) then the Integration Module must signal an error by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> with an error status code (a negative code). </p> </li> </ul> <p>To set the GPS mode on the Integration Module, LBS calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref> passing the <codeph>TLbsGpsOptions</codeph> reference as a parameter. </p> <p>If LBS attempts to set an Integration Module's GPS mode to one that it does not support then the Integration Module must call <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> with a status parameter of <codeph>KErrNotSupported</codeph>. Note that the Symbian reference A-GPS Integration Module does not support Terminal Assisted mode or TB + TA mode. </p> <p>As part of a location request, the network can specify the required GPS modes to LBS (see <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref> documentation for more information about how a Protocol Module specifies these modes). If the network asks for Terminal Assisted mode, the LBS subsystem uses the value of the administration setting <codeph>KLbsSettingHomeGpsMode</codeph> to decide which mode is sent to the Integration Module, either <codeph>
              EGpsPreferTerminalAssisted</codeph> or <codeph>EGpsAlwaysTerminalAssisted</codeph>. </p> <p><b>Setting multiple positioning modes (TB + TA) </b> </p> <p>The network can specify two positioning modes that LBS should use (see <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref> for more information about how the modes are specified to LBS). </p> <p>If the Integration Module is capable of supporting both TB and TA simultaneously <codeph>(DevGpsModeCaps = 0100</codeph> in <filepath>module.ini</filepath>) then LBS specifies both modes to a module as follows: </p> <p>LBS creates an object of class <xref href="GUID-333F10FF-C647-3A07-9EFA-B1A2CF0B96C1.dita"><apiname>TLbsGpsOptionsArray</apiname></xref>. Each element of the array is a <xref href="GUID-2CCCF864-C56B-3E82-85FF-5675340BD355.dita"><apiname>TLbsGpsOptionsItem</apiname></xref> object which can hold one of two values of type <xref href="GUID-2CCCF864-C56B-3E82-85FF-5675340BD355.dita#GUID-2CCCF864-C56B-3E82-85FF-5675340BD355/GUID-BEA2FC56-F307-35B5-9815-D8121729958D"><apiname>TLbsGpsOptionsItem::TPosUpdateType</apiname></xref>, set by calling <xref href="GUID-2CCCF864-C56B-3E82-85FF-5675340BD355.dita#GUID-2CCCF864-C56B-3E82-85FF-5675340BD355/GUID-4429FBD5-C8BD-3A91-AA26-10E6D8C9F925"><apiname>TLbsGpsOptionsItem::SetLocUpdateType()</apiname></xref>: </p> <ul><li id="GUID-6381FDF6-1203-51A6-B5ED-DFFF58E72C5C"><p> <codeph>TLbsOptionsItem::EPosUpdateCalculation</codeph> specifies that a calculated position is required from the Integration Module </p> </li> <li id="GUID-E836DF8A-C222-5CB2-8CC6-BE451972CEF1"><p> <codeph>TLbsOptionsItem:EPosUpdateMeasurement</codeph> specifies that a set of GPS measurements are required from the Integration Module </p> </li> </ul> <p>LBS creates an array with two <codeph>TLbsGpsOptionsItem</codeph> elements, the first of type <codeph>TLbsOptionsItem::EPosUpdateCalculation</codeph> and the second of type <codeph>TLbsOptionsItem:EPosUpdateMeasurement.</codeph>  </p> <p>LBS calls <xref href="GUID-B0986288-97BA-35FE-B35B-04DDAE079B76.dita#GUID-B0986288-97BA-35FE-B35B-04DDAE079B76/GUID-0F539830-ECFE-3CE2-AC56-DB2A196E7CED"><apiname>TLbsGpsOptions::SetGpsMode()</apiname></xref> with a parameter value of <codeph>EGpsPreferTerminalBased</codeph>. To set the GPS mode on the Integration Module, LBS calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref> passing the <codeph>TLbsGpsOptions</codeph> reference as a parameter. </p> <p>The type and position of the elements in the array controls the type of data the Integration Module returns when it notifies LBS of a <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B3949496-29ED-55B6-BB2F-25BA85CC662E">location update</xref>. </p> <p id="GUID-F4A152A0-82D5-52C1-9640-535B62088CDF"><b>LBS sends power advice</b> </p> <p>Power advice messages are sent from LBS to notify the Integration Module that it should change its power status. Power advice is sent by LBS calling <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-E676384E-6528-3A63-A6FC-8CED25C0976E"><apiname>CLbsLocationSourceGpsBase::AdvisePowerMode()</apiname></xref>, passing a <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-4FDB2D40-8212-303B-9039-EAEDE14627FC"><apiname>CLbsLocationSourceGpsBase::TPowerMode</apiname></xref> value as a parameter. The Integration Module must implement its own code to control the power mode of the GPS hardware. The meanings of the <codeph>TPowerMode</codeph> values are as follows: </p> <table id="GUID-C622FD4D-0C9F-58DC-BC95-3ADFCCC6D74A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>TPowerMode</entry> <entry>Meaning</entry> </row> </thead> <tbody><row><entry><p> <codeph>EPowerModeOn</codeph>  </p> </entry> <entry><p>Advise the module to turn on GPS hardware power </p> </entry> </row> <row><entry><p> <codeph>EPowerModeStandby</codeph>  </p> </entry> <entry><p>Advise the module to set the GPS hardware power to standby </p> </entry> </row> <row><entry><p> <codeph>EPowerModeOff</codeph>  </p> </entry> <entry><p>Advise the module to turn off GPS hardware power </p> </entry> </row> <row><entry><p> <codeph>EPowerModeClose</codeph>  </p> </entry> <entry><p>Advise the module that the LBS subsystem is shutting down </p> </entry> </row> </tbody> </tgroup> </table> <p>When the GPS hardware changes its power mode the Integration Module must notify LBS of a <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-6FFF6FDB-1A8F-5503-9F0E-D31B7F21CD12">device status change</xref> by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-ED633D07-535A-3B07-9DEF-B19688542E7B"><apiname>MLbsLocationSourceGpsObserver::UpdateDeviceStatus()</apiname></xref>. This message not shown on figure 2. </p> <p id="GUID-B661DC32-76A0-570D-B6B6-B0C69712C427"><b>LBS requests a location update (for a GPS position fix or GPS measurements)</b> </p> <p>LBS calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-C5784C56-C6BA-3D11-AFEB-D08CA8E3E083"><apiname>CLbsLocationSourceGpsBase::RequestLocationUpdate()</apiname></xref> to request a location update. The method should be implemented to return as soon as possible. At some later time the A-GPS Integration Module informs LBS that a location update is available by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref>. </p> <p>The full signature of the method is <codeph>RequestLocationUpdate(const
              TTime &amp;aTargetTime, const TLbsLocRequestQuality
              &amp;aQuality)</codeph>. </p> <p> <codeph>aTargetTime</codeph> specifies when a location update is required. When the GPS module responds by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> it is <codeph>aTargetTime</codeph> that is used to couple a location update request and response within the LBS subsystem. Therefore an Integration Module must use <codeph>aTargetTime</codeph> to identify the response to LBS. </p> <p> <codeph>aQuality</codeph> specifies quality criteria for the request including the required position accuracy and a <codeph>MaxFixTime</codeph> which is the maximum time that the Integration Module should spend processing the location request. If the Integration Module is not capable of delivering a position within <codeph>MaxFixTime</codeph> then it must return an incomplete update. See the section <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-B3949496-29ED-55B6-BB2F-25BA85CC662E">Module notifies LBS of a location update</xref> for more details. </p> <p id="GUID-23A6EF21-DF43-5894-8159-27442A6828C6"><b>Module requests assistance data (if necessary)</b> </p> <p>Depending on the GPS mode that was set before the location request was made and the age of any assistance data it may already have, an A-GPS Integration Module may request assistance data from the LBS subsystem by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-B111B2A2-C52C-3D98-B82B-30958017AE5E"><apiname>MLbsLocationSourceGpsObserver::RequestAssistanceData()</apiname></xref>. </p> <p>The Integration Module specifies the type of assistance data it requires by creating a <xref href="GUID-DA483177-76AC-3110-A9BD-9CD97BF590CD.dita"><apiname>TLbsAsistanceDataGroup</apiname></xref> bitmask which contains bit values from the <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> enumeration. Each value of <codeph>TLbsAssistanceDataItem</codeph> specifies a particular type of assistance data. </p> <p>The module passes a bitwise OR of <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> values as a <xref href="GUID-DA483177-76AC-3110-A9BD-9CD97BF590CD.dita"><apiname>TLbsAsistanceDataGroup</apiname></xref> parameter in a call to <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-B111B2A2-C52C-3D98-B82B-30958017AE5E"><apiname>MLbsLocationSourceGpsObserver::RequestAssistanceData()</apiname></xref>. </p> <p> <b>Notes:</b>  </p> <ol id="GUID-F5A7B705-AE6A-5EDB-AC33-261728E16306"><li id="GUID-6B0AD674-3E49-5790-858C-BC4DEB32E85B"><p>Calling <codeph>RequestAssistanceData()</codeph> causes LBS to retrieve new assistance data from the network. The LBS subsystem caches assistance data when it is retrieved. Before calling <codeph>RequestAssistanceData()</codeph> for new assistance data it is most efficient for an Integration Module to check the timestamp of the assistance data cached by LBS by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-680269D6-F65D-36B4-8738-6A7BD021B500"><apiname>MLbsLocationSourceGpsObserver::GetAssistanceDataItemTimeStamp()</apiname></xref>. The Integration Module can use the returned timestamp to decide if it the assistance data is still valid, or if it needs to obtain new data by calling <codeph>RequestAssistanceData()</codeph>. </p> <p>A licensee can implement an Integration Module to have its own assistance data cache. An Integration Module can be instructed to reset its assistance data cache. See <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita#GUID-5DD17088-1F9C-5810-8143-5067A2B18330/GUID-906DA81C-CB41-58C4-8CA1-79552404B5B4">Resetting A-GPS assistance data</xref> for more information. </p> </li> <li id="GUID-07219A38-77AA-56FA-8300-5F0B9A837580"><p>If a Integration Module does not require assistance data (possibly because the assistance data it currently has is still accurate) then it must respond to <codeph>RequestLocationUpdate()</codeph> by calling <codeph>RequestAssistanceData() </codeph> with a parameter <codeph>bitmask=0</codeph>. </p> </li> </ol> <p id="GUID-4820CF1C-DE98-5CC1-9A0E-72C5874A28D0"><b>LBS notifies the A-GPS Integration Module of assistance data availability</b> </p> <p>When LBS obtains assistance data from the network it informs the module by calling <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0370A120-0222-3559-A4B5-89C997B192D7"><apiname>CLbsLocationSourceGpsBase::AssistanceDataEvent()</apiname></xref>. As shown in figure 2, this method may be called multiple times as new assistance data arrives from the network. LBS can call this method to deliver assistance data at any time, not just immediately after a module calls <codeph>RequestAssistanceData()</codeph>. </p> <p>The type of assistance data available is indicated by a <xref href="GUID-DA483177-76AC-3110-A9BD-9CD97BF590CD.dita"><apiname>TLbsAsistanceDataGroup</apiname></xref> bitmask parameter which contains <xref href="GUID-58DA9D8B-50F6-38CB-B5BC-D8C1784ACFDB.dita"><apiname>TLbsAssistanceDataItem</apiname></xref> values. </p> <p> <b>Note: </b> This method is used to notify LBS of a network error during a location request in which case the status parameter is set to a negative error code (a network or network protocol specific error code). </p> <p id="GUID-9FEAEAA5-1555-5ADC-AF92-DC2C1BF00278"><b>Module retrieves A-GPS assistance data items</b> </p> <p>When it is notified that assistance data is available, the A-GPS Integration Module uses <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-AAEE001E-B121-3590-88A8-97200645BFA9"><apiname>MLbsLocationSourceGpsObserver::GetAssistanceDataItem()</apiname></xref> to get obtain it. </p> <p>Where more than one item of assistance data is available (as indicated by the <xref href="GUID-DA483177-76AC-3110-A9BD-9CD97BF590CD.dita"><apiname>TLbsAsistanceDataGroup</apiname></xref> bitmask parameter passed with <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0370A120-0222-3559-A4B5-89C997B192D7"><apiname>CLbsLocationSourceGpsBase::AssistanceDataEvent()</apiname></xref>) it is necessary to call <codeph>GetAssistanceDataItem()</codeph> for each item. </p> <p id="GUID-B3949496-29ED-55B6-BB2F-25BA85CC662E"><b>Module notifies LBS of a location update</b> </p> <p>When the Integration Module calculates a GPS position fix or has obtained GPS position measurements it calls <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref>. The parameter list of <codeph>UpdateLocation()</codeph> is as follows: </p> <p>void UpdateLocation(TInt aStatus, const TPositionInfoBase *aPosInfoArray[], TInt aNumItems, const TTime &amp;aTargetTime); </p> <p> <codeph>aPosInfoArray</codeph> is a return parameter that is a pointer to an array of <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref> objects. What an Integration Module returns in this parameter depends on the GPS positioning mode that was set by calling <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-353317B8-81BE-3C9D-8186-CC7CB1056AA1"><apiname>CLbsLocationSourceGpsBase::SetGpsOptions()</apiname></xref>. </p> <ul><li id="GUID-E3302167-A878-5327-9F85-5ECB09D37FB2"><p>Autonomous mode and Terminal Based mode </p> <p>The Integration Module returns a pointer to a single <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref> object. It contains a position fix and GPS satellite details. The position fix may be incomplete if the Integration Module was unable to calculate the position completely before the <codeph>MaxFixTime</codeph> (specified as part of the location request) expired. For example, a position may be returned that contains only horizontal but not vertical co-ordinates. Missing co-ordinate values are set to NaN. </p> <p>Up until <codeph>MaxFixTime</codeph>, an Integration Module calls <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> whenever it has calculated a more accurate or complete position fix. </p> </li> <li id="GUID-6E130074-B491-530F-A63E-4984342601B0"><p>Terminal Assisted mode </p> <p>The Integration Module returns a pointer to a single <xref href="GUID-66C5B5DB-6B9A-3071-816C-F51AEED2E8DE.dita"><apiname>TPositionGpsMeasurementInfo</apiname></xref> object. It contains a set of GPS measurements, but not a position fix. </p> <p>Up until <codeph>MaxFixTime</codeph>, an Integration Module calls <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> whenever it obtains additional GPS measurements. Measurements are sent to the network where they are used to calculate a position. </p> </li> <li id="GUID-F621F779-D38E-53B9-8E5B-FDFAC1208451"><p>Terminal Based mode + Terminal Assisted mode (TB + TA) </p> <p>The Integration Module returns a pointer to an array of elements derived from class <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref>. </p> <p>Specifically, the array has elements of the derived classes <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref> and <xref href="GUID-66C5B5DB-6B9A-3071-816C-F51AEED2E8DE.dita"><apiname>TPositionGpsMeasurementInfo</apiname></xref>. The number and type of elements returned must be as specified by LBS when it set the GPS mode. In practice, this means that the array returned by an Integration Module must have two elements: </p> <ul><li id="GUID-1824215B-DEB2-5D40-8441-45B44702B55E"><p>The first element is of class <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref> (and contains a position fix that may be incomplete) </p> </li> <li id="GUID-8ADABF7B-98DE-5E07-AE72-9C3B9D760D8E"><p>The second element is of class <xref href="GUID-66C5B5DB-6B9A-3071-816C-F51AEED2E8DE.dita"><apiname>TPositionGpsMeasurementInfo</apiname></xref> and contains GPS measurements. </p> </li> </ul> <p>As in TA and TB modes, the Integration Module calls <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-170901F1-435D-3BC1-985B-49BA0876BD92"><apiname>MLbsLocationSourceGpsObserver::UpdateLocation()</apiname></xref> whenever it obtains additional GPS measurements or calculates a more accurate or complete position fix (up until the location request <codeph>MaxFixTime</codeph>). </p> </li> </ul> <p> <b>Error codes</b>  </p> <p>An Integration Module must return a location update (positions and/or measurements) by the <codeph>MaxFixTime</codeph> that was specified by LBS in <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-C5784C56-C6BA-3D11-AFEB-D08CA8E3E083"><apiname>CLbsLocationSourceGpsBase::RequestLocationUpdate()</apiname></xref>. If an Integration Module has only incomplete data by <codeph>MaxFixTime</codeph> it must return it (<codeph>aStatus == KErrNone</codeph>). </p> <p>If an Integration Module decides that it will be unable to calculate a position fix with the specified quality criteria, then rather than waiting until <codeph>MaxFixTime</codeph> it can return its best available position (which may be incomplete or contain invalid data) with <codeph>aStatus ==
              KPositionCalculationFutile</codeph>. </p> <p id="GUID-84D16C45-7ABC-5701-9E02-AF5EEFB34565"><b>Cancelling a location update request</b> </p> <p>LBS can cancel an outstanding location request by calling <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-F6BC1743-7DD3-30FD-9E94-BC13E907D17C"><apiname>CLbsLocationSourceGpsBase::CancelLocationRequest()</apiname></xref> (not shown on figure 2). </p> <p id="GUID-906DA81C-CB41-58C4-8CA1-79552404B5B4"><b>Resetting A-GPS assistance data</b> </p> <p>During testing it is useful to be able to reset some or all of the A-GPS assistance data cached by an Integration Module. One of the main benefits is to allow the Time To First Fix (TTFF) of a module to be tested without the need to restart the LBS subsystem or the mobile device. </p> <p>A licensee Network Protocol Module calls <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-24F29872-17BA-3B13-A7A3-B36113786964"><apiname>MLbsNetworkProtocolObserver::ProcessAssistanceData()</apiname></xref> to tell the LBS subsystem to reset some or all of its assistance data. The Network Protocol Module passes a parameter value of <xref href="GUID-0F4B82BB-37D6-35AD-993B-F766E1CF0637.dita"><apiname>KPositionAssistanceDataReset</apiname></xref> to specify that LBS must clear the assistance data in its cache and a <xref href="GUID-343E1FD7-9D75-3A41-84EC-B35030C06557.dita"><apiname>TLbsAssistanceDataGroup</apiname></xref> parameter to specify the bitmask of types of assistance data that must be reset. </p> <p>LBS responds by clearing the specified types of assistance data in its own cache. It also calls <xref href="GUID-A458AA58-8BD6-303B-89E5-C99000376615.dita#GUID-A458AA58-8BD6-303B-89E5-C99000376615/GUID-0370A120-0222-3559-A4B5-89C997B192D7"><apiname>CLbsLocationSourceGpsBase::AssistanceDataEvent()</apiname></xref> on the Integration Module with a <xref href="GUID-0F4B82BB-37D6-35AD-993B-F766E1CF0637.dita"><apiname>KPositionAssistanceDataReset</apiname></xref> parameter to specify an assistance data reset and a <xref href="GUID-343E1FD7-9D75-3A41-84EC-B35030C06557.dita"><apiname>TLbsAssistanceDataGroup</apiname></xref> parameter to specify the bitmask of types of assistance data that must be reset. If the licensee A-GPS Integration Module implements its own assistance data cache it must clear the types of assistance data specified by LBS. </p> <p>Figure 3 shows a simple sequence for assistance data reset, followed by the start of an MO-LR. </p> <fig id="GUID-1EE2C2E5-AD4F-50F7-B05E-EE9FFDF9B0D6"><title>
                 Figure 3. Assistance data reset before location request 
-             </title> <image href="GUID-7C6FB773-0F87-5937-BF44-BEB8F4B6A62C_d0e445275_href.png" placement="inline"/></fig> <p id="GUID-6FFF6FDB-1A8F-5503-9F0E-D31B7F21CD12"><b>GPS hardware device status changes and quality status changes</b> </p> <p>(Not shown on figure 2) </p> <p><b>Device status changes </b> </p> <p>When the base GPS hardware changes its power mode the Integration Module must notify LBS by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-ED633D07-535A-3B07-9DEF-B19688542E7B"><apiname>MLbsLocationSourceGpsObserver::UpdateDeviceStatus()</apiname></xref>. </p> <p><b>Quality status changes </b> </p> <p>If an Integration Module detects that there is a change in the quality of position it is able to provide it must notify LBS by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-1EDA3DF0-392A-3362-B8FA-58E822D5FC21"><apiname>MLbsLocationSourceGpsObserver::UpdateDataQualityStatus()</apiname></xref>. </p> <p>See <xref href="GUID-AC7069ED-8CA5-55FC-9DF6-595C0505C672.dita">here</xref> for more information about how client applications can get updates of device status changes and quality status changes. </p> </section> <section id="GUID-3CBF2797-5F9D-50B2-A74A-1810A943CEAA"><title>Integration module configuration</title> <p>In addition to coding the Integration Module, there are configuration steps that a licensee must complete: </p> <p><b>Create a GPS Integration Module .ini file</b> </p> <p>The GPS Integration Module .ini file identifies a GPS 'source of location' to LBS. This is the pairing of the GPS/A-GPS Integration Module ECom plug-in with the A-GPS Location Manager process. </p> <p>The module .ini file created by a device creator for their own Integration Module must have the same layout as the following example and it must be exported to <filepath>&lt;rom_drive&gt;:\private\10282253\lbs\locmods\</filepath> (<codeph>10282253</codeph> is the UID3 of the LBS Root process). </p> <codeblock id="GUID-2A4885EC-7129-5055-B678-55B8CA1FF3F5" xml:space="preserve">
+             </title> <image href="GUID-7C6FB773-0F87-5937-BF44-BEB8F4B6A62C_d0e451120_href.png" placement="inline"/></fig> <p id="GUID-6FFF6FDB-1A8F-5503-9F0E-D31B7F21CD12"><b>GPS hardware device status changes and quality status changes</b> </p> <p>(Not shown on figure 2) </p> <p><b>Device status changes </b> </p> <p>When the base GPS hardware changes its power mode the Integration Module must notify LBS by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-ED633D07-535A-3B07-9DEF-B19688542E7B"><apiname>MLbsLocationSourceGpsObserver::UpdateDeviceStatus()</apiname></xref>. </p> <p><b>Quality status changes </b> </p> <p>If an Integration Module detects that there is a change in the quality of position it is able to provide it must notify LBS by calling <xref href="GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590.dita#GUID-CE22C141-E1DC-38BB-AC11-76853A7B2590/GUID-1EDA3DF0-392A-3362-B8FA-58E822D5FC21"><apiname>MLbsLocationSourceGpsObserver::UpdateDataQualityStatus()</apiname></xref>. </p> <p>See <xref href="GUID-AC7069ED-8CA5-55FC-9DF6-595C0505C672.dita">here</xref> for more information about how client applications can get updates of device status changes and quality status changes. </p> </section> <section id="GUID-3CBF2797-5F9D-50B2-A74A-1810A943CEAA"><title>Integration module configuration</title> <p>In addition to coding the Integration Module, there are configuration steps that a licensee must complete: </p> <p><b>Create a GPS Integration Module .ini file</b> </p> <p>The GPS Integration Module .ini file identifies a GPS 'source of location' to LBS. This is the pairing of the GPS/A-GPS Integration Module ECom plug-in with the A-GPS Location Manager process. </p> <p>The module .ini file created by a device creator for their own Integration Module must have the same layout as the following example and it must be exported to <filepath>&lt;rom_drive&gt;:\private\10282253\lbs\locmods\</filepath> (<codeph>10282253</codeph> is the UID3 of the LBS Root process). </p> <codeblock id="GUID-2A4885EC-7129-5055-B678-55B8CA1FF3F5" xml:space="preserve">
 # example_datasource.ini
 [1]
 Version= 0.2.1        #
--- a/Symbian3/PDK/Source/GUID-5E358AB4-03A7-5859-ABF2-A8B64B74AF56.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5E358AB4-03A7-5859-ABF2-A8B64B74AF56.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,41 +1,39 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5E358AB4-03A7-5859-ABF2-A8B64B74AF56" xml:lang="en"><title>Vector
-Floating Point Architecture (VFP)</title><shortdesc>Describes the implementation of the ARM Vector Floating Point Architecture
-(VFPv2) on Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>ARM provide a hardware floating point coprocessor that provides floating
-point computation that is fully compliant with IEEE Std 754-1985.We refer
-to the coprocessor as the <i>VFP unit</i>. </p>
-<p>Symbian platform supports the use of VFPv2 on platforms where the required
-hardware is present in both <i>RunFast</i> mode and in <i>IEEE-without-exceptions</i> mode.
-See ARM's Vector Floating-point Coprocessor Technical reference Manual for
-more details on the coprocessor, its architecture, and its execution modes. </p>
-<p>You should read the information in <xref href="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita">Floating
-point support</xref> about applications and user side code as this is also
-applicable to code running on the kernel side. However there are a number
-of restrictions that must be observed: </p>
-<ul>
-<li id="GUID-2205026D-0E6F-54AE-B74F-5478D6047B70"><p>You <i>cannot</i> use
-VFP instructions in any interrupt service routine. </p> </li>
-<li id="GUID-C8D896E1-CF36-52CD-A984-61D7A8189268"><p>You <i>cannot</i> use
-VFP instructions when the kernel is locked, for example, in an IDFC or after
-calling <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-7CBBF72B-4519-38DD-92CA-38AF636AFD8A"><apiname>NKern::Lock()</apiname></xref>  </p> </li>
-<li id="GUID-A7466A83-A8F2-58CE-AB8B-E05607BB6D95"><p>You <i>cannot</i> use
-VFP instructions in any section of code which runs with a fast mutex held. </p> </li>
-</ul>
-<p>Using VFP instructions in these situations can lead to data being corrupted,
-or the kernel panicking. If you rely on the compiler to generate VFP instructions,
-rather than using inline assembler, it is extremely important that you do
-not use any floating point values in these situations. The compiler may generate
-VFP instructions for the most trivial floating point operations and even for
-simple assignments. </p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5E358AB4-03A7-5859-ABF2-A8B64B74AF56" xml:lang="en"><title>Vector Floating Point Architecture (VFP)</title><shortdesc>Describes the implementation of the ARM Vector Floating
+Point Architecture (VFPv2) on Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>ARM provide a hardware floating point coprocessor that provides
+floating point computation that is fully compliant with IEEE Std 754-1985.We
+refer to the coprocessor as the <i>VFP unit</i>. </p>
+<p>Symbian platform supports the use of VFPv2 on platforms where the
+required hardware is present in both <i>RunFast</i> mode and in <i>IEEE-without-exceptions</i> mode. See ARM's Vector Floating-point
+Coprocessor Technical reference Manual for more details on the coprocessor,
+its architecture, and its execution modes. </p>
+<p>You should read Floating point support in Symbian^3 Tools Guide
+&gt; Building. The guide contains information about applications and
+user-side code, which is also applicable to code running
+on the kernel side. However there are a number of restrictions that
+must be observed: </p>
+<ul>
+<li id="GUID-2205026D-0E6F-54AE-B74F-5478D6047B70"><p>You <i>cannot</i> use VFP instructions in any interrupt service routine. </p> </li>
+<li id="GUID-C8D896E1-CF36-52CD-A984-61D7A8189268"><p>You <i>cannot</i> use VFP instructions when the kernel is locked, for example, in
+an IDFC or after calling <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-7CBBF72B-4519-38DD-92CA-38AF636AFD8A"><apiname>NKern::Lock()</apiname></xref>  </p> </li>
+<li id="GUID-A7466A83-A8F2-58CE-AB8B-E05607BB6D95"><p>You <i>cannot</i> use VFP instructions in any section of code which runs with a fast
+mutex held. </p> </li>
+</ul>
+<p>Using VFP instructions in these situations can lead to data being
+corrupted, or the kernel panicking. If you rely on the compiler to
+generate VFP instructions, rather than using inline assembler, it
+is extremely important that you do not use any floating point values
+in these situations. The compiler may generate VFP instructions for
+the most trivial floating point operations and even for simple assignments. </p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e482724_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e488553_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e1532_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e1536_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B"><title>UTrace API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic lists the various functionality changes in the UTrace API for UTF 2.0. It covers the following sub-topics: </p> <ul><li id="GUID-38742C23-EC0F-5FC9-95CF-954C0F2F614D"><p><xref href="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita#GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B/GUID-297E0D08-6176-532F-A93F-4ADDBEF26A92">API Changes</xref>  </p> </li> <li id="GUID-EE95523E-5E88-5000-95B2-3697284383A2"><p><xref href="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita#GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B/GUID-DB940B76-3F25-5F0C-821E-DE5E01E1F176">Trace Calls</xref>  </p> </li> <li id="GUID-B42F67DB-F1ED-5B3B-B597-CDEAE7FCF6C3"><p><xref href="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita#GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B/GUID-99E80B35-1A2A-550B-9139-9907DBBF926C">Exported Traces</xref>  </p> </li> <li id="GUID-665B50EC-1977-50FF-9960-2DD832030562"><p><xref href="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita#GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B/GUID-5F73A0BA-21F7-5B02-A745-A9311E068358">Trace Points</xref>  </p> </li> <li id="GUID-02058018-A828-53BE-B2B9-5C9974DF3E0A"><p><xref href="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita#GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B/GUID-EC57C2D4-6858-551E-8FE6-275FADECE488">Identifiers</xref>  </p> </li> </ul> <section id="GUID-297E0D08-6176-532F-A93F-4ADDBEF26A92"><title>API Changes</title> <p>The following table lists the various changes in the UTrace API for UTF 2.0: </p> <table id="GUID-030D2333-CDEA-56A9-B451-523814C8763C"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Item</entry> <entry>UTF 1.0</entry> <entry>UTF 2.0</entry> </row> </thead> <tbody><row><entry><p>Namespace </p> </entry> <entry><p>Not supported </p> </entry> <entry><p>UTF </p> </entry> </row> <row><entry><p>Class containing trace methods </p> </entry> <entry><p> <xref href="GUID-817BCF1D-8E11-3D81-AB0F-1AF1221CCA57.dita"><apiname>TUTrace</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-424ABDB3-9BBF-3273-A5BD-E21E068CEBAB.dita"><apiname>TTraceContext</apiname></xref>  </p> </entry> </row> <row><entry><p>8-bit filter and identifier </p> </entry> <entry><p> <codeph>TUint8 TPrimaryFilter </codeph>  </p> </entry> <entry><p> <codeph> TUint8 TClassification </codeph>  </p> </entry> </row> <row><entry><p>32-bit filter and identifier </p> </entry> <entry><p> <codeph>TUint32 TSecondaryFilter</codeph>  </p> </entry> <entry><p> <codeph>TUint32 TModuleUid </codeph>  </p> </entry> </row> <row><entry><p>8-bit identifier </p> </entry> <entry><p> <codeph>TUint8 TTraceSchema</codeph>  </p> </entry> <entry><p>Not supported </p> </entry> </row> <row><entry><p>16-bit identifier </p> </entry> <entry><p>Not supported </p> </entry> <entry><p> <codeph>TUint16 TFormatId </codeph>  </p> </entry> </row> <row><entry><p>Context ID </p> </entry> <entry><p> <codeph>TBool aIncludeContextId</codeph>  </p> </entry> <entry><codeblock id="GUID-2DA9F383-6816-5316-8DC5-619343EE932C" xml:space="preserve">enum THasThreadIdentification
-{
-   EAddThreadIdentification = ETrue,
-   ENoThreadIdentification = EFalse
-};
-</codeblock> </entry> </row> <row><entry><p>Program Counter </p> </entry> <entry><p> <codeph>TBool aIncludePc</codeph>  </p> </entry> <entry><codeblock id="GUID-4ABAB653-992B-5BE5-A70D-458DE04A3A03" xml:space="preserve">enum THasProgramCounter
-{
-   EAddProgramCounter = ETrue,
-   ENoProgramCounter = EFalse
-};
-</codeblock> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-DB940B76-3F25-5F0C-821E-DE5E01E1F176"><title>Trace Calls</title> <p>In UTF 1.0, all trace calls are contained in the <codeph>TUTrace</codeph> class and you can instantiate a <codeph>TUTrace</codeph> object. The <codeph>TUTrace</codeph> object sets some values, which are used when the trace functions are called. Alternatively, you can pass these values as parameters into each trace call. </p> <p>In UTF 2.0, all trace calls are defined as global static functions which do not belong to a class. Instead of using values stored in a <codeph>TUTrace</codeph> object each trace function takes a <codeph>TTraceContext</codeph> as a parameter. The <codeph>TTraceContext</codeph> class has constructors that set default values for the following parameters: </p> <table id="GUID-C31EF6D1-0278-5EB0-9405-67575462DFE3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Parameter</entry> <entry>Default Value</entry> </row> </thead> <tbody><row><entry><p>ModuleUid </p> </entry> <entry><p> <codeph>TTraceContext::DefaultModuleUid();</codeph>  </p> <p>Normally, it is <codeph>UID3</codeph> of an application. </p> <p> <b>Note</b>: To override the default ModuleUid, you can use <codeph>EXECUTABLE_DEFAULT_MODULEUID</codeph>, which is defined in <filepath>e32utrace_basic_types.h</filepath>. </p> </entry> </row> <row><entry><p>Thread Identification </p> </entry> <entry><p> <codeph>EAddThreadIdentification</codeph>  </p> <p> <b>Note</b>: To override the default setting for adding or not adding the thread identification in a trace packet, you can use <codeph>EXECUTABLE_DEFAULT_HAS_THREAD_IDENTIFICATION</codeph>. </p> </entry> </row> <row><entry><p>Program Counter </p> </entry> <entry><p> <codeph>ENoProgramCounter</codeph>  </p> <p> <b>Note</b>: To override the default setting for adding or not adding the program counter in a trace packet, you can use <codeph>EXECUTABLE_DEFAULT_HAS_PC</codeph>. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following code snippets explain how to override the default values: </p> <p> <b>MMP file</b>  </p> <codeblock id="GUID-61E51EEC-71B4-5128-BCA3-DF4A17584FCD" xml:space="preserve">
-
-#define SYMBIAN_INCLUDE_EXECUTABLE_TRACE
-//override the default values
-MACRO EXECUTABLE_DEFAULT_MODULEUID=0x00210D3B
-MACRO EXECUTABLE_DEFAULT_HAS_THREAD_IDENTIFICATION=ENoThreadIdentification
-MACRO EXECUTABLE_DEFAULT_HAS_PC=EAddProgramCounter 
-#include &lt;e32utrace.mmh&gt;
-
-</codeblock> <p> <b>CPP file</b>  </p> <codeblock id="GUID-E4A1F04B-A55F-5A00-9D8D-7A0362466D93" xml:space="preserve">#include &lt;e32utrace.h&gt;
-using namespace UTF;
-
-void e32main()
-{
-     
-     // print the trace using default ModuleUid, ThreadIdentification and ProgramCounter settings
-     Printf(TTraceContext(EBorder), “File handle is %s.”, iMyData);
-
-     // do a binary trace
-                    FormatId myDataFormat = KInitialClientFormat; //KInitialClientFormat as defined in e32utrace_basic_types.h
-     Trace(TTraceContext(EBorder), myDataFormat, iMyData, sizeof(iMyData)); // data to be included in the trace output
-
-     // override the default context values
-     TModuleUid useCaseA = 0x00210D3C;
-     Trace(TTraceContext(useCaseA, EBorder, ENoThreadIdentification, ENoProgramCounter), myDataFormat, iMyData, sizeof(iMyData));
-}</codeblock> <p> <b>Note</b>: In UTF 1.0, you must specify whether to send a trace using only a primary filter or a combination of primary and secondary filters. You must also set up Context ID and Program counter for each trace. </p> </section> <section id="GUID-99E80B35-1A2A-550B-9139-9907DBBF926C"><title>Exported Traces</title> <p>In UTF 1.0, the <filepath>e32btrace.h</filepath> header file needs to be included in source for the trace calls. </p> <p>In UTF 2.0, trace calls can be exported. To export the trace calls, you must include the <filepath>e32utrace.h</filepath> header file in the source and the <filepath>e32utrace.mmh</filepath> file in an <filepath>MMP</filepath> file. If you want to include trace data in ROM, then use the implemented version of the <filepath>utraceuser.dll</filepath>. To disable all traces in the entire ROM, replace the implemented DLL with the stubbed DLL called <filepath>utraceuserstubbed.dll</filepath>. This allows you to choose a stubbed version over an implemented version without recompiling all components at ROM build time. </p> </section> <section id="GUID-5F73A0BA-21F7-5B02-A745-A9311E068358"><title>Trace Points</title> <p>In UTF 1.0, the <codeph>#define SYMBIAN_TRACE_ENABLE</codeph> must be defined in an <filepath>MMP</filepath> file if traces are to be compiled into source code. In UTF 2.0, the following <codeph>define</codeph> statement is added instead of <codeph>#define SYMBIAN_TRACE_ENABLE</codeph>: </p> <p> <codeph>#define SYMBIAN_INCLUDE_EXECUTABLE_TRACE</codeph>  </p> <p>This must be defined in your <filepath>MMP</filepath> file to implement the traces in source. </p> </section> <section id="GUID-EC57C2D4-6858-551E-8FE6-275FADECE488"><title>Identifiers</title> <p>In UTF 2.0, the <codeph>TTraceSchema</codeph> (8-bit identifier) is removed and <codeph>TFormatId</codeph> (16-bit identifier) added in its place. The <codeph>TFormatId</codeph> identifier is used in conjunction with the Classification and the ModuleUid. It describes how the trace records are to be parsed on the host side. </p> <p>There are two pre-defined FormatIds, <codeph>KFormatIdPrintf</codeph> and <codeph>KFormatIdPrintfUnicode</codeph>, which differentiate between normal and unicode <codeph>printf</codeph> calls. These two pre-defined ids are sent as part of a trace packet generated by a call to any of the printf calls. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5E8AA6B6-38EB-5347-BA30-F9FF4BF7C107.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5E8AA6B6-38EB-5347-BA30-F9FF4BF7C107.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,7 +27,7 @@
 the SQL database. </p> <fig id="GUID-57F87249-8F4F-59B4-902C-2A577A120F1A">
 <title>              Message Server architecture with the SQL database   
         </title>
-<image href="GUID-38089CC3-D969-5501-9FDA-BB0369D5D6A9_d0e481505_href.png" placement="inline"/>
+<image href="GUID-38089CC3-D969-5501-9FDA-BB0369D5D6A9_d0e487334_href.png" placement="inline"/>
 </fig><note> Write operations like updating, creating and deleting entries
 require disk operation to retrieve <xref href="GUID-5A23B804-2C06-3407-9D48-1BFB212D699F.dita"><apiname>TMsvEntry</apiname></xref> from database,
 because the entry cache is always in synchronisation with the corresponding
--- a/Symbian3/PDK/Source/GUID-5E8B08F7-D8C7-5761-BA84-3C4DD49800D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5E8B08F7-D8C7-5761-BA84-3C4DD49800D2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-5E8B08F7-D8C7-5761-BA84-3C4DD49800D2"><title>Licensee TSY</title><shortdesc>A Licensee TSY (LTSY) is the platform-dependent part of a TSY. Licensees develop a LTSY to adapt the modem to Symbian platform. The LTSY should implement the functionality provided by the Common TSY (CTSY). This topic describes the Licensee TSY of the telephony server plug-ins. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>CTSY sends the requests to the LTSY, the LTSY responds to the requests with a <codeph>complete</codeph> method. LTSY can return a <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref> or one of the <xref href="GUID-87AB0DA8-E634-5D87-AD89-EFFB1090C9D0.dita#GUID-87AB0DA8-E634-5D87-AD89-EFFB1090C9D0/GUID-B1BDF73C-8C31-5351-936B-CB56239E8B17">error codes</xref> to CTSY in the <codeph>Complete</codeph> method. </p> <p>The CTSY and the telephony server run in the same thread and it is recommended that a LTSY also runs in this thread. An LTSY should have only one active scheduler and one or more static DLLs </p> <fig id="GUID-0DAB6B6A-B323-5C39-8DEE-17CA34CAC3E8"><title>
           LTSY Class diagram 
-        </title> <image href="GUID-B4241F5D-5F06-53C4-9F1E-BB7B5DD780B0_d0e55045_href.png" placement="inline"/></fig> <section><title>LTSY tasks</title> <p>A LTSY communicates with the baseband using proprietary software. A LTSY is an interface between the baseband and the CTSY. The main tasks of a LTSY are to: </p> <ul><li id="GUID-B4DFFCF6-F272-5D15-A701-04F88FB89398"><p>translate the baseband specific data to Symbian platform data types </p> </li> <li id="GUID-0B80E706-63A2-5D35-B2BD-A681F0396BC7"><p>convert the Symbian platform request to the baseband request for the telephony client data </p> </li> <li id="GUID-401C61CC-C6F1-5EA1-97A7-74894D490326"><p>map the baseband specific <xref href="GUID-87AB0DA8-E634-5D87-AD89-EFFB1090C9D0.dita#GUID-87AB0DA8-E634-5D87-AD89-EFFB1090C9D0/GUID-B1BDF73C-8C31-5351-936B-CB56239E8B17">error codes</xref> to Symbian platform error codes </p> </li> <li id="GUID-0BC008F1-F7B2-5B8A-9C79-6B90E2EFFB0E"><p>process incoming calls, emergency calls and Class 2 Type 0 SMS even in out of memory situations </p> </li> <li id="GUID-52017113-5A4C-55D6-946C-90F83CC96EA2"><p>notify the CTSY of baseband status changes </p> </li> <li id="GUID-27FE78E0-0D57-59A5-B958-BDC6966C70B7"><p>maintain a state machine, if required </p> </li> <li id="GUID-6AC13BCB-68F9-5468-A045-561972B54318"><p>allocate memory for the baseband messages during initialisation of the LTSY </p> </li> <li id="GUID-B38975C7-7825-5414-9281-60B3957F329B"><p>free the allocated memory when the baseband messages are sent back to the CTSY. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-FA5782F2-3E30-5EB9-A9E2-843CB9614FD6.dita"><linktext> Licensee TSY Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-B4241F5D-5F06-53C4-9F1E-BB7B5DD780B0_d0e59279_href.png" placement="inline"/></fig> <section><title>LTSY tasks</title> <p>A LTSY communicates with the baseband using proprietary software. A LTSY is an interface between the baseband and the CTSY. The main tasks of a LTSY are to: </p> <ul><li id="GUID-B4DFFCF6-F272-5D15-A701-04F88FB89398"><p>translate the baseband specific data to Symbian platform data types </p> </li> <li id="GUID-0B80E706-63A2-5D35-B2BD-A681F0396BC7"><p>convert the Symbian platform request to the baseband request for the telephony client data </p> </li> <li id="GUID-401C61CC-C6F1-5EA1-97A7-74894D490326"><p>map the baseband specific <xref href="GUID-87AB0DA8-E634-5D87-AD89-EFFB1090C9D0.dita#GUID-87AB0DA8-E634-5D87-AD89-EFFB1090C9D0/GUID-B1BDF73C-8C31-5351-936B-CB56239E8B17">error codes</xref> to Symbian platform error codes </p> </li> <li id="GUID-0BC008F1-F7B2-5B8A-9C79-6B90E2EFFB0E"><p>process incoming calls, emergency calls and Class 2 Type 0 SMS even in out of memory situations </p> </li> <li id="GUID-52017113-5A4C-55D6-946C-90F83CC96EA2"><p>notify the CTSY of baseband status changes </p> </li> <li id="GUID-27FE78E0-0D57-59A5-B958-BDC6966C70B7"><p>maintain a state machine, if required </p> </li> <li id="GUID-6AC13BCB-68F9-5468-A045-561972B54318"><p>allocate memory for the baseband messages during initialisation of the LTSY </p> </li> <li id="GUID-B38975C7-7825-5414-9281-60B3957F329B"><p>free the allocated memory when the baseband messages are sent back to the CTSY. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-FA5782F2-3E30-5EB9-A9E2-843CB9614FD6.dita"><linktext> Licensee TSY Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-5F38F219-B22D-42E6-973A-B4DBBC5984F8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5F38F219-B22D-42E6-973A-B4DBBC5984F8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 DRM-protected audio content</xref>.</p>
 <p>The following figure illustrates the general principle of DRM content
 authoring.</p>
-<fig id="GUID-266E6511-AC88-465C-BF88-5F3A608FE4BE"><title>Concept of Digital Rights Management</title><image href="GUID-3F4604B8-9154-4C98-BB6A-D3633C639F2B_d0e165692_href.png"/></fig>
+<fig id="GUID-266E6511-AC88-465C-BF88-5F3A608FE4BE"><title>Concept of Digital Rights Management</title><image href="GUID-3F4604B8-9154-4C98-BB6A-D3633C639F2B_d0e171785_href.png"/></fig>
 <p>The application itself can be DRM-protected. Use the <xref format="html" href="specs/guides/DRM_License_Checker_API_Specification/DRM_License_Checker_API_Specification.html" scope="external">DRM
 License Checker API</xref> to DRM-protect data files and skins in your
 application. To install a protected application, you must have a valid license.
--- a/Symbian3/PDK/Source/GUID-5F4510C9-5B16-593A-A225-37606800915B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5F4510C9-5B16-593A-A225-37606800915B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-5F4510C9-5B16-593A-A225-37606800915B"><title>Controlling Video Playback</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to control video playback. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to use the video player to control video playback. </p> <p><b>Required Background</b> </p> <p>The <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref> introduces the video client utilities. </p> <p><b>Introduction</b> </p> <p>The video player utility is used to open, play, and obtain information from sampled video data. This functionality is implemented by the <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita"><apiname>CVideoPlayerUtility</apiname></xref> class. The video data can be supplied either in a file, a descriptor or a URL. </p> <p>The sequence diagram below explains the different functionalities of the Video Player Utility: </p> <fig id="GUID-2EA17DB0-6634-5E49-BB86-01C42C1135FC"><title>
                 Video Player sequence diagram 
-             </title> <image href="GUID-821FEEDD-81B8-5511-AC4E-B673A96F8CB4_d0e520048_href.png" placement="inline"/></fig> </section> <section><title>Using Video Player </title> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-CAF49972-CFDE-5061-9218-31E38BC81B6D"><p><xref href="GUID-5F4510C9-5B16-593A-A225-37606800915B.dita#GUID-5F4510C9-5B16-593A-A225-37606800915B/GUID-B8EAAD02-FBDF-5C9D-B29E-0256FE85BEFC">Play Video Clips</xref>  </p> </li> <li id="GUID-6BAF2C1B-8A15-57D3-9DC0-A29A640AFFBF"><p><xref href="GUID-5F4510C9-5B16-593A-A225-37606800915B.dita#GUID-5F4510C9-5B16-593A-A225-37606800915B/GUID-FD4809DF-3F92-528D-856E-40E1F468B44E">Get Current Frame</xref>  </p> </li> </ul> <p id="GUID-B8EAAD02-FBDF-5C9D-B29E-0256FE85BEFC"><b>Playing Video Clips</b> </p> <p>The high level steps to play video clips are shown here: </p> <ol id="GUID-7B98B85D-2B14-5613-9B12-B804B64F9AC6"><li id="GUID-101DA10D-4871-596C-9B70-F5A7465AA466"><p>After configuring the properties, the <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-A9DCC4EB-B4B3-3AF4-B78C-DC3531A32DCC"><apiname>CVideoPlayerUtility::Play()</apiname></xref> function is called for the video clip to be played. </p> </li> <li id="GUID-99101893-33E0-5C2D-981C-FEF63EC19126"><p>The play can be paused for a small duration using <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-CCF5BF0E-BD93-34AC-812E-443ECD07FE26"><apiname>CVideoPlayerUtility::PauseL()</apiname></xref> and later resumed by calling <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-A9DCC4EB-B4B3-3AF4-B78C-DC3531A32DCC"><apiname>CVideoPlayerUtility::Play()</apiname></xref> function once again. </p> </li> <li id="GUID-25191728-63D1-5479-8B60-3B047E9FAD80"><p>To halt the video play <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-C103A911-AF93-3350-B731-C186A279F1DC"><apiname>CVideoPlayerUtility::Stop()</apiname></xref> is called. </p> </li> <li id="GUID-950B9AA4-E72B-5FCD-91EB-623A98E290E2"><p>In order to unload all related controllers and return, use <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-C30FFC28-BA6E-3467-9DE7-EE0FF6202E26"><apiname>CVideoPlayerUtility::Close()</apiname></xref>. </p> </li> </ol> <p>These high level steps are shown in the following example code: </p> <codeblock id="GUID-6CC6023A-FBFF-549B-BE29-16AF112D2BB3" xml:space="preserve">void CPlayVideo::Play() //Starts playback of the video clip
+             </title> <image href="GUID-821FEEDD-81B8-5511-AC4E-B673A96F8CB4_d0e527508_href.png" placement="inline"/></fig> </section> <section><title>Using Video Player </title> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-CAF49972-CFDE-5061-9218-31E38BC81B6D"><p><xref href="GUID-5F4510C9-5B16-593A-A225-37606800915B.dita#GUID-5F4510C9-5B16-593A-A225-37606800915B/GUID-B8EAAD02-FBDF-5C9D-B29E-0256FE85BEFC">Play Video Clips</xref>  </p> </li> <li id="GUID-6BAF2C1B-8A15-57D3-9DC0-A29A640AFFBF"><p><xref href="GUID-5F4510C9-5B16-593A-A225-37606800915B.dita#GUID-5F4510C9-5B16-593A-A225-37606800915B/GUID-FD4809DF-3F92-528D-856E-40E1F468B44E">Get Current Frame</xref>  </p> </li> </ul> <p id="GUID-B8EAAD02-FBDF-5C9D-B29E-0256FE85BEFC"><b>Playing Video Clips</b> </p> <p>The high level steps to play video clips are shown here: </p> <ol id="GUID-7B98B85D-2B14-5613-9B12-B804B64F9AC6"><li id="GUID-101DA10D-4871-596C-9B70-F5A7465AA466"><p>After configuring the properties, the <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-A9DCC4EB-B4B3-3AF4-B78C-DC3531A32DCC"><apiname>CVideoPlayerUtility::Play()</apiname></xref> function is called for the video clip to be played. </p> </li> <li id="GUID-99101893-33E0-5C2D-981C-FEF63EC19126"><p>The play can be paused for a small duration using <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-CCF5BF0E-BD93-34AC-812E-443ECD07FE26"><apiname>CVideoPlayerUtility::PauseL()</apiname></xref> and later resumed by calling <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-A9DCC4EB-B4B3-3AF4-B78C-DC3531A32DCC"><apiname>CVideoPlayerUtility::Play()</apiname></xref> function once again. </p> </li> <li id="GUID-25191728-63D1-5479-8B60-3B047E9FAD80"><p>To halt the video play <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-C103A911-AF93-3350-B731-C186A279F1DC"><apiname>CVideoPlayerUtility::Stop()</apiname></xref> is called. </p> </li> <li id="GUID-950B9AA4-E72B-5FCD-91EB-623A98E290E2"><p>In order to unload all related controllers and return, use <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-C30FFC28-BA6E-3467-9DE7-EE0FF6202E26"><apiname>CVideoPlayerUtility::Close()</apiname></xref>. </p> </li> </ol> <p>These high level steps are shown in the following example code: </p> <codeblock id="GUID-6CC6023A-FBFF-549B-BE29-16AF112D2BB3" xml:space="preserve">void CPlayVideo::Play() //Starts playback of the video clip
     {
     iVideoUtility-&gt;Play();
     } 
Binary file Symbian3/PDK/Source/GUID-5F72210C-1636-584D-9D89-987D25136975_d0e596477_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F72210C-1636-584D-9D89-987D25136975_d0e614422_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F72210C-1636-584D-9D89-987D25136975_d0e624371_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F747E90-CB8A-5EF7-833F-E63B6A0A4402_d0e231290_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F747E90-CB8A-5EF7-833F-E63B6A0A4402_d0e237285_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5F749184-C804-41FC-BA81-038783BDC967.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5F749184-C804-41FC-BA81-038783BDC967.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,38 +1,37 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5F749184-C804-41FC-BA81-038783BDC967" xml:lang="en"><title>Resources</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In Symbian mobile application development, resource files are used for
-defining user interface components and visible text. The advantage of using
-resource files include:</p>
-<ul>
-<li><p>making source code shorter and simpler</p></li>
-<li><p>saving memory, because text is loaded only when needed</p>
-</li>
-<li><p>making it easier to implement localization to different language
-groups</p></li>
-</ul>
-<p>A key example of the use of resource files is found in the implementation
-of <xref href="GUID-F3262DF6-39CA-4E96-AD0E-C1FFDE9B0A61.dita">AVKON components</xref>.
-AVKON UI components consist of data structures that are defined in the <ph>resource files</ph> , and then are called from the classes controlling the UI implementation.
-When UI component implementation is split into these two approaches, it means
-that resources can be recompiled, for example for new languages, without having
-to recompile the application code.</p>
-<p>For more information on managing resource files, see:</p>
-<ul>
-<li><p><xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing
-resource files</xref></p>
-</li>
-<li><p><xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
-and localization</xref></p>
-</li>
-</ul>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5F749184-C804-41FC-BA81-038783BDC967" xml:lang="en"><title>Resources</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In Symbian mobile application development, resource files are
+used for defining user interface components and visible text. The
+advantage of using resource files include:</p>
+<ul>
+<li><p>making source code shorter and simpler</p>
+</li>
+<li><p>saving memory, because text is loaded only when needed</p>
+</li>
+<li><p>making it easier to implement localization to different
+language groups</p></li>
+</ul>
+<p>A key example of the use of resource files is found in the implementation
+of <xref href="GUID-F3262DF6-39CA-4E96-AD0E-C1FFDE9B0A61.dita">AVKON components</xref>. AVKON UI components consist of data structures that are defined
+in the <ph>resource
+files</ph> , and then are called from the classes controlling the UI implementation.
+When UI component implementation is split into these two approaches,
+it means that resources can be recompiled, for example for new languages,
+without having to recompile the application code.</p>
+<p>For more information on managing resource files, see:</p>
+<ul>
+<li><p><xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing resource files</xref></p></li>
+<li><p><xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
+and localization</xref></p></li>
+</ul>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5F7CDE80-ED4E-592E-983D-C6C2E7EEC7E0_d0e230658_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F7CDE80-ED4E-592E-983D-C6C2E7EEC7E0_d0e236653_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F9BEEF7-19BC-550F-BD97-60F70B55E906_d0e277039_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5F9BEEF7-19BC-550F-BD97-60F70B55E906_d0e283039_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,4 +12,4 @@
 <concept xml:lang="en" id="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28"><title>Positioning Indicator API</title><shortdesc>The Positioning Indicator API defines P&amp;S keys for publishing and subscribing for the current status of positioning hardware in the mobile device. The API is deprecated. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>It was intended for use by UI components (such as the UI status bar) that require updates of that status of positioning hardware. The <xref href="GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita">Integrated GPS Hardware Status API</xref> now contains an observer class that allows UI components to receive hardware status updates. </p> <section><title>Contents</title> <ul><li id="GUID-2129C0C5-1C66-58AD-82C7-8990B2B4D5CA"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-CBCF690A-3FBE-5A8C-9AAC-E12A4565C6B2">Purpose</xref>  </p> </li> <li id="GUID-69DCEBEE-1F8E-550A-BF02-C5E2AC7C4A08"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-8D6F0FC2-CE3F-576F-BDE6-3015CF1A5B4F">API description</xref>  </p> </li> <li id="GUID-FFA6E3D6-2554-5A05-8DF2-AD8F33FB0423"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-A0B6F0BC-3F89-5985-95C4-3955DF0FFF59">API summary</xref>  </p> </li> <li id="GUID-A83AAD17-B67B-5F75-A8FF-4CB2ACB9875A"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-9A9A272B-955E-5478-AD11-443F5889F842">Using the API</xref>  </p> <ul><li id="GUID-E46D8FD4-1A7D-58CA-A1E7-545BDB27AC91"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-2E136F4D-158C-5FC3-95AD-353C9873D9D3">Updating the state of a </xref> <xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-2E136F4D-158C-5FC3-95AD-353C9873D9D3">positioning UI indicator</xref>  </p> </li> </ul> </li> <li id="GUID-00C55B66-2194-511D-9031-7D32D78149D4"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-E54337E0-5384-5E7A-B166-5D8FA5F173C7">Error handling</xref>  </p> </li> <li id="GUID-907D007F-69A0-56E2-AC10-5478579D51E2"><p><xref href="GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28.dita#GUID-5FAF3185-66B3-5783-84FB-1947DCCDEE28/GUID-C360B60B-3394-5B1A-92DD-097B4915B3DE">See also</xref>  </p> </li> </ul> </section> <section id="GUID-CBCF690A-3FBE-5A8C-9AAC-E12A4565C6B2"><title>Purpose</title> <p>This document describes the Positioning Indicator API. It defines <xref href="GUID-A81C65CF-CF4E-571C-8080-9D387F46AAD6.dita">Publish and Subscribe</xref> (P&amp;S) keys for properties for notifying of changes to GPS hardware status. </p> <p>The API is deprecated. It was intended for use by UI components. The <xref href="GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita">Integrated GPS Hardware Status API</xref> is the recommended way of updating UI components with the GPS hardware status. </p> </section> <section id="GUID-8D6F0FC2-CE3F-576F-BDE6-3015CF1A5B4F"><title>API description</title> <p>The API can be used to update UI components when the status of GPS hardware changes. </p> </section> <section id="GUID-A0B6F0BC-3F89-5985-95C4-3955DF0FFF59"><title>API summary</title> <p>The API defines no classes. It defines only global constants which are the Positioning UI Indicator P&amp;S category (<xref href="GUID-73D84B07-DECC-371C-9C83-ED58359C4B0B.dita"><apiname>KPosIndicatorCategory</apiname></xref>) and key (<xref href="GUID-5296D5A3-35E5-35CC-AE76-915D73CC4A65.dita"><apiname>KPosIntGpsHwStatus</apiname></xref>) and an enumeration <xref href="GUID-78564085-1706-3B1D-AE74-9E6E0BC8F799.dita"><apiname>TPosIntGpsHwState</apiname></xref> that defines the values that the P&amp;S property can take. </p> <p>The definitions are in <filepath>locationfwdomainpsKey.h</filepath> are summarised in table 1. </p> <table id="GUID-CAA47900-3E3F-5A10-BEE5-7F60C196315F"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Constant Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-73D84B07-DECC-371C-9C83-ED58359C4B0B.dita"><apiname>KPosIndicatorCategory</apiname></xref>  </p> </entry> <entry><p>The UID of Positioning Indicator P&amp;S keys category. </p> </entry> </row> <row><entry><p> <xref href="GUID-5296D5A3-35E5-35CC-AE76-915D73CC4A65.dita"><apiname>KPosIntGpsHwStatus</apiname></xref>  </p> </entry> <entry><p>The ID of the Integrated GPS HW status key. It contain values defined by <xref href="GUID-F948CC28-06B2-3C47-95B0-D1445C37839E.dita"><apiname>TPosIntGpsHwIndicatorState</apiname></xref>. </p> <p>The default value (i.e. when this key is not found) is <xref href="GUID-37710FB3-E772-348B-8551-A8DFB5A565CB.dita"><apiname>EPosIntGpsHwIndicatorOff</apiname></xref>. </p> <p>If it contains any value other than one defined in <xref href="GUID-78564085-1706-3B1D-AE74-9E6E0BC8F799.dita"><apiname>TPosIntGpsHwState</apiname></xref>, the value must be ignored and <xref href="GUID-AE301331-5CE9-39D8-B690-4A03FBCF59E3.dita#GUID-AE301331-5CE9-39D8-B690-4A03FBCF59E3/GUID-5C833EDB-6A2C-3BBE-A99C-EB30CC46E3C2"><apiname>TPosIndicatorState::EPosIntGpsHwIndicatorOff</apiname></xref> must be assumed. </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 1. Positioning IndicatorP&amp;S category and key definitions.</i>  </p> <p><b>Libraries </b> </p> <p>The P&amp;S keys of the Positioning Indicator API are defined in <filepath>locationfwdomainpsKey.h</filepath>. This API uses the Publish and Subscribe API and there are no additional libraries required by a client. </p> <p><b>Capabilities </b> </p> <p>An API client does not require any capabilities to read the property value. </p> </section> <section id="GUID-9A9A272B-955E-5478-AD11-443F5889F842"><title>Using the API</title> <p>This API supports only one typical use case: </p> <p id="GUID-2E136F4D-158C-5FC3-95AD-353C9873D9D3"><b>Updating the state of a positioning UI indicator</b> </p> <p>The API client (a component responsible for updating the status of a UI indicator component) reads the current state of integrated GPS hardware using Publish &amp; Subscribe API (see <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> for details). </p> <p>The client subscribes for changes in <xref href="GUID-5296D5A3-35E5-35CC-AE76-915D73CC4A65.dita"><apiname>KPosIntGpsHwStatus</apiname></xref> P&amp;S key from <xref href="GUID-73D84B07-DECC-371C-9C83-ED58359C4B0B.dita"><apiname>KPosIndicatorCategory</apiname></xref> category. When a state change is reported, a client reads the new value and update UI indicator accordingly. </p> <p>The <xref href="GUID-78564085-1706-3B1D-AE74-9E6E0BC8F799.dita"><apiname>TPosIntGpsHwState</apiname></xref> enumeration defines the possible values of the <xref href="GUID-5296D5A3-35E5-35CC-AE76-915D73CC4A65.dita"><apiname>KPosIntGpsHwStatus</apiname></xref> property. If any other value is retrieved it must be ignored and the value <xref href="GUID-AE301331-5CE9-39D8-B690-4A03FBCF59E3.dita#GUID-AE301331-5CE9-39D8-B690-4A03FBCF59E3/GUID-5C833EDB-6A2C-3BBE-A99C-EB30CC46E3C2"><apiname>TPosIndicatorState::EPosIntGpsHwIndicatorOff</apiname></xref> assumed. If the key is not found, then <codeph>EPosIntGpsHwIndicatorOff</codeph> must be assumed as its value. </p> <p>Figure 1 shows how a client reads and updates UI indicator based on the states of Positioning Indicator P&amp;S key. </p> <fig id="GUID-CE95624C-1E4C-5C3E-A28E-17B45E2CA742"><title>
                 Figure 1. Updating the state of Positioning UI Indicator sequence
                 diagram 
-             </title> <image href="GUID-504C5CD8-DF83-5657-9D38-E94151C84802_d0e448529_href.png" placement="inline"/></fig> <p>Refer to <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> class description in the Symbian platform Reference and "Publish and Subscribe" article in Symbian Guide for further details on using P&amp;S keys. </p> <p>The following table describes the mapping of <xref href="GUID-5296D5A3-35E5-35CC-AE76-915D73CC4A65.dita"><apiname>KPosIntGpsHwStatus</apiname></xref> key values and status of the UI indicator that should be set: </p> <table id="GUID-8E49701A-F83C-59A1-A5FA-89DEE4A24186"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Key value</entry> <entry>Indicator state</entry> <entry>Comment</entry> </row> </thead> <tbody><row><entry><p> <codeph>TPosIndicatorState::EPosIntGpsHwOff</codeph>  </p> </entry> <entry><p>Hidden </p> </entry> <entry><p>GPS hardware is OFF and indicator should be hidden. </p> </entry> </row> <row><entry><p> <codeph>TPosIndicatorState::EPosIntGpsHwOn</codeph>  </p> </entry> <entry><p>Shown </p> </entry> <entry><p>GPS hardware is ON and indicator should be shown. </p> </entry> </row> <row><entry><p> <codeph>TPosIndicatorState::EPosIntGpsHwIntermediate</codeph>  </p> </entry> <entry><p>Animated </p> </entry> <entry><p>GPS hardware in intermediate state. UI indicator is shown in intermediate (possibly animated) state. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-E54337E0-5384-5E7A-B166-5D8FA5F173C7"><title>Error handling</title> <p>This API does not define or use any error codes. </p> <p>Refer to <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> class description in the Symbian platform Reference for further details on error handling in Publish &amp; Subscribe API. </p> </section> <section id="GUID-C360B60B-3394-5B1A-92DD-097B4915B3DE"><title>See also</title> <p><xref href="GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita">Integrated GPS Hardware Status API</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+             </title> <image href="GUID-504C5CD8-DF83-5657-9D38-E94151C84802_d0e454374_href.png" placement="inline"/></fig> <p>Refer to <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> class description in the Symbian platform Reference and "Publish and Subscribe" article in Symbian Guide for further details on using P&amp;S keys. </p> <p>The following table describes the mapping of <xref href="GUID-5296D5A3-35E5-35CC-AE76-915D73CC4A65.dita"><apiname>KPosIntGpsHwStatus</apiname></xref> key values and status of the UI indicator that should be set: </p> <table id="GUID-8E49701A-F83C-59A1-A5FA-89DEE4A24186"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Key value</entry> <entry>Indicator state</entry> <entry>Comment</entry> </row> </thead> <tbody><row><entry><p> <codeph>TPosIndicatorState::EPosIntGpsHwOff</codeph>  </p> </entry> <entry><p>Hidden </p> </entry> <entry><p>GPS hardware is OFF and indicator should be hidden. </p> </entry> </row> <row><entry><p> <codeph>TPosIndicatorState::EPosIntGpsHwOn</codeph>  </p> </entry> <entry><p>Shown </p> </entry> <entry><p>GPS hardware is ON and indicator should be shown. </p> </entry> </row> <row><entry><p> <codeph>TPosIndicatorState::EPosIntGpsHwIntermediate</codeph>  </p> </entry> <entry><p>Animated </p> </entry> <entry><p>GPS hardware in intermediate state. UI indicator is shown in intermediate (possibly animated) state. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-E54337E0-5384-5E7A-B166-5D8FA5F173C7"><title>Error handling</title> <p>This API does not define or use any error codes. </p> <p>Refer to <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> class description in the Symbian platform Reference for further details on error handling in Publish &amp; Subscribe API. </p> </section> <section id="GUID-C360B60B-3394-5B1A-92DD-097B4915B3DE"><title>See also</title> <p><xref href="GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita">Integrated GPS Hardware Status API</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e382417_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e388270_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5FE10ECA-1FAB-4E4F-A1D9-67D379EE8CB3_d0e498128_href.png has changed
Binary file Symbian3/PDK/Source/GUID-5FE10ECA-1FAB-4E4F-A1D9-67D379EE8CB3_d0e505590_href.png has changed
--- a/Symbian3/PDK/Source/GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0" xml:lang="en"><title>Resource
-builder tool: epocrc</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Purpose</title> <p> <filepath>epocrc</filepath> combines the
-actions of passing a resource file through the C++ preprocessor, and then
-compiling it with <filepath>rcomp</filepath>. </p> </section>
-<section id="GUID-B5C61C4D-7AC0-503B-B164-A24C417444FB"><title>Command line
-syntax</title><userinput><cmdname>epocrc </cmdname>[-D<parmname>args</parmname>]
-[-I<parmname>args</parmname>] [-u] [-t<parmname>tmpdir</parmname>] [-uid2 <parmname>uid</parmname>]
-[-uid3 <parmname>uid</parmname>] <parmname>source-file</parmname> [-o<parmname>output-file</parmname>]
-[-h<parmname>header-file</parmname>] </userinput><p><b>Arguments</b> </p> <table id="GUID-34194FD9-B978-51A6-BA9A-BEEBE3649303">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-D</codeph> <varname>args</varname>  </p> </entry>
-<entry><p>Pass arguments <varname>args</varname> to the preprocessor's -D
-(macro definitions) option. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-I</codeph> <varname>args</varname>  </p> </entry>
-<entry><p>Pass arguments <varname>args</varname> to the preprocessor's -I
-(additional include files path) option. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-u</codeph>  </p> </entry>
-<entry><p>Generate a Unicode resource binary. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-t</codeph> <varname>tmpdir</varname>  </p> </entry>
-<entry><p>Create any temporary files in the directory <varname>tmpdir</varname>. </p> <p>If
-this option is not specified, the current directory is used. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-uid2</codeph>  <varname>uid</varname>  </p> </entry>
-<entry><p>Second UID for the resource file. Specifying either -uid2 or -uid3
-overrides all UIDs specified in the source file. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-uid3</codeph>  <varname>uid</varname>  </p> </entry>
-<entry><p>Third UID for the resource file </p> </entry>
-</row>
-<row>
-<entry><p> <varname>source-file</varname>  </p> </entry>
-<entry><p>Name (and path if the file is not in the current directory) of the
-resource file to compile </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-o</codeph> <varname>output-file</varname>  </p> </entry>
-<entry><p>Create data output file <varname>output-file</varname>. If a path
-is not specified, the current directory is used. </p> <p>If this option is
-not specified, no data output file is created. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-h</codeph> <varname>header-file</varname>  </p> </entry>
-<entry><p>Create header output file <varname>header-file</varname>. If a path
-is not specified, the current directory is used. </p> <p>If this option is
-not specified, no header output file is created. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-v</codeph>  </p> </entry>
-<entry><p>Verbose. Displays the command line syntax. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Output files</b> </p> <table id="GUID-A29C41E0-D092-5B1A-A857-B0B8364BB1AA">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <varname>output-file</varname>  </p> </entry>
-<entry><p>Compiled resource data referred to by the application at run-time. </p> </entry>
-</row>
-<row>
-<entry><p> <varname>header-file</varname>  </p> </entry>
-<entry><p>The generated header file defining macro identifiers for referring
-to resources by a resource index </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p id="GUID-014671B6-C19E-528A-984C-D8226375AC5A"><b>epocrc configuration
-file format</b> </p> <p>Apart from the options listed above, you can use the <filepath>epocrc.config</filepath> file
-located at <filepath>epoc32\tools\</filepath> to configure the pre-processor
-and the <codeph>rcomp</codeph> tool. The file is supplied to each Symbian
-platform licensee as they need it, but it may not be present on some platforms. </p> <p>The <filepath>epocrc.config</filepath> file
-contains the following options: </p> <ul>
-<li id="GUID-0E0AE904-D462-5780-898E-95E04AA5884D"><p> <codeph>check_rls_items</codeph>:
-This option can either be set to 0 or 1. If you want to check for the presence
-of localisation comment tags before each RLS item declaration, set it to 1,
-otherwise set it to 0. If there are no localisation comment tags within the
-resource file, it is assumed that localisation is not required for this file. </p> </li>
-<li id="GUID-ABEB6B58-5C5A-5D21-A74C-7B4DFFD1EBC9"><p> <codeph>strict_checking</codeph>:
-This option can either be set to 0 or 1. If you set it to 1, the <codeph>rcomp</codeph> tool
-warns you if the <filepath>rpp</filepath> file contains RLS item declarations
-without the localisation comment tags. If you want to enable this functionality,
-you must set <codeph>check_rls_items</codeph> to 1. </p> </li>
-<li id="GUID-5F0CD403-B332-594A-AAF0-7D7BE11882C1"><p> <codeph>include:</codeph>:
-This option is used to specify files and directories, which need to be passed
-to the C++ pre-processor. File names and directory names must be relative
-to <codeph>EPOCROOT</codeph>. </p> </li>
-</ul><note>  You can comment a line in the <filepath>epocrc.config</filepath> file
-by preceding it by '#'. </note> <p>Here is an example of the <filepath>epocrc.config</filepath> file,
-which enables the <codeph>strict_checking</codeph> and <codeph>check_rls_items</codeph> options,
-and lists the resource headers to be included using the <codeph>include:</codeph> option: </p> <codeblock id="GUID-F02F6D20-6370-5092-A1B8-D4EA475ECAE4" xml:space="preserve"># epocrc.config
-#
-# Copyright (c) 2005 Symbian Ltd.  All rights reserved.
-#
-check_rls_items = 1;
-strict_checking = 1;
-include: epoc32\include\SymbianTags.rh
-include: epoc32\include\SymbainContexts.rh
-</codeblock> </section>
-<section><title>Example</title> <p>The following example compiles the source
-file <filepath>ex.rss</filepath> into the compiled resource file <filepath>ex.rsc</filepath> and
-the header file <filepath>ex.rsg</filepath>. </p> <p><userinput>epocrc -I\symbian\epoc32\include\
--u ex.rss -oex.rsc -hex.rsg</userinput> </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6006AAB0-B319-546F-8D79-E2D4887A1E72.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6006AAB0-B319-546F-8D79-E2D4887A1E72.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 items; for example, a stack.</p>
 <fig id="GUID-8FC485D1-5B95-5B71-94F1-00C78A61F7F0">
 <title>Singly linked list</title>
-<image href="GUID-25CBA151-ED8E-5A88-A9FD-F20810371B4D_d0e316032_href.png" placement="inline"/>
+<image href="GUID-25CBA151-ED8E-5A88-A9FD-F20810371B4D_d0e322022_href.png" placement="inline"/>
 </fig>
 <p>Singly linked lists involve the creation and use of the classes:</p>
 <ul>
Binary file Symbian3/PDK/Source/GUID-600DCD27-ADC0-40D7-B061-1D44238363BA_d0e163531_href.png has changed
Binary file Symbian3/PDK/Source/GUID-600DCD27-ADC0-40D7-B061-1D44238363BA_d0e169624_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6025A68F-625B-570A-87D7-2C11E66044D4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6025A68F-625B-570A-87D7-2C11E66044D4" xml:lang="en"><title>Build
-FAQ</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This page gives some quick answers to problems and issues you may encounter
-when building code. </p>
-<p><b>Why do applications build to the Symbian Emulator's Z: drive? </b> </p>
-<p>The build tools were originally designed for building ROM-based applications,
-and so assume that applications should be placed in the emulated ROM area
-(i.e. <filepath>epoc32\release\winscw\udeb\ or urel\</filepath>). Third party
-applications intended to loaded on disk are also built to this location, but
-this doesn't mean they can only be installed in ROM or have any other impact
-on them. (Note that your code should not assume that it will be installed
-on any particular drive, as this is choice is best left to the user). </p>
-<p><b>Why does abld makefile give a WARNING: Can't find following headers
-in System Include Path message, even though I export the header(s) in my bld.inf? </b> </p>
-<p>You can specify that headers from your project should be copied into the
-system headers directory, <filepath>epoc32\include</filepath>, by using a <xref href="GUID-3A05CD69-0AB6-5549-B18A-842F49C06874.dita">prj_exports</xref> statement
-in the <filepath>bld.inf</filepath> file. The header is not actually copied
-though until an <systemoutput>abld export</systemoutput> command, or a command
-that calls this, such as <systemoutput>abld   build</systemoutput> is executed.
-The solution is to call <systemoutput>abld  export</systemoutput> before <codeph>abld
-makefile</codeph>. </p>
-<p><b>What Symbian platform tools can I cause to be invoked through a project
-file keywords? </b> </p>
-<p>The chief purpose of a project (<filepath>.mmp</filepath>) file is to specify
-the source files and options to pass to the appropriate compiler toolchain
-for the platform. In many cases though, you will want to create a number of
-additional, Symbian platform-specific, support files as part of the project
-build. You can invoke the tools to create such files by specifying a number
-of project file keywords: </p>
-<ul>
-<li id="GUID-333315F5-A398-558A-AA84-9D4DBAE692E7"><p><xref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita">start
-resource</xref> to compile resource files </p> </li>
-<li id="GUID-D5B552A6-7FA8-5355-BEA5-1292982FD8F2"><p><xref href="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita">start
-bitmap</xref> to compile multi-bitmap files. </p> </li>
-</ul>
-<p>Of the other commonly used Symbian platform tools, the project file does
-not specify keywords that invoke the: </p>
-<ul>
-<li id="GUID-9F52256D-11AD-5074-8F33-F3570E32686A"><p><xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">Installation
-File Generator</xref> (<filepath>makesis</filepath>) </p> </li>
-<li id="GUID-905AD8FA-29DE-5DE1-85FA-D22C64658C5A"><p><xref href="GUID-3170F958-137A-5DD5-A6DD-D5474ABECD22.dita">Certification
-Generator</xref> (<filepath>makekeys</filepath>) </p> </li>
-<li id="GUID-DB06BD93-6521-5B4F-BFEB-72235B396200"><p><b>Context
-Sensitive Help Compiler</b> (<filepath>cshlpcmp</filepath>)</p></li>
-</ul>
-<p>Note though you can invoke these, and any other tools, through <xref href="GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita">extension
-makefiles</xref>. </p>
-<p><b>What are edll.obj and eexe.obj? </b> </p>
-<p>The build process builds into each <filepath>.exe</filepath> file a small
-object file, <filepath>eexe.lib</filepath>, which contains a small amount
-of code to manage process startup. Similiarly, each DLL has an object file <filepath>edll.lib</filepath> built
-into it. </p>
-<p><b>Why does the build give a message diff: &lt;file-path-and-name&gt;: No
-such file or directory? </b> </p>
-<p>This message appears when building a project's resource or multi-bitmap
-file for the first time. It can be ignored. </p>
-<p><b>Why do I get a LNK2001: unresolved external symbol __chkstk error? </b> </p>
-<p>The program exceeds the stack space available, e.g. by creating a large <codeph>TBuf</codeph> on
-the stack. The solution is to reduce the use of stack space by using the heap
-appropriately. </p>
-<p><b>How can I change the libraries for a project open in an IDE? </b> </p>
-<p>To change a project's libraries, you should edit the <filepath>.mmp</filepath> file's <xref href="GUID-36AA53D2-A117-5D80-A5B4-67EF865DC40E.dita">library</xref> statement
-as normal, and then regenerate the IDE workspace using <systemoutput>abld
-makefile</systemoutput>. </p>
-<p><b>Where are the .lib files for ARM debug builds? </b> </p>
-<p>The <filepath>.lib</filepath> files required for ARM debug builds are identical
-to those for release builds, so the build tools use a single copy of the libs
-in the <filepath>urel</filepath> directory. </p>
-<p><b>Why do I get an error from petran when I build for ARM, when the WINS/WINSCW
-build is fine? </b> </p>
-<p> <filepath>petran</filepath> is a tool that is invoked only at the final
-stage of the build process for ARM targets. It will give an error if you build
-a DLL that contains writeable static data. See <xref href="GUID-5BDE6462-E6CA-5738-A587-C7D875574789.dita">Static
-data</xref> for more information. </p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6067DF61-D32F-4029-ADCD-9E69CA564212.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6067DF61-D32F-4029-ADCD-9E69CA564212" xml:lang="en"><title>Key
-presses</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A key press is a press and release of a key (down and up).</p>
-<p>Typically, the primary action of the key is performed when the key is pressed
-down, already before the key is released (there may be exceptions to this
-rule; see <xref href="GUID-26435FE1-D912-4AA2-96EE-82B35DA231E6.dita">Typical functions
-of the standard keys</xref> for an example).</p>
-<p>Some functions depend on the length of the key press:</p>
-<ul>
-<li><p>In a short press, the key is held down for less than 0.6 seconds (please
-note that this time-out value may depend on the product implementation). If
-the key is held down longer, the result is a long key press.</p></li>
-<li><p>If the pressed key (in the given context) has functions for both a
-short and long press, the short key press action is performed first at the
-moment when the key is pressed down. If the key press is long, then the long
-key press action is performed. In the case of the Home / Menu key and the
-Edit key, the interaction is different, causing the action on the key release
-event. </p></li>
-<li><p>Certain keys, possibly in certain contexts only, may perform key repeat.
-Key repeat starts after the long key press time-out when the key is continuously
-being held down, and the associated function is performed according to the
-key repeat frequency. For example, in scrolling within lists and text editors,
-these frequencies are by default 6 times/second for vertical and 10 times/second
-for horizontal scrolling (the repeat frequency may be product or application
-specific). </p></li>
-<li><p>Long key press actions and key repeat actions are not defined at the
-same time; only one can occur in the given context. </p></li>
-<li><p>The primary key press action should not be conflicting with the long
-key press action or key repeat action.</p></li>
-</ul>
-<note> With certain input hardware (for example, Roller), long
-key presses and key repeat may not be possible. The long key press actions
-and key repeat actions should be designed so that this does not cause harm:
-the long key press must never be the only way to perform a function</note>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-60890859-C8B7-4677-962A-B5AE73D42F86_d0e105451_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-60890859-C8B7-4677-962A-B5AE73D42F86_d0e107894_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-60949ACD-AAA9-540E-85AE-BB173382D548_d0e375842_href.png has changed
Binary file Symbian3/PDK/Source/GUID-60949ACD-AAA9-540E-85AE-BB173382D548_d0e381686_href.png has changed
Binary file Symbian3/PDK/Source/GUID-60AB43B9-29B1-5BAC-B70A-617C279321C1_d0e244335_href.png has changed
Binary file Symbian3/PDK/Source/GUID-60AB43B9-29B1-5BAC-B70A-617C279321C1_d0e250346_href.png has changed
Binary file Symbian3/PDK/Source/GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e640645_href.png has changed
Binary file Symbian3/PDK/Source/GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e653467_href.png has changed
--- a/Symbian3/PDK/Source/GUID-60B9404B-5102-4FBB-A32F-55F2ACFD1481.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-60B9404B-5102-4FBB-A32F-55F2ACFD1481.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,7 +27,7 @@
 uses these plug-ins to perform various roles such as encoding, decoding and
 media processing. </p> <p/>    <p><fig id="GUID-DB713A5A-4628-40EB-994C-267759BB906F">
 <title>GStreamer plug-ins</title>
-<image href="GUID-63BA04BD-2242-4365-95A1-717569207E92_d0e514481_href.png" placement="inline"/>
+<image href="GUID-63BA04BD-2242-4365-95A1-717569207E92_d0e521935_href.png" placement="inline"/>
 </fig></p>    </section>
 <section id="GUID-2EC5760E-D208-4071-A032-91B72904782A"><title>Description</title><p>Some
 GStreamer concepts are as follows:<ul>
@@ -69,7 +69,7 @@
 <li id="GUID-10171E9B-0E09-45F0-8564-19B00252CCA1"><p>Video editing</p></li>
 </ol><p>For example the diagram below shows how a Media Player uses GStreamer:</p><p><fig id="GUID-7127CC7D-14D5-4652-87A1-DB5BC3AE9663">
 <title>Media playback using GStreamer</title>
-<image href="GUID-DD39680E-C0CB-4D97-A921-25FACC30FBE3_d0e514595_href.jpg" placement="inline"/>
+<image href="GUID-DD39680E-C0CB-4D97-A921-25FACC30FBE3_d0e522049_href.jpg" placement="inline"/>
 </fig></p><p><draft-comment time="2010-02-17T10:06" translate="no">Sound device is a framework
 to perform hardware accelerated audio functionality. Audio Policy manages
 the requests to access the audio hardware. Digital Signal Processing converts
--- a/Symbian3/PDK/Source/GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9"><title>Extension makefile targets</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Extension makefiles can be used where certain build steps are required that are not catered for by the generated makefiles. Extension makefiles are makefiles to be run by <filepath>make.exe</filepath> (the GCC make utility) or <filepath>nmake.exe</filepath> (the Microsoft make utility). They must contain certain make targets. During build activities, <filepath>abld</filepath> will call the target corresponding to the build activity that is being carried out. This will then execute whatever commands your makefile specifies for that target. </p> <p>The following table lists the required make targets: </p> <table id="GUID-058134AF-E473-577E-B6E8-6309B859E5D7"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Target</b> </p> </entry> <entry><p> <b>Corresponding abld command</b> </p> </entry> </row> <row><entry><p> <codeph>makmake</codeph> </p> </entry> <entry><p> <codeph>makefile</codeph> </p> </entry> </row> <row><entry><p> <codeph>freeze</codeph> </p> </entry> <entry><p> <codeph>freeze</codeph> </p> </entry> </row> <row><entry><p> <codeph>lib</codeph> </p> </entry> <entry><p> <codeph>library</codeph> </p> </entry> </row> <row><entry><p> <codeph>cleanlib</codeph> </p> </entry> <entry><p> <codeph>tidy</codeph> </p> </entry> </row> <row><entry><p> <codeph>clean</codeph> </p> </entry> <entry><p> <codeph>clean</codeph> </p> </entry> </row> <row><entry><p> <codeph>final</codeph> </p> </entry> <entry><p> <codeph>final</codeph>. This target is provided specifically to allow extension makefiles to execute final commands. </p> </entry> </row> <row><entry><p> <codeph>resource</codeph> </p> </entry> <entry><p> <codeph>resource</codeph> </p> </entry> </row> <row><entry><p> <codeph>bld</codeph> </p> </entry> <entry><p> <codeph>target</codeph> </p> </entry> </row> <row><entry><p> <codeph>savespace</codeph> </p> </entry> <entry><p> <codeph>target -savespace</codeph> </p> </entry> </row> <row><entry><p> <codeph>releasables</codeph> </p> </entry> <entry><p> <codeph>target [-what | -check]</codeph> </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>All</i> targets must be provided in an extension makefile. This should be done even if no commands are listed with a particular target, for the following two reasons: </p> <ul><li id="GUID-5CA8259A-E725-56BC-9A94-F21BDBA5978B"><p>The target will be called, during the build, whether commands are listed or not </p> </li> <li id="GUID-0D4E6BCE-D220-57F5-AB09-4218BE2F7F8E"><p> <filepath>nmake.exe</filepath> /<filepath>make.exe</filepath> will generate an error if the target cannot be found. </p> </li> </ul> <section><title>Simple example</title> <p>An example of a simple extension makefile is given below: </p> <codeblock id="GUID-D7CE4F11-3B2F-5766-A31F-4D3BFD46AB38" xml:space="preserve">MAKMAKE :
-       echo this is an example
-
-FINAL FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE : </codeblock> <p>This prints <systemoutput>this is an example</systemoutput> to the console at the makefile construction stage of an <filepath>abld</filepath>, and does nothing for the other targets. </p> <p>Note that: </p> <ul><li id="GUID-C4E2B509-3BF9-55B5-9B31-739A3920839A"><p>You can put multiple targets on the same line, as above. </p> </li> <li id="GUID-31C8B7BD-EC0D-5406-B533-598764B5A1BB"><p>You must have a space or a tab at the start of lines containing target commands. </p> </li> <li id="GUID-E9DACA4B-8C30-535D-B93F-34D9437CD6F0"><p>Commands listed with each target can be calls to any tools or system commands that are available at build-time. </p> </li> </ul> </section> <section><title>Platform-specific commands example</title> <p>If different commands are required for the same target for different platforms, special <filepath>nmake.exe</filepath> /<filepath>make.exe</filepath> syntax can be used in conjunction with the <codeph>$(PLATFORM)</codeph> and <codeph>$(CFG)</codeph> macros that <filepath>abld</filepath> defines to carry out the different commands. </p> <p> <codeph>$(CFG)</codeph> is defined as UDEB or UREL. <codeph>$(PLATFORM)</codeph> is WINS, ARMI, etc. </p> <p>For example, the following <codeph>nmake</codeph> makefile prints <systemoutput>ARMI MAKEMAKE COMMAND</systemoutput> at the makefile stage for the ARMI target, or <systemoutput>NOT ARMI BUILD</systemoutput> for any other platform: </p> <codeblock id="GUID-D3976893-2BC7-53EE-99F0-A1A502E33E39" xml:space="preserve">!IF "$(PLATFORM)" == "ARMI"
-MAKMAKE:
-    echo ARMI MAKEMAKE COMMAND
-!ELSE
-MAKMAKE:
-    echo NOT ARMI BUILD
-!ENDIF
-    
-FINAL FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE : </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-60DBA025-8FA0-5DF2-90D0-744A016998EE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-60DBA025-8FA0-5DF2-90D0-744A016998EE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-60DBA025-8FA0-5DF2-90D0-744A016998EE" xml:lang="en"><title>Panoramic
 Stitching Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>This document introduces you to the panoramic stitching functionality. </p>
-<section id="GUID-3333CA2A-EF84-5E7B-B9BE-8FF00523897F-GENID-1-12-1-21-1-1-6-1-6-1-11-1-4-1-3-1-4-1-3-1-2-2"><title>Purpose</title> <p>Panoramic
+<section id="GUID-3333CA2A-EF84-5E7B-B9BE-8FF00523897F-GENID-1-12-1-22-1-1-7-1-6-1-11-1-4-1-3-1-4-1-3-1-2-2"><title>Purpose</title> <p>Panoramic
 stitching involves combining a collection of images into a single image. </p> </section>
 <section><title>Panoramic stitching overview</title> <p>The panorama image
 is created by stitching a collection of several separate image into one large
@@ -183,7 +183,7 @@
 to capture many images to be stitched into a single panorama image, repeat
 the steps 5, 6 and 7. </p> </li>
 </ol> <fig id="GUID-7F48B2F5-D65B-52EC-8412-F3F56A5EE8E8">
-<image href="GUID-470FAFE8-2246-5E91-9F01-6CC95F975E54_d0e512079_href.jpg" placement="inline"/>
+<image href="GUID-470FAFE8-2246-5E91-9F01-6CC95F975E54_d0e519541_href.jpg" placement="inline"/>
 </fig> <p><b>Panorama
 stitching </b> </p> <p>The <xref href="GUID-0D12EA24-3BF5-3BEA-B0EA-CEB89D49D352.dita"><apiname>CVFTracker</apiname></xref> helps to decide when
 to capture each of the full resolution images using the camera. The images
@@ -198,7 +198,7 @@
 been captured you can render the stitched image to file, image buffer, CFbsBitmap
 or image frame using <xref href="GUID-4DBD1F07-42C5-3CD7-B809-A391F315E0D4.dita#GUID-4DBD1F07-42C5-3CD7-B809-A391F315E0D4/GUID-A098A70C-050C-3592-BC37-E849A81890F2"><apiname>CImagePanorama::RenderL()</apiname></xref>. </p> </li>
 </ol> <fig id="GUID-B5F7149F-1FB9-535E-9212-7C9E23B9347B">
-<image href="GUID-A8C80AA1-42CF-5866-B223-FCE1AEC9DF63_d0e512129_href.jpg" placement="inline"/>
+<image href="GUID-A8C80AA1-42CF-5866-B223-FCE1AEC9DF63_d0e519591_href.jpg" placement="inline"/>
 </fig> <p><b>User Interface</b> </p> <p>Provide a good user interface (UI) application
 for the <xref href="GUID-4DBD1F07-42C5-3CD7-B809-A391F315E0D4.dita"><apiname>CImagePanorama</apiname></xref> is crucial. An example of UI design
 is described below, which gives you a robust and easy application for generating
@@ -212,18 +212,18 @@
 direction from left-to-right. The rotation is made around the imagined axis
 through mobile (axis of rotation in the image). A panorama image covers approximately
 a 100 degree field of view. </p> <fig id="GUID-8562E235-6D10-5097-A888-E27EE6D4E498">
-<image href="GUID-7B3578A0-7E2E-508A-A355-A39AEE0307AD_d0e512166_href.jpg" placement="inline"/>
+<image href="GUID-7B3578A0-7E2E-508A-A355-A39AEE0307AD_d0e519628_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-16CA0CFB-9D17-573C-9D7B-FEDBCFF4044C"><p> <b>Application Start</b>  </p> <p>When
 you launch the application the UI appears as shown in the below diagram. </p> <fig id="GUID-4A6082E2-1B7F-5A48-8FC5-7BC2786987B7">
-<image href="GUID-0E55E007-913C-56DA-8BEF-7EC00FFCCE51_d0e512182_href.jpg" placement="inline"/>
+<image href="GUID-0E55E007-913C-56DA-8BEF-7EC00FFCCE51_d0e519644_href.jpg" placement="inline"/>
 </fig> <p>Here the screen area shows the viewfinder image. When you sweep
 the mobile, several images are captured and then the images are stitched to
 create a panorama image. </p> </li>
 <li id="GUID-FE8D49DB-26CC-5546-A05D-B46045894313"><p> <b>Capture a panorama
 image during tracking</b>  </p> <p>When you choose to capture a panorama image
 the UI changes, which is shown in the below diagram. </p> <fig id="GUID-930C8F54-4C13-50AC-B700-9D889FFE9DC7">
-<image href="GUID-9AB5481B-C321-56C9-937D-2397AA80DE8E_d0e512201_href.jpg" placement="inline"/>
+<image href="GUID-9AB5481B-C321-56C9-937D-2397AA80DE8E_d0e519663_href.jpg" placement="inline"/>
 </fig> <p>In the above diagram you see three different boxes named 1, 2 and
 3 which represent the position of the camera. The blue box representation
 changes according to the rotation of the mobile phone. </p> <p>The boxes shown
@@ -307,12 +307,12 @@
 They are as follows: </p> <ul>
 <li id="GUID-99D23225-ECF9-5A34-ADAA-4E0A2326D768"><p>The total panorama coverage
 area is divided into four different image areas: </p> <fig id="GUID-0808E657-6313-510C-9EB6-F4D49722229B">
-<image href="GUID-023D30F0-C1E8-5E09-92AD-C5A7963DCF70_d0e512262_href.jpg" placement="inline"/>
+<image href="GUID-023D30F0-C1E8-5E09-92AD-C5A7963DCF70_d0e519724_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-D06A8B59-81EE-5420-A3AE-FB036B7CE3F4"><p>When you choose to capture
 a panorama image the following steps are performed. The first image is captured
 at position 0. The UI looks as follows: </p> <fig id="GUID-A17F50EC-3241-56CA-B96A-59515EAF161B">
-<image href="GUID-C2D99C88-09C7-55FA-AF95-3F689BA27484_d0e512272_href.jpg" placement="inline"/>
+<image href="GUID-C2D99C88-09C7-55FA-AF95-3F689BA27484_d0e519734_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-BF4A2D67-EF8D-5F72-B2C2-9DC79E319023"><p>When you rotate the
 mobile phone clockwise, the blue box moves to the right using the translation
@@ -323,18 +323,18 @@
 stops. You then known that the next image is captured. At this moment the
 camera must be steady. </p> <p>After second image is captured the blue box
 is moving again and vibrator is set-on. The UI looks as follows: </p> <fig id="GUID-C6E583BB-EE47-52EE-BBFB-D7EE37156C12">
-<image href="GUID-B985B750-9B42-55ED-B7E4-41B06B44C365_d0e512289_href.jpg" placement="inline"/>
+<image href="GUID-B985B750-9B42-55ED-B7E4-41B06B44C365_d0e519751_href.jpg" placement="inline"/>
 </fig> <p>Again, you rotate the mobile clockwise until the two boxes coincide
 and vibrator stops; third image then captured. After this, the UI looks as
 follows: </p> <fig id="GUID-FD9D81DA-E675-5C9C-BA6E-4E7DCE6F46D9">
-<image href="GUID-9E12593C-38EF-5052-A2E8-0AB25EEFF4D0_d0e512297_href.jpg" placement="inline"/>
+<image href="GUID-9E12593C-38EF-5052-A2E8-0AB25EEFF4D0_d0e519759_href.jpg" placement="inline"/>
 </fig> <p>You rotate the mobile phone until the boxes coincide and the fourth
 (last) image is captured. </p> <p> <b>Note:</b> If the mobile phone rotation
 deviates from chosen (clockwise) direction or translates up and down, the
 blue box indicates this, and you must correct the mobile phone for the wrong
 movement. </p> <p>At this point the stitched image can be saved or you can
 reset the camera, to create another panorama image: </p> <fig id="GUID-1A527BEA-0C50-5910-9525-75336C02B2C9">
-<image href="GUID-8E2303E9-DB60-5F38-A4D4-8BF8F7A1EF9F_d0e512314_href.jpg" placement="inline"/>
+<image href="GUID-8E2303E9-DB60-5F38-A4D4-8BF8F7A1EF9F_d0e519776_href.jpg" placement="inline"/>
 </fig> </li>
 </ul> </li>
 </ol> <p><b>Camera
--- a/Symbian3/PDK/Source/GUID-60EE22AA-402D-4FC2-9AD1-B3AEF822E8DC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-60EE22AA-402D-4FC2-9AD1-B3AEF822E8DC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,8 +16,8 @@
 <prereq id="GUID-A4F41A1D-D093-418E-BA65-30C36DA0B0DA">       <p>Before listening
 for channel data, you must <xref href="GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita#GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B/GUID-FBBD3A8B-F240-4DC0-B516-3A51FDD86A88">open
 the sensor channel</xref>.</p>      </prereq>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-10-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-4-1-5-1-10-1-3-2-1"><cmd>Create channel condition
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-10-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-4-1-5-1-10-1-3-2-1"><cmd>Create channel condition
 items using <parmname>CSensrvChannelCondition</parmname> constructor. These
 conditions can be used to filter the sensor data feeds.</cmd>
 <stepxmp><codeblock xml:space="preserve">//Comparison values needed for condition
--- a/Symbian3/PDK/Source/GUID-61056CE2-97BF-5D32-8AC5-E625FBC7D0EC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-61056CE2-97BF-5D32-8AC5-E625FBC7D0EC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 of the <xref href="GUID-5748D958-9480-3358-A399-6B92293B86D9.dita"><apiname>TXmlEngElement</apiname></xref> class for a comprehensive
 list. </p> <fig id="GUID-31E4FB65-7C28-513B-B8C0-5B057DC64A50">
 <title>              Creating a DOM tree            </title>
-<image href="GUID-3E0E2E54-CD8A-5BAF-A87B-BF51FD8890D6_d0e684100_href.png" placement="inline"/>
+<image href="GUID-3E0E2E54-CD8A-5BAF-A87B-BF51FD8890D6_d0e696927_href.png" placement="inline"/>
 </fig> </context>
 <steps id="GUID-DEA52036-E11C-5913-984B-663DD68D02DB">
 <step id="GUID-E65A2FF6-2918-540B-97DB-C07500A6CB08"><cmd/>
--- a/Symbian3/PDK/Source/GUID-61459132-3AC2-55D3-AC28-D6FA689409E6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-61459132-3AC2-55D3-AC28-D6FA689409E6"><title>How to invoke a static analysis tool using abld</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Description</title> <p>A static analysis tool can be integrated with the Symbian platform build system by using a command line argument to <filepath>abld</filepath>. This feature is new in v9.5. </p> <p>To invoke a static analysis tool, the <codeph>–wrap</codeph> option must be passed to <filepath>abld</filepath>. For example: </p> <p><userinput>abld build armv5 urel –wrap</userinput> </p> <p>The name of the static analysis tool executable is set using the environment variable <codeph>ABLD_COMPWRAP</codeph>. </p> <p>If <codeph>ABLD_COMPWRAP</codeph> has not been set, then using the <codeph>–wrap</codeph> option causes abld to report an error and terminate. The exception to this is if the <codeph>–keepgoing</codeph> option has additionally been used, for instance: </p> <p><userinput>abld build armv5 urel –wrap -keepgoing</userinput> </p> <p>In this case abld reports a warning and ignores the <codeph>–wrap</codeph> option. </p> </section> <section><title>Log file output folders</title> <p>When invoking abld for multiple platforms and/or build variants (debug and release), the analysis tool may generate multiple log files. In order to avoid log files overwriting each other, they need to be generated in different locations. To do this, pass a target folder as an argument to the static analysis tool that includes the environment variable <codeph>OUTPUT_NAME</codeph>. abld will replace <codeph>OUTPUT_NAME</codeph> with a platform and build-specific folder name. For example, (the following command line assumes that the target folder is passed to the analysis tool using an argument called <codeph>emitpath</codeph>): </p> <p><userinput>set ABLD_COMPWRAP=tool.exe –emitpath c:\analysis\report\$(OUTPUT_NAME)</userinput> </p> <p><userinput>abld build armv5 –wrap</userinput> </p> <p>In this example, the log files for the release build are generated in <filepath>c:\analysis\report\armv5_urel\</filepath> and for the debug build in <filepath>c:\analysis\report\armv5_udeb\</filepath>. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6146A5BB-1AC1-48D4-9EB8-7FA4EC35BFF2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6146A5BB-1AC1-48D4-9EB8-7FA4EC35BFF2" xml:lang="en"><title>Typical
-full QWERTY keyboard functions</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The default short key press events of a QWERTY keyboard are listed in the
-following table:</p>
-<table id="GUID-66BD6DF8-3E0B-4953-A740-59654AECE592"><title>Default short
-key press event on full QWERTY keyboard</title>
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Key</entry>
-<entry>Action</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>Character keys</p></entry>
-<entry><p>Adds a character.</p></entry>
-</row>
-<row>
-<entry><p>Backspace</p></entry>
-<entry><p>Moves the cursor one step back, clearing any character or selected
-text in that position.</p></entry>
-</row>
-<row>
-<entry><p>Enter</p></entry>
-<entry><p>Adds a carriage return where possible (a new line). Elsewhere the
-default behavior is similar with the Selection key.</p></entry>
-</row>
-<row>
-<entry><p>Space</p></entry>
-<entry><p>Adds a space.</p></entry>
-</row>
-<row>
-<entry><p>Chr</p></entry>
-<entry><p>Opens the special characters table.</p></entry>
-</row>
-<row>
-<entry><p>Shift</p></entry>
-<entry><p>Activates the Shift character mode for the character that is pressed
-after Shift. For example, consecutive presses of Shift and the character 
-a' produce a capital  A' character.</p></entry>
-</row>
-<row>
-<entry><p>Scroll keys</p></entry>
-<entry><p>Moves the cursor or focus to the pressed direction.</p></entry>
-</row>
-<row>
-<entry><p>Fn key (optional key)</p></entry>
-<entry><p>Activates Fn-mode character input for the next following key press.Two
-presses activate Fn mode (locked) until single press deactivates the mode.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>The default long key press events of a full QWERTY keyboard are listed
-in the following table:</p>
-<table id="GUID-8D73725D-308C-489F-93FD-52A4C2C37FB6"><title>Default long
-key press events on full QWERTY keyboard</title>
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Key</entry>
-<entry>Action</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>Character keys</p></entry>
-<entry><p>Adds a character with key repeat.</p></entry>
-</row>
-<row>
-<entry><p>Backspace</p></entry>
-<entry><p>Moves the cursor back, clearing the previous character with key
-repeat.</p></entry>
-</row>
-<row>
-<entry><p>Enter</p></entry>
-<entry><p>Adds a carriage return where possible (a new line) with key repeat.</p></entry>
-</row>
-<row>
-<entry><p>Space</p></entry>
-<entry><p>Adds a space with key repeat.</p></entry>
-</row>
-<row>
-<entry><p>Chr</p></entry>
-<entry><p>Accented characters can be entered by holding down the Chr key and
-pressing a character key consecutively.</p></entry>
-</row>
-<row>
-<entry><p>Scroll keys</p></entry>
-<entry><p>Moves the cursor or focus to the pressed direction with key repeat.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>The key combinations for full QWERTY keyboard are listed in the following
-table:</p>
-<table id="GUID-23D4787A-8FE2-494E-96D2-2FB69F5681E8"><title>Key combinations
-on full QWERTY keyboard</title>
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Key</entry>
-<entry>Action</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>Shift + a character key</p></entry>
-<entry><p>Enters the Shift character of that particular character key. Can
-be used either as two consecutive short presses or simultaneous presses.</p></entry>
-</row>
-<row>
-<entry><p>Shift + scroll keys</p></entry>
-<entry><p>Selects text from the present cursor position to the direction of
-the selected scroll key. Simultaneous pressing is required.</p></entry>
-</row>
-<row>
-<entry><p>Chr + a character key</p></entry>
-<entry><p>Accented characters can be entered by holding down the Chr key and
-then pressing a character key repeatedly.</p></entry>
-</row>
-<row>
-<entry><p>"Dead" keys</p></entry>
-<entry><p>Some keys in certain localized keyboards that produce a visible
-outcome in editing only after another key is pressed right afterwards. For
-example, accents over characters.</p></entry>
-</row>
-<row>
-<entry><p>Ctrl +  x'</p></entry>
-<entry><p>Cuts the text in editors (for example, text that was
-selected with Shift + a scroll key).</p></entry>
-</row>
-<row>
-<entry><p>Ctrl +  c'</p></entry>
-<entry><p>Copies the text in editors (for example, text that was selected
-with Shift + a scroll key).</p></entry>
-</row>
-<row>
-<entry><p>Ctrl +  v'</p></entry>
-<entry><p>Pastes text in editors (for example, text that was selected with
-Shift + a scroll key).</p></entry>
-</row>
-<row>
-<entry><p>Fn + a character key</p></entry>
-<entry><p>Activates Fn-mode for that key press.</p></entry>
-</row>
-<row>
-<entry><p>Fn + space</p></entry>
-<entry><p>Opens editing menu.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6163197B-7983-5FB7-9B92-02E490A900FB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6163197B-7983-5FB7-9B92-02E490A900FB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,6 +40,6 @@
 from the start of <codeph>CMyClass</codeph>. </p>
 <fig id="GUID-9C102C34-EFFA-530A-AA1E-C6AE08FDFA37">
 <title/>
-<image href="GUID-29E7942D-A00D-5771-9782-59260965C687_d0e315631_href.png" placement="inline"/>
+<image href="GUID-29E7942D-A00D-5771-9782-59260965C687_d0e321621_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4" xml:lang="en"><title>Application resource tools guide</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-619A607D-CA89-5A98-887D-5B1D2A5F921C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-619A607D-CA89-5A98-887D-5B1D2A5F921C"><title>mmp file statements</title><prolog><metadata><keywords/></metadata></prolog><conbody><table id="GUID-646800BE-9807-5F5C-A13F-F2E2EBE65B24"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <xref href="GUID-48BD628F-F47F-535B-B148-7425A6704FC2.dita">always_build_as_arm</xref>  </p> </entry> <entry><p>override the build target to build for ARM </p> </entry> </row> <row><entry><p> <xref href="GUID-947317B7-7E12-509B-9A16-F0604D7F8BA2.dita">armfpu</xref>  </p> </entry> <entry><p>how the compiler is to deal with floating point instructions </p> </entry> </row> <row><entry><p> <xref href="GUID-E63AAE78-335F-5BD3-BECA-1709C3C7FB3F.dita">baseaddress</xref>  </p> </entry> <entry><p>address to which a DLL will be built and, if possible, loaded </p> </entry> </row> <row><entry><p> <xref href="GUID-A668442E-0768-5AF1-829B-A80864756A0B.dita">bytepaircompresstarget</xref>  </p> </entry> <entry><p>specifies that the target executable should be compressed using the bytepair algorithm </p> </entry> </row> <row><entry><p> <xref href="GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644.dita">capability</xref>  </p> </entry> <entry><p>platform security capability </p> </entry> </row> <row><entry><p> <xref href="GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita">compresstarget</xref>  </p> </entry> <entry><p>specifies that the target executable should be compressed using the Deflate, Huffman+LZ77 algorithm </p> </entry> </row> <row><entry><p> <xref href="GUID-AF8280C0-20B2-5D68-BFF5-7D9D1CE989DD.dita">debuglibrary</xref>  </p> </entry> <entry><p>libraries that are only required in debug builds </p> </entry> </row> <row><entry><p> <xref href="GUID-3BB6E558-017D-584A-BCB7-AB1DD80C5A90.dita">deffile</xref>  </p> </entry> <entry><p>override the default linker definition file </p> </entry> </row> <row><entry><p> <xref href="GUID-E71D8907-236E-5948-9594-E14E34A31DC8.dita">document</xref>  </p> </entry> <entry><p>document (non-code) files </p> </entry> </row> <row><entry><p> <xref href="GUID-432FF981-010F-540B-834F-FF924238AA2A.dita">epocheapsize</xref>  </p> </entry> <entry><p>minimum and maximum heap sizes for your executable </p> </entry> </row> <row><entry><p> <xref href="GUID-BB0C4204-3C31-57D1-B1C5-6D2FCF571931.dita">epocprocesspriority</xref>  </p> </entry> <entry><p>process priority for your <filepath>.exe</filepath> executable </p> </entry> </row> <row><entry><p> <xref href="GUID-A8ECAA53-9094-5C0A-8893-2757559C15F0.dita">epocstacksize</xref>  </p> </entry> <entry><p>stack size for your executable </p> </entry> </row> <row><entry><p> <xref href="GUID-74E94DC3-88C7-51BE-9354-C49B3A7A8B03.dita">exportlibrary</xref>  </p> </entry> <entry><p>specify name of .lib file </p> </entry> </row> <row><entry><p> <xref href="GUID-9F22E663-8BC4-5502-879F-E6B790465E74.dita">exportunfrozen</xref>  </p> </entry> <entry><p>create library file without requiring frozen exports </p> </entry> </row> <row><entry><p> <xref href="GUID-A1F037FE-0D88-5108-B96E-4ADE6B3A4A3E.dita">inflatecompresstarget</xref>  </p> </entry> <entry><p>specifies that the target executable should be compressed using the Deflate, Huffman+LZ77 algorithm </p> </entry> </row> <row><entry><p> <xref href="GUID-7C4A8920-359F-5328-8D28-2AFBA25A6A9E.dita">lang</xref>  </p> </entry> <entry><p>languages code for the project </p> </entry> </row> <row><entry><p> <xref href="GUID-36AA53D2-A117-5D80-A5B4-67EF865DC40E.dita">library</xref>  </p> </entry> <entry><p>import libraries </p> </entry> </row> <row><entry><p> <xref href="GUID-567D36A2-1097-5D44-B1B2-896F0F812A32.dita">linkas</xref>  </p> </entry> <entry><p>give a DLL a different internal name than its filename </p> </entry> </row> <row><entry><p> <xref href="GUID-34DB27CB-9010-5B7F-A51E-0CA794147CAE.dita">macro</xref>  </p> </entry> <entry><p> <codeph>#defines</codeph> for the preprocessing of source code </p> </entry> </row> <row><entry><p> <xref href="GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita">nocompresstarget</xref>  </p> </entry> <entry><p>states that the target executable should not be compressed </p> </entry> </row> <row><entry><p> <xref href="GUID-A05F0124-AE28-5088-8AFE-22956D1549AD.dita">noexportlibrary</xref>  </p> </entry> <entry><p>stops the generation of a component's <filepath>.lib</filepath> file. </p> </entry> </row> <row><entry><p> <xref href="GUID-7226154E-2387-5D14-A009-2A1A60617970.dita">nostrictdef</xref>  </p> </entry> <entry><p>do not apply a <filepath>u</filepath> suffix to frozen <filepath>.def</filepath> files </p> </entry> </row> <row><entry><p> <xref href="GUID-2393237A-E60F-5556-8657-B0AA6470225C.dita">option</xref>  </p> </entry> <entry><p>specify additional compiler options </p> </entry> </row> <row><entry><p> <xref href="GUID-2FCB4609-1568-5B5F-AD9D-5A531B17A68F.dita">resource</xref>  </p> </entry> <entry><p>resource file for application projects </p> </entry> </row> <row><entry><p> <xref href="GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1.dita">secureid</xref>  </p> </entry> <entry><p>secure identifier of the executable </p> </entry> </row> <row><entry><p> <xref href="GUID-A3301ED7-8FD5-580B-B365-4BE12FF2F3AA.dita">source</xref>  </p> </entry> <entry><p>source files </p> </entry> </row> <row><entry><p> <xref href="GUID-565074B2-53E2-54CD-A06B-7E044E66EBE8.dita">sourcepath</xref>  </p> </entry> <entry><p>location of the project and its workfiles </p> </entry> </row> <row><entry><p> <xref href="GUID-13AA46F9-7D5E-5BBE-8021-C9326121E605.dita">srcdbg</xref>  </p> </entry> <entry><p>disables the use of optimisation in debug builds </p> </entry> </row> <row><entry><p> <xref href="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita">start bitmap</xref>  </p> </entry> <entry><p>bitmaps to build into an <filepath>.mbm</filepath> file </p> </entry> </row> <row><entry><p> <xref href="GUID-E4A23972-CC2F-5773-B1A4-6123333D1F5E.dita">start &lt;platform&gt;...end</xref>  </p> </entry> <entry><p>platform-specific section </p> </entry> </row> <row><entry><p> <xref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita">start resource</xref>  </p> </entry> <entry><p>resource file to build </p> </entry> </row> <row><entry><p> <xref href="GUID-6D7F3D5C-BC1C-5657-993A-4D7E5712CAF5.dita">start stringtable</xref>  </p> </entry> <entry><p>specifies the source file for the string table </p> </entry> </row> <row><entry><p> <xref href="GUID-16781448-75CB-5C11-B9E6-288BA3C0B43E.dita">staticlibrary</xref>  </p> </entry> <entry><p>static libraries </p> </entry> </row> <row><entry><p> <xref href="GUID-B58D93D7-597C-5200-82ED-F434B297CAC9.dita">strictdepend</xref>  </p> </entry> <entry><p>project's dependencies may differ with the variant, </p> </entry> </row> <row><entry><p> <xref href="GUID-495C619C-1223-59C1-9B31-0F4031BAE4A9.dita">systeminclude</xref>  </p> </entry> <entry><p>system header files directories </p> </entry> </row> <row><entry><p> <xref href="GUID-AA9611C0-9AFC-530B-9B50-0D6E600C8D3E.dita">systemresource</xref>  </p> </entry> <entry><p>resource file for system projects; from v9.0, use <xref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita">start resource</xref>  </p> </entry> </row> <row><entry><p> <xref href="GUID-5D4DA7CA-DAB8-51E6-B597-4E8B0AB56477.dita">target</xref>  </p> </entry> <entry><p>file generated by the project </p> </entry> </row> <row><entry><p> <xref href="GUID-7681734D-1291-59A3-B226-BC58403FA8A0.dita">targetpath</xref>  </p> </entry> <entry><p>where the project should be released </p> </entry> </row> <row><entry><p> <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref>  </p> </entry> <entry><p>kind of project </p> </entry> </row> <row><entry><p> <xref href="GUID-BFCFD93E-D591-50D2-8263-D13D08DD9F15.dita">uid</xref>  </p> </entry> <entry><p>UIDs for a project </p> </entry> </row> <row><entry><p> <xref href="GUID-50941508-B999-5FCC-B2B9-F29F5F2CA4C1.dita">userinclude</xref>  </p> </entry> <entry><p>project's header files directories </p> </entry> </row> <row><entry><p> <xref href="GUID-535793F2-08F1-5B4E-AD32-783985C53124.dita">vendorid</xref>  </p> </entry> <entry><p>vendor identifier </p> </entry> </row> <row><entry><p> <xref href="GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5.dita">version</xref>  </p> </entry> <entry><p>set the version </p> </entry> </row> <row><entry><p> <xref href="GUID-D5358527-5E6F-5158-8BCB-F9D74DB9B354.dita">wcharentrypoint</xref>  </p> </entry> <entry><p>set the entry point for a standard EXE </p> </entry> </row> <row><entry><p> <xref href="GUID-1A3E282E-ACC0-5F88-A759-3ED6106B02B4.dita">win32_library</xref>  </p> </entry> <entry><p>Win32 system libraries to link to in a WINS/WINSCW build </p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-61BB12AA-7467-5633-8E4C-54D82AFF0F5E_d0e228837_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-61BB12AA-7467-5633-8E4C-54D82AFF0F5E_d0e234835_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-61C340D0-9058-45C2-9A90-4AB8E0612872_d0e68588_href.png has changed
Binary file Symbian3/PDK/Source/GUID-61C340D0-9058-45C2-9A90-4AB8E0612872_d0e72801_href.png has changed
Binary file Symbian3/PDK/Source/GUID-61E8141F-366E-5476-ABCE-8B57535FF6D1_d0e427341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-61E8141F-366E-5476-ABCE-8B57535FF6D1_d0e433186_href.png has changed
Binary file Symbian3/PDK/Source/GUID-622D6337-E60A-5252-8B2B-BA8232927453_d0e389421_href.png has changed
Binary file Symbian3/PDK/Source/GUID-622D6337-E60A-5252-8B2B-BA8232927453_d0e395274_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6262B90B-3F91-517C-B2FA-749C84CE01DE_d0e137391_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6262B90B-3F91-517C-B2FA-749C84CE01DE_d0e139640_href.png has changed
Binary file Symbian3/PDK/Source/GUID-62746B54-FFEB-532F-BA00-D6C22F82DBA4-master.png has changed
Binary file Symbian3/PDK/Source/GUID-62746B54-FFEB-532F-BA00-D6C22F82DBA4_d0e617298_href.png has changed
Binary file Symbian3/PDK/Source/GUID-628A90FC-35F9-51D0-853E-9BECB3C91B59_d0e477891_href.png has changed
Binary file Symbian3/PDK/Source/GUID-628A90FC-35F9-51D0-853E-9BECB3C91B59_d0e483720_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6290D35A-7A41-5B9E-882A-E14F6D165ED7_d0e547006_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6290D35A-7A41-5B9E-882A-E14F6D165ED7_d0e554462_href.png has changed
Binary file Symbian3/PDK/Source/GUID-62950BAA-8DCB-58E2-B511-AF400605DA5C_d0e231101_href.png has changed
Binary file Symbian3/PDK/Source/GUID-62950BAA-8DCB-58E2-B511-AF400605DA5C_d0e237096_href.png has changed
Binary file Symbian3/PDK/Source/GUID-629A9EF6-3029-5165-9B8B-471D341D33C5_d0e482483_href.png has changed
Binary file Symbian3/PDK/Source/GUID-629A9EF6-3029-5165-9B8B-471D341D33C5_d0e488312_href.png has changed
--- a/Symbian3/PDK/Source/GUID-629EAA30-ED77-4CA9-91ED-36C818D7B4F4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-629EAA30-ED77-4CA9-91ED-36C818D7B4F4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 following illustration is an example of multiprocessor architecture with four
 CPUs connected to a shared memory. </p><fig id="GUID-932ACAC3-B997-4219-AFE0-59C4CCC4BE01">
 <title>SMP architecture example</title>
-<image href="GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16619_href.jpg" placement="inline"/>
+<image href="GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16709_href.jpg" placement="inline"/>
 </fig></section>
 <section id="GUID-5B1EE6CA-285F-48F3-B719-F6542F090E9B"> <title>Technologies</title><p>SMP
 is a microprocessor architecture with two or more processors. The processors
--- a/Symbian3/PDK/Source/GUID-62DF565C-8121-429F-99D0-B5FBDE634AA9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-62DF565C-8121-429F-99D0-B5FBDE634AA9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,78 +1,78 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-62DF565C-8121-429F-99D0-B5FBDE634AA9" xml:lang="en"><title>Using
-long-tap events</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Long-tap events allow you to specify functions performed when the user
-taps and holds the button for a specified period of time. An example of a
-long-tap function is fast forwarding in a media player application by tapping
-and holding down a button.</p>
-<p>To receive long-tap events, use the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknLongTapDetector.html" format="application/java-archive"><codeph>CAknLongTapDetector</codeph></xref> in the <xref href="GUID-92018B6B-3CBB-434D-9E61-F271C67E98E3.dita">Touch
-UI utilities API</xref>.</p>
-<p>To enable the handling of long tap events in your <codeph>CAknButton</codeph> ,
-set the flag <codeph>KAknButtonReportOnLongPress</codeph> for the button.
-When the long tap event starts,<codeph>CAknButton::ELongPressEvent()</codeph> is
-reported to the button observer (<codeph>MCoeControlObserver</codeph>). When
-the long tap event ends, <codeph>CAknButton::ELongPressEndedEvent()</codeph> is
-reported.</p>
-<p>To define the period for which the button needs to be held down for a long-tap
-event, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknButton.html#5b5323936073f454e96847337131030a" format="application/java-archive"><codeph>SetLongPressInterval()</codeph></xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknButton.html" format="application/java-archive"><codeph>CAknButton</codeph></xref>.</p>
-<codeblock xml:space="preserve">void CMyAppContainer::ConstructL() 
-{ 
-… 
-iButton = CAknButton::NewL( NULL, NULL, NULL, NULL, 
-
-KNullDesC, KNullDesC , KAknButtonReportOnLongPress, 0 ); 
-
-iButton-&gt;SetContainerWindowL( *this ); 
-iButton-&gt;SetObserver( this ); 
-… 
-} 
-
-void CMyAppContainer::HandleControlEventL( CCoeControl* aControl, 
-                                                  TCoeEvent aEventType ) 
-    { 
-        switch ( aEventType ) 
-            { 
-
-// Button is pressed for a long time 
-
-            case CAknButton::ELongPressEvent: 
-                        if ( aControl == iButton ) 
-
-{ 
-
-                        … 
-
-} 
-
-                break; 
-
-// Button long press ended 
-
-            case CAknButton::ELongPressEndedEvent: 
-                        if ( aControl == iButton ) 
-
-{ 
-
-                        … 
-
-} 
-
-                break; 
-
-            default: 
-                break; 
-            } 
-    } 
-
-</codeblock>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-62DF565C-8121-429F-99D0-B5FBDE634AA9" xml:lang="en"><title>Using
+long-tap events</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Long-tap events allow you to specify functions performed when the user
+taps and holds the button for a specified period of time. An example of a
+long-tap function is fast forwarding in a media player application by tapping
+and holding down a button.</p>
+<p>To receive long-tap events, use the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknLongTapDetector.html" format="application/java-archive"><codeph>CAknLongTapDetector</codeph></xref> in the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Touch_UI_Utilities_APIIndexPage.html" format="application/java-archive">Touch
+UI utilities API</xref>.</p>
+<p>To enable the handling of long tap events in your <codeph>CAknButton</codeph> ,
+set the flag <codeph>KAknButtonReportOnLongPress</codeph> for the button.
+When the long tap event starts,<codeph> CAknButton::ELongPressEvent</codeph> is
+reported to the button observer (<codeph>MCoeControlObserver</codeph>). When
+the long tap event ends, <codeph>CAknButton::ELongPressEndedEvent</codeph> is
+reported.</p>
+<p>To define the period for which the button needs to be held down for a long-tap
+event, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknButton.html#5b5323936073f454e96847337131030a" format="application/java-archive"><codeph>SetLongPressInterval()</codeph></xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknButton.html" format="application/java-archive"><codeph>CAknButton</codeph></xref>.</p>
+<codeblock xml:space="preserve">void CMyAppContainer::ConstructL() 
+{ 
+… 
+iButton = CAknButton::NewL( NULL, NULL, NULL, NULL, 
+
+KNullDesC, KNullDesC , KAknButtonReportOnLongPress, 0 ); 
+
+iButton-&gt;SetContainerWindowL( *this ); 
+iButton-&gt;SetObserver( this ); 
+… 
+} 
+
+void CMyAppContainer::HandleControlEventL( CCoeControl* aControl, 
+                                                  TCoeEvent aEventType ) 
+    { 
+        switch ( aEventType ) 
+            { 
+
+// Button is pressed for a long time 
+
+            case CAknButton::ELongPressEvent: 
+                        if ( aControl == iButton ) 
+
+{ 
+
+                        … 
+
+} 
+
+                break; 
+
+// Button long press ended 
+
+            case CAknButton::ELongPressEndedEvent: 
+                        if ( aControl == iButton ) 
+
+{ 
+
+                        … 
+
+} 
+
+                break; 
+
+            default: 
+                break; 
+            } 
+    } 
+
+</codeblock>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-631E27DB-97A7-47E2-8FC1-856198435FFF_d0e2988_href.png has changed
Binary file Symbian3/PDK/Source/GUID-631E27DB-97A7-47E2-8FC1-856198435FFF_d0e2998_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63802305-E3D1-53F9-BDE2-764D90C2C833_d0e590856_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63802305-E3D1-53F9-BDE2-764D90C2C833_d0e618750_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63AD2899-FDDC-4E3F-8876-C72EC7C194CE_d0e13907_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63AD2899-FDDC-4E3F-8876-C72EC7C194CE_d0e14007_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63BA04BD-2242-4365-95A1-717569207E92_d0e514481_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63BA04BD-2242-4365-95A1-717569207E92_d0e521935_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63BB9C30-9103-5900-9FD7-5B45FD78A5D7_d0e73074_href.png has changed
Binary file Symbian3/PDK/Source/GUID-63BB9C30-9103-5900-9FD7-5B45FD78A5D7_d0e77287_href.png has changed
--- a/Symbian3/PDK/Source/GUID-63C60154-2A50-5A39-A188-515A607F498B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-63C60154-2A50-5A39-A188-515A607F498B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 <p>The following diagram illustrates how elements are organised within the
 array buffer:</p>
 <fig id="GUID-7E9AF455-9CC4-5814-A746-36A94585488F">
-<image href="GUID-516D2E22-F5C0-56FE-ABDA-948F01CD50DB_d0e317288_href.png" placement="inline"/>
+<image href="GUID-516D2E22-F5C0-56FE-ABDA-948F01CD50DB_d0e323278_href.png" placement="inline"/>
 </fig>
 <p>This kind of array is suitable for a small number of elements or for a
 moderately large but fixed maximum number of elements. It is not suitable
--- a/Symbian3/PDK/Source/GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 to normal application development. </p>
 <fig id="GUID-59FE6A59-E4C5-4578-826F-7DB507F1C4CD">
 <title>The Graphics Composition collection </title>
-<image href="GUID-C9208CCB-1802-5819-AD42-3403807FC3AA_d0e275098_href.png" placement="inline"/>
+<image href="GUID-C9208CCB-1802-5819-AD42-3403807FC3AA_d0e281098_href.png" placement="inline"/>
 </fig>
 
 </conbody><related-links>
--- a/Symbian3/PDK/Source/GUID-6408C26A-2736-59A9-B785-6B119143619B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6408C26A-2736-59A9-B785-6B119143619B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,7 +33,7 @@
 this handle-number. The following diagram helps visualise the situation. </p>
 <fig id="GUID-5B53CA3B-5365-5C54-B2BC-EA8BA684F15E">
 <title>           Thread-death notifier         </title>
-<image href="GUID-70483E81-311F-5247-9F39-3940F20C0EB1_d0e340581_href.png" placement="inline"/>
+<image href="GUID-70483E81-311F-5247-9F39-3940F20C0EB1_d0e346532_href.png" placement="inline"/>
 </fig>
 <p>The following code fragments demonstrate this: </p>
 <codeblock id="GUID-B5A219AD-CC59-50CE-A65B-0D3F4FD32F7A" xml:space="preserve">{
Binary file Symbian3/PDK/Source/GUID-643AFF2D-3EDB-5FAB-9631-7B93FABC56B6_d0e227801_href.png has changed
Binary file Symbian3/PDK/Source/GUID-643AFF2D-3EDB-5FAB-9631-7B93FABC56B6_d0e233800_href.png has changed
--- a/Symbian3/PDK/Source/GUID-644810EC-7D5E-4569-834B-C207447B88A3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-644810EC-7D5E-4569-834B-C207447B88A3" xml:lang="en"><title>Multitasking</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The Symbian UI style allows multitasking; that is, working with more than
-one application simultaneously. Mobile device users can leave an application
-running when they start another application, swap between running applications,
-and interact with them.</p>
-<p>To open a new application without closing the one that is presently being
-used, users can press the Home / Menu key to go to the <xref href="GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita">Menu</xref> and
-select application suites and applications.</p>
-<p>The first application process remains running in the background while the
-user interacts with the second application.</p>
-<p>The number of simultaneously running (different) applications is limited
-only by the available memory in the device. When a new application process
-cannot be created because of limited memory, the system can automatically
-shut down applications to increase the amount of free memory.</p>
-<p>To swap active applications, users can:</p>
-<ul>
-<li><p>Long-press the Home / Menu key to open the task swapping window.</p></li>
-<li><p>Alternatively, select <uicontrol>Options</uicontrol> &gt; <uicontrol>Show
-open applications</uicontrol> to open the task swapping window.</p></li>
-</ul>
-<fig id="GUID-9855DE8A-5103-4172-9884-C5266ADB8F16">
-<title>Visualized multitasking: task swapping window</title>
-<image href="GUID-182326EB-E818-4146-82D9-494D59E430B8_d0e105087_href.png" placement="inline"/>
-</fig>
-<p>The task swapping window displays the applications that are currently running
-in the order of their most recent use. By default, the focus is on the first
-item in the grid. The task swapping window is a pop-up with a heading (<uicontrol>Open
-applications</uicontrol>). The names of the open applications are displayed
-in an Information pop-up. The Information pop-up is launched with a 0.5 second
-delay after the focus is moved onto each item, and it remains visible for
-1.5 seconds (or until the focus is moved to another item). Menu and home screen
-are always visible in the task swapping window. The configuration and visual
-appearance of the task swapping window might depend on the product.</p>
-<p>Users can use the task swapping window to close active applications. In
-devices with a keypad, users move the focus onto the application to be closed,
-and press the <uicontrol>Clear</uicontrol> (delete) key.  In touch devices,
-users tap and hold the item to open a pop-up menu where they can select the <uicontrol>Exit</uicontrol> option.</p>
-<p>For implementation information on
-using the <xref href="GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita">application
-and UI frameworks</xref>, see <xref href="GUID-EF7FF39E-929F-4767-B475-5D582D37BB32.dita">Window
-server events</xref>.</p>
-</conbody><related-links>
-<linklist>
-<link href="GUID-0F8D0399-58CD-4EB6-82DF-75D6BE5B0A84.dita"><linktext>Application
-framework concepts</linktext></link>
-<link href="GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita"><linktext>Framework
-requirements for GUI applications</linktext></link>
-</linklist>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-646C2A7A-B90C-5E82-B44F-EA24DDBB1EC5_d0e141947_href.png has changed
Binary file Symbian3/PDK/Source/GUID-646C2A7A-B90C-5E82-B44F-EA24DDBB1EC5_d0e144196_href.png has changed
Binary file Symbian3/PDK/Source/GUID-647ADEDA-AB5A-548F-93C3-D099EAE6A030_d0e405594_href.png has changed
Binary file Symbian3/PDK/Source/GUID-647ADEDA-AB5A-548F-93C3-D099EAE6A030_d0e411447_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82" xml:lang="en"><title>Polymorphic
-interface DLLs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A polymorphic DLL contains an interface defined by a gate function and
-an abstract class with at least one virtual function. </p>
-<p>The polymorphic DLL exports the gate function at ordinal 1, which typically
-constructs a concrete class derived from the abstract interface. The virtual
-function is then called, and the functions of the class are available. </p>
-<p>Examples of polymorphic DLLs in Symbian platform include ECom plug-ins,
-device drivers, Front End Processors, and many more. </p>
-<p>Each type of interface should specify its own UID, which is used as <codeph>uid2</codeph> for
-the polymorphic DLL. </p>
-<p>The function responsible for loading a polymorphic DLL should check that
-its <codeph>uid2</codeph> corresponds with the expected interface type. </p>
-<p>For polymorphic DLLs, the interpretation of <codeph>uid3</codeph> depends
-on the interface type. <codeph>uid3</codeph> may not be required by all interfaces. </p>
-<p>The build process for a polymorphic DLL produces an import library, but
-it is not used. </p>
-<section><title>mmp project specification</title><p>The project
-file for a polymorphic DLL must specify the correct target type and UIDs:</p><ul>
-<li id="GUID-0E19AFC8-5242-561B-B9DC-085839CF8604"><p>Specify the <codeph>TARGETTYPE</codeph> line
-as: </p> <codeblock id="GUID-89A9AD1C-3A1D-5733-B8DD-BE40ECAC747C" xml:space="preserve">TARGETTYPE dll</codeblock> <p>This
-implicitly specifies <codeph>UID1</codeph> correctly. Note that some types
-of polymorphic DLLs, have particular support by the build tools, and have
-their own different target types. See <xref href="GUID-A27A05A2-B161-54D2-92E0-8620B01BFD44.dita">Polymorphic
-DLL targettype summary</xref>. </p> </li>
-<li id="GUID-778C0445-7C95-53F9-AA52-69C37416782C"><p>Specify the UID for
-the DLL in a <codeph>UID</codeph> line: </p> <codeblock id="GUID-CB104F6E-EB57-54EC-8403-B2D4F8BB35D6" xml:space="preserve">UID &lt;UID2&gt; &lt;UID3&gt;</codeblock> <p>The <varname>UID2</varname> value is defined by the interface which is being implemented.
-Some types of polymorphic DLL also require a third UID, but, if so, its meaning
-is defined by the DLL. </p> </li>
-</ul></section>
-<example><p>An example of a project file (<filepath>PolymorphicDLL1.mmp</filepath>)
-for a polymorphic DLL is given below.</p><codeblock id="GUID-85177FF3-7CEC-5DC5-9014-972E33D605C6" xml:space="preserve">TARGET        PolymorphicDLL1.dll
-TARGETTYPE    dll
-UID           0x10004262 0x10004264
-SOURCEPATH    .
-SOURCE        PolymorphicDLL1.cpp
-USERINCLUDE   .
-USERINCLUDE   ..\UsingDLLs
-SYSTEMINCLUDE \Epoc32\include
-LIBRARY       euser.lib
-EXPORTUNFROZEN</codeblock></example>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-648D4AEB-4BCD-552A-BCAF-F049F79F04FC_d0e429269_href.png has changed
Binary file Symbian3/PDK/Source/GUID-648D4AEB-4BCD-552A-BCAF-F049F79F04FC_d0e435114_href.png has changed
--- a/Symbian3/PDK/Source/GUID-64AC6F53-A9A5-46FD-BCC6-4A9BD8D4DB5C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-64AC6F53-A9A5-46FD-BCC6-4A9BD8D4DB5C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -46,8 +46,8 @@
 <li><p>Device Orientation, when the keyboard is opened, resulting in the display
 being set at an angle to the keyboard. For example, N97.</p></li>
 </ul>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-5-1-4-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-5-1-4-1-3-3-1"><cmd>Create an instance
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-5-1-4-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-5-1-4-1-3-3-1"><cmd>Create an instance
 of <parmname>CSensorDataCompensator</parmname>.</cmd>
 <stepxmp><codeblock xml:space="preserve">iCompensator = CSensorDataCompensator::NewL(TSensrvAccelerometerAxisData::KDataTypeId,ESensorCompensateDeviceAndUIOrientation);</codeblock></stepxmp>
 </step>
Binary file Symbian3/PDK/Source/GUID-64BDD1DA-6B93-5F45-8CBD-7DBAF92CC4C7_d0e364179_href.png has changed
Binary file Symbian3/PDK/Source/GUID-64BDD1DA-6B93-5F45-8CBD-7DBAF92CC4C7_d0e370028_href.png has changed
--- a/Symbian3/PDK/Source/GUID-64D2B0E2-BB5D-4009-ACE5-7A3503016341.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-64D2B0E2-BB5D-4009-ACE5-7A3503016341.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-64D2B0E2-BB5D-4009-ACE5-7A3503016341" xml:lang="en"><title>Troubleshooting
 Tips</title><shortdesc>This section addresses the basic differences in the way things
 are done in Symbian Platform and in Linux. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-1">       <title>Symbian
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-1">       <title>Symbian
 directory structure</title>       <p>In Symbian platform, project source files
 are arranged based on the directory pattern shown below.</p><table id="GUID-AF9A4B8F-EC2B-4BBA-AE84-9B49F2081B4F">
 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
@@ -36,7 +36,7 @@
 </tbody>
 </tgroup>
 </table>    <p>The developer can choose whether to follow these tips.</p></section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-2">       <title>EXPORT_C,
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-2">       <title>EXPORT_C,
 DEF file and ordinal numbers</title>       <p>This applies only for the DLL
 target type. If a DLL wants to export an API, the code definition should start
 with the macro <codeph>EXPORT_C</codeph>.</p><codeblock xml:space="preserve">// Declaration
@@ -94,7 +94,7 @@
     return something;
     }
 </codeblock>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-3">       <title><codeph>dlsym()</codeph> or <codeph>g_module_symbol()</codeph></title> 
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-3">       <title><codeph>dlsym()</codeph> or <codeph>g_module_symbol()</codeph></title> 
      <p>Since DLL entry points are not exported by name, DLL symbol lookup
 functions do not work on Symbian platform. For more information about alternatives
 suggested on Symbian platform, see <xref href="GUID-9D278187-8B5E-581D-9869-EE8861048F93.dita">Dynamic
@@ -105,7 +105,7 @@
 symbol parameter (refer the library's list of exports, the DEF file for the
 function's ordinal number):</p><codeblock xml:space="preserve">dlsym(&amp;handle, "foo")
 </codeblock><p>needs to be changed to:</p><codeblock xml:space="preserve">dlsym (&amp;handle, "3")</codeblock></section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-4"><title>Problem with
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-4"><title>Problem with
 a variable list of arguments in macros</title><p>This section suggests a way
 to overcome the problems faced when macros with a variable list of arguments
 are used.</p><codeblock xml:space="preserve">#define DEBUG(a,...)</codeblock><p>The above statement
@@ -114,14 +114,14 @@
 static inline void _DEBUG (const char *a, ...) 
 { 
 }</codeblock>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-5">       <title>Keep
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-5">       <title>Keep
 changes to OSS to a minimum</title><p>While porting the OSS code, keep the
 changes to the OSS code as few as possible. The OSS code is already tested
 and used by a bigger community, and is unlikely to have any compilation errors
 or major logical errors. In many cases code changes that are necessary brings
 potential logical flaws to the OSS port. Minimum changes to the OSS code while
 porting also helps in merging to the new OSS.  </p>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-6">       <title>Exporting
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-6">       <title>Exporting
 variables from a DLL</title>       <p>Exporting data from a DLL is not allowed
 in Symbian platform . The following pattern can be used:</p><ol>
 <li id="GUID-FE2ACA35-3472-47C2-8C3F-B65CAEE09C66"><p>Do not export global
@@ -140,13 +140,13 @@
 IMPORT_C int* GlbData ();
 #define globalVal (*GlbData())</codeblock></li>
 </ol>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-7">       <title>Application
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-7">       <title>Application
 is not loaded</title>       <p>The absence of the dependent libraries could
 be one of the reasons for the application not to load in the mobile device.
 On the target device, Symbian platform looks for libraries in <filepath>c:\sys\bin</filepath> or
 in <filepath>z:\sys\bin</filepath>.</p><p>Do make sure that all the libraries
 are present in either of the above-mentioned libraries. </p>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-8">       <title>Capabilities
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-8">       <title>Capabilities
 not known</title>       <p>Capabilities are specified in the MMP file. The
 primary information source is the P.I.P.S. API reference documentation. If
 problems with capabilities remain, one known method to find the capability
@@ -155,7 +155,7 @@
 for release code it is good practice to give a valid capability in the MMP
 file in order to have the application successfully signed. The following is
 a sample of a capability error found in the [Debug Messages] window.  </p><codeblock xml:space="preserve">*PlatSec* ERROR - Capability check failed - Process hellogst.exe[10015942]0001 was checked by Thread c32exe.exe[101f7989]0001::ESock_IP and was found to be missing the capabilities: NetworkServices. </codeblock>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-9">       <title>Environment
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-9">       <title>Environment
 variables</title>       <p>At the moment, environment variables are not completely
 supported in Symbian C++. Therefore be wary of using library functions like <codeph>getenv()</codeph> which
 work on environment variables. Make sure the library initialization routine
@@ -166,7 +166,7 @@
 {  
    setenv ("JPEGMEM ", "XXXXX", 1);  
 }</codeblock>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-10">       <title>Assembly
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-10">       <title>Assembly
 code</title>       <p>The syntax for inline assembly code is different in
 Symbian platform. The following is a code snippet of assembly code syntax
 in Symbian platform.</p><codeblock xml:space="preserve">EXPORT_C __NAKED__ TUint16 TTemplate::Register16(TUint anAddr) 
@@ -180,7 +180,7 @@
   } </codeblock><p>In common practice the assembly code has the extension <filepath>.CIA</filepath> in
 Symbian platform, whereas in Linux the assembly code has the extension <filepath>.S</filepath>.
  </p>     </section>
-<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-13-1-1-5-1-3-1-9-1-3-11">       <title>Glossary</title> 
+<section id="GUID-77D7347D-8DEC-45D0-A677-8FDBDFB8FF81-GENID-1-12-1-14-1-1-5-1-3-1-9-1-3-11">       <title>Glossary</title> 
      <p>The following table lists terms used in Linux and their approximate
 equivalents in Symbian platform:  </p><table id="GUID-BFB874F5-148B-44B2-A110-F37AC084756B">
 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
--- a/Symbian3/PDK/Source/GUID-652DA0DD-AB1D-58A4-A6D2-27B5BAA506FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-652DA0DD-AB1D-58A4-A6D2-27B5BAA506FF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 content, first flip the surface and then rotate it by 180°. </p>
 <fig id="GUID-87C0B943-81DC-5AB8-BD08-254811F511B5">
 <title>           Mirroring          </title>
-<image href="GUID-7F0EC737-F5EE-5B58-B9EB-4D8A058E3A49_d0e242547_href.jpg" placement="inline"/>
+<image href="GUID-7F0EC737-F5EE-5B58-B9EB-4D8A058E3A49_d0e248558_href.jpg" placement="inline"/>
 </fig>
 <p>The following example code assumes that the surface already exists. Call <xref href="GUID-59A10068-E37A-37CF-85C9-36D8DA6619FA.dita#GUID-59A10068-E37A-37CF-85C9-36D8DA6619FA/GUID-F42D5405-2144-34AB-B3FE-C1D76C2A3B31"><apiname>TSurfaceConfiguration::SetFlip()</apiname></xref> to
 flip the surface, then call <xref href="GUID-59A10068-E37A-37CF-85C9-36D8DA6619FA.dita#GUID-59A10068-E37A-37CF-85C9-36D8DA6619FA/GUID-A7CC9BAA-301D-3006-AAA8-6549B163A448"><apiname>TSurfaceConfiguration::SetOrientation()</apiname></xref> to
Binary file Symbian3/PDK/Source/GUID-65365507-5773-4FE9-B63E-450CC2DD7570_d0e68018_href.png has changed
Binary file Symbian3/PDK/Source/GUID-65365507-5773-4FE9-B63E-450CC2DD7570_d0e72231_href.png has changed
Binary file Symbian3/PDK/Source/GUID-656E2E4F-D7C5-5FDC-B1E6-DFA5970BB3F0_d0e488785_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-656E2E4F-D7C5-5FDC-B1E6-DFA5970BB3F0_d0e494606_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-65885916-0242-5DDB-9D88-EB214096C4DF_d0e516450_href.png has changed
Binary file Symbian3/PDK/Source/GUID-65885916-0242-5DDB-9D88-EB214096C4DF_d0e523910_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6597A895-37D5-51D1-86B3-E74F6E845899_d0e398103_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6597A895-37D5-51D1-86B3-E74F6E845899_d0e403956_href.png has changed
--- a/Symbian3/PDK/Source/GUID-659E2A30-C2E0-4E5A-AA9F-50EBEC7E9579.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-659E2A30-C2E0-4E5A-AA9F-50EBEC7E9579.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -67,7 +67,7 @@
 </table>
 <fig id="GUID-257C16FF-DE8E-4942-BB99-B013D7E1AD28">
 <title>Panes</title>
-<image href="GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e94853_href.png" placement="inline"/>
+<image href="GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e99051_href.png" placement="inline"/>
 </fig>
 <section id="GUID-EA67A1C1-D843-48BF-BC32-BB8225B65220"><title>Using
 windows and panes in applications</title><p>Windows and panes
Binary file Symbian3/PDK/Source/GUID-65A4BA91-579F-5B9B-ACC1-D3D9B1F233B7_d0e107858_href.png has changed
Binary file Symbian3/PDK/Source/GUID-65A4BA91-579F-5B9B-ACC1-D3D9B1F233B7_d0e110301_href.png has changed
Binary file Symbian3/PDK/Source/GUID-65C997F4-3899-56B1-85DD-9425E06F128B_d0e232763_href.png has changed
Binary file Symbian3/PDK/Source/GUID-65C997F4-3899-56B1-85DD-9425E06F128B_d0e238758_href.png has changed
--- a/Symbian3/PDK/Source/GUID-65E9C040-AAB6-5C1E-9724-8828DADFC741.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-65E9C040-AAB6-5C1E-9724-8828DADFC741.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -75,7 +75,7 @@
 </ul> <fig id="GUID-4F3214DA-0D42-5FFB-8392-3A29F743E6F6">
 <title>              Figure 1. RPositionServer and RPositioner with basic
 position data              classes            </title>
-<image href="GUID-E86347E8-8D3C-5FCB-BD9F-EA0DF8F0D9FD_d0e434869_href.png" placement="inline"/>
+<image href="GUID-E86347E8-8D3C-5FCB-BD9F-EA0DF8F0D9FD_d0e440714_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Platform security capabilities</title> <p>Applications must
 have the <codeph>Location</codeph> capability to use the Location Acquisition
Binary file Symbian3/PDK/Source/GUID-65F3E8BD-22C9-5CF2-A3CC-270C24ADECC0_d0e388259_href.png has changed
Binary file Symbian3/PDK/Source/GUID-65F3E8BD-22C9-5CF2-A3CC-270C24ADECC0_d0e394112_href.png has changed
--- a/Symbian3/PDK/Source/GUID-66470976-7B8B-582B-B32B-4010C95052FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-66470976-7B8B-582B-B32B-4010C95052FF"><title>Compressed Unicode resource format</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This page describes the compressed resource file format introduced from Symbian OS v7.0. </p> <p>This format compresses, for those cases where actual benefit is yielded by compressing, Unicode text-strings in the resource data by using the Standard Compression Scheme for Unicode, described in <xref scope="external" href="http://www.unicode.org/unicode/reports/tr6/tr6-3.2.html">http://www.unicode.org/unicode/reports/tr6/tr6-3.2.html</xref>. </p> <p>Resource files in this format are generated by the resource compiler from Symbian OS v7.0.</p> <table id="GUID-70D9B9A9-DD57-5996-8FDB-7820F8712508"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p><b>Number of bytes</b> </p> </entry> <entry><p><b>Description</b> </p> </entry> </row> <row><entry><p>16</p> </entry> <entry><p>These bytes store the resource file’s UIDs. </p> <p>The first twelve bytes consist of three four-byte integers (in little-endian byte order) followed by a four-byte CRC checksum generated from those three integers. </p> <p>The first UID is always 0x101f4a6b. </p> <p>The second and third UIDs can be specified on rcomp's command-line. By default, the second UID is zero and the third UID is the resource file’s “offset”, i.e. the twenty-bit integer generated from the resource file’s name. These twenty bits are stored in the least significant twenty bits of the third UID; the most significant twelve bits are all zero.</p> </entry> </row> <row><entry><p>1</p> </entry> <entry><p>This byte stores flags. Currently, there is only one flag defined, which is the lowest bit of the byte (0x01). This flag indicates whether the third UID is actually the resource file’s “offset” (see the row above). The bit is set to non-zero if it is, and zero if it is not.</p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores the size in bytes of the largest resource in the file (that is, the size when uncompressed).</p> </entry> </row> <row><entry><p>number_of_resources/8 (rounded up to the nearest whole number)</p> </entry> <entry><p>This is a bit-array (one bit for each resource) storing which resources contain compressed Unicode. The least significant bit of the first byte corresponds to the first resource, the next-to-least significant bit of the first byte corresponds to the second resource, etc. A bit being set to non-zero indicates that the corresponding resource contains compressed Unicode, a zero bit indicates that it does not contain compressed Unicode.</p> </entry> </row> <row><entry><p>[any]</p> </entry> <entry><p>This contains the data for all the resources stored in order, one after another with no byte-padding between them. The format of the data for each resource is in one of two possible formats depending on whether the resource contains compressed Unicode. The bit-array described in the row above indicates which resources contain compressed Unicode. Note that resources in either of these two formats may contain <i>uncompressed</i> Unicode: this is because compressing Unicode using the Standard Compression Scheme for Unicode can, in certain conditions, yield larger output than input, hence such Unicode text-strings will <i>not</i> be compressed as it would not be beneficial. Extra padding bytes (arbitrarily 0xab) are inserted in front of any uncompressed Unicode text-string that would otherwise not be aligned on a two-byte boundary relative to the start of that resource’s data, once the resource has been uncompressed.</p> <p><i>Resources not containing compressed Unicode:</i> </p> <p>The binary data of these resources is laid out exactly as specified in the resource definition (although note the comment about padding bytes above).</p> <p><i>Resources containing compressed Unicode:</i> </p> <p>The binary data of these resources is split up into one or more sequences, or “runs”, alternating between compressed Unicode and other material. </p> <p>Each run is preceded by an integer containing the length in bytes of the run (not including the byte(s) it occupies itself). The run-length occupies a single byte if it is less than 128, otherwise it occupies two bytes (in little-endian byte order), with the most significant bit of the first byte set to non-zero to indicate that the run-length occupies two bytes. Only the length of the first run may be zero (which would be the case if the resource does not <i>start</i> with compressed Unicode).</p> </entry> </row> <row><entry><p>(number_of_resources+1)*2</p> </entry> <entry><p>This is the resource index, which is a series of two-byte integers (in little-endian byte order), one for each resource in the resource file, each storing the file-position of that resource’s data (see row immediately above). </p> <p>This is followed by a two-byte integer (in little-endian byte order), which is the file-position one byte past the end of the last resource’s data. This is so that working out the length of a resource’s data is trivially done by subtracting the file-position stored in that resource’s index-entry from the file-position in the next index-entry. </p> <p>This last entry in the resource index, which stores the file-position one byte past the end of the last resource’s data, can also be thought of as storing the file-position of the start of the resource index.</p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-66772A42-2326-5250-9411-4C65534FB5D2_d0e473678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-66772A42-2326-5250-9411-4C65534FB5D2_d0e479514_href.png has changed
--- a/Symbian3/PDK/Source/GUID-667C0481-2DEF-4618-9AA5-8DF528082061.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-667C0481-2DEF-4618-9AA5-8DF528082061.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,108 +9,115 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-667C0481-2DEF-4618-9AA5-8DF528082061" xml:lang="en"><title>Accessory
-Services Overview</title><shortdesc>Accessory Services abstract accessory-related services for platform
-and SDK clients and provides accessory-related APIs for adaptation (audio
-and display) and accessory plug-ins.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-6C29F2CD-6FBE-4805-957A-CB08163DFC00"><title>Purpose</title><p>Accessory Services is a group of components
-that support APIs for platform clients to retrieve accessory connection status
-information, and device and services type information. It also provides adaptation
+<concept id="GUID-667C0481-2DEF-4618-9AA5-8DF528082061" xml:lang="en"><title>Accessory Services Overview</title><shortdesc>Accessory Services abstract accessory-related services
+for platform and SDK clients and provides accessory-related APIs for
+adaptation (audio and display) and accessory plug-ins.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-6C29F2CD-6FBE-4805-957A-CB08163DFC00"><title>Purpose</title><p>Accessory Services is a group of components that support APIs
+for platform clients to retrieve accessory connection status information,
+and device and services type information. It also provides adaptation
 APIs for the addition of new Accessory Services plug-in components. </p></section>
-<section id="GUID-9236506F-077D-4AB1-AE4C-9CE391F42F98"><title>Architecture</title><p>The architecture of Accessory Services
-revolves around the Accessory and the Remote Control Framework. Accessory
-Framework provides platform clients with access to the accessory functionality
-on the device, while abstracting away accessory, hardware, bearer and protocol-specific
-details from the software layers. Accessory Framework also provides accessory
-policy and adaptation APIs for the addition of new Accessory Framework plug-in
-components (if required). The Remote Control Framework provides APIs required
-to send and receive remote control commands to/from an accessory connected
-to a phone.</p><p>The core of the Accessory Framework is the Accessory Server.
-Accessory Server has a central role in accessory-related connection/disconnection
-handling on the Symbian platform. The Accessory Framework depends on the concepts,
-such as Generic ID, Accessory Policy, Accessory Handlers and Accessory Mode.
-These concepts are described in the following section.</p><p>Remote Control
-Framework exposes the Remote Control Server using the Remote Control Core
-APIs. The remote control commands are understood by the Key Event Converter
-and passed on to the Target Selector Plug-in (TSP) Controller by the Remote
-Control Framework. Then TSP decides which application must handle this request
-and passes that information to the Remote Control Server. Finally, the request
-is handled by that application. For more information about Remote Control
-concepts, see the <b>Remote Control Framework</b> section.</p><p>The following
-figure illustrates the architecture of Accessory Services:</p><fig id="GUID-EF39A7CD-BA15-4F2D-96C6-C54672226E98">
+<section id="GUID-9236506F-077D-4AB1-AE4C-9CE391F42F98"><title>Architecture</title><p>The architecture of Accessory Services revolves around the Accessory
+and the Remote Control Framework. Accessory Framework provides platform
+clients with access to the accessory functionality on the device,
+while abstracting away accessory, hardware, bearer and protocol-specific
+details from the software layers. Accessory Framework also provides
+accessory policy and adaptation APIs for the addition of new Accessory
+Framework plug-in components (if required). The Remote Control Framework
+provides APIs required to send and receive remote control commands
+to/from an accessory connected to a phone.</p><p>The core of the Accessory
+Framework is the Accessory Server. Accessory Server has a central
+role in accessory-related connection/disconnection handling on the
+Symbian platform. The Accessory Framework depends on the concepts,
+such as Generic ID, Accessory Policy, Accessory Handlers and Accessory
+Mode. These concepts are described in the following section.</p><p>Remote Control Framework exposes the Remote Control Server using
+the Remote Control Core APIs. The remote control commands are understood
+by the Key Event Converter and passed on to the Target Selector Plug-in
+(TSP) Controller by the Remote Control Framework. Then TSP decides
+which application must handle this request and passes that information
+to the Remote Control Server. Finally, the request is handled by that
+application. For more information about Remote Control concepts, see
+the <b>Remote Control Framework</b> section.</p><p>The following figure
+illustrates the architecture of Accessory Services:</p><fig id="GUID-EF39A7CD-BA15-4F2D-96C6-C54672226E98">
 <title>Accessory Services Architecture</title>
-<image href="GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e153742_href.jpg" scale="150" placement="inline"/>
+<image href="GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e159843_href.jpg" scale="150" placement="inline">
+</image>
 </fig></section>
-<section id="GUID-7AB78BEA-315A-4CC0-B5B6-A7A28568F2B2"><title>Description</title><p>This section describes the key concepts
-associated with Accessory Services.</p><ul>
-<li><p><b>Generic ID</b>: Generic ID provides the means to describe, detect,
-connect, and control an enhancement without a need to use hardware or provider-specific
-definitions. Thus Generic ID must be a native concept for any accessory-related
-platform software. For the platform purposes, Generic ID must be defined so
-that it covers all the enhancement device types, bearers, protocols, and accessory
-feature profiles that the platform supports and for which information is needed.</p> </li>
-<li><p><b>Accessory Policy:</b> Accessory Policy provides the Generic ID data
-type for identifying an accessory on the basis of its features, instead of
-an accessory-specific ID. Accessory Server uses Accessory Policy through the
-Accessory Policy API to get information about the connected accessories. A
-connected accessory is identified using an assigned Generic ID, which is a
-data structure that describes the relevant physical and logical features of
-the accessory.</p> </li>
-<li><p><b>Accessory Mode:</b> Accessory Mode describes the accessory connection
-status of the devices connected to a phone and indicates whether the audio
-is routed into the accessory or not. Accessory Mode typically affects the
-vibra state, lights state, texts, some UI icons and menu items. </p><p><b>Note:</b> Accessory
-Mode is a single-valued state, unlike the accessory connection status. Some
-supported Accessory Modes include hand portable, wired headset, wireless headset,
-wired car kit, wireless car kit, headphones, text device, music stand and
+<section id="GUID-7AB78BEA-315A-4CC0-B5B6-A7A28568F2B2"><title>Description</title><p>This section describes the key concepts associated with Accessory
+Services.</p><ul>
+<li><p><b>Generic ID</b>: Generic ID provides the means to describe,
+detect, connect, and control an enhancement without a need to use
+hardware or provider-specific definitions. Thus Generic ID must be
+a native concept for any accessory-related platform software. For
+the platform purposes, Generic ID must be defined so that it covers
+all the enhancement device types, bearers, protocols, and accessory
+feature profiles that the platform supports and for which information
+is needed.</p> </li>
+<li><p><b>Accessory Policy:</b> Accessory Policy provides the Generic
+ID data type for identifying an accessory on the basis of its features,
+instead of an accessory-specific ID. Accessory Server uses Accessory
+Policy through the Accessory Policy API to get information about the
+connected accessories. A connected accessory is identified using an
+assigned Generic ID, which is a data structure that describes the
+relevant physical and logical features of the accessory.</p> </li>
+<li><p><b>Accessory Mode:</b> Accessory Mode describes the accessory
+connection status of the devices connected to a phone and indicates
+whether the audio is routed into the accessory or not. Accessory Mode
+typically affects the vibra state, lights state, texts, some UI icons
+and menu items. </p><p><b>Note:</b> Accessory Mode is a single-valued
+state, unlike the accessory connection status. Some supported Accessory
+Modes include hand portable, wired headset, wireless headset, wired
+car kit, wireless car kit, headphones, text device, music stand and
 TV-out.</p> </li>
-<li><p><b>Accessory Handlers:</b> Accessory Handlers (ASYs) form the Accessory
-Framework adaptation layer. Accessory Server hosts multiple ASYs. For example,
-wired ASY, bluetooth ASY, plugged display ASY and so on. ASYs can be understood
-as an accessory adaptation layer between the Accessory Framework and any other
-Symbian platform or hardware-related software on the phone. Typical
-task of an ASY is accessory detection (registering for hardware indications)
-and providing the capabilities of the accessories to the Accessory framework.</p> </li>
-<li><p><b>Controller:</b> Controller is a device that sends a control message
-or command to a target device and is ready to capture responses.</p> </li>
-<li><p><b>Target:</b> Target is a device that accepts the control message
-or command from the controller, invokes necessary procedures and sends out
-responses to controller. </p> </li>
-<li><p><b>Bearer:</b> The bearer is a carrier that acts like a vehicle of
-transmission for remote control messages. The bearer here is an ECom plug-in
-to the Remote Control Server.</p> </li>
+<li><p><b>Accessory Handlers:</b> Accessory Handlers (ASYs) form the
+Accessory Framework adaptation layer. Accessory Server hosts multiple
+ASYs. For example, wired ASY, bluetooth ASY, plugged display ASY and
+so on. ASYs can be understood as an accessory adaptation layer between
+the Accessory Framework and any other Symbian platform or hardware-related
+software on the phone. Typical task of an ASY is accessory detection
+(registering for hardware indications) and providing the capabilities
+of the accessories to the Accessory framework.</p> </li>
+<li><p><b>Controller:</b> Controller is a device that sends a control
+message or command to a target device and is ready to capture responses.</p> </li>
+<li><p><b>Target:</b> Target is a device that accepts the control
+message or command from the controller, invokes necessary procedures
+and sends out responses to controller. </p> </li>
+<li><p><b>Bearer:</b> The bearer is a carrier that acts like a vehicle
+of transmission for remote control messages. The bearer here is an
+ECom plug-in to the Remote Control Server.</p> </li>
 </ul><p/></section>
-<section id="GUID-93D60E05-F086-46F4-A0A6-2B8227BBABED"><title>Components</title><p>Accessory Services consists of the following
-components: </p><ul>
-<li><p><b>Accessory Monitor:</b> Provides APIs to retrieve information about
-the connected accessories, such as a headset and car kit. </p></li>
-<li><p><b>Accessory Remote Control:</b> Provides APIs for clients to communicate
-with remote targets in a terminal and remote targets outside a terminal.</p> </li>
-<li><p><b>Accessory Server:</b> This is a core component that exposes accessory-related
-client and adaptation APIs through the Accessory Framework. The Accessory
-Framework provides APIs to query accessory-related information, adjust accessory-related
-user settings and to request control for accessory-related functions. </p> </li>
-<li><p><b>Headset Status API:</b> Provides APIs for checking the headset status.
-For example, headset status change notifications.</p> </li>
-<li><p><b>Target Selector Plug-in (TSP) Client Mapper:</b> Provides APIs to
-create mappings between remote control clients.</p> </li>
-<li><p><b>Plugged Display:</b> Plugged Display component is an ASY that enables
-High-Definition Multimedia Interface (HDMI) and TV-out support. For more information
-about HDMI, see <xref href="http://en.wikipedia.org/wiki/HDMI.dita">Wikipedia</xref>.</p> </li>
-<li><p><b>Remote Control Framework:</b> Provides APIs needed to send and receive
-remote control commands to/from a Bluetooth enabled device.</p> </li>
+<section id="GUID-93D60E05-F086-46F4-A0A6-2B8227BBABED"><title>Components</title><p>Accessory Services consists of the following components: </p><ul>
+<li><p><b>Accessory Monitor:</b> Provides APIs to retrieve information
+about the connected accessories, such as a headset and car kit. </p></li>
+<li><p><b>Accessory Remote Control:</b> Provides APIs for clients
+to communicate with remote targets in a terminal and remote targets
+outside a terminal.</p> </li>
+<li><p><b>Accessory Server:</b> This is a core component that exposes
+accessory-related client and adaptation APIs through the Accessory
+Framework. The Accessory Framework provides APIs to query accessory-related
+information, adjust accessory-related user settings and to request
+control for accessory-related functions. </p> </li>
+<li><p><b>Headset Status API:</b> Provides APIs for checking the headset
+status. For example, headset status change notifications.</p> </li>
+<li><p><b>Target Selector Plug-in (TSP) Client Mapper:</b> Provides
+APIs to create mappings between remote control clients.</p> </li>
+<li><p><b>Plugged Display:</b> Plugged Display component is an ASY
+that enables High-Definition Multimedia Interface (HDMI) and TV-out
+support. For more information about HDMI, see <xref href="http://en.wikipedia.org/wiki/HDMI" scope="external">Wikipedia</xref>.</p> </li>
+<li><p><b>Remote Control Framework:</b> Provides APIs needed to send
+and receive remote control commands to/from a Bluetooth enabled device.</p> </li>
 </ul></section>
-<section id="GUID-18563CE6-A880-48E4-96BA-3B50CA8A373F"><title>Using Accessory Services</title><p>You can use features provided
-by Accessory Services to perform the following tasks:</p><ul>
-<li><p>Retrieve accessory mode, connection status, accessory device and service
-type information.</p></li>
+<section id="GUID-18563CE6-A880-48E4-96BA-3B50CA8A373F"><title>Using
+Accessory Services</title><p>You can use features provided by Accessory
+Services to perform the following tasks:</p><ul>
+<li><p>Retrieve accessory mode, connection status, accessory device
+and service type information.</p></li>
 <li><p>Retrieve accessory control and connection-related functionality.</p></li>
-<li><p>Request for a protocol-specific connection handle for accessory audio
-control.</p></li>
+<li><p>Request for a protocol-specific connection handle for accessory
+audio control.</p></li>
 <li><p>Handle accessory-related key events.</p></li>
 <li><p>Monitor accessories connected to a phone.</p></li>
-<li><p>Identify accessories connected based on its features, using Generic
-IDs.</p></li>
+<li><p>Identify accessories connected based on its features, using
+Generic IDs.</p></li>
 <li><p>Configure accessory-related settings.</p></li>
 <li><p> Retrieve headset connection status.</p></li>
 <li><p>Create mappings between remote control clients.</p></li>
Binary file Symbian3/PDK/Source/GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e596171_href.png has changed
Binary file Symbian3/PDK/Source/GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e614116_href.png has changed
Binary file Symbian3/PDK/Source/GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e624065_href.png has changed
--- a/Symbian3/PDK/Source/GUID-66BBA81D-2488-50B8-8822-43AAAA139DDE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-66BBA81D-2488-50B8-8822-43AAAA139DDE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-66BBA81D-2488-50B8-8822-43AAAA139DDE" xml:lang="en"><title>Overview
 of random number generation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-B5BD3E1A-AFBB-5526-B5EA-8FA51A17E596-GENID-1-12-1-27-1-1-9-1-4-1-8-1-2-1"><title>Overview</title> <p>The
+<section id="GUID-B5BD3E1A-AFBB-5526-B5EA-8FA51A17E596-GENID-1-12-1-26-1-1-9-1-4-1-8-1-2-1"><title>Overview</title> <p>The
 purpose of the Random Number Generation API is the generation of cryptographically
 strong random numbers. </p> <p>Several cryptographic applications rely upon
 the randomness, unpredictability and irreproducibility of the random number
@@ -38,7 +38,7 @@
 For information on each class see the Cryptography API Reference material. </p> <fig id="GUID-5326D881-8795-5803-8B82-EC02C0C40226">
 <title>              The inheritance hierarchy for the RRandomSession and
 CSystemRandom classes            </title>
-<image href="GUID-FD1BB5C6-A042-56C9-8F1F-B51BF9DF5389_d0e625301_href.png" placement="inline"/>
+<image href="GUID-FD1BB5C6-A042-56C9-8F1F-B51BF9DF5389_d0e597407_href.png" placement="inline"/>
 </fig><p><b>How to use TRandom</b> </p> <p> <codeph>TRandom</codeph> is a
 cryptographically stong random number generator. Its declaration is: </p> <codeblock id="GUID-53D847C3-2A1A-51D8-93FA-F68EA2374551" xml:space="preserve">class TRandom
     {
--- a/Symbian3/PDK/Source/GUID-66C1F45B-FA94-5724-AD8F-371EAE92B7E9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-66C1F45B-FA94-5724-AD8F-371EAE92B7E9"><title>DEBUGGABLE_UDEBONLY</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>DEBUGGABLE_UDEBONLY</codeph>  </p> <p>Use the <codeph>DEBUGGABLE_UDEBONLY</codeph> statement to mark only the debug version of application to be debugged using the run-mode debug API. </p> <p>If both <codeph>DEBUGGABLE_UDEBONLY</codeph> and <codeph>debuggable</codeph> are in an <filepath>.mmp</filepath> file, the behaviour will follow as <codeph>DEBUGGABLE_UDEBONLY</codeph>. </p> <p>The following examples show the different scenarios when using the keywords <codeph>debuggable</codeph> and <codeph>DEBUGGABLE_UDEBONLY</codeph>: </p> <ul><li id="GUID-EF3AF6B3-0587-575A-A5CB-267756F6F759"><p>Perform the following steps using the keyword <codeph>debuggable</codeph>: </p> <ol id="GUID-824310D9-B3E7-549D-9F55-2583D070D575"><li id="GUID-B39CBDF7-921E-51A8-A6DF-EEAD4F21BC76"><p>Add keyword <codeph>debuggable</codeph> into <filepath>helloworld.mmp</filepath> file </p> </li> <li id="GUID-B75B8A27-8B65-5067-9FE3-83AE7694202D"><p>Build <filepath>helloworld.mmp</filepath>  </p> </li> <li id="GUID-CEFFA970-9F72-54B3-9692-9E21FF107CCB"><p>Execute READIMAGE to dump <filepath>helloworld.exe</filepath> (release and debug version). </p> <p>The expected result is <codeph>0x00000800</codeph>, which means the executable file is debuggable. </p> </li> </ol> </li> <li id="GUID-D26C012B-A5DF-55C6-B834-B10770E8EA0E"><p>Perform the following steps using the keyword <codeph>DEBUGGABLE_UDEBONLY</codeph>: </p> <ol id="GUID-5AFC6E61-7A01-5F65-8182-F809DF9C197F"><li id="GUID-3719B145-F7DE-5F28-B0B7-29DA324F86EA"><p>Add keyword <codeph>DEBUGGABLE_UDEBONLY</codeph> into <filepath>helloworld.mmp</filepath> file </p> </li> <li id="GUID-0EFDBA66-6165-58B7-B271-E9A4718EADE8"><p>Build <filepath>helloworld.mmp</filepath>  </p> </li> <li id="GUID-6C1C6A2C-5B70-5BBE-B560-37E6BD3DAA74"><p>Execute READIMAGE to dump <filepath>helloworld.exe</filepath> (release and debug version). </p> <p>The expected result is that the debug version of the executable file is debuggable but, the release executable file is not debuggable. </p> </li> </ol> </li> <li id="GUID-DBC9B952-929C-537C-B61E-8F171EB7A7BA"><p>Perform the following steps using both <codeph>DEBUGGABLE_UDEBONLY</codeph> and <codeph>debuggable</codeph> keywords: </p> <ol id="GUID-5A5F8F34-2BB8-5455-B4CA-FE48A5CDB148"><li id="GUID-9A0AC7C7-A2D3-5974-B494-E5991BDDCE71"><p>Add both <codeph>DEBUGGABLE_UDEBONLY</codeph> and <codeph>debuggable</codeph> keywords into <filepath>helloworld.mmp</filepath> file. </p> </li> <li id="GUID-1B849FB4-2718-51DF-849F-11239E96540B"><p>Build <filepath>helloworld.mmp</filepath> file </p> </li> <li id="GUID-05D90FDA-9B87-5CB9-AFFF-FD2C6F45831B"><p>Execute READIMAGE to dump <filepath>helloworld.exe</filepath> (release and debug version). </p> <p>The expected result is that the debug version of the executable file is debuggable but, the release executable file is not debuggable. </p> </li> </ol> </li> </ul> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-66CF7E30-010D-5A7A-95EF-41620CD49BF9_d0e20988_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-66CF7E30-010D-5A7A-95EF-41620CD49BF9_d0e22955_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-66E0B7F2-DEB4-5326-9DE0-5C0E253568AF_d0e577479_href.png has changed
Binary file Symbian3/PDK/Source/GUID-66E0B7F2-DEB4-5326-9DE0-5C0E253568AF_d0e626767_href.png has changed
--- a/Symbian3/PDK/Source/GUID-66EFFCF5-581A-4EE7-B784-8087A1081B6D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-66EFFCF5-581A-4EE7-B784-8087A1081B6D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,33 +12,29 @@
 <concept id="GUID-66EFFCF5-581A-4EE7-B784-8087A1081B6D" xml:lang="en"><title>Title
 pane</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The <uicontrol>Title pane</uicontrol> displays a context-dependent application
-title or state name. Title pane in Home screen view can work with touch down
-and release but by default, there is no functionality.</p>
-<fig id="GUID-DB644221-B698-4BAF-8BDC-8A852E4DCEE1">
+title or state name.</p>
+<fig id="GUID-62EB0EDB-3EC7-4321-A1DD-099EF80318B7">
 <title>Title pane</title>
-<image href="GUID-E04B4397-2926-4F4D-A7FE-F79F3BF37BF8_d0e95674_href.png" placement="inline"/>
+<image href="GUID-C6086C67-963B-455F-8BA6-58DC568084F0_d0e99781_href.png" scale="50" placement="inline"/>
 </fig>
 <ul>
 <li><p>Typically, the title text is the descriptive name of the current main
 pane view.</p></li>
-<li><p>In an application title pane, the title text is typically
-the application name.</p></li>
-<li><p>In the home screen, the <uicontrol>Title pane</uicontrol> may contain
-an operator logo (left-aligned in the area available) instead of the operator
-name as text.</p></li>
+<li><p>In an application idle state, the title text is typically the application
+name.</p></li>
+<li><p>In the idle state, the <uicontrol>Title pane</uicontrol> may contain
+an operator logo (left-aligned in the area available) instead
+of the operator name as text.</p></li>
 </ul>
-<section id="GUID-74624CAD-8179-4439-82FC-A88E1C940AAA"><title>Using
-the title pane in applications</title><p>The API to use for the title pane
-component is the Title pane API. For observing title pane touch events, use
-the Title Pane Touch Observer API.</p><p>To use a title pane in your application,
-create an instance of the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita"><apiname>CAknTitlePane</apiname></xref> class.</p><p>Use
-the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita#GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF/GUID-F89E2F33-6AB7-3A16-8620-A3FA25347752"><apiname>CAknTitlePane::SetTextL()</apiname></xref> method to set the title pane
-text and display it. To set the text to scroll if it does not fit the title
-pane text area, set the flag <codeph>aScroll</codeph> to <codeph>ETrue</codeph>.
-To set the text to the default (name of the application), use the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita#GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF/GUID-493A6764-24F8-3574-A967-A78005579705"><apiname>CAknTitlePane::SetTextToDefault()</apiname></xref> method.</p><p>Use
-the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita#GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF/GUID-10E096F4-9BDA-34A5-9370-CF50219E33E5"><apiname>CAknTitlePane::SetPicture()</apiname></xref> method to display a picture
-in the title pane. To set the icon from a file, use the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita#GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF/GUID-385EFCB3-092B-346F-8033-9F011F6E89C3"><apiname>CAknTitlePane::SetPictureFromFileL()</apiname></xref> method.
-Alternatively, to set a small icon to be displayed together with text, use
-the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita#GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF/GUID-45AA1B1E-BD7B-36E8-97C2-F8457E891935"><apiname>CAknTitlePane::SetSmallPicture()</apiname></xref> method.</p><p>To set
-the title pane contents from a resource file, use the <xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita#GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF/GUID-FC2CD2B6-7DE1-3DBB-9450-12B02E1916D3"><apiname>CAknTitlePane::SetFromResourceL()</apiname></xref> method. </p></section>
+<section><title>Using the title pane
+in C++ applications</title><p>The API to use for the title pane component
+is the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Title_Pane_APIIndexPage.html" format="application/java-archive">Title
+pane API</xref>. For observing title pane touch events, use the <xref href="GUID-B876D548-FD40-4369-B328-7427002B4851.dita">Title
+Pane Touch Observer API</xref>.</p><p>To use a title pane in your application,
+create an instance of the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html" format="application/java-archive"><codeph>CAknTitlePane</codeph></xref>.</p><p>Use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html#7f4e2823b01d379c520327735b1c04e3" format="application/java-archive"><codeph>SetTextL()</codeph></xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html" format="application/java-archive"><codeph>CAknTitlePane</codeph></xref> to set the title pane text and display it. To set the text to scroll
+if it does not fit the title pane text area, set the flag <codeph>aScroll</codeph> to <codeph>ETrue</codeph>.
+To set the text to the default (name of the application), use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html#f08a9e4674d01e3cf765c46371527588" format="application/java-archive"><codeph>SetTextToDefault()</codeph></xref>.</p><p>Use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html#62828189dbd5025010de7178436dd6db" format="application/java-archive"><codeph>SetPicture()</codeph></xref> to display a picture in the title pane.
+To set the icon from a file, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html#56018aed72ff6500af8a5f970a86df1c" format="application/java-archive"><codeph>SetPictureFromFileL()</codeph></xref>. Alternatively, to set a small
+icon to be displyed together with text, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html#cc2c91182dafcd7eac0f9cb817453992" format="application/java-archive"><codeph>SetSmallPicture()</codeph></xref>.</p><p>To set the title pane contents
+from a resource file, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html#34a47bf0f5bc9f3c9a1126088ffc78eb" format="application/java-archive"><codeph>SetFromResourceL()</codeph></xref>. </p></section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6740A668-33A2-52B1-9416-E9F21591D16C_d0e210589_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6740A668-33A2-52B1-9416-E9F21591D16C_d0e216590_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-67B311E5-5522-5367-BEC2-F5C9285AC99D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-67B311E5-5522-5367-BEC2-F5C9285AC99D"><title>Architecture of the Unified Trace Solution</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The full Unified Trace solution consists of the following components: </p> <ul><li id="GUID-547E35C6-7C41-5C68-8612-24B783B67DCC"><p> <b>UTrace OS component:</b> Includes UTrace API and trace configuration tool. </p> </li> <li id="GUID-A27CE047-9077-5823-9F46-AB70CE412BA9"><p> <b>UTrace non-OS component:</b> Includes host-side analysis tools, a command line interface, USB transport, and the host-side configuration. </p> </li> </ul> <p>The following diagram illustrates the high-level architecture of the Unified Trace solution. </p> <fig id="GUID-027F45C6-B1B7-5AA2-84DD-09AE5A350075"><title>
-          Unified Trace solution architecture  
-        </title> <image href="GUID-9C5A4B75-1A58-568E-AAB4-B44B61586037_d0e744170_href.png" placement="inline"/></fig> <table id="GUID-EF6DECE2-1DCF-50B7-BAEA-BF291357FD0D"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Carbide.c++</b>  </p> </entry> <entry><p>Provided by Nokia </p> </entry> </row> <row><entry><p> <b>TPTP</b>  </p> </entry> <entry><p>Provided by Eclipse </p> </entry> </row> <row><entry><p> <b>Trace viewer</b>  </p> </entry> <entry><p>Uses the TPTP module to view traces in CBE format. </p> </entry> </row> <row><entry><p> <b>Trace config API</b>  </p> </entry> <entry><p>Java API-Windows service and host-side device driver to remote configure trace configuration tool </p> </entry> </row> <row><entry><p> <b>BTrace</b>  </p> </entry> <entry><p>Filters traces coming from UTrace </p> </entry> </row> <row><entry><p> <b>Buffer</b>  </p> </entry> <entry><p>BTrace.dll-provides an API to access the BTrace buffer, this implements the BTrace handler. </p> </entry> </row> </tbody> </tgroup> </table> <p>The tracing process consists of three basic phases: </p> <ul><li id="GUID-8191AF4C-DACF-51D1-9773-571AC3E494F1"><p> <b>Instrumentation</b>  </p> <ul><li id="GUID-C740802A-38C3-546B-B9A4-61E8C4C119DD"><p>Inserting trace macros in the application or component code using the UTrace API. Each trace is identified by a primary filter, and optionally a secondary filter. </p> </li> <li id="GUID-42C06693-98C6-5034-9298-EE63BA16B5C9"><p>Compiling and transferring the application to the target. </p> </li> </ul> </li> <li id="GUID-86E744FC-835B-55FE-BC46-5AA77CC9A6FF"><p> <b>Tracing</b>  </p> <ul><li id="GUID-432BB07C-495A-59D2-87D5-0A3C06B679D4"><p>Enabling the logging of the traces on the target using trace configuration tool. The trace configuration tool should use filters to decide which traces are to be logged and which are to be discarded. </p> </li> <li id="GUID-091AF5FF-CBFB-5332-86CA-39E0FBF792DE"><p>Starting the application to enable tracing. </p> </li> <li id="GUID-40808498-D0C8-5293-8785-82BBC1A9E9A9"><p>Stopping the application to log the traces. </p> </li> </ul> </li> <li id="GUID-86C684A1-191B-519C-BFAC-EF3CC5B3976F"><p> <b> Analysis</b>  </p> <ul><li id="GUID-EB2D6CDB-A3F6-5720-8BC5-8FE9C7B3984B"><p>Transferring the resulting log file to a PC. </p> </li> <li id="GUID-CEC1248C-3545-52E0-B261-A3E3A4D85F68"><p>The logs could then be processed, analysed and viewed on screen in a human-readable format. A Trace Environment Developer can provide their own analysis tool, or the Carbide.c++ or Eclipse-based TPTP Log Viewer is available in particular CustKits. </p> </li> </ul> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-3-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-3-1"><title>Feature Management Overview</title><shortdesc>This section gives an overview of feature management, what it does, how it works, how to use it and links to relevant links. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-EC3021C2-C858-571B-A4B3-697CCB43CAFF-GENID-1-12-1-24-1-1-4-1-1-3-1-3-1"><title>Purpose</title> <p>A feature is a piece of functionality that is shipped with the device, but which can be disabled or enabled. </p> <p>Feature management is used to manage the enabling and disabling of these features and associated activities for example to provide a means of allowing the system to know if a feature is enabled or not. </p> </section> <section id="GUID-E3F13137-DDF7-5F4B-8571-33EB30AE15FD-GENID-1-12-1-24-1-1-4-1-1-3-1-3-2"><title>Architecture</title> <p>The feature management system consists of a server and two dll files. </p> <p>The feature management system has a standard client server architecture. The server is the feature management server and the dll files provide a series of APIs with which the client can communicate with the server. </p> </section> <section id="GUID-3AFD464F-ED48-5C72-86B3-0B1DF098317A-GENID-1-12-1-24-1-1-4-1-1-3-1-3-3"><title>Description</title> <p>As described above, the functionality of feature management can be broken into two groups: the server and the dll files. </p> <p>The feature manager server: this comes as an executable called featmgrserver.exe. </p> <ul><li id="GUID-81DA7DA3-3785-587A-84D8-C05EADD837FB-GENID-1-12-1-24-1-1-4-1-1-3-1-3-3-4-1"><p>This does all the feature management work that is keeping track of the status of each feature. </p> </li> </ul> <p>The communication to the feature management server is carried out via the two dll files i.e. featdiscovery.dll and featmgr.dll. </p> <ul><li id="GUID-3623FC76-619F-5347-96B3-D71D623D92D3-GENID-1-12-1-24-1-1-4-1-1-3-1-3-3-6-1"><p>Provide a means of telling the client when a change to the status of a feature has occurred. </p> </li> <li id="GUID-C59BFD29-3E45-52F5-8034-21030F7701CF-GENID-1-12-1-24-1-1-4-1-1-3-1-3-3-6-2"><p>Allows the client to specify which feature is to be enabled or disabled. </p> </li> <li id="GUID-821AD7FC-BA58-5976-A4F8-F0572CF61407-GENID-1-12-1-24-1-1-4-1-1-3-1-3-3-6-3"><p>Allows the client to add or delete features. </p> </li> </ul> </section> <section id="GUID-53F35C75-D725-5543-9492-B58D6FCB552C-GENID-1-12-1-24-1-1-4-1-1-3-1-3-4"><title>Components</title> <p>The following components make up the feature management collection. </p> <ul><li id="GUID-CC662594-3E6C-5C1A-9055-1B83E683F84D-GENID-1-12-1-24-1-1-4-1-1-3-1-3-4-3-1"><p> <b>Feature Discovery</b>  </p> <p> <filepath>featdiscovery.dll</filepath>  </p> <p>Provides the APIs that provide only a subset of what can be provided by feature management. </p> <p>It provides the functionality for TFeatureSet and CFeatureDiscovery. </p> </li> <li id="GUID-8291E183-61D6-517A-9D0D-46F6BF97041F-GENID-1-12-1-24-1-1-4-1-1-3-1-3-4-3-2"><p> <b>Feature Manager</b>  </p> <p> <filepath>featmgr.dll </filepath>  </p> <p>Provides the APIs that allow the client to carry out the full functionality available with feature management. </p> <p>It provides the functionality for RFeatMgrClient, RFeatureControl, MFeatureObserver and CFeatureNotifier. </p> </li> <li id="GUID-3FBF3512-7D28-5533-92CB-5C141787DB6B-GENID-1-12-1-24-1-1-4-1-1-3-1-3-4-3-3"><p> <b>Feature Manager Server</b>  </p> <p> <filepath>featmgrserver.exe</filepath>  </p> <p>Performs all the actual operations and maintains details about features. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager
-                Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1"><title>Feature Management Overview</title><shortdesc>This section gives an overview of feature management, what it does, how it works, how to use it and links to relevant links. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-EC3021C2-C858-571B-A4B3-697CCB43CAFF-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-1"><title>Purpose</title> <p>A feature is a piece of functionality that is shipped with the device, but which can be disabled or enabled. </p> <p>Feature management is used to manage the enabling and disabling of these features and associated activities for example to provide a means of allowing the system to know if a feature is enabled or not. </p> </section> <section id="GUID-E3F13137-DDF7-5F4B-8571-33EB30AE15FD-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-2"><title>Architecture</title> <p>The feature management system consists of a server and two dll files. </p> <p>The feature management system has a standard client server architecture. The server is the feature management server and the dll files provide a series of APIs with which the client can communicate with the server. </p> </section> <section id="GUID-3AFD464F-ED48-5C72-86B3-0B1DF098317A-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-3"><title>Description</title> <p>As described above, the functionality of feature management can be broken into two groups: the server and the dll files. </p> <p>The feature manager server: this comes as an executable called featmgrserver.exe. </p> <ul><li id="GUID-81DA7DA3-3785-587A-84D8-C05EADD837FB-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-3-4-1"><p>This does all the feature management work that is keeping track of the status of each feature. </p> </li> </ul> <p>The communication to the feature management server is carried out via the two dll files i.e. featdiscovery.dll and featmgr.dll. </p> <ul><li id="GUID-3623FC76-619F-5347-96B3-D71D623D92D3-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-3-6-1"><p>Provide a means of telling the client when a change to the status of a feature has occurred. </p> </li> <li id="GUID-C59BFD29-3E45-52F5-8034-21030F7701CF-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-3-6-2"><p>Allows the client to specify which feature is to be enabled or disabled. </p> </li> <li id="GUID-821AD7FC-BA58-5976-A4F8-F0572CF61407-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-3-6-3"><p>Allows the client to add or delete features. </p> </li> </ul> </section> <section id="GUID-53F35C75-D725-5543-9492-B58D6FCB552C-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-4"><title>Components</title> <p>The following components make up the feature management collection. </p> <ul><li id="GUID-CC662594-3E6C-5C1A-9055-1B83E683F84D-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-4-3-1"><p> <b>Feature Discovery</b>  </p> <p> <filepath>featdiscovery.dll</filepath>  </p> <p>Provides the APIs that provide only a subset of what can be provided by feature management. </p> <p>It provides the functionality for TFeatureSet and CFeatureDiscovery. </p> </li> <li id="GUID-8291E183-61D6-517A-9D0D-46F6BF97041F-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-4-3-2"><p> <b>Feature Manager</b>  </p> <p> <filepath>featmgr.dll </filepath>  </p> <p>Provides the APIs that allow the client to carry out the full functionality available with feature management. </p> <p>It provides the functionality for RFeatMgrClient, RFeatureControl, MFeatureObserver and CFeatureNotifier. </p> </li> <li id="GUID-3FBF3512-7D28-5533-92CB-5C141787DB6B-GENID-1-12-1-24-1-1-4-1-1-5-1-4-1-3-4-3-3"><p> <b>Feature Manager Server</b>  </p> <p> <filepath>featmgrserver.exe</filepath>  </p> <p>Performs all the actual operations and maintains details about features. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager
-                Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-3-1"><title>Feature Management Overview</title><shortdesc>This section gives an overview of feature management, what it does, how it works, how to use it and links to relevant links. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-EC3021C2-C858-571B-A4B3-697CCB43CAFF-GENID-1-12-1-27-1-1-4-1-1-3-1-3-1"><title>Purpose</title> <p>A feature is a piece of functionality that is shipped with the device, but which can be disabled or enabled. </p> <p>Feature management is used to manage the enabling and disabling of these features and associated activities for example to provide a means of allowing the system to know if a feature is enabled or not. </p> </section> <section id="GUID-E3F13137-DDF7-5F4B-8571-33EB30AE15FD-GENID-1-12-1-27-1-1-4-1-1-3-1-3-2"><title>Architecture</title> <p>The feature management system consists of a server and two dll files. </p> <p>The feature management system has a standard client server architecture. The server is the feature management server and the dll files provide a series of APIs with which the client can communicate with the server. </p> </section> <section id="GUID-3AFD464F-ED48-5C72-86B3-0B1DF098317A-GENID-1-12-1-27-1-1-4-1-1-3-1-3-3"><title>Description</title> <p>As described above, the functionality of feature management can be broken into two groups: the server and the dll files. </p> <p>The feature manager server: this comes as an executable called featmgrserver.exe. </p> <ul><li id="GUID-81DA7DA3-3785-587A-84D8-C05EADD837FB-GENID-1-12-1-27-1-1-4-1-1-3-1-3-3-4-1"><p>This does all the feature management work that is keeping track of the status of each feature. </p> </li> </ul> <p>The communication to the feature management server is carried out via the two dll files i.e. featdiscovery.dll and featmgr.dll. </p> <ul><li id="GUID-3623FC76-619F-5347-96B3-D71D623D92D3-GENID-1-12-1-27-1-1-4-1-1-3-1-3-3-6-1"><p>Provide a means of telling the client when a change to the status of a feature has occurred. </p> </li> <li id="GUID-C59BFD29-3E45-52F5-8034-21030F7701CF-GENID-1-12-1-27-1-1-4-1-1-3-1-3-3-6-2"><p>Allows the client to specify which feature is to be enabled or disabled. </p> </li> <li id="GUID-821AD7FC-BA58-5976-A4F8-F0572CF61407-GENID-1-12-1-27-1-1-4-1-1-3-1-3-3-6-3"><p>Allows the client to add or delete features. </p> </li> </ul> </section> <section id="GUID-53F35C75-D725-5543-9492-B58D6FCB552C-GENID-1-12-1-27-1-1-4-1-1-3-1-3-4"><title>Components</title> <p>The following components make up the feature management collection. </p> <ul><li id="GUID-CC662594-3E6C-5C1A-9055-1B83E683F84D-GENID-1-12-1-27-1-1-4-1-1-3-1-3-4-3-1"><p> <b>Feature Discovery</b>  </p> <p> <filepath>featdiscovery.dll</filepath>  </p> <p>Provides the APIs that provide only a subset of what can be provided by feature management. </p> <p>It provides the functionality for TFeatureSet and CFeatureDiscovery. </p> </li> <li id="GUID-8291E183-61D6-517A-9D0D-46F6BF97041F-GENID-1-12-1-27-1-1-4-1-1-3-1-3-4-3-2"><p> <b>Feature Manager</b>  </p> <p> <filepath>featmgr.dll </filepath>  </p> <p>Provides the APIs that allow the client to carry out the full functionality available with feature management. </p> <p>It provides the functionality for RFeatMgrClient, RFeatureControl, MFeatureObserver and CFeatureNotifier. </p> </li> <li id="GUID-3FBF3512-7D28-5533-92CB-5C141787DB6B-GENID-1-12-1-27-1-1-4-1-1-3-1-3-4-3-3"><p> <b>Feature Manager Server</b>  </p> <p> <filepath>featmgrserver.exe</filepath>  </p> <p>Performs all the actual operations and maintains details about features. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager
+                Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1"><title>Feature Management Overview</title><shortdesc>This section gives an overview of feature management, what it does, how it works, how to use it and links to relevant links. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-EC3021C2-C858-571B-A4B3-697CCB43CAFF-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-1"><title>Purpose</title> <p>A feature is a piece of functionality that is shipped with the device, but which can be disabled or enabled. </p> <p>Feature management is used to manage the enabling and disabling of these features and associated activities for example to provide a means of allowing the system to know if a feature is enabled or not. </p> </section> <section id="GUID-E3F13137-DDF7-5F4B-8571-33EB30AE15FD-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-2"><title>Architecture</title> <p>The feature management system consists of a server and two dll files. </p> <p>The feature management system has a standard client server architecture. The server is the feature management server and the dll files provide a series of APIs with which the client can communicate with the server. </p> </section> <section id="GUID-3AFD464F-ED48-5C72-86B3-0B1DF098317A-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-3"><title>Description</title> <p>As described above, the functionality of feature management can be broken into two groups: the server and the dll files. </p> <p>The feature manager server: this comes as an executable called featmgrserver.exe. </p> <ul><li id="GUID-81DA7DA3-3785-587A-84D8-C05EADD837FB-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-3-4-1"><p>This does all the feature management work that is keeping track of the status of each feature. </p> </li> </ul> <p>The communication to the feature management server is carried out via the two dll files i.e. featdiscovery.dll and featmgr.dll. </p> <ul><li id="GUID-3623FC76-619F-5347-96B3-D71D623D92D3-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-3-6-1"><p>Provide a means of telling the client when a change to the status of a feature has occurred. </p> </li> <li id="GUID-C59BFD29-3E45-52F5-8034-21030F7701CF-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-3-6-2"><p>Allows the client to specify which feature is to be enabled or disabled. </p> </li> <li id="GUID-821AD7FC-BA58-5976-A4F8-F0572CF61407-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-3-6-3"><p>Allows the client to add or delete features. </p> </li> </ul> </section> <section id="GUID-53F35C75-D725-5543-9492-B58D6FCB552C-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-4"><title>Components</title> <p>The following components make up the feature management collection. </p> <ul><li id="GUID-CC662594-3E6C-5C1A-9055-1B83E683F84D-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-4-3-1"><p> <b>Feature Discovery</b>  </p> <p> <filepath>featdiscovery.dll</filepath>  </p> <p>Provides the APIs that provide only a subset of what can be provided by feature management. </p> <p>It provides the functionality for TFeatureSet and CFeatureDiscovery. </p> </li> <li id="GUID-8291E183-61D6-517A-9D0D-46F6BF97041F-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-4-3-2"><p> <b>Feature Manager</b>  </p> <p> <filepath>featmgr.dll </filepath>  </p> <p>Provides the APIs that allow the client to carry out the full functionality available with feature management. </p> <p>It provides the functionality for RFeatMgrClient, RFeatureControl, MFeatureObserver and CFeatureNotifier. </p> </li> <li id="GUID-3FBF3512-7D28-5533-92CB-5C141787DB6B-GENID-1-12-1-27-1-1-4-1-1-5-1-4-1-3-4-3-3"><p> <b>Feature Manager Server</b>  </p> <p> <filepath>featmgrserver.exe</filepath>  </p> <p>Performs all the actual operations and maintains details about features. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager
+                Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6820BB9E-F0B9-4493-A4C3-686238527C9B_d0e88577_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6820BB9E-F0B9-4493-A4C3-686238527C9B_d0e92775_href.png has changed
--- a/Symbian3/PDK/Source/GUID-68417158-D625-56BF-BDD5-BE49A7651CED.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-68417158-D625-56BF-BDD5-BE49A7651CED.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-68417158-D625-56BF-BDD5-BE49A7651CED"><title>Audio Output Streaming Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides an overview of Audio Output Streaming. </p> <section><title>Purpose</title> <p>Audio Output Streaming is the interface to streaming sampled audio data to the low level audio controller part of the Multimedia Framework (MMF). </p> <p><b>Audio Output Streaming Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-DE828986-946F-5519-97C6-9FB89E972AB8"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <b>mediaclientaudiostream.dll</b>  </p> </entry> <entry><p> <b>mediaclientaudiostream.lib</b>  </p> </entry> <entry><p>These files are used for implementing Audio Output Streaming. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>How the Audio Output Streaming classes interact with other components of MMF is shown below: </p> <fig id="GUID-ABA14A10-ACBD-5C46-8E74-DD1B81AE1EF7"><title>
              Audio output streaming overview 
-          </title> <image href="GUID-C3A8290D-44BA-5AAD-8F0D-745FF3F10E0B_d0e516822_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>Streamed audio data is sent and received incrementally. This means: </p> <ul><li id="GUID-0B12FC8E-B60A-51A7-A2AD-AE9637DF46BC"><p>sound clips sent to the low level audio controller (audio play) can be sent as they arrive rather than waiting until the entire clip is received. </p> <p>The user of the API should maintain the data fragments in a queue before sending them to the server. If the user attempts to send data faster than the server can receive it, the excess data fragments are maintained in another client side queue (invisible to the user), whose elements are references to the buffers passed to it. The server notifies the client using a callback each time it has received a data fragment. This indicates to the client that the data fragment can be deleted. </p> </li> <li id="GUID-E6A88A7A-AEF2-596D-828B-8449D95D4829"><p>sound clips that are being captured by the low level audio controller (audio record) can be read incrementally without having to wait until audio capture is complete. </p> <p>The low level audio controller maintains the received buffers where it can place the audio data that is being captured. The client uses a read function to read the received data into destination descriptors. </p> </li> </ul> <p>The client is also notified (for audio play and record) when the stream is opened and available for use (opening takes place asynchronously), and when the stream is closed. </p> <p>This API can only be used to stream audio data, with the data being stored or sourced from a descriptor. Client applications must ensure that the data is in 16 bit PCM format as this is the only format supported. The API does not support mixing. A priority mechanism is used to control access to the sound device by more than one client. </p> </section> <section><title>Key Audio Output Streaming Classes</title> <p>The functionality provided by Audio Output Streaming is contained within the <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita"><apiname>CMdaAudioOutputStream</apiname></xref> class. </p> </section> <section><title>Using Audio Output Streaming</title> <p>Clients can use Audio Output Streaming to: </p> <ul><li id="GUID-79DC35F3-2B6C-55DF-B6DE-88C075F1200E"><p>Open, set audio properties, write to and close the audio stream. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita"> Audio Output Streaming Tutorial </xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-C3A8290D-44BA-5AAD-8F0D-745FF3F10E0B_d0e524282_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>Streamed audio data is sent and received incrementally. This means: </p> <ul><li id="GUID-0B12FC8E-B60A-51A7-A2AD-AE9637DF46BC"><p>sound clips sent to the low level audio controller (audio play) can be sent as they arrive rather than waiting until the entire clip is received. </p> <p>The user of the API should maintain the data fragments in a queue before sending them to the server. If the user attempts to send data faster than the server can receive it, the excess data fragments are maintained in another client side queue (invisible to the user), whose elements are references to the buffers passed to it. The server notifies the client using a callback each time it has received a data fragment. This indicates to the client that the data fragment can be deleted. </p> </li> <li id="GUID-E6A88A7A-AEF2-596D-828B-8449D95D4829"><p>sound clips that are being captured by the low level audio controller (audio record) can be read incrementally without having to wait until audio capture is complete. </p> <p>The low level audio controller maintains the received buffers where it can place the audio data that is being captured. The client uses a read function to read the received data into destination descriptors. </p> </li> </ul> <p>The client is also notified (for audio play and record) when the stream is opened and available for use (opening takes place asynchronously), and when the stream is closed. </p> <p>This API can only be used to stream audio data, with the data being stored or sourced from a descriptor. Client applications must ensure that the data is in 16 bit PCM format as this is the only format supported. The API does not support mixing. A priority mechanism is used to control access to the sound device by more than one client. </p> </section> <section><title>Key Audio Output Streaming Classes</title> <p>The functionality provided by Audio Output Streaming is contained within the <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita"><apiname>CMdaAudioOutputStream</apiname></xref> class. </p> </section> <section><title>Using Audio Output Streaming</title> <p>Clients can use Audio Output Streaming to: </p> <ul><li id="GUID-79DC35F3-2B6C-55DF-B6DE-88C075F1200E"><p>Open, set audio properties, write to and close the audio stream. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita"> Audio Output Streaming Tutorial </xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-684F99F3-7C7D-5B50-8EC0-BE14E22C33BE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-684F99F3-7C7D-5B50-8EC0-BE14E22C33BE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 and can only be executed in its location within the XIP ROM. Files are specified
 by using the <codeph>file</codeph> keyword in the <filepath>.oby</filepath> file.
 The following diagram summarises the situation for EKA1. </p> <fig id="GUID-F781B307-B816-5E86-A92F-81A96D513451">
-<image href="GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e384771_href.png" placement="inline"/>
+<image href="GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e390624_href.png" placement="inline"/>
 </fig> <p><b>EKA2</b> </p> <p>In
 EKA2, executables can be placed in the ROM in: </p> <ul>
 <li id="GUID-6830D039-F67A-5409-9805-ACC34C5AF9C4"><p> <i>uncompressed</i> form
--- a/Symbian3/PDK/Source/GUID-685C3F33-1530-4984-B125-E4EF8EBB2EE8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-685C3F33-1530-4984-B125-E4EF8EBB2EE8" xml:lang="en"><title>Symbian
-UI with rotation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Symbian UI can rotate between the portrait and landscape layout. This section
-describes the guidelines for designing landscape-aware application user interfaces.
-On the whole, the primary guideline in the Symbian platform is that no specific
-UI design is necessary for landscape orientation and mode. Instead, applications
-designed according to the guidelines described in this section should work
-in both landscape orientation and with the default portrait orientation. This
-section does, however, describe some exceptions to this rule.</p>
-<p>The Symbian platform in landscape orientation follows the bottom softkey
-style. In the bottom softkey style, the layout of the normal portrait UI is
-merely stretched horizontally to fit the screen, leaving the softkeys below
-the screen as in standard portrait orientation.</p>
-<fig id="GUID-F169E015-2D9C-40E3-8E5A-A681A8B598DE">
-<title>Symbian UI rotated to landscape in the bottom softkey style</title>
-<image href="GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e105319_href.png" placement="inline"/>
-</fig>
-<section id="GUID-1797F9D3-BC11-425B-A746-FB3274B097D4"><title>Using
-portrait and landscape layouts in applications</title><p>Switching between
-portrait and landscape layouts is handled in the application and UI frameworks
-using <xref href="GUID-DD15F24B-0786-4531-A6C5-A5E70EBE2732.dita">layout change
-events</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-687AFC9D-ADB7-5190-A535-C54B835825DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-687AFC9D-ADB7-5190-A535-C54B835825DD" xml:lang="en"><title>Application resource tools reference</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-68B999C2-0993-4804-9624-42C3D88BE5C7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-68B999C2-0993-4804-9624-42C3D88BE5C7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The following image illustrates the components of the view architecture
 approach.</p>
-<fig id="GUID-A4D968BE-B048-424C-94B5-FAAA7B14C5D5"><title>View architecture classes</title><image href="GUID-2B50C6B1-E1E8-44E6-840B-7FAA206E6C26_d0e69821_href.png"/></fig>
+<fig id="GUID-A4D968BE-B048-424C-94B5-FAAA7B14C5D5"><title>View architecture classes</title><image href="GUID-2B50C6B1-E1E8-44E6-840B-7FAA206E6C26_d0e74034_href.png"/></fig>
 <p>Symbian platform applications that follow the view architecture require:</p>
 <ul>
 <li><p>a <xref href="GUID-FD2CDEB8-0784-4BE5-A775-170F57D71BBC.dita">UI
--- a/Symbian3/PDK/Source/GUID-68BBBA98-BDF7-4562-8168-5E90C73ADCF8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-68BBBA98-BDF7-4562-8168-5E90C73ADCF8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 their greatest threat, and allows intruders to try different attack methods
 against the device. The figure below illustrates the most common methods of
 attack against mobile devices.</p>
-<fig id="GUID-2839B915-A025-4404-96A8-B9354F9E5A9F"><title>Mobile device and common attack methods</title><image href="GUID-A9E610B7-505C-41C4-9079-BC83C094982E_d0e13461_href.png"/></fig>
+<fig id="GUID-2839B915-A025-4404-96A8-B9354F9E5A9F"><title>Mobile device and common attack methods</title><image href="GUID-A9E610B7-505C-41C4-9079-BC83C094982E_d0e13560_href.png"/></fig>
 <p>Due to the nature of mobile devices, including the potential vulnerabilities
 mentioned above, you should consider the following points when designing your
 application:</p>
Binary file Symbian3/PDK/Source/GUID-68C4E5E5-65A2-51BC-B3DC-2B83D29212D4_d0e167911_href.png has changed
Binary file Symbian3/PDK/Source/GUID-68C4E5E5-65A2-51BC-B3DC-2B83D29212D4_d0e174004_href.png has changed
Binary file Symbian3/PDK/Source/GUID-68E3609C-3429-5B1C-B8D9-C0EBBACEF357_d0e235540_href.png has changed
Binary file Symbian3/PDK/Source/GUID-68E3609C-3429-5B1C-B8D9-C0EBBACEF357_d0e241513_href.png has changed
--- a/Symbian3/PDK/Source/GUID-68F27C54-A339-507B-9DD3-B3701132FE0A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-68F27C54-A339-507B-9DD3-B3701132FE0A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,100 +9,100 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-68F27C54-A339-507B-9DD3-B3701132FE0A" xml:lang="en"><title>WAP
-Push Framework Overview</title><shortdesc>WAP Push Framework is a plug-in framework that supports receiving,
-processing and storing of WAP (Wireless Application Protocol) push messages. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Required background</title> <p>Before using this component,
-you must understand <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECom
-Framework</xref> and <xref href="http://www.openmobilealliance.org/" scope="external">Open
-Mobile Alliance (OMA)</xref> standards. </p> </section>
-<section><title>Key concepts and terms</title> <dl>
+<concept id="GUID-68F27C54-A339-507B-9DD3-B3701132FE0A" xml:lang="en"><title>WAP Push Framework Overview</title><shortdesc>WAP Push Framework is a plug-in framework that supports
+receiving, processing and storing of WAP (Wireless Application Protocol)
+push messages. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-7E222D54-98DE-460F-98B3-B5CA6709163A"><title>Required background</title> <p>Before using this component,
+you must understand <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECom Framework</xref> and <xref href="http://www.openmobilealliance.org/" scope="external">Open Mobile Alliance (OMA)</xref> standards. </p> </section>
+<section id="GUID-52B5BBB3-74D0-47EA-8FB7-77AA480C73A6"><title>Key concepts and terms</title> <dl>
 <dlentry>
 <dt>Push message</dt>
-<dd><p>WAP push messages are specially formatted SMS messages that display
-an alert message to the user, and give the user the option of connecting directly
-to a particular URL through the mobile phone’s WAP Browser; for example, notification
-about a new email. </p> <p>A push message has a header section and a body
-section. Header section has <codeph>X-Wap-Application-Id</codeph> and <codeph>Content-Type</codeph> fields.
-The message body can be any MIME content-type and optionally encoded. When
-a push message is received, the framework parses the message header and loads
-an appropriate plug-in to process and store the message in a Message Store. </p> </dd>
+<dd><p>WAP push messages are specially formatted SMS messages that
+display an alert message to the user, and give the user the option
+of connecting directly to a particular URL through the mobile phone’s
+WAP Browser; for example, notification about a new email. </p> <p>A push message has a header section and a body section. Header section
+has <codeph>X-Wap-Application-Id</codeph> and <codeph>Content-Type</codeph> fields. The message body can be any MIME content-type and optionally
+encoded. When a push message is received, the framework parses the
+message header and loads an appropriate plug-in to process and store
+the message in a Message Store. </p> </dd>
 </dlentry>
 <dlentry>
 <dt>Push plug-in</dt>
-<dd><p>The handler (plug-in) supported by the framework are known as Push
-plug-in, such as Application Handler or Content Handler. </p> </dd>
+<dd><p>The handler (plug-in) supported by the framework are known
+as Push plug-in, such as Application Handler or Content Handler. </p> </dd>
 </dlentry>
 </dl> </section>
-<section><title>Architecture</title> <p>WAP Push Framework provides support
-for connectionless (CL) OTA-WSP push. </p> <p>The main components of the framework
-are Push Watcher, Application Handler and Content Handler. A Push Watcher
-is a plug-in that plug-in to the <xref href="GUID-4603D4ED-966F-5F70-B991-D10495BC2D7E.dita">Messaging
-Watcher Framework</xref> and is responsible for listening on the WAP Stack
-for incoming push messages. Push Watcher after receiving the message, loads
-an appropriate Application Handler through Application Dispatcher. An Application
-Handler is responsible for loading the appropriate Content Handler using the <codeph>X-Wap-Application-Id</codeph> value
+<section id="GUID-9EEB2332-6DD1-403A-AF97-4C66AD9B6CE6"><title>Architecture</title> <p>WAP Push Framework provides
+support for connectionless (CL) OTA-WSP push. </p> <p>The main components
+of the framework are Push Watcher, Application Handler and Content
+Handler. A Push Watcher is a plug-in that plug-in to the <xref href="GUID-4603D4ED-966F-5F70-B991-D10495BC2D7E.dita">Messaging Watcher
+Framework</xref> and is responsible for listening on the WAP Stack
+for incoming push messages. Push Watcher after receiving the message,
+loads an appropriate Application Handler through Application Dispatcher.
+An Application Handler is responsible for loading the appropriate
+Content Handler using the <codeph>X-Wap-Application-Id</codeph> value
 contained in the received push message. The content handler is responsible
-to handle the push message and take any action on the message that may be
-necessary. However, if a plug-in for a given content-type is not available,
-the WAP Push Framework uses the unknown application handler plug-in (default)
-and discards the push message. </p> <p>The following figure shows the architecture
-of WAP Push Framework. </p> <fig id="GUID-359E967A-EA0E-5AE2-A03C-220EB0C74B38">
+to handle the push message and take any action on the message that
+may be necessary. However, if a plug-in for a given content-type is
+not available, the WAP Push Framework uses the unknown application
+handler plug-in (default) and discards the push message. </p> <p>The
+following figure shows the architecture of WAP Push Framework. </p> <fig id="GUID-359E967A-EA0E-5AE2-A03C-220EB0C74B38">
 <title>              WAP Push Framework Architecture            </title>
-<image href="GUID-258FA5F7-5069-5DFE-8F6E-57063064CE65_d0e491086_href.jpg" placement="inline"/>
+<image href="GUID-258FA5F7-5069-5DFE-8F6E-57063064CE65_d0e496901_href.jpg" placement="inline"/>
 </fig> <dl>
 <dlentry>
 <dt>Push Watcher</dt>
-<dd><p>There are two Push Watchers in the framework for CL OTA-WSP—one is
-for secure push and the other is for non-secure push. The insecure CL watcher
-is always active and waits asynchronously to receive message from WAP Stack
-at port 2948. On receiving a push message, the watcher wraps the message up
-in a <xref href="GUID-C52CFBC5-40D0-3B55-B17F-F3709B8D960B.dita"><apiname>CPushMessage</apiname></xref>, parses the message and calls the Application
-Dispatcher, passing in the <codeph>X-Wap-Application-Id</codeph> value obtained
-from the push message. </p> </dd>
+<dd><p>There are two Push Watchers in the framework for CL OTA-WSP—one
+is for secure push and the other is for non-secure push. The insecure
+CL watcher is always active and waits asynchronously to receive message
+from WAP Stack at port 2948. On receiving a push message, the watcher
+wraps the message up in a <xref href="GUID-C52CFBC5-40D0-3B55-B17F-F3709B8D960B.dita"><apiname>CPushMessage</apiname></xref>, parses
+the message and calls the Application Dispatcher, passing in the <codeph>X-Wap-Application-Id</codeph> value obtained from the push message. </p> </dd>
 </dlentry>
 <dlentry>
 <dt>Dispatchers and Handlers</dt>
-<dd><p>The framework contains an Application Dispatcher and a Content Dispatcher
-that are used to find the appropriate Application Handler and Content Handler
-respectively. </p> <p>Application Dispatcher uses ECom to load an Application
-Handler using the application-ID passed to it by the Push Watcher. Two different
-Application Handlers are present in the framework—Unknown Application Handler
-for applications of unknown type and User Agent (UA) Application Handler that
-receives messages of type ‘<b>x-wap-application:*</b> ’ or ‘<b>x-wap-application:wml.ua</b> ’.
-The UA Application Handler looks at the content-type of the message and passes
-it to the Content Dispatcher. The content dispatcher then loads an appropriate
-Content Handler. The Unknown Application Handler deletes the push message. </p> <p>The
-Content Dispatcher uses ECom to load a particular Content Handler (plug-in)
-based on the content-type passed in by the Application Handler. The following
-are the Content Handlers provided within the framework. </p> <ul>
-<li id="GUID-9A90410A-354F-5492-AF7C-562729E12960"><p> <b>SI Content Handler:</b> These
-plug-ins process Service Indication (SI) messages. An SI message is a UA message
-with content-type <filepath>text/vnd.wap.si</filepath> or <filepath>application/vnd.wap.sic</filepath>.
-The basic form of an SI message is a short message with a URI indicating a
-service; for example, notification about new emails. </p> </li>
-<li id="GUID-63867E1C-1B2A-50E8-9FBE-3C127DA96EEB"><p> <b>SL Content Handler:</b> These
-plug-ins process Service Load (SL) messages. An SL message is an UA message
-with content-type <filepath>text/vnd.wap.sl</filepath> or <filepath>application/vnd.wap.slc</filepath>.
-The SL message contains a URI indicating a service which gets loaded without
-user input. </p> </li>
+<dd><p>The framework contains an Application Dispatcher and a Content
+Dispatcher that are used to find the appropriate Application Handler
+and Content Handler respectively. </p> <p>Application Dispatcher uses
+ECom to load an Application Handler using the application-ID passed
+to it by the Push Watcher. Two different Application Handlers are
+present in the framework—Unknown Application Handler for applications
+of unknown type and User Agent (UA) Application Handler that receives
+messages of type ‘<b>x-wap-application:*</b> ’ or ‘<b>x-wap-application:wml.ua</b> ’. The UA Application Handler looks at the content-type of the message
+and passes it to the Content Dispatcher. The content dispatcher then
+loads an appropriate Content Handler. The Unknown Application Handler
+deletes the push message. </p> <p>The Content Dispatcher uses ECom
+to load a particular Content Handler (plug-in) based on the content-type
+passed in by the Application Handler. The following are the Content
+Handlers provided within the framework. </p> <ul>
+<li id="GUID-9A90410A-354F-5492-AF7C-562729E12960"><p> <b>SI Content
+Handler:</b> These plug-ins process Service Indication (SI) messages.
+An SI message is a UA message with content-type <filepath>text/vnd.wap.si</filepath> or <filepath>application/vnd.wap.sic</filepath>. The basic form
+of an SI message is a short message with a URI indicating a service;
+for example, notification about new emails. </p> </li>
+<li id="GUID-63867E1C-1B2A-50E8-9FBE-3C127DA96EEB"><p> <b>SL Content
+Handler:</b> These plug-ins process Service Load (SL) messages. An
+SL message is an UA message with content-type <filepath>text/vnd.wap.sl</filepath> or <filepath>application/vnd.wap.slc</filepath>. The SL message
+contains a URI indicating a service which gets loaded without user
+input. </p> </li>
 <li id="GUID-56EACABF-8948-5490-A225-174920E5B4C1"><p> <b>Multipart-mixed
-Content Handler:</b> These plug-ins process multipart-mixed messages. These
-are messages with content-type <filepath>application/vnd.wap.multipart.mixed</filepath> or <filepath>multipart/mixed</filepath>.
-They create new sub-messages from each message part, and load appropriate
-content handler plug-ins to process each sub-message. </p> </li>
+Content Handler:</b> These plug-ins process multipart-mixed messages.
+These are messages with content-type <filepath>application/vnd.wap.multipart.mixed</filepath> or <filepath>multipart/mixed</filepath>. They create new sub-messages
+from each message part, and load appropriate content handler plug-ins
+to process each sub-message. </p> </li>
 <li id="GUID-8FFDB2E9-399D-5EA7-82E3-A50952697B29"><p> <b>Multipart-related,
-Multipart-alternative Content Handlers:</b> These plug-ins process messages
-for the <filepath>application/vnd.wap.multipart.alternative</filepath>, <filepath>multipart/alternative</filepath>, <filepath>application/vnd.wap</filepath> and <filepath>multipart.related</filepath> content-types. They save the
-entire message in the Message Store, where each part is saved as a child entry
-to the main part. </p> </li>
-<li id="GUID-9AA16C02-F759-541D-B850-719716065F52"><p> <b>Unknown Content
-Handler:</b> These plug-ins process content-types for which there are no handler
-plug-ins. They store the received push messages in Inbox of the Message Store. </p> </li>
+Multipart-alternative Content Handlers:</b> These plug-ins process
+messages for the <filepath>application/vnd.wap.multipart.alternative</filepath>, <filepath>multipart/alternative</filepath>, <filepath>application/vnd.wap</filepath> and <filepath>multipart.related</filepath> content-types. They save
+the entire message in the Message Store, where each part is saved
+as a child entry to the main part. </p> </li>
+<li id="GUID-9AA16C02-F759-541D-B850-719716065F52"><p> <b>Unknown
+Content Handler:</b> These plug-ins process content-types for which
+there are no handler plug-ins. They store the received push messages
+in Inbox of the Message Store. </p> </li>
 </ul> </dd>
 </dlentry>
 </dl> </section>
-<section><title>APIs</title> <table id="GUID-F6247FC0-87AC-5F7F-8965-8F10E9B8ACAC">
+<section id="GUID-48F54813-3327-45FB-B923-BA6E9C245993"><title>APIs</title> <table id="GUID-F6247FC0-87AC-5F7F-8965-8F10E9B8ACAC">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
 <row>
@@ -122,23 +122,25 @@
 </tbody>
 </tgroup>
 </table> </section>
-<section><title>Typical uses</title> <p>WAP Push Framework is extensible,
-that is, new plug-ins can be installed to the framework and installed plug-ins
-can be removed from the framework without re-building the framework. It uses
-dynamically loaded plug-ins at run-time to support different content-types;
-for example, content of push message for Service Indicator (SI) application.
-ECom Framework is used to provide support for run-time loading. </p> <ul>
-<li id="GUID-7B03A6BF-D191-568F-8442-5842AC48C2E0"><p>Creating content handler
-plug-ins. </p> <p> <b>Note:</b> Push plug-ins must inherit from the base push
-plug-in class and override a set of pure virtual functions. </p> </li>
-<li id="GUID-CE7A22B1-D1B2-5CDD-ACF7-9D9FB0A0DC63"><p>Removing any installed
-plug-ins. </p> </li>
+<section id="GUID-D677C8B2-BFEB-496C-B481-10497537B31C"><title>Typical uses</title> <p>WAP Push Framework is extensible,
+that is, new plug-ins can be installed to the framework and installed
+plug-ins can be removed from the framework without re-building the
+framework. It uses dynamically loaded plug-ins at run-time to support
+different content-types; for example, content of push message for
+Service Indicator (SI) application. ECom Framework is used to provide
+support for run-time loading. </p> <ul>
+<li id="GUID-7B03A6BF-D191-568F-8442-5842AC48C2E0"><p>Creating content
+handler plug-ins. </p> <p> <b>Note:</b> Push plug-ins must inherit
+from the base push plug-in class and override a set of pure virtual
+functions. </p> </li>
+<li id="GUID-CE7A22B1-D1B2-5CDD-ACF7-9D9FB0A0DC63"><p>Removing any
+installed plug-ins. </p> </li>
 </ul> </section>
 </conbody><related-links>
-<link href="http://www.openmobilealliance.org/.dita"><linktext>Open Mobile    
-            Alliance (OMA)</linktext></link>
-<link href="GUID-4603D4ED-966F-5F70-B991-D10495BC2D7E.dita"><linktext>Watcher Framework</linktext>
-</link>
+<link href="http://www.openmobilealliance.org/" scope="external">
+<linktext>Open Mobile                 Alliance (OMA)</linktext></link>
+<link href="GUID-4603D4ED-966F-5F70-B991-D10495BC2D7E.dita"><linktext>Watcher
+Framework</linktext></link>
 <link href="GUID-EE07DF44-6B3B-5D9A-A794-C49863597721.dita"><linktext>SUPL
                 Push API Tutorial</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6913F58F-FDA1-4708-B03E-16AF6C545E5B_d0e3152_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6913F58F-FDA1-4708-B03E-16AF6C545E5B_d0e3161_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-694C7416-927E-58F7-B010-CA55D2FFA88F_d0e236264_href.png has changed
Binary file Symbian3/PDK/Source/GUID-694C7416-927E-58F7-B010-CA55D2FFA88F_d0e242237_href.png has changed
--- a/Symbian3/PDK/Source/GUID-697087D6-C029-51E8-8722-9E2584420276.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-697087D6-C029-51E8-8722-9E2584420276.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-697087D6-C029-51E8-8722-9E2584420276"><title>SMS Stack Architecture</title><shortdesc>The SMS Stack is a plug-in to the socket server. This section provides the architectural relationships of the SMS stack. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>SMS stack components</title> <ol id="GUID-B7B94BE7-8F08-5104-9741-87600C6B2BB2"><li id="GUID-A354C7A1-7DE5-571F-9DFB-2F3AC90ED12D"><p>SMSPROT - The SMS stack protocol module </p> </li> <li id="GUID-7636FB1A-5162-5136-8ADD-2C4DCE36818A"><p>GSMU - GSM Utility class </p> </li> <li id="GUID-B9C83C25-4727-5992-A40A-83EFDABFE2FF"><p>SMSU - SMS Utility class </p> </li> </ol> <p><b>SMSPROT</b> </p> <p>SMSPROT.prt is a socket server (ESOCK) plug-in DLL implemented with a protocol module suffix <codeph>PRT</codeph>. The main functions of the SMS protocol module are to send queues, receive queues and maintain the connection to the socket server. For more information about SMSPROT, <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita">see SMS Protocol Modules</xref>. </p> <p><b>GSMU</b> </p> <p>The GSM Utility (GSMU) class provides some utility functions for the SMS stack. The SMS messages are represented by a <xref href="GUID-FA6D9B1B-3845-3B81-ACBB-34977D3C9631.dita"><apiname>CSmsMessage</apiname></xref> object of the GSMU class. GSMU also provide methods to send and receive the SMS messages through the socket server. For more information about GSMU, <xref href="GUID-A957A1DF-AF81-5A9D-BB44-1B34B2EB809E.dita">see GSM Utilities</xref>. </p> <p><b>SMSU</b> </p> <p>The SMS Utility (SMSU) class provides the base class for active objects of the SMS stack. For more information about SMSU, <xref href="GUID-A4FBD7D4-DCC0-517A-BCAA-D36D8940A64D.dita">see SMS Utilities</xref>. </p> <fig id="GUID-B0D5C075-FE00-5E3B-9F1A-C6F9D45A3BF3"><title>
              SMS Stack Architectural Relationships
-          </title> <image href="GUID-D7AFA78E-4B87-554E-B0A5-1AEEA98B537C_d0e39628_href.png" placement="inline"/></fig> <p>When a client application requests a service from the SMS stack, the SMS stack is loaded by the socket server. The main SMS stack clients are the messaging application, the WAP stack and the third party applications. The WAP stack binds directly to the SMS stack. The messaging applications and other third party applications access the SMS stack as the clients of the socket server. </p> <p>The SMS stack communicates with the ETel (Telephony) server to send, receive, read, write and delete the SMS messages from the Subscriber Identity Module (SIM). </p> <p>The SMS stack uses the message store called as the reassembly store to store the messages passed by the Telephony System plug-in (TSY). The stored messages are then processed. </p> </section> <section><title>Stack initialisation</title> <p>The socket server loads the SMS stack. The socket server loads the stack when one of the clients requests a session with the stack. The load the SMS stack, the socket server searches for the smswap.sms.esk file. The ESK files contain the details of the DLL which creates the SMS stack. The smswap.sms.esk file is located at <codeph>epoc32\data\z\private\101F7989\SOCKET</codeph> and <codeph>epoc32\wins\c\private\101f7989</codeph>. </p> <codeblock id="GUID-70A2081E-A7EB-58AB-852E-53DD4B7C5AF9" xml:space="preserve">
+          </title> <image href="GUID-D7AFA78E-4B87-554E-B0A5-1AEEA98B537C_d0e43862_href.png" placement="inline"/></fig> <p>When a client application requests a service from the SMS stack, the SMS stack is loaded by the socket server. The main SMS stack clients are the messaging application, the WAP stack and the third party applications. The WAP stack binds directly to the SMS stack. The messaging applications and other third party applications access the SMS stack as the clients of the socket server. </p> <p>The SMS stack communicates with the ETel (Telephony) server to send, receive, read, write and delete the SMS messages from the Subscriber Identity Module (SIM). </p> <p>The SMS stack uses the message store called as the reassembly store to store the messages passed by the Telephony System plug-in (TSY). The stored messages are then processed. </p> </section> <section><title>Stack initialisation</title> <p>The socket server loads the SMS stack. The socket server loads the stack when one of the clients requests a session with the stack. The load the SMS stack, the socket server searches for the smswap.sms.esk file. The ESK files contain the details of the DLL which creates the SMS stack. The smswap.sms.esk file is located at <codeph>epoc32\data\z\private\101F7989\SOCKET</codeph> and <codeph>epoc32\wins\c\private\101f7989</codeph>. </p> <codeblock id="GUID-70A2081E-A7EB-58AB-852E-53DD4B7C5AF9" xml:space="preserve">
 #smswap.sms.esk
 
 [sockman]
--- a/Symbian3/PDK/Source/GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,46 +10,42 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22" xml:lang="en"><title>Capabilities</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Capabilities allow the Symbian platform to control access by applications
-to the functionalities provided by the platform APIs. Access to capabilities
-is determined by the device configuration and how the application has been
-signed. Capabilities can be divided into four categories:</p>
+<p>Capabilities allow the Symbian platform to control access by
+applications to the functionalities provided by the platform APIs.
+Access to capabilities is determined by the device configuration and
+how the application has been signed. Capabilities can be divided into
+four categories:</p>
 <ul>
-<li><p><i>user capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/LocalServices" scope="external"><codeph>LocalServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/NetworkServices" scope="external"><codeph>NetworkServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadUserData" scope="external"><codeph>ReadUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteUserData" scope="external"><codeph>WriteUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/UserEnvironment" scope="external"><codeph>UserEnvironment</codeph></xref> and, <xref href="http://wiki.forum.nokia.com/index.php/Location" scope="external"><codeph>Location</codeph></xref></p>
-</li>
-<li><p><i>system capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/PowerMgmt" scope="external"><codeph>PowerMgmt</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ProtServ" scope="external"><codeph>ProtServ</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadDeviceData" scope="external"><codeph>ReadDeviceData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SurroundingsDD" scope="external"><codeph>SurroundingsDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SwEvent" scope="external"><codeph>SwEvent</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/TrustedUI" scope="external"><codeph>TrustedUI</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteDeviceData" scope="external"><codeph>WriteDeviceData</codeph></xref></p>
-</li>
-<li><p><i>restricted capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/CommDD" scope="external"><codeph>CommDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DiskAdmin" scope="external"><codeph>DiskAdmin</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/MultimediaDD" scope="external"><codeph>MultimediaDD</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/NetworkControl" scope="external"><codeph>NetworkControl</codeph></xref></p>
-</li>
-<li><p><i>device manufacturer capabilitie</i>s: <xref href="http://wiki.forum.nokia.com/index.php/AllFiles" scope="external"><codeph>AllFiles</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DRM" scope="external"><codeph>DRM</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/Trusted_Computing_Base_%28TCB%29" scope="external"><codeph>TCB</codeph></xref></p>
-</li>
+<li><p><i>user capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/LocalServices" scope="external"><codeph>LocalServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/NetworkServices" scope="external"><codeph>NetworkServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadUserData" scope="external"><codeph>ReadUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteUserData" scope="external"><codeph>WriteUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/UserEnvironment" scope="external"><codeph>UserEnvironment</codeph></xref> and, <xref href="http://wiki.forum.nokia.com/index.php/Location" scope="external"><codeph>Location</codeph></xref></p></li>
+<li><p><i>system capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/PowerMgmt" scope="external"><codeph>PowerMgmt</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ProtServ" scope="external"><codeph>ProtServ</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadDeviceData" scope="external"><codeph>ReadDeviceData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SurroundingsDD" scope="external"><codeph>SurroundingsDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SwEvent" scope="external"><codeph>SwEvent</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/TrustedUI" scope="external"><codeph>TrustedUI</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteDeviceData" scope="external"><codeph>WriteDeviceData</codeph></xref></p></li>
+<li><p><i>restricted capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/CommDD" scope="external"><codeph>CommDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DiskAdmin" scope="external"><codeph>DiskAdmin</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/MultimediaDD" scope="external"><codeph>MultimediaDD</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/NetworkControl" scope="external"><codeph>NetworkControl</codeph></xref></p></li>
+<li><p><i>device manufacturer capabilitie</i>s: <xref href="http://wiki.forum.nokia.com/index.php/AllFiles" scope="external"><codeph>AllFiles</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DRM" scope="external"><codeph>DRM</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/Trusted_Computing_Base_%28TCB%29" scope="external"><codeph>TCB</codeph></xref></p></li>
 </ul>
-<p>Capabilities required by the application are defined in the <codeph>mmp</codeph> project
-definition file during the build process, and cannot be changed during run
-time. For information on the parameters you can use, see <xref href="GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644.dita">capability</xref>.
-Carbide.c++ has a Capability Scanner tool which can be accessed through the <b>Project
-&gt; Run Capability Scanner on Project MMP</b> menu. The tool scans and checks
-the project for required capabilities.</p>
-<p>During the installation the <xref href="GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita">Software
-Installer</xref> application in the device checks whether the application
-has been certified or signed. It then checks the capabilities requested by
-the application. If the application has been certified, it checks that the
-root certificate is allowed to grant the required capabilities. If no problems
-are encountered, the installation can continue. For information on certifications
-required by the capabilities, see <xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita">Application
-signing</xref>.</p>
-<p>The user can grant the <i>user capabilities</i> to a self-signed application.
-For example, the following dialog is shown to the user to grant the <codeph>LocalServices</codeph> capability:</p>
-<fig id="GUID-5FCD68FB-BB79-48E0-B438-E8BFAD37331D"><title>Granting LocalServices capability during the installation</title><image href="GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e14596_href.png"/></fig>
+<p>Capabilities required by the application are defined in the <codeph>mmp</codeph> project definition file during the build process, and
+cannot be changed during run time. For information on the parameters
+you can use, see <b>Symbian Tools Guide &gt; Building &gt;
+Symbian Build System (SBSv1) &gt; Build tools reference &gt; MMP file syntax
+&gt; capability</b>. Carbide.c++ has a Capability Scanner tool which
+can be accessed through the <b>Project &gt; Run Capability Scanner on
+Project MMP</b> menu. The tool scans and checks the project for required
+capabilities.</p>
+<p>During the installation the <xref href="GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita">Software Installer</xref> application in the device checks whether the application has been
+certified or signed. It then checks the capabilities requested by
+the application. If the application has been certified, it checks
+that the root certificate is allowed to grant the required capabilities.
+If no problems are encountered, the installation can continue. For
+information on certifications required by the capabilities, see <xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita">Application signing</xref>.</p>
+<p>The user can grant the <i>user capabilities</i> to a self-signed
+application. For example, the following dialog is shown to the user
+to grant the <codeph>LocalServices</codeph> capability:</p>
+<fig id="GUID-5FCD68FB-BB79-48E0-B438-E8BFAD37331D"><title>Granting LocalServices capability during the installation</title><image href="GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e14692_href.png"/></fig>
 <section id="GUID-DD22FF50-BE6F-4929-85BA-EAF3481EA2BD"><title>dll capabilities</title>
 <p>A <codeph>dll</codeph> must have equal or greater set of capabilities
-than the loading process, otherwise the process is not allowed to load the <codeph>dll</codeph>.
-Once loaded, a <codeph>dll</codeph> runs at the capability level of the loading
-process. A <codeph>dll</codeph> that has a higher capability set than the
-loading process cannot leak capabilities to the process, but a process can
-leak capabilities to the <codeph>dll</codeph>.</p>
-<p>For more information, see <xref href="http://wiki.forum.nokia.com/index.php/TSS000454_-_DLL_capability_model_in_a_secure_platform" scope="external">DLL
-capability model in a secure platform</xref> (TSS000454) in the Forum Nokia
-Knowledge Base.</p>
+than the loading process, otherwise the process is not allowed to
+load the <codeph>dll</codeph>. Once loaded, a <codeph>dll</codeph> runs at the capability level of the loading process. A <codeph>dll</codeph> that has a higher capability set than the loading process cannot
+leak capabilities to the process, but a process can leak capabilities
+to the <codeph>dll</codeph>.</p>
+<p>For more information, see <xref href="http://wiki.forum.nokia.com/index.php/TSS000454_-_DLL_capability_model_in_a_secure_platform" scope="external">DLL capability model in a secure platform</xref> (TSS000454) in
+the Forum Nokia Knowledge Base.</p>
 </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-69831D75-D16D-54CF-A083-0EDB358F3390_d0e110448_href.png has changed
Binary file Symbian3/PDK/Source/GUID-69831D75-D16D-54CF-A083-0EDB358F3390_d0e112871_href.png has changed
Binary file Symbian3/PDK/Source/GUID-69847989-624F-5119-8AC0-3D95D72AF076_d0e106396_href.png has changed
Binary file Symbian3/PDK/Source/GUID-69847989-624F-5119-8AC0-3D95D72AF076_d0e108839_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e578451_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e627739_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6A5D0445-5D53-5293-A501-136203C80BEE_d0e261097_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6A5D0445-5D53-5293-A501-136203C80BEE_d0e267106_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6A6E5F25-BAA0-5D12-AB93-87A0E8A206BD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6A6E5F25-BAA0-5D12-AB93-87A0E8A206BD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-6A6E5F25-BAA0-5D12-AB93-87A0E8A206BD"><title>Architecture</title><shortdesc>This topic describes the architectural relationship between the telephony watcher classes. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The telephony watcher is contains two main components: </p> <ul><li id="GUID-96A8E9D6-80F2-52CD-AA81-7E964225A27F"><p>The watcher framework </p> </li> <li id="GUID-F6AE977C-86FF-51CB-9872-4B8DAEA5EB64"><p>Watcher plug-ins </p> </li> </ul> <fig id="GUID-840FA659-314A-538C-8ACF-12D905DCFF2E"><title>
           Telephony Watcher Framework - Architectural Relationships 
-        </title> <image href="GUID-41F5F258-5B2A-57E2-BEB4-EBDE1008C833_d0e62865_href.png" placement="inline"/></fig> <p>In the diagram the core low level functionality is the publish and subscribe mechanism. The client applications must use the <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> functions to get the notifications. Telephony watcher functionality is the watcher framework. </p> <section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-6-1-1-10-1-5-1-3-1-3-1-3-5"><title>The watcher framework</title> <p>The watcher framework is provided by watcher.exe. The watcher and the plug-in run in the same thread. The telephony watcher framework does the following: </p> <ul><li id="GUID-A1F19485-9E33-5885-858C-AEF3CFED94E3"><p>creates and starts the plug-in objects </p> </li> <li id="GUID-F6B33292-D3E4-5C74-932D-2A48B8CFA127"><p>provides an asynchronous interface for the plug-ins </p> </li> <li id="GUID-B7D3021B-A2C5-5B33-99AC-0BD0C924F4D5"><p>creates the communication link with the telephony server to get the information </p> </li> <li id="GUID-ED29C6ED-D00A-5FB8-8360-B35591525235"><p>maintains the plug-ins and the watcher framework in the same thread </p> </li> <li id="GUID-73E81301-0A43-5278-A9F2-05731B821A09"><p>provides updates to the client applications </p> </li> <li id="GUID-58D4FACB-98DD-5732-9D39-482B55240822"><p>provides error corrections in the communication between the watcher framework and the telephony server </p> </li> <li id="GUID-0073A1B0-50A2-5AC9-B525-A590CCAEC721"><p>uses the comms debug utility to log the events </p> </li> <li id="GUID-20D4749F-8811-54E2-AEB8-52E17787EA3E"><p>deletes the plug-in objects </p> </li> </ul> </section> <section><title>Watcher Plug-ins</title> <p>The watcher plug-ins are loaded by the watcher framework. The plug-ins are implemented as DLLs. The primary functions of the watchers are to monitor the telephony activities and publish the information with the publish and subscribe. The two watcher plug-ins are: </p> <ul><li id="GUID-D779ECDD-51BD-58B6-99E5-6C43012DE4EA"><p>Signal Strength Watcher </p> </li> <li id="GUID-C3615A38-37C1-5A50-87DC-08D701C6CBE5"><p>Call Indicator Watcher </p> </li> </ul> </section> </conbody><related-links><link href="GUID-D83D00F3-EF62-57F7-8FC6-549615C37710.dita"><linktext>Telephony Watchers</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-41F5F258-5B2A-57E2-BEB4-EBDE1008C833_d0e67096_href.png" placement="inline"/></fig> <p>In the diagram the core low level functionality is the publish and subscribe mechanism. The client applications must use the <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> functions to get the notifications. Telephony watcher functionality is the watcher framework. </p> <section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-6-1-1-10-1-5-1-3-1-3-1-3-5"><title>The watcher framework</title> <p>The watcher framework is provided by watcher.exe. The watcher and the plug-in run in the same thread. The telephony watcher framework does the following: </p> <ul><li id="GUID-A1F19485-9E33-5885-858C-AEF3CFED94E3"><p>creates and starts the plug-in objects </p> </li> <li id="GUID-F6B33292-D3E4-5C74-932D-2A48B8CFA127"><p>provides an asynchronous interface for the plug-ins </p> </li> <li id="GUID-B7D3021B-A2C5-5B33-99AC-0BD0C924F4D5"><p>creates the communication link with the telephony server to get the information </p> </li> <li id="GUID-ED29C6ED-D00A-5FB8-8360-B35591525235"><p>maintains the plug-ins and the watcher framework in the same thread </p> </li> <li id="GUID-73E81301-0A43-5278-A9F2-05731B821A09"><p>provides updates to the client applications </p> </li> <li id="GUID-58D4FACB-98DD-5732-9D39-482B55240822"><p>provides error corrections in the communication between the watcher framework and the telephony server </p> </li> <li id="GUID-0073A1B0-50A2-5AC9-B525-A590CCAEC721"><p>uses the comms debug utility to log the events </p> </li> <li id="GUID-20D4749F-8811-54E2-AEB8-52E17787EA3E"><p>deletes the plug-in objects </p> </li> </ul> </section> <section><title>Watcher Plug-ins</title> <p>The watcher plug-ins are loaded by the watcher framework. The plug-ins are implemented as DLLs. The primary functions of the watchers are to monitor the telephony activities and publish the information with the publish and subscribe. The two watcher plug-ins are: </p> <ul><li id="GUID-D779ECDD-51BD-58B6-99E5-6C43012DE4EA"><p>Signal Strength Watcher </p> </li> <li id="GUID-C3615A38-37C1-5A50-87DC-08D701C6CBE5"><p>Call Indicator Watcher </p> </li> </ul> </section> </conbody><related-links><link href="GUID-D83D00F3-EF62-57F7-8FC6-549615C37710.dita"><linktext>Telephony Watchers</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6A783365-3CC3-5D7E-9F1C-D3585C4AE66C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-6A783365-3CC3-5D7E-9F1C-D3585C4AE66C"><title>FEATUREVARIANT</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>All DLLs are variant by default, but they are disabled using <codeph>-invariant</codeph> or <codeph>-inv</codeph> option in the <codeph>abld</codeph> command. </p> <p>A DLL marked as <codeph>FEATUREVARIANT</codeph> in its <filepath>.mmp</filepath> file remains variant, when <codeph>-invariant</codeph> or <codeph>-inv</codeph> option is specified in the <codeph>abld</codeph> command. </p> <p> <codeph>FEATUREVARIANT</codeph> has an effect only when used with <codeph>-invariant</codeph> or <codeph>-inv</codeph> option in the <codeph>abld</codeph> command. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6A7F8298-F3E9-513C-8C1F-D057AC62E5E3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6A7F8298-F3E9-513C-8C1F-D057AC62E5E3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -124,7 +124,7 @@
 with UID <codeph>KUidECamEventCameraSettingFocusRange2</codeph>. </p> <p id="GUID-13C7E377-B9DB-5382-8D2C-C182D1849AEC"><b> Autofocus</b> </p><p>Autofocus
 support for camera applications is controlled through the <codeph>CCameraAdvancedSettings</codeph> class. </p><fig id="GUID-BD935125-B7F9-4223-BC94-0B4A663DE13C">
 <title>Implementation of autofocus</title>
-<image href="GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e500491_href.png" placement="inline"/>
+<image href="GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e507953_href.png" placement="inline"/>
 </fig><p>Pressing the camera shutter key on the device halfway down generates
 additional key events. The key events can be used to activate autofocus if
 the camera hardware supports the functionality. Shutter release (image capture)
Binary file Symbian3/PDK/Source/GUID-6A9991B8-CF03-5097-BE7D-FB486D26D41B_d0e497126_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6A9991B8-CF03-5097-BE7D-FB486D26D41B_d0e504588_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-6A9E486A-6C1B-4E31-832A-FD39AF041817.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-6A9E486A-6C1B-4E31-832A-FD39AF041817" xml:lang="en"><title>Publishing the SIF operation progress</title><shortdesc>Installers must publish the SIF operation progress to notify
+clients about the progress of operations (installation or uninstallation).</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<prereq id="GUID-743E5646-74B5-4D97-87FD-A97F05B8DBC6"><p>The installers
+must link against <filepath>Sifnotification.dll</filepath> . It is
+the utility library that provides the APIs to publish the SIF operation
+progress. </p></prereq>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-4-1-4-1-5-1-3-2">
+<step id="GUID-72EBB7F4-DBCA-47B2-85D6-B96230084CB1"><cmd>Create an
+object of <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita"><apiname>CPublishSifOperationInfo</apiname></xref>.</cmd>
+<info><codeblock xml:space="preserve">CPublishSifOperationInfo* sifPublisher = CPublishSifOperationInfo::NewL();</codeblock></info>
+</step>
+<step id="GUID-F1AE134F-0EFB-4415-88A5-FFF213197B87"><cmd>Publish
+the operation start information.</cmd>
+<substeps id="GUID-043BDAD9-5001-424F-B9DF-184892A14F0D">
+<substep id="GUID-A55F772D-79B5-4624-9AD9-926428D5282D"><cmd>Create
+a <xref href="GUID-F1D2CE7E-B5B9-3E35-B648-55F1B24E6272.dita"><apiname>CSifOperationStartData</apiname></xref> object.</cmd>
+<info><p>The parameters that need to be initialized are:<ul>
+<li><p>global component id that uniquely identifies the package across
+devices. For example, this could be the package uid in case of a native
+SIS package or the midlet name for java.</p></li>
+<li><p>name of the software component (can be the same as global component
+id)</p></li>
+<li><p>list of applications associated with the software component
+(an empty array in case of no applications)</p></li>
+<li><p> list of corresponding application icon names (without path)
+for every application (an empty array in case of no applications). </p></li>
+<li><p> total size of the component in bytes</p></li>
+<li><p>path where all application and component icons are found. All
+icon files will be checked with respect to this path.</p></li>
+<li><p>name of the component icon (without path)</p></li>
+<li><p>unique software type name of the component</p></li>
+</ul></p><codeblock xml:space="preserve">_LIT(KGlobalCompId, "12345");
+_LIT(KComponentName, "Testcomponent");
+RPointerArray&lt;HBufC&gt; appNameSet;
+RPointerArray&lt;HBufC&gt; appIconSet;
+TInt componentSize = 1024;
+_LIT(KIconPath, "c:\data\test");
+_LIT(KCompIcon, "TestIcon.mbm");
+_LIT(KSoftwareType, "native");
+CSifOperationStartData* startdata = CSifOperationStartData::NewLC(KGlobalCompId, KComponentName, &amp;appNameSet, &amp;appIconSet, componentSize, KIconPath, KCompIcon, KSoftwareType);
+</codeblock></info>
+</substep>
+<substep id="GUID-D89D10DA-C76A-42DF-BE97-A80C0F41CFC4"><cmd>Invoke
+the <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-9F99E500-1FEE-308C-82A6-39523B1DCCDB"><apiname>CPublishSifOperationInfo::PublishStartL()</apiname></xref>.</cmd>
+<info><codeblock xml:space="preserve">sifPublisher-&gt;PublishStartL(*startdata);</codeblock></info>
+</substep>
+</substeps>
+<info><xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-9F99E500-1FEE-308C-82A6-39523B1DCCDB"><apiname>CPublishSifOperationInfo::PublishStartL()</apiname></xref> can be invoked only once per operation. However, two parallel installations
+can be initiated and <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-9F99E500-1FEE-308C-82A6-39523B1DCCDB"><apiname>CPublishSifOperationInfo::PublishStartL()</apiname></xref> can be invoked by each of the installation.</info>
+</step>
+<step id="GUID-60FC9468-9D44-4B9D-A554-2205C476D2B9"><cmd>Publish
+the operation progress information.</cmd>
+<substeps id="GUID-2D687BD2-783F-4D11-814B-E0B1270BCFC6">
+<substep id="GUID-8C9D0A0B-551C-43E8-8D80-FDCAA70C07C3"><cmd>Create
+a <xref href="GUID-DBEB6AEF-2128-3566-93AA-3CDB5D554B1E.dita"><apiname>CSifOperationProgressData</apiname></xref> object.</cmd>
+<info>The parameters that need to be initialized are:<ul>
+<li><p>global component id that uniquely identifies the package across
+devices. For example, this could be the package uid in case of a native
+SIS package or the midlet name for java.</p></li>
+<li><p>phase of SIF operation</p></li>
+<li><p>current stage in the type of SIF operation</p></li>
+<li><p>progress of operation completed in current subphase</p></li>
+<li><p>total operation required by this subphase</p></li>
+</ul><codeblock xml:space="preserve">// A pointer to the newly allocated object is returned if creation is successful.
+TInt phase = TSifOperationPhase::ESifOperationStart; 
+TInt subPhase = TSifOperationSubPhase::EOCSPCheck; 
+TInt curProgress = 75; 
+TInt total = 100;
+CSifOperationProgressData* progressdata = CSifOperationProgressData::NewLC(KGlobalCompId, phase, subPhase, curProgress, total);
+</codeblock></info>
+</substep>
+<substep id="GUID-C6974F25-8B7B-4439-AC00-246D68C629F2"><cmd>Invoke
+the <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-F8F8059B-DC62-32AB-931D-6E365CB6E6CC"><apiname>CPublishSifOperationInfo::PublishProgressL()</apiname></xref>.</cmd>
+<info><codeblock xml:space="preserve">sifPublisher-&gt;PublishProgressL(*progressdata);</codeblock></info>
+</substep>
+</substeps>
+<info><p><xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-F8F8059B-DC62-32AB-931D-6E365CB6E6CC"><apiname>CPublishSifOperationInfo::PublishProgressL()</apiname></xref> can be called iteratively to show the linear progress of the operation.</p></info>
+</step>
+<step id="GUID-829FAD26-C37B-4572-AEC2-64956F5511EC"><cmd>Publish
+the operation completion information (on success or failure of operation).</cmd>
+<substeps id="GUID-E5345271-C6F8-4732-BBC9-56EA7A8864A6">
+<substep id="GUID-DEC78AB9-E3F9-4175-8163-099FECB54646"><cmd>Create
+a <xref href="GUID-4F0E57D3-CE4C-3A41-951B-F2BB43E7BA34.dita"><apiname>CSifOperationEndData</apiname></xref> object.</cmd>
+<info><p>The parameters that need to be initialized are:<ul>
+<li><p>global component id that uniquely identifies the operation</p></li>
+<li><p>a SIF error category</p></li>
+<li><p>Installer (or runtime) specific error code</p></li>
+<li><p>Installer (or runtime) specific localized error message</p></li>
+<li><p>Installer (or runtime) specific localized error message details</p></li>
+</ul></p><codeblock xml:space="preserve">TInt errCategory = TErrorCategory::ESecurityError;
+TInt errCode = -10255;
+_LIT(KErrMsg, "Un-trusted package");
+_LIT(KErrMsgDetails, "The package is not signed with a trusted certificate.");
+CSifOperationEndData* enddata = CSifOperationEndData::NewLC(KGlobalCompId, errCategory, errCode, KErrMsg, KErrMsgDetails);
+</codeblock></info>
+</substep>
+<substep id="GUID-F16B9612-C128-4275-9B3A-0E7561A4531C"><cmd>Invoke
+the <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-F7299F8C-9043-31FD-9758-8E25E839D2D7"><apiname>CPublishSifOperationInfo::PublishCompletionL()</apiname></xref>.</cmd>
+<info><codeblock xml:space="preserve">sifPublisher-&gt;PublishCompletionL(*enddata);</codeblock></info>
+</substep>
+</substeps>
+<info><p><xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-F7299F8C-9043-31FD-9758-8E25E839D2D7"><apiname>CPublishSifOperationInfo::PublishCompletionL()</apiname></xref> can be called only once per operation. Every call to <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-9F99E500-1FEE-308C-82A6-39523B1DCCDB"><apiname>CPublishSifOperationInfo::PublishStartL()</apiname></xref> by an operation must have a corresponding <xref href="GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6.dita#GUID-59E1372C-F4F8-3762-B6D9-B92BB5F53FC6/GUID-F7299F8C-9043-31FD-9758-8E25E839D2D7"><apiname>CPublishSifOperationInfo::PublishCompletionL()</apiname></xref>, else an
+progress place holder is blocked for this operation.</p></info>
+</step>
+</steps>
+</taskbody></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e251541_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e257552_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6ABEF478-F3DB-524E-A500-9431B42C6665.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6ABEF478-F3DB-524E-A500-9431B42C6665.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 shows how to dial or answer one call at a time. It presumes there are no other
 calls being made. </p> <fig id="GUID-5735A736-7536-507E-92CC-8A766D8B8F66">
 <title>              Single Call State Diagram            </title>
-<image href="GUID-A2EFD9AD-F230-545C-8C5D-193F717B9FE2_d0e61750_href.png" placement="inline"/>
+<image href="GUID-A2EFD9AD-F230-545C-8C5D-193F717B9FE2_d0e65984_href.png" placement="inline"/>
 </fig> <p>The boxes are states. The enumeration value in each box is the status
 of the voice line. <xref href="GUID-0DA6722B-0700-5612-884A-F3B7733E5252.dita">Voice
 line status</xref> describes the states and their meaning. You can also find
--- a/Symbian3/PDK/Source/GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,255 +1,251 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB" xml:lang="en"><title>helloworldbasic.rss</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In the Symbian platform, resource files are used to define UI components
-such as status panes, <xref href="GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita">CBA
-(Control Button Area) buttons</xref>, <xref href="GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita">menu
-bars</xref>, <xref href="GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita">views</xref>,
-dialogs, strings, and constants used in applications. </p>
-<p>For more information about resource files, see <xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing
-resource files</xref>.</p>
-<codeblock id="GUID-5FFA294E-190E-41AE-BDA3-EE3F2E84F2E6" xml:space="preserve">//  RESOURCE IDENTIFIER
-NAME HEWB    // 4 letter ID
-
-</codeblock>
-<p>This NAME statement defines the mandatory identifier for this resource
-file, which is unique within this application. For more information, see <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource
-file structure</xref>.</p>
-<codeblock id="GUID-6A156720-EBC9-4D2E-B6B7-196DFAEBB518" xml:space="preserve">//  INCLUDES
-#include &lt;eikon.rh&gt;
-#include &lt;avkon.rh&gt;
-</codeblock>
-<p>These are preprocessor statements for <parmname>EIKON</parmname> and <parmname>AVKON</parmname> files
-provided in the <parmname>./Epoc32/include</parmname> sub-folder. They are
-required for data structures used in the resource file. For more information
-on the available preprocessor statements in resource files, see <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource
-file structure</xref>.</p>
-<codeblock id="GUID-E27A3CE4-3058-4DEC-B298-675CB1028682" xml:space="preserve">#include &lt;avkon.rsg&gt;
-</codeblock>
-<p>These is a preprocessor statement for a generated resource file provided
-in the <parmname>./Epoc32/include</parmname> subfolder that provides a list
-of symbolic IDs that point to compiled resources. For more on Symbian precompiled
-options, see <xref href="GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita">Precompiled
-resource values available from the Symbian platform</xref>.</p>
-<codeblock id="GUID-DB2EF2AB-24B9-4B0A-B691-E2BB54214132" xml:space="preserve">#include &lt;appinfo.rh&gt;
-</codeblock>
-<p>This is a preprocessor statement for an <parmname>AVKON</parmname> file
-provided in the <parmname>./Epoc32/include</parmname> subfolder that is required
-for the data structure used for the localizable information for the application
-registration resource file.</p>
-<codeblock id="GUID-3664CD24-DCE2-437F-B833-7E459CECD684" xml:space="preserve">#include "HelloWorldBasic.hrh"</codeblock>
-<p>This is a preprocessor statement for the <i>HelloWorldBasic</i> custom
-command IDs. For more on custom command IDs, see <xref href="GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita">Creating
-resource header files</xref>.</p>
-<codeblock id="GUID-F434F19C-2BEF-4E95-BF16-35813A19FD0E" xml:space="preserve">#include "HelloWorldBasic.rls"
-</codeblock>
-<p>This is a preprocessor statement for the file used to manage building
-the localized strings for the <i>HelloWorldBasic</i> application. For more
-on internationalization and localization, see <xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
-and localization</xref>.</p>
-<codeblock id="GUID-51D40318-84BB-49A7-9D1E-E28118AD71A6" xml:space="preserve">//  RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-//    Define the resource file signature
-//    This resource should be empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-</codeblock>
-<p>This is the required <parmname>RESOURCE</parmname> definition that indicates
-the version of this resource file. For this application, no version is defined.</p>
-<codeblock id="GUID-C70BA7AA-2AD2-4876-8F14-AE4E73D2BB5E" xml:space="preserve">// -----------------------------------------------------------------------------
-//
-//    Default Document Name
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name
-    {
-    buf="HEWB";
-    }
-
-</codeblock>
-<p>This is the required <parmname>RESOURCE</parmname> definition that defines
-the name used if the <parmname>helloworldbasicdocument</parmname> class needs
-to store a document.</p>
-<codeblock id="GUID-B0907BE0-D5B4-47E9-86AB-730C67F2AC8E" xml:space="preserve">// -----------------------------------------------------------------------------
-//
-//    Define default menu and CBA key.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_helloworldbasic_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-</codeblock>
-<p>This is the required <parmname>RESOURCE</parmname> definition that defines
-the resource used for constructing the menu bar and the Control Button Area
-(CBA) buttons used in the application. The menu bar is constructed later in
-this resource file. The CBA buttons declaration uses a precompiled symbolic
-ID from the <parmname>avkon.rsg</parmname> file, which in turns points to
-a compiled resource that provides an <parmname>Options</parmname> text above
-the left softkey and an <parmname>Exit</parmname> text above the right softkey.
-The application framework handles the event generated by selection of the <parmname>Options</parmname> softkey
-and opens the <parmname>MENU_PANE</parmname> resource. Selection of the <parmname>Exit</parmname> softkey
-generates a <parmname>EAknSoftkeyExit</parmname> event that needs to be handled
-by your code. For more information on event handling, see <xref href="GUID-A9330FEF-C559-4E2B-B064-0151FDADEA8C.dita">Event
-handling</xref>.</p>
-<codeblock id="GUID-1D25FC90-4454-4FE2-9306-60B8BC2AFBA3" xml:space="preserve">// -----------------------------------------------------------------------------
-//
-//   r_helloworldbasic_menubar
-//   Menubar for HelloWorldBasic example
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_helloworldbasic_menubar
-    {
-    titles =
-        {
-        MENU_TITLE { menu_pane = r_helloworldbasic_menu; }
-        };
-    }
-</codeblock>
-<p>This <parmname>RESOURCE</parmname> definition defines the <parmname>r_helloworldbasic_menubar</parmname> menu
-bar declared in <parmname>EIK_APP_INFO</parmname>. The <parmname>MENU_TITLE</parmname> statement
-maps to the <parmname>Options</parmname> softkey, which opens the defined <parmname>MENU_PANE</parmname> resources
-when selected.</p>
-<codeblock id="GUID-18A6F8CA-F09E-4E0F-8F36-424090D084D4" xml:space="preserve">// -----------------------------------------------------------------------------
-//
-//   r_helloworldbasic_menu
-//   Menu for "Options"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_helloworldbasic_menu
-    {
-    items =
-        {
-        // added the new Options menu command here
-        MENU_ITEM
-                {
-                command = EHelloWorldBasicCommand1;
-                txt = STRING_hewb_command1;
-                },
-        MENU_ITEM
-                {
-                command = EHelloWorldBasicCommand2;
-                txt = STRING_hewb_command2;
-                },
-        MENU_ITEM
-                {
-                command = EHelloWorldBasicCommand3;
-                txt = STRING_r_hewb_command3;
-                },
-	MENU_ITEM
-                {
-                command = EAknSoftkeyExit;
-                txt = STRING_r_hewb_exit;
-                }
-        };
-    }
-</codeblock>
-<p>This <parmname>RESOURCE</parmname> definition defines the <parmname>r_helloworldbasic_menu</parmname> menu
-opened when <parmname>Option</parmname> is selected. Four menu items are offered: <parmname>Hello</parmname>, <parmname>Hello
-from file</parmname>, <parmname>Hello from edit</parmname>, and <parmname>Exit</parmname>.
-The <parmname>command</parmname> definitions indicate which event is returned
-by the application framework when the option is selected and the <parmname>txt</parmname> declarations
-provide the strings used in the menu. The enumerated <parmname>command</parmname> command
-IDs here are listed in the <parmname>helloworldbasic.hrh</parmname> file,
-with the exception of <parmname>EAknSoftkeyExit</parmname>, which is a command
-ID available from <parmname>avkon.hrh</parmname>.</p>
-<codeblock id="GUID-D3AA64A7-6A43-426F-8D49-874283903FF1" xml:space="preserve">// -----------------------------------------------------------------------------
-//
-// Resources for messages.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF32 r_hewb_command1_text { buf=STRING_r_hewb_command1_text; }
-RESOURCE TBUF32 r_hewb_file_text { buf=STRING_r_hewb_file_text; }
-RESOURCE TBUF32 r_hewb_caption_string { buf=STRING_r_hewb_caption_string; }
-</codeblock>
-<p>These <parmname>RESOURCE</parmname> definitions define <parmname>TBUF32</parmname> resources
-that can be read in the application implementation code later with the <parmname>StringLoader</parmname> class.</p>
-<codeblock id="GUID-4205A985-F5DD-4EFE-9EAB-56C2188802D4" xml:space="preserve">// ---------------------------------------------------------------------------- 
-//
-// r_helloworldbasic_localisable_app_info
-//
-// ---------------------------------------------------------------------------- 
-//
-RESOURCE LOCALISABLE_APP_INFO r_helloworldbasic_localisable_app_info
-    {
-    short_caption = STRING_hewb_caption_string;
-    caption_and_icon = 
-    CAPTION_AND_ICON_INFO
-        {
-        caption = STRING_hewb_caption_string;
-
-        number_of_icons = 1;
-	   	icon_file = "\\resource\\apps\\Helloworldbasic_aif.mif";
-	    };
-    }
-</codeblock>
-<p>This <parmname>RESOURCE</parmname> definition defines the localizable
-information for the <i>HelloWorldBasic</i> registration file, where:</p>
-<ul>
-<li><p><parmname>r_helloworldbasic_localisable_app_info</parmname> is
-the resource identifier</p></li>
-<li><p><parmname>STRING_hewb_caption_string</parmname> is the symbolic
-ID for <parmname>HelloWorld</parmname>, which is used for both the short and
-long caption</p></li>
-<li><p>there is one icon for <i>HelloWorldBasic</i> and it is in
-the <parmname>\\resource\\apps\\Helloworldbasic_aif.mif</parmname> file</p>
-</li>
-</ul>
-<codeblock id="GUID-730600E4-43F1-45ED-B713-FCFDD6F56FB3" xml:space="preserve">// ----------------------------------------------------------------------------
-//
-// r_dialog_text_edit_query
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_dialog_text_edit_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EDataLayout;
-                label = "";
-                control = EDWIN
-                    {
-                    width = 32;
-                    maxlength = 32;
-                     lines = 1;
-                    };
-                };
-            }
-        };
-    }
-// End of File
-</codeblock>
-<p>This <parmname>RESOURCE</parmname> definition defines the resource required
-for a dialog used in the<i>HelloWorldBasic</i> application. For more information
-on defining <parmname>DIALOG</parmname> resources, see <xref format="html" href="specs/guides/Dialogs_API_Specification/Dialogs_API_Specification.html" scope="external">Using
-Dialog API</xref>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB" xml:lang="en"><title>helloworldbasic.rss</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In the Symbian platform, resource files are used to define UI components
+such as status panes, <xref href="GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita">CBA
+(Control Button Area) buttons</xref>, <xref href="GUID-5918ED8A-B26B-41A0-94A6-AB6D51BF80A1.dita">menu
+bars</xref>, <xref href="GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita">views</xref>,
+dialogs, strings, and constants used in applications. </p>
+<p>For more information about resource files, see <xref href="GUID-0FB60233-993A-4BF2-9E8C-E03AD092359B.dita">Managing
+resource files</xref>.</p>
+<codeblock id="GUID-5FFA294E-190E-41AE-BDA3-EE3F2E84F2E6" xml:space="preserve">//  RESOURCE IDENTIFIER
+NAME HEWB    // 4 letter ID
+
+</codeblock>
+<p>This NAME statement defines the mandatory identifier for this resource
+file, which is unique within this application. For more information, see <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource file structure</xref>.</p>
+<codeblock id="GUID-6A156720-EBC9-4D2E-B6B7-196DFAEBB518" xml:space="preserve">//  INCLUDES
+#include &lt;eikon.rh&gt;
+#include &lt;avkon.rh&gt;
+</codeblock>
+<p>These are preprocessor statements for <parmname>EIKON</parmname> and <parmname>AVKON</parmname> files
+provided in the <parmname>./Epoc32/include</parmname> sub-folder. They are
+required for data structures used in the resource file. For more information
+on the available preprocessor statements in resource files, see <xref href="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita">Resource file structure</xref>.</p>
+<codeblock id="GUID-E27A3CE4-3058-4DEC-B298-675CB1028682" xml:space="preserve">#include &lt;avkon.rsg&gt;
+</codeblock>
+<p>These is a preprocessor statement for a generated resource file provided
+in the <parmname>./Epoc32/include</parmname> subfolder that provides a list
+of symbolic IDs that point to compiled resources. For more on Symbian precompiled
+options, see <xref href="GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita">Precompiled resource values available from the Symbian platform</xref>.</p>
+<codeblock id="GUID-DB2EF2AB-24B9-4B0A-B691-E2BB54214132" xml:space="preserve">#include &lt;appinfo.rh&gt;
+</codeblock>
+<p>This is a preprocessor statement for an <parmname>AVKON</parmname> file
+provided in the <parmname>./Epoc32/include</parmname> subfolder that is required
+for the data structure used for the localizable information for the application
+registration resource file.</p>
+<codeblock id="GUID-3664CD24-DCE2-437F-B833-7E459CECD684" xml:space="preserve">#include "HelloWorldBasic.hrh"</codeblock>
+<p>This is a preprocessor statement for the <i>HelloWorldBasic</i> custom
+command IDs. For more on custom command IDs, see <xref href="GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita">Creating resource header files</xref>.</p>
+<codeblock id="GUID-F434F19C-2BEF-4E95-BF16-35813A19FD0E" xml:space="preserve">#include "HelloWorldBasic.rls"
+</codeblock>
+<p>This is a preprocessor statement for the file used to manage building
+the localized strings for the <i>HelloWorldBasic</i> application. For more
+on internationalization and localization, see <xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
+and localization</xref>.</p>
+<codeblock id="GUID-51D40318-84BB-49A7-9D1E-E28118AD71A6" xml:space="preserve">//  RESOURCE DEFINITIONS
+// -----------------------------------------------------------------------------
+//
+//    Define the resource file signature
+//    This resource should be empty.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE RSS_SIGNATURE
+    {
+    }
+
+</codeblock>
+<p>This is the required <parmname>RESOURCE</parmname> definition that indicates
+the version of this resource file. For this application, no version is defined.</p>
+<codeblock id="GUID-C70BA7AA-2AD2-4876-8F14-AE4E73D2BB5E" xml:space="preserve">// -----------------------------------------------------------------------------
+//
+//    Default Document Name
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_default_document_name
+    {
+    buf="HEWB";
+    }
+
+</codeblock>
+<p>This is the required <parmname>RESOURCE</parmname> definition that defines
+the name used if the <parmname>helloworldbasicdocument</parmname> class needs
+to store a document.</p>
+<codeblock id="GUID-B0907BE0-D5B4-47E9-86AB-730C67F2AC8E" xml:space="preserve">// -----------------------------------------------------------------------------
+//
+//    Define default menu and CBA key.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE EIK_APP_INFO
+    {
+    menubar = r_helloworldbasic_menubar;
+    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
+    }
+</codeblock>
+<p>This is the required <parmname>RESOURCE</parmname> definition that defines
+the resource used for constructing the menu bar and the Control Button Area
+(CBA) buttons used in the application. The menu bar is constructed later in
+this resource file. The CBA buttons declaration uses a precompiled symbolic
+ID from the <parmname>avkon.rsg</parmname> file, which in turns points to
+a compiled resource that provides an <parmname>Options</parmname> text above
+the left softkey and an <parmname>Exit</parmname> text above the right softkey.
+The application framework handles the event generated by selection of the <parmname>Options</parmname> softkey
+and opens the <parmname>MENU_PANE</parmname> resource. Selection of the <parmname>Exit</parmname> softkey
+generates a <parmname>EAknSoftkeyExit</parmname> event that needs to be handled
+by your code. For more information on event handling, see <xref href="GUID-A9330FEF-C559-4E2B-B064-0151FDADEA8C.dita">Event
+handling</xref>.</p>
+<codeblock id="GUID-1D25FC90-4454-4FE2-9306-60B8BC2AFBA3" xml:space="preserve">// -----------------------------------------------------------------------------
+//
+//   r_helloworldbasic_menubar
+//   Menubar for HelloWorldBasic example
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE MENU_BAR r_helloworldbasic_menubar
+    {
+    titles =
+        {
+        MENU_TITLE { menu_pane = r_helloworldbasic_menu; }
+        };
+    }
+</codeblock>
+<p>This <parmname>RESOURCE</parmname> definition defines the <parmname>r_helloworldbasic_menubar</parmname> menu
+bar declared in <parmname>EIK_APP_INFO</parmname>. The <parmname>MENU_TITLE</parmname> statement
+maps to the <parmname>Options</parmname> softkey, which opens the defined <parmname>MENU_PANE</parmname> resources
+when selected.</p>
+<codeblock id="GUID-18A6F8CA-F09E-4E0F-8F36-424090D084D4" xml:space="preserve">// -----------------------------------------------------------------------------
+//
+//   r_helloworldbasic_menu
+//   Menu for "Options"
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_helloworldbasic_menu
+    {
+    items =
+        {
+        // added the new Options menu command here
+        MENU_ITEM
+                {
+                command = EHelloWorldBasicCommand1;
+                txt = STRING_hewb_command1;
+                },
+        MENU_ITEM
+                {
+                command = EHelloWorldBasicCommand2;
+                txt = STRING_hewb_command2;
+                },
+        MENU_ITEM
+                {
+                command = EHelloWorldBasicCommand3;
+                txt = STRING_r_hewb_command3;
+                },
+	MENU_ITEM
+                {
+                command = EAknSoftkeyExit;
+                txt = STRING_r_hewb_exit;
+                }
+        };
+    }
+</codeblock>
+<p>This <parmname>RESOURCE</parmname> definition defines the <parmname>r_helloworldbasic_menu</parmname> menu
+opened when <parmname>Option</parmname> is selected. Four menu items are offered: <parmname>Hello</parmname>, <parmname>Hello
+from file</parmname>, <parmname>Hello from edit</parmname>, and <parmname>Exit</parmname>.
+The <parmname>command</parmname> definitions indicate which event is returned
+by the application framework when the option is selected and the <parmname>txt</parmname> declarations
+provide the strings used in the menu. The enumerated <parmname>command</parmname> command
+IDs here are listed in the <parmname>helloworldbasic.hrh</parmname> file,
+with the exception of <parmname>EAknSoftkeyExit</parmname>, which is a command
+ID available from <parmname>avkon.hrh</parmname>.</p>
+<codeblock id="GUID-D3AA64A7-6A43-426F-8D49-874283903FF1" xml:space="preserve">// -----------------------------------------------------------------------------
+//
+// Resources for messages.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF32 r_hewb_command1_text { buf=STRING_r_hewb_command1_text; }
+RESOURCE TBUF32 r_hewb_file_text { buf=STRING_r_hewb_file_text; }
+RESOURCE TBUF32 r_hewb_caption_string { buf=STRING_r_hewb_caption_string; }
+</codeblock>
+<p>These <parmname>RESOURCE</parmname> definitions define <parmname>TBUF32</parmname> resources
+that can be read in the application implementation code later with the <parmname>StringLoader</parmname> class.</p>
+<codeblock id="GUID-4205A985-F5DD-4EFE-9EAB-56C2188802D4" xml:space="preserve">// ---------------------------------------------------------------------------- 
+//
+// r_helloworldbasic_localisable_app_info
+//
+// ---------------------------------------------------------------------------- 
+//
+RESOURCE LOCALISABLE_APP_INFO r_helloworldbasic_localisable_app_info
+    {
+    short_caption = STRING_hewb_caption_string;
+    caption_and_icon = 
+    CAPTION_AND_ICON_INFO
+        {
+        caption = STRING_hewb_caption_string;
+
+        number_of_icons = 1;
+	   	icon_file = "\\resource\\apps\\Helloworldbasic_aif.mif";
+	    };
+    }
+</codeblock>
+<p>This <parmname>RESOURCE</parmname> definition defines the localizable
+information for the <i>HelloWorldBasic</i> registration file, where:</p>
+<ul>
+<li><p><parmname>r_helloworldbasic_localisable_app_info</parmname> is
+the resource identifier</p></li>
+<li><p><parmname>STRING_hewb_caption_string</parmname> is the symbolic
+ID for <parmname>HelloWorld</parmname>, which is used for both the short and
+long caption</p></li>
+<li><p>there is one icon for <i>HelloWorldBasic</i> and it is in
+the <parmname>\\resource\\apps\\Helloworldbasic_aif.mif</parmname> file</p>
+</li>
+</ul>
+<codeblock id="GUID-730600E4-43F1-45ED-B713-FCFDD6F56FB3" xml:space="preserve">// ----------------------------------------------------------------------------
+//
+// r_dialog_text_edit_query
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE DIALOG r_dialog_text_edit_query
+    {
+    flags = EGeneralQueryFlags;
+    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_DATA_QUERY
+                {
+                layout = EDataLayout;
+                label = "";
+                control = EDWIN
+                    {
+                    width = 32;
+                    maxlength = 32;
+                     lines = 1;
+                    };
+                };
+            }
+        };
+    }
+// End of File
+</codeblock>
+<p>This <parmname>RESOURCE</parmname> definition defines the resource required
+for a dialog used in the<i>HelloWorldBasic</i> application. For more information
+on defining <parmname>DIALOG</parmname> resources, see <xref format="html" href="specs/guides/Dialogs_API_Specification/Dialogs_API_Specification.html" scope="external">Using
+Dialog API</xref>.</p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6B231E96-CD4B-5D8E-9AAC-D533784E0E3B_d0e20975_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6B231E96-CD4B-5D8E-9AAC-D533784E0E3B_d0e22942_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-6B8BA8A8-AD56-55BA-9659-15091E988FB7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6B8BA8A8-AD56-55BA-9659-15091E988FB7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,30 +9,27 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-6B8BA8A8-AD56-55BA-9659-15091E988FB7" xml:lang="en"><title>HTTP
-Client Example</title><shortdesc>This example shows how to use HTTP APIs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-42E724C9-4C84-5AFF-B9F7-23BAE90CE48F"><title>Description</title> <p>This
-updated C++ application demonstrates simple HTTP GET and POST transactions
-using the HTTP Client API. Basic HTTP authentication is also supported. </p> </section>
-<section id="GUID-4D40BEB0-1C5B-538F-91A7-29A3D7D6D16B"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f8185804-e4a0-47b3-9f66-e531d88ee9ce.zip" scope="external">Httpclientexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f8185804-e4a0-47b3-9f66-e531d88ee9ce.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-F03E3A90-59C0-50F6-B1CA-27E86A8B1934"><title>Building and
-configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-50180DE5-DAE7-5C1A-A59C-01A9CC76DADE"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-7F23E0FC-6A18-58BF-B066-D50333284761"><p>For the emulator, the
-example builds an executable called <filepath>httpexampleclient.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
+<reference id="GUID-6B8BA8A8-AD56-55BA-9659-15091E988FB7" xml:lang="en"><title>HTTP Client Example</title><shortdesc>This example shows how to use HTTP APIs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-42E724C9-4C84-5AFF-B9F7-23BAE90CE48F"><title>Description</title> <p>This updated C++ application demonstrates simple HTTP GET and
+POST transactions using the HTTP Client API. Basic HTTP authentication
+is also supported. </p> </section>
+<section id="GUID-4D40BEB0-1C5B-538F-91A7-29A3D7D6D16B"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f8185804-e4a0-47b3-9f66-e531d88ee9ce.zip" scope="external">Httpclientexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f8185804-e4a0-47b3-9f66-e531d88ee9ce.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-F03E3A90-59C0-50F6-B1CA-27E86A8B1934"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-50180DE5-DAE7-5C1A-A59C-01A9CC76DADE"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-7F23E0FC-6A18-58BF-B066-D50333284761"><p>For the emulator,
+the example builds an executable called <filepath>httpexampleclient.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
 </refbody><related-links>
-<link href="GUID-1D32D093-1B7B-5CE8-B57D-5469C1E8E4B9.dita"><linktext>Simple Client
-Session guide</linktext></link>
-<link href="GUID-50BBCB9C-F234-5813-A42E-3FCFB0F14B66.dita"><linktext>HTTP Overview</linktext>
-</link>
+<link href="GUID-1D32D093-1B7B-5CE8-B57D-5469C1E8E4B9.dita"><linktext>Simple
+Client Session guide</linktext></link>
+<link href="GUID-50BBCB9C-F234-5813-A42E-3FCFB0F14B66.dita"><linktext>HTTP
+Overview</linktext></link>
 </related-links></reference>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-7-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-7-1" xml:lang="en"><title>Building
-ROM Tutorial </title><shortdesc>Describes how to build a ROM that will use demand paging. It assumes
-that the configuration files have been suitably modified. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-0EF40712-F6BE-516A-871E-5E98BA86F3BF"><p>This is the final
-step required to build a ROM that can use Writable Data Paging (WDP). The
-previous steps required to produce a ROM image that can use Writable Data
-Paging (WDP) are: </p> <ul>
-<li id="GUID-E4AB8E69-E18D-522A-8CD1-CF0CFBA0E387"><p><xref href="GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita">Configuration
-Tutorial</xref>  </p> </li>
-<li id="GUID-53279F00-E850-53C7-BD67-054B80747697"><p><xref href="GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita">oby
-tutorial</xref>  </p> </li>
-<li id="GUID-EB986AF2-E4F8-5C22-B303-17F434ACDBB0"><p><xref href="GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita#GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68/GUID-9A892A74-0823-57D7-A146-BC8E14508B99">mmp tutorial</xref>  </p> </li>
-</ul> <p> <note> It is assumed that the both the configuration files and the
-media drivers have been modified to use demand paging.</note>  </p> </context>
-<steps id="GUID-95FD1C29-408C-55FE-A9D0-30D2CED91C65">
-<step id="GUID-5C1EB773-0F2F-59CC-9B6C-3836C3D8CC4C"><cmd/>
-<info>If the new OBY file appears before <filepath>base.iby</filepath>, then
-no change to the configuration of the rombuild command is needed. </info>
-</step>
-<step id="GUID-29B770D9-9823-518A-A6F9-980FC134AE16"><cmd/>
-<info>If the new OBY file appears after <filepath>base.iby</filepath>, then <codeph>USE_DATA_PAGING</codeph> must
-be defined on the command line (along with <codeph>PAGED_ROM, USE_CODE_PAGING
-and CODE_PAGING_FROM_ROFS</codeph>) </info>
-<info> <codeph>USE_DATA_PAGING, PAGED_ROM, USE_CODE_PAGING and CODE_PAGING_FROM_ROFS</codeph> are
-macros that are used to indicate which types of paging is to be used. If they
-are specified in the parameter list for buildrom (with -D in fount of it)
-then that type of paging will be implemented. </info>
-</step>
-</steps>
-<result id="GUID-619040F2-098F-5A57-840B-78B1BD223E3B"><p>Executing the buildrom
-command builds the ROM image with no errors or warnings. </p> </result>
-<example id="GUID-E065C47A-B95B-579D-A64F-1ADADF2430A1"><title>buildrom example</title> <p>An
-example of a buildrom command that produces a demand paging ROM is: </p> <codeblock id="GUID-05DF5C47-B13F-5054-826B-88D50E6CC991" xml:space="preserve">buildrom –D_NAND2 -DWITH_FLEXIBLE_MM –DPAGED_ROM –DUSE_CODE_PAGING –DCODE_PAGING_FROM_ROFS –DUSE_DATA_PAGING h4hrp techview MyDPConfig</codeblock> </example>
-</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378" xml:lang="en"><title>Building
+ROM Tutorial </title><shortdesc>Describes how to build a ROM that will use demand paging. It assumes
+that the configuration files have been suitably modified. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-0EF40712-F6BE-516A-871E-5E98BA86F3BF"><p>This is the final
+step required to build a ROM that can use Writable Data Paging (WDP). The
+previous steps required to produce a ROM image that can use Writable Data
+Paging (WDP) are: </p> <ul>
+<li id="GUID-E4AB8E69-E18D-522A-8CD1-CF0CFBA0E387"><p><xref href="GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita">Configuration
+Tutorial</xref>  </p> </li>
+<li id="GUID-53279F00-E850-53C7-BD67-054B80747697"><p><xref href="GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita">oby
+tutorial</xref>  </p> </li>
+<li id="GUID-EB986AF2-E4F8-5C22-B303-17F434ACDBB0"><p><xref href="GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68.dita#GUID-16423056-C435-5C4D-BE3D-4A15F95F7F68/GUID-9A892A74-0823-57D7-A146-BC8E14508B99">mmp tutorial</xref>  </p> </li>
+</ul> <p> <note> It is assumed that the both the configuration files and the
+media drivers have been modified to use demand paging.</note>  </p> </context>
+<steps id="GUID-95FD1C29-408C-55FE-A9D0-30D2CED91C65">
+<step id="GUID-5C1EB773-0F2F-59CC-9B6C-3836C3D8CC4C"><cmd/>
+<info>If the new OBY file appears before <filepath>base.iby</filepath>, then
+no change to the configuration of the rombuild command is needed. </info>
+</step>
+<step id="GUID-29B770D9-9823-518A-A6F9-980FC134AE16"><cmd/>
+<info>If the new OBY file appears after <filepath>base.iby</filepath>, then <codeph>USE_DATA_PAGING</codeph> must
+be defined on the command line (along with <codeph>PAGED_ROM, USE_CODE_PAGING
+and CODE_PAGING_FROM_ROFS</codeph>) </info>
+<info> <codeph>USE_DATA_PAGING, PAGED_ROM, USE_CODE_PAGING and CODE_PAGING_FROM_ROFS</codeph> are
+macros that are used to indicate which types of paging is to be used. If they
+are specified in the parameter list for buildrom (with -D in fount of it)
+then that type of paging will be implemented. </info>
+</step>
+</steps>
+<result id="GUID-619040F2-098F-5A57-840B-78B1BD223E3B"><p>Executing the buildrom
+command builds the ROM image with no errors or warnings. </p> </result>
+<example id="GUID-E065C47A-B95B-579D-A64F-1ADADF2430A1"><title>buildrom example</title> <p>An
+example of a buildrom command that produces a demand paging ROM is: </p> <codeblock id="GUID-05DF5C47-B13F-5054-826B-88D50E6CC991" xml:space="preserve">buildrom –D_NAND2 -DWITH_FLEXIBLE_MM –DPAGED_ROM –DUSE_CODE_PAGING –DCODE_PAGING_FROM_ROFS –DUSE_DATA_PAGING h4hrp techview MyDPConfig</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6B97D07F-DF2A-5CF1-84A9-84DBE7CB2115.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6B97D07F-DF2A-5CF1-84A9-84DBE7CB2115.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 <p>See the latest version of the public <xref href="http://developer.symbian.org/wiki/index.php/Symbian_System_Model" scope="external">System Model</xref> from the Symbian foundation.</p>
 <fig id="GUID-763A4790-2283-5D9A-8812-CB65C6E158C7">
 <title>           System model relationship          </title>
-<image href="GUID-2F8B9FAD-1669-5458-BA24-2E15BB0D2F53_d0e477360_href.png" placement="inline"/>
+<image href="GUID-2F8B9FAD-1669-5458-BA24-2E15BB0D2F53_d0e483189_href.png" placement="inline"/>
 </fig>
 <dl>
 <dlentry>
Binary file Symbian3/PDK/Source/GUID-6B9E5B8D-E2F7-5972-ABFB-49F7F466EBBD_d0e547082_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6B9E5B8D-E2F7-5972-ABFB-49F7F466EBBD_d0e554538_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE-master.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE_d0e42963_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6BA9989F-6D45-5D77-BC79-DE4B5DD35A6C_d0e346428_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6BA9989F-6D45-5D77-BC79-DE4B5DD35A6C_d0e352379_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6BD861E5-7F33-513D-8B35-CFA47E3E82F3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6BD861E5-7F33-513D-8B35-CFA47E3E82F3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 access the functions with the <xref href="GUID-97D402C8-B4B7-385A-92B3-D3FCC0CA575A.dita"><apiname>CTelephony</apiname></xref> class. </p> <fig id="GUID-E83AD33D-9520-57F1-AEDB-6142D67267AB">
 <title>              Telephony API for Applications - Block Diagram      
      </title>
-<image href="GUID-736F9C4B-7C70-5927-A9C9-21A127C431AF_d0e58622_href.png" placement="inline"/>
+<image href="GUID-736F9C4B-7C70-5927-A9C9-21A127C431AF_d0e62856_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-88403933-3F71-4BA1-911B-D984A25A7258"><title>Description</title> <p>The <xref href="GUID-97D402C8-B4B7-385A-92B3-D3FCC0CA575A.dita"><apiname>CTelephony</apiname></xref> class
 provides a limited set of telephony functions to client applications. The <xref href="GUID-97D402C8-B4B7-385A-92B3-D3FCC0CA575A.dita"><apiname>CTelephony</apiname></xref> is built on top of the core, multimode
--- a/Symbian3/PDK/Source/GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8" xml:lang="en"><title>Variant
-configuration file syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Purpose</title> <p>A variant configuration file (<filepath>.var</filepath>)
-defines settings that are specific to a variant. It is used to modify certain
-aspects of an existing build platform. </p> </section>
-<section><title>Syntax</title> <p> <varname>KEYWORD</varname> [<varname>OPERATION</varname>]
-[<varname>VALUE</varname>] </p> <p>A summary of keywords, operations and values
-is given below: </p> <p><b>Keyword</b> </p> <p>Possible keywords are as follows: </p> <table id="GUID-D6F58101-A22F-5377-9190-B8E609DE35ED">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>VARIANT</codeph>  </p> </entry>
-<entry><p>Indicates that <varname>VALUE</varname> is the name of the variant
-configuration. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>VIRTUAL</codeph>  </p> </entry>
-<entry><p>Indicates that the variant is meant only for grouping variants and
-not to be used as a build configuration. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>EXTENDS</codeph>  </p> </entry>
-<entry><p>Indicates that the variant extends an existing variant configuration. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>VARIANT_HRH</codeph>  </p> </entry>
-<entry><p>Specifies the pre-included header (<filepath>.hrh</filepath>) file
-that defines feature macros. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>BUILD_INCLUDE</codeph>  </p> </entry>
-<entry><p>Specifies the location of the files to be included when building
-the binary. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>ROM_INCLUDE</codeph>  </p> </entry>
-<entry><p>Specifies the location of the files to be included when building
-the ROM image containing the variant binary. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p> <b>Note</b>: If VARIANT_HRH keyword is not present, then <codeph>/epoc32/include/variant/name.hrh</codeph> is
-used. </p> <p><b>operation</b> </p> <p>The possible operations are <codeph>set</codeph>, <codeph>append</codeph> and <codeph>prepend</codeph>.
-These operations provide the flexibility of extending the existing include
-paths within the <filepath>.var</filepath> file. The operations are applicable
-only to the <codeph>BUILD_INCLUDE</codeph> and <codeph>ROM_INCLUDE</codeph> keywords. </p> <p> <b>Example</b>  </p> <codeblock id="GUID-3D6B0229-A64F-52BB-9BDF-10ABDF99F11E" xml:space="preserve"># default.var
-VARIANT default
-BUILD_INCLUDE set         /epoc32/include
-BUILD_INCLUDE append    /epoc32/include/variant
-ROM_INCLUDE set        /epoc32/rom/include</codeblock> <codeblock id="GUID-91F8392C-C822-5829-BA42-FB8F9AB6AECD" xml:space="preserve"># phone.var
-VARIANT phone
-EXTENDS default
-BUILD_INCLUDE append    /epoc32/include/variant/phone
-ROM_INCLUDE prepend    /epoc32/rom/phone</codeblock> <p>For the variant <codeph>phone</codeph> the
-include lists will be: </p> <codeblock id="GUID-72B415A7-84D6-5818-9E64-B736D505E873" xml:space="preserve">BUILD (/epoc32/include, /epoc32/include/variant, /epoc32/include/variant/phone)
-ROM (/epoc32/rom/phone, /epoc32/rom/include)</codeblock> <p><b>value</b> </p><p>Value
-can be a variant name, a file name or a directory name. for example, myphone
-or /epoc32/tools/variant/name.var.  </p><ul>
-<li><p>Use '/' as the path separator between files and directories.</p></li>
-<li><p>Begin all paths with '/' implying that they are relative to EPOCROOT.</p></li>
-</ul> <p><b>Example</b> </p> <p>An example of a variant: </p> <codeblock id="GUID-50190D57-7C49-5697-A858-7626D59B1967-GENID-1-15-1-1-7-1-12-1-2-2-20" xml:space="preserve">VARIANT        name
-VIRTUAL
-EXTENDS        parent
-VARIANT_HRH    /epoc32/include/variant/something.hrh
-BUILD_INCLUDE    set        directoryA
-BUILD_INCLUDE    append        directoryB
-BUILD_INCLUDE    prepend    directoryC
-ROM_INCLUDE    set        directoryD
-ROM_INCLUDE    append        directoryE
-ROM_INCLUDE    prepend    directoryF
-
-</codeblock> <p><b>Notes</b> </p> <ul>
-<li id="GUID-84B8E804-46B8-5422-9CFE-048C9EF0179B-GENID-1-15-1-1-7-1-12-1-2-2-22-1"><p>All <filepath>.var</filepath> files
-must exist in <filepath>/epoc32/tools</filepath> <filepath>/</filepath> <varname>variant</varname>. </p> </li>
-<li id="GUID-CDB78FAD-58A6-5464-ACC6-EFBCEDFD5092-GENID-1-15-1-1-7-1-12-1-2-2-22-2"><p>A default variant configuration
-file (<filepath>default.var</filepath>) must exist in <filepath>/epoc32/tools/variant/</filepath>. </p> </li>
-<li id="GUID-7216C624-7E28-52A5-BAA7-BB897286AE51-GENID-1-15-1-1-7-1-12-1-2-2-22-3"><p>The name of the variant
-configuration file (.var) must be same as the variant name. For example, if
-the variant name is <b>myvar</b>, then the variant configuration file must
-be named as <filepath>myvar.var</filepath>. </p> </li>
-<li id="GUID-CADF1047-C92E-5A8C-81FB-64CAA19380B8-GENID-1-15-1-1-7-1-12-1-2-2-22-4"><p>Each variant must have
-a default <filepath>&lt;variant_name&gt;.hrh</filepath> file at <filepath>/epoc32/include/variant/</filepath>.
-If you want to use any other <filepath>.hrh</filepath> file under EPOCROOT,
-use the <codeph>VARIANT_HRH</codeph> keyword to specify its name along with
-the relative path. </p> </li>
-<li id="GUID-FEEDF642-117E-5E4F-8CD4-B6305B977204-GENID-1-15-1-1-7-1-12-1-2-2-22-5"><p>A default variant cannot
-be <codeph>VIRTUAL</codeph>. </p> </li>
-</ul> </section>
-<section><title>Example</title> <p>An example of a variant: </p> <codeblock id="GUID-50190D57-7C49-5697-A858-7626D59B1967-GENID-1-15-1-1-7-1-12-1-2-3-3" xml:space="preserve">VARIANT        name
-VIRTUAL
-EXTENDS        parent
-VARIANT_HRH    /epoc32/include/variant/something.hrh
-BUILD_INCLUDE    set        directoryA
-BUILD_INCLUDE    append        directoryB
-BUILD_INCLUDE    prepend    directoryC
-ROM_INCLUDE    set        directoryD
-ROM_INCLUDE    append        directoryE
-ROM_INCLUDE    prepend    directoryF
-
-</codeblock> </section>
-<section><title>Notes</title> <ul>
-<li id="GUID-84B8E804-46B8-5422-9CFE-048C9EF0179B-GENID-1-15-1-1-7-1-12-1-2-4-2-1"><p>All <filepath>.var</filepath> files
-must exist in <filepath>/epoc32/tools</filepath> <filepath>/</filepath> <varname>variant</varname>. </p> </li>
-<li id="GUID-CDB78FAD-58A6-5464-ACC6-EFBCEDFD5092-GENID-1-15-1-1-7-1-12-1-2-4-2-2"><p>A default variant configuration
-file (<filepath>default.var</filepath>) must exist in <filepath>/epoc32/tools/variant/</filepath>. </p> </li>
-<li id="GUID-7216C624-7E28-52A5-BAA7-BB897286AE51-GENID-1-15-1-1-7-1-12-1-2-4-2-3"><p>The name of the variant
-configuration file (.var) must be same as the variant name. For example, if
-the variant name is <b>myvar</b>, then the variant configuration file must
-be named as <filepath>myvar.var</filepath>. </p> </li>
-<li id="GUID-CADF1047-C92E-5A8C-81FB-64CAA19380B8-GENID-1-15-1-1-7-1-12-1-2-4-2-4"><p>Each variant must have
-a default <filepath>&lt;variant_name&gt;.hrh</filepath> file at <filepath>/epoc32/include/variant/</filepath>.
-If you want to use any other <filepath>.hrh</filepath> file under EPOCROOT,
-use the <codeph>VARIANT_HRH</codeph> keyword to specify its name along with
-the relative path. </p> </li>
-<li id="GUID-FEEDF642-117E-5E4F-8CD4-B6305B977204-GENID-1-15-1-1-7-1-12-1-2-4-2-5"><p>A default variant cannot
-be <codeph>VIRTUAL</codeph>. </p> </li>
-</ul></section>
-</conbody><related-links>
-<link href="GUID-917413FC-0AC0-5768-B5AD-36BD2EDCB1FF.dita"><linktext>How to build
-feature based variants</linktext></link>
-<link href="GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita"><linktext>How to build
-ROMs with variants</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6C1D941B-ADD1-5BD3-9045-53B66253316B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-6C1D941B-ADD1-5BD3-9045-53B66253316B"><title>epocallowdlldata</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>epocallowdlldata</codeph> </p> <p> <codeph>epocallowdlldata</codeph> statement allows you to use global writeable static data in DLLs. </p> <p>See <xref href="GUID-5BDE6462-E6CA-5738-A587-C7D875574789.dita">Static data</xref> for issues with using the writeable static data. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6C2A9928-5E5D-5F41-89C1-49C0EF14F900_d0e171043_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6C2A9928-5E5D-5F41-89C1-49C0EF14F900_d0e177111_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6C9355AF-80BA-5DBD-81A4-E9475A118C94_d0e464030_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6C9355AF-80BA-5DBD-81A4-E9475A118C94_d0e469875_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6CB40FC5-5CBF-592C-B27D-29922C3815DC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-6CB40FC5-5CBF-592C-B27D-29922C3815DC"><title>library</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>library</codeph>  <codeph> [-k] [-v] </codeph> [ <varname>platform</varname> ] [ <varname>program</varname> ] </p> <p>This command creates the import libraries for the DLLs in your component by calling the <codeph>library</codeph> target provided in makefiles generated by <filepath>makmake</filepath>.</p> <p>Import libraries are generated directly from frozen <filepath>.def</filepath> files, so exported functions will not be incorporated into import libraries until these functions are frozen with <codeph>abld
-          freeze</codeph>.</p> <p>The import libraries are created implicitly as part of the build activity carried out by <codeph>abld target</codeph> (and thus <codeph>abld build</codeph>), so it isn’t generally necessary to call this command separately if projects are listed in the component description file in order of dependency—dependent projects appearing after those projects they depend upon. </p> <p>If there are mutual imports between projects within your component then <codeph>abld library</codeph> can be called explicitly, though mutual imports are often a sign of poor software design.</p> <p>An import library will not be regenerated if it has a later date stamp than the corresponding frozen <filepath>.def</filepath> file.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,149 +9,134 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D" xml:lang="en"><title>P.I.P.S.
-Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>P.I.P.S. supplies a new framework of POSIX 'C' APIs to be used by Symbian
-developers with RTOS, Linux or Microsoft Windows® knowledge. The new APIs
-are packaged into industry standard libraries - <codeph>libc</codeph>, <codeph>libm</codeph>, <codeph>libpthread</codeph> and <codeph>libdl</codeph> - and will help reduce development costs. </p>
-<section id="GUID-08EF9B92-E9A6-4C4F-8A08-597F2EF32135"><title>Purpose</title> <p>The
-Symbian platform already provides a library called '<codeph>ESTLIB</codeph>',
-which includes a subset of Standard C APIs. This was created to allow the
-Java virtual machine to run on the Symbian platform rather than to allow applications
-written in C to be ported to the Symbian platform. Furthermore, the functionality
-provided by <codeph>ESTLIB</codeph> is not fully compliant with the Standard
-C and POSIX standards. Symbian intends to deprecate <codeph>ESTLIB</codeph> once
-P.I.P.S. is mature. </p> <p>The P.I.P.S. libraries are included in ROM on
-certain smartphones based on Symbian OS v9.3 onwards. For smartphones based
-on earlier versions of Symbian platform, a freely downloadable SIS file is
-available from the Symbian Developer Network (specifically <xref href="http://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Quick_Start" scope="external">http://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Quick_Start</xref>)
-and can be installed on any Symbian OS v9.x smartphones. </p> </section>
-<section id="GUID-6E46D602-BED1-4E20-AE6B-5137615E2440"><title>Required background</title> <p><b>The
-differences between the Symbian platform and other operating systems</b> </p> <p>The
-Symbian platform is an operating system designed for mobile devices and comes
-in the form of many libraries that contain hundreds of classes and thousands
-of member functions. </p> <p>The Symbian platform has been specifically designed
-to provide efficient memory and power management. </p> <p>P.I.P.S. has been
-introduced to the Symbian platform to make it more attractive to third party
-Symbian developers with C/C++ experience and to allow them to port their applications
-to the Symbian platform with greater ease. </p> <p>The P.I.P.S. initiative
-aims to reduce the development cost of porting software to run on the Symbian
-platform. It achieves this by providing a POSIX-like API layer above the Symbian
-platform. Given the structure of the Symbian platform, however, it is not
-possible to provide a fully compliant API and some functionality, such as, <xref href="GUID-432C9AA0-A698-3A62-95D8-CB010965F92C.dita"><apiname>fork()</apiname></xref> and <xref href="GUID-1F3AB7F6-B354-36DB-AA0C-D8F2DC89A6DD.dita"><apiname>exec()</apiname></xref> are
-not supported. This guide details such non-compliance and recommended alternatives. </p> <p>Specific
-differences between the Symbian platform and Unix-like systems are described
-in the relevant sections of this guide. </p> <p><b>What P.I.P.S. is not</b> </p> <p>The
-P.I.P.S. environment is <b>not</b> a UNIX® application environment. You will
-not be able to run a UNIX application on the Symbian platform 'as is'. At
-a minimum, you will need to create a <filepath>.mmp</filepath> file and a <filepath>bld.inf</filepath> file
-for the application and rebuild the application's source code for the Symbian
-platform. For further information, see <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> section. </p> <p>If the application does not
-work at the first attempt, you may have to modify the application code to
-replace missing APIs or port the required APIs to extend the P.I.P.S. environment.
-To find out more about porting C libraries to the Symbian platform, see the <xref href="GUID-C4C85189-BA6F-5F11-ABB3-727D8C1F5984.dita">P.I.P.S. Porting Tutorials</xref> sections. </p> <p>The
-P.I.P.S. environment is not 100% POSIX compliant and it is not officially
-certified as POSIX compatible. However, the implementation is as compliant
-as the underlying Symbian platform allows it to be. For example, P.I.P.S.
-does not provide the APIs <codeph>fork()</codeph> and <codeph>exec()</codeph>,
-but it does provide <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref>, <xref href="GUID-F4749DAA-1B29-3D1D-A3AA-0D52B851E501.dita"><apiname>mkfifo()</apiname></xref> and
-so on, which can be used to implement well known alternative patterns. For
-further information, see the <xref href="GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita">Process
-Creation</xref> section. </p> </section>
-<section id="GUID-22E7E427-C9D1-4C26-BCA8-E4A48CE0E45F"><title>Architecture</title> <p>P.I.P.S.
-provides an API layer above the native Symbian platform APIs that is more
-closely aligned with industry standard APIs. </p> <p>The core P.I.P.S. libraries
-are: </p> <ul>
-<li id="GUID-213D2779-C303-5A11-A339-8E464D4B4A68"><p> <codeph>libc</codeph>:
-Standard C and POSIX APIs - includes support for files, sockets, pipes, message
-queues, shared memory APIs and environment variables </p> </li>
-<li id="GUID-1209CBDA-DFEB-5ECA-AD4F-A1452762C2CC"><p> <codeph>libm</codeph>:
-Standard C maths support APIs </p> </li>
-<li id="GUID-138D2894-8362-5C13-B5BB-24A9A22DF415"><p> <codeph>libpthread</codeph>:
-Standard POSIX threading APIs </p> </li>
-<li id="GUID-E00112DA-D5BB-55C0-A6A4-A443B67858C0"><p> <codeph>libdl</codeph>:
-Standard C dynamic loading and symbol lookup APIs (only ordinal lookup is
-supported on pre-Symbian OS v9.3 releases). </p> </li>
-</ul> <p>The first three libraries listed above are seeded from <xref href="http://www.freebsd.org/" scope="external">FreeBSD</xref>. </p> <p>The diagram below shows the high
-level architecture of the P.I.P.S. environment. </p> <fig id="GUID-103BEA25-EE1B-50D0-8C0C-950C1A43656D">
+<concept id="GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D" xml:lang="en"><title>P.I.P.S. Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>P.I.P.S. supplies a new framework of POSIX 'C' APIs to be used
+by Symbian developers with RTOS, Linux or Microsoft Windows® knowledge.
+The new APIs are packaged into industry standard libraries - <codeph>libc</codeph>, <codeph>libm</codeph>, <codeph>libpthread</codeph> and <codeph>libdl</codeph> - and will help reduce development costs. </p>
+<section id="GUID-08EF9B92-E9A6-4C4F-8A08-597F2EF32135"><title>Purpose</title> <p>The Symbian platform already provides a library called '<codeph>ESTLIB</codeph>', which includes a subset of Standard C APIs. This
+was created to allow the Java virtual machine to run on the Symbian
+platform rather than to allow applications written in C to be ported
+to the Symbian platform. Furthermore, the functionality provided by <codeph>ESTLIB</codeph> is not fully compliant with the Standard C and POSIX
+standards. Symbian intends to deprecate <codeph>ESTLIB</codeph> once
+P.I.P.S. is mature. </p> <p>The P.I.P.S. libraries are included in
+ROM on certain smartphones based on Symbian OS v9.3 onwards. For smartphones
+based on earlier versions of Symbian platform, a freely downloadable
+SIS file is available from the Symbian Developer Network (specifically <xref href="http://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Quick_Start" scope="external">http://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Quick_Start</xref>) and can be installed on any Symbian OS v9.x smartphones. </p> </section>
+<section id="GUID-6E46D602-BED1-4E20-AE6B-5137615E2440"><title>Required
+background</title> <p><b>The differences between the Symbian platform
+and other operating systems</b> </p> <p>The Symbian platform is an
+operating system designed for mobile devices and comes in the form
+of many libraries that contain hundreds of classes and thousands of
+member functions. </p> <p>The Symbian platform has been specifically
+designed to provide efficient memory and power management. </p> <p>P.I.P.S. has been introduced to the Symbian platform to make it more
+attractive to third party Symbian developers with C/C++ experience
+and to allow them to port their applications to the Symbian platform
+with greater ease. </p> <p>The P.I.P.S. initiative aims to reduce
+the development cost of porting software to run on the Symbian platform.
+It achieves this by providing a POSIX-like API layer above the Symbian
+platform. Given the structure of the Symbian platform, however, it
+is not possible to provide a fully compliant API and some functionality,
+such as, <xref href="GUID-432C9AA0-A698-3A62-95D8-CB010965F92C.dita"><apiname>fork()</apiname></xref> and <xref href="GUID-1F3AB7F6-B354-36DB-AA0C-D8F2DC89A6DD.dita"><apiname>exec()</apiname></xref> are
+not supported. This guide details such non-compliance and recommended
+alternatives. </p> <p>Specific differences between the Symbian platform
+and Unix-like systems are described in the relevant sections of this
+guide. </p> <p><b>What P.I.P.S. is not</b> </p> <p>The P.I.P.S. environment
+is <b>not</b> a UNIX® application environment. You will not be able
+to run a UNIX application on the Symbian platform 'as is'. At a minimum,
+you will need to create a <filepath>.mmp</filepath> file and a <filepath>bld.inf</filepath> file for the application and rebuild the application's
+source code for the Symbian platform. </p> <p>If the application does
+not work at the first attempt, you may have to modify the application
+code to replace missing APIs or port the required APIs to extend the
+P.I.P.S. environment. To find out more about porting C libraries to
+the Symbian platform, see the <xref href="GUID-C4C85189-BA6F-5F11-ABB3-727D8C1F5984.dita">P.I.P.S. Porting
+Tutorials</xref> sections. </p> <p>The P.I.P.S. environment is not
+100% POSIX compliant and it is not officially certified as POSIX compatible.
+However, the implementation is as compliant as the underlying Symbian
+platform allows it to be. For example, P.I.P.S. does not provide the
+APIs <codeph>fork()</codeph> and <codeph>exec()</codeph>, but it does
+provide <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref>, <xref href="GUID-F4749DAA-1B29-3D1D-A3AA-0D52B851E501.dita"><apiname>mkfifo()</apiname></xref> and
+so on, which can be used to implement well known alternative patterns.
+For further information, see the <xref href="GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita">Process Creation</xref> section. </p> </section>
+<section id="GUID-22E7E427-C9D1-4C26-BCA8-E4A48CE0E45F"><title>Architecture</title> <p>P.I.P.S. provides an API layer above the native Symbian platform
+APIs that is more closely aligned with industry standard APIs. </p> <p>The core P.I.P.S. libraries are: </p> <ul>
+<li id="GUID-213D2779-C303-5A11-A339-8E464D4B4A68"><p> <codeph>libc</codeph>: Standard C and POSIX APIs - includes support for files, sockets,
+pipes, message queues, shared memory APIs and environment variables </p> </li>
+<li id="GUID-1209CBDA-DFEB-5ECA-AD4F-A1452762C2CC"><p> <codeph>libm</codeph>: Standard C maths support APIs </p> </li>
+<li id="GUID-138D2894-8362-5C13-B5BB-24A9A22DF415"><p> <codeph>libpthread</codeph>: Standard POSIX threading APIs </p> </li>
+<li id="GUID-E00112DA-D5BB-55C0-A6A4-A443B67858C0"><p> <codeph>libdl</codeph>: Standard C dynamic loading and symbol lookup APIs (only ordinal
+lookup is supported on pre-Symbian OS v9.3 releases). </p> </li>
+</ul> <p>The first three libraries listed above are seeded from <xref href="http://www.freebsd.org/" scope="external">FreeBSD</xref>. </p> <p>The diagram below shows the high level architecture of the P.I.P.S.
+environment. </p> <fig id="GUID-103BEA25-EE1B-50D0-8C0C-950C1A43656D">
 <title>              P.I.P.S. environment architecture            </title>
-<image href="GUID-ACA2AFE8-4872-42FA-A871-34EB80197495_d0e190112_href.png" placement="inline"/>
-</fig> <p>This diagram shows how P.I.P.S. fits in with the Symbian platform,
-and also how C/C++ applications, additional C shared libraries and hybrid
-applications developed by third party Symbian developers using P.I.P.S. fit
-in. </p> <p>P.I.P.S. environment is based on industry-standard APIs. These
-standards include </p> <ul>
-<li id="GUID-09A5848E-7934-5202-BB09-BE6390FC2F12"><p>Standard C (<codeph>stdC</codeph>)
-and </p> </li>
+<image href="GUID-ACA2AFE8-4872-42FA-A871-34EB80197495_d0e196181_href.png" placement="inline"/>
+</fig> <p>This diagram shows how P.I.P.S. fits in with the Symbian
+platform, and also how C/C++ applications, additional C shared libraries
+and hybrid applications developed by third party Symbian developers
+using P.I.P.S. fit in. </p> <p>P.I.P.S. environment is based on industry-standard
+APIs. These standards include </p> <ul>
+<li id="GUID-09A5848E-7934-5202-BB09-BE6390FC2F12"><p>Standard C (<codeph>stdC</codeph>) and </p> </li>
 <li id="GUID-0478A6C5-238C-5CFF-8625-791293800E9B"><p>POSIX. </p> </li>
-</ul> <p>The P.I.P.S. environment is a mandatory part of Symbian OS v9.5 onward. </p> <p>For
-devices already in the market, a SIS file is freely downloadable from the
-Forum Nokia site (specifically <xref href="http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Open_C_and_C++/" scope="external">http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Open_C_and_C++/</xref>)
-and can be installed on any v9.x phone. </p> <p><b>Components</b> </p> <p>P.I.P.S.
-is based on an industry-standard API and system behaviour.  The relevant
-industry standards are Open Group standards and include Standard C (<codeph>stdC</codeph>),
-POSIX, GNU C library (<codeph>glibc</codeph>) and Standard C++ (<codeph>stdC++</codeph>). </p> <p>The
-diagram below shows how the Standard C libraries and exported applications
-fit into the native platform. </p> <fig id="GUID-02F370A6-0713-5E7F-A851-339E03603A0A">
+</ul> <p>The P.I.P.S. environment is a mandatory part of Symbian OS
+v9.5 onward. </p> <p>For devices already in the market, a SIS file
+is freely downloadable from the Forum Nokia site (specifically <xref href="http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Open_C_and_C++/" scope="external">http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Open_C_and_C++/</xref>) and can be installed on any v9.x phone. </p> <p><b>Components</b> </p> <p>P.I.P.S. is based on an industry-standard API and system
+behaviour.  The relevant industry standards are Open Group standards
+and include Standard C (<codeph>stdC</codeph>), POSIX, GNU C library
+(<codeph>glibc</codeph>) and Standard C++ (<codeph>stdC++</codeph>). </p> <p>The diagram below shows how the Standard C libraries and
+exported applications fit into the native platform. </p> <fig id="GUID-02F370A6-0713-5E7F-A851-339E03603A0A">
 <title>                 The subsystem components               </title>
-<image href="GUID-5746BC4A-E8D2-51DE-B101-4BA68F0E1769_d0e190171_href.png" placement="inline"/>
-</fig> <p>The System Call Adaptation Layer (SCAL) is not directly accessed
-by the developer wishing to export to the Symbian platform, but through calls
-in the P.I.P.S. libraries. </p> <p>Traditionally, in Unix-like systems, system
-calls are implemented in the kernel, separate from the C libraries. On the
-Symbian platform, the 'System Call Adaptation Layer' runs in the context of
-the user side but is considered 'kernel-like' code. APIs that belong to this
-layer are tagged as <codeph>@internalComponent</codeph> and may only be extended
-by Symbian. </p> <p>Note that P.I.P.S. is not a Linux application environment
-- you cannot simply run an application that you've compiled for your Linux
-desktop. At a minimum, you will have to rebuild your application from source. </p> <p>For
-more information, see the <xref href="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita">Build
-Process</xref> section. </p> <p id="GUID-49C7F951-8317-5F41-B1B9-9F7B8803E655"><b>Glue
-code (CRT0)</b> </p> <p>Executables built for the Symbian platform enter via <codeph>E32Main()</codeph>,
-whereas Standard C applications expect to be started from <codeph>main()</codeph>.
-It is therefore necessary to have 'glue code' (formerly known as CRT0) between
-these two functions. The glue code is also responsible for allocating any
-system resources, obtaining system and environment data, and initialising
-the SCAL infrastructure prior to calling the <codeph>main()</codeph> function
-of the application. There are two versions of the glue code library - <filepath>libcrt0.lib</filepath> (for
-use by applications that enter via char <codeph>main()</codeph>) and <filepath>libwcrt0.lib</filepath> (for
-use by applications that enter via wide char <codeph>main()</codeph>). </p> <p>To
-include the glue code library you should explicity link to <filepath>libcrt0.lib</filepath> and <filepath>libwcrt0.lib</filepath> statically,
-however, if you are using the <codeph>STDEXE</codeph> or <codeph>STDDLL</codeph> target
-types, glue code will be added automatically. </p> <p id="GUID-1DDC11E7-D9D6-5251-89CE-981C4869D109"><b>P.I.P.S.
-Core libraries</b> </p> <p>Currently, the C libraries include the <codeph>libc</codeph>, <codeph>libm</codeph>,
-and <codeph>libpthread</codeph> (seeded from <xref href="http://www.freebsd.org/" scope="external">FreeBSD</xref>) and <codeph>libdl</codeph> libraries. The
-APIs provided by these libraries are defined to be compliant, via compatibility
-features, with the POSIX standard. They are not officially certified as POSIX
-compatible but they conform to it mostly. </p> <p>The P.I.P.S. libraries include
-the following APIs: </p> <ul>
-<li id="GUID-95E53F0A-B919-5EEE-9A6F-427E87547088"><p> <codeph>stdio</codeph>,
-including <xref href="GUID-E69DB3CD-E6DA-3B1D-A499-AE68EC432CAC.dita"><apiname>print()</apiname></xref>, <xref href="GUID-58616261-FB60-37C5-9289-239144CD8FB8.dita"><apiname>scanf()</apiname></xref>, and so on </p> </li>
-<li id="GUID-5359692C-17C8-5486-9DCB-0A5B9AD1C90A"><p> <codeph>stdlib</codeph>,
-including environment variable support, and so on </p> </li>
+<image href="GUID-5746BC4A-E8D2-51DE-B101-4BA68F0E1769_d0e196240_href.png" placement="inline"/>
+</fig> <p>The System Call Adaptation Layer (SCAL) is not directly
+accessed by the developer wishing to export to the Symbian platform,
+but through calls in the P.I.P.S. libraries. </p> <p>Traditionally,
+in Unix-like systems, system calls are implemented in the kernel,
+separate from the C libraries. On the Symbian platform, the 'System
+Call Adaptation Layer' runs in the context of the user side but is
+considered 'kernel-like' code. APIs that belong to this layer are
+tagged as <codeph>@internalComponent</codeph> and may only be extended
+by Symbian. </p> <p>Note that P.I.P.S. is not a Linux application
+environment - you cannot simply run an application that you've compiled
+for your Linux desktop. At a minimum, you will have to rebuild your
+application from source. </p> <p id="GUID-49C7F951-8317-5F41-B1B9-9F7B8803E655"><b>Glue code (CRT0)</b> </p> <p>Executables built for the Symbian platform enter via <codeph>E32Main()</codeph>, whereas Standard C applications expect to be
+started from <codeph>main()</codeph>. It is therefore necessary to
+have 'glue code' (formerly known as CRT0) between these two functions.
+The glue code is also responsible for allocating any system resources,
+obtaining system and environment data, and initialising the SCAL infrastructure
+prior to calling the <codeph>main()</codeph> function of the application.
+There are two versions of the glue code library - <filepath>libcrt0.lib</filepath> (for use by applications that enter via char <codeph>main()</codeph>) and <filepath>libwcrt0.lib</filepath> (for use by applications
+that enter via wide char <codeph>main()</codeph>). </p> <p>To include
+the glue code library you should explicity link to <filepath>libcrt0.lib</filepath> and <filepath>libwcrt0.lib</filepath> statically, however, if you
+are using the <codeph>STDEXE</codeph> or <codeph>STDDLL</codeph> target
+types, glue code will be added automatically. </p> <p id="GUID-1DDC11E7-D9D6-5251-89CE-981C4869D109"><b>P.I.P.S. Core libraries</b> </p> <p>Currently, the C libraries include the <codeph>libc</codeph>, <codeph>libm</codeph>, and <codeph>libpthread</codeph> (seeded
+from <xref href="http://www.freebsd.org/" scope="external">FreeBSD</xref>) and <codeph>libdl</codeph> libraries. The APIs provided by these
+libraries are defined to be compliant, via compatibility features,
+with the POSIX standard. They are not officially certified as POSIX
+compatible but they conform to it mostly. </p> <p>The P.I.P.S. libraries
+include the following APIs: </p> <ul>
+<li id="GUID-95E53F0A-B919-5EEE-9A6F-427E87547088"><p> <codeph>stdio</codeph>, including <xref href="GUID-E69DB3CD-E6DA-3B1D-A499-AE68EC432CAC.dita"><apiname>print()</apiname></xref>, <xref href="GUID-58616261-FB60-37C5-9289-239144CD8FB8.dita"><apiname>scanf()</apiname></xref>, and so on </p> </li>
+<li id="GUID-5359692C-17C8-5486-9DCB-0A5B9AD1C90A"><p> <codeph>stdlib</codeph>, including environment variable support, and so on </p> </li>
 <li id="GUID-F0E19C9C-5581-5E47-A775-A6B57C22EE92"><p>string manipulation
 and character APIs </p> </li>
-<li id="GUID-B0F2B006-6D62-5DD6-9CDC-7ADFB693E77E"><p>locale and system services </p> </li>
-<li id="GUID-C5440DE9-24A2-5A34-A2A7-47E836E1545D"><p>searching, sort and
-pattern matching </p> </li>
-<li id="GUID-33D03F27-4B97-56CA-B4ED-67901701A1E2"><p>IPC mechanisms, including
-shared memory, pipes, FIFOs and message queues </p> </li>
-<li id="GUID-15AE7775-5FC8-59A4-924E-3987F9314F58"><p>process creation, including <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref>, <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> and <xref href="GUID-3D9040E5-F6FB-3DEA-9800-A55F0CEE7B08.dita"><apiname>system()</apiname></xref>  </p> </li>
-<li id="GUID-2AEE41E3-A696-588C-9E5B-8E362E96D4B5"><p>networking and socket
-APIs </p> </li>
-<li id="GUID-ACF6B3A6-0F83-50D3-B0FB-FA765BDA408D"><p>mathematical and arithmetic
-APIs </p> </li>
-<li id="GUID-595D4C61-0FC9-5A05-BEDD-7412CEA585BA"><p>dynamic loading and
-symbol lookup </p> </li>
-<li id="GUID-DC3DB027-B384-52D1-8284-BF868A5CD543"><p>thread creation and
-synchronisation mechanisms. </p> </li>
-</ul> <p>Due to fundamental differences between Linux and the Symbian platform
-kernel architecture, there is no support for <xref href="GUID-432C9AA0-A698-3A62-95D8-CB010965F92C.dita"><apiname>fork()</apiname></xref> and <xref href="GUID-1F3AB7F6-B354-36DB-AA0C-D8F2DC89A6DD.dita"><apiname>exec()</apiname></xref>.
-For more information, see the <xref href="GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita">Process
-Creation</xref> section. </p> <p>The original seed directory structure (<xref href="http://www.freebsd.org/" scope="external">FreeBSD</xref>) is preserved
-as fully as possible to allow for future catch-ups to be performed more easily.
-The table below shows the original seed directory structure in FreeBSD. </p> <table id="GUID-A1D61A32-6F99-5B0A-B348-135373DC3AEA">
+<li id="GUID-B0F2B006-6D62-5DD6-9CDC-7ADFB693E77E"><p>locale and system
+services </p> </li>
+<li id="GUID-C5440DE9-24A2-5A34-A2A7-47E836E1545D"><p>searching, sort
+and pattern matching </p> </li>
+<li id="GUID-33D03F27-4B97-56CA-B4ED-67901701A1E2"><p>IPC mechanisms,
+including shared memory, pipes, FIFOs and message queues </p> </li>
+<li id="GUID-15AE7775-5FC8-59A4-924E-3987F9314F58"><p>process creation,
+including <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref>, <xref href="GUID-E7C4DE71-BC5B-34AE-ACB3-C34A0DB1FC16.dita"><apiname>posix_spawn()</apiname></xref> and <xref href="GUID-3D9040E5-F6FB-3DEA-9800-A55F0CEE7B08.dita"><apiname>system()</apiname></xref>  </p> </li>
+<li id="GUID-2AEE41E3-A696-588C-9E5B-8E362E96D4B5"><p>networking and
+socket APIs </p> </li>
+<li id="GUID-ACF6B3A6-0F83-50D3-B0FB-FA765BDA408D"><p>mathematical
+and arithmetic APIs </p> </li>
+<li id="GUID-595D4C61-0FC9-5A05-BEDD-7412CEA585BA"><p>dynamic loading
+and symbol lookup </p> </li>
+<li id="GUID-DC3DB027-B384-52D1-8284-BF868A5CD543"><p>thread creation
+and synchronisation mechanisms. </p> </li>
+</ul> <p>Due to fundamental differences between Linux and the Symbian
+platform kernel architecture, there is no support for <xref href="GUID-432C9AA0-A698-3A62-95D8-CB010965F92C.dita"><apiname>fork()</apiname></xref> and <xref href="GUID-1F3AB7F6-B354-36DB-AA0C-D8F2DC89A6DD.dita"><apiname>exec()</apiname></xref>. For more information, see the <xref href="GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita">Process Creation</xref> section. </p> <p>The original seed directory structure (<xref href="http://www.freebsd.org/" scope="external">FreeBSD</xref>) is
+preserved as fully as possible to allow for future catch-ups to be
+performed more easily. The table below shows the original seed directory
+structure in FreeBSD. </p> <table id="GUID-A1D61A32-6F99-5B0A-B348-135373DC3AEA">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
 <row>
@@ -160,13 +145,13 @@
 </row>
 <row>
 <entry><p> <filepath>core\libc</filepath>  </p> </entry>
-<entry><p>Contains Standard C and POSIX APIs as defined by the Standard C
-and POSIX standards </p> </entry>
+<entry><p>Contains Standard C and POSIX APIs as defined by the Standard
+C and POSIX standards </p> </entry>
 </row>
 <row>
 <entry><p> <filepath>core\libm</filepath>  </p> </entry>
-<entry><p>Contains the Standard C <codeph>Math</codeph> API as defined by
-Standard C </p> </entry>
+<entry><p>Contains the Standard C <codeph>Math</codeph> API as defined
+by Standard C </p> </entry>
 </row>
 <row>
 <entry><p> <filepath>core\libpthread</filepath>  </p> </entry>
@@ -178,29 +163,30 @@
 </row>
 </tbody>
 </tgroup>
-</table> <p>Although P.I.P.S. provides a wide range of APIs, some of the functionality
-required in order to complete a porting task might be missing - this could
-be some APIs from an existing library or an entire library. </p> <p>Several
-options are available to the user: </p> <ul>
-<li id="GUID-99935DCF-2678-5D76-98E9-8E94269E7CAC"><p>Port the missing APIs
-using the P.I.P.S. libraries </p> </li>
-<li id="GUID-FFA95C02-268F-5281-B0D3-5A4A64BC5A27"><p>Implement the missing
-APIs on top of the Symbian platform native C++ APIs </p> </li>
-<li id="GUID-D70619B7-E889-5D11-81C7-FD99420F3D1D"><p>Use a workaround - for
-example, use <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> instead of <codeph>fork()</codeph>. </p> </li>
-</ul> <p> <b>Note:</b> The following are the limitations associated with porting
-a UNIX® application: </p> <ul>
-<li id="GUID-4057ED21-65DD-5C20-A65B-B9228BE920BD"><p> <b>Limited stack-space:</b> The
-default stack size per thread on Unix-like operating systems ranges from 64
-kB to 1 MB. The Symbian platform, however, defines a default stack size of
-8 kB per thread. P.I.P.S. Pthreads use this by default. You can use the <codeph>pthread_attr_setstacksize()</codeph> function
-to modify this before calling <codeph>pthread_create()</codeph>. </p> </li>
-<li id="GUID-8329F811-34A6-5812-B033-2BE49C038D3E"><p> <b>Limited threads
-per process:</b> Assuming that all threads use the default stack size (8 kB),
-Symbian specifies a limit of 128 threads per process. The limit changes depending
-on the stack size you use for individual threads. For example, if you create
-your threads with a stack size of 16 kB, the OS only supports 64 threads per
-process. </p> </li>
+</table> <p>Although P.I.P.S. provides a wide range of APIs, some
+of the functionality required in order to complete a porting task
+might be missing - this could be some APIs from an existing library
+or an entire library. </p> <p>Several options are available to the
+user: </p> <ul>
+<li id="GUID-99935DCF-2678-5D76-98E9-8E94269E7CAC"><p>Port the missing
+APIs using the P.I.P.S. libraries </p> </li>
+<li id="GUID-FFA95C02-268F-5281-B0D3-5A4A64BC5A27"><p>Implement the
+missing APIs on top of the Symbian platform native C++ APIs </p> </li>
+<li id="GUID-D70619B7-E889-5D11-81C7-FD99420F3D1D"><p>Use a workaround
+- for example, use <xref href="GUID-A9DB6E7C-B8D6-377A-BBE6-39E0A7A09E5D.dita"><apiname>popen()</apiname></xref> instead of <codeph>fork()</codeph>. </p> </li>
+</ul> <p> <b>Note:</b> The following are the limitations associated
+with porting a UNIX® application: </p> <ul>
+<li id="GUID-4057ED21-65DD-5C20-A65B-B9228BE920BD"><p> <b>Limited
+stack-space:</b> The default stack size per thread on Unix-like operating
+systems ranges from 64 kB to 1 MB. The Symbian platform, however,
+defines a default stack size of 8 kB per thread. P.I.P.S. Pthreads
+use this by default. You can use the <codeph>pthread_attr_setstacksize()</codeph> function to modify this before calling <codeph>pthread_create()</codeph>. </p> </li>
+<li id="GUID-8329F811-34A6-5812-B033-2BE49C038D3E"><p> <b>Limited
+threads per process:</b> Assuming that all threads use the default
+stack size (8 kB), Symbian specifies a limit of 128 threads per process.
+The limit changes depending on the stack size you use for individual
+threads. For example, if you create your threads with a stack size
+of 16 kB, the OS only supports 64 threads per process. </p> </li>
 </ul> </section>
 </conbody><related-links>
 <link href="GUID-2016EF4B-F001-5EB2-8095-6048582511D6.dita"><linktext>P.I.P.S.
Binary file Symbian3/PDK/Source/GUID-6CE1C2E0-8F57-57D3-9041-929FE30ECEB9_d0e108704_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6CE1C2E0-8F57-57D3-9041-929FE30ECEB9_d0e111147_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e1604_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e1608_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6D7A25E2-9C24-5D44-ADAE-8DD5A3F358D5_d0e230847_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6D7A25E2-9C24-5D44-ADAE-8DD5A3F358D5_d0e236842_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6D7F3D5C-BC1C-5657-993A-4D7E5712CAF5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6D7F3D5C-BC1C-5657-993A-4D7E5712CAF5" xml:lang="en"><title>start
-stringtable</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>start stringtable</codeph>  <varname>source-file</varname>  </p>
-<p>[<codeph>exportpath</codeph>  <varname>location</varname>] </p>
-<p>[<codeph>headeronly</codeph>] </p>
-<p> <codeph>end</codeph>  </p>
-<p>A <codeph>start stringtable</codeph> section specifies the source file
-for the string table. A string table is a collection of string identifiers
-with corresponding values. The source file is a simple text file with the
-file extension <filepath>.st</filepath>, and is used to generate the <filepath>.cpp</filepath> and <filepath>.h</filepath> files
-which contains the string constants required for the program. The header file
-location is added to the list of <xref href="GUID-50941508-B999-5FCC-B2B9-F29F5F2CA4C1.dita">userinclude</xref> directories
-so that the source files may include the generated header. The <filepath>.cpp</filepath> file
-is added to the list of source files, which are built into a component. </p>
-<p>For more information on string tables, refer to <xref href="GUID-27340D18-A31D-512E-920A-B06C784A978A.dita">String
-Pools</xref>. </p>
-<p> <b>Note:</b> The <filepath>.cpp</filepath> file need not be added explicitly
-into the list of sources, as this will be done implicitly while building the
-component. </p>
-<p>The optional <codeph>exportpath</codeph>  <varname>location</varname> specifies
-a directory location for the generated header file. </p>
-<p>The optional <codeph>headeronly</codeph> keyword causes only the <filepath>.h</filepath> file
-to be generated, and no <filepath>.cpp</filepath> files are generated or included
-into the project. If the <codeph>exportpath</codeph> is specified, the <filepath>.h</filepath> file
-is copied to the specified location. </p>
-<example><p>This example will generate <filepath>HttpStringConstants.cpp</filepath> and <filepath>HttpStringConstants.h</filepath> using
-the <filepath>HttpStringConstants.st</filepath> file, and export the <filepath>HttpStringConstants.h</filepath> to
-the <filepath>\epoc32\include</filepath> directory.</p><codeblock id="GUID-C38AB36E-AEE7-5D70-A7BF-929B07DFB234" xml:space="preserve">START STRINGTABLE HttpStringConstants.st
-EXPORTPATH    \epoc32\include
-END
-</codeblock></example>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e583262_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e632550_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 the behaviour that allows an element to operate with the Comms Database. [See
 accessing the database or words to that effect.] </p>
 <fig id="GUID-3FE9490C-8766-5F31-9147-7F20A03BBF2D">
-<image href="GUID-4B7FA629-BFC9-594B-B253-AC920EAD6E67_d0e109504_href.png" placement="inline"/>
+<image href="GUID-4B7FA629-BFC9-594B-B253-AC920EAD6E67_d0e111927_href.png" placement="inline"/>
 </fig>
 <section id="GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852"><title>The Element
 Id</title> <p>The <codeph>iElementId</codeph> data member of <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> is
@@ -55,7 +55,7 @@
 number and a 7 bit number. The 8 bit number is the Table Id and the 7 bit
 number is the Column Id. The Type Id and the Record Id are in defined locations
 in the 32 bit number <codeph>iElementId</codeph>. </p> <fig id="GUID-B3A732DF-8D24-532C-A4AB-D5B42408D832">
-<image href="GUID-0B151FE8-21E1-58A1-BEB3-5502EDF052C0_d0e109584_href.png" placement="inline"/>
+<image href="GUID-0B151FE8-21E1-58A1-BEB3-5502EDF052C0_d0e112007_href.png" placement="inline"/>
 </fig> <p>The header file <filepath>comsdat.h</filepath> contains the constants
 that define the location of these Ids in the 32 bit number: </p> <table id="GUID-1369F999-F42E-5268-AF6F-0D5C9A362878">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
@@ -84,7 +84,7 @@
 an element are defined by the bits in the element. The <xref href="GUID-2AF9DED8-0AAE-370B-8FA2-B2910939A7B8.dita"><apiname>TCDAttributeFlags</apiname></xref> enum
 defines the access levels of an element. These bits are stored in the fourth
 byte of the <codeph>iElementId</codeph> member of <xref href="GUID-C36F41FE-1776-3735-89F3-DAAAFA7FDC91.dita"><apiname>CMDBElement</apiname></xref>. </p><fig id="GUID-A1C2FF44-AA19-42B8-8F10-E927170A317A">
-<image href="GUID-46673FC4-ADA9-59D1-A743-B4784425D240_d0e109693_href.png" placement="inline"/>
+<image href="GUID-46673FC4-ADA9-59D1-A743-B4784425D240_d0e112116_href.png" placement="inline"/>
 </fig><p> <xref href="GUID-DC185E84-1DC0-36F7-9B3D-19B4B3E641D7.dita"><apiname>KCDMaskShowAttributes</apiname></xref> in the header file <filepath>comsdat.h</filepath> defines
 the location of these access control bits in the 32 bit number.</p>  </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6DE7E0C8-A75E-5F09-BEC1-180602BF2051_d0e244940_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6DE7E0C8-A75E-5F09-BEC1-180602BF2051_d0e250951_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6DF52DDC-B03C-5971-94C8-0E9BAAB949FD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6DF52DDC-B03C-5971-94C8-0E9BAAB949FD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-6DF52DDC-B03C-5971-94C8-0E9BAAB949FD"><title>Drawing Text</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic provides examples that demonstrate how to draw a line of text and text in a colored box. </p> <section><title>Text</title> <p>The basic way to draw text is to call <codeph>CGraphicsContext::DrawText()</codeph> with a point specifying the bottom left position, as shown below: </p> <fig id="GUID-0FE5E011-9C1D-5F36-AAC2-5F05B023CF84"><image href="GUID-E24F15B4-D767-5B79-B0EB-88294B9BC16A_d0e260881_href.png" placement="inline"/></fig> <p>Before calling, you must use the graphics context to: </p> <ol id="GUID-EA1605BB-1FD6-5E08-9D24-C8DEAB625A96"><li id="GUID-5CB9A7BD-ABFE-550A-BF43-E12BAF72BB27"><p>Set the font to use </p> </li> <li id="GUID-BB8A0DF7-AD80-5718-8646-2B4E8836FFC7"><p>Set the pen color for the text </p> </li> </ol> <codeblock id="GUID-C3E7D82E-CBE6-5131-B6BA-14F341DB331E" xml:space="preserve">// In this example, we use one of the standard font styles
+<concept xml:lang="en" id="GUID-6DF52DDC-B03C-5971-94C8-0E9BAAB949FD"><title>Drawing Text</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic provides examples that demonstrate how to draw a line of text and text in a colored box. </p> <section><title>Text</title> <p>The basic way to draw text is to call <codeph>CGraphicsContext::DrawText()</codeph> with a point specifying the bottom left position, as shown below: </p> <fig id="GUID-0FE5E011-9C1D-5F36-AAC2-5F05B023CF84"><image href="GUID-E24F15B4-D767-5B79-B0EB-88294B9BC16A_d0e266890_href.png" placement="inline"/></fig> <p>Before calling, you must use the graphics context to: </p> <ol id="GUID-EA1605BB-1FD6-5E08-9D24-C8DEAB625A96"><li id="GUID-5CB9A7BD-ABFE-550A-BF43-E12BAF72BB27"><p>Set the font to use </p> </li> <li id="GUID-BB8A0DF7-AD80-5718-8646-2B4E8836FFC7"><p>Set the pen color for the text </p> </li> </ol> <codeblock id="GUID-C3E7D82E-CBE6-5131-B6BA-14F341DB331E" xml:space="preserve">// In this example, we use one of the standard font styles
 CFont* fontUsed = iEikonEnv-&gt;TitleFont();
 gc.UseFont(fontUsed);
     
@@ -17,7 +17,7 @@
     
 TPoint pos(50,50);
 _LIT(KExampleText,"blacktext");
-gc.DrawText(KExampleText,pos);</codeblock> </section> <section><title>Text in a box</title> <p>To draw text in a box, you must specify: </p> <ul><li id="GUID-77C31EC3-67D6-5DFD-954D-E4008990E97D"><p>a rectangle to draw the text in </p> </li> <li id="GUID-9F13BCA1-D087-51CE-80D9-9DD908933BDD"><p>an offset from the top of the rectangle to the text baseline: to center the text, add half the height of the rectangle to half the height of the font's ascent </p> </li> <li id="GUID-DCAF0EFD-FD6B-56DA-89FA-05CEB6684F2D"><p>the text alignment mode: in the example, left alignment is used </p> </li> <li id="GUID-431998D7-53E6-5899-B072-89B1DF5C01E8"><p>a margin: the left margin for left-aligned text, or the right margin for right-aligned text </p> </li> </ul> <p>The following figure show how these fit together: </p> <fig id="GUID-2C7ED0E6-3667-56E4-B776-9EF9C085D746"><image href="GUID-F82675C4-C2FD-50E2-BEDA-EB454FF1C57E_d0e260935_href.png" placement="inline"/></fig> <p>In addition to the font and pen color, you can also set the brush for filling the box. </p> <codeblock id="GUID-21B1E44E-AA77-5489-9C57-AEE33519F958" xml:space="preserve">...
+gc.DrawText(KExampleText,pos);</codeblock> </section> <section><title>Text in a box</title> <p>To draw text in a box, you must specify: </p> <ul><li id="GUID-77C31EC3-67D6-5DFD-954D-E4008990E97D"><p>a rectangle to draw the text in </p> </li> <li id="GUID-9F13BCA1-D087-51CE-80D9-9DD908933BDD"><p>an offset from the top of the rectangle to the text baseline: to center the text, add half the height of the rectangle to half the height of the font's ascent </p> </li> <li id="GUID-DCAF0EFD-FD6B-56DA-89FA-05CEB6684F2D"><p>the text alignment mode: in the example, left alignment is used </p> </li> <li id="GUID-431998D7-53E6-5899-B072-89B1DF5C01E8"><p>a margin: the left margin for left-aligned text, or the right margin for right-aligned text </p> </li> </ul> <p>The following figure show how these fit together: </p> <fig id="GUID-2C7ED0E6-3667-56E4-B776-9EF9C085D746"><image href="GUID-F82675C4-C2FD-50E2-BEDA-EB454FF1C57E_d0e266944_href.png" placement="inline"/></fig> <p>In addition to the font and pen color, you can also set the brush for filling the box. </p> <codeblock id="GUID-21B1E44E-AA77-5489-9C57-AEE33519F958" xml:space="preserve">...
 // Draw some text left justified in a box,
 // Offset so text is just inside top of box
     
Binary file Symbian3/PDK/Source/GUID-6E161670-EBC6-599B-8EB8-2E48C8EA57CC_d0e471461_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6E161670-EBC6-599B-8EB8-2E48C8EA57CC_d0e477297_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -47,7 +47,7 @@
 of resource control at the level of register interface to hardware resource
 controller (<codeph>DXXXPowerResourceController</codeph>) </p> </li>
 </ul> <fig id="GUID-72B93745-2089-526F-8AF5-0E7522CADBEC">
-<image href="GUID-99C4FCCC-9E8B-51CC-85F8-F03BE18DF19E_d0e305215_href.png" placement="inline"/>
+<image href="GUID-99C4FCCC-9E8B-51CC-85F8-F03BE18DF19E_d0e311207_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-F830F456-A436-5025-821D-21855C7AE056"><title>Concepts</title> <ul>
 <li id="GUID-3F2C2733-A287-5AB8-A695-4863EBA1FF52"><p> <xref href="GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE.dita#GUID-6E1DE1E4-1B09-541C-8708-9126E69B42CE/GUID-4CC0C003-1952-5CAD-A7C5-163C5DDA52C8">Power resources</xref> </p> </li>
--- a/Symbian3/PDK/Source/GUID-6E221034-9A01-53AB-8374-315C38CCA21E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6E221034-9A01-53AB-8374-315C38CCA21E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,7 +37,7 @@
 wait until <xref href="GUID-92312598-A5DA-36B9-AF46-E7EE80452792.dita"><apiname>EProfileCreated</apiname></xref> event is reported in the observer.
 When the event is received the profile is created. </p> </li>
 </ol> <fig id="GUID-13F7B1AB-7F1A-544F-AC9C-26780E4FC517">
-<image href="GUID-46A91D57-7864-53AD-903C-B978B0C61DAD_d0e550426_href.jpg" placement="inline"/>
+<image href="GUID-46A91D57-7864-53AD-903C-B978B0C61DAD_d0e557882_href.jpg" placement="inline"/>
 </fig> <p>The following code snippet shows how to create and save a profile. </p> <codeblock id="GUID-EFDEE0D4-00C9-520E-B1FA-18E48702DE7F" xml:space="preserve">/*Client must create an instance of the CSIP class. The API used for this is, here TUid must be an application UID.*/
 
 CSIP* CSIP::NewL(const TUid&amp; aUid, MSIPObserver&amp; aObserver); 
@@ -111,7 +111,7 @@
 wait until it gets a notification through the <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita"><apiname>MSIPProfileRegistryObserver</apiname></xref> callback
 interface about the profile registration. </p> </li>
 </ol> <fig id="GUID-9300C461-D490-5E0B-84A6-AD40F95B8DE7">
-<image href="GUID-5C52B6B9-546C-5152-A968-B91CB3D885A0_d0e550561_href.jpg" placement="inline"/>
+<image href="GUID-5C52B6B9-546C-5152-A968-B91CB3D885A0_d0e558017_href.jpg" placement="inline"/>
 </fig> <p>The following code snippet shows how to enable a SIP profile. </p> <codeblock id="GUID-1A52EE02-D6E9-5795-995B-6B5ADFD131B4" xml:space="preserve">
 /*With the assumption that the profile was created and is saved to the persistent storage. */
 //Create an Instance of SIP client
@@ -333,7 +333,7 @@
 <li id="GUID-FF40934C-588D-5ED6-8041-410103FB6D53"><p>The registration status
 of the profile is set to Registered. </p> </li>
 </ul> <p>The following sequence diagram shows how to enable a profile to refresh. </p> <fig id="GUID-5EF1953C-E56D-59C2-B443-F1B77DD7E73D">
-<image href="GUID-8D9FE811-3F8A-5C2A-B76A-5C0248179590_d0e550876_href.jpg" placement="inline"/>
+<image href="GUID-8D9FE811-3F8A-5C2A-B76A-5C0248179590_d0e558332_href.jpg" placement="inline"/>
 </fig> <p>The following code describes how to refresh enable a profile. </p> <codeblock id="GUID-1A13F3D3-C4B7-50E5-B5AF-F0CABF02758C" xml:space="preserve">//Checks if the profile is already enabled and requests the Profile Agent to refresh it.
 // If the profile is not enabled it leaves with KErrArgument. 
 
Binary file Symbian3/PDK/Source/GUID-6E2F23B0-4765-5E4E-9B15-9F1D0EC5C28B_d0e471337_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6E2F23B0-4765-5E4E-9B15-9F1D0EC5C28B_d0e477173_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-6E3AF264-6149-51FA-BBA0-68E2DB679048_d0e137909_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6E3AF264-6149-51FA-BBA0-68E2DB679048_d0e140158_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e384771_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e390624_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6E4CAA18-635E-5476-8CE4-DCA69C05CC07.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6E4CAA18-635E-5476-8CE4-DCA69C05CC07.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,13 +31,10 @@
 <li id="GUID-3CC12EEF-4472-5782-A1F0-81B576B99249"><p>The <filepath>libc.lib</filepath> file contains the definitions of all functions
 that are defined in the header files associated with this example. </p> </li>
 <li id="GUID-CADEFC9F-45F6-5E13-8336-6EC6457A102E"><p>The <filepath>libcrt0.lib</filepath> file provides the <codeph>E32Main()</codeph> function, which is the entry point for the <codeph>main()</codeph> function of the example. </p> </li>
-</ul> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this example. </p> <p>For the emulator, the example builds an executable
+</ul> <p>For the emulator, the example builds an executable
 file called <filepath>hybridapp.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb
 or urel&gt;\</filepath> directory. </p> </section>
 </conbody><related-links>
 <link href="GUID-38BE7105-309E-5372-98EE-BCA0ADD0ACBA.dita"><linktext>Hybrid
 Applications</linktext></link>
-<link href="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita"><linktext>Build
-Process</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6E52C463-5489-591F-859D-68EAD5BA80FD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6E52C463-5489-591F-859D-68EAD5BA80FD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,90 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-6E52C463-5489-591F-859D-68EAD5BA80FD"><title>Multimedia Framework Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces the Multimedia Framework (MMF) audio and video client interfaces. </p> <section id="GUID-BD6B3BA5-498F-5F8F-96CA-24B0412B63EE"><title>Purpose</title> <p>Multimedia Framework (MMF) provides several client interfaces that encapsulate a lightweight plugin framework. These interfaces enable you to manipulate the audio and video features of the Symbian platform. </p> </section> <section><title>Architectural Relationships</title> <p>The following diagram shows how the MMF client interfaces interact with the Multimedia Controller Framework and the Media Device Framework (MDF). </p> <fig id="GUID-2B9D4325-D2CA-5436-BAC4-24D6366B96C9"><title>
-             Multimedia Framework - client utilities 
-          </title> <image href="GUID-FCC51FFE-DC34-5168-9564-8F30273DE1BD_d0e514193_href.png" placement="inline"/></fig> <p><b>MMF Controller Framework</b> </p> <p>The MMF Controller Framework provides support for multimedia plugins within the Symbian platform. The main type of plugin for the MMF Controller Framework is the controller plugin. Each controller plugin provides support for one or more multimedia formats, for example, MP3 or AVI. </p> <p> <b>Note:</b> In addition to controller plugins, the Multimedia framework can also be extended through format encoder/decoder, codec, and sink/source plugins. For more information about plugins, see <xref href="GUID-B58DEF65-B08F-5D0B-98E7-EB8DB7082F8B.dita">How to write Multimedia Framework plugins</xref>. </p> <p>The player and recorder interfaces of both audio and video and also the audio converter interface use the controller plugins provided by the MMF Controller Framework. These plugins provide the functionality to convert, interpret, and play audio and video data. The resultant data from the plugins can then be directed to one or more sinks such as a file, or directly to a screen or lower level device driver. </p> <p>The video recorder interface can also interact with the Onboard Camera, through a video controller plugin, to capture video. For more information about capturing video, see <xref href="GUID-F690DAC8-688B-5BD7-88DF-0CB3D4ACDCFF.dita">Video Capture Tutorial</xref>. </p> <p> <b> Note:</b> Tone player and audio streaming are also provided as part of the MMF but do not interact with controller plugins. Input and output is already in a known data format and so does not require a plugin for encoding or decoding. As a result, they bypass the MMF Controller Framework. </p> <p><b>Media Device Framework</b> </p> <p>Media Device Framework is the layer below the controller plugins and above the hardware. It provides a layer of abstraction for the audio and video hardware. The MDF consists of DevSound, for audio input and output, and DevVideo for video. </p> <p>For more information about DevSound, see <xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>. For more information about DevVideo, see <xref href="GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3.dita">DevVideo Overview</xref>. </p> <p><b>DRM Support</b> </p> <p>The Symbian platform provides support for playback of Digital Rights Management (DRM) protected audio and video content by making use of the Content Access Framework (CAF). For more information about the CAF, see <xref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita">Content Access Framework</xref>. </p> <p> <b> Note:</b> In order to access any DRM protected content using Symbian multimedia, the client process must have the DRM capability. </p> </section> <section><title>Description</title> <p>The features made available by the MMF client interfaces are: </p> <ul><li id="GUID-DE436989-1892-5D7E-94A8-AC37E2E90B9F"><p>Audio playing, recording, and conversion - An interface consisting of three classes; <xref href="GUID-778D24B5-A68E-3C91-B66A-69007FBA4791.dita"><apiname>CMdaAudioPlayerUtility</apiname></xref>, <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>, and <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>. These classes provide methods to create, play, and manipulate audio data stored in files, descriptors, and URLs. </p> </li> <li id="GUID-3A1A5D7D-376D-5633-AD78-D19D0B771A41"><p>Audio streaming - An interface consisting of two classes; <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref> and <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita"><apiname>CMdaAudioOutputStream</apiname></xref>. These classes provide methods for recording and playing audio streams such as audio from a web address. </p> <p> <b> Note:</b> There are no explicit interfaces for video streaming. However, the Onboard Camera can be used to achieve video input streaming, and direct screen access can be used to achieve video output streaming. For more information about the Onboard Camera, see <xref href="GUID-80EC80E2-E197-50F7-B1FD-720A00AC3B4D.dita">Onboard Camera Overview</xref>. </p> </li> <li id="GUID-0F2716B1-3D7A-5A18-B84C-5BBB9354F1AB"><p>Tone playing - An interface consisting of a single class <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref>. This class provides methods for playing and configuring single and sequenced tones as well as DTMF (Dual Tone Multi-Frequency) strings. </p> </li> <li id="GUID-279F8A4B-6D73-5F87-8424-371DE1C01A9F"><p>Video playing and recording - An interface consisting of two classes <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita"><apiname>CVideoPlayerUtility</apiname></xref> and <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita"><apiname>CVideoRecorderUtility</apiname></xref>. These classes provide methods to create, play, and manipulate video clips with or without audio tracks stored in files, descriptors, and URLs. </p> </li> </ul> <p><b>Observer Classes</b> </p> <p>For each multimedia client interface, there is a corresponding mixin class that must be implemented by the client. For example, to use the audio player utility you must implement the observer mixin class <xref href="GUID-5CD5C032-68A4-3024-85EF-B073C8284D6E.dita"><apiname>MMdaAudioPlayerCallback</apiname></xref>. </p> <p>When instantiating any of the MMF interfaces, it is necessary to provide a reference to a class that implements the appropriate mixin class. This allows the MMF to notify the client of events that occur and also to notify the client of errors that may occur. </p> </section> <section><title>Multimedia Framework Tutorials</title> <p>The following tutorials are provided: </p> <ul><li id="GUID-D746F0B6-9861-50BE-BA03-B60BC42E6358"><p><xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita">How to use the audio convert utility</xref>  </p> </li> <li id="GUID-390F4725-144B-51A4-86CE-B1EC8D27BF78"><p><xref href="GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita">How to use the audio record utility</xref>  </p> </li> <li id="GUID-D26F4157-1EA7-526B-B847-07D08D92B1FA"><p><xref href="GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita">How to use the audio player utility</xref>  </p> </li> <li id="GUID-9F9651A0-383F-5171-AAF0-355327361C25"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita">Audio Input Stream Tutorial</xref>  </p> </li> <li id="GUID-7C271F01-7479-5727-88F3-F028219A579C"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita">Audio Output Stream Tutorial</xref>  </p> </li> <li id="GUID-816AB33E-AE82-59AC-941D-70C1BE4E8120"><p><xref href="GUID-F370A917-6963-58F6-8876-160A1DC42040.dita">Video Client Tutorials</xref>  </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita">Audio Client Overview</xref>  </p> <p><xref href="GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita">Audio Input Stream Overview</xref>  </p> <p><xref href="GUID-68417158-D625-56BF-BDD5-BE49A7651CED.dita">Audio Output Stream Overview</xref>  </p> <p><xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<concept id="GUID-6E52C463-5489-591F-859D-68EAD5BA80FD" xml:lang="en"><title>Multimedia Framework Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This document introduces the Multimedia Framework (MMF) audio and
+video client interfaces. </p>
+<section id="GUID-BD6B3BA5-498F-5F8F-96CA-24B0412B63EE"><title>Purpose</title> <p>Multimedia Framework (MMF) provides several client interfaces
+that encapsulate a lightweight plugin framework. These interfaces
+enable you to manipulate the audio and video features of the Symbian
+platform. </p> </section>
+<section id="GUID-9382D1BB-F304-437C-B4ED-864950214762"><title>Architectural
+Relationships</title> <p>The following diagram shows how the MMF client
+interfaces interact with the Multimedia Controller Framework and the
+Media Device Framework (MDF). </p> <fig id="GUID-2B9D4325-D2CA-5436-BAC4-24D6366B96C9">
+<title>              Multimedia Framework - client utilities     
+      </title>
+<image href="GUID-FCC51FFE-DC34-5168-9564-8F30273DE1BD_d0e521657_href.png" placement="inline"/>
+</fig> <p><b>MMF Controller Framework</b> </p> <p>The MMF Controller Framework
+provides support for multimedia plugins within the Symbian platform.
+The main type of plugin for the MMF Controller Framework is the controller
+plugin. Each controller plugin provides support for one or more multimedia
+formats, for example, MP3 or AVI. </p> <p> <b>Note:</b> In addition
+to controller plugins, the Multimedia framework can also be extended
+through format encoder/decoder, codec, and sink/source plugins. For
+more information about plugins, see <xref href="GUID-B58DEF65-B08F-5D0B-98E7-EB8DB7082F8B.dita">How to write Multimedia
+Framework plugins</xref>. </p> <p>The player and recorder interfaces
+of both audio and video and also the audio converter interface use
+the controller plugins provided by the MMF Controller Framework. These
+plugins provide the functionality to convert, interpret, and play
+audio and video data. The resultant data from the plugins can then
+be directed to one or more sinks such as a file, or directly to a
+screen or lower level device driver. </p> <p>The video recorder interface
+can also interact with the Onboard Camera, through a video controller
+plugin, to capture video. For more information about capturing video,
+see <xref href="GUID-F690DAC8-688B-5BD7-88DF-0CB3D4ACDCFF.dita">Video Capture
+Tutorial</xref>. </p> <p> <b> Note:</b> Tone player and audio streaming
+are also provided as part of the MMF but do not interact with controller
+plugins. Input and output is already in a known data format and so
+does not require a plugin for encoding or decoding. As a result, they
+bypass the MMF Controller Framework. </p> <p><b>Media Device Framework</b> </p> <p>Media Device Framework is the
+layer below the controller plugins and above the hardware. It provides
+a layer of abstraction for the audio and video hardware. The MDF consists
+of DevSound, for audio input and output, and DevVideo for video. </p> <p>For more information about DevSound, see <xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>. For more information about DevVideo, see <xref href="GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3.dita">DevVideo Overview</xref>. </p> <p><b>DRM Support</b> </p> <p>The Symbian platform provides support
+for playback of Digital Rights Management (DRM) protected audio and
+video content by making use of the Content Access Framework (CAF).
+For more information about the CAF, see <xref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita">Content Access Framework</xref>. </p> <p> <b> Note:</b> In order to access any DRM protected content
+using Symbian multimedia, the client process must have the DRM capability. </p> </section>
+<section id="GUID-05BC96E8-8607-45F3-B7A0-BFC022E5E345"><title>Description</title> <p>The features made available by the MMF client interfaces are: </p> <ul>
+<li id="GUID-DE436989-1892-5D7E-94A8-AC37E2E90B9F"><p>Audio playing,
+recording, and conversion - An interface consisting of three classes; <xref href="GUID-778D24B5-A68E-3C91-B66A-69007FBA4791.dita"><apiname>CMdaAudioPlayerUtility</apiname></xref>, <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>, and <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>. These classes provide
+methods to create, play, and manipulate audio data stored in files,
+descriptors, and URLs. </p> </li>
+<li id="GUID-3A1A5D7D-376D-5633-AD78-D19D0B771A41"><p>Audio streaming
+- An interface consisting of two classes; <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref> and <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita"><apiname>CMdaAudioOutputStream</apiname></xref>. These classes provide
+methods for recording and playing audio streams such as audio from
+a web address. </p> <p> <b> Note:</b> There are no explicit interfaces
+for video streaming. However, the Onboard Camera can be used to achieve
+video input streaming, and direct screen access can be used to achieve
+video output streaming. For more information about the Onboard Camera,
+see <xref href="GUID-80EC80E2-E197-50F7-B1FD-720A00AC3B4D.dita">Onboard
+Camera Overview</xref>. </p> </li>
+<li id="GUID-0F2716B1-3D7A-5A18-B84C-5BBB9354F1AB"><p>Tone playing
+- An interface consisting of a single class <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref>. This class provides methods for playing and configuring single
+and sequenced tones as well as DTMF (Dual Tone Multi-Frequency) strings. </p> </li>
+<li id="GUID-279F8A4B-6D73-5F87-8424-371DE1C01A9F"><p>Video playing
+and recording - An interface consisting of two classes <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita"><apiname>CVideoPlayerUtility</apiname></xref> and <xref href="GUID-8A183C79-0EA4-3A4A-B95F-E2F1BF74238D.dita"><apiname>CVideoRecorderUtility</apiname></xref>. These classes provide
+methods to create, play, and manipulate video clips with or without
+audio tracks stored in files, descriptors, and URLs. </p> </li>
+</ul> <p><b>Observer Classes</b> </p> <p>For each multimedia client interface,
+there is a corresponding mixin class that must be implemented by the
+client. For example, to use the audio player utility you must implement
+the observer mixin class <xref href="GUID-5CD5C032-68A4-3024-85EF-B073C8284D6E.dita"><apiname>MMdaAudioPlayerCallback</apiname></xref>. </p> <p>When instantiating any of the MMF interfaces, it is necessary
+to provide a reference to a class that implements the appropriate
+mixin class. This allows the MMF to notify the client of events that
+occur and also to notify the client of errors that may occur. </p> </section>
+<section id="GUID-E23BB00B-1871-47D3-955E-D0F6A4D90DB5"><title>Multimedia
+Framework Tutorials</title> <p>The following tutorials are provided: </p> <ul>
+<li id="GUID-D746F0B6-9861-50BE-BA03-B60BC42E6358"><p><xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita">How to use the audio
+convert utility</xref>  </p> </li>
+<li id="GUID-9F9651A0-383F-5171-AAF0-355327361C25"><p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita">Audio Input
+Stream Tutorial</xref>  </p> </li>
+<li id="GUID-7C271F01-7479-5727-88F3-F028219A579C"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita">Audio Output Stream
+Tutorial</xref>  </p> </li>
+<li id="GUID-816AB33E-AE82-59AC-941D-70C1BE4E8120"><p><xref href="GUID-F370A917-6963-58F6-8876-160A1DC42040.dita">Video Client Tutorials</xref>  </p> </li>
+</ul> </section>
+<section id="GUID-DDE2EE07-2733-4FB2-AB43-6FAD239810FB"><title>See
+Also</title> <p><xref href="GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita">Audio Client Overview</xref>  </p> <p><xref href="GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita">Audio Input Stream
+Overview</xref>  </p> <p><xref href="GUID-68417158-D625-56BF-BDD5-BE49A7651CED.dita">Audio Output Stream
+Overview</xref>  </p> <p><xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref>  </p> </section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6E5625BF-88E0-579A-B2CA-32F3EBDD83CB_d0e525710_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6E5625BF-88E0-579A-B2CA-32F3EBDD83CB_d0e533170_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6E82BAAC-64B4-59F7-81AC-CF4C76445935_d0e449944_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6E82BAAC-64B4-59F7-81AC-CF4C76445935_d0e455789_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6EAC30BC-B8F6-5007-A672-DF1D4895599F_d0e430837_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6EAC30BC-B8F6-5007-A672-DF1D4895599F_d0e436682_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6EB38F10-849D-5763-96A0-A0A108982D67_d0e291028_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6EB38F10-849D-5763-96A0-A0A108982D67_d0e297020_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6EB98EE9-AEB9-59C1-A1D8-FFD2E96707F2_d0e448231_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6EB98EE9-AEB9-59C1-A1D8-FFD2E96707F2_d0e454076_href.png has changed
--- a/Symbian3/PDK/Source/GUID-6EF9F8EA-AD61-4AEA-9457-FE645EED2E4D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-6EF9F8EA-AD61-4AEA-9457-FE645EED2E4D" xml:lang="en"><title>Keypad
-functions</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This section describes the typical keypad functions. <note>Some application-specific
-functions may exist in addition to the typical keypad functions.</note></p>
-<section id="GUID-7F0389D7-4FEC-4F46-8667-B933CC19AE7D"><title>Using
-keypad functions in applications</title><p>For implementation
-information on keypad functions, see <xref href="GUID-E402616A-7ED8-45AC-B836-99C3A3760B33.dita">Key
-events</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,430 +1,384 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F" xml:lang="en">
-<title>What's new in Symbian^3</title>
-<shortdesc>Symbian^3 introduces a lot of new features that enhance
-communication, connectivity, multimedia, graphics, security and the
-overall usability of Symbian devices. These features benefit operators,
-application developers and device creators by making it easier to
-create feature-rich devices and applications.</shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>If you are moving from a older version of Symbian platform to Symbian^3,
-see <xref href="GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.dita">Porting
-applications to Symbian^3</xref>.</p>
-<table
-id="GUID-2FD9A877-1A75-4ADD-8B9A-B2FA4A9EB7C4-GENID-1-5-1-1-5-1-3-2">
-<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec
-colname="col2" colwidth="1.58*"/>
-<thead>
-<row>
-<entry>Technology Domain</entry>
-<entry>New Features</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>Data Communications</entry>
-<entry><ul>
-<li><p><b>FreeWay or Three Plane Comms Architecture:</b> The Symbian
-platform now supports a new IP networking architecture. The new architecture
-significantly improves data flow performance and makes it easier for
-third-party developers to integrate new technologies, for example
-firewalls and hotspot authenticators. It also implements automatic
-roaming between different access points, for example WLAN and GPRS.
-For more information, see <xref
-href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita">Goals of the
-Comms Architecture</xref>.</p></li>
-<li><p><b>One-Click Connectivity (OCC):</b> The Symbian platform now
-provides a new way of managing data connections on the Symbian platform.
-OCC builds on the existing Application Level Roaming (ALR) solution.
-This feature makes the user's interaction with "connecting" and "select
-access point" dialogs significantly simple and easier. For more information,
-see <xref href="GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita">Extended
-Connection Preferences</xref>.</p> </li>
-</ul></entry>
-</row>
-<row>
-<entry>Device Connectivity</entry>
-<entry><ul>
-<li><p><b>MTP Device Services Extension Specification:</b> The Symbian
-MTP implementation now supports the MTP device services extension
-to the Media Transfer Protocol (MTP). For more information, see <xref
-href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx.dita"
->MTP Device Services Extension Specification</xref>.</p></li>
-<li><p><b>AVRCP (Audio/Video Remote Control Profile) v1.4 Support:</b
-> A Symbian device user can now see music track names and browse playlists
-directly from the screen of a AVRCP v1.4 enabled Bluetooth headset
-or remote control.</p></li>
-<li><p><b>Centralized AT-command Handling:</b> The Symbian platform
-now enables all AT commands to be handled using the same mechanism
-regardless of the connection type. For more information, refer to
-the <b>AT Extension Plug-in API</b>.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Device Management</entry>
-<entry><ul>
-<li><p><b>Support for Open Mobile Alliance (OMA) Management Objects
-(MO):</b> The Symbian platform now supports OMA MO like Software Component
-Management Object (SCOMO) v1.0, Device Capability Management Object
-(DCMO) v1.0 and Connectivity Management Object (ConnMO). It also supports
-Nokia Standard Streaming MO. Some enhancements have been made to Browser
-MO and Email MO.</p></li>
-<li><p><b>Other Device Management Enhancements:</b> The Symbian platform
-now provides an improved device Lock with security and an enhanced
-firmware update installation experience.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Location</entry>
-<entry align="justify"><ul>
-<li><p><b>Landmark-based URL Parser:</b> The Symbian platform now
-supports a parser that converts between landmark objects and URLs.
-The parser supports a URL format that is compliant with Ovi Maps.
-For more information, see <xref
-href="GUID-5809B26D-9AF9-394A-8FA6-6BB199DC6342.dita"><apiname>CPosLandmarkParser</apiname
-></xref>.</p></li>
-<li><p><b>New Management Object (MO) for A-GPS:</b>  The Symbian platform
-now provides an enhancement to Secure User Plane Location (SUPL) now
-allows the service provider to provide two access points for a SUPL
-server in the MO. This improves the system stability because it acts
-as a fallback mechanism in case one of the access points is unavailable.</p
-></li>
-<li><p><b>Support for Application Processor Engine (APE) Centric Location
-Architecture:</b> Symbian devices can now use the new architecture
-based on the APE that offers standardized session IDs on network privacy
-and classes that use the SUPL. The architecture converges technology
-from OS, middleware and application software layers.</p></li>
-<li><p><b>Support for Location Based Services (LBS) SUPL Positioning
-Module (PSY):</b> The Symbian platform now enables the LBS SUPL PSY
-to allow GPS-enabled devices to handle network-based SUPL location
-requests. This includes Cell ID based positioning and assistance data
-exchange as part of SUPL v2.0. <ph>For more information, see <xref
-href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol
-Module</xref></ph>.</p></li>
-<li><p><b>Support for GPSCost5.0D and GPSCost4.0D GPS chipsets:</b
-> The Symbian platform now uses the APE-centric architecture to support
-GPSCost5.0D and GPSCost4.0D chipsets. A new A-GPS Nokia Positioning
-Engine (NPE) integration module replaces the OS LBS subsystem reference
-A-GPS version.</p></li>
-<li><p><b>Support for LBS SUPL Radio Resource LCS Protocol (RRLP):</b
-> The Symbian platform now uses the APE-centric architecture to support
-NPE and RRLP on GPS-enabled device.</p></li>
-<li><p><b>SUPL 2.0 Trigger Support:</b> The Symbian platform now provides
-SUPL 2.0 trigger support that allows the requester to receive location
-updates periodically, which is both network and device initiated.</p
-></li>
-<li><p><b>Location-based Triggering Enhancements:</b> The Symbian
-platform now includes key enhancements that enable integration with
-an Context framework to develop plug-ins and increase support for
-total and active triggers. An enhanced, dedicated common gateway interface
-enables the client to provide multiple CGIs to create a trigger, which
-is fired on successful matching with at least one CGI.</p></li>
-<li><p>Enhanced Location Acquisition API to support <codeph>LocationKnownPositionArea</codeph
->.</p></li>
-<li><p><b>Here and Now:</b> The Symbian platform now includes Here
-and now that offers easy-to-use Web services related to the user's
-current location. Here and now allows the user to check the local
-weather and get other topical information while on the move.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Multimedia</entry>
-<entry><ul>
-<li><p><b>Mobile TV DVB-H Receiver HAI:</b> Mobile TV Receiver is
-a small internal system but does so much more than traditional TV.
-It is broadcasted in a multi-grounded environment with high speed
-by using low battery power and low memory usage. <ph>For more information,
-see <xref href="GUID-893BFF74-5DBB-5606-96FC-F961A52CA90D.dita">Mobile
-TV DVBH Receiver HAI Component</xref></ph>.</p></li>
-<li><p><b>OpenMAX IL:</b> OpenMAX IL is a low-level interface used
-in mobile devices that allows the Multimedia Device Framework (MDF)
-to load, control, connect and unload audio, video and imaging components. <ph
->For more information, see <xref
-href="GUID-E5900ED5-C49E-52B2-AE6D-CC0DB1F234A1.dita">OpenMAX IL Collection</xref
-></ph>.</p></li>
-<li><p><b>Thin Adaptation of A3F DevSound:</b> The A3F DevSound is
-one of the key component in the Sound Device collection that provides
-access to the hardware accelerator in audio technology. For more information,
-see <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F
-DevSound Component</xref>.</p></li>
-<li><p><b>Image Processor library:</b> The Image Processor is an independent
-and high-level API and framework which is developed for mobile imaging.
-The Image Processor has some pluggable advanced image editing libraries
-to perform the Panoramic Stitching function and the Speed View function.
-For more information, see <xref
-href="GUID-042868E6-88BF-5797-BB53-8E34283DCF16.dita">Image Processor
-Library</xref>.</p></li>
-<li><p><b>Camera API Extensions:</b> The Camera API is extended to
-support the features such as background processing, continuous digital
-zooming, time nudge image capturing and automatic aperture setting.
-For more information, see <xref
-href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Camera Library</xref
->.</p></li>
-<li><p><b>Camera Support for Video Encoding:</b> The Camera supports
-mobile device to capture video frames which are encoded in the H264
-format. For more information, see <xref
-href="GUID-D038D77F-A6B8-5A18-8978-4981AE8D0F35.dita">Using the Encoded
-H264 Video Frames to Capture Video</xref>.</p></li>
-<li><p><b>3GP File Format Library:</b> The 3GP Library component is
-a Multimedia plug-in which supports for reading and writing 3GP, 3G2,
-and MP4 files. The 3GP Library is also extended to support larger
-3GP or MP4 files. <ph>For more information, see <xref
-href="GUID-8DD3B2E3-636A-5FE6-B081-FDB57260E6D8.dita">3GP Library
-Component</xref></ph>.</p></li>
-<li><p><b>Video Playback from Non-user Interface Thread:</b> Media
-Client Video Display is a standalone library used by the Video Client
-library to support video playback. For more information, see <xref
-href="GUID-17273087-B962-5E8A-8715-055C8BF34A5D.dita">Media Client
-Video Display Library</xref>.</p></li>
-<li><p><b>Video Subtitle CRP:</b> Displays artwork on a video window
-using the Video Subtitle CRP component. The Subtitle Graphic library
-displays subtitles artwork on the screen through its interaction with
-Client Process, Controller Process and WServ Process. For more information,
-see <xref href="GUID-412CB101-A92C-54E1-9518-79E94DD40A08.dita">Video
-Subtitle CRP Component</xref>.</p></li>
-<li><p><b>Dolby Digital Audio Support:</b> The Symbian platform now
-supports codecs that enable support for Dolby Digital Audio on Symbian
-devices. <ph>For more information, see <xref
-href="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita">Supported Audio
-Codecs</xref>.</ph></p></li>
-<li><p><b>True Pause in Audio Playback:</b> In the audio playback
-request the true pause feature is implemented to stop the audio data
-at the physical sound device without stopping the buffer traffic.
-For more information, see <xref
-href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and
-Resuming Audio Play</xref>. </p></li>
-<li><p><b>Global Surface Updates:</b> The Video Render component is
-extended to support the global surface updates. For more information,
-see <xref href="GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita">Global
-Surface Updates</xref>.</p></li>
-<li><p><b>Metadata Utility Library:</b> The Metadata Utility library
-belongs to the Metadata Utility Framework (MUF) component that provides
-fast metadata access to audio, video and image media files. For more
-information, see the <xref
-href="GUID-15B17B8F-5790-526D-80EA-1ED7A396349C.dita">Metadata Utility
-Library</xref> section.</p></li>
-<li><p><b>UI Patterns or Thumbnails Enhancement:</b> This is a Multimedia
-specific pattern enhancement, which includes many UI (User Interface)
-features, listed below:</p><ul>
-<li><p>Multiple customized Home Screens with 6 different widget enabled
-screens. </p></li>
-<li><p>Pinch zoom, kinetic scrolling and single-click features.</p
-></li>
-<li><p>Good screen view with a new UI theme, and renewed icons.</p
-></li>
-<li><p>Hardware acceleration with fast and responsive UI that creates
-new transition effects.</p></li>
-<li><p>Multitasking with Teleport visual task swapper.</p></li>
-<li><p>Intelligent slide functionality for Hybrid touch and QWERTY
-slider devices. Video Graphics Array (VGA) Touch supports for VGA
-QWERTY mono blocks.</p></li>
-<li><p>VGA Touch helps to control Music player.</p></li>
-</ul></li>
-<li><p><b>Mobile TV:</b> Mobile TV uses DVB-H receiver to consume
-broadcast digital mobile television. The Symbian platform provides
-fast and easy access to all videos and TV media content. One key press
-opens videos and TV application suite, and user scrolls and selects
-the desired video functionality. This media experience is built with
-major components such as Videos and TV, video player and Mobile TV.
-Videos and TV support high quality video up to 720 per resolution
-at 12 Mbps and 30 frames per second.</p></li>
-<li><p><b>Image Viewer Application:</b> The Image Viewer application
-is used when the client opens an image file for viewing. File Manager,
-Messaging, Camcorder and Browser S60 components use the Image Viewer
-application. It supports Extended ICL JPEG API, which enables a faster
-and less memory-consuming way to rotate and zoom images.</p></li>
-<li><p> <b>FM Radio:</b> The FM Radio application is used to listen
-FM radio broadcast over the air. FM radio broadcast is a free service. </p
-></li>
-<li><p><b>Video Sharing:</b> Using the video sharing service, both
-call users can start sharing their device live camera view or pre-recorded
-video clip during a normal circuit switched (CS) voice call. The video
-sharing feature allows the user to upgrade and downgrade their call
-with one-way video at times of need. The video sharing application
-uses the Multimedia Comms Engine API. </p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Multimedia Applications</entry>
-<entry><ul>
-<li><p><b>High-Definition Multimedia Interface (HDMI):</b> The Symbian
-platform now supports HDMI technology. HDMI is supported as an external
-accessory for audio and video playback for a great television playback
-experience. It provides improved data performance and is ideal for
-streaming high definition audio and video. The 720p resolution is
-supported in still image and video viewing. 5+1 channel audio is also
-supported.</p></li>
-<li><p><b>Home Music Widgets:</b> The Symbian platform now provides
-music information through Home Screen Music Widgets. The Home Music
-Widgets controls from the Home Screen menu system enables to play
-and pause the playing track. The Music Widget supports the Radio Player
-and includes the Music Suite Matrix Menu. This menu is configured
-through XML and by default supports to launch the functionality listed
-below:</p><ul>
-<li><p>The last played song</p></li>
-<li><p>The music collection view</p></li>
-<li><p>A music shop, or to open the FM radio</p></li>
-</ul></li>
-<li><p><b>Fusion Player Application:</b> The Symbian platform now
-introduces the Fusion Player, which replaces the existing Media Player
-and Video Center applications. It enables access to both online video
-services and locally stored videos. If DVB-H device is available,
-live TV viewing is also possible. The main features supported by the
-Fusion player application are as follows:</p><ul>
-<li><p>To browse stored videos and to see metadata features of the
-video, such as title, thumbnail DRM info, size or play-time.</p></li>
-<li><p>To check videos that are pre-installed with the device.</p
-></li>
-<li><p>To play stored video file in the device.</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>OS Base Services </entry>
-<entry><ul>
-<li><p><b>Writable Data Paging (WDP):</b> The Symbian platform now
-supports WDP. This enables efficient use of memory and allows multiple
-applications to run at the same time without physically adding more
-RAM to the hardware. This leads to a more responsive system when switching
-between a number of running applications. <ph>For more information,
-see <xref href="GUID-2B7D04D9-98DE-5284-836D-01DB4FA8949D.dita">Writable
-Data Paging</xref></ph>.</p></li>
-<li><p><b>Symmetric multiprocessor (SMP):</b> The Symbian platform
-now supports SMP for multi-core processors, such as the ARM Cortex
-A9. This allows device integrators to prototype and prove ARM-based
-SMP platforms. <ph>For more information, see <xref
-href="GUID-CE72E71B-6ED3-4961-B4C5-C43D823ACA9D.dita">SMP</xref>.</ph
-></p> </li>
-<li><p><b>64-bit file server:</b> The Symbian platform now supports
-files larger than 2 GB. <ph>For more information, see <xref
-href="GUID-C473F6B1-35E7-5A1E-B451-4EBD7064CCDC.dita">Large File Access</xref
->.</ph></p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Productivity</entry>
-<entry><ul>
-<li><p><b>Nokia Messaging for Social Networks:</b> Nokia Messaging
-Social Networking service is a Nokia-hosted consumer service that
-provides easy and affordable mobile access to popular social networking
-communities.</p></li>
-<li><p><b>Enhanced Calendar UI Architecture:</b> Calendar UI architecture
-has changed to improve flexibility of calendar for regional, religious,
-custom-tailors and xSP calendar service needs. Multiple storages are
-also supported. For more information, see <xref
-href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita">Calendar Guide</xref
->.</p></li>
-<li><p><b>CalDAV Protocol:</b> Calendar application now supports the
-CalDAV Protocol, which is an open calendar synchronization standard
-contributed by SUN Microsystems. This enables a user to access scheduling
-information on remote servers.</p></li>
-<li><p><b>Enhanced Contacts Application:</b> The Contacts application
-in this release includes the following changes:</p><ul>
-<li><p>Integration with social media.</p></li>
-<li><p>Support for Remote Contacts Lookup, for example, from post-installed
-Mail for Exchange account.</p></li>
-<li><p>Virtual Phonebook API (supports getting access to the user’s
-own contact card).</p></li>
-<li><p>Own contact card.</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>Runtimes </entry>
-<entry><ul>
-<li><p>The Symbian platform now supports the Open Source based Java
-MIDP 2.1.</p></li>
-<li><p>The Symbian platform now supports Browser Application v7.2
-(with Web Run Time 7.2) that includes the following features:</p><ul>
-<li><p>Browser Control</p></li>
-<li><p>Browser core features</p></li>
-<li><p>Browser Customization</p></li>
-<li><p>Browser plug-ins</p></li>
-<li><p>Browser with touch screen</p></li>
-<li><p>Content Download</p></li>
-<li><p>URI Schemes</p></li>
-<li><p>Display Resolution Optimizations</p></li>
-<li><p>Optical Finger Navigation (OFN)</p></li>
-<li><p>FlashLite 3.1</p></li>
-<li><p>Search Client Integration</p></li>
-<li><p>Expanding Language and Character Set Support</p></li>
-<li><p>Improved Security Prompting</p></li>
-<li><p>Updated Platform Service APIs</p></li>
-<li><p>Visual Task Swapper Support</p></li>
-<li><p>Performance Optimizations</p></li>
-<li><p>Multiple touch/pinch zooming</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>Security</entry>
-<entry>The Symbian platform now provides an enhanced Security subsystem
-that enables device creators to integrate hardware acceleration modules,
-which improves the performance of cryptographic algorithms. This is
-particularly valuable in intensive real-time use-cases, such as streaming
-audio or video over a secure link, where bulk data needs to be encrypted
-and decrypted.</entry>
-</row>
-<row>
-<entry>User Interface</entry>
-<entry><ul>
-<li><p><b>ScreenPlay, also known as the New Graphics Architecture
-(NGA):</b> This new graphics architecture enables device creators
-to take advantage of improved software performance, hardware acceleration
-and third party graphics engines. It makes it possible to combine
-UI components, graphics and video to create highly innovative UIs.
-For more information, see <xref
-href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay
-Graphics Architecture</xref>.</p></li>
-<li><p><b>Extended Bitmaps:</b> The Font and Bitmap Server provides
-a framework for device creators to add support for their own types
-of bitmap compression. Bitmaps that use compression formats that are
-provided by device creators are known as extended bitmaps. For more
-information, see <xref
-href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended Bitmaps</xref
->.</p></li>
-<li><p><b>Dynamic Direct Screen Access (DSA) Allocation:</b> The Symbian
-platform now supports the dynamic allocation of the DSA buffer. For
-more information, see <xref
-href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing
-Dynamic DSA Allocation</xref>.</p></li>
-<li><p><b>Multiple Touch Support:</b> The ScreenPlay version of the
-Window Server has been extended to support multiple advanced pointers,
-with support for proximity and pressure. The emulator now also supports
-multiple advanced pointers. For more information, see <xref
-href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref
->.</p></li>
-<li><p><b>Enhanced Touch UI:</b> The touch UI includes the following
-improvements:</p><ul>
-<li><p>Multi-page Home Screen enables the user to navigate between
-widgets with a simple flick gesture</p></li>
-<li><p>Capacitive multiple touch <?Pub Caret?>events are supported.</p
-></li>
-<li><p>Tactile Feedback utilizes advanced haptics effects.</p></li>
-</ul></li>
-</ul><p>For more information about the new features in Graphics, see <xref
-href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's New in
-Graphics in Symbian^3</xref>.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-</conbody>
-<related-links>
-<linklist>
-<link href="GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita"><linktext
->New C++ APIs in Symbian^3</linktext></link>
-<link href="GUID-BA0A115B-068C-4257-9489-DF35DF633AD2.dita"><linktext
->Porting applications to Symbian^3</linktext></link>
-<link href="GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita"><linktext
->Introduction to Symbian^3</linktext></link>
-</linklist>
-</related-links>
-</concept>
-<?Pub *0000021663?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F" xml:lang="en"><title>What's new in Symbian^3</title><shortdesc>Symbian^3 introduces a lot of new features that enhance
+communication, connectivity, multimedia, graphics, security and the
+overall usability of Symbian devices. These features benefit operators,
+application developers and device creators by making it easier to
+create feature-rich devices and applications.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>If you are moving from a older version of Symbian platform to Symbian^3,
+see <xref href="GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.dita">Porting
+applications to Symbian^3</xref>.</p>
+<table id="GUID-2FD9A877-1A75-4ADD-8B9A-B2FA4A9EB7C4-GENID-1-5-1-1-5-1-3-2">
+<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec colname="col2" colwidth="1.58*"/>
+<thead>
+<row>
+<entry>Technology Domain</entry>
+<entry>New Features</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>Data Communications</entry>
+<entry><ul>
+<li><p><b>FreeWay or Three Plane Comms Architecture:</b> The Symbian
+platform now supports a new IP networking architecture. The new architecture
+significantly improves data flow performance and makes it easier for
+third-party developers to integrate new technologies, for example
+firewalls and hotspot authenticators. It also implements automatic
+roaming between different access points, for example WLAN and GPRS.
+For more information, see <xref href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita">Goals of the Comms
+Architecture</xref>.</p></li>
+<li><p><b>One-Click Connectivity (OCC):</b> The Symbian platform now
+provides a new way of managing data connections on the Symbian platform.
+OCC builds on the existing Application Level Roaming (ALR) solution.
+This feature makes the user's interaction with "connecting" and "select
+access point" dialogs significantly simple and easier. For more information,
+see <xref href="GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita">Extended
+Connection Preferences</xref>.</p> </li>
+</ul></entry>
+</row>
+<row>
+<entry>Device Connectivity</entry>
+<entry><ul>
+
+
+
+<li><p><b>MTP Device Services Extension Specification:</b> The Symbian
+MTP implementation now supports the MTP device services extension
+to the Media Transfer Protocol (MTP). For more information, see <xref href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx" scope="external">MTP Device Services Extension Specification</xref>.</p></li>
+<li><p><b>AVRCP (Audio/Video Remote Control Profile) v1.4 Support:</b> A Symbian device user can now see music track names and browse playlists
+directly from the screen of a AVRCP v1.4 enabled Bluetooth headset
+or remote control.</p></li>
+<li><p><b>Centralized AT-command Handling:</b> The Symbian platform
+now enables all AT commands to be handled using the same mechanism
+regardless of the connection type. For more information, refer to
+the <b>AT Extension Plug-in API</b>.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Device Management</entry>
+<entry><ul>
+<li><p><b>Support for Open Mobile Alliance (OMA) Management Objects
+(MO):</b> The Symbian platform now supports OMA MO like Software Component
+Management Object (SCOMO) v1.0, Device Capability Management Object
+(DCMO) v1.0 and Connectivity Management Object (ConnMO). It also supports
+Nokia Standard Streaming MO. Some enhancements have been made to Browser
+MO and Email MO.</p></li>
+<li><p><b>Other Device Management Enhancements:</b> The Symbian platform
+now provides an improved device Lock with security and an enhanced
+firmware update installation experience.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Location</entry>
+<entry align="justify"><ul>
+<li><p><b>Landmark-based URL Parser:</b> The Symbian platform now
+supports a parser that converts between landmark objects and URLs.
+The parser supports a URL format that is compliant with Ovi Maps.
+For more information, see <xref href="GUID-5809B26D-9AF9-394A-8FA6-6BB199DC6342.dita"><apiname>CPosLandmarkParser</apiname></xref>.</p></li>
+<li><p><b>New Management Object (MO) for A-GPS:</b>  The Symbian platform
+now provides an enhancement to Secure User Plane Location (SUPL) now
+allows the service provider to provide two access points for a SUPL
+server in the MO. This improves the system stability because it acts
+as a fallback mechanism in case one of the access points is unavailable.</p></li>
+<li><p><b>Support for Application Processor Engine (APE) Centric Location
+Architecture:</b> Symbian devices can now use the new architecture
+based on the APE that offers standardized session IDs on network privacy
+and classes that use the SUPL. The architecture converges technology
+from OS, middleware and application software layers.</p></li>
+<li><p><b>Support for Location Based Services (LBS) SUPL Positioning
+Module (PSY):</b> The Symbian platform now enables the LBS SUPL PSY
+to allow GPS-enabled devices to handle network-based SUPL location
+requests. This includes Cell ID based positioning and assistance data
+exchange as part of SUPL v2.0. <ph>For more information, see <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref></ph>.</p></li>
+<li><p><b>Support for GPSCost5.0D and GPSCost4.0D GPS chipsets:</b> The Symbian platform now uses the APE-centric architecture to support
+GPSCost5.0D and GPSCost4.0D chipsets. A new A-GPS Nokia Positioning
+Engine (NPE) integration module replaces the OS LBS subsystem reference
+A-GPS version.</p></li>
+<li><p><b>Support for LBS SUPL Radio Resource LCS Protocol (RRLP):</b> The Symbian platform now uses the APE-centric architecture to support
+NPE and RRLP on GPS-enabled device.</p></li>
+<li><p><b>SUPL 2.0 Trigger Support:</b> The Symbian platform now provides
+SUPL 2.0 trigger support that allows the requester to receive location
+updates periodically, which is both network and device initiated.</p></li>
+<li><p><b>Location-based Triggering Enhancements:</b> The Symbian
+platform now includes key enhancements that enable integration with
+an Context framework to develop plug-ins and increase support for
+total and active triggers. An enhanced, dedicated common gateway interface
+enables the client to provide multiple CGIs to create a trigger, which
+is fired on successful matching with at least one CGI.</p></li>
+<li><p>Enhanced Location Acquisition API to support <codeph>LocationKnownPositionArea</codeph>.</p></li>
+<li><p><b>Here and Now:</b> The Symbian platform now includes Here
+and now that offers easy-to-use Web services related to the user's
+current location. Here and now allows the user to check the local
+weather and get other topical information while on the move.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Multimedia</entry>
+<entry><ul>
+<li><p><b>Mobile TV DVB-H Receiver HAI:</b> Mobile TV Receiver is
+a small internal system but does so much more than traditional TV.
+It is broadcasted in a multi-grounded environment with high speed
+by using low battery power and low memory usage. <ph>For more information, see <xref href="GUID-893BFF74-5DBB-5606-96FC-F961A52CA90D.dita">Mobile TV DVBH Receiver
+HAI Component</xref></ph>.</p></li>
+<li><p><b>OpenMAX IL:</b> OpenMAX IL is a low-level interface used
+in mobile devices that allows the Multimedia Device Framework (MDF)
+to load, control, connect and unload audio, video and imaging components. <ph>For more information, see <xref href="GUID-E5900ED5-C49E-52B2-AE6D-CC0DB1F234A1.dita">OpenMAX IL Collection</xref></ph>.</p></li>
+<li><p><b>Thin Adaptation of A3F DevSound:</b> The A3F DevSound is
+one of the key component in the Sound Device collection that provides
+access to the hardware accelerator in audio technology. For more information,
+see <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound
+Component</xref>.</p></li>
+<li><p><b>Image Processor library:</b> The Image Processor is an independent
+and high-level API and framework which is developed for mobile imaging.
+The Image Processor has some pluggable advanced image editing libraries
+to perform the Panoramic Stitching function and the Speed View function.
+For more information, see <xref href="GUID-042868E6-88BF-5797-BB53-8E34283DCF16.dita">Image Processor Library</xref>.</p></li>
+<li><p><b>Camera API Extensions:</b> The Camera API is extended to
+support the features such as background processing, continuous digital
+zooming, time nudge image capturing and automatic aperture setting.
+For more information, see <xref href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Camera Library</xref>.</p></li>
+<li><p><b>Camera Support for Video Encoding:</b> The Camera supports
+mobile device to capture video frames which are encoded in the H264
+format. For more information, see <xref href="GUID-D038D77F-A6B8-5A18-8978-4981AE8D0F35.dita">Using the Encoded
+H264 Video Frames to Capture Video</xref>.</p></li>
+<li><p><b>3GP File Format Library:</b> The 3GP Library component is
+a Multimedia plug-in which supports for reading and writing 3GP, 3G2,
+and MP4 files. The 3GP Library is also extended to support larger
+3GP or MP4 files. <ph>For more
+information, see <xref href="GUID-8DD3B2E3-636A-5FE6-B081-FDB57260E6D8.dita">3GP Library Component</xref></ph>.</p></li>
+<li><p><b>Video Playback from Non-user Interface Thread:</b> Media
+Client Video Display is a standalone library used by the Video Client
+library to support video playback. For more information, see <xref href="GUID-17273087-B962-5E8A-8715-055C8BF34A5D.dita">Media Client Video
+Display Library</xref>.</p></li>
+<li><p><b>Video Subtitle CRP:</b> Displays artwork on a video window
+using the Video Subtitle CRP component. The Subtitle Graphic library
+displays subtitles artwork on the screen through its interaction with
+Client Process, Controller Process and WServ Process. For more information,
+see <xref href="GUID-412CB101-A92C-54E1-9518-79E94DD40A08.dita">Video Subtitle
+CRP Component</xref>.</p></li>
+<li><p><b>Dolby Digital Audio Support:</b> The Symbian platform now
+supports codecs that enable support for Dolby Digital Audio on Symbian
+devices. <ph>For more information,
+see <xref href="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita">Supported
+Audio Codecs</xref>.</ph></p></li>
+<li><p><b>True Pause in Audio Playback:</b> In the audio playback
+request the true pause feature is implemented to stop the audio data
+at the physical sound device without stopping the buffer traffic.
+For more information, see <xref href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and Resuming
+Audio Play</xref>. </p></li>
+<li><p><b>Global Surface Updates:</b> The Video Render component is
+extended to support the global surface updates. For more information,
+see <xref href="GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita">Global
+Surface Updates</xref>.</p></li>
+<li><p><b>Metadata Utility Library:</b> The Metadata Utility library
+belongs to the Metadata Utility Framework (MUF) component that provides
+fast metadata access to audio, video and image media files. For more
+information, see the <xref href="GUID-15B17B8F-5790-526D-80EA-1ED7A396349C.dita">Metadata Utility
+Library</xref> section.</p></li>
+<li><p><b>UI Patterns or Thumbnails Enhancement:</b> This is a Multimedia
+specific pattern enhancement, which includes many UI (User Interface)
+features, listed below:</p><ul>
+<li><p>Multiple customized Home Screens with 6 different widget enabled
+screens. </p></li>
+<li><p>Pinch zoom, kinetic scrolling and single-click features.</p></li>
+<li><p>Good screen view with a new UI theme, and renewed icons.</p></li>
+<li><p>Hardware acceleration with fast and responsive UI that creates
+new transition effects.</p></li>
+<li><p>Multitasking with Teleport visual task swapper.</p></li>
+<li><p>Intelligent slide functionality for Hybrid touch and QWERTY
+slider devices. Video Graphics Array (VGA) Touch supports for VGA
+QWERTY mono blocks.</p></li>
+<li><p>VGA Touch helps to control Music player.</p></li>
+</ul></li>
+<li><p><b>Mobile TV:</b> Mobile TV uses DVB-H receiver to consume
+broadcast digital mobile television. The Symbian platform provides
+fast and easy access to all videos and TV media content. One key press
+opens videos and TV application suite, and user scrolls and selects
+the desired video functionality. This media experience is built with
+major components such as Videos and TV, video player and Mobile TV.
+Videos and TV support high quality video up to 720 per resolution
+at 12 Mbps and 30 frames per second.</p></li>
+<li><p><b>Image Viewer Application:</b> The Image Viewer application
+is used when the client opens an image file for viewing. File Manager,
+Messaging, Camcorder and Browser S60 components use the Image Viewer
+application. It supports Extended ICL JPEG API, which enables a faster
+and less memory-consuming way to rotate and zoom images.</p></li>
+<li><p> <b>FM Radio:</b> The FM Radio application is used to listen
+FM radio broadcast over the air. FM radio broadcast is a free service. </p></li>
+<li><p><b>Video Sharing:</b> Using the video sharing service, both
+call users can start sharing their device live camera view or pre-recorded
+video clip during a normal circuit switched (CS) voice call. The video
+sharing feature allows the user to upgrade and downgrade their call
+with one-way video at times of need. The video sharing application
+uses the Multimedia Comms Engine API. </p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Multimedia Applications</entry>
+<entry><ul>
+<li><p><b>High-Definition Multimedia Interface (HDMI):</b> The Symbian
+platform now supports HDMI technology. HDMI is supported as an external
+accessory for audio and video playback for a great television playback
+experience. It provides improved data performance and is ideal for
+streaming high definition audio and video. The 720p resolution is
+supported in still image and video viewing. 5+1 channel audio is also
+supported.</p></li>
+<li><p><b>Home Music Widgets:</b> The Symbian platform now provides
+music information through Home Screen Music Widgets. The Home Music
+Widgets controls from the Home Screen menu system enables to play
+and pause the playing track. The Music Widget supports the Radio Player
+and includes the Music Suite Matrix Menu. This menu is configured
+through XML and by default supports to launch the functionality listed
+below:</p><ul>
+<li><p>The last played song</p></li>
+<li><p>The music collection view</p></li>
+<li><p>A music shop, or to open the FM radio</p></li>
+</ul></li>
+<li><p><b>Fusion Player Application:</b> The Symbian platform now
+introduces the Fusion Player, which replaces the existing Media Player
+and Video Center applications. It enables access to both online video
+services and locally stored videos. If DVB-H device is available,
+live TV viewing is also possible. The main features supported by the
+Fusion player application are as follows:</p><ul>
+<li><p>To browse stored videos and to see metadata features of the
+video, such as title, thumbnail DRM info, size or play-time.</p></li>
+<li><p>To check videos that are pre-installed with the device.</p></li>
+<li><p>To play stored video file in the device.</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>OS Base Services </entry>
+<entry><ul>
+<li><p><b>Writable Data Paging (WDP):</b> The Symbian platform now
+supports WDP. This enables efficient use of memory and allows multiple
+applications to run at the same time without physically adding more
+RAM to the hardware. This leads to a more responsive system when switching
+between a number of running applications. <ph>For more information, see <xref href="GUID-2B7D04D9-98DE-5284-836D-01DB4FA8949D.dita">Writable Data Paging</xref></ph>.</p></li>
+<li><p><b>Symmetric multiprocessor (SMP):</b> The Symbian platform
+now supports SMP for multi-core processors, such as the ARM Cortex
+A9. This allows device integrators to prototype and prove ARM-based
+SMP platforms. <ph>For more information,
+see <xref href="GUID-CE72E71B-6ED3-4961-B4C5-C43D823ACA9D.dita">SMP</xref>.</ph></p> </li>
+<li><p><b>64-bit file server:</b> The Symbian platform now supports
+files larger than 2 GB. <ph>For
+more information, see <xref href="GUID-C473F6B1-35E7-5A1E-B451-4EBD7064CCDC.dita">Large File Access</xref>.</ph></p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Productivity</entry>
+<entry><ul>
+<li><p><b>Nokia Messaging for Social Networks:</b> Nokia Messaging
+Social Networking service is a Nokia-hosted consumer service that
+provides easy and affordable mobile access to popular social networking
+communities.</p></li>
+<li><p><b>Enhanced Calendar UI Architecture:</b> Calendar UI architecture
+has changed to improve flexibility of calendar for regional, religious,
+custom-tailors and xSP calendar service needs. Multiple storages are
+also supported. For more information, see <xref href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita">Calendar Guide</xref>.</p></li>
+<li><p><b>CalDAV Protocol:</b> Calendar application now supports the
+CalDAV Protocol, which is an open calendar synchronization standard
+contributed by SUN Microsystems. This enables a user to access scheduling
+information on remote servers.</p></li>
+<li><p><b>Enhanced Contacts Application:</b> The Contacts application
+in this release includes the following changes:</p><ul>
+<li><p>Integration with social media.</p></li>
+<li><p>Support for Remote Contacts Lookup, for example, from post-installed
+Mail for Exchange account.</p></li>
+<li><p>Virtual Phonebook API (supports getting access to the user’s
+own contact card).</p></li>
+<li><p>Own contact card.</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>Runtimes </entry>
+<entry><ul>
+<li><p>The Symbian platform now supports the Open Source based Java
+MIDP 2.1.</p></li>
+<li><p>The Symbian platform now supports Browser Application v7.2
+(with Web Run Time 7.2) that includes the following features:</p><ul>
+<li><p>Browser Control</p></li>
+<li><p>Browser core features</p></li>
+<li><p>Browser Customization</p></li>
+<li><p>Browser plug-ins</p></li>
+<li><p>Browser with touch screen</p></li>
+<li><p>Content Download</p></li>
+<li><p>URI Schemes</p></li>
+<li><p>Display Resolution Optimizations</p></li>
+<li><p>Optical Finger Navigation (OFN)</p></li>
+<li><p>FlashLite 3.1</p></li>
+<li><p>Search Client Integration</p></li>
+<li><p>Expanding Language and Character Set Support</p></li>
+<li><p>Improved Security Prompting</p></li>
+<li><p>Updated Platform Service APIs</p></li>
+<li><p>Visual Task Swapper Support</p></li>
+<li><p>Performance Optimizations</p></li>
+<li><p>Multiple touch/pinch zooming</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>Security</entry>
+<entry>The Symbian platform now provides an enhanced Security subsystem
+that enables device creators to integrate hardware acceleration modules,
+which improves the performance of cryptographic algorithms. This is
+particularly valuable in intensive real-time use-cases, such as streaming
+audio or video over a secure link, where bulk data needs to be encrypted
+and decrypted.</entry>
+</row>
+<row>
+<entry>User Interface</entry>
+<entry><ul>
+<li><p><b>ScreenPlay, also known as the New Graphics Architecture
+(NGA):</b> This new graphics architecture enables device creators
+to take advantage of improved software performance, hardware acceleration
+and third party graphics engines. It makes it possible to combine
+UI components, graphics and video to create highly innovative UIs.
+For more information, see <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay Graphics
+Architecture</xref>.</p></li>
+<li><p><b>Extended Bitmaps:</b> The Font and Bitmap Server provides a framework for device creators
+to add support for their own types of bitmap compression. Bitmaps
+that use compression formats that are provided by device creators
+are known as extended bitmaps. For more information, see <xref href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended Bitmaps</xref>.</p></li>
+<li><p><b>Dynamic Direct Screen
+Access (DSA) Allocation:</b> The Symbian platform now supports the
+dynamic allocation of the DSA buffer. For more information, see <xref href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing Dynamic
+DSA Allocation</xref>.</p></li>
+<li><p><b>Multiple Touch Support:</b> The ScreenPlay version of the
+Window Server has been extended to support multiple advanced pointers,
+with support for proximity and pressure. The emulator now also supports
+multiple advanced pointers. For more information, see <xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref>.</p></li>
+
+<li><p><b>Enhanced Touch UI:</b> The touch UI includes the following
+improvements:</p><ul>
+<li><p>Multi-page Home Screen enables the user to navigate between
+widgets with a simple flick gesture</p></li>
+<li><p>Capacitive multiple touch events are supported.</p></li>
+<li><p>Tactile Feedback utilizes advanced haptics effects.</p></li>
+</ul></li>
+</ul><p>For more information about the new features in Graphics, see <xref href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's New in Graphics
+in Symbian^3</xref>.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></conbody><related-links>
+<linklist>
+<link href="GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita"><linktext>New
+C++ APIs in Symbian^3</linktext></link>
+<link href="GUID-BA0A115B-068C-4257-9489-DF35DF633AD2.dita"><linktext>Porting
+applications to Symbian^3</linktext></link>
+<link href="GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita"><linktext>Introduction
+to Symbian^3</linktext></link>
+</linklist>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-6FC62A2F-E27F-54A8-A97F-0F42426D1F63_d0e582404_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FC62A2F-E27F-54A8-A97F-0F42426D1F63_d0e631692_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e80423_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e84621_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e95436_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e99632_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FFEC753-4006-559C-B8E9-14940CFCD012_d0e218984_href.png has changed
Binary file Symbian3/PDK/Source/GUID-6FFEC753-4006-559C-B8E9-14940CFCD012_d0e225004_href.png has changed
Binary file Symbian3/PDK/Source/GUID-700CD2E2-DBB7-40BD-BC6D-9BC79C5A0BBF_d0e2835_href.png has changed
Binary file Symbian3/PDK/Source/GUID-700CD2E2-DBB7-40BD-BC6D-9BC79C5A0BBF_d0e2845_href.png has changed
--- a/Symbian3/PDK/Source/GUID-70202CC9-BC49-539A-8255-4B0B9C24A702.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-70202CC9-BC49-539A-8255-4B0B9C24A702.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-70202CC9-BC49-539A-8255-4B0B9C24A702"><title> After Market Application Starter Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>AMA (After Market Application) Starter is a Symbian platform component that manages the launch of AMCs (After Market Components), such as applications and services, at phone boot time. </p> <section><title>Purpose</title> <p>The main purpose of AMA Starter is to launch AMCs at phone boot time based on the items in a Dynamic Startup Configuration (DSC). A DSC corresponds to a list of items stored in a DSC database. Each item represents an AMC to be launched when the phone is switched on. A DSC can contain zero or more components. </p> <p>The components are launched and monitored (if configured, using <xref href="GUID-70DA7D35-3EF3-5B9B-9E86-28893021A4A1.dita">System Health Manager</xref>) when the DSC list is processed by the <xref href="GUID-788BD091-186A-5E25-B058-952C7629A8D4.dita">System State Manager</xref>. </p> <p> <b>Note:</b> DSCs enable the phone boot procedure to be extended after the ROM image has been built. A DSC can include applications installed before or after the ROM is built. </p> </section> <section><title>Required background</title> <p>To use AMA Starter, familiarity with <xref href="GUID-788BD091-186A-5E25-B058-952C7629A8D4.dita">System State Manager</xref> and <xref href="GUID-DF3E24A4-8E97-5E26-8C24-5033A0716B5A.dita">System State Management Architecture</xref> is recommended. </p> </section> <section><title>Architecture</title> <p>The AMA Starter component is loaded as a DLL and is run by the System State Manager (SSM) component at phone boot time. The launching of AMCs at phone boot time by the AMA Starter component is triggered by the SSM component. Firstly, the EStart component loads the SSM component. Secondly, the SSM passes the DSC defined in the Static Command Lists (SCLs) or policy plug-ins to the AMA Starter component. Thirdly, AMA Starter loads the DSC that results in the launching of the AMCs at phone boot time. </p> <p> <b>Note:</b> Optionally, AMCs can be launched and monitored by the System Health Management component. </p> <p>The following figure illustrates the interactions between AMA Starter and other Symbian platform components: </p> <fig id="GUID-8C583C79-8457-553E-AAA3-B7F92D1BBEBB"><title>
              Interaction of AMA Starter and Symbian platform components 
-          </title> <image href="GUID-45580F91-F1E2-5F6F-9449-5C7B5009EC44_d0e171901_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <table id="GUID-00024226-5A3C-5AE2-9C9D-2BBEDA9909FD"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita"><apiname>RDscStore</apiname></xref>  </p> </entry> <entry><p>Provides the client interface for managing the DSC database. </p> </entry> </row> <row><entry><p> <xref href="GUID-54F2480A-07A1-3FA1-920D-5F1D3469C40B.dita"><apiname>CDscItem</apiname></xref>  </p> </entry> <entry><p>Contains application/process information required by the AMA Starter to launch an AMA. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>Device creators can use the AMA Starter APIs to manage items in the DSC database. Once a connection has been established with the DSC database, device creators can perform the following tasks: </p> <ul><li id="GUID-E5FEF5A8-7EF2-54B4-9FB3-EB7EDAA45136"><p>Add an AMC to the start-up list by adding an item to a DSC using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-11BA9684-72EF-329F-B94B-223515E1133A"><apiname>RDscStore::AddItemL()</apiname></xref>. </p> </li> <li id="GUID-16B9C3A4-1432-5C39-8260-1CFE31B1614B"><p>Modify the start-up behavior of an AMC by modifying the associated item in the DSC using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-9BB82550-B622-3777-BC4B-6966D4EC6995"><apiname>RDscStore::UpdateItemL()</apiname></xref>. </p> </li> <li id="GUID-1E2B5B1F-DAF0-512A-9449-717119927440"><p>Remove an AMC from the start-up list by removing the associated item from the DSC using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-F2A782F7-B0C4-308D-A9EF-64FB5BE41FF7"><apiname>RDscStore::DeleteItemL()</apiname></xref>. </p> </li> <li id="GUID-34606C2C-5BFB-5B18-95A2-E03EBF2ACAC4"><p>Add or remove a DSC from the DSC database using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-03E5738C-6D3B-3A59-A627-ED655566E552"><apiname>RDscStore::CreateDscL()</apiname></xref> or <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-88278C76-7BAE-38A0-8FEF-C61E6C901D21"><apiname>RDscStore::DeleteDscL()</apiname></xref>. </p> </li> </ul> <p>For more information on how to perform these tasks, see the <xref href="GUID-C1BEF313-ED22-5904-9648-740D069331ED.dita">After Market Application Starter Tutorial</xref> section. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-45580F91-F1E2-5F6F-9449-5C7B5009EC44_d0e177969_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <table id="GUID-00024226-5A3C-5AE2-9C9D-2BBEDA9909FD"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita"><apiname>RDscStore</apiname></xref>  </p> </entry> <entry><p>Provides the client interface for managing the DSC database. </p> </entry> </row> <row><entry><p> <xref href="GUID-54F2480A-07A1-3FA1-920D-5F1D3469C40B.dita"><apiname>CDscItem</apiname></xref>  </p> </entry> <entry><p>Contains application/process information required by the AMA Starter to launch an AMA. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>Device creators can use the AMA Starter APIs to manage items in the DSC database. Once a connection has been established with the DSC database, device creators can perform the following tasks: </p> <ul><li id="GUID-E5FEF5A8-7EF2-54B4-9FB3-EB7EDAA45136"><p>Add an AMC to the start-up list by adding an item to a DSC using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-11BA9684-72EF-329F-B94B-223515E1133A"><apiname>RDscStore::AddItemL()</apiname></xref>. </p> </li> <li id="GUID-16B9C3A4-1432-5C39-8260-1CFE31B1614B"><p>Modify the start-up behavior of an AMC by modifying the associated item in the DSC using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-9BB82550-B622-3777-BC4B-6966D4EC6995"><apiname>RDscStore::UpdateItemL()</apiname></xref>. </p> </li> <li id="GUID-1E2B5B1F-DAF0-512A-9449-717119927440"><p>Remove an AMC from the start-up list by removing the associated item from the DSC using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-F2A782F7-B0C4-308D-A9EF-64FB5BE41FF7"><apiname>RDscStore::DeleteItemL()</apiname></xref>. </p> </li> <li id="GUID-34606C2C-5BFB-5B18-95A2-E03EBF2ACAC4"><p>Add or remove a DSC from the DSC database using <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-03E5738C-6D3B-3A59-A627-ED655566E552"><apiname>RDscStore::CreateDscL()</apiname></xref> or <xref href="GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F.dita#GUID-EB3CA81E-8684-3851-A556-1C91CAD3891F/GUID-88278C76-7BAE-38A0-8FEF-C61E6C901D21"><apiname>RDscStore::DeleteDscL()</apiname></xref>. </p> </li> </ul> <p>For more information on how to perform these tasks, see the <xref href="GUID-C1BEF313-ED22-5904-9648-740D069331ED.dita">After Market Application Starter Tutorial</xref> section. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-70483E81-311F-5247-9F39-3940F20C0EB1_d0e340581_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70483E81-311F-5247-9F39-3940F20C0EB1_d0e346532_href.png has changed
Binary file Symbian3/PDK/Source/GUID-706263D6-AAE2-40E2-B0B4-D12E253F70A8_d0e103024_href.png has changed
Binary file Symbian3/PDK/Source/GUID-706263D6-AAE2-40E2-B0B4-D12E253F70A8_d0e98944_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,133 +1,126 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-7068AB77-5C96-59A3-B975-7923FD843832" xml:lang="en"><title>Hash
-Table - Using Hash Table Classes</title><shortdesc>This example application demonstrates some uses of the Hash Table
-APIs of the User Library component</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Hash table is used to construct the following: </p>
-<ul>
-<li id="GUID-0297A974-34AE-5562-A117-C4B66FAEAD54"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-DD6E1786-8612-5D9F-833C-CC7EA6E7D0C2"> Hash Set</xref>  </p> </li>
-<li id="GUID-84E70B2C-E2C0-577E-A505-FADA0208C0FF"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-DB0CE85F-A350-5724-86B3-355494913055">Hash set of pointers</xref>  </p> </li>
-<li id="GUID-EBDFB08C-55E7-5FD0-8368-6F1C06343FDE"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-B5E8D195-C16A-5975-B9B7-55C40441FE2C">Hash map</xref>  </p> </li>
-<li id="GUID-7ABCD2A4-BC34-53A8-B8CE-236A39EB4004"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-FA5FD086-D250-54FE-9D14-3269C3AE1A85">Hash map of pointers</xref>  </p> </li>
-</ul>
-<p>The example also demonstrates performing different operations on these
-hash sets/maps, such as, inserting, finding, iterating, and removing items.
-A set implements an unordered extensional set of objects and a map implements
-an associative array with key and value type using probe sequence hash table. </p>
-<p>The overview contains the following sections: </p>
-<ul>
-<li id="GUID-58254C8A-80EA-576F-96E8-4CAF67AB7E09"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-9027C307-250C-59A1-BC8E-3098817093EB">Download</xref> </p> </li>
-<li id="GUID-20680E37-2D18-5D07-8633-09BFD40CBF0C"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-6AF54D67-574E-517D-BB01-E5EB8A48B134">Description</xref>  </p> </li>
-<li id="GUID-CDEB1647-B3B4-53F5-9CB8-8D27BA4E4FDF"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-c296a224-8cf5-40fa-9980-4749795c821c">Class summary</xref>  </p> </li>
-<li id="GUID-AAB40957-335F-5735-AE03-9CCBE5FEE9B6"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-167C0565-5EFF-5F8E-A4AB-2D1591A9AEFA">Build</xref>  </p> </li>
-</ul>
-<section id="GUID-9027C307-250C-59A1-BC8E-3098817093EB"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-6ff761c5-3381-4d16-b419-a16bb2da2c74.zip" scope="external">HashTableExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-6ff761c5-3381-4d16-b419-a16bb2da2c74.html" scope="peer">browse </xref>to view the example code.</p> </section>
-<section id="GUID-6AF54D67-574E-517D-BB01-E5EB8A48B134"><title>Description</title> <p id="GUID-DD6E1786-8612-5D9F-833C-CC7EA6E7D0C2"><b>Hash set</b> </p> <p>The
-application constructs a hash set by using the default hash and identity function
-for integers and descriptors using the <codeph>RHashSet</codeph> template
-class, and constructs another hash set by providing a defined custom hash
-and identity functions. </p> <p>The application applies the following operations
-to the hash set: </p> <ul>
-<li id="GUID-64CFB688-AC3B-57C2-B282-CF330B30B030"><p>Inserting items using
-the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-A3A636D2-CFCC-30A2-A144-26241B50978F"><apiname>RHashSet::Insert()</apiname></xref> function </p> </li>
-<li id="GUID-E94CC014-DCAE-5755-8F7B-EDA09974661D"><p>Finding items using
-the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-89226347-DCDF-34D3-ADFE-AE135EE353C6"><apiname>RHashSet::Find()</apiname></xref> function </p> </li>
-<li id="GUID-ABF21E6D-34E8-5830-8505-2B45A9ECDB7E"><p>Iterating items using
-the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-BD2A81FF-D6D7-3F60-8204-F8B70A3AD841"><apiname>RHashSet::TIter</apiname></xref> class </p> </li>
-<li id="GUID-D7A98E1F-BCAA-5602-8298-64B8ECC4C02F"><p>Removing items using
-the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-AB5393CB-75FD-317E-9FE5-9D8C3A6D8B40"><apiname>RHashSet::Remove()</apiname></xref> function </p> </li>
-</ul><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-89226347-DCDF-34D3-ADFE-AE135EE353C6"><apiname>RHashSet::Find()</apiname></xref></p></li>
-<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-A3A636D2-CFCC-30A2-A144-26241B50978F"><apiname>RHashSet::Insert()</apiname></xref></p></li>
-<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-AB5393CB-75FD-317E-9FE5-9D8C3A6D8B40"><apiname>RHashSet::Remove()</apiname></xref></p></li>
-<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-BD2A81FF-D6D7-3F60-8204-F8B70A3AD841"><apiname>RHashSet::TIter</apiname></xref> - A class which allows iteration
-over the elements of a <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita"><apiname>RHashSet</apiname></xref>class.</p></li>
-</ul> <p id="GUID-DB0CE85F-A350-5724-86B3-355494913055"><b>Hash set of pointers </b> </p> <p>The
-application constructs a hash set of pointers using the default hash and identity
-function for integers and descriptors using the <codeph>RPtrHashSet</codeph> template
-class, and constructs another hash set of pointers by providing a defined
-custom hash and identity functions. </p> <p>The application applies the following
-operations to the hash set of pointers: </p> <ul>
-<li id="GUID-33095E62-B5FE-505A-A7AC-4F6E2A3199AC"><p>Inserting items using
-the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-03FDA5C9-EE31-372F-AA5B-6954DCD3D3DF"><apiname>RPtrHashSet::Insert()</apiname></xref> function </p> </li>
-<li id="GUID-AA8AA483-3904-5597-9DFC-2B294F594ACE"><p>Finding items using
-the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-1A11BF5E-8BCC-38F6-94E0-5B98AF7A3B73"><apiname>RPtrHashSet::Find()</apiname></xref> function </p> </li>
-<li id="GUID-6D4CF84F-4D82-5022-9035-AA07EC0343C6"><p>Iterating items using
-the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-F748E184-32DA-37B6-B582-CB79242F15C7"><apiname>RPtrHashSet::TIter</apiname></xref> class </p> </li>
-<li id="GUID-C763CD87-F13B-565E-BB5A-0ADE43748A8B"><p>Removing items using
-the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-B2484300-2961-32E7-976A-3BDAFA54664F"><apiname>RPtrHashSet::Remove()</apiname></xref> function </p> </li>
-</ul><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-1A11BF5E-8BCC-38F6-94E0-5B98AF7A3B73"><apiname>RPtrHashSet::Find()</apiname></xref></p></li>
-<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-03FDA5C9-EE31-372F-AA5B-6954DCD3D3DF"><apiname>RPtrHashSet::Insert()</apiname></xref></p></li>
-<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-B2484300-2961-32E7-976A-3BDAFA54664F"><apiname>RPtrHashSet::Remove()</apiname></xref></p></li>
-<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-F748E184-32DA-37B6-B582-CB79242F15C7"><apiname>RPtrHashSet::TIter</apiname></xref> - A class which allows iteration
-over the elements of a <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita"><apiname>RPtrHashSet</apiname></xref> class</p></li>
-</ul> <p id="GUID-B5E8D195-C16A-5975-B9B7-55C40441FE2C"><b>Hash map </b> </p> <p>The
-application constructs a hash map using the default hash and identity function
-for integers and descriptors using the <codeph>RHashMap</codeph> template
-class, and constructs another hash map by providing a defined custom hash
-and identity functions. </p> <p>The application applies the following operations
-to the hash map: </p> <ul>
-<li id="GUID-847FFA28-0849-5310-8224-B7F1240506FE"><p>Inserting items using
-the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-266CBFD6-299B-37A3-A769-ACF84CABBA20"><apiname>RHashMap::Insert()</apiname></xref> function </p> </li>
-<li id="GUID-1EEC4933-8AAF-522C-BE70-03975C3BAC3D"><p>Finding items using
-the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-DB699FE0-AF9C-39C6-8361-4ED82B3DAAD4"><apiname>RHashMap::Find()</apiname></xref> function </p> </li>
-<li id="GUID-E98D034D-FE29-52D7-A4A1-3A0E584BAADB"><p>Iterating items using
-the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-156B9E51-634B-3605-901B-598F6DBEFF54"><apiname>RHashMap::TIter</apiname></xref> class </p> </li>
-<li id="GUID-923C5156-7A0E-595B-898A-F6617C474CF6"><p>Removing items using
-the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-9EABABAA-91DB-3EC7-A1A1-385A05AF5067"><apiname>RHashMap::Remove()</apiname></xref> function </p> </li>
-</ul><ul>
-<li><p><xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-DB699FE0-AF9C-39C6-8361-4ED82B3DAAD4"><apiname>RHashMap::Find()</apiname></xref></p></li>
-<li><p><xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-266CBFD6-299B-37A3-A769-ACF84CABBA20"><apiname>RHashMap::Insert()</apiname></xref></p></li>
-<li><p><xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-9EABABAA-91DB-3EC7-A1A1-385A05AF5067"><apiname>RHashMap::Remove()</apiname></xref></p></li>
-<li><p> <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-156B9E51-634B-3605-901B-598F6DBEFF54"><apiname>RHashMap::TIter</apiname></xref> - A class which allows iteration
-over the elements of a <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita"><apiname>RHashMap</apiname></xref> class.</p></li>
-</ul> <p id="GUID-FA5FD086-D250-54FE-9D14-3269C3AE1A85"><b> Hash map of pointers</b> </p> <p>The
-application constructs a hash map of pointers using the default hash and identity
-function for integers and descriptors using the <codeph>RPtrHashMap</codeph> template
-class, and constructs another hash map of pointers by providing a defined
-custom hash and identity functions. </p> <p>The application applies the following
-operations to the hash map of pointers: </p> <ul>
-<li id="GUID-2AE0796E-ADAD-5746-8E79-252247445517"><p>Inserting items using
-the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-576450FC-6E12-31F5-8911-F1B7648FC53E"><apiname>RPtrHashMap::Insert()</apiname></xref> function </p> </li>
-<li id="GUID-AB3AA2A9-62A3-542D-9C13-5E91D2C2FB11"><p>Finding items using
-the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-CE659124-11FF-30CB-8D9C-EF37A9BB19C5"><apiname>RPtrHashMap::Find()</apiname></xref> function </p> </li>
-<li id="GUID-4A4327BF-55A0-5456-B583-57374497EB91"><p>Iterating items using
-the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-69586D97-8AA4-36C4-B32D-2262B305DF90"><apiname>RPtrHashMap::TIter</apiname></xref> class </p> </li>
-<li id="GUID-BF7D6522-7E3D-56FD-8247-CFEB5F0F21F3"><p>Removing items using
-the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-85A25E04-95BA-377F-A462-1BE5917D2A27"><apiname>RPtrHashMap::Remove()</apiname></xref> function </p> </li>
-</ul><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-CE659124-11FF-30CB-8D9C-EF37A9BB19C5"><apiname>RPtrHashMap::Find()</apiname></xref></p></li>
-<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-576450FC-6E12-31F5-8911-F1B7648FC53E"><apiname>RPtrHashMap::Insert()</apiname></xref></p></li>
-<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-85A25E04-95BA-377F-A462-1BE5917D2A27"><apiname>RPtrHashMap::Remove()</apiname></xref></p></li>
-<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-69586D97-8AA4-36C4-B32D-2262B305DF90"><apiname>RPtrHashMap::TIter</apiname></xref> - A class which allows iteration
-over the elements of a<xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita"><apiname> RPtrHashMap</apiname></xref> class.</p></li>
-</ul> </section>
-<section id="GUID-C296A224-8CF5-40FA-9980-4749795C821C"><title>Class summary</title><ul>
-<li><p><xref href="GUID-A60735E7-3919-3DDB-AC74-5386C4C5BC51.dita"><apiname>DefaultHash</apiname></xref> - A set of common hashing functions
-for frequently occurring types.</p></li>
-<li><p><xref href="GUID-6634A181-A764-3CC4-BDB6-B51219D2C9CD.dita"><apiname>DefaultIdentity</apiname></xref> - A set of common identity relations
-for frequently occurring types.</p></li>
-<li><p><xref href="GUID-F57D0831-3AD2-3C2F-A1CB-C0A1BE541B73.dita"><apiname>THashFunctions32</apiname></xref></p></li>
-<li><p><xref href="GUID-E75F040A-CEC6-3751-8F96-F16AEDC209A3.dita"><apiname>TIdentityRelation</apiname></xref></p></li>
-<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita"><apiname>RHashSet</apiname></xref> </p></li>
-<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita"><apiname>RPtrHashMap</apiname></xref></p></li>
-</ul></section>
-<section id="GUID-167C0565-5EFF-5F8E-A4AB-2D1591A9AEFA"><title>Build</title> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref> describes
-how to build an application. </p> <p>The HashTableExample builds an executable
-called <filepath>hashtableexample.exe</filepath> in the standard location
-(<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior).
-After launching the executable, depending on the emulator you are using, you
-may need to navigate away from the application launcher/shell screen to view
-the console. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-7068AB77-5C96-59A3-B975-7923FD843832" xml:lang="en"><title>Hash Table - Using Hash Table Classes</title><shortdesc>This example application demonstrates some uses of the
+Hash Table APIs of the User Library component</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Hash table is used to construct the following: </p>
+<ul>
+<li id="GUID-0297A974-34AE-5562-A117-C4B66FAEAD54"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-DD6E1786-8612-5D9F-833C-CC7EA6E7D0C2"> Hash Set</xref>  </p> </li>
+<li id="GUID-84E70B2C-E2C0-577E-A505-FADA0208C0FF"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-DB0CE85F-A350-5724-86B3-355494913055">Hash set of pointers</xref>  </p> </li>
+<li id="GUID-EBDFB08C-55E7-5FD0-8368-6F1C06343FDE"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-B5E8D195-C16A-5975-B9B7-55C40441FE2C">Hash map</xref>  </p> </li>
+<li id="GUID-7ABCD2A4-BC34-53A8-B8CE-236A39EB4004"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-FA5FD086-D250-54FE-9D14-3269C3AE1A85">Hash map of pointers</xref>  </p> </li>
+</ul>
+<p>The example also demonstrates performing different operations on
+these hash sets/maps, such as, inserting, finding, iterating, and
+removing items. A set implements an unordered extensional set of objects
+and a map implements an associative array with key and value type
+using probe sequence hash table. </p>
+<p>The overview contains the following sections: </p>
+<ul>
+<li id="GUID-58254C8A-80EA-576F-96E8-4CAF67AB7E09"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-9027C307-250C-59A1-BC8E-3098817093EB">Download</xref> </p> </li>
+<li id="GUID-20680E37-2D18-5D07-8633-09BFD40CBF0C"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-6AF54D67-574E-517D-BB01-E5EB8A48B134">Description</xref>  </p> </li>
+<li id="GUID-CDEB1647-B3B4-53F5-9CB8-8D27BA4E4FDF"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-c296a224-8cf5-40fa-9980-4749795c821c">Class summary</xref>  </p> </li>
+<li id="GUID-AAB40957-335F-5735-AE03-9CCBE5FEE9B6"><p> <xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita#GUID-7068AB77-5C96-59A3-B975-7923FD843832/GUID-167C0565-5EFF-5F8E-A4AB-2D1591A9AEFA">Build</xref>  </p> </li>
+</ul>
+<section id="GUID-9027C307-250C-59A1-BC8E-3098817093EB"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-6ff761c5-3381-4d16-b419-a16bb2da2c74.zip" scope="external">HashTableExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-6ff761c5-3381-4d16-b419-a16bb2da2c74.html" scope="peer">browse </xref>to view the example code.</p> </section>
+<section id="GUID-6AF54D67-574E-517D-BB01-E5EB8A48B134"><title>Description</title> <p id="GUID-DD6E1786-8612-5D9F-833C-CC7EA6E7D0C2"><b>Hash set</b> </p> <p>The application constructs a hash set by using the default
+hash and identity function for integers and descriptors using the <codeph>RHashSet</codeph> template class, and constructs another hash set
+by providing a defined custom hash and identity functions. </p> <p>The application applies the following operations to the hash set: </p> <ul>
+<li id="GUID-64CFB688-AC3B-57C2-B282-CF330B30B030"><p>Inserting items
+using the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-A3A636D2-CFCC-30A2-A144-26241B50978F"><apiname>RHashSet::Insert()</apiname></xref> function </p> </li>
+<li id="GUID-E94CC014-DCAE-5755-8F7B-EDA09974661D"><p>Finding items
+using the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-89226347-DCDF-34D3-ADFE-AE135EE353C6"><apiname>RHashSet::Find()</apiname></xref> function </p> </li>
+<li id="GUID-ABF21E6D-34E8-5830-8505-2B45A9ECDB7E"><p>Iterating items
+using the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-BD2A81FF-D6D7-3F60-8204-F8B70A3AD841"><apiname>RHashSet::TIter</apiname></xref> class </p> </li>
+<li id="GUID-D7A98E1F-BCAA-5602-8298-64B8ECC4C02F"><p>Removing items
+using the <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-AB5393CB-75FD-317E-9FE5-9D8C3A6D8B40"><apiname>RHashSet::Remove()</apiname></xref> function </p> </li>
+</ul><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-89226347-DCDF-34D3-ADFE-AE135EE353C6"><apiname>RHashSet::Find()</apiname></xref></p></li>
+<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-A3A636D2-CFCC-30A2-A144-26241B50978F"><apiname>RHashSet::Insert()</apiname></xref></p></li>
+<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-AB5393CB-75FD-317E-9FE5-9D8C3A6D8B40"><apiname>RHashSet::Remove()</apiname></xref></p></li>
+<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita#GUID-1851A507-A5A9-356F-88A4-494066F43499/GUID-BD2A81FF-D6D7-3F60-8204-F8B70A3AD841"><apiname>RHashSet::TIter</apiname></xref> - A class which allows iteration
+over the elements of a <xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita"><apiname>RHashSet</apiname></xref>class.</p></li>
+</ul> <p id="GUID-DB0CE85F-A350-5724-86B3-355494913055"><b>Hash set
+of pointers </b> </p> <p>The application constructs a hash set of
+pointers using the default hash and identity function for integers
+and descriptors using the <codeph>RPtrHashSet</codeph> template class,
+and constructs another hash set of pointers by providing a defined
+custom hash and identity functions. </p> <p>The application applies
+the following operations to the hash set of pointers: </p> <ul>
+<li id="GUID-33095E62-B5FE-505A-A7AC-4F6E2A3199AC"><p>Inserting items
+using the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-03FDA5C9-EE31-372F-AA5B-6954DCD3D3DF"><apiname>RPtrHashSet::Insert()</apiname></xref> function </p> </li>
+<li id="GUID-AA8AA483-3904-5597-9DFC-2B294F594ACE"><p>Finding items
+using the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-1A11BF5E-8BCC-38F6-94E0-5B98AF7A3B73"><apiname>RPtrHashSet::Find()</apiname></xref> function </p> </li>
+<li id="GUID-6D4CF84F-4D82-5022-9035-AA07EC0343C6"><p>Iterating items
+using the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-F748E184-32DA-37B6-B582-CB79242F15C7"><apiname>RPtrHashSet::TIter</apiname></xref> class </p> </li>
+<li id="GUID-C763CD87-F13B-565E-BB5A-0ADE43748A8B"><p>Removing items
+using the <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-B2484300-2961-32E7-976A-3BDAFA54664F"><apiname>RPtrHashSet::Remove()</apiname></xref> function </p> </li>
+</ul><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-1A11BF5E-8BCC-38F6-94E0-5B98AF7A3B73"><apiname>RPtrHashSet::Find()</apiname></xref></p></li>
+<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-03FDA5C9-EE31-372F-AA5B-6954DCD3D3DF"><apiname>RPtrHashSet::Insert()</apiname></xref></p></li>
+<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-B2484300-2961-32E7-976A-3BDAFA54664F"><apiname>RPtrHashSet::Remove()</apiname></xref></p></li>
+<li><p><xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita#GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2/GUID-F748E184-32DA-37B6-B582-CB79242F15C7"><apiname>RPtrHashSet::TIter</apiname></xref> - A class which allows
+iteration over the elements of a <xref href="GUID-8BE7A907-FF70-3D91-B90A-E394CBBCDBF2.dita"><apiname>RPtrHashSet</apiname></xref> class</p></li>
+</ul> <p id="GUID-B5E8D195-C16A-5975-B9B7-55C40441FE2C"><b>Hash map </b> </p> <p>The application constructs a hash map using the default
+hash and identity function for integers and descriptors using the <codeph>RHashMap</codeph> template class, and constructs another hash map
+by providing a defined custom hash and identity functions. </p> <p>The application applies the following operations to the hash map: </p> <ul>
+<li id="GUID-847FFA28-0849-5310-8224-B7F1240506FE"><p>Inserting items
+using the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-266CBFD6-299B-37A3-A769-ACF84CABBA20"><apiname>RHashMap::Insert()</apiname></xref> function </p> </li>
+<li id="GUID-1EEC4933-8AAF-522C-BE70-03975C3BAC3D"><p>Finding items
+using the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-DB699FE0-AF9C-39C6-8361-4ED82B3DAAD4"><apiname>RHashMap::Find()</apiname></xref> function </p> </li>
+<li id="GUID-E98D034D-FE29-52D7-A4A1-3A0E584BAADB"><p>Iterating items
+using the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-156B9E51-634B-3605-901B-598F6DBEFF54"><apiname>RHashMap::TIter</apiname></xref> class </p> </li>
+<li id="GUID-923C5156-7A0E-595B-898A-F6617C474CF6"><p>Removing items
+using the <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-9EABABAA-91DB-3EC7-A1A1-385A05AF5067"><apiname>RHashMap::Remove()</apiname></xref> function </p> </li>
+</ul><ul>
+<li><p><xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-DB699FE0-AF9C-39C6-8361-4ED82B3DAAD4"><apiname>RHashMap::Find()</apiname></xref></p></li>
+<li><p><xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-266CBFD6-299B-37A3-A769-ACF84CABBA20"><apiname>RHashMap::Insert()</apiname></xref></p></li>
+<li><p><xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-9EABABAA-91DB-3EC7-A1A1-385A05AF5067"><apiname>RHashMap::Remove()</apiname></xref></p></li>
+<li><p> <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita#GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6/GUID-156B9E51-634B-3605-901B-598F6DBEFF54"><apiname>RHashMap::TIter</apiname></xref> - A class which allows
+iteration over the elements of a <xref href="GUID-66EC84D0-531B-37DF-B3F4-41574CF941A6.dita"><apiname>RHashMap</apiname></xref> class.</p></li>
+</ul> <p id="GUID-FA5FD086-D250-54FE-9D14-3269C3AE1A85"><b> Hash map
+of pointers</b> </p> <p>The application constructs a hash map of pointers
+using the default hash and identity function for integers and descriptors
+using the <codeph>RPtrHashMap</codeph> template class, and constructs
+another hash map of pointers by providing a defined custom hash and
+identity functions. </p> <p>The application applies the following
+operations to the hash map of pointers: </p> <ul>
+<li id="GUID-2AE0796E-ADAD-5746-8E79-252247445517"><p>Inserting items
+using the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-576450FC-6E12-31F5-8911-F1B7648FC53E"><apiname>RPtrHashMap::Insert()</apiname></xref> function </p> </li>
+<li id="GUID-AB3AA2A9-62A3-542D-9C13-5E91D2C2FB11"><p>Finding items
+using the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-CE659124-11FF-30CB-8D9C-EF37A9BB19C5"><apiname>RPtrHashMap::Find()</apiname></xref> function </p> </li>
+<li id="GUID-4A4327BF-55A0-5456-B583-57374497EB91"><p>Iterating items
+using the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-69586D97-8AA4-36C4-B32D-2262B305DF90"><apiname>RPtrHashMap::TIter</apiname></xref> class </p> </li>
+<li id="GUID-BF7D6522-7E3D-56FD-8247-CFEB5F0F21F3"><p>Removing items
+using the <xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-85A25E04-95BA-377F-A462-1BE5917D2A27"><apiname>RPtrHashMap::Remove()</apiname></xref> function </p> </li>
+</ul><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-CE659124-11FF-30CB-8D9C-EF37A9BB19C5"><apiname>RPtrHashMap::Find()</apiname></xref></p></li>
+<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-576450FC-6E12-31F5-8911-F1B7648FC53E"><apiname>RPtrHashMap::Insert()</apiname></xref></p></li>
+<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-85A25E04-95BA-377F-A462-1BE5917D2A27"><apiname>RPtrHashMap::Remove()</apiname></xref></p></li>
+<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita#GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225/GUID-69586D97-8AA4-36C4-B32D-2262B305DF90"><apiname>RPtrHashMap::TIter</apiname></xref> - A class which allows
+iteration over the elements of a<xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita"><apiname> RPtrHashMap</apiname></xref> class.</p></li>
+</ul> </section>
+<section id="GUID-C296A224-8CF5-40FA-9980-4749795C821C"><title>Class
+summary</title><ul>
+<li><p><xref href="GUID-A60735E7-3919-3DDB-AC74-5386C4C5BC51.dita"><apiname>DefaultHash</apiname></xref> - A set of common hashing functions
+for frequently occurring types.</p></li>
+<li><p><xref href="GUID-6634A181-A764-3CC4-BDB6-B51219D2C9CD.dita"><apiname>DefaultIdentity</apiname></xref> - A set of common identity
+relations for frequently occurring types.</p></li>
+<li><p><xref href="GUID-F57D0831-3AD2-3C2F-A1CB-C0A1BE541B73.dita"><apiname>THashFunctions32</apiname></xref></p></li>
+<li><p><xref href="GUID-E75F040A-CEC6-3751-8F96-F16AEDC209A3.dita"><apiname>TIdentityRelation</apiname></xref></p></li>
+<li><p><xref href="GUID-1851A507-A5A9-356F-88A4-494066F43499.dita"><apiname>RHashSet</apiname></xref> </p></li>
+<li><p><xref href="GUID-616B71F7-B0A8-31F9-BCF1-FB736EC7E225.dita"><apiname>RPtrHashMap</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-167C0565-5EFF-5F8E-A4AB-2D1591A9AEFA"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The HashTableExample builds an executable called <filepath>hashtableexample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior).
+After launching the executable, depending on the emulator you are
+using, you may need to navigate away from the application launcher/shell
+screen to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,52 +9,49 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA" xml:lang="en"><title>Position
-Area Data Classes</title><shortdesc>This document describes the basic and extended position area data
-classes that contain information about the accuracy of the position returned
-to an application when it calls <codeph>RPositioner::GetLastKnownPositionArea()</codeph>. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>LBS maintains a cache of previously calculated position fixes. If an application
-calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-BF3BBDC5-8B12-3374-ACEB-4013E9CFEBEF"><apiname>RPositioner::GetLastKnownLocation()</apiname></xref>, LBS returns
-the most recently calculated position. If an application calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-A8484963-B2C4-339D-AF8C-056792444D89"><apiname>RPositioner::GetLastKnownPositionArea()</apiname></xref>,
-LBS returns the position fix that is the best match for the current location
-of the mobile device. The current location of the mobile device is estimated
-from data received from the network. </p>
-<p>The Location Acquisition API defines a set of position area data classes
-(figure 1). A client application passes an object of one of these classes
-as a parameter when it calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-A8484963-B2C4-339D-AF8C-056792444D89"><apiname>RPositioner::GetLastKnownPositionArea()</apiname></xref>.
-The position area data classes are defined in <filepath>LbsAreaInfo.h</filepath>. </p>
+<concept id="GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA" xml:lang="en"><title>Position Area Data Classes</title><shortdesc>This document describes the basic and extended position
+area data classes that contain information about the accuracy of the
+position returned to an application when it calls <codeph>RPositioner::GetLastKnownPositionArea()</codeph>. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>LBS maintains a cache of previously calculated position fixes.
+If an application calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-BF3BBDC5-8B12-3374-ACEB-4013E9CFEBEF"><apiname>RPositioner::GetLastKnownLocation()</apiname></xref>, LBS returns the most recently calculated position. If an application
+calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-A8484963-B2C4-339D-AF8C-056792444D89"><apiname>RPositioner::GetLastKnownPositionArea()</apiname></xref>,
+LBS returns the position fix that is the best match for the current
+location of the mobile device. The current location of the mobile
+device is estimated from data received from the network. </p>
+<p>The Location Acquisition API defines a set of position area data
+classes (figure 1). A client application passes an object of one of
+these classes as a parameter when it calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-A8484963-B2C4-339D-AF8C-056792444D89"><apiname>RPositioner::GetLastKnownPositionArea()</apiname></xref>. The position area data classes are defined in <filepath>LbsAreaInfo.h</filepath>. </p>
 <fig id="GUID-898DA2B8-185E-5906-803A-1871320A0F7E">
 <title>           Figure 1. Position Area Data Classes.          </title>
-<image href="GUID-4930A22F-EF80-5B08-A878-C0DB73929558_d0e435184_href.png" placement="inline"/>
+<image href="GUID-4930A22F-EF80-5B08-A878-C0DB73929558_d0e441029_href.png" placement="inline"/>
 </fig>
-<p>A brief description of the classes follows. Follow the links to more detailed
-reference documentation. </p>
+<p>A brief description of the classes follows. Follow the links to
+more detailed reference documentation. </p>
 <ul>
-<li id="GUID-6EFEC1C0-FA51-5700-AF45-C25F69C8FF34"><p> <xref href="GUID-4AD8EC91-7272-3ABA-92AB-E299E85FDC6D.dita"><apiname>TPositionAreaInfoBase</apiname></xref> is
-the base class of the position area data classes. Applications create an object
-of one of the derived classes. </p> </li>
-<li id="GUID-0F54B61E-D87A-5014-8808-863323BBD475"><p> <xref href="GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773.dita"><apiname>TPositionAreaInfo</apiname></xref> contains
-basic information about the accuracy of a returned position. Its defines an
-enumerated type <xref href="GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773.dita#GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773/GUID-3B9DEDE6-8903-3B26-9CE6-19D6B4833309"><apiname>TPositionAreaInfo::_TArea</apiname></xref> that defines
-an estimate of how closely the current device position matches the returned
-position. The position accuracy estimate can be from country level down to
-street level, depending on how much information is available from the network. </p> </li>
-<li id="GUID-7ADA8994-7028-5C76-9870-FB0F4AA82F82"><p> <xref href="GUID-BC7DEDAF-80AE-34DC-8FD8-CF77FA511B3D.dita"><apiname>TPositionAreaExtendedInfo</apiname></xref> extends <codeph>TPositionAreaInfo</codeph> to
-provide details about how the accuracy estimate of the returned position was
-calculated. </p> <p>An accuracy estimate can be obtained from the network
-as some combination of the following: </p> <ul>
-<li id="GUID-AA4BFDD9-D024-5F1C-873C-55A18AC7EB10"><p>Mobile Country Code </p> </li>
-<li id="GUID-7AEE15CD-33B2-5833-BE64-8E2D2C729DF4"><p>Mobile Network Code </p> </li>
-<li id="GUID-4666634D-05C4-59C1-AD51-55A28F67DC3B"><p>Location Area Code </p> </li>
+<li id="GUID-6EFEC1C0-FA51-5700-AF45-C25F69C8FF34"><p> <xref href="GUID-4AD8EC91-7272-3ABA-92AB-E299E85FDC6D.dita"><apiname>TPositionAreaInfoBase</apiname></xref> is the base class of the position area data classes. Applications
+create an object of one of the derived classes. </p> </li>
+<li id="GUID-0F54B61E-D87A-5014-8808-863323BBD475"><p> <xref href="GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773.dita"><apiname>TPositionAreaInfo</apiname></xref> contains basic information about the accuracy of a returned position.
+Its defines an enumerated type <xref href="GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773.dita#GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773/GUID-3B9DEDE6-8903-3B26-9CE6-19D6B4833309"><apiname>TPositionAreaInfo::_TArea</apiname></xref> that defines an estimate of how closely the current device position
+matches the returned position. The position accuracy estimate can
+be from country level down to street level, depending on how much
+information is available from the network. </p> </li>
+<li id="GUID-7ADA8994-7028-5C76-9870-FB0F4AA82F82"><p> <xref href="GUID-BC7DEDAF-80AE-34DC-8FD8-CF77FA511B3D.dita"><apiname>TPositionAreaExtendedInfo</apiname></xref> extends <codeph>TPositionAreaInfo</codeph> to provide details about
+how the accuracy estimate of the returned position was calculated. </p> <p>An accuracy estimate can be obtained from the network as some
+combination of the following: </p> <ul>
+<li id="GUID-AA4BFDD9-D024-5F1C-873C-55A18AC7EB10"><p>Mobile Country
+Code </p> </li>
+<li id="GUID-7AEE15CD-33B2-5833-BE64-8E2D2C729DF4"><p>Mobile Network
+Code </p> </li>
+<li id="GUID-4666634D-05C4-59C1-AD51-55A28F67DC3B"><p>Location Area
+Code </p> </li>
 <li id="GUID-B3BEE4FC-8955-5FAC-B382-121F49C8D1D7"><p>Cell ID </p> </li>
-</ul> <p>LBS uses combinations of the above to derive the accuracy estimate
-returned from <xref href="GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773.dita#GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773/GUID-C8B19BA7-72A0-35CD-AF72-AD74E9C0CE5B"><apiname>TPositionAreaInfo::Area()</apiname></xref>. Your application
-can find what types of data were used to calculate the accuracy estimate by
-passing an object of class <xref href="GUID-BC7DEDAF-80AE-34DC-8FD8-CF77FA511B3D.dita"><apiname>TPositionAreaExtendedInfo</apiname></xref> to <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-A00A1673-10F2-357A-A3CA-FFB4E14F2F8D"><apiname>RPositioner::GetLastKnownLocationArea()</apiname></xref> and
-then using the methods shown in figure 1 to check for code and ID matches. </p> </li>
+</ul> <p>LBS uses combinations of the above to derive the accuracy
+estimate returned from <xref href="GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773.dita#GUID-5FA78254-70C7-3105-B6CE-E1A294C8F773/GUID-C8B19BA7-72A0-35CD-AF72-AD74E9C0CE5B"><apiname>TPositionAreaInfo::Area()</apiname></xref>. Your application can find what types of data were used to calculate
+the accuracy estimate by passing an object of class <xref href="GUID-BC7DEDAF-80AE-34DC-8FD8-CF77FA511B3D.dita"><apiname>TPositionAreaExtendedInfo</apiname></xref> to <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-A00A1673-10F2-357A-A3CA-FFB4E14F2F8D"><apiname>RPositioner::GetLastKnownLocationArea()</apiname></xref> and
+then using the methods shown in figure 1 to check for code and ID
+matches. </p> </li>
 </ul>
 </conbody><related-links>
-<link><linktext/></link>
-<link href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita"><linktext>How to Get
-Location Information</linktext></link>
+<link href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita"><linktext>How
+to Get Location Information</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e101043_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e79397_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e83595_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e88320_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e90989_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e92518_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e95187_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e96964_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70FC2D13-493D-433F-9CFB-ACF9F512513F_d0e102231_href.png has changed
Binary file Symbian3/PDK/Source/GUID-70FC2D13-493D-433F-9CFB-ACF9F512513F_d0e98153_href.png has changed
--- a/Symbian3/PDK/Source/GUID-711594BD-9B8E-5E8A-A5A9-6C94F65AF064.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-711594BD-9B8E-5E8A-A5A9-6C94F65AF064.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -51,7 +51,7 @@
 </codeblock> </stepxmp>
 </step>
 </steps>
-<result id="GUID-1C697056-2837-50A1-96AA-801CCC600BD2-GENID-1-12-1-24-1-1-4-1-1-5-1-14-1-5-1-3-3"><p> <xref href="GUID-4533ABBD-EC51-3507-AD7C-82931229AF66.dita"><apiname>IsSupported()</apiname></xref> returns <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref> if
+<result id="GUID-1C697056-2837-50A1-96AA-801CCC600BD2-GENID-1-12-1-27-1-1-4-1-1-5-1-14-1-5-1-3-3"><p> <xref href="GUID-4533ABBD-EC51-3507-AD7C-82931229AF66.dita"><apiname>IsSupported()</apiname></xref> returns <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref> if
 the feature is supported or else an error message. </p> </result>
 </taskbody><related-links>
 <link href="GUID-08ED8657-DB96-59AC-9016-602BD5680752.dita"><linktext>Querying
Binary file Symbian3/PDK/Source/GUID-71271D1C-C385-5687-8A90-46E8B590BB1E_d0e375395_href.png has changed
Binary file Symbian3/PDK/Source/GUID-71271D1C-C385-5687-8A90-46E8B590BB1E_d0e381239_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1" xml:lang="en"><title>Symmetric
+ciphers -- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-A66ADA26-979E-5B4A-824F-29C182AFCB24-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-1-1"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1/GUID-6F996812-1D73-509B-9CED-DD672728D597-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-2">What are symmetric ciphers?</xref>  </p> </li>
+<li id="GUID-46055BED-B538-5B49-BD43-A2E3AA3368E8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-1-2"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3">Block and stream ciphers</xref>  </p> </li>
+<li id="GUID-5B9FF3E3-3732-5A75-B429-23B318C0CCBF-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-1-3"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1/GUID-A4E43A90-A66F-5868-BD94-DA709B75431B-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-4">Types of symmetric algorithms supported</xref>  </p> </li>
+<li id="GUID-26930CA6-C2AF-58DB-87AB-803481AA3DED-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-1-4"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1/GUID-66E8AD5D-A9FF-51E3-897D-D5EC3D66903A-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-5">Base classes and their derived classes</xref>  </p> </li>
+</ul>
+<section id="GUID-6F996812-1D73-509B-9CED-DD672728D597-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-2"><title>What are symmetric
+ciphers? </title> <p>Symmetric algorithms are much faster than asymmetric
+algorithms so are used to encrypt and decrypt large amounts of data. In an
+informal setting, symmetric ciphers can be thought of as a mapping of some
+plaintext to ciphertext, via some well-known transformation function, dependent
+on a single secret key. Symmetric algorithms have the property that if a message
+is encrypted under a given key, it can only be decrypted using the same key: </p> <fig id="GUID-FDB090BE-13DA-5941-8403-F42C3DF880BF-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-2-3">
+<title> The diagram above shows the encryption and decryption process using:
+a symmetric algorithm; a plaintext message, M; a symmetric key, K; and the
+ciphertext, K(M).</title>
+<image href="GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e614116_href.png" placement="inline"/>
+</fig> <p>So it provides secrecy and also some kind of authentication. If
+Alice encrypts a secret using a key known only to her, then only she can access
+the secrets. </p><p>It can also be used for communication: if Alice shares
+a key with Bob (and only Bob), then she can encrypt her messages with that
+key and send it to Bob, and only Bob can decrypt them. In this case the key
+is a 'shared secret' enabling private communications. </p><p>There are two
+basic types of symmetric ciphers: <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3">block
+ciphers and stream ciphers</xref>. </p> </section>
+<section id="GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3"><title>Block and stream
+ciphers</title> <ul>
+<li id="GUID-D0F3A85C-2DB3-57BE-A12B-102943DB68C9-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3-2-1"><p> <b> Stream ciphers</b> are
+essentially functions that are initialized with a key, and output a stream
+of pseudorandom bits, this 'keystream' is typically XOR-ed with the plaintext
+to generate the ciphertext. So they encrypt a bit of plaintext at a time.
+They map an <i>n</i> -bit stream of plaintext to a <i>n</i> -bit stream of
+ciphertext. </p> </li>
+<li id="GUID-25F8F07B-C60E-5B6D-9224-B7E4E89D15A3-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3-2-2"><p> <b>Block ciphers</b> encrypt
+several bits at once in a fixed-size block. That is, they map <i>m</i>  <i>n</i> -bit
+blocks of plaintext to <i>m</i>  <i>n</i> -bit blocks of ciphertext. The cipher
+and its mode of operation define the block size: the plaintext is split up
+into appropriately-sized blocks and each block is fed into the cipher. </p> <p>There
+are two issues here that don't occur with stream ciphers: </p> <ul>
+<li id="GUID-2C88F6DF-B8F8-5DF3-8955-03DA02371DEC-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3-2-2-3-1"><p> <b> padding</b>: the
+total size of the input has to be a multiple of the block size, so the plaintext
+usually has to be padded to fit (see the class <xref href="GUID-FFD4A90B-CCF7-33D2-802A-A44E2434FAE9.dita"><apiname>CPadding</apiname></xref>).
+Optionally, instead of padding out a plaintext message to fit in a block,
+block ciphers allow buffering of partial input blocks until the remainder
+of the block is given as input. (see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5">How
+does buffering work within the symmetric cipher framework?</xref> and <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2129" scope="external">PKCS#7</xref>). </p> </li>
+<li id="GUID-EE6C6890-8F7E-50AD-AEB9-10C43E931DE9-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-3-2-2-3-2"><p> <b>combining blocks</b>:
+if you just encrypt each plaintext block with the cipher and then concatenate
+the ciphertext blocks, then an attacker who knows something about the structure
+can switch the order of the ciphertext blocks to alter the meaning of the
+message. For example, if the plaintext includes instructions like 'pay £XXX
+to account holder ABC, reference number YYY', then an attacker could replace
+the encryption of XXX with some of the encryption of YYY. This leads to other
+techniques for combining blocks, called modes, where, for example, the output
+of the last block is fed into the input for the next one. So, the output is
+not just a function of that plaintext block and key, but is a function of
+that plaintext block, the key, and all preceding ciphertext blocks (see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-71CD8B41-219D-5D07-8C99-47D68668A880-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-3">Symmetric
+Modes</xref>). </p> </li>
+</ul> </li>
+</ul> <p>Both stream ciphers and block ciphers are provided by the API with
+a similar interface. Block ciphers usually need padding for non completed
+blocks. The API allows the user to choose the padding to be added at the end
+of the last encrypted block or to be checked and removed from the last decrypted
+block. </p> </section>
+<section id="GUID-A4E43A90-A66F-5868-BD94-DA709B75431B-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-4"><title>Types of symmetric
+algorithms supported</title> <p>The following symmetric algorithms are supported: </p> <table id="GUID-25F43544-4556-544B-B010-76B0E091B80C-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-4-3">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>Symmetric algorithm</entry>
+<entry>Type</entry>
+<entry>Specified in:</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>AES (Advanced Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" scope="external">FIPS-197</xref> </p> </entry>
+</row>
+<row>
+<entry><p>DES (Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>3DES (Triple Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>RC2-128 </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2268.txt" scope="external">RFC
+2268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>ARC4 ('alleged' RC4) </p> </entry>
+<entry><p>Stream cipher </p> </entry>
+<entry><p>the internet and a posting to sci.crypt in 1994. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-66E8AD5D-A9FF-51E3-897D-D5EC3D66903A-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-5"><title>Base classes
+and their derived classes</title> <p>The symmetric cipher API is used by Networking
+(TLS/IPSec). </p> <p> <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> is the abstract
+base class that allows a client to use the supported symmetric algorithms
+listed above. It allows clients to encrypt and decrypt without having to know
+anything about which encryption algorithm is currently in use. </p> <p>The
+PKCS5 API (the <codeph>TPKCS5KDF</codeph> class, also see <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita">Password
+Based Encryption</xref>) offers Key Derivation Support that allows the derivation
+of deterministic arbitrary length byte streams from an input string. The output
+byte stream is generated using multiple iterations of a SHA-1 message digest
+(<codeph>CSHA1</codeph>) and is suitable for use as a cryptographic symmetric
+key. </p> <p>The diagrams below show the main classes used in symmetric cipher
+framework. Blue dotted arrows indicate that a class is contained or used by
+another class. The arrows are labelled with the variable(s) through which
+the pointed class is accessible. The colour of the boxes indicates the type
+of Symbian class, i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class.
+For detailed information on each component see the Cryptography API Reference
+material. </p> <p><b><xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> and derived classes</b> </p> <fig id="GUID-B11D8EE9-F078-57B2-9453-3ABF1FC0AAA1-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-5-7">
+<title>The inheritance diagram shows the <codeph>CSymmetricCipher</codeph> abstract
+base class and its derived abstract classes <codeph>CBufferedTransformation</codeph> and <codeph>CStreamCipher</codeph> used
+for block and stream ciphers respectively. Also shown are the following derived
+classes: <codeph>CBufferedDecryptor</codeph>, <codeph>CBufferedEncryptor</codeph>, <codeph>CARC4</codeph>,
+and <codeph>CNullCipher</codeph>.</title>
+<image href="GUID-5F72210C-1636-584D-9D89-987D25136975_d0e614422_href.png" placement="inline"/>
+</fig> <p><b><xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> and derived classes</b> </p> <fig id="GUID-EB7BFBBF-D41C-5A3A-AA53-3F5BDA019C2A-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-5-9">
+<title>The inheritance diagram above shows the <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> abstract
+base class used for block ciphers. Also shown are the following derived classes: <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref>, <xref href="GUID-C65A1F55-A8D2-3393-8DC1-35656017E2B8.dita"><apiname>CModeCBCEncryptor</apiname></xref>, <xref href="GUID-7D5FBD2C-83A0-351A-96B3-C5C54FE525E6.dita"><apiname>CModeCBCDecryptor</apiname></xref>, <xref href="GUID-1C18ED2F-085F-3C3E-A93E-5FD37461E440.dita"><apiname>CDES</apiname></xref>, <xref href="GUID-E7401D77-AD0E-3B8F-A7CC-23ADA5151DB6.dita"><apiname>CDESEncryptor</apiname></xref>, <xref href="GUID-249270AC-907B-3E46-AFDB-131FDC6F612A.dita"><apiname>CDESDecryptor</apiname></xref>, <xref href="GUID-90A671B0-756E-3773-8429-6441D1594F4B.dita"><apiname>C3DES</apiname></xref>, <xref href="GUID-B931DBB9-4484-33FD-9E94-6F256ABD5C68.dita"><apiname>C3DESEncryptor</apiname></xref>, <xref href="GUID-C693C22D-04C5-3C9E-8605-0EA90F723AF3.dita"><apiname>C3DESDecryptor</apiname></xref>, <xref href="GUID-BEE18CDE-CFB6-3116-9FAE-046780D4D006.dita"><apiname>CRC2</apiname></xref>, <xref href="GUID-19F20C86-5722-3A35-B17D-3830D18CC7FC.dita"><apiname>CRC2Encryptor</apiname></xref>, <xref href="GUID-E6FD8DF9-258B-39BC-8C39-ABF7434A29B5.dita"><apiname>CRC2Decryptor</apiname></xref>, <xref href="GUID-B0AEE24A-91A6-335E-AD64-C9DDCC1F81A9.dita"><apiname>CRijndael</apiname></xref>, <xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>, and <xref href="GUID-51666543-0256-3E0D-BF5F-8716753C5921.dita"><apiname>CAESDecryptor</apiname></xref>.</title>
+<image href="GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e614502_href.png" placement="inline"/>
+</fig> <p id="GUID-A8F9A25F-B83E-5FE7-840F-4DCF246D3D96-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-5-10"><b>CPadding and derived
+classes</b> </p> <fig id="GUID-648F7604-A3C6-57EB-9B34-7F8079549D9C-GENID-1-12-1-26-1-1-11-1-1-5-1-3-1-2-5-11">
+<title>Above is an inheritance diagram showing the CPadding abstract base
+class used with block ciphers. Also shown are the following derived classes: <xref href="GUID-B7090C61-ECC7-3E8A-8D19-75C9170B0135.dita"><apiname>CPaddingPKCS7</apiname></xref>, <xref href="GUID-3150ECC9-CF8E-3890-91CD-87F5EBCE550E.dita"><apiname>CPaddingPKCS1Encryption</apiname></xref>, <xref href="GUID-F845CB30-7ABE-3EB6-B1B9-C72581897D0C.dita"><apiname>CRSAPKCS1v15Encryptor</apiname></xref>, <xref href="GUID-57C40DCA-8340-38B5-9777-2863C8F88B59.dita"><apiname>CPaddingNone</apiname></xref>, <xref href="GUID-723F64D1-01C5-3A03-B987-0FB862EE8EDE.dita"><apiname>CPaddingPKCS1Signature</apiname></xref>,
+and <xref href="GUID-CC2347BE-3272-3DDF-8BDD-B44F5C0026B3.dita"><apiname>CPaddingSSLv3</apiname></xref></title>
+<image href="GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e614538_href.png" placement="inline"/>
+</fig> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1" xml:lang="en"><title>Symmetric
+ciphers -- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-A66ADA26-979E-5B4A-824F-29C182AFCB24-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-1-1"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-6F996812-1D73-509B-9CED-DD672728D597-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-2">What are symmetric ciphers?</xref>  </p> </li>
+<li id="GUID-46055BED-B538-5B49-BD43-A2E3AA3368E8-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-1-2"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3">Block and stream ciphers</xref>  </p> </li>
+<li id="GUID-5B9FF3E3-3732-5A75-B429-23B318C0CCBF-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-1-3"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-A4E43A90-A66F-5868-BD94-DA709B75431B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-4">Types of symmetric algorithms supported</xref>  </p> </li>
+<li id="GUID-26930CA6-C2AF-58DB-87AB-803481AA3DED-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-1-4"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-66E8AD5D-A9FF-51E3-897D-D5EC3D66903A-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5">Base classes and their derived classes</xref>  </p> </li>
+</ul>
+<section id="GUID-6F996812-1D73-509B-9CED-DD672728D597-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-2"><title>What are symmetric
+ciphers? </title> <p>Symmetric algorithms are much faster than asymmetric
+algorithms so are used to encrypt and decrypt large amounts of data. In an
+informal setting, symmetric ciphers can be thought of as a mapping of some
+plaintext to ciphertext, via some well-known transformation function, dependent
+on a single secret key. Symmetric algorithms have the property that if a message
+is encrypted under a given key, it can only be decrypted using the same key: </p> <fig id="GUID-FDB090BE-13DA-5941-8403-F42C3DF880BF-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-2-3">
+<title> The diagram above shows the encryption and decryption process using:
+a symmetric algorithm; a plaintext message, M; a symmetric key, K; and the
+ciphertext, K(M).</title>
+<image href="GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e596171_href.png" placement="inline"/>
+</fig> <p>So it provides secrecy and also some kind of authentication. If
+Alice encrypts a secret using a key known only to her, then only she can access
+the secrets. </p><p>It can also be used for communication: if Alice shares
+a key with Bob (and only Bob), then she can encrypt her messages with that
+key and send it to Bob, and only Bob can decrypt them. In this case the key
+is a 'shared secret' enabling private communications. </p><p>There are two
+basic types of symmetric ciphers: <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3">block
+ciphers and stream ciphers</xref>. </p> </section>
+<section id="GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3"><title>Block and stream
+ciphers</title> <ul>
+<li id="GUID-D0F3A85C-2DB3-57BE-A12B-102943DB68C9-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3-2-1"><p> <b> Stream ciphers</b> are
+essentially functions that are initialized with a key, and output a stream
+of pseudorandom bits, this 'keystream' is typically XOR-ed with the plaintext
+to generate the ciphertext. So they encrypt a bit of plaintext at a time.
+They map an <i>n</i> -bit stream of plaintext to a <i>n</i> -bit stream of
+ciphertext. </p> </li>
+<li id="GUID-25F8F07B-C60E-5B6D-9224-B7E4E89D15A3-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3-2-2"><p> <b>Block ciphers</b> encrypt
+several bits at once in a fixed-size block. That is, they map <i>m</i>  <i>n</i> -bit
+blocks of plaintext to <i>m</i>  <i>n</i> -bit blocks of ciphertext. The cipher
+and its mode of operation define the block size: the plaintext is split up
+into appropriately-sized blocks and each block is fed into the cipher. </p> <p>There
+are two issues here that don't occur with stream ciphers: </p> <ul>
+<li id="GUID-2C88F6DF-B8F8-5DF3-8955-03DA02371DEC-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3-2-2-3-1"><p> <b> padding</b>: the
+total size of the input has to be a multiple of the block size, so the plaintext
+usually has to be padded to fit (see the class <xref href="GUID-FFD4A90B-CCF7-33D2-802A-A44E2434FAE9.dita"><apiname>CPadding</apiname></xref>).
+Optionally, instead of padding out a plaintext message to fit in a block,
+block ciphers allow buffering of partial input blocks until the remainder
+of the block is given as input. (see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5">How
+does buffering work within the symmetric cipher framework?</xref> and <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2129" scope="external">PKCS#7</xref>). </p> </li>
+<li id="GUID-EE6C6890-8F7E-50AD-AEB9-10C43E931DE9-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-3-2-2-3-2"><p> <b>combining blocks</b>:
+if you just encrypt each plaintext block with the cipher and then concatenate
+the ciphertext blocks, then an attacker who knows something about the structure
+can switch the order of the ciphertext blocks to alter the meaning of the
+message. For example, if the plaintext includes instructions like 'pay £XXX
+to account holder ABC, reference number YYY', then an attacker could replace
+the encryption of XXX with some of the encryption of YYY. This leads to other
+techniques for combining blocks, called modes, where, for example, the output
+of the last block is fed into the input for the next one. So, the output is
+not just a function of that plaintext block and key, but is a function of
+that plaintext block, the key, and all preceding ciphertext blocks (see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-71CD8B41-219D-5D07-8C99-47D68668A880-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-3">Symmetric
+Modes</xref>). </p> </li>
+</ul> </li>
+</ul> <p>Both stream ciphers and block ciphers are provided by the API with
+a similar interface. Block ciphers usually need padding for non completed
+blocks. The API allows the user to choose the padding to be added at the end
+of the last encrypted block or to be checked and removed from the last decrypted
+block. </p> </section>
+<section id="GUID-A4E43A90-A66F-5868-BD94-DA709B75431B-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-4"><title>Types of symmetric
+algorithms supported</title> <p>The following symmetric algorithms are supported: </p> <table id="GUID-25F43544-4556-544B-B010-76B0E091B80C-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-4-3">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>Symmetric algorithm</entry>
+<entry>Type</entry>
+<entry>Specified in:</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>AES (Advanced Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" scope="external">FIPS-197</xref> </p> </entry>
+</row>
+<row>
+<entry><p>DES (Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>3DES (Triple Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>RC2-128 </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2268.txt" scope="external">RFC
+2268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>ARC4 ('alleged' RC4) </p> </entry>
+<entry><p>Stream cipher </p> </entry>
+<entry><p>the internet and a posting to sci.crypt in 1994. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-66E8AD5D-A9FF-51E3-897D-D5EC3D66903A-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5"><title>Base classes
+and their derived classes</title> <p>The symmetric cipher API is used by Networking
+(TLS/IPSec). </p> <p> <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> is the abstract
+base class that allows a client to use the supported symmetric algorithms
+listed above. It allows clients to encrypt and decrypt without having to know
+anything about which encryption algorithm is currently in use. </p> <p>The
+PKCS5 API (the <codeph>TPKCS5KDF</codeph> class, also see <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita">Password
+Based Encryption</xref>) offers Key Derivation Support that allows the derivation
+of deterministic arbitrary length byte streams from an input string. The output
+byte stream is generated using multiple iterations of a SHA-1 message digest
+(<codeph>CSHA1</codeph>) and is suitable for use as a cryptographic symmetric
+key. </p> <p>The diagrams below show the main classes used in symmetric cipher
+framework. Blue dotted arrows indicate that a class is contained or used by
+another class. The arrows are labelled with the variable(s) through which
+the pointed class is accessible. The colour of the boxes indicates the type
+of Symbian class, i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class.
+For detailed information on each component see the Cryptography API Reference
+material. </p> <p><b><xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> and derived classes</b> </p> <fig id="GUID-B11D8EE9-F078-57B2-9453-3ABF1FC0AAA1-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5-7">
+<title>The inheritance diagram shows the <codeph>CSymmetricCipher</codeph> abstract
+base class and its derived abstract classes <codeph>CBufferedTransformation</codeph> and <codeph>CStreamCipher</codeph> used
+for block and stream ciphers respectively. Also shown are the following derived
+classes: <codeph>CBufferedDecryptor</codeph>, <codeph>CBufferedEncryptor</codeph>, <codeph>CARC4</codeph>,
+and <codeph>CNullCipher</codeph>.</title>
+<image href="GUID-5F72210C-1636-584D-9D89-987D25136975_d0e596477_href.png" placement="inline"/>
+</fig> <p><b><xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> and derived classes</b> </p> <fig id="GUID-EB7BFBBF-D41C-5A3A-AA53-3F5BDA019C2A-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5-9">
+<title>The inheritance diagram above shows the <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> abstract
+base class used for block ciphers. Also shown are the following derived classes: <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref>, <xref href="GUID-C65A1F55-A8D2-3393-8DC1-35656017E2B8.dita"><apiname>CModeCBCEncryptor</apiname></xref>, <xref href="GUID-7D5FBD2C-83A0-351A-96B3-C5C54FE525E6.dita"><apiname>CModeCBCDecryptor</apiname></xref>, <xref href="GUID-1C18ED2F-085F-3C3E-A93E-5FD37461E440.dita"><apiname>CDES</apiname></xref>, <xref href="GUID-E7401D77-AD0E-3B8F-A7CC-23ADA5151DB6.dita"><apiname>CDESEncryptor</apiname></xref>, <xref href="GUID-249270AC-907B-3E46-AFDB-131FDC6F612A.dita"><apiname>CDESDecryptor</apiname></xref>, <xref href="GUID-90A671B0-756E-3773-8429-6441D1594F4B.dita"><apiname>C3DES</apiname></xref>, <xref href="GUID-B931DBB9-4484-33FD-9E94-6F256ABD5C68.dita"><apiname>C3DESEncryptor</apiname></xref>, <xref href="GUID-C693C22D-04C5-3C9E-8605-0EA90F723AF3.dita"><apiname>C3DESDecryptor</apiname></xref>, <xref href="GUID-BEE18CDE-CFB6-3116-9FAE-046780D4D006.dita"><apiname>CRC2</apiname></xref>, <xref href="GUID-19F20C86-5722-3A35-B17D-3830D18CC7FC.dita"><apiname>CRC2Encryptor</apiname></xref>, <xref href="GUID-E6FD8DF9-258B-39BC-8C39-ABF7434A29B5.dita"><apiname>CRC2Decryptor</apiname></xref>, <xref href="GUID-B0AEE24A-91A6-335E-AD64-C9DDCC1F81A9.dita"><apiname>CRijndael</apiname></xref>, <xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>, and <xref href="GUID-51666543-0256-3E0D-BF5F-8716753C5921.dita"><apiname>CAESDecryptor</apiname></xref>.</title>
+<image href="GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e596557_href.png" placement="inline"/>
+</fig> <p id="GUID-A8F9A25F-B83E-5FE7-840F-4DCF246D3D96-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5-10"><b>CPadding and derived
+classes</b> </p> <fig id="GUID-648F7604-A3C6-57EB-9B34-7F8079549D9C-GENID-1-12-1-26-1-1-9-1-4-1-5-1-2-5-11">
+<title>Above is an inheritance diagram showing the CPadding abstract base
+class used with block ciphers. Also shown are the following derived classes: <xref href="GUID-B7090C61-ECC7-3E8A-8D19-75C9170B0135.dita"><apiname>CPaddingPKCS7</apiname></xref>, <xref href="GUID-3150ECC9-CF8E-3890-91CD-87F5EBCE550E.dita"><apiname>CPaddingPKCS1Encryption</apiname></xref>, <xref href="GUID-F845CB30-7ABE-3EB6-B1B9-C72581897D0C.dita"><apiname>CRSAPKCS1v15Encryptor</apiname></xref>, <xref href="GUID-57C40DCA-8340-38B5-9777-2863C8F88B59.dita"><apiname>CPaddingNone</apiname></xref>, <xref href="GUID-723F64D1-01C5-3A03-B987-0FB862EE8EDE.dita"><apiname>CPaddingPKCS1Signature</apiname></xref>,
+and <xref href="GUID-CC2347BE-3272-3DDF-8BDD-B44F5C0026B3.dita"><apiname>CPaddingSSLv3</apiname></xref></title>
+<image href="GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e596593_href.png" placement="inline"/>
+</fig> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8" xml:lang="en"><title>Symmetric
-ciphers -- guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-A66ADA26-979E-5B4A-824F-29C182AFCB24"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-6F996812-1D73-509B-9CED-DD672728D597">What are symmetric ciphers?</xref>  </p> </li>
-<li id="GUID-46055BED-B538-5B49-BD43-A2E3AA3368E8"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B">Block and stream ciphers</xref>  </p> </li>
-<li id="GUID-5B9FF3E3-3732-5A75-B429-23B318C0CCBF"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-A4E43A90-A66F-5868-BD94-DA709B75431B">Types of symmetric algorithms supported</xref>  </p> </li>
-<li id="GUID-26930CA6-C2AF-58DB-87AB-803481AA3DED"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-66E8AD5D-A9FF-51E3-897D-D5EC3D66903A">Base classes and their derived classes</xref>  </p> </li>
-</ul>
-<section id="GUID-6F996812-1D73-509B-9CED-DD672728D597"><title>What are symmetric
-ciphers? </title> <p>Symmetric algorithms are much faster than asymmetric
-algorithms so are used to encrypt and decrypt large amounts of data. In an
-informal setting, symmetric ciphers can be thought of as a mapping of some
-plaintext to ciphertext, via some well-known transformation function, dependent
-on a single secret key. Symmetric algorithms have the property that if a message
-is encrypted under a given key, it can only be decrypted using the same key: </p> <fig id="GUID-FDB090BE-13DA-5941-8403-F42C3DF880BF">
-<title> The diagram above shows the encryption and decryption process using:
-a symmetric algorithm; a plaintext message, M; a symmetric key, K; and the
-ciphertext, K(M).</title>
-<image href="GUID-669190F8-3BE9-58FC-B689-00F06FDAD74D_d0e624065_href.png" placement="inline"/>
-</fig> <p>So it provides secrecy and also some kind of authentication. If
-Alice encrypts a secret using a key known only to her, then only she can access
-the secrets. </p><p>It can also be used for communication: if Alice shares
-a key with Bob (and only Bob), then she can encrypt her messages with that
-key and send it to Bob, and only Bob can decrypt them. In this case the key
-is a 'shared secret' enabling private communications. </p><p>There are two
-basic types of symmetric ciphers: <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita#GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8/GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B">block
-ciphers and stream ciphers</xref>. </p> </section>
-<section id="GUID-BDF6E245-AE19-55D6-89ED-BCBE0FCF006B"><title>Block and stream
-ciphers</title> <ul>
-<li id="GUID-D0F3A85C-2DB3-57BE-A12B-102943DB68C9"><p> <b> Stream ciphers</b> are
-essentially functions that are initialized with a key, and output a stream
-of pseudorandom bits, this 'keystream' is typically XOR-ed with the plaintext
-to generate the ciphertext. So they encrypt a bit of plaintext at a time.
-They map an <i>n</i> -bit stream of plaintext to a <i>n</i> -bit stream of
-ciphertext. </p> </li>
-<li id="GUID-25F8F07B-C60E-5B6D-9224-B7E4E89D15A3"><p> <b>Block ciphers</b> encrypt
-several bits at once in a fixed-size block. That is, they map <i>m</i>  <i>n</i> -bit
-blocks of plaintext to <i>m</i>  <i>n</i> -bit blocks of ciphertext. The cipher
-and its mode of operation define the block size: the plaintext is split up
-into appropriately-sized blocks and each block is fed into the cipher. </p> <p>There
-are two issues here that don't occur with stream ciphers: </p> <ul>
-<li id="GUID-2C88F6DF-B8F8-5DF3-8955-03DA02371DEC"><p> <b> padding</b>: the
-total size of the input has to be a multiple of the block size, so the plaintext
-usually has to be padded to fit (see the class <xref href="GUID-FFD4A90B-CCF7-33D2-802A-A44E2434FAE9.dita"><apiname>CPadding</apiname></xref>).
-Optionally, instead of padding out a plaintext message to fit in a block,
-block ciphers allow buffering of partial input blocks until the remainder
-of the block is given as input. (see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD">How
-does buffering work within the symmetric cipher framework?</xref> and <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2129" scope="external">PKCS#7</xref>). </p> </li>
-<li id="GUID-EE6C6890-8F7E-50AD-AEB9-10C43E931DE9"><p> <b>combining blocks</b>:
-if you just encrypt each plaintext block with the cipher and then concatenate
-the ciphertext blocks, then an attacker who knows something about the structure
-can switch the order of the ciphertext blocks to alter the meaning of the
-message. For example, if the plaintext includes instructions like 'pay £XXX
-to account holder ABC, reference number YYY', then an attacker could replace
-the encryption of XXX with some of the encryption of YYY. This leads to other
-techniques for combining blocks, called modes, where, for example, the output
-of the last block is fed into the input for the next one. So, the output is
-not just a function of that plaintext block and key, but is a function of
-that plaintext block, the key, and all preceding ciphertext blocks (see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-71CD8B41-219D-5D07-8C99-47D68668A880">Symmetric
-Modes</xref>). </p> </li>
-</ul> </li>
-</ul> <p>Both stream ciphers and block ciphers are provided by the API with
-a similar interface. Block ciphers usually need padding for non completed
-blocks. The API allows the user to choose the padding to be added at the end
-of the last encrypted block or to be checked and removed from the last decrypted
-block. </p> </section>
-<section id="GUID-A4E43A90-A66F-5868-BD94-DA709B75431B"><title>Types of symmetric
-algorithms supported</title> <p>The following symmetric algorithms are supported: </p> <table id="GUID-25F43544-4556-544B-B010-76B0E091B80C">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Symmetric algorithm</entry>
-<entry>Type</entry>
-<entry>Specified in:</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>AES (Advanced Encryption Standard) </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" scope="external">FIPS-197</xref> </p> </entry>
-</row>
-<row>
-<entry><p>DES (Data Encryption Standard) </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>3DES (Triple Data Encryption Standard) </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>RC2-128 </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2268.txt" scope="external">RFC
-2268</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>ARC4 ('alleged' RC4) </p> </entry>
-<entry><p>Stream cipher </p> </entry>
-<entry><p>the internet and a posting to sci.crypt in 1994. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-<section id="GUID-66E8AD5D-A9FF-51E3-897D-D5EC3D66903A"><title>Base classes
-and their derived classes</title> <p>The symmetric cipher API is used by Networking
-(TLS/IPSec). </p> <p> <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> is the abstract
-base class that allows a client to use the supported symmetric algorithms
-listed above. It allows clients to encrypt and decrypt without having to know
-anything about which encryption algorithm is currently in use. </p> <p>The
-PKCS5 API (the <codeph>TPKCS5KDF</codeph> class, also see <xref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita">Password
-Based Encryption</xref>) offers Key Derivation Support that allows the derivation
-of deterministic arbitrary length byte streams from an input string. The output
-byte stream is generated using multiple iterations of a SHA-1 message digest
-(<codeph>CSHA1</codeph>) and is suitable for use as a cryptographic symmetric
-key. </p> <p>The diagrams below show the main classes used in symmetric cipher
-framework. Blue dotted arrows indicate that a class is contained or used by
-another class. The arrows are labelled with the variable(s) through which
-the pointed class is accessible. The colour of the boxes indicates the type
-of Symbian class, i.e., <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class.
-For detailed information on each component see the Cryptography API Reference
-material. </p> <p><b><xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> and derived classes</b> </p> <fig id="GUID-B11D8EE9-F078-57B2-9453-3ABF1FC0AAA1">
-<title>The inheritance diagram shows the <codeph>CSymmetricCipher</codeph> abstract
-base class and its derived abstract classes <codeph>CBufferedTransformation</codeph> and <codeph>CStreamCipher</codeph> used
-for block and stream ciphers respectively. Also shown are the following derived
-classes: <codeph>CBufferedDecryptor</codeph>, <codeph>CBufferedEncryptor</codeph>, <codeph>CARC4</codeph>,
-and <codeph>CNullCipher</codeph>.</title>
-<image href="GUID-5F72210C-1636-584D-9D89-987D25136975_d0e624371_href.png" placement="inline"/>
-</fig> <p><b><xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> and derived classes</b> </p> <fig id="GUID-EB7BFBBF-D41C-5A3A-AA53-3F5BDA019C2A">
-<title>The inheritance diagram above shows the <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> abstract
-base class used for block ciphers. Also shown are the following derived classes: <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref>, <xref href="GUID-C65A1F55-A8D2-3393-8DC1-35656017E2B8.dita"><apiname>CModeCBCEncryptor</apiname></xref>, <xref href="GUID-7D5FBD2C-83A0-351A-96B3-C5C54FE525E6.dita"><apiname>CModeCBCDecryptor</apiname></xref>, <xref href="GUID-1C18ED2F-085F-3C3E-A93E-5FD37461E440.dita"><apiname>CDES</apiname></xref>, <xref href="GUID-E7401D77-AD0E-3B8F-A7CC-23ADA5151DB6.dita"><apiname>CDESEncryptor</apiname></xref>, <xref href="GUID-249270AC-907B-3E46-AFDB-131FDC6F612A.dita"><apiname>CDESDecryptor</apiname></xref>, <xref href="GUID-90A671B0-756E-3773-8429-6441D1594F4B.dita"><apiname>C3DES</apiname></xref>, <xref href="GUID-B931DBB9-4484-33FD-9E94-6F256ABD5C68.dita"><apiname>C3DESEncryptor</apiname></xref>, <xref href="GUID-C693C22D-04C5-3C9E-8605-0EA90F723AF3.dita"><apiname>C3DESDecryptor</apiname></xref>, <xref href="GUID-BEE18CDE-CFB6-3116-9FAE-046780D4D006.dita"><apiname>CRC2</apiname></xref>, <xref href="GUID-19F20C86-5722-3A35-B17D-3830D18CC7FC.dita"><apiname>CRC2Encryptor</apiname></xref>, <xref href="GUID-E6FD8DF9-258B-39BC-8C39-ABF7434A29B5.dita"><apiname>CRC2Decryptor</apiname></xref>, <xref href="GUID-B0AEE24A-91A6-335E-AD64-C9DDCC1F81A9.dita"><apiname>CRijndael</apiname></xref>, <xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>, and <xref href="GUID-51666543-0256-3E0D-BF5F-8716753C5921.dita"><apiname>CAESDecryptor</apiname></xref>.</title>
-<image href="GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e624451_href.png" placement="inline"/>
-</fig> <p id="GUID-A8F9A25F-B83E-5FE7-840F-4DCF246D3D96"><b>CPadding and derived
-classes</b> </p> <fig id="GUID-648F7604-A3C6-57EB-9B34-7F8079549D9C">
-<title>Above is an inheritance diagram showing the CPadding abstract base
-class used with block ciphers. Also shown are the following derived classes: <xref href="GUID-B7090C61-ECC7-3E8A-8D19-75C9170B0135.dita"><apiname>CPaddingPKCS7</apiname></xref>, <xref href="GUID-3150ECC9-CF8E-3890-91CD-87F5EBCE550E.dita"><apiname>CPaddingPKCS1Encryption</apiname></xref>, <xref href="GUID-F845CB30-7ABE-3EB6-B1B9-C72581897D0C.dita"><apiname>CRSAPKCS1v15Encryptor</apiname></xref>, <xref href="GUID-57C40DCA-8340-38B5-9777-2863C8F88B59.dita"><apiname>CPaddingNone</apiname></xref>, <xref href="GUID-723F64D1-01C5-3A03-B987-0FB862EE8EDE.dita"><apiname>CPaddingPKCS1Signature</apiname></xref>,
-and <xref href="GUID-CC2347BE-3272-3DDF-8BDD-B44F5C0026B3.dita"><apiname>CPaddingSSLv3</apiname></xref></title>
-<image href="GUID-0FD02CAD-B687-50C0-8E44-74ED9B4A936E_d0e624487_href.png" placement="inline"/>
-</fig> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-715D065D-4FF7-55D0-882E-3B37F36369C4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-715D065D-4FF7-55D0-882E-3B37F36369C4"><title>Overview of Unified Trace Solution</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Unified Trace solution is a framework that includes the UTrace API, a trace configuration tool and various APIs to allow extending the solution further. </p> <p>UTrace API is used to specify traces in the source code to output trace data. It uses a trace configuration tool to send the traces events and trace data. </p> <p>The trace configuration tool enables you to configure and output traces from a device. </p> <section><title>Purpose</title> <p>The Unified Trace solution provides a platform independent, generic, and unified trace framework for outputting trace data. Trace data can be used to debug difficult run-time behaviour defects at all stages of the device creation cycle. </p> <p>The Unified Trace solution also provides a filtering mechanism to ensure system intrusion is minimised to a maximum extent. Additionally, a user can extend or modify the Unified Trace solution to suit specific requirements. </p> </section> <section><title>Intended audience</title> <p>This guide is intended to application developers and device creators, who wants to do any or all of the following tasks: </p> <ul><li id="GUID-9E01A221-22C5-5540-99A2-94424DA564B1"><p>Instrument components to enable tracing </p> </li> <li id="GUID-DBABC106-0F8B-55CD-8A9C-AFB024D53A17"><p>Configure the trace framework optimally for a specific environment </p> </li> <li id="GUID-6E5BD3F5-F927-5B8C-B925-C97390A5E80B"><p>Enable and output traces for post processing </p> </li> <li id="GUID-E0967E3E-4491-58C0-ACD8-D4E87483A2A5"><p>Write input and output plug-ins for a specific environment. </p> </li> </ul> </section> <section><title>Required background</title> <p>Unified Trace solution users should be familiar with the following: </p> <ul><li id="GUID-469FB9D3-8C28-5800-B5D4-8ADC84007A76"><p>Symbian platform </p> </li> <li id="GUID-35CFCA0A-A815-582F-BE59-2FAE6D03DD8A"><p>BTrace. </p> </li> <li id="GUID-B94F6D34-9D25-5103-B346-4805A7742B03"><p>ECom framework. For more information on ECom, see <i>Using ECom</i>. </p> </li> </ul> </section> <section id="GUID-A7E551D1-DED5-5BC7-A19F-523B65B2AE00"><title>Key concepts and terms</title> <p>This section briefly explains important concepts of the Unified Trace solution. </p> <dl><dlentry><dt>UTrace</dt> <dd><p>The UTrace API is used to output significant information about a component. It is based on BTrace and extends BTrace, a tracer that is present in the kernel that can handle fast tracing both on kernel and user side of the OS. </p> </dd> </dlentry> <dlentry><dt>Trace configuration tool</dt> <dd><p>A trace configuration tool is required to configure and output traces from a device. </p> </dd> </dlentry> </dl> <p>The following definitions describe the distinctions between the different types of users of the Unified Trace Solution: </p> <dl><dlentry><dt>Instrumentor</dt> <dd><p>Symbian developers who wish to add instrumentation to their user or kernel side components are referred as an Instrumentor. </p> <p>The component could be a device-driver, a communications stack, any other Symbian platform component, a UIQ/S60/MOAP component or an application. </p> <p>An Instrumentor inserts trace points into a component for the following reasons: </p> <ul><li id="GUID-7DFF1E51-4185-5D2B-BBB0-85A50CFB641C"><p>debugging the component </p> </li> <li id="GUID-FAA1840A-8F3E-545B-9EDF-535BBFA6E333"><p>debugging some secondary component that interacts with the component </p> </li> <li id="GUID-B7428C70-5B1C-5583-8797-DB71E6725A68"><p>profiling and analysing the performance of the component </p> </li> <li id="GUID-57960BDD-14E7-5426-96E2-133907664E31"><p>recording high-level system characteristics to aid later diagnosis. </p> </li> </ul> <p>For more information on inserting and enabling traces, see <xref href="GUID-AFB1F350-C5D3-5495-AE20-1AA6888B6FB1.dita">How to insert trace points in a component</xref> and <xref href="GUID-D5984540-A411-52ED-B435-94C67F34ADD5.dita">How to enable tracing</xref>. </p> </dd> </dlentry> <dlentry><dt>Trace Collector</dt> <dd><p>Symbian developers, system characteristic analysts, system integrators and testers, who wish to extract trace data from the system by transporting the raw binary output off the device for post process analysis are referred as Trace Collector. </p> <p>Trace Collectors are a superset of Instrumentors. </p> </dd> </dlentry> <dlentry><dt>Trace Environment Developers</dt> <dd><p>Symbian developers who want to write their own output plug-in specific to their hardware environment. </p> </dd> </dlentry> </dl> <p>The following definitions describe some important key terms the user needs to be familiar with before using the Unified Trace solution: </p> <dl><dlentry><dt>Instrumenting</dt> <dd><p>Inserting traces into the code. </p> </dd> </dlentry> <dlentry><dt>Tracing</dt> <dd><p>Capturing the trace data in a Symbian device at run-time, transferring it to a PC and storing in a file using UTrace. Trace data can be used to debug difficult run-time behaviour defects at all stages of the device creation cycle. </p> </dd> </dlentry> <dlentry><dt>BTrace</dt> <dd><p>Collecting traces from various system components. </p> </dd> </dlentry> <dlentry><dt>Filters</dt> <dd><p>Filters are used to identify and select the traces that have to be logged. They also enable grouping of traces to ease the implementation of host-side trace analysis tools; such as, third party or Symbian log processing viewers. </p> <p>The Unified Trace solution provides a filtering mechanism to ensure system intrusion is minimised as much as possible. Trace points, which have been compiled into the source component by the Instrumentor, are switched off (disabled) on the device at run-time. The Trace Collector then needs to actively set (enable) which trace packets they want to output by changing the configuration filter settings to match the filter identifiers in the relevant trace points (through the trace configuration tool). </p> <p> <b>Types of filters</b>  </p> <p>Following are the two types of filters: </p> <ul><li id="GUID-7C2DB64F-6CE6-5761-AEBC-8F98D02758C1"><p> <b> Primary filter:</b> Primary filters enable a low intrusion filtering mechanism, which is essential when instrumenting critical sections of the kernel or other key services. There are 256 primary filters available. </p> <p>The 256 primary filters are split into several ranges, each with their own owner and purpose. </p> <p>A number of Symbian primary filters are defined over and above the pre-existing primary filters provided in the kernel for system characteristics. Instrumentors can find the current definition in the <filepath>epoc32/include/e32btrace.h</filepath> file and use any of the undefined filters within the ranges allocated to them in it. </p> <p>The undefined primary filter ranges are are intended to be defined by the Symbian developers according to their own requirements. The distinction between Base-Port and UI or Applications is intended as a strong recommendation. It allows fast (primary filtered only) UTrace categories to be used in device drivers and other Base-Port code, without clashing with more general trace frameworks implemented for application layer code. </p> </li> <li id="GUID-C61EA20D-200C-5A0D-9788-08A99A9CD80D"><p> <b>Secondary filter:</b> Secondary filters allow a finer level of instrumentation and can be optionally applied to traces. It is recommended that secondary filters match the UID3 of the binary emitting the trace. Trace Collector can enable or disable the secondary filtering functionality using the configuration file. If the secondary filtering functionality is disabled, traces will be generated according to the primary filter identifier; regardless of the secondary filters set in the configuration file or assigned to the trace points. </p> </li> </ul> <p> <b>Relationship between primary and secondary filters</b>  </p> <p>There are six filtering combinations that a Trace Collector can implement for tracing the data, provided in the following table. </p> <table id="GUID-8C32713A-2352-579F-85B3-EA933CBD4A5F"><tgroup cols="6"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/><colspec colname="col5"/><thead><row><entry>Scenario</entry> <entry>Component trace point instrumentation</entry> <entry>Primary filter (P)</entry> <entry>Secondary filtering functionality</entry> <entry>Secondary filter (S)</entry> <entry>Trace output result</entry> </row> </thead> <tbody><row><entry><p>1 </p> </entry> <entry><p>P</p> </entry> <entry><p>Disabled </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>No </p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>P</p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>3</p> </entry> <entry><p>P and S </p> </entry> <entry><p>Disabled </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>No </p> </entry> </row> <row><entry><p>4</p> </entry> <entry><p>P and S </p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Disabled </p> </entry> <entry><p>Not applicable </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>5</p> </entry> <entry><p>P and S </p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Disabled </p> </entry> <entry><p>No </p> </entry> </row> <row><entry><p>6</p> </entry> <entry><p>P and S </p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Enabled </p> </entry> <entry><p>Yes </p> </entry> </row> </tbody> </tgroup> </table> </dd> </dlentry> <dlentry><dt>Trace record format</dt> <dd><p>The trace record format consists of a header and a payload. The minimum trace record consists of four bytes. Note that the trace record and payload must always be four byte aligned. For detailed information on header format, such as, the flags field and ROM build time settings related to timestamp. </p> <p>Note the following important distinctions in UTrace: </p> <ul><li id="GUID-229B6039-CD59-5A73-9B0A-F5190D15B256"><p>The category field in BTrace is referred to as the primary filter in UTrace. </p> </li> <li id="GUID-1B52E89D-E2C4-5477-B7ED-7DC9149C1BFB"><p>The secondary category field in BTrace is referred to as the secondary filter in UTrace. </p> </li> <li id="GUID-E846C634-2D2B-5D37-9B11-373BAF4D7919"><p>The sub-category field in BTrace is referred to as schema in UTrace. </p> </li> </ul> <fig id="GUID-73DE2A6F-E989-516D-9687-7ECCD0E657FE"><title>
-                  Trace record 
-                </title> <image href="GUID-B938FAE4-D854-54E4-BC06-A9B7B55FE4F8_d0e744115_href.png" placement="inline"/></fig> </dd> </dlentry> </dl> </section> <section><title>Implementation consideration</title> <p>Currently, the Unified Trace solution does not support security. Instrumentors must ensure that the trace points do not contain any sensitive information that can be used to undermine the platform security. </p> </section> <section><title>Migration issue</title> <p>The trace data available for all Symbian platform versions will not be the same. This is because of increasing instrumentation within Symbian platform with every release. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-715E0EA4-8B3D-5DDF-B773-922E367B114F"><title>Audio Input Streaming Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides an overview of Audio Input Streaming. </p> <section><title>Purpose</title> <p>Audio Input Streaming is the interface to streaming sampled audio data from the low level audio controller part of the Multimedia Framework (MMF). </p> <p><b>Audio Input Streaming Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-8B265CE9-32F7-50B2-A441-9297ACAA50E7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <b>mediaclientaudioinputstream.dll</b>  </p> </entry> <entry><p> <b>mediaclientaudioinputstream.lib</b>  </p> </entry> <entry><p>These files are used for implementing Audio Input Streaming. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>How the Audio Input Streaming classes interact with other components of MMF is shown below: </p> <fig id="GUID-F8971636-AAF3-5DE3-A8D6-40310AB3FE0F"><title>
              Audio input streaming overview 
-          </title> <image href="GUID-BE3F31A9-959C-5854-8515-052774D8358E_d0e516289_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>Streamed audio data is sent and received incrementally. This means: </p> <ul><li id="GUID-4FEF36CA-0938-5897-B799-6C7E4BFB5B94"><p>sound clips sent to the low level audio controller (audio play) can be sent as they arrive rather than waiting until the entire clip is received. </p> <p>The user of the API should maintain the data fragments in a queue before sending them to the server. If the user attempts to send data faster than the server can receive it, the excess data fragments are maintained in another client side queue (invisible to the user), whose elements are references to the buffers passed to it. The server notifies the client using a callback each time it has received a data fragment. This indicates to the client that the data fragment can be deleted. </p> </li> <li id="GUID-EA299CC6-F891-5F49-885B-BC42A564FCFE"><p>sound clips that are being captured by the low level audio controller (audio record) can be read incrementally without having to wait until audio capture is complete. </p> <p>The low level audio controller maintains the received buffers where it can place the audio data that is being captured. The client uses a read function to read the received data into destination descriptors. </p> </li> </ul> <p>The client is also notified (for audio play and record) when the stream is opened and available for use (opening takes place asynchronously), and when the stream is closed. </p> <p>This API can only be used to stream audio data, with the data being stored or sourced from a descriptor. Client applications must ensure that the data is in 16 bit PCM format as this is the only format supported. The API does not support mixing. A priority mechanism is used to control access to the sound device by more than one client. </p> </section> <section><title>Key Audio Input Streaming Classes</title> <p>The functionality provided by Audio Input Streaming is contained within the <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref> class. </p> </section> <section><title>Using Audio Input Streaming</title> <p>Clients can use Audio Input Streaming to: </p> <ul><li id="GUID-9C700094-649A-5F8F-9147-75B9A4C5F079"><p>Open, set audio and mobile equipment properties, read from and close the audio stream. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita">Audio Input Streaming Tutorial</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-BE3F31A9-959C-5854-8515-052774D8358E_d0e523749_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>Streamed audio data is sent and received incrementally. This means: </p> <ul><li id="GUID-4FEF36CA-0938-5897-B799-6C7E4BFB5B94"><p>sound clips sent to the low level audio controller (audio play) can be sent as they arrive rather than waiting until the entire clip is received. </p> <p>The user of the API should maintain the data fragments in a queue before sending them to the server. If the user attempts to send data faster than the server can receive it, the excess data fragments are maintained in another client side queue (invisible to the user), whose elements are references to the buffers passed to it. The server notifies the client using a callback each time it has received a data fragment. This indicates to the client that the data fragment can be deleted. </p> </li> <li id="GUID-EA299CC6-F891-5F49-885B-BC42A564FCFE"><p>sound clips that are being captured by the low level audio controller (audio record) can be read incrementally without having to wait until audio capture is complete. </p> <p>The low level audio controller maintains the received buffers where it can place the audio data that is being captured. The client uses a read function to read the received data into destination descriptors. </p> </li> </ul> <p>The client is also notified (for audio play and record) when the stream is opened and available for use (opening takes place asynchronously), and when the stream is closed. </p> <p>This API can only be used to stream audio data, with the data being stored or sourced from a descriptor. Client applications must ensure that the data is in 16 bit PCM format as this is the only format supported. The API does not support mixing. A priority mechanism is used to control access to the sound device by more than one client. </p> </section> <section><title>Key Audio Input Streaming Classes</title> <p>The functionality provided by Audio Input Streaming is contained within the <xref href="GUID-92BDB3AF-D9DB-35E2-AC6F-6435D3D1A4D8.dita"><apiname>CMdaAudioInputStream</apiname></xref> class. </p> </section> <section><title>Using Audio Input Streaming</title> <p>Clients can use Audio Input Streaming to: </p> <ul><li id="GUID-9C700094-649A-5F8F-9147-75B9A4C5F079"><p>Open, set audio and mobile equipment properties, read from and close the audio stream. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-1C499E7D-8099-5BE4-AE46-6143388E6ACB.dita">Audio Input Streaming Tutorial</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-718E1B9F-C05D-559A-AF69-BD9CFAF190FB_d0e24740_href.png has changed
Binary file Symbian3/PDK/Source/GUID-718E1B9F-C05D-559A-AF69-BD9CFAF190FB_d0e26707_href.png has changed
Binary file Symbian3/PDK/Source/GUID-71B31715-3B6A-50F0-86C1-8F7F76985802_d0e210702_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-71B31715-3B6A-50F0-86C1-8F7F76985802_d0e216703_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,6 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9"><title>The Font and Bitmap Server Overview</title><shortdesc>The Font and Bitmap Server (FBServ) provides a memory efficient way of using bitmaps and fonts. It stores a single instance of each bitmap in either a shared heap or in eXecute In Place (XIP) ROM and provides clients with read and (when appropriate) write access. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>RAM-based fonts and bitmaps are reference counted and retained in RAM while they are being used. When they are no longer required they are automatically deleted. </p> <section><title>Key terms</title> <dl><dlentry><dt>Bitmap</dt> <dd><p>A two-dimensional (2D) buffer (in memory) that contains the color values for individual pixels and is encapsulated by the <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> class. </p> </dd> </dlentry> <dlentry><dt>Extended bitmap</dt> <dd><p>A bitmap that contains data compressed using proprietary formats. </p> </dd> </dlentry> <dlentry><dt>Raster image</dt> <dd><p>A data structure representing a rectangular grid of pixels. Scaling raster images usually leads to a loss of quality. </p> </dd> </dlentry> <dlentry><dt> Vector image</dt> <dd><p>The use of geometrical primitives such as points, lines, curves and polygons to represent an image. Vector images can be scaled without loss of quality. </p> </dd> </dlentry> <dlentry><dt>Rasterization</dt> <dd><p>The process of converting vector image drawing instructions into a raster image that can be displayed on the screen. </p> </dd> </dlentry> <dlentry><dt>Scan line</dt> <dd><p>A row of pixels in a raster image. This use of the term is derived from its original use in a raster scanning pattern, such as a video line on the cathode ray tube (CRT) display of a television. </p> </dd> </dlentry> </dl> <p>For font-related terms, see <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita">Font and Text Services Collection Overview</xref>. </p> </section> <section><title>Architectural relationships</title> <p>The Font and Bitmap Server is tightly integrated with the BitGDI and Window Server components. It provides client-side classes for fonts, bitmaps and the typeface store. </p> <p>In use the Font and Bitmap Server is largely transparent. When a client of the Window Server opens a Window Server session, that session silently creates an <xref href="GUID-E5B29AC0-4953-385F-84C5-13EE6CB77D46.dita"><apiname>RFbsSession</apiname></xref> and stores it in Thread Local Storage (TLS). Client-side font and bitmap classes such as <xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname>CFbsFont</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> automatically find the session in TLS when they are constructed. (These are client-side objects that refer to objects in the server. Because they are heap-based classes, they have names beginning with C.) </p> <p>The Font and Bitmap Server contains the font store, which is a separate DLL provided by the <xref href="GUID-B798C19D-4030-564A-A208-D84738259D72.dita">Font Store (FntStore) component</xref>. Client-side access to the font store is through <xref href="GUID-5E287BF6-08C1-36A2-9085-F6B61CC52550.dita"><apiname>CFbsTypefaceStore</apiname></xref>. </p> </section> <section><title>Description</title> <p>The Font and Bitmap Server is a singleton process that owns fonts and bitmaps. <xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname>CFbsFont</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects are actually client-side handles to the font and bitmap objects, which are stored on a globally accessible heap while they are in use. Bitmap data is stored separately in a globally accessible disconnected chunk. </p> <fig id="GUID-51E1E299-6F2C-561F-8009-E4AF2B58A745"><image href="GUID-C3D0BA4A-AEC5-5002-916E-CB3F9FE5AC27_d0e257933_href.png" placement="inline"/></fig> <p>When the reference count of clients using a font or bitmap that is resident in RAM falls to zero, the server can delete it and free the memory. XIP ROM based bitmaps are accessed in place, not copied into RAM. </p> <p>Open fonts, which are stored in font files as vector data, must be rasterized into the Font and Bitmap Server's shared heap. Rasterizers are plug-ins to the Font Store component. There is a performance overhead to rasterizing an open font and a memory overhead for storing it. </p> </section> <section><title>API summary</title> <p>The Font and Bitmap Server presents a conventional client API through <xref href="GUID-E5B29AC0-4953-385F-84C5-13EE6CB77D46.dita"><apiname>RFbsSession</apiname></xref>, which represents the handle to a server-side session. The classes <xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname>CFbsFont</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> are client-side representations of font and bitmap classes. </p> <ul><li id="GUID-80C1D158-E216-57E2-BB6E-1CD8C208FC92"><p>The <codeph>CFbsFont</codeph> class represents fonts managed by the Font and Bitmap Server, both bitmap fonts and OpenType fonts. </p> </li> <li id="GUID-D0629C81-48F5-5A9F-9D63-EC5B9D5D624B"><p>The <codeph>CFbsBitmap</codeph> class represents bitmaps managed by the Font and Bitmap Server, both RAM and XIP ROM-based bitmaps. For RAM-based bitmaps, this class provides facilities for creating, loading, saving, and resizing bitmaps. RAM-based bitmaps are commonly loaded from a multi-bitmap file (.<filepath>mbm</filepath>) file or created as off-screen bitmaps, and then blitted to a window. For XIP ROM-based bitmaps, <codeph>CFbsBitmap</codeph> provides facilities for accessing the data. </p> </li> </ul> <p>The Font and Bitmap Server is unusual in that the <codeph>RFbsSession</codeph> is stored in client-side thread local storage (TLS). The constructors for <codeph>CFbsFont</codeph> and <codeph>CFbsBitmap</codeph> find this session handle automatically: the client program does not have to pass it as a parameter. Therefore, to most client programs, the client/server nature of using fonts and bitmaps is hidden from the API. </p> <p>The <codeph>RFbsSession</codeph> is created for clients by the Window Server’s client-side API when a Window Server session, <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession</apiname></xref>, is constructed. A Window Server client is therefore also a client of the Font and Bitmap Server. </p> <p>When a client calls, for example, the <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita#GUID-0AEE5955-C530-35F1-A904-69183331B294/GUID-1A360BAF-D2EF-3D96-8E6A-C399631EFBB9"><apiname>CWindowGc::DrawBitmap()</apiname></xref> function, the handle number of the bitmap is passed to the Window Server through inter-process communication (IPC). Like all <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> drawing commands, the handle number is stored in a client-side command buffer, which by default is flushed to the server side only when it is full. Once flushed to the server-side, the command buffer is processed by the <xref href="GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita">Window Server rendering loop</xref>. Consider the scenario where an application calls <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita#GUID-0AEE5955-C530-35F1-A904-69183331B294/GUID-1A360BAF-D2EF-3D96-8E6A-C399631EFBB9"><apiname>CWindowGc::DrawBitmap()</apiname></xref> and then closes the bitmap before the client-side buffer is flushed. There needs to be some mechanism to prevent the bitmap’s reference count from reaching zero and hence being deleted before the Window Server can render it. For this reason, <xref href="GUID-E5B29AC0-4953-385F-84C5-13EE6CB77D46.dita"><apiname>RFbsSession</apiname></xref> has a callback, which is invoked whenever a client closes a bitmap handle. The callback causes an immediate flush of the Window Server client-side command buffer. The Window Server then creates on the server side a duplicate <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> for the bitmap. This increases the bitmap's reference count and therefore prevents it from being deleted before the Window Server attempts to render it. The same mechanism applies to font handles. This mechanism is transparent to clients of the Window Server. </p> </section> </conbody><related-links><link href="GUID-A03FB1BF-F67B-519D-A904-74CA3F8375D9.dita"><linktext>Font and Bitmap Server Collection</linktext> </link> <link href="GUID-30CAE438-6CC7-5532-8727-781B8E83574A.dita"><linktext>Heap Locking in the Font and Bitmap
+<concept xml:lang="en" id="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9"><title>The Font and Bitmap Server Overview</title><shortdesc>The Font and Bitmap Server (FBServ) provides a memory efficient way of using bitmaps and fonts. It stores a single instance of each bitmap in either a shared heap or in eXecute In Place (XIP) ROM and provides clients with read and (when appropriate) write access. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>RAM-based fonts and bitmaps are reference counted and retained in RAM while they are being used. When they are no longer required they are automatically deleted. </p> <section><title>Key terms</title> <dl><dlentry><dt>Bitmap</dt> <dd><p>A two-dimensional (2D) buffer (in memory) that contains the color values for individual pixels and is encapsulated by the <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> class. </p> </dd> </dlentry> <dlentry><dt>Extended bitmap</dt> <dd><p>A bitmap that contains data compressed using proprietary formats. </p> </dd> </dlentry> <dlentry><dt>Raster image</dt> <dd><p>A data structure representing a rectangular grid of pixels. Scaling raster images usually leads to a loss of quality. </p> </dd> </dlentry> <dlentry><dt> Vector image</dt> <dd><p>The use of geometrical primitives such as points, lines, curves and polygons to represent an image. Vector images can be scaled without loss of quality. </p> </dd> </dlentry> <dlentry><dt>Rasterization</dt> <dd><p>The process of converting vector image drawing instructions into a raster image that can be displayed on the screen. </p> </dd> </dlentry> <dlentry><dt>Scan line</dt> <dd><p>A row of pixels in a raster image. This use of the term is derived from its original use in a raster scanning pattern, such as a video line on the cathode ray tube (CRT) display of a television. </p> </dd> </dlentry> </dl> <p>For font-related terms, see <xref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita">Font and Text Services Collection Overview</xref>. </p> </section> <section><title>Architectural relationships</title> <p>The Font and Bitmap Server is tightly integrated with the BitGDI and Window Server components. It provides client-side classes for fonts, bitmaps and the typeface store. </p> <p>In use the Font and Bitmap Server is largely transparent. When a client of the Window Server opens a Window Server session, that session silently creates an <xref href="GUID-E5B29AC0-4953-385F-84C5-13EE6CB77D46.dita"><apiname>RFbsSession</apiname></xref> and stores it in Thread Local Storage (TLS). Client-side font and bitmap classes such as <xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname>CFbsFont</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> automatically find the session in TLS when they are constructed. (These are client-side objects that refer to objects in the server. Because they are heap-based classes, they have names beginning with C.) </p> <p>The Font and Bitmap Server contains the font store, which is a separate DLL provided by the <xref href="GUID-B798C19D-4030-564A-A208-D84738259D72.dita">Font Store (FntStore) component</xref>. Client-side access to the font store is through <xref href="GUID-5E287BF6-08C1-36A2-9085-F6B61CC52550.dita"><apiname>CFbsTypefaceStore</apiname></xref>. </p> </section> <section><title>Description</title> <p>The Font and Bitmap Server is a singleton process that owns fonts and bitmaps. <xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname>CFbsFont</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects are actually client-side handles to the font and bitmap objects, which are stored on a globally accessible heap while they are in use. Bitmap data is stored separately in a globally accessible disconnected chunk. </p> <fig id="GUID-51E1E299-6F2C-561F-8009-E4AF2B58A745"><image href="GUID-C3D0BA4A-AEC5-5002-916E-CB3F9FE5AC27_d0e263944_href.png" placement="inline"/></fig> <p>When the reference count of clients using a font or bitmap that is resident in RAM falls to zero, the server can delete it and free the memory. XIP ROM based bitmaps are accessed in place, not copied into RAM. </p> <p>Open fonts, which are stored in font files as vector data, must be rasterized into the Font and Bitmap Server's shared heap. Rasterizers are plug-ins to the Font Store component. There is a performance overhead to rasterizing an open font and a memory overhead for storing it. </p> </section> <section><title>API summary</title> <p>The Font and Bitmap Server presents a conventional client API through <xref href="GUID-E5B29AC0-4953-385F-84C5-13EE6CB77D46.dita"><apiname>RFbsSession</apiname></xref>, which represents the handle to a server-side session. The classes <xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname>CFbsFont</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> are client-side representations of font and bitmap classes. </p> <ul><li id="GUID-80C1D158-E216-57E2-BB6E-1CD8C208FC92"><p>The <codeph>CFbsFont</codeph> class represents fonts managed by the Font and Bitmap Server, both bitmap fonts and OpenType fonts. </p> </li> <li id="GUID-D0629C81-48F5-5A9F-9D63-EC5B9D5D624B"><p>The <codeph>CFbsBitmap</codeph> class represents bitmaps managed by the Font and Bitmap Server, both RAM and XIP ROM-based bitmaps. For RAM-based bitmaps, this class provides facilities for creating, loading, saving, and resizing bitmaps. RAM-based bitmaps are commonly loaded from a multi-bitmap file (.<filepath>mbm</filepath>) file or created as off-screen bitmaps, and then blitted to a window. For XIP ROM-based bitmaps, <codeph>CFbsBitmap</codeph> provides facilities for accessing the data. </p> </li> </ul> <p>The Font and Bitmap Server is unusual in that the <codeph>RFbsSession</codeph> is stored in client-side thread local storage (TLS). The constructors for <codeph>CFbsFont</codeph> and <codeph>CFbsBitmap</codeph> find this session handle automatically: the client program does not have to pass it as a parameter. Therefore, to most client programs, the client/server nature of using fonts and bitmaps is hidden from the API. </p> <p>The <codeph>RFbsSession</codeph> is created for clients by the Window Server’s client-side API when a Window Server session, <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession</apiname></xref>, is constructed. A Window Server client is therefore also a client of the Font and Bitmap Server. </p> <p>When a client calls, for example, the <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita#GUID-0AEE5955-C530-35F1-A904-69183331B294/GUID-1A360BAF-D2EF-3D96-8E6A-C399631EFBB9"><apiname>CWindowGc::DrawBitmap()</apiname></xref> function, the handle number of the bitmap is passed to the Window Server through inter-process communication (IPC). Like all <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> drawing commands, the handle number is stored in a client-side command buffer, which by default is flushed to the server side only when it is full. Once flushed to the server-side, the command buffer is processed by the <xref href="GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita">Window Server rendering loop</xref>. Consider the scenario where an application calls <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita#GUID-0AEE5955-C530-35F1-A904-69183331B294/GUID-1A360BAF-D2EF-3D96-8E6A-C399631EFBB9"><apiname>CWindowGc::DrawBitmap()</apiname></xref> and then closes the bitmap before the client-side buffer is flushed. There needs to be some mechanism to prevent the bitmap’s reference count from reaching zero and hence being deleted before the Window Server can render it. For this reason, <xref href="GUID-E5B29AC0-4953-385F-84C5-13EE6CB77D46.dita"><apiname>RFbsSession</apiname></xref> has a callback, which is invoked whenever a client closes a bitmap handle. The callback causes an immediate flush of the Window Server client-side command buffer. The Window Server then creates on the server side a duplicate <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> for the bitmap. This increases the bitmap's reference count and therefore prevents it from being deleted before the Window Server attempts to render it. The same mechanism applies to font handles. This mechanism is transparent to clients of the Window Server. </p> </section> </conbody><related-links><link href="GUID-A03FB1BF-F67B-519D-A904-74CA3F8375D9.dita"><linktext>Font and Bitmap Server Collection</linktext> </link> <link href="GUID-30CAE438-6CC7-5532-8727-781B8E83574A.dita"><linktext>Heap Locking in the Font and Bitmap
                 Server</linktext> </link> <link href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita"><linktext>Font and Text Services Collection
                 Overview </linktext> </link> <link href="GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita"><linktext>Font Store Component Overview </linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-71E64F3E-40CB-560B-A482-CA92C7FD1AA2_d0e259612_href.png has changed
Binary file Symbian3/PDK/Source/GUID-71E64F3E-40CB-560B-A482-CA92C7FD1AA2_d0e265621_href.png has changed
Binary file Symbian3/PDK/Source/GUID-71F8553D-04A2-5F59-A469-1D08109C7A28_d0e229925_href.png has changed
Binary file Symbian3/PDK/Source/GUID-71F8553D-04A2-5F59-A469-1D08109C7A28_d0e235920_href.png has changed
--- a/Symbian3/PDK/Source/GUID-721A5765-7A9A-58F9-AFAF-ABC559207D23.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-721A5765-7A9A-58F9-AFAF-ABC559207D23.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -63,7 +63,7 @@
 information requests. </p> </li>
 </ul> <p>The class diagram of <xref href="GUID-599BA755-F3E0-36BB-9581-AEC026ECC036.dita"><apiname>CDVBHReceiverInfo</apiname></xref> is shown
 below: </p> <fig id="GUID-A659713A-CE42-5E5B-AAD9-A4E94D81C39C">
-<image href="GUID-F7181D22-8607-56CE-B8CC-77AE0E378503_d0e527048_href.png" placement="inline"/>
+<image href="GUID-F7181D22-8607-56CE-B8CC-77AE0E378503_d0e534508_href.png" placement="inline"/>
 </fig> <p>The enhanced functionality of <xref href="GUID-CC7A9DBB-559F-3773-BEA4-BD56F495F736.dita"><apiname>CDvbhReceiverInfo</apiname></xref> API
 are provided by a number of additional utilty classes, they are such as: </p> <ul>
 <li id="GUID-15AA6C87-EB57-57BC-9375-7CC6FBD3E197"><p> <xref href="GUID-495FBE09-313A-359F-84D0-763B79306C00.dita"><apiname>MDvbhNetworkIdObserver</apiname></xref> :
--- a/Symbian3/PDK/Source/GUID-7226154E-2387-5D14-A009-2A1A60617970.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7226154E-2387-5D14-A009-2A1A60617970"><title>nostrictdef</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>nostrictdef</codeph> </p> <p>By default, for wide builds, the build tools expect the <filepath>.def</filepath> files for the project to have a <filepath>u</filepath> suffix: e.g. <filepath>myprojectu.def</filepath>. If the <codeph>nostrictdef</codeph> statement is specified, the <filepath>u</filepath> suffix will not be applied to the frozen <filepath>.def</filepath> file.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e67904_href.png has changed
Binary file Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e72117_href.png has changed
Binary file Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e94853_href.png has changed
Binary file Symbian3/PDK/Source/GUID-72262200-B940-4D0C-8FA0-6628E9894E8F_d0e99051_href.png has changed
Binary file Symbian3/PDK/Source/GUID-722FAAAD-AD14-4139-857E-83B639FDEB58_d0e93155_href.png has changed
Binary file Symbian3/PDK/Source/GUID-722FAAAD-AD14-4139-857E-83B639FDEB58_d0e97353_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -119,7 +119,7 @@
 Services. Optional components can be included if you require the feature that
 the component provides. </p> <fig id="GUID-E0CF76DA-CEEB-5EC5-A700-1456F77E181B">
 <title>              Figure 1. LBS subsystem components.            </title>
-<image href="GUID-4F273D6C-073F-580B-8B1E-E23BECEFCAB1_d0e424722_href.png" placement="inline"/>
+<image href="GUID-4F273D6C-073F-580B-8B1E-E23BECEFCAB1_d0e430567_href.png" placement="inline"/>
 </fig> <p>The core components of the subsystem are as follows: </p> <ul>
 <li id="GUID-BA03EDB6-7C03-555F-8DD7-2470471E33C5"><p>Location Server Framework </p> </li>
 <li id="GUID-69726EC5-3811-55CB-A815-DEB9BF97D38F"><p>Positioning Framework </p> </li>
@@ -366,7 +366,7 @@
 Server to positioning hardware. </p> </entry>
 </row>
 <row>
-<entry><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning
+<entry><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning
 Plug-in (PSY)Information API</xref>  </p> </entry>
 <entry><p>The PSY Information API consists of a set of Central Repository
 keys that a PSY developer must use to register the PSY with the LBS subsystem.
@@ -542,7 +542,7 @@
 groups of related components. </p> <fig id="GUID-89476FC0-A771-5297-A4BC-A5933C92009D">
 <title>              Figure 2. Collections and components of the LBS System
 Model.            </title>
-<image href="GUID-281CBD4C-44AC-5E5C-B594-D798F21B131F_d0e425670_href.png" placement="inline"/>
+<image href="GUID-281CBD4C-44AC-5E5C-B594-D798F21B131F_d0e431515_href.png" placement="inline"/>
 </fig> <p>The <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration
 and Configuration Guide</xref> contains information about how to build and
 configure the components in the LBS subsystem. </p> <p>The following tables
--- a/Symbian3/PDK/Source/GUID-7235E4E9-0046-4BE1-91CF-BD52CE4489DF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7235E4E9-0046-4BE1-91CF-BD52CE4489DF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 Note that there should be no more than three links in a single query.</p>
 <fig id="GUID-0CB71881-09FD-4BF2-8275-EE203BEA178E">
 <title>Message query</title>
-<image href="GUID-3BB539EF-E1DE-4EB4-A9F0-BB31430DD64A_d0e91837_href.png" placement="inline"/>
+<image href="GUID-3BB539EF-E1DE-4EB4-A9F0-BB31430DD64A_d0e96035_href.png" placement="inline"/>
 </fig>
 <section id="GUID-A24C358B-76CC-46E8-AB20-E5E1C73E113C"><title>Using
 message queries in applications</title><p>For implementation information,
Binary file Symbian3/PDK/Source/GUID-727E6071-591B-539E-997C-BC0CC5B62A11_d0e175792_href.png has changed
Binary file Symbian3/PDK/Source/GUID-727E6071-591B-539E-997C-BC0CC5B62A11_d0e181861_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7287F1D4-023E-5C90-91E1-6D8DF78D8241.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7287F1D4-023E-5C90-91E1-6D8DF78D8241.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -58,10 +58,10 @@
 section as the second diagram shows.</p>
 <fig id="GUID-A8C12C7E-7779-5D66-908B-51A1C36E1B63">
 <title>User process 1's view.</title>
-<image href="GUID-09044578-9ADB-540F-A854-A818EA3970B7_d0e342094_href.png" placement="inline"/>
+<image href="GUID-09044578-9ADB-540F-A854-A818EA3970B7_d0e348045_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-5F15432A-0CCD-5195-921F-506679F023CC">
 <title>User process 2's view.</title>
-<image href="GUID-1A7183EC-B55E-5B61-8965-89C939ECB395_d0e342102_href.png" placement="inline"/>
+<image href="GUID-1A7183EC-B55E-5B61-8965-89C939ECB395_d0e348053_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7293765E-2B1E-5F0D-B6A8-0E48729DC365_d0e235688_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7293765E-2B1E-5F0D-B6A8-0E48729DC365_d0e241661_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7293CFFD-4D5D-58F8-97F9-4906CBEBCC79_d0e51088_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7293CFFD-4D5D-58F8-97F9-4906CBEBCC79_d0e55322_href.png has changed
Binary file Symbian3/PDK/Source/GUID-72B7B5CC-2E04-53CE-8414-C362DFD40D52_d0e330755_href.png has changed
Binary file Symbian3/PDK/Source/GUID-72B7B5CC-2E04-53CE-8414-C362DFD40D52_d0e336732_href.png has changed
--- a/Symbian3/PDK/Source/GUID-72DE3EB1-1AF5-4157-8B99-A1C7143DAD2C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-72DE3EB1-1AF5-4157-8B99-A1C7143DAD2C" xml:lang="en"><title>Navigation
-using tabs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The Symbian user interface uses the tab metaphor that allows combining
-several pages of related information into a single state when all of it would
-not fit into a single screen or list. The user can switch the tabs using the
-Arrow left and Arrow right keys as indicated in the <xref href="GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita">Navi
-pane</xref>.</p>
-<fig id="GUID-A8BCDBF4-9FFE-46C7-BDB7-4A3556BB41B5">
-<title>Navigation using tabs</title>
-<image href="GUID-77AD4D8C-08CA-45C4-B5E7-04B4C7958A1A_d0e104840_href.png" scale="70" placement="inline"/>
-</fig>
-<p>In this example, state 1-3 uses two tabs to present its information. The
-user moves between views 1-3a and 1-3b using the Arrow left and Arrow right
-keys. Note that there is no Back function moving between the tab views; Back
-from both of them leads to state 1.</p>
-<p>Tab-controlled views apply the following rules:</p>
-<ul>
-<li><p>A list view from which each of the tabbed views can be accessed should
-precede the tabbed views one level higher. </p></li>
-<li><p>Moving from one tab view to another has no effect on the function of
-the Back softkey in these views: from all of them, the Back function leads
-to the same place, the previous level in the application. In this respect,
-tabbed views are interpreted as one state in the application. </p></li>
-<li><p>When a state has tabbed views, one of them is the default view that
-is opened when the user enters the state from the previous level. </p></li>
-<li><p>When the user has proceeded from a tabbed view into a deeper hierarchy
-level, the Back function returns to the same tabbed view where the user came
-from (which is not necessarily the default view described in the previous
-bullet). </p></li>
-<li><p>The possibilities to go forward from tab views may differ from one
-view to another (although typically they are similar). This means that one
-tab view may have other functions available to the user than another tab view
-in the same state.</p></li>
-</ul>
-<fig id="GUID-96783EEE-47E3-4896-87A6-3283DFF0B5B9">
-<title> Touch interaction model for tabs</title>
-<image href="GUID-DD263BCA-B660-49A5-BB65-8C45035002BD_d0e104877_href.png" placement="inline"/>
-</fig>
-<table id="GUID-5B8DA500-4092-4E1A-A035-308C4D352138-GENID-1-12-1-7-1-1-7-1-5-1-1-5-1-2-7"><title>Default touch
-events for tabs</title>
-<tgroup cols="3">
-
-<colspec colname="col1" colwidth="0.80*"/><colspec colname="col2" colwidth="1.01*"/>
-<colspec colname="col3" colwidth="1.19*"/>
-<thead>
-<row>
-<entry valign="top"><p>User action</p></entry>
-<entry valign="top"><p>State change</p></entry>
-<entry valign="top"><p>Feedback</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-
-<entry><p>Touch down on a tab</p></entry>
-<entry><p>No change</p></entry>
-<entry><p>Highlight is shown. </p><p>Tactile: Basic tab effect and audio feedback
-are provided with touch down event.</p></entry>
-</row>
-<row>
-<entry><p>Touch down and hold on a tab</p></entry>
-<entry><p>Inactive</p></entry>
-<entry><p>Tactile: No effect</p></entry>
-</row>
-<row>
-<entry><p>Touch release on a tab</p></entry>
-<entry><p>Corresponding view is changed.</p><p>Activated tab moves to the
-middle of the tab view (all the tabs move along) unless it is the first or
-the last tab in the application.</p></entry>
-<entry><p>Highlight disappears </p><p>Tactile: Basic tab effect is provided
-with touch release event.</p></entry>
-</row>
-<row>
-<entry><p>Touch down and move horizontally on tab area and release</p></entry>
-<entry><p>Previous or next tab is opened</p></entry>
-<entry><p>Tactile: Basic tab effect and audio feedback are provided with touch
-down event.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<section id="GUID-33374D49-BB50-493C-ACD6-46BC454122B7"><title>Using
-tabs in applications</title><p>The API to use for tabs is the <xref format="html" href="specs/guides/Tabs_API_Specification/Tabs_API_Specification.html" scope="peer">Tabs API</xref>. For implementation information, see <xref format="html" href="specs/guides/Tabs_API_Specification/Tabs_API_Specification.html#Tabs_API_Specification.topic3" scope="peer">Using the Tabs API</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-72F24867-8D67-5BD1-A8C4-93FC7A4290FC_d0e260366_href.png has changed
Binary file Symbian3/PDK/Source/GUID-72F24867-8D67-5BD1-A8C4-93FC7A4290FC_d0e266375_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-734588CA-5644-438A-9CC9-77ECBE0C1EEA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-734588CA-5644-438A-9CC9-77ECBE0C1EEA" xml:lang="en"><title>Obsolete
+Mechanisms</title><shortdesc>This is an collection of documents that describe mechanisms that
+have been rendered obsolete by the introduction of SMP.</shortdesc><prolog><metadata><keywords/></metadata></prolog><related-links>
+<link href="GUID-387E98B0-568D-4DBB-9A9E-616E41E96B58.dita"><linktext>SMP Overview</linktext>
+</link>
+<link href="GUID-50A38544-8B2A-422D-92AF-2E9358878CFE.dita"><linktext>NKern::Lock()</linktext>
+</link>
+<link href="GUID-EC7DE823-BFAC-47E5-B7CC-154B11FE5D77.dita"><linktext>Obsolete
+NKern Interrupt Methods</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-73491C1D-6C74-5434-B2F3-4AF416AE37B7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-73491C1D-6C74-5434-B2F3-4AF416AE37B7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -82,7 +82,7 @@
 main classes used in the hash framework. For information on each class see
 the Cryptography API Reference material. </p> <fig id="GUID-08CF0C25-D314-56B0-9667-4CDDA925F786">
 <title>              Inheritance diagram for the Hash API            </title>
-<image href="GUID-8761F82E-5DC4-5BD5-A422-2EC45A92925B_d0e625214_href.png" placement="inline"/>
+<image href="GUID-8761F82E-5DC4-5BD5-A422-2EC45A92925B_d0e597320_href.png" placement="inline"/>
 </fig> <p>The hash API is used internally by the Security components: AppInst,
 Certman (Certificate Management) and Cryptography. Networking/TLS uses a pseudo-random
 function (PRF) based on HMAC. Both MD5 and SHA-1 are used in TLS. </p> </section>
Binary file Symbian3/PDK/Source/GUID-736BB5CF-0E2B-59FC-BC65-E52A7D12EC4A_d0e232725_href.png has changed
Binary file Symbian3/PDK/Source/GUID-736BB5CF-0E2B-59FC-BC65-E52A7D12EC4A_d0e238720_href.png has changed
Binary file Symbian3/PDK/Source/GUID-736F9C4B-7C70-5927-A9C9-21A127C431AF_d0e58622_href.png has changed
Binary file Symbian3/PDK/Source/GUID-736F9C4B-7C70-5927-A9C9-21A127C431AF_d0e62856_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7387B16E-1978-5997-ACCB-BEBFD2609C86.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7387B16E-1978-5997-ACCB-BEBFD2609C86"><title>CapImportCheck report - file format </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Once you have compared the capabilities of a specific binary file with the capabilities of the binary files that may import it, an HTML report is generated.</p> <p>The report first lists all the input files that have been used in the capability check, in other words, the ROM log file, the Symbian Capability List, the dependency data file, and then provides Summary and Details sections of the results, as described below.</p> <section><title>Summary section</title> <p>This section provides the total number of binaries with mismatched import capabilities.</p> <p>The names of the binaries, the import files containing errors and the missing capabilities are provided in the Details section.</p> </section> <section><title>Details section</title> <p>This section lists the following.</p> <ul><li id="GUID-E0CD4601-05FE-53B6-9EB2-52CC45CA708B"><p>Imported binary and its existing capabilities</p> </li> <li id="GUID-14E23BFF-3709-5DC7-B038-FFBFDF17B23A"><p>Chains of importers with additional capabilities</p> </li> <li id="GUID-48450283-5FCB-5FC6-BEB4-0A5E55C95CBA"><p>Aggregate missing capabilities of imported binary</p> </li> <li id="GUID-B87B031A-793D-5928-AAFB-020E4E5A4649"><p>Aggregate extra capabilities of imported binary.</p> </li> </ul> </section> </conbody><related-links><link href="GUID-1CCFBCD1-543F-5C53-A1E7-594591BB5905.dita"><linktext>How to use CapImportCheck</linktext> </link> <link href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita"><linktext>CapSearch Guide</linktext> </link> <link href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita"><linktext>CapCheck Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-738FADA9-E26F-53F1-A6D6-2E82019DDA1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-738FADA9-E26F-53F1-A6D6-2E82019DDA1F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 1 </p> <fig id="GUID-43661005-68C0-5AF5-8378-8F11B7AE4622">
 <title>                   Alphabet of the Default GSM7 Turkish Single Converter
                 </title>
-<image href="GUID-90B593E2-F38B-5B38-9367-E2BF344A2834_d0e665495_href.png" placement="inline"/>
+<image href="GUID-90B593E2-F38B-5B38-9367-E2BF344A2834_d0e678322_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-6A55D9A6-6BA5-5345-9103-317EF2423D55"><p>Turkish Locking GSM7
 Extension Converter. The highlighted boxes in Figure 2 show that it supports
@@ -35,7 +35,7 @@
 2 </p> <fig id="GUID-7D61A70A-6DEF-567B-B76D-2F4505FC4A1A">
 <title>                   Alphabet of the Turkish Locking GSM7 Extension Converter
                 </title>
-<image href="GUID-E9C620EF-4C77-56C3-8023-A6F13989246A_d0e665517_href.png" placement="inline"/>
+<image href="GUID-E9C620EF-4C77-56C3-8023-A6F13989246A_d0e678344_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-842C8CE4-F8AC-58E5-9A7F-AEED596E0E46"><p>Turkish Locking Single
 Converter. The highlighted boxes in Figure 3 show that it supports the Turkish
@@ -46,7 +46,7 @@
 3 </p> <fig id="GUID-3EC6D160-1BD2-52A2-BC22-187A7D7B6347">
 <title>                   Alphabet of the Turkish Locking Single Converter
                 </title>
-<image href="GUID-03671C88-6911-5184-A9D4-A2D2FD69A2B9_d0e665539_href.png" placement="inline"/>
+<image href="GUID-03671C88-6911-5184-A9D4-A2D2FD69A2B9_d0e678366_href.png" placement="inline"/>
 </fig> </li>
 </ul> <p> <b>Note</b>: For all of the converters, any undefined Unicode is
 converted to a question mark (?)–GSM code <codeph>0x37</codeph>. Any code
Binary file Symbian3/PDK/Source/GUID-739556F5-A2F3-5548-943C-7D50785DFB48_d0e587286_href.png has changed
Binary file Symbian3/PDK/Source/GUID-739556F5-A2F3-5548-943C-7D50785DFB48_d0e636585_href.png has changed
Binary file Symbian3/PDK/Source/GUID-73A431EF-44CA-5E62-AF3F-1601CFD2484F_d0e536212_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-73A431EF-44CA-5E62-AF3F-1601CFD2484F_d0e543672_href.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-743BFB3C-7B88-4A5C-A655-A50DEB45FC46.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-743BFB3C-7B88-4A5C-A655-A50DEB45FC46" xml:lang="en"><title>Creating
+an installer as an in-process plug-in</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-4-1-4-1-3-1-5-1-2-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-5-1-1-6-1-4-1-4-1-3-1-5-1-2-1-1"><cmd/>
+<info>           <p>Create an ECom plug-in implementation of the <xref href="GUID-CD380D01-8649-36E4-8435-C6F600D5A5CF.dita"><apiname>CSifPlugin</apiname></xref> interface.
+For detailed information about creating an ECom plug-in interface implementation,
+see the <xref href="GUID-F94CEC6D-C602-550F-9B12-856493F3C509.dita">Implementing
+an Interface</xref> section. </p> <p>For example: </p> <codeblock id="GUID-C49BDE13-8928-5305-80A7-C5FDE77C9CF5" xml:space="preserve">Class CSamplePlugin : public CSifPlugin
+    {
+public:
+    static CSamplePlugin* NewL();
+    ~CSamplePlugin();
+
+    //Define all virtual functions of CSifPlugin
+    ...
+  
+    void GetComponentInfo(const TDesC&amp; aFileName, const TSecurityContext&amp; aSecurityContext,
+                            CComponentInfo&amp; aComponentInfo, TRequestStatus&amp; aStatus);
+    void GetComponentInfo(RFile&amp; aFileHandle, const TSecurityContext&amp; aSecurityContext,
+                            CComponentInfo&amp; aComponentInfo, TRequestStatus&amp; aStatus);
+    
+    void Install(const TDesC&amp; aFileName, const TSecurityContext&amp; aSecurityContext,
+                    const COpaqueNamedParams&amp; aInputParams, COpaqueNamedParams&amp; aOutputParams,
+                    TRequestStatus&amp; aStatus);
+
+    ...
+
+private:
+    CSamplePlugin() {}
+    void ConstructL();
+    CSamplePlugin(const CSamplePlugin &amp;);
+    CSamplePlugin &amp; operator =(const CSamplePlugin &amp;);
+    };</codeblock>         </info>
+</step>
+<step id="GUID-48B8E4D6-8D55-414F-A33F-2D1C597A4A6F"><cmd>Export the implementation factories by declaring an array containing
+the ECom implementation and an appropriate exported function. For detailed
+information about exporting the implementation factories, see the <xref href="GUID-895A685E-83E8-51A3-A823-3A0E07B1E609.dita">Exporting
+the Implementation Factories </xref> section.</cmd>
+</step>
+<step id="GUID-16AC7BCD-3445-4615-8E82-73EBBE7592C7"><cmd/>
+<info><p>Publish the properties of your ECom implementation in a registration
+resource file. For detailed information publishing the properties in a registration
+resource file, see the <xref href="GUID-9A9103E4-27B0-5CF3-855A-DCD44795A5C0.dita">Providing
+registry information</xref> section. </p> <p>For example: </p> <codeblock id="GUID-525E615B-4843-5C26-AC11-80CE4F421474" xml:space="preserve">// ECOM DLL UID:            0x1028634F
+// ECOM interface UID:        0x10285BC2 (KUidSifPlugin)
+// ECOM Implementation:        0x10286350
+
+#include &lt;ecom/registryinfo.rh&gt;
+
+RESOURCE REGISTRY_INFO so_registry
+    {
+    dll_uid = 0x1028634F;
+    interfaces =
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = 0x10285BC2;
+            
+            implementations =
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = 0x10286350;
+                    version_no = 1;
+                    default_data = "";
+                    opaque_data = "";
+                    }
+                };
+            }
+        };
+    }</codeblock></info>
+</step>
+<step id="GUID-D838CBF1-6607-4DE8-B9ED-8D86838BE4DD"><cmd>Create a DLL with target type as <codeph>plugin</codeph>. </cmd>
+</step>
+</steps>
+</taskbody></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e596557_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e614502_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7461BD6A-F50B-5E14-8995-CF3F2D8F5F14_d0e624451_href.png has changed
--- a/Symbian3/PDK/Source/GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,38 +11,38 @@
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
 <reference xml:lang="en" id="GUID-746866CE-809A-5598-BA60-2947763E5EE9"><title>Network Privacy API Reference</title><shortdesc>This section describes the dynamic behaviour of the Network Privacy API using a set of sequence diagrams. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody><section><title>Sequence diagrams</title> <p>The sequence diagrams in this section describe the behaviour of the Network Privacy API when a licensee has installed and configured a Privacy Controller, Privacy Notifiers or Privacy Q&amp;N Notifiers. </p> <p><b>Startup and shutdown sequences</b> </p> <p>The sequence diagrams in this section describe how the LBS subsystem starts up and shuts down when LBS is built to include a Privacy Protocol Module and privacy requests are received via the Network Privacy API. </p> <p id="GUID-5F4DEA15-5950-54CA-9F24-58BDB1401564"><b> Startup sequence </b> </p> <p>The first request sent into the LBS subsystem via the Network Privacy API starts the subsystem, as shown in figure 1.1 (which shows startup of a licensee Privacy Controller). </p> <fig id="GUID-4FFD0AE1-4B8F-5370-A04C-E65BB0E8E36E"><title>
                   Figure 1.1. LBS startup. 
-                </title> <image href="GUID-C60254EC-85B4-52A9-A694-A5F6EA0B1DAF_d0e449876_href.png" placement="inline"/></fig> <p id="GUID-DBDFD026-26C9-5944-B590-919C00888FAA"><b>Shutdown sequence </b> </p> <p>The LBS subsystem is shutdown either: </p> <ul><li id="GUID-0EE9467B-8DFC-58E9-B336-2E1BDC46ED83"><p>When the licensee Network Privacy API client closes its connection and calls the <codeph>CPosNetworkPrivacy</codeph> destructor </p> </li> <li id="GUID-A335193A-BE52-5388-811A-700A9493DBC2"><p>When a timer expires after the last request is completed </p> </li> </ul> <p>Figure 1.2 shows LBS shutdown for the two cases. </p> <fig id="GUID-45809C4C-0850-53F5-97AD-F770BF026F2B"><title>
+                </title> <image href="GUID-C60254EC-85B4-52A9-A694-A5F6EA0B1DAF_d0e455721_href.png" placement="inline"/></fig> <p id="GUID-DBDFD026-26C9-5944-B590-919C00888FAA"><b>Shutdown sequence </b> </p> <p>The LBS subsystem is shutdown either: </p> <ul><li id="GUID-0EE9467B-8DFC-58E9-B336-2E1BDC46ED83"><p>When the licensee Network Privacy API client closes its connection and calls the <codeph>CPosNetworkPrivacy</codeph> destructor </p> </li> <li id="GUID-A335193A-BE52-5388-811A-700A9493DBC2"><p>When a timer expires after the last request is completed </p> </li> </ul> <p>Figure 1.2 shows LBS shutdown for the two cases. </p> <fig id="GUID-45809C4C-0850-53F5-97AD-F770BF026F2B"><title>
                   Figure 1.2. LBS shutdown 
-                </title> <image href="GUID-323A76FE-3147-5E54-9282-B80D30246D8F_d0e449908_href.png" placement="inline"/></fig> <p id="GUID-701C37DC-C7A3-56B6-9260-A10EB0590C53"><b>Privacy Controller sequences</b> </p> <p>The sequence diagrams in this section illustrate the behaviour of the Network Privacy API when a licensee has installed and configured a privacy controller. </p> <p id="GUID-EB551098-22CD-5BAA-9CD7-7E783E9EDC60"><b>Privacy verification with a Privacy Controller (request accepted, rejected or timeout) </b> </p> <p>Figure 2.1 shows privacy verification with a Privacy Controller. </p> <fig id="GUID-36ADDF91-80B2-5333-8B1C-CE79FD970CD7"><title>
+                </title> <image href="GUID-323A76FE-3147-5E54-9282-B80D30246D8F_d0e455753_href.png" placement="inline"/></fig> <p id="GUID-701C37DC-C7A3-56B6-9260-A10EB0590C53"><b>Privacy Controller sequences</b> </p> <p>The sequence diagrams in this section illustrate the behaviour of the Network Privacy API when a licensee has installed and configured a privacy controller. </p> <p id="GUID-EB551098-22CD-5BAA-9CD7-7E783E9EDC60"><b>Privacy verification with a Privacy Controller (request accepted, rejected or timeout) </b> </p> <p>Figure 2.1 shows privacy verification with a Privacy Controller. </p> <fig id="GUID-36ADDF91-80B2-5333-8B1C-CE79FD970CD7"><title>
                   Figure 2.1 Privacy verification with a Privacy Controller. 
-                </title> <image href="GUID-5D5CCF46-0FB4-57DA-B32D-C2C7F86FAD30_d0e449930_href.png" placement="inline"/></fig> <p id="GUID-F6D7293D-D78E-5646-8C5C-8706390C15F6"><b>Privacy notification with a Privacy Controller </b> </p> <p>Figure 2.2 shows location notification with a Privacy Controller. </p> <fig id="GUID-F5A74FD6-68CB-56AF-9E8C-EA405C83C59F"><title>
+                </title> <image href="GUID-5D5CCF46-0FB4-57DA-B32D-C2C7F86FAD30_d0e455775_href.png" placement="inline"/></fig> <p id="GUID-F6D7293D-D78E-5646-8C5C-8706390C15F6"><b>Privacy notification with a Privacy Controller </b> </p> <p>Figure 2.2 shows location notification with a Privacy Controller. </p> <fig id="GUID-F5A74FD6-68CB-56AF-9E8C-EA405C83C59F"><title>
                   Figure 2.2 Privacy notification with a Privacy Controller. 
-                </title> <image href="GUID-6E82BAAC-64B4-59F7-81AC-CF4C76445935_d0e449944_href.png" placement="inline"/></fig> <p id="GUID-E7EE48C9-7C79-549D-A50C-B2D197C1A00C"><b>Privacy verification cancelled with a Privacy Controller</b> </p> <p>Figure 2.3 shows a privacy verification cancelled with a Privacy Controller. </p> <fig id="GUID-AA37A857-C6F3-5E7B-B4A1-DA640ADC1C91"><title>
+                </title> <image href="GUID-6E82BAAC-64B4-59F7-81AC-CF4C76445935_d0e455789_href.png" placement="inline"/></fig> <p id="GUID-E7EE48C9-7C79-549D-A50C-B2D197C1A00C"><b>Privacy verification cancelled with a Privacy Controller</b> </p> <p>Figure 2.3 shows a privacy verification cancelled with a Privacy Controller. </p> <fig id="GUID-AA37A857-C6F3-5E7B-B4A1-DA640ADC1C91"><title>
                   Figure 2.3. Privacy verification cancelled with Privacy
                   Controller. 
-                </title> <image href="GUID-BE2497DB-999F-5CF8-88E1-A94E8084C841_d0e449958_href.png" placement="inline"/></fig> <p id="GUID-76311BE7-5370-5154-93E3-83D0B70CE747"><b>Timeout notification with a Privacy Controller</b> </p> <p>Figure 2.4 shows a timeout notification with a Privacy Controller. </p> <fig id="GUID-595AC5CD-5B5F-52FF-9B4B-D6386DAD98F9"><title>
+                </title> <image href="GUID-BE2497DB-999F-5CF8-88E1-A94E8084C841_d0e455803_href.png" placement="inline"/></fig> <p id="GUID-76311BE7-5370-5154-93E3-83D0B70CE747"><b>Timeout notification with a Privacy Controller</b> </p> <p>Figure 2.4 shows a timeout notification with a Privacy Controller. </p> <fig id="GUID-595AC5CD-5B5F-52FF-9B4B-D6386DAD98F9"><title>
                   Figure 2.4. Timeout notification with a Privacy Controller. 
-                </title> <image href="GUID-B9347C4E-8121-57F5-8040-87B5D58C0FC4_d0e449972_href.png" placement="inline"/></fig> <p id="GUID-6F7FF3CF-5085-5389-952F-8FF3519A3934"><b>Privacy Notifier sequences</b> </p> <p>The sequence diagrams in this section illustrate the behaviour of the Network Privacy API when a licensee has installed and configured privacy notifiers. </p> <p id="GUID-7423EDC0-211C-570B-AB38-E1F4ACE09FF6"><b>Privacy verification with a Privacy Notifier (request accepted, rejected or timeout)</b> </p> <p>Figure 3.1 shows verification of a privacy request with a Privacy Notifier. </p> <fig id="GUID-61A79912-AC67-5A8D-BB06-7B42E975F70D"><title>
+                </title> <image href="GUID-B9347C4E-8121-57F5-8040-87B5D58C0FC4_d0e455817_href.png" placement="inline"/></fig> <p id="GUID-6F7FF3CF-5085-5389-952F-8FF3519A3934"><b>Privacy Notifier sequences</b> </p> <p>The sequence diagrams in this section illustrate the behaviour of the Network Privacy API when a licensee has installed and configured privacy notifiers. </p> <p id="GUID-7423EDC0-211C-570B-AB38-E1F4ACE09FF6"><b>Privacy verification with a Privacy Notifier (request accepted, rejected or timeout)</b> </p> <p>Figure 3.1 shows verification of a privacy request with a Privacy Notifier. </p> <fig id="GUID-61A79912-AC67-5A8D-BB06-7B42E975F70D"><title>
                   Figure 3.1. Privacy verification with a Privacy Notifier. 
-                </title> <image href="GUID-166BB47B-3E5A-56C6-8FBE-0D71924C11DF_d0e449994_href.png" placement="inline"/></fig> <p id="GUID-E30DD134-369C-5B2B-9BAE-E85BF82B56D1"><b>Privacy notification with a Privacy Notifier</b> </p> <p>Figure 3.2 shows location notification with a Privacy Notifier. </p> <fig id="GUID-A23A0AF9-AAC4-50AA-9513-8E3C49FABE78"><title>
+                </title> <image href="GUID-166BB47B-3E5A-56C6-8FBE-0D71924C11DF_d0e455839_href.png" placement="inline"/></fig> <p id="GUID-E30DD134-369C-5B2B-9BAE-E85BF82B56D1"><b>Privacy notification with a Privacy Notifier</b> </p> <p>Figure 3.2 shows location notification with a Privacy Notifier. </p> <fig id="GUID-A23A0AF9-AAC4-50AA-9513-8E3C49FABE78"><title>
                   Figure 3.2. Privacy notification with a Privacy Notifier. 
-                </title> <image href="GUID-EDAF82B1-C388-5F57-890F-68010A6E5800_d0e450008_href.png" placement="inline"/></fig> <p id="GUID-CFCC58C0-2D8B-5F6B-BFC0-FF21788A885B"><b>Privacy verification cancelled with Privacy Notifier</b> </p> <p>Figure 3.3 shows a privacy verification cancelled with a Privacy Notifier. </p> <fig id="GUID-6DF4CCE0-4782-56A0-A05F-90ADEDED0583"><title>
+                </title> <image href="GUID-EDAF82B1-C388-5F57-890F-68010A6E5800_d0e455853_href.png" placement="inline"/></fig> <p id="GUID-CFCC58C0-2D8B-5F6B-BFC0-FF21788A885B"><b>Privacy verification cancelled with Privacy Notifier</b> </p> <p>Figure 3.3 shows a privacy verification cancelled with a Privacy Notifier. </p> <fig id="GUID-6DF4CCE0-4782-56A0-A05F-90ADEDED0583"><title>
                   Figure 3.3. Privacy verification cancelled with Privacy Notifier.
                   
-                </title> <image href="GUID-FD49B745-965F-5CC6-A9FC-D950FDEB00FD_d0e450022_href.png" placement="inline"/></fig> <p id="GUID-6A654A40-5B6E-517C-8315-193FA05D1AD4"><b>Timeout notification with Privacy Notifier</b> </p> <p>Figure 3.4 shows a timeout notification with a Privacy Notifier. </p> <fig id="GUID-C26BC778-3BC0-5C15-B8A3-07A2E1D80A6A"><title>
+                </title> <image href="GUID-FD49B745-965F-5CC6-A9FC-D950FDEB00FD_d0e455867_href.png" placement="inline"/></fig> <p id="GUID-6A654A40-5B6E-517C-8315-193FA05D1AD4"><b>Timeout notification with Privacy Notifier</b> </p> <p>Figure 3.4 shows a timeout notification with a Privacy Notifier. </p> <fig id="GUID-C26BC778-3BC0-5C15-B8A3-07A2E1D80A6A"><title>
                   Figure 3.4. Timeout notification with a Privacy Notifier. 
-                </title> <image href="GUID-AD4F041B-4115-5ABE-8909-44156621DF72_d0e450036_href.png" placement="inline"/></fig> <p id="GUID-F0D8A696-CDDF-5CB1-9650-8D3CB075F95C"><b>Privacy Q&amp;N Notifier sequences</b> </p> <p>The sequence diagrams in this section illustrate the behaviour of the Network Privacy API when a licensee has installed and configured privacy Q&amp;N notifiers. </p> <p id="GUID-139976F1-74CB-5024-8A13-449960E8C02D"><b> Privacy verification with a Privacy Q&amp;N notifier (request accepted, rejected or timeout) </b> </p> <p>Figure 4.1 shows verification of a privacy request with a Privacy Q&amp;N notifier. </p> <fig id="GUID-EEC1CC7C-8F2A-5700-852A-2AECC8103FDF"><title>
+                </title> <image href="GUID-AD4F041B-4115-5ABE-8909-44156621DF72_d0e455881_href.png" placement="inline"/></fig> <p id="GUID-F0D8A696-CDDF-5CB1-9650-8D3CB075F95C"><b>Privacy Q&amp;N Notifier sequences</b> </p> <p>The sequence diagrams in this section illustrate the behaviour of the Network Privacy API when a licensee has installed and configured privacy Q&amp;N notifiers. </p> <p id="GUID-139976F1-74CB-5024-8A13-449960E8C02D"><b> Privacy verification with a Privacy Q&amp;N notifier (request accepted, rejected or timeout) </b> </p> <p>Figure 4.1 shows verification of a privacy request with a Privacy Q&amp;N notifier. </p> <fig id="GUID-EEC1CC7C-8F2A-5700-852A-2AECC8103FDF"><title>
                   Figure 4.1. Privacy verification with a Q&amp;N Privacy Notifier.
                   
-                </title> <image href="GUID-91D598C7-1420-5C7C-A440-95F679F38F6D_d0e450058_href.png" placement="inline"/></fig> <p id="GUID-0E1A52B0-38FA-5B8D-8B01-798BFF708DEF"><b>Privacy notification with a Privacy Q&amp;N notifier </b> </p> <p>Figure 4.2 shows a privacy notification with a Privacy Q&amp;N notifier. </p> <fig id="GUID-C1790970-C843-50AB-A563-B33173178CBA"><title>
+                </title> <image href="GUID-91D598C7-1420-5C7C-A440-95F679F38F6D_d0e455903_href.png" placement="inline"/></fig> <p id="GUID-0E1A52B0-38FA-5B8D-8B01-798BFF708DEF"><b>Privacy notification with a Privacy Q&amp;N notifier </b> </p> <p>Figure 4.2 shows a privacy notification with a Privacy Q&amp;N notifier. </p> <fig id="GUID-C1790970-C843-50AB-A563-B33173178CBA"><title>
                   Figure 4.2. Privacy notification with a Privacy Q&amp;N Notifier.
                   
-                </title> <image href="GUID-1B96241D-1914-5754-BB4F-954778CE342C_d0e450072_href.png" placement="inline"/></fig> <p id="GUID-817261D3-A1B1-54D3-BB21-B96DE741DF53"><b>Privacy verification cancelled with Privacy Q&amp;N notifier</b> </p> <p>Figure 4.3 shows a privacy verification cancelled with a Privacy Q&amp;N notifier. </p> <fig id="GUID-4862C52C-379D-5914-9BBC-F924DD9921FE"><title>
+                </title> <image href="GUID-1B96241D-1914-5754-BB4F-954778CE342C_d0e455917_href.png" placement="inline"/></fig> <p id="GUID-817261D3-A1B1-54D3-BB21-B96DE741DF53"><b>Privacy verification cancelled with Privacy Q&amp;N notifier</b> </p> <p>Figure 4.3 shows a privacy verification cancelled with a Privacy Q&amp;N notifier. </p> <fig id="GUID-4862C52C-379D-5914-9BBC-F924DD9921FE"><title>
                   Figure 4.3. Privacy verification cancelled with Privacy Q&amp;N
                   Notifier. 
-                </title> <image href="GUID-97F4C412-5831-5735-9209-D81B4634D4F3_d0e450086_href.png" placement="inline"/></fig> <p id="GUID-4084CA03-A311-5053-BC77-2229E4C6EF5B"><b>Timeout notification with Privacy Q&amp;N notifier</b> </p> <p>Figure 4.4 shows a timeout notification with a Privacy Q&amp;N notifier. </p> <fig id="GUID-0B4C0D84-0E54-585B-A8B1-9BB2B4B7C30C"><title>
+                </title> <image href="GUID-97F4C412-5831-5735-9209-D81B4634D4F3_d0e455931_href.png" placement="inline"/></fig> <p id="GUID-4084CA03-A311-5053-BC77-2229E4C6EF5B"><b>Timeout notification with Privacy Q&amp;N notifier</b> </p> <p>Figure 4.4 shows a timeout notification with a Privacy Q&amp;N notifier. </p> <fig id="GUID-0B4C0D84-0E54-585B-A8B1-9BB2B4B7C30C"><title>
                   Figure 4.4. Timeout notification with a Privacy Q&amp;N Notifier.
                   
-                </title> <image href="GUID-AC3A531E-C6D7-5F04-B8FB-35B37FB01A14_d0e450100_href.png" placement="inline"/></fig> </section> </refbody><related-links><link href="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita"><linktext>Privacy
+                </title> <image href="GUID-AC3A531E-C6D7-5F04-B8FB-35B37FB01A14_d0e455945_href.png" placement="inline"/></fig> </section> </refbody><related-links><link href="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita"><linktext>Privacy
                 Protocol Module Overview</linktext> </link> <link href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita"><linktext>Network
                 Privacy API</linktext> </link> </related-links></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-749B7949-8731-519E-8948-CA3E1C5D6861_d0e445911_href.png has changed
Binary file Symbian3/PDK/Source/GUID-749B7949-8731-519E-8948-CA3E1C5D6861_d0e451756_href.png has changed
Binary file Symbian3/PDK/Source/GUID-74B329CD-4640-5636-9D8D-20F0D7E09EB4_d0e236285_href.png has changed
Binary file Symbian3/PDK/Source/GUID-74B329CD-4640-5636-9D8D-20F0D7E09EB4_d0e242258_href.png has changed
--- a/Symbian3/PDK/Source/GUID-74C1E76A-A749-52D7-838A-238C675B71B0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-74C1E76A-A749-52D7-838A-238C675B71B0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-74C1E76A-A749-52D7-838A-238C675B71B0"><title>System State Management Architecture Overview</title><shortdesc>This document describes the overview of the System State Management Architecture (SSMA) of the Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>SSMA provides a generic an a customizable mechanism to control the state of the system such as the activities to be performed at the start-up of the device, the order in which activities are executed or the actions to be performed at shut-down of the device. </p> </section> <section><title>Architecture</title> <p>The following image shows the System State Management Architecture. </p> <fig id="GUID-49B5B3E8-41A5-515B-8FCC-E62667819C13"><title>
              SSMA Architecture 
-          </title> <image href="GUID-135681B6-3131-57C6-AFED-CCE35431AF9E_d0e159999_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>System State Manager and System State Plug-in together constitute the architecture of SSMA. </p> <ul><li id="GUID-78F4FE6C-D64E-5D63-A4A5-714392D3BFEA"><p>The SSM client sends a state or a system wide-proeprty transition request to the System State Manager server (<filepath>SysState.exe</filepath>), SysState.exe loads the policy plug-in using the policy plug-in interfaces. The state policy plug-in consists of command list. The command list has the substates defined. The <filepath>SysState.exe</filepath> calls the command list executer using the SSM CLE interface. System Command List Executer (SysCLE) contains a list of commands that are executed by the SSM. </p> </li> <li id="GUID-0A621815-DC83-527A-9BC7-83E6622179EA"><p>System State Manager Utility Server (SUS) receives a request from the SSM client. SUS is responsible to monitor and control the system-wide property changes. </p> <p>SUS loads the utility plug-in using the SSM Utility plug-in interface. The policy DLL will be dynamically loaded and an object will be instantiated that will implement one of the interfaces (M Class). </p> </li> <li id="GUID-485E39EE-F7BC-56B4-9CE0-1FBDC30B92DF"><p>System State Manager Adaptation Server (SAS) receives a request from the SSM client. SAS is responsible for security checks, admission control and multiplexing and de-multiplexing of requests to and from the adaptation plug-in interfaces. </p> <p>The SSM adaptation server will create the adaptation classes by calling the first ordinal in the <filepath>adaptation.dll</filepath>. The different types of Adaptation plug-in are Emergency Call RF adaptation, Miscellaneous adaptation, SIM adaptation, state adaptation and RTC adaptation plug-in and use the EmergencyCallRfAdaptation, MiscAdaptation, SimAdaptation, StateAdaptation and RtcAdaptation interfaces respectively. </p> <p>All the interfaces are implemented by the corresponding R classes exposed from the SSM adaptation server. This allows custom commands and other components in the system with appropriate capabilities to access the functionality provided in these adaptation interfaces. </p> </li> </ul> </section> <section><title>Components</title> <ul><li id="GUID-B4BE129D-1304-50A3-947E-D4A046FD7DCD"><p> <b>System State Manager:</b> System State Manager (SSM) is a Symbian platform component that manages the state of a system throughout its lifecycle. The SSM extends the existing Generic Start-up Architecture (GSA) to manage the whole system lifecycle. </p> </li> </ul> <ul><li id="GUID-4F603856-09E1-5EE3-9990-EA4364D0AC7A"><p> <b>System State plug-in:</b> The system state plug-in framework provides interfaces suitable for interpreting the conditional resource files. It also provides interfaces which allow customisation of the behaviour of state and system wide property changes. </p> </li> </ul> <p> </p> </section> </conbody><related-links><link href="GUID-788BD091-186A-5E25-B058-952C7629A8D4.dita"><linktext>System
+          </title> <image href="GUID-135681B6-3131-57C6-AFED-CCE35431AF9E_d0e166100_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>System State Manager and System State Plug-in together constitute the architecture of SSMA. </p> <ul><li id="GUID-78F4FE6C-D64E-5D63-A4A5-714392D3BFEA"><p>The SSM client sends a state or a system wide-proeprty transition request to the System State Manager server (<filepath>SysState.exe</filepath>), SysState.exe loads the policy plug-in using the policy plug-in interfaces. The state policy plug-in consists of command list. The command list has the substates defined. The <filepath>SysState.exe</filepath> calls the command list executer using the SSM CLE interface. System Command List Executer (SysCLE) contains a list of commands that are executed by the SSM. </p> </li> <li id="GUID-0A621815-DC83-527A-9BC7-83E6622179EA"><p>System State Manager Utility Server (SUS) receives a request from the SSM client. SUS is responsible to monitor and control the system-wide property changes. </p> <p>SUS loads the utility plug-in using the SSM Utility plug-in interface. The policy DLL will be dynamically loaded and an object will be instantiated that will implement one of the interfaces (M Class). </p> </li> <li id="GUID-485E39EE-F7BC-56B4-9CE0-1FBDC30B92DF"><p>System State Manager Adaptation Server (SAS) receives a request from the SSM client. SAS is responsible for security checks, admission control and multiplexing and de-multiplexing of requests to and from the adaptation plug-in interfaces. </p> <p>The SSM adaptation server will create the adaptation classes by calling the first ordinal in the <filepath>adaptation.dll</filepath>. The different types of Adaptation plug-in are Emergency Call RF adaptation, Miscellaneous adaptation, SIM adaptation, state adaptation and RTC adaptation plug-in and use the EmergencyCallRfAdaptation, MiscAdaptation, SimAdaptation, StateAdaptation and RtcAdaptation interfaces respectively. </p> <p>All the interfaces are implemented by the corresponding R classes exposed from the SSM adaptation server. This allows custom commands and other components in the system with appropriate capabilities to access the functionality provided in these adaptation interfaces. </p> </li> </ul> </section> <section><title>Components</title> <ul><li id="GUID-B4BE129D-1304-50A3-947E-D4A046FD7DCD"><p> <b>System State Manager:</b> System State Manager (SSM) is a Symbian platform component that manages the state of a system throughout its lifecycle. The SSM extends the existing Generic Start-up Architecture (GSA) to manage the whole system lifecycle. </p> </li> </ul> <ul><li id="GUID-4F603856-09E1-5EE3-9990-EA4364D0AC7A"><p> <b>System State plug-in:</b> The system state plug-in framework provides interfaces suitable for interpreting the conditional resource files. It also provides interfaces which allow customisation of the behaviour of state and system wide property changes. </p> </li> </ul> <p> </p> </section> </conbody><related-links><link href="GUID-788BD091-186A-5E25-B058-952C7629A8D4.dita"><linktext>System
                 State Manager</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-74D8A4FA-5AB9-5762-BCA6-7686FB5D35DE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-74D8A4FA-5AB9-5762-BCA6-7686FB5D35DE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-74D8A4FA-5AB9-5762-BCA6-7686FB5D35DE"><title> Post-acquisition Rights</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Post-acquisition rights allows an authenticated user of a device to perform the following operations: </p> <ul><li id="GUID-10315672-0D78-5603-B80F-667CF5CA61D7"><p>Use the broadcast stream data (for example, pay per view or a subscription) without recording it. </p> </li> <li id="GUID-32F72767-2A13-52E6-8C76-2CFA15F4633E"><p>Record the broadcast stream data with further usage rights, such as viewing it a fixed number of times </p> </li> <li id="GUID-45E99276-10C3-5B1A-9392-FB272CC39255"><p>Record the broadcast and use it free of cost. </p> </li> </ul> <section id="GUID-A216DBCE-F042-5210-BB8E-BFF50C462E02"><title>Sequence Diagram</title> <p>The following figure shows the sequence diagram of post-acquisition rights of Streaming CAF. </p> <fig id="GUID-928442D4-934D-5ED0-B31B-F4991B0DA3B1"><title>
              Post-acquisition sequence diagram 
-          </title> <image href="GUID-63802305-E3D1-53F9-BDE2-764D90C2C833_d0e618750_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita"><linktext>CAF Streaming Support Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-63802305-E3D1-53F9-BDE2-764D90C2C833_d0e590856_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita"><linktext>CAF Streaming Support Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-74E94DC3-88C7-51BE-9354-C49B3A7A8B03.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-74E94DC3-88C7-51BE-9354-C49B3A7A8B03"><title>exportlibrary</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>exportlibrary</codeph>  <varname>lib-name</varname> </p> <p>This allows the name of the <filepath>.lib</filepath> file generated to be explicitly specified, overriding the default name derived from the TARGET that would otherwise be used.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-74F1EBB6-293A-4B33-A08F-46F3C23B37CE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-74F1EBB6-293A-4B33-A08F-46F3C23B37CE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 items accordingly. </p>
 <fig id="GUID-7C32E1F9-A52D-4D17-919F-A814BA7D9D36">
 <title>Adaptive search</title>
-<image href="GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e79950_href.png" placement="inline"/>
+<image href="GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e84148_href.png" placement="inline"/>
 </fig>
 <section id="GUID-89117CFF-B002-4CFC-9B83-EA0CCF92DFA3"><title>Using
 adaptive search in applications</title><p>The APIs to use for
Binary file Symbian3/PDK/Source/GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e595114_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e610062_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e623008_href.png has changed
--- a/Symbian3/PDK/Source/GUID-751F057B-BF6D-5B28-A47A-3E99B25731CF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-751F057B-BF6D-5B28-A47A-3E99B25731CF" xml:lang="en"><title>unpaged</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>unpaged</codeph>  </p>
-<p>Use the <codeph>unpaged</codeph> statement to specify that the executable
-is not paged. This is the same as specifying both <xref href="GUID-FAFDBFC2-BFFF-536C-A96D-8404C389DD0C.dita">unpagedcode</xref> and <xref href="GUID-52B2DFDD-063A-5ED4-9A0B-FB3346301482.dita">unpageddata</xref> keywords
-for an executable. </p>
-<p>You can also mark an executable as unpaged using the OBY file keyword file[[HWVD]].
-For more information about the  file[[HWVD]] keyword, refer to the ROM Tools
-Guide in the Application Development Toolkit available for download at  <xref href="http://developer.symbian.org/main/tools_and_kits/index.php" scope="external">http://developer.symbian.org</xref>.
- </p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-75553219-500C-487F-8D7E-0FAF48CF1872.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-75553219-500C-487F-8D7E-0FAF48CF1872.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 menu pop-up window) as a submenu.</p>
 <fig id="GUID-FD9FBC91-7A38-4A26-A8C2-A478DA9D5184">
 <title>Submenu in the Options menu</title>
-<image href="GUID-19E5720A-2B50-4515-AE90-A40C1BEDF4BA_d0e88498_href.png" placement="inline"/>
+<image href="GUID-19E5720A-2B50-4515-AE90-A40C1BEDF4BA_d0e92696_href.png" placement="inline"/>
 </fig>
 <p>The submenu is opened by pressing either the left softkey (<b>Select</b>),
 the Selection key, or the Arrow right key. In touch enabled device, submenu
--- a/Symbian3/PDK/Source/GUID-75AFF4B9-1F95-585E-9354-EAA6271251FA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-75AFF4B9-1F95-585E-9354-EAA6271251FA"><title>How to troubleshoot post-linker (elf2e32) errors</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The post-linker (<filepath>elf2e32.exe</filepath>) is a Symbian platform build tool that is run after the compiler and linker when a project is built. Its principal function is to create executables (DLLs and EXEs) in the particular format required by Symbian platform, known as the E32Image format. </p> <p>In ordinary use, the post-linker is called by the make files constructed by <filepath>abld</filepath> or an IDE. The options with which the tool is called depend on your settings of the project being built (i.e. as specified in the project MMP file). Error and warning messages reported by the tool can indicate a problem with these settings. This page contains some help on interpreting these messages correctly. </p> <table id="GUID-6D5D57BB-6ABC-5126-B4D0-08FF3C87568E"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Error</b>  </p> </entry> <entry><p> <b>Action</b>  </p> </entry> </row> <row><entry><p>DEF File &lt;position&gt; is not in proper format </p> </entry> <entry><p> This indicates a syntax error in an input DEF file. You need to edit or regenerate the DEF file to correct this. </p> </entry> </row> <row><entry><p>ELF File &lt;file&gt; contains initialized writable data </p> </entry> <entry><p>By default, Symbian platform DLL's may not contain writable static data. You should change the project's source code to remove such items. For suggestions on alternatives, see <xref href="GUID-5BDE6462-E6CA-5738-A587-C7D875574789.dita">Static data</xref>. </p> </entry> </row> <row><entry><p>ELF File &lt;file&gt; contains uninitialized writable data </p> </entry> <entry><p>By default, Symbian platform DLL's may not contain writable static data. You should change the project's source code to remove such items. For suggestions on alternatives, see <xref href="GUID-5BDE6462-E6CA-5738-A587-C7D875574789.dita">Static data</xref>. </p> </entry> </row> <row><entry><p>Ordinal number is not in sequence </p> </entry> <entry><p>The symbol is indicates that the input DEF file has been incorrectly edited, so that the symbols are not listed in consecutive ordinal order. You need to edit or regenerate the DEF file to correct this. </p> <p>Note that if you intended to remove an export from a frozen DEF file, this should be done by using the <codeph>ABSENT</codeph> keyword, for example: </p> <codeblock id="GUID-1CE3F9C2-8758-51CB-A93E-4CA41E51B1AD" xml:space="preserve">_ZNK14Foo14BarLER12CStreamStore @ 646 NONAME ABSENT</codeblock> </entry> </row> <row><entry><p>Symbol &lt;symbol&gt; missing from ELF File </p> </entry> <entry><p>The input DEF file, specified by a MMP <codeph>deffile</codeph> statement, specifies an export that is not found in the executable. </p> <p> If no binary compatibility break was intended, you should either correct your source to export the missing symbol. If a compatibility break was intended, you should fix the DEF file. </p> <p>If you are not concerned with maintaining compatibility, use <codeph>exportunfrozen</codeph> in the project. This will stop the tool reporting this error. </p> </entry> </row> <row><entry><p>Unrecognized capability </p> </entry> <entry><p>Check that the platform security capabilities, specified by a MMP <codeph>capability</codeph> statement, are correctly spelled. <i> Symbian OS v9.0 Security Architecture</i> lists the available capabilities. </p> </entry> </row> <row><entry><p>Unsupported Target Type &lt;type&gt; </p> </entry> <entry><p>Check that the target type, specified by a MMP <codeph>targettype</codeph> statement, is correctly specified. The <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref> reference page lists the available target types. </p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-75BA4518-45DE-5EB4-937E-46C1CFDD0CEB_d0e451604_href.png has changed
Binary file Symbian3/PDK/Source/GUID-75BA4518-45DE-5EB4-937E-46C1CFDD0CEB_d0e457449_href.png has changed
Binary file Symbian3/PDK/Source/GUID-760222AA-59F0-58E6-A494-F9CB6D739960_d0e63456_href.png has changed
Binary file Symbian3/PDK/Source/GUID-760222AA-59F0-58E6-A494-F9CB6D739960_d0e67687_href.png has changed
--- a/Symbian3/PDK/Source/GUID-762A665F-43D0-53ED-B698-0CBD3AC46391.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-762A665F-43D0-53ED-B698-0CBD3AC46391.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 can select fonts from the Font Store. Device creators can create and add fonts. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-FE4F4563-FAD5-5D45-B662-61AEC3F3AFEC">
 <title>         The Font and Text Services collection</title>
-<image href="GUID-803D895B-E22F-5ADE-9BA6-F2EB20856541_d0e653197_href.png" placement="inline"/>
+<image href="GUID-803D895B-E22F-5ADE-9BA6-F2EB20856541_d0e666024_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-A03FB1BF-F67B-519D-A904-74CA3F8375D9.dita"><linktext>Font and
--- a/Symbian3/PDK/Source/GUID-763DCEF4-C960-58A2-99DC-7FFD3187BFD4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-763DCEF4-C960-58A2-99DC-7FFD3187BFD4" xml:lang="en"><title>The native build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7681734D-1291-59A3-B226-BC58403FA8A0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7681734D-1291-59A3-B226-BC58403FA8A0"><title>targetpath</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>targetpath</codeph>  <varname>target-path</varname> </p> <p>Use the <codeph>targetpath</codeph> statement to specify where the project should be released.</p> <ul><li id="GUID-B7A479EF-2721-5DD4-8AC8-8EC0947880D9"><p>for non-Win32 platforms, or for Win32 platforms when no release path is specified, the target will be released to</p> <p><filepath>epoc32\release\</filepath> <varname>platform</varname> <filepath>\</filepath> <varname>variant</varname> <filepath>\</filepath> </p> </li> <li id="GUID-0B9AA53A-AAC5-5564-B8BB-73A7CC69BEAF"><p>for Win32 platforms, when a target path is specified, that path will be interpreted as a location on the <filepath>z:</filepath> drive, and the release path will therefore be</p> <p><filepath> epoc32\release\</filepath> <varname>platform</varname> <filepath>\</filepath> <varname>variant</varname> <filepath>\z\</filepath> <varname>target-path</varname> <filepath>\</filepath> </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-768CCC6E-16D2-50E8-8EED-EB2C2AF0E9BE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-768CCC6E-16D2-50E8-8EED-EB2C2AF0E9BE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -45,7 +45,7 @@
 a class derived from <xref href="GUID-F0E4FA44-A41C-3C6F-993E-39CED042A879.dita"><apiname>CSIPResolvedClient</apiname></xref> or <xref href="GUID-30BC7BC4-0FBE-3C60-A2E4-2E5AE206C61E.dita"><apiname>CSIPResolvedClient2</apiname></xref> to
 receive requests outside the SIP dialogs. If the target client is not running,
 it must be started to enable it to receive SIP requests. </p> <fig id="GUID-B8A796EA-6850-5695-A516-E92629BE7971">
-<image href="GUID-E77E2E2A-2F2D-549E-ABD6-175E68A406CB_d0e552552_href.png" placement="inline"/>
+<image href="GUID-E77E2E2A-2F2D-549E-ABD6-175E68A406CB_d0e560008_href.png" placement="inline"/>
 </fig> <p><b>CSIPResolvedClient</b> </p> <p>The target clients must implement
 the <xref href="GUID-F0E4FA44-A41C-3C6F-993E-39CED042A879.dita"><apiname>CSIPResolvedClient</apiname></xref> interface to receive SIP requests
 outside SIP dialogs and enable the client resolution mechanism. </p> <p>SIP
Binary file Symbian3/PDK/Source/GUID-768D58BA-28A8-5325-A3C3-6A95E1F98578_d0e244637_href.png has changed
Binary file Symbian3/PDK/Source/GUID-768D58BA-28A8-5325-A3C3-6A95E1F98578_d0e250648_href.png has changed
Binary file Symbian3/PDK/Source/GUID-76901D63-BDA2-4DCA-A66C-7BAFD7E211EB_d0e101175_href.png has changed
Binary file Symbian3/PDK/Source/GUID-76901D63-BDA2-4DCA-A66C-7BAFD7E211EB_d0e97096_href.png has changed
--- a/Symbian3/PDK/Source/GUID-76A30EC4-4B99-5471-9E80-F853C91485BC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-76A30EC4-4B99-5471-9E80-F853C91485BC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -66,7 +66,7 @@
 interrupt sources. These are usually prioritised by connecting the interrupt
 output of a lower-priority controller to an interrupt input of a higher-priority
 controller. This is called chaining. </p> <fig id="GUID-49264B94-DF6D-5F11-8815-D42CDBF94E39">
-<image href="GUID-0DB79535-E4E6-50BD-852D-B2F177202C9C_d0e375610_href.png" placement="inline"/>
+<image href="GUID-0DB79535-E4E6-50BD-852D-B2F177202C9C_d0e381454_href.png" placement="inline"/>
 </fig> <p>An interrupt from a lower priority controller will appear as an
 interrupt on the highest-priority controller. </p> <p>When the interrupt dispatcher
 of the higher-priority controller detects that it is the chained interrupt
@@ -77,7 +77,7 @@
 <section id="GUID-ED6F2F47-7A16-5AE6-8E5B-B2475F6EDEAA"><title>Multiple interrupt
 sources and pseudo interrupt sources</title> <p>It is possible that a single
 input to an interrupt controller is shared by several interrupt sources. </p> <fig id="GUID-DC96E3A8-9820-5CD4-8020-3B55398388D9">
-<image href="GUID-DCBBDFA7-1E6C-5B00-A13E-A25794668E12_d0e375632_href.png" placement="inline"/>
+<image href="GUID-DCBBDFA7-1E6C-5B00-A13E-A25794668E12_d0e381476_href.png" placement="inline"/>
 </fig> <p>It appears necessary to bind multiple ISRs to the same interrupt.
 However, this is not possible. There are two ways of dealing with this: </p> <ul>
 <li id="GUID-0D954444-C2C3-51CC-8E1D-7EB063CDACAA"><p>Maintain a list of all
@@ -122,7 +122,7 @@
 the pure virtual functions: <codeph>InterruptBind()</codeph>, <codeph>InterruptUnbind()</codeph>, <codeph>InterruptEnable()</codeph> etc,
 all with signatures that are the same for the comparable functions defined
 by <xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita"><apiname>Interrupt</apiname></xref>, and which are implemented by the <codeph>Template</codeph> class. </p> <fig id="GUID-458C7825-5B35-583C-BDF6-7DCD21DAE670">
-<image href="GUID-B7E7E6D6-7824-505C-BA0B-B7861897E78F_d0e375726_href.png" placement="inline"/>
+<image href="GUID-B7E7E6D6-7824-505C-BA0B-B7861897E78F_d0e381570_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-9D98586F-AD1D-5C50-9AD8-F81D72135382"><title>Spurious interrupts</title> <p>In
 the Kernel Architecture 2, it is a convention that unbound interrupts should
@@ -177,7 +177,7 @@
 (or at least, different registers) then you will need to arrange the table
 so that you can determine from the <xref href="GUID-76A30EC4-4B99-5471-9E80-F853C91485BC.dita#GUID-76A30EC4-4B99-5471-9E80-F853C91485BC/GUID-8E58F4C9-0290-55E0-A4FD-B6C2361BE205">interrupt
 ID</xref> whether the interrupt is an IRQ or FIQ. </p> <p>For example: </p> <fig id="GUID-9DD2CC92-A5DB-5C78-A9A6-64402FF04FE2">
-<image href="GUID-60949ACD-AAA9-540E-85AE-BB173382D548_d0e375842_href.png" placement="inline"/>
+<image href="GUID-60949ACD-AAA9-540E-85AE-BB173382D548_d0e381686_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-EACCBDFD-46CD-4D67-B60C-D705867C9116"><title>Location of
 interrupt handling code</title> <p>Most of the interrupt dispatching code
Binary file Symbian3/PDK/Source/GUID-76B4C4D2-75A5-4139-9186-23443C68CD8F_d0e63682_href.png has changed
Binary file Symbian3/PDK/Source/GUID-76B4C4D2-75A5-4139-9186-23443C68CD8F_d0e67904_href.png has changed
--- a/Symbian3/PDK/Source/GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,13 +9,12 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8" xml:lang="en"><title>Navi
-pane</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8" xml:lang="en"><title>Navi pane</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The principal uses of the Navi pane are to display information about the
 current state and view, and to help the user to navigate in the application.</p>
-<fig id="GUID-3E3F8A70-C0EB-4B17-AB6D-7374FBF8B453">
+<fig id="GUID-1F8587D9-3439-4AD6-8687-3B4D9ADF27AB">
 <title>Navi pane</title>
-<image href="GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e95358_href.png" placement="inline"/>
+<image href="GUID-876EE000-01B7-4457-AE9C-CE56E48CFF11_d0e99556_href.png" scale="40" placement="inline"/>
 </fig>
 <p>Depending on the context, the Navi pane contains elements presented in
 the following table.</p>
@@ -32,8 +31,9 @@
 <row>
 <entry><p>Tabs</p><fig id="GUID-2CBA76C9-3918-40C7-889B-BC5181B34955"/></entry>
 <entry><p>Tabs are used to view parallel data views alternatively. Arrow indicators
-are used only for navigation texts. </p><p>Each tab has either a graphic or
-a text (or both) as a label. The following tab layouts can be used: <ul>
+are shown at both ends of the pane when there are further tabs to scroll in
+the corresponding direction. Each tab has either a graphic or a text (or both)
+as a label. The following tab layouts can be used: <ul>
 <li><p>Two tabs</p></li>
 <li> <p>Three tabs</p></li>
 <li><p>Four tabs</p></li>
@@ -42,13 +42,12 @@
 </ul>The currently active tab is highlighted.</p><p>More than four tabs can
 exist simultaneously. They can be scrolled horizontally. However, as a design
 guideline, the number of tabs should be kept small (the maximum of six tabs
-is recommended), and the number should not be dynamic. See <xref href="GUID-72DE3EB1-1AF5-4157-8B99-A1C7143DAD2C.dita">Navigation
-using tabs</xref> for
+is recommended), and the number should not be dynamic. See <xref href="GUID-72DE3EB1-1AF5-4157-8B99-A1C7143DAD2C.dita"/> for
 a description of the effect of tabs on the navigation within an application.</p></entry>
 </row>
 <row>
 <entry><p>Navigation text (icon+text)</p><fig id="GUID-B2C30B15-0343-4430-8535-05C8BAAB1B7B">
-<image href="GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e95436_href.png" scale="30" placement="inline"/>
+<image href="GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e99632_href.png" scale="30" placement="inline"/>
 </fig></entry>
 <entry><p>Navigation text is displayed in the <uicontrol>Navi pane</uicontrol> when
 similar items can be browsed by scrolling horizontally, such as dates in Calendar.
@@ -56,7 +55,7 @@
 </row>
 <row>
 <entry><p>Indicators</p><fig id="GUID-89499CD6-C3C5-4BD5-964A-02ADD8A30116">
-<image href="GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e95454_href.png" scale="30" placement="inline"/>
+<image href="GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e99650_href.png" scale="30" placement="inline"/>
 </fig></entry>
 <entry><p>In editors, the <uicontrol>Navi pane</uicontrol> contains editing
 indicators. See <xref href="GUID-BA8806CC-BE7C-4927-ACF6-DA0CB6E96AAA.dita">Indicators</xref> for
@@ -64,9 +63,9 @@
 </row>
 <row>
 <entry><p>Folder structure indication</p><fig id="GUID-274C1478-A141-4705-A6BF-E99703FE714D">
-<image href="GUID-257212F5-A414-4F17-A786-DB3168218139_d0e95477_href.png" scale="30" placement="inline"/>
+<image href="GUID-257212F5-A414-4F17-A786-DB3168218139_d0e99673_href.png" scale="30" placement="inline"/>
 </fig></entry>
-<entry><p>Opened sub-folders are indicated in the <uicontrol>Navi pane</uicontrol>.</p></entry>
+<entry><p>Opened subfolders are indicated in the <uicontrol>Navi pane</uicontrol>.</p></entry>
 </row>
 <row>
 <entry><p>Application-specific content</p></entry>
@@ -75,61 +74,21 @@
 </row>
 <row>
 <entry><p>Empty pane</p><fig id="GUID-85A80F31-F9ED-4ECE-BAF0-5A2083CE578A">
-<image href="GUID-E64A8D76-28AD-4F75-9E92-3290488F85D9_d0e95509_href.png" scale="30" placement="inline"/>
+<image href="GUID-E64A8D76-28AD-4F75-9E92-3290488F85D9_d0e99705_href.png" scale="30" placement="inline"/>
 </fig></entry>
 <entry><p>The <uicontrol>Navi pane</uicontrol> can be empty.</p></entry>
 </row>
 </tbody>
 </tgroup>
 </table>
-<p/>
-<table id="GUID-D5CFA14A-79F4-4E9C-A051-6588C7DDAC59"><title>Default touch
-events for ungrouped soft notification</title>
-<tgroup cols="3"><colspec colname="col1" colwidth="0.80*"/><colspec colname="col2" colwidth="1.01*"/><colspec colname="col3" colwidth="1.19*"/>
-<thead>
-<row>
-<entry valign="top"><p>User action</p></entry>
-<entry valign="top"><p>State change</p></entry>
-<entry valign="top"><p>Feedback</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>Touch down on navigation text or navigation arrow</p></entry>
-<entry><p>Application specific</p></entry>
-<entry><p>Tactile: In case of activity, basic button effect and audio feedback
-is provided.</p></entry>
-</row>
-<row>
-<entry><p>Touch down and hold on navigation text</p></entry>
-<entry><p>Inactive</p></entry>
-<entry><p>Tactile: No effect</p></entry>
-</row>
-<row>
-<entry><p>Touch down and hold on arrows</p></entry>
-<entry><p>This action performs a “key repeat”, similar to many touch downs
-and releases on arrow</p></entry>
-<entry><p>Tactile: Sensitive button effect and audio feedback is provided
-with key repeat action.</p></entry>
-</row>
-<row>
-<entry><p>Touch release</p></entry>
-<entry><p>No effect</p></entry>
-<entry><p>Tactile: No effect</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<section id="GUID-3E478FC5-080A-4EAF-98F4-B0C0F1C8E19D"><title>Using
-the navi pane in applications</title><p>The API to use for the Navi pane is
-the <xref format="html" href="specs/guides/Navigation_Pane_API_Specification/Navigation_Pane_API_Specification.html" scope="peer">Navigation pane API</xref>. If you use tabs in the Navi pane,
-the API for controlling the tabs is the <xref format="html" href="specs/guides/Tabs_API_Specification/Tabs_API_Specification.html" scope="peer">Tabs API</xref>. Applications can implement an observer to handle
-the touch events in the Navi pane area.</p><p>For the indicators
-in the Navi pane, use the Indicators API.</p><p>For implementation information
-on the Navi pane, see <xref format="html" href="specs/guides/Navigation_Pane_API_Specification/Navigation_Pane_API_Specification.html#Navigation_Pane_API_Specification.topic3" scope="peer">Using the Navigation pane API</xref>. For implementation information
-on tabs, see <xref format="html" href="specs/guides/Tabs_API_Specification/Tabs_API_Specification.html#Tabs_API_Specification.topic3" scope="peer">Using the Tabs API</xref>.</p><p>The <xref href="GUID-1239E9D4-0184-350E-A344-144499E0563E.dita"><apiname>MAknNaviDecoratorObserver</apiname></xref> class
-provides touch support for the tab arrows in the Navi pane. To set the observer,
-use the <xref href="GUID-7E710ED4-F210-3BD0-AC0A-DC506E327B32.dita#GUID-7E710ED4-F210-3BD0-AC0A-DC506E327B32/GUID-3EE352C1-5B27-30DB-9D72-21A84A89E7AB"><apiname>CAknNavigationDecorator::SetNaviDecoratorObserver()</apiname></xref> method.</p><p>To
-create a tab group in the Navi pane, use the <xref href="GUID-985BFC71-A477-39EF-9134-6495131BA449.dita#GUID-985BFC71-A477-39EF-9134-6495131BA449/GUID-1DA90B0F-D97F-3556-8180-7F99081E9373"><apiname>CAknNavigationControlContainer::CreateTabGroupL()</apiname></xref>.
-This is a factory method for a pre-implemented navigation pane tab group control.</p></section>
+<section><title>Using the navi pane in
+C++ applications</title><p>The API to use for the Navi pane is the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Navigation_Pane_APIIndexPage.html" format="application/java-archive">Navigation pane API</xref>. If you use tabs in the Navi pane, the API for
+controlling the tabs is the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Tabs_APIIndexPage.html" format="application/java-archive">Tabs
+API</xref>.</p><p>For the indicators in the Navi pane, use the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Indicators_APIIndexPage.html" format="application/java-archive">Indicators API</xref>.</p><p>For implementation information on the Navi pane,
+see <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Navigation_Pane_API4.html" format="application/java-archive">Using
+the Navigation pane API</xref>. For implementation information on tabs, see <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Tabs_API4.html" format="application/java-archive">Using
+the Tabs API</xref>.</p><p>The class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classMAknNaviDecoratorObserver.html" format="application/java-archive"><codeph>MAknNaviDecoratorObserver</codeph></xref> provides touch support for the tab arrows in the Navi pane. To set
+the observer, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknNavigationDecorator.html#660e9ba08945b213aba477b7863873cc" format="application/java-archive"><codeph>CAknNavigationDecorator::SetNaviDecoratorObserver()</codeph></xref>.</p><p>To
+create a tab group in the Navi pane, use the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknNavigationControlContainer.html#93d16329080f21bcd8428db61f177abc" format="application/java-archive"><codeph>CreateTabGroupL()</codeph></xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknNavigationControlContainer.html" format="application/java-archive"><codeph>CAknNavigationControlContainer</codeph></xref>. This is a factory
+method for a pre-implemented navigation pane tab group control.</p></section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7712BAB3-5F48-5A28-9EA9-104D8B4A0431_d0e547718_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7712BAB3-5F48-5A28-9EA9-104D8B4A0431_d0e555174_href.png has changed
--- a/Symbian3/PDK/Source/GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 </ul>
 <fig id="GUID-770A54B6-9F18-4BC3-92A7-AFB4D9E40199">
 <title>Status pane areas</title>
-<image href="GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e95030_href.png" placement="inline"/>
+<image href="GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e99228_href.png" placement="inline"/>
 </fig>
 <p><b>Status pane items</b></p>
 <p>A single tap on: </p>
--- a/Symbian3/PDK/Source/GUID-772DFFA1-4BBC-516F-909D-47CB773760F5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-772DFFA1-4BBC-516F-909D-47CB773760F5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-772DFFA1-4BBC-516F-909D-47CB773760F5" xml:lang="en"><title>Packages
-as type-safe descriptors</title><shortdesc>Describes the package function to transfer data in correct structure. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Descriptors are often used as the basis of data transfer within Symbian
-platform. For example, inter-thread data transfer is specified in terms of
-transferring data from a descriptor valid in the context of one thread, to
-a descriptor valid in the context of another.</p>
-<p>Data to be transferred almost always has a well defined structure and it
-is important that the receiver of the data has some guarantee that the correct
-structure has been passed. This is type safety.</p>
-<p>A package <i>is</i> a descriptor and also acts as a wrapper around it.
-It allows objects and data structures to be represented by descriptors in
-a type safe way. Objects are either contained within a modifiable buffer descriptor
-or are represented by pointer descriptors.</p>
-<p>A package class is templated, the template parameter being the type of
-the object represented. The use of a template provides the required type safety.</p>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-79BAF19D-F003-5468-9C01-6E918B06C36D.dita">Descriptor concepts</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-772DFFA1-4BBC-516F-909D-47CB773760F5" xml:lang="en"><title>Packages as type-safe descriptors</title><shortdesc>Describes the package function to transfer data in correct
+structure. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Descriptors are often used as the basis of data transfer within
+Symbian platform. For example, inter-thread data transfer is specified
+in terms of transferring data from a descriptor valid in the context
+of one thread, to a descriptor valid in the context of another.</p>
+<p>Data to be transferred almost always has a well defined structure
+and it is important that the receiver of the data has some guarantee
+that the correct structure has been passed. This is type safety.</p>
+<p>A package <i>is</i> a descriptor and also acts as a wrapper around
+it. It allows objects and data structures to be represented by descriptors
+in a type safe way. Objects are either contained within a modifiable
+buffer descriptor or are represented by pointer descriptors.</p>
+<p>A package class is templated, the template parameter being the
+type of the object represented. The use of a template provides the
+required type safety.</p>
+</conbody><related-links>
+<link href="GUID-79BAF19D-F003-5468-9C01-6E918B06C36D.dita">
+<linktext>Descriptor concepts</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-773A0EDC-F17C-553B-BEC3-DA990F5064B7_d0e316211_href.png has changed
Binary file Symbian3/PDK/Source/GUID-773A0EDC-F17C-553B-BEC3-DA990F5064B7_d0e322201_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7767599C-7B77-5DD1-8E3E-7AD01EC6F6A1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7767599C-7B77-5DD1-8E3E-7AD01EC6F6A1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
     aStream &lt;&lt; iData;
     aStream &lt;&lt; *iCompA;
     aStream &lt;&lt; *iCompB;
-    }</codeblock> <p>The stream can be visualised as:</p> <fig id="GUID-5B3BAB7B-5CF2-5E1F-8A7D-A3A375E53EC8"><image href="GUID-9E3D71A2-34FA-5A66-B0B9-550816021D79_d0e583565_href.png" placement="inline"/></fig> </section> <section><title>Storing components out-of-line</title> <p>Storing a compound object’s component objects out-of-line means writing all of its component objects to a different stream from that to which it, itself, is written. Each component may be written to its own stream or to its own network of streams. The main advantage of this is that it allows for deferred loading of streams.</p> <p>It is important to note that components are stored <i>before</i> the containing object.</p> <p> The following code fragment defines an example class, CCompound, having two components, <codeph>CComponentA</codeph> and <codeph>CComponentB</codeph>. The components are defined as instances of the templated class TSwizzle.</p> <codeblock id="GUID-B690B024-A3A0-57AC-B36B-4A7B2F3EAF39" xml:space="preserve">CCompound class : public CBase
+    }</codeblock> <p>The stream can be visualised as:</p> <fig id="GUID-5B3BAB7B-5CF2-5E1F-8A7D-A3A375E53EC8"><image href="GUID-9E3D71A2-34FA-5A66-B0B9-550816021D79_d0e632853_href.png" placement="inline"/></fig> </section> <section><title>Storing components out-of-line</title> <p>Storing a compound object’s component objects out-of-line means writing all of its component objects to a different stream from that to which it, itself, is written. Each component may be written to its own stream or to its own network of streams. The main advantage of this is that it allows for deferred loading of streams.</p> <p>It is important to note that components are stored <i>before</i> the containing object.</p> <p> The following code fragment defines an example class, CCompound, having two components, <codeph>CComponentA</codeph> and <codeph>CComponentB</codeph>. The components are defined as instances of the templated class TSwizzle.</p> <codeblock id="GUID-B690B024-A3A0-57AC-B36B-4A7B2F3EAF39" xml:space="preserve">CCompound class : public CBase
     {
     ...
     TInt                  iDdata;
@@ -47,7 +47,7 @@
     map-&gt;Reset();
     CleanupStack::PopAndDestroy(2);
     return id;
-    }</codeblock> <p>The <codeph>StoreL()</codeph> function:</p> <ul><li id="GUID-0C8A4FE4-7D5E-5876-A65E-885AD0E5F76D"><p>writes the <codeph>CCompound</codeph> components to their own streams.</p> </li> <li id="GUID-0DFAD43D-8C0A-5B70-A087-13871A326317"><p>writes <codeph>CCompound</codeph> itself and its components’ stream IDs to a single stream.</p> </li> <li id="GUID-CB63A225-714E-549C-B5DD-51A41B080EB5"><p>returns the ID of the top-level stream.</p> </li> </ul> <p>This can be visualised as:</p> <fig id="GUID-038EC5C3-6C97-5B8B-A495-3C39EC459039"><image href="GUID-B12AAA82-0534-5FBB-B9BA-33056B988575_d0e583638_href.png" placement="inline"/></fig> <p><codeph>CCompound</codeph> ’s components are stored to their own streams by defining and implementing a <codeph>StoreComponentsL()</codeph> member function; this is prototyped as:</p> <codeblock id="GUID-CF751ACF-736F-5A04-A275-8FA3D16A9F27" xml:space="preserve">void StoreComponentsL(CStreamStore&amp; aStore,CStoreMap&amp; aMap)</codeblock> <p>and implemented as:</p> <codeblock id="GUID-69BE7DCB-6861-5BB3-84E4-CBCFFEF9C0B3" xml:space="preserve">void CCompound::StoreComponentsL(CStreamStore&amp; aStore,CStoreMap&amp; aMap)
+    }</codeblock> <p>The <codeph>StoreL()</codeph> function:</p> <ul><li id="GUID-0C8A4FE4-7D5E-5876-A65E-885AD0E5F76D"><p>writes the <codeph>CCompound</codeph> components to their own streams.</p> </li> <li id="GUID-0DFAD43D-8C0A-5B70-A087-13871A326317"><p>writes <codeph>CCompound</codeph> itself and its components’ stream IDs to a single stream.</p> </li> <li id="GUID-CB63A225-714E-549C-B5DD-51A41B080EB5"><p>returns the ID of the top-level stream.</p> </li> </ul> <p>This can be visualised as:</p> <fig id="GUID-038EC5C3-6C97-5B8B-A495-3C39EC459039"><image href="GUID-B12AAA82-0534-5FBB-B9BA-33056B988575_d0e632926_href.png" placement="inline"/></fig> <p><codeph>CCompound</codeph> ’s components are stored to their own streams by defining and implementing a <codeph>StoreComponentsL()</codeph> member function; this is prototyped as:</p> <codeblock id="GUID-CF751ACF-736F-5A04-A275-8FA3D16A9F27" xml:space="preserve">void StoreComponentsL(CStreamStore&amp; aStore,CStoreMap&amp; aMap)</codeblock> <p>and implemented as:</p> <codeblock id="GUID-69BE7DCB-6861-5BB3-84E4-CBCFFEF9C0B3" xml:space="preserve">void CCompound::StoreComponentsL(CStreamStore&amp; aStore,CStoreMap&amp; aMap)
     {
     TStreamId id;
         
--- a/Symbian3/PDK/Source/GUID-7767640D-5DD0-563B-8EE7-5C3EAEDBF859.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7767640D-5DD0-563B-8EE7-5C3EAEDBF859.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,12 +1,20 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7767640D-5DD0-563B-8EE7-5C3EAEDBF859"><title>UIDs</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A UID is a globally unique identifier consisting of a 32-bit number. UIDs are used throughout the Symbian platform to enable various kinds of file identification and association. </p> <p>Because UIDs are fundamental to the Symbian platform, it is important that they are used correctly when developing programs. To ensure uniqueness, it is essential that UIDs are properly allocated. Uniqueness is guaranteed by allocating UIDs centrally from a database managed by Symbian at <xref scope="external" href="https://www.symbiansigned.com">https://www.symbiansigned.com</xref>. </p> <p>For more information on using UIDs, see <xref href="GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.dita">How to use UIDs</xref>. </p> </conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-7767640D-5DD0-563B-8EE7-5C3EAEDBF859" xml:lang="en"><title>UIDs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>A UID is a globally unique identifier consisting of a 32-bit number.
+UIDs are used throughout the Symbian platform to enable various kinds
+of file identification and association. </p>
+<p>Because UIDs are fundamental to the Symbian platform, it is important
+that they are used correctly when developing programs. To ensure uniqueness,
+it is essential that UIDs are properly allocated. Uniqueness is guaranteed
+by allocating UIDs centrally from a database managed by Symbian at <xref href="https://www.symbiansigned.com" scope="external">https://www.symbiansigned.com</xref>. </p>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-77AD4D8C-08CA-45C4-B5E7-04B4C7958A1A_d0e104840_href.png has changed
Binary file Symbian3/PDK/Source/GUID-77EC9F20-32F4-5A1D-B183-75838EBA30B1_d0e218726_href.png has changed
Binary file Symbian3/PDK/Source/GUID-77EC9F20-32F4-5A1D-B183-75838EBA30B1_d0e224746_href.png has changed
Binary file Symbian3/PDK/Source/GUID-77F02412-00E1-59F9-A875-3147529F83F5_d0e141273_href.png has changed
Binary file Symbian3/PDK/Source/GUID-77F02412-00E1-59F9-A875-3147529F83F5_d0e143522_href.png has changed
--- a/Symbian3/PDK/Source/GUID-78175610-72F4-5CAF-B1E9-9A761347C9DB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-78175610-72F4-5CAF-B1E9-9A761347C9DB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,31 +1,58 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-78175610-72F4-5CAF-B1E9-9A761347C9DB" xml:lang="en"><title>Hello World: A minimal console application</title><shortdesc>This section describes the steps to build the Hello World project on the emulator.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-    
-    <context id="CONTEXT_860ECC705FBE48F2B9F0EDD54C40E65E"><p>The code in this section has been taken from the <filepath>Hello</filepath> example.</p><p>This example demonstrates the most basic use of STDLIB. It consists of the single source code file, <filepath>slhello.c</filepath> whose sole function, <codeph>main()</codeph> calls <codeph>printf()</codeph>.</p><p>The <filepath>Hello</filepath> example's project definition file (<filepath>Hello.mmp</filepath>) contains the following:</p><codeblock xml:space="preserve">TTARGET		hello.exe
-TARGETTYPE	exe
-UID      	0
-SOURCEPATH	.
-SOURCE		slhello.c
-SYSTEMINCLUDE	\epoc32\include\libc  \epoc32\include
-
-LIBRARY		estlib.lib euser.lib 
-STATICLIBRARY	ecrt0.lib</codeblock><note><ul id="UL_DFDA8F9623D74CA297DE7441131DB52D"><li id="LI_B1C004435F2D43C1B1FDE677EEBA847C">The import library <filepath>estlib.lib</filepath> is the C standard library.</li><li id="LI_EF2D86C46EC849CBB89C035811A0A3FA">The project also links to <filepath>ecrt0.lib</filepath>. This file provides the <codeph>E32Main()</codeph> entrypoint for a <filepath>.exe</filepath>. It also provides other services including command-line parsing, and it calls <codeph>main()</codeph>.</li><li id="LI_08D804A3357E42279398B608D9C94D63">The <codeph>SYSTEMINCLUDE</codeph> path specifies <filepath>\epoc32\include\libc\</filepath>, which is the location for STDLIB's header files.</li></ul></note>
-<p>For more information on the project specification for a <filepath>.exe</filepath> see <xref href="GUID-12D8C373-5199-5B89-9910-00F769AC164A.dita">How to build for an EXE target</xref>.</p></context><steps id="STEPS_FDBDA20C062F4610B084E58AD673A4E1">
-      <step id="STEP_AD6C049FEF1C4BA89DEFD358291184A3"><cmd>To build <filepath>Hello</filepath> for the Emulator, run <filepath>bldmake</filepath> from the directory where the <filepath>bld.inf</filepath> file is located:</cmd>
-        
-      <stepxmp>bldmake bldfiles</stepxmp><stepresult>This creates the &lt;file&gt;abld.bat&lt;/file&gt; batch file.</stepresult></step>
-    <step id="STEP_51BCB62257004034AAEDACCDCB219974"><cmd>Use <filepath>abld</filepath> to build the project, for instance:</cmd><stepxmp>abld build wins udeb</stepxmp></step><step id="STEP_6C69AE8D4AA64378BFE1B6AE443663A4"><cmd>To run it, invoke <filepath>hello.exe</filepath></cmd></step><step id="STEP_859A8F380CF04A4E86DC4CD787724E9E"><cmd>To build <filepath>Hello</filepath> for the target machine, invoke <codeph>bldmake</codeph> and <codeph>abld</codeph>, specifying the appropriate target platform.</cmd></step><step id="STEP_155632C1EC5B47C0A513D196B947AD8F"><cmd>To install software on the target device create a <filepath>.sis</filepath> file using the Symbian Installation system. </cmd><tutorialinfo>See the <xref href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita">Application Installation Guide</xref></tutorialinfo></step></steps>
-    
-    
-    
-  </taskbody><related-links><link href="GUID-12D8C373-5199-5B89-9910-00F769AC164A.dita"><linktext>How to build for an EXE target</linktext></link><link href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita"><linktext>How to use the Symbian build process</linktext></link><link href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita"><linktext>Application Installation Guide</linktext></link></related-links></task>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-78175610-72F4-5CAF-B1E9-9A761347C9DB" xml:lang="en"><title>Hello
+World: A minimal console application</title><shortdesc>This section describes the steps to build the Hello World
+project on the emulator.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="CONTEXT_860ECC705FBE48F2B9F0EDD54C40E65E"><p>The code
+in this section has been taken from the <filepath>Hello</filepath> example.</p><p>This example demonstrates the most basic use of STDLIB.
+It consists of the single source code file, <filepath>slhello.c</filepath> whose sole function, <codeph>main()</codeph> calls <codeph>printf()</codeph>.</p><p>The <filepath>Hello</filepath> example's project definition
+file (<filepath>Hello.mmp</filepath>) contains the following:</p><codeblock xml:space="preserve">TTARGET		hello.exe
+TARGETTYPE	exe
+UID      	0
+SOURCEPATH	.
+SOURCE		slhello.c
+SYSTEMINCLUDE	\epoc32\include\libc  \epoc32\include
+
+LIBRARY		estlib.lib euser.lib 
+STATICLIBRARY	ecrt0.lib</codeblock><note><ul id="UL_DFDA8F9623D74CA297DE7441131DB52D">
+<li id="LI_B1C004435F2D43C1B1FDE677EEBA847C">The import library <filepath>estlib.lib</filepath> is the C standard library.</li>
+<li id="LI_EF2D86C46EC849CBB89C035811A0A3FA">The project also links
+to <filepath>ecrt0.lib</filepath>. This file provides the <codeph>E32Main()</codeph> entrypoint for a <filepath>.exe</filepath>. It
+also provides other services including command-line parsing, and it
+calls <codeph>main()</codeph>.</li>
+<li id="LI_08D804A3357E42279398B608D9C94D63">The <codeph>SYSTEMINCLUDE</codeph> path specifies <filepath>\epoc32\include\libc\</filepath>, which
+is the location for STDLIB's header files.</li>
+</ul></note> </context>
+<steps id="STEPS_FDBDA20C062F4610B084E58AD673A4E1">
+<step id="STEP_AD6C049FEF1C4BA89DEFD358291184A3"><cmd>To build <filepath>Hello</filepath> for the Emulator, run <filepath>bldmake</filepath> from the directory where the <filepath>bld.inf</filepath> file is
+located:</cmd>
+<stepxmp>bldmake bldfiles</stepxmp>
+<stepresult>This creates the &lt;file&gt;abld.bat&lt;/file&gt; batch file.</stepresult>
+</step>
+<step id="STEP_51BCB62257004034AAEDACCDCB219974"><cmd>Use <filepath>abld</filepath> to build the project, for instance:</cmd>
+<stepxmp>abld build wins udeb</stepxmp>
+</step>
+<step id="STEP_6C69AE8D4AA64378BFE1B6AE443663A4"><cmd>To run it, invoke <filepath>hello.exe</filepath></cmd>
+</step>
+<step id="STEP_859A8F380CF04A4E86DC4CD787724E9E"><cmd>To build <filepath>Hello</filepath> for the target machine, invoke <codeph>bldmake</codeph> and <codeph>abld</codeph>, specifying the appropriate target platform.</cmd>
+</step>
+<step id="STEP_155632C1EC5B47C0A513D196B947AD8F"><cmd>To install software
+on the target device create a <filepath>.sis</filepath> file using
+the Symbian Installation system. </cmd>
+<tutorialinfo>See the <xref href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita">Application Installation
+Guide</xref></tutorialinfo>
+</step>
+</steps>
+</taskbody><related-links>
+<link href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita"><linktext>Application
+Installation Guide</linktext></link>
+</related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-781F53F0-0F84-4BF9-A565-C2E7333521CE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-781F53F0-0F84-4BF9-A565-C2E7333521CE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 query is launched for password.</p>
 <fig id="GUID-047D024E-80CD-43D7-8A2C-8144C257820F">
 <title>Data query with two input fields</title>
-<image href="GUID-51F63BFF-CD62-4FFC-929D-ED778642044E_d0e91804_href.png" scale="40" placement="inline"/>
+<image href="GUID-51F63BFF-CD62-4FFC-929D-ED778642044E_d0e96002_href.png" scale="40" placement="inline"/>
 </fig>
 <section id="GUID-1E484115-24B9-494E-A488-00E98D03264F"><title>Using
 data queries with multiple fields in applications</title><p>For implementation
Binary file Symbian3/PDK/Source/GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e376930_href.png has changed
Binary file Symbian3/PDK/Source/GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e382774_href.png has changed
Binary file Symbian3/PDK/Source/GUID-783161AE-708E-4FB4-8219-EEC0F9939E9B_d0e83862_href.png has changed
Binary file Symbian3/PDK/Source/GUID-783161AE-708E-4FB4-8219-EEC0F9939E9B_d0e88060_href.png has changed
--- a/Symbian3/PDK/Source/GUID-783D0B50-0E8A-5199-A07E-749D4A71E671.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-783D0B50-0E8A-5199-A07E-749D4A71E671.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,98 +1,136 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-783D0B50-0E8A-5199-A07E-749D4A71E671"><title>Processing an Extended Inquiry Response</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial shows you how to retrieve and process the data from a Bluetooth Extended Inquiry Response (EIR). </p> <section><title>Introduction</title> <p>This tutorial shows you how to retrieve the EIR data and how to access the various types of data within it. </p> <p><b>Basic Procedure</b> </p> <p>The high level steps to access the EIR are shown here: </p> <ol id="GUID-27E2F081-EE4A-516D-8D04-29D1A4601045"><li id="GUID-2F5F1046-3335-53CA-AD6D-01D1981348B5"><p>Create the <codeph>EIR</codeph> object and during construction fill it with the data from the Extended Inquiry Response </p> </li> <li id="GUID-541D9DF2-816B-5057-B116-8A587F7A2146"><p>Use access functions to retrieve the different types of data. </p> </li> </ol> </section> <section><title>Environment</title> <p>This tutorial assumes that you have your device correctly configured, active and with Bluetooth enabled and the Bluetooth Stack initialised. <codeph>iResult</codeph> is in scope and contains a <xref href="GUID-C625E339-6726-3FB9-8F8A-F4DB0CAC15FF.dita"><apiname>TNameEntry</apiname></xref> object as the result of a successful Inquiry request. See <xref href="GUID-58F65411-CF08-5F46-8222-3FDB9E571FCC.dita">Inquiring About Remote Devices</xref>. </p> <p> <b>Note:</b> When the Inquiry Request is made, set the <codeph>aDoEIR</codeph> flag to specify that Extended Inquire Response data is required. The Bluetooth Stack will set the <codeph>aDoEIR</codeph> flag if an older version of the API (non-EIR) is used. </p> </section> <section><title>Tutorial</title> <p><b>Create an object to hold the Extended Inquiry Response data </b> </p> <ul><li id="GUID-0837BC7D-58A1-5E84-B64F-D2705DA2A844"><codeblock id="GUID-945D5812-6C22-595F-BE1F-F384C72121E1" xml:space="preserve">TBluetoothNameRecordWrapper eir(iResult());</codeblock> </li> </ul> <p><b> Use access functions to retrieve the various kinds of data</b> </p> <ol id="GUID-2733C57E-2A4B-58CD-9340-A0DA609F5705"><li id="GUID-0CA4F35B-23D4-570C-BAAC-520B5CEA62D2"><p>Get the Bluetooth device local name </p> <p> <b>Note:</b> The device local name may be truncated if it is too long to fit in the EIR data packet. If the name is not truncated then the <codeph>isNameComplete</codeph> flag will be set to <codeph>TRUE</codeph>. </p> <codeblock id="GUID-5F03D407-41FD-53AB-8DA7-B5F465719CFD" xml:space="preserve">
-TBool isNameComplete;
-TInt error = KErrNone;
-TInt length = 0;
-            
-// Get name
-// This length could be used to create the TBuf to be passed into GetDeviceName()
-length = eir.GetDeviceNameLength();
-TBuf&lt;255&gt; name;
-if(length &gt;= 0)
- {
- // name will contain a Unicode encoded 16-bit string
-    error = eir.GetDeviceName(name, isNameComplete);
-    }
- else
-    {
-        error = length;
-    }
-if(error == KErrNone)
-// we have name here
-    {
-    if(isNameComplete == EFalse)
-        {
-        iHROutputConsole-&gt;Printf(_L("%d Bytes [Partial] Name: "), length);
-        }
-    else
-        {
-        iHROutputConsole-&gt;Printf(_L("%d Bytes [Complete] Name: "), length);
-        }
-        iHROutputConsole-&gt;Printf(_L("%S \n"),&amp;name);
-    }
-</codeblock> </li> <li id="GUID-323875EC-7012-537A-935A-74A91DE0F8D7"><p>Get the Transmission Power level </p> <codeblock id="GUID-870F61A6-F827-5B6D-BD4D-A8BB9EFAB0C6" xml:space="preserve">// Get TxPowerLevel
-TInt8 txPowerLevel;
-error = eir.GetTxPowerLevel(txPowerLevel);
-if(error == KErrNone)
-    // TxPowerLevel present
-    {
-    iHROutputConsole-&gt;Printf(_L("TxPowerLevel: %ddBm\n"), txPowerLevel);
-    }</codeblock> </li> <li id="GUID-2C67FE67-0652-5840-BA1F-04891A95CAB6"><p>Get the Service Class UUIDs. </p> <p> </p> <codeblock id="GUID-132B642E-EC0A-54D5-B0F6-4F4218578EB5" xml:space="preserve">// Get UUIDs
-RExtendedInquiryResponseUUIDContainer uuidContainer;
-error = eir.GetServiceClassUuids(uuidContainer);
-if(error &gt;= KErrNone)
-    {
-    RArray&lt;TUUID&gt; uuids;
-    TInt uuidCount = uuidContainer.UUIDs().Count();
-    if(uuidCount &gt; 0)
-     {
-        iHROutputConsole-&gt;Printf(_L("*** UUID Count: %d\n"), uuidCount);
-        TInt i;
-        for(i=0;i&lt;uuidCount;i++)
-            {
-            TInt j;
-            TPtrC8 uuid(uuidContainer.UUIDs()[i].ShortestForm());
-            // Treat it as a big endian
-            for(j=0;j&lt;uuid.Length();j++)
-                {
-                iHROutputConsole-&gt;Printf(_L("%02X"), uuid[j]);
-                }
-                
-            iHROutputConsole-&gt;Printf(_L(" \n"));
-            }
-        }
-    }</codeblock> </li> <li id="GUID-C694FBFB-496F-5936-B542-BDB3CD0C063B"><p>Get Manufacturer Specific data. </p> <p> <b>Note:</b> This data is entirely defined by the individual Manufacturer. </p> <codeblock id="GUID-A53768A5-9644-5D56-84BC-EAA4580E8280" xml:space="preserve">// Get Manufacturer Specific Data
-length = eir.GetVendorSpecificDataLength();
-TBuf8&lt;255&gt; msd;
-if(length &gt; 0)
-    {
-    error = eir.GetVendorSpecificData(msd);
-    }
-else
-    {
-    error = length;
- }
-if(error == KErrNone)
-// we have Manufacturer Specific Data here
-    {
-    // This conversion is for display reason, in a real world this may not be necessary as 
-    // Manufacturer specific data can be just raw 8-bit data, however GetDeviceName() is
-    // different as it always return Unicode encoded 16-bit string
-    error = CnvUtfConverter::ConvertToUnicodeFromUtf8(name, msd);
-    if(error &gt;= KErrNone &amp;&amp; length &gt; 0)
-        {
-        iHROutputConsole-&gt;Printf(_L("%d Bytes Manufacturer Specific Data: %S\n"), length, &amp;name);
-        }
-    }
-}</codeblock> </li> </ol> </section> </conbody><related-links><link href="GUID-F2A793F1-A5B5-526B-B147-771D440B13A2.dita"><linktext>Bluetooth Extended Inquiry
-             Response</linktext> </link> <link><linktext/></link></related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-783D0B50-0E8A-5199-A07E-749D4A71E671" xml:lang="en"><title>Processing an Extended Inquiry Response</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This tutorial shows you how to retrieve and process the data from
+a Bluetooth Extended Inquiry Response (EIR). </p>
+<section id="GUID-5BD30F69-2DE0-40C6-8F45-3DDBC3F79A35"><title>Introduction</title> <p>This tutorial shows you how
+to retrieve the EIR data and how to access the various types of data
+within it. </p> <p><b>Basic Procedure</b> </p> <p>The high level steps to access the
+EIR are shown here: </p> <ol id="GUID-27E2F081-EE4A-516D-8D04-29D1A4601045">
+<li id="GUID-2F5F1046-3335-53CA-AD6D-01D1981348B5"><p>Create the <codeph>EIR</codeph> object and during construction fill it with the data
+from the Extended Inquiry Response </p> </li>
+<li id="GUID-541D9DF2-816B-5057-B116-8A587F7A2146"><p>Use access functions
+to retrieve the different types of data. </p> </li>
+</ol> </section>
+<section id="GUID-ED477BF8-1A81-49C2-9566-682D70A9DC3A"><title>Environment</title> <p>This tutorial assumes that
+you have your device correctly configured, active and with Bluetooth
+enabled and the Bluetooth Stack initialised. <codeph>iResult</codeph> is in scope and contains a <xref href="GUID-C625E339-6726-3FB9-8F8A-F4DB0CAC15FF.dita"><apiname>TNameEntry</apiname></xref> object
+as the result of a successful Inquiry request. See <xref href="GUID-58F65411-CF08-5F46-8222-3FDB9E571FCC.dita">Inquiring About Remote
+Devices</xref>. </p> <p> <b>Note:</b> When the Inquiry Request is
+made, set the <codeph>aDoEIR</codeph> flag to specify that Extended
+Inquire Response data is required. The Bluetooth Stack will set the <codeph>aDoEIR</codeph> flag if an older version of the API (non-EIR) is
+used. </p> </section>
+<section id="GUID-38AF6CEE-4F78-4113-AE85-CDD0390F1DC7"><title>Tutorial</title> <p><b>Create an object to hold the Extended Inquiry Response data </b> </p> <ul>
+<li id="GUID-0837BC7D-58A1-5E84-B64F-D2705DA2A844"><codeblock id="GUID-945D5812-6C22-595F-BE1F-F384C72121E1" xml:space="preserve">TBluetoothNameRecordWrapper eir(iResult());</codeblock> </li>
+</ul> <p><b> Use access functions to retrieve the various kinds of data</b> </p> <ol id="GUID-2733C57E-2A4B-58CD-9340-A0DA609F5705">
+<li id="GUID-0CA4F35B-23D4-570C-BAAC-520B5CEA62D2"><p>Get the Bluetooth
+device local name </p> <p> <b>Note:</b> The device local name may
+be truncated if it is too long to fit in the EIR data packet. If the
+name is not truncated then the <codeph>isNameComplete</codeph> flag
+will be set to <codeph>TRUE</codeph>. </p> <codeblock id="GUID-5F03D407-41FD-53AB-8DA7-B5F465719CFD" xml:space="preserve">
+TBool isNameComplete;
+TInt error = KErrNone;
+TInt length = 0;
+            
+// Get name
+// This length could be used to create the TBuf to be passed into GetDeviceName()
+length = eir.GetDeviceNameLength();
+TBuf&lt;255&gt; name;
+if(length &gt;= 0)
+ {
+ // name will contain a Unicode encoded 16-bit string
+    error = eir.GetDeviceName(name, isNameComplete);
+    }
+ else
+    {
+        error = length;
+    }
+if(error == KErrNone)
+// we have name here
+    {
+    if(isNameComplete == EFalse)
+        {
+        iHROutputConsole-&gt;Printf(_L("%d Bytes [Partial] Name: "), length);
+        }
+    else
+        {
+        iHROutputConsole-&gt;Printf(_L("%d Bytes [Complete] Name: "), length);
+        }
+        iHROutputConsole-&gt;Printf(_L("%S \n"),&amp;name);
+    }
+</codeblock> </li>
+<li id="GUID-323875EC-7012-537A-935A-74A91DE0F8D7"><p>Get the Transmission
+Power level </p> <codeblock id="GUID-870F61A6-F827-5B6D-BD4D-A8BB9EFAB0C6" xml:space="preserve">// Get TxPowerLevel
+TInt8 txPowerLevel;
+error = eir.GetTxPowerLevel(txPowerLevel);
+if(error == KErrNone)
+    // TxPowerLevel present
+    {
+    iHROutputConsole-&gt;Printf(_L("TxPowerLevel: %ddBm\n"), txPowerLevel);
+    }</codeblock> </li>
+<li id="GUID-2C67FE67-0652-5840-BA1F-04891A95CAB6"><p>Get the Service
+Class UUIDs. </p> <p> </p> <codeblock id="GUID-132B642E-EC0A-54D5-B0F6-4F4218578EB5" xml:space="preserve">// Get UUIDs
+RExtendedInquiryResponseUUIDContainer uuidContainer;
+error = eir.GetServiceClassUuids(uuidContainer);
+if(error &gt;= KErrNone)
+    {
+    RArray&lt;TUUID&gt; uuids;
+    TInt uuidCount = uuidContainer.UUIDs().Count();
+    if(uuidCount &gt; 0)
+     {
+        iHROutputConsole-&gt;Printf(_L("*** UUID Count: %d\n"), uuidCount);
+        TInt i;
+        for(i=0;i&lt;uuidCount;i++)
+            {
+            TInt j;
+            TPtrC8 uuid(uuidContainer.UUIDs()[i].ShortestForm());
+            // Treat it as a big endian
+            for(j=0;j&lt;uuid.Length();j++)
+                {
+                iHROutputConsole-&gt;Printf(_L("%02X"), uuid[j]);
+                }
+                
+            iHROutputConsole-&gt;Printf(_L(" \n"));
+            }
+        }
+    }</codeblock> </li>
+<li id="GUID-C694FBFB-496F-5936-B542-BDB3CD0C063B"><p>Get Manufacturer
+Specific data. </p> <p> <b>Note:</b> This data is entirely defined
+by the individual Manufacturer. </p> <codeblock id="GUID-A53768A5-9644-5D56-84BC-EAA4580E8280" xml:space="preserve">// Get Manufacturer Specific Data
+length = eir.GetVendorSpecificDataLength();
+TBuf8&lt;255&gt; msd;
+if(length &gt; 0)
+    {
+    error = eir.GetVendorSpecificData(msd);
+    }
+else
+    {
+    error = length;
+ }
+if(error == KErrNone)
+// we have Manufacturer Specific Data here
+    {
+    // This conversion is for display reason, in a real world this may not be necessary as 
+    // Manufacturer specific data can be just raw 8-bit data, however GetDeviceName() is
+    // different as it always return Unicode encoded 16-bit string
+    error = CnvUtfConverter::ConvertToUnicodeFromUtf8(name, msd);
+    if(error &gt;= KErrNone &amp;&amp; length &gt; 0)
+        {
+        iHROutputConsole-&gt;Printf(_L("%d Bytes Manufacturer Specific Data: %S\n"), length, &amp;name);
+        }
+    }
+}</codeblock> </li>
+</ol> </section>
+
+</conbody><related-links>
+<link href="GUID-F2A793F1-A5B5-526B-B147-771D440B13A2.dita"><linktext>Bluetooth Extended Inquiry Response</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-785160B9-A6BC-47FA-957E-5BB87E79B4E7_d0e101906_href.png has changed
Binary file Symbian3/PDK/Source/GUID-785160B9-A6BC-47FA-957E-5BB87E79B4E7_d0e97828_href.png has changed
--- a/Symbian3/PDK/Source/GUID-786D76B7-B827-43B7-8202-BA7A7E5EE03E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-786D76B7-B827-43B7-8202-BA7A7E5EE03E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,7 +37,7 @@
 </ol></section>
 <section id="GUID-158ECB24-37E7-48DE-80F4-9606AC58F183"><title>Use cases</title><fig id="GUID-B8FF99CA-CC09-4B25-BEB6-0DA7053D1B7F">
 <title>Tactile feedback client API use cases</title>
-<image href="GUID-7E8C363C-5908-445D-8595-D53F217186ED_d0e101841_href.png" scale="90" placement="inline"/>
+<image href="GUID-7E8C363C-5908-445D-8595-D53F217186ED_d0e105861_href.png" scale="90" placement="inline"/>
 </fig><p>To provide tactile feedback for touch events in your applications,
 implement the following use cases:</p><ul>
 <li><p><xref href="GUID-27897E0D-D9D6-4007-A45E-62C366F1267C.dita">Using direct
Binary file Symbian3/PDK/Source/GUID-78989363-A405-4A1D-8F13-DC52FE6FAD80_d0e103515_href.png has changed
Binary file Symbian3/PDK/Source/GUID-78989363-A405-4A1D-8F13-DC52FE6FAD80_d0e107535_href.png has changed
Binary file Symbian3/PDK/Source/GUID-78AAEDF8-6C31-53E3-B411-3463DDAAC902_d0e109991_href.png has changed
Binary file Symbian3/PDK/Source/GUID-78AAEDF8-6C31-53E3-B411-3463DDAAC902_d0e112414_href.png has changed
Binary file Symbian3/PDK/Source/GUID-78B63C44-7765-5408-A611-DFE8709196F8_d0e242153_href.png has changed
Binary file Symbian3/PDK/Source/GUID-78B63C44-7765-5408-A611-DFE8709196F8_d0e248164_href.png has changed
Binary file Symbian3/PDK/Source/GUID-79009102-0490-5C61-9722-C5EE49A1AF2B_d0e228080_href.png has changed
Binary file Symbian3/PDK/Source/GUID-79009102-0490-5C61-9722-C5EE49A1AF2B_d0e234079_href.png has changed
--- a/Symbian3/PDK/Source/GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,8 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B" xml:lang="en"><title>Build
-Process</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B" xml:lang="en"><title>Build Process</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <ul>
 <li id="GUID-1F561425-9B98-544A-A0CB-086E0931313E"><p><xref href="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita#GUID-79100974-CAE1-5451-9ED7-E06C9B27131B/GUID-DDD0A8B3-0375-5245-A019-C9A74575C63F">Introduction</xref>  </p> </li>
 <li id="GUID-DE26248D-27DE-5B38-9BFA-FE4CBAB676F6"><p><xref href="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita#GUID-79100974-CAE1-5451-9ED7-E06C9B27131B/GUID-423A00CF-D668-5114-860D-B30185DAB0B2">P.I.P.S. target types</xref>  </p> </li>
@@ -20,73 +19,62 @@
 <li id="GUID-E146BFE8-FDFE-551D-B280-5AD5303996C7"><p><xref href="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita#GUID-79100974-CAE1-5451-9ED7-E06C9B27131B/GUID-FBF12198-B501-5525-86AF-5517A012FDF1">Using the System Call Adaptation Layer</xref>  </p> </li>
 </ul> </li>
 </ul>
-<section id="GUID-DDD0A8B3-0375-5245-A019-C9A74575C63F"><title>Introduction</title> <p>Symbian
-currently builds its emulator code with the Metrowerks CodeWarrior compiler.
-This is known as the <codeph>WINSCW</codeph> build target. Binaries built
-with this compiler are put in the <filepath>epoc32\release\winscw</filepath> and <filepath>epoc32\winscw</filepath> directory
-trees. </p> <p>You can build your programs for the emulator using Metrowerks
-CodeWarrior. The build tools also support the Microsoft® Visual Studio .NET
-2003 and Microsoft Visual Studio v6 IDEs. For further information, see the <xref href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita">Build tools guide</xref> section.
-Note that licensees or third-parties may supply additional tools, or extend
-support to additional compilers, which are not described here. </p> <p>The
-following sections describe the Symbian platform target types
-introduced with P.I.P.S.. For further information see <xref href="GUID-763DCEF4-C960-58A2-99DC-7FFD3187BFD4.dita">the
-native build targets</xref> section. </p> <p>When using tool chains for pre-Symbian
-OS v9.3, the <filepath>.mmp</filepath> file has to be manually changed to
-link in various libraries. </p> <p>For Symbian OS v9.3 onwards the tool chain
-supports the new <codeph>STDEXE</codeph> and <codeph>STDDLL</codeph> target
-types for P.I.P.S. EXEs and DLLs. See the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita#GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B/GUID-5D0338E0-E2D4-5904-9B21-244CA52DD91B">Generation
-of STDEXE, STDDLL and STDLIB</xref> section for further explanation of the
-new target types introduced with P.I.P.S.. </p> </section>
-<section id="GUID-423A00CF-D668-5114-860D-B30185DAB0B2"><title>P.I.P.S. target
-types</title> <p>P.I.P.S. EXEs require adaptation logic to set up the C program
-environment and the P.I.P.S. run-time C library context - this is performed
-by the <codeph>CRT0</codeph> library (also known as glue code, see the <xref href="GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D.dita#GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D/GUID-49C7F951-8317-5F41-B1B9-9F7B8803E655">Glue
-code (CRT0)</xref> section for further details). </p> <p>P.I.P.S. executables
-are implemented using native Symbian platform executables linked statically
-to the glue code. The new target types for P.I.P.S. include the glue code
-by default. The glue code provides the linking code between the <codeph>E32Main()</codeph> entry
-point and the <codeph>main()</codeph> entry point used in 'C' P.I.P.S. EXEs. </p> <p>For
-further information see the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita">Target
-Types</xref> section. </p> </section>
-<section id="GUID-6A50D190-7E5B-5109-BA38-9C962DF8EB1D"><title>Symbol information</title> <p>When
-building a P.I.P.S. DLL (that is, when the target type is <codeph>STDDLL</codeph>),
-function and data symbols with <codeph>extern</codeph> linkage will be exported
-or imported by default, without any requirement for <xref href="GUID-BD292953-36BF-3C7D-AA93-98E6CB38968E.dita"><apiname>IMPORT_C</apiname></xref> /<xref href="GUID-2F78C3AC-7330-34C0-8A83-75D7345F2DC8.dita"><apiname>EXPORT_C</apiname></xref> declarations
-in the header or source files. </p> <p>Exporting of symbols with <codeph>extern</codeph> linkage
-is the assumed default on other platforms and enables the source code to be
-easily ported. Although this may normally be undesirable in the embedded world,
-it is supported for <codeph>STDDLL</codeph> to avoid portable source code
-having to include excessive decoration (that is, the <codeph>IMPORT_C</codeph> /<codeph>EXPORT_C</codeph> macros)
-for the Symbian platform. </p> <p> <codeph>STDEXE</codeph> and <codeph>STDDLL</codeph> provide
-symbol name information. For more information on the Symbian platform target
-types see the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita#GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B/GUID-5D0338E0-E2D4-5904-9B21-244CA52DD91B">Generation
-of STDEXE, STDDLL and STDLIB</xref> section. </p> </section>
-<section id="GUID-76C405AE-1AB7-59AE-BCAF-A9E09D17B24E"><title>Mapping POSIX
-handles to the Symbian platform resource objects</title> <p id="GUID-4AA14ED5-7949-5AAB-A685-87DA43B99AFE"><b>Using
-non-system calls</b> </p> <p>Several P.I.P.S. APIs that directly manipulate
-the Symbian platform (native) resources are implemented in the System Call
-Adaptation Layer (SCAL). The exceptions to this are <codeph>pthread</codeph> s,
-and memory maps. The <codeph>pthread</codeph> APIs use <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref> s
-and <xref href="GUID-C0FEA3A0-7DD3-3B87-A919-CB973BC05766.dita"><apiname>RMutex</apiname></xref> es directly from within <codeph>libpthread</codeph>.
-Similarly, <xref href="GUID-326A2F4D-0E99-31C0-A35D-E8BF45913F07.dita"><apiname>RChunk</apiname></xref> s that are used to provide support for
-memory maps are directly manipulated from within <codeph>libc</codeph>. Note
-that none of these APIs allow direct access to the underlying native resources.
-References to these are wrapped in POSIX-defined data structures. These data
-structures are intended to be treated as opaque and no attempt must be made
-to dereference or use the underlying resource reference directly. </p> <p>All
-IPC calls enter the SCAL, but are handled in a separate IPC library. This
-is a component distinction. The IPC library is logically still part of the
-SCAL. </p> <p id="GUID-FBF12198-B501-5525-86AF-5517A012FDF1"><b>Using the
-System Call Adaptation Layer</b> </p> <p>One of the supports provided by the
-System Call Adaptation Layer (SCAL) is the mapping of operations on UNIX®
-file descriptors to the corresponding Symbian platform resource objects. The
-section below discusses the file descriptors case. </p> <p id="GUID-1A1FC433-B9F6-5998-9622-14B961F477E2"><b>Creating
-a new file descriptor</b> </p> <p>The porting of the 'C' POSIX <xref href="GUID-64886CC6-072F-3542-855A-5D733FC761E8.dita"><apiname>fopen()</apiname></xref> function,
-below, is a good example of mapping POSIX handles to native Symbian platform
-resource objects. The mapping is done through a file descriptor table. As
-a reminder, every application/process has its own file descriptor table. </p> <p>This
-example shows a call to the <codeph>fopen()</codeph> function: </p> <codeblock id="GUID-F9681B44-A1E6-5971-9C5E-147D4281DBF0" xml:space="preserve">//myapp.cpp
+<section id="GUID-DDD0A8B3-0375-5245-A019-C9A74575C63F"><title>Introduction</title> <p>Symbian currently builds its emulator code with the Metrowerks
+CodeWarrior compiler. This is known as the <codeph>WINSCW</codeph> build target. Binaries built with this compiler are put in the <filepath>epoc32\release\winscw</filepath> and <filepath>epoc32\winscw</filepath> directory trees. </p> <p>You can build your programs for the emulator
+using Metrowerks CodeWarrior. The build tools also support the Microsoft®
+Visual Studio .NET 2003 and Microsoft Visual Studio v6 IDEs. Note that licensees or third-parties may supply additional
+tools, or extend support to additional compilers, which are not described
+here. </p> <p>The following sections describe the Symbian platform
+target types introduced with P.I.P.S.. </p> <p>When using tool chains
+for pre-Symbian OS v9.3, the <filepath>.mmp</filepath> file has to
+be manually changed to link in various libraries. </p> <p>For Symbian
+OS v9.3 onwards the tool chain supports the new <codeph>STDEXE</codeph> and <codeph>STDDLL</codeph> target types for P.I.P.S. EXEs and DLLs.
+See the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita#GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B/GUID-5D0338E0-E2D4-5904-9B21-244CA52DD91B">Generation of STDEXE, STDDLL and STDLIB</xref> section for further
+explanation of the new target types introduced with P.I.P.S.. </p> </section>
+<section id="GUID-423A00CF-D668-5114-860D-B30185DAB0B2"><title>P.I.P.S.
+target types</title> <p>P.I.P.S. EXEs require adaptation logic to
+set up the C program environment and the P.I.P.S. run-time C library
+context - this is performed by the <codeph>CRT0</codeph> library (also
+known as glue code, see the <xref href="GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D.dita#GUID-6CDDDD1E-BDB9-5C61-8EFD-8B3369F5A12D/GUID-49C7F951-8317-5F41-B1B9-9F7B8803E655">Glue code (CRT0)</xref> section for further details). </p> <p>P.I.P.S.
+executables are implemented using native Symbian platform executables
+linked statically to the glue code. The new target types for P.I.P.S.
+include the glue code by default. The glue code provides the linking
+code between the <codeph>E32Main()</codeph> entry point and the <codeph>main()</codeph> entry point used in 'C' P.I.P.S. EXEs. </p> <p>For
+further information see the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita">Target Types</xref> section. </p> </section>
+<section id="GUID-6A50D190-7E5B-5109-BA38-9C962DF8EB1D"><title>Symbol
+information</title> <p>When building a P.I.P.S. DLL (that is, when
+the target type is <codeph>STDDLL</codeph>), function and data symbols
+with <codeph>extern</codeph> linkage will be exported or imported
+by default, without any requirement for <xref href="GUID-BD292953-36BF-3C7D-AA93-98E6CB38968E.dita"><apiname>IMPORT_C</apiname></xref> /<xref href="GUID-2F78C3AC-7330-34C0-8A83-75D7345F2DC8.dita"><apiname>EXPORT_C</apiname></xref> declarations in the header or source
+files. </p> <p>Exporting of symbols with <codeph>extern</codeph> linkage
+is the assumed default on other platforms and enables the source code
+to be easily ported. Although this may normally be undesirable in
+the embedded world, it is supported for <codeph>STDDLL</codeph> to
+avoid portable source code having to include excessive decoration
+(that is, the <codeph>IMPORT_C</codeph> /<codeph>EXPORT_C</codeph> macros) for the Symbian platform. </p> <p> <codeph>STDEXE</codeph> and <codeph>STDDLL</codeph> provide symbol name information. For
+more information on the Symbian platform target types see the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita#GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B/GUID-5D0338E0-E2D4-5904-9B21-244CA52DD91B">Generation of STDEXE, STDDLL and STDLIB</xref> section. </p> </section>
+<section id="GUID-76C405AE-1AB7-59AE-BCAF-A9E09D17B24E"><title>Mapping
+POSIX handles to the Symbian platform resource objects</title> <p id="GUID-4AA14ED5-7949-5AAB-A685-87DA43B99AFE"><b>Using non-system
+calls</b> </p> <p>Several P.I.P.S. APIs that directly manipulate the
+Symbian platform (native) resources are implemented in the System
+Call Adaptation Layer (SCAL). The exceptions to this are <codeph>pthread</codeph> s, and memory maps. The <codeph>pthread</codeph> APIs use <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref> s and <xref href="GUID-C0FEA3A0-7DD3-3B87-A919-CB973BC05766.dita"><apiname>RMutex</apiname></xref> es directly from
+within <codeph>libpthread</codeph>. Similarly, <xref href="GUID-326A2F4D-0E99-31C0-A35D-E8BF45913F07.dita"><apiname>RChunk</apiname></xref> s that are used to provide support for memory maps are directly
+manipulated from within <codeph>libc</codeph>. Note that none of these
+APIs allow direct access to the underlying native resources. References
+to these are wrapped in POSIX-defined data structures. These data
+structures are intended to be treated as opaque and no attempt must
+be made to dereference or use the underlying resource reference directly. </p> <p>All IPC calls enter the SCAL, but are handled in a separate IPC
+library. This is a component distinction. The IPC library is logically
+still part of the SCAL. </p> <p id="GUID-FBF12198-B501-5525-86AF-5517A012FDF1"><b>Using the System
+Call Adaptation Layer</b> </p> <p>One of the supports provided by
+the System Call Adaptation Layer (SCAL) is the mapping of operations
+on UNIX® file descriptors to the corresponding Symbian platform resource
+objects. The section below discusses the file descriptors case. </p> <p id="GUID-1A1FC433-B9F6-5998-9622-14B961F477E2"><b>Creating a
+new file descriptor</b> </p> <p>The porting of the 'C' POSIX <xref href="GUID-64886CC6-072F-3542-855A-5D733FC761E8.dita"><apiname>fopen()</apiname></xref> function, below, is a good example of mapping POSIX
+handles to native Symbian platform resource objects. The mapping is
+done through a file descriptor table. As a reminder, every application/process
+has its own file descriptor table. </p> <p>This example shows a call
+to the <codeph>fopen()</codeph> function: </p> <codeblock id="GUID-F9681B44-A1E6-5971-9C5E-147D4281DBF0" xml:space="preserve">//myapp.cpp
 int foo()
 {
    //open the test.tx , fd=7 in this example
@@ -95,31 +83,30 @@
    //writes to file referenced by the file descriptor  
    ret = write (fd, buf, size_t);
 
-}</codeblock> <p>When <i>myapp</i> tries to open the file with <codeph>fopen()</codeph>,
-the application makes a call to the equivalent Symbian platform function, <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita#GUID-BE0804F6-4375-3C8A-8C83-968F510466E0/GUID-72470A68-7E07-30EF-A3C8-AA855CDAF60E"><apiname>RFile::Open()</apiname></xref>,
-and returns the next free entry in the file descriptor table. </p> <p>In each
-table, the values <codeph>0</codeph>, <codeph>1</codeph> and <codeph>2</codeph> are
-reserved for <xref href="GUID-C0C1D22B-298F-3E8D-A1E9-6F5EFA81F9E8.dita"><apiname>stdin()</apiname></xref>, <xref href="GUID-0441C351-4A8B-3A23-9255-D7C8CEA2A67F.dita"><apiname>sdtout()</apiname></xref> and <xref href="GUID-4FF97B50-2C1E-37EC-888B-FB8D3F14B5B8.dita"><apiname>stderr()</apiname></xref>.
-The figure below shows an example file descriptor table. </p> <fig id="GUID-4CEA6881-49E0-5211-8258-C44A8E8F3CDE">
-<image href="GUID-8EE8E38C-7CA1-5F1B-86D0-1A0B03AAC5F2_d0e191459_href.png" placement="inline"/>
-</fig> <p>According to the descriptor table the file descriptor equals <codeph>7</codeph>,
-as this was the next free entry in the table, and the write function will
-be writing to the file referenced by <codeph>7</codeph>. </p> <p> <b>Note:</b> A
-POSIX descriptor is an index in the process open file table and represents,
-for example, an open file, socket or pipe. A Symbian descriptor represents
-data which can reside in any memory location, either in ROM or RAM. A descriptor
-object maintains pointer and length information to describe the data. All
-access to the data is made through the descriptor object. </p> <p id="GUID-79958B57-8C71-5875-9C5B-8C313A96D13A"><b>Descriptors
-shared across multiple threads within the same process</b> </p> <p>Originally
+}</codeblock> <p>When <i>myapp</i> tries to open the file with <codeph>fopen()</codeph>, the application makes a call to the equivalent
+Symbian platform function, <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita#GUID-BE0804F6-4375-3C8A-8C83-968F510466E0/GUID-72470A68-7E07-30EF-A3C8-AA855CDAF60E"><apiname>RFile::Open()</apiname></xref>, and returns
+the next free entry in the file descriptor table. </p> <p>In each
+table, the values <codeph>0</codeph>, <codeph>1</codeph> and <codeph>2</codeph> are reserved for <xref href="GUID-C0C1D22B-298F-3E8D-A1E9-6F5EFA81F9E8.dita"><apiname>stdin()</apiname></xref>, <xref href="GUID-0441C351-4A8B-3A23-9255-D7C8CEA2A67F.dita"><apiname>sdtout()</apiname></xref> and <xref href="GUID-4FF97B50-2C1E-37EC-888B-FB8D3F14B5B8.dita"><apiname>stderr()</apiname></xref>. The figure below
+shows an example file descriptor table. </p> <fig id="GUID-4CEA6881-49E0-5211-8258-C44A8E8F3CDE">
+<image href="GUID-8EE8E38C-7CA1-5F1B-86D0-1A0B03AAC5F2_d0e197517_href.png" placement="inline"/>
+</fig> <p>According to the descriptor table the file descriptor equals <codeph>7</codeph>, as this was the next free entry in the table, and the
+write function will be writing to the file referenced by <codeph>7</codeph>. </p> <p> <b>Note:</b> A POSIX descriptor is an index in the process
+open file table and represents, for example, an open file, socket
+or pipe. A Symbian descriptor represents data which can reside in
+any memory location, either in ROM or RAM. A descriptor object maintains
+pointer and length information to describe the data. All access to
+the data is made through the descriptor object. </p> <p id="GUID-79958B57-8C71-5875-9C5B-8C313A96D13A"><b>Descriptors shared
+across multiple threads within the same process</b> </p> <p>Originally
 on the Symbian platform, resources were thread specific and multi-tasking
-was achieved using servers and active objects. In other operating systems,
-such as Linux, resources are process-local and multi-tasking is achieved by
-multi-threading. The purpose of the POSIX server in the original <codeph>STDLIB</codeph> was
-to allow system-wide data, resources and descriptors to be shared across multiple
-threads. This means there was context switching between the calling thread
-and the server thread which added latency. </p> <p>With the introduction of
-the EKA2 kernel, session handles can now be shared across multiple threads
-and processes. </p> <p>P.I.P.S. takes advantage of EKA2 and re-factors the
-SCAL to allow descriptors to be shared across multiple threads within the
-same process, without the use of the POSIX server. </p> </section>
+was achieved using servers and active objects. In other operating
+systems, such as Linux, resources are process-local and multi-tasking
+is achieved by multi-threading. The purpose of the POSIX server in
+the original <codeph>STDLIB</codeph> was to allow system-wide data,
+resources and descriptors to be shared across multiple threads. This
+means there was context switching between the calling thread and the
+server thread which added latency. </p> <p>With the introduction of
+the EKA2 kernel, session handles can now be shared across multiple
+threads and processes. </p> <p>P.I.P.S. takes advantage of EKA2 and
+re-factors the SCAL to allow descriptors to be shared across multiple
+threads within the same process, without the use of the POSIX server. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15" xml:lang="en"><title>How
-to use bldmake</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <filepath>bldmake</filepath> tool processes the component description
-file (<filepath>bld.inf</filepath>) in the current directory and generates
-the batch file <filepath>abld.bat</filepath> and several build batch makefiles
-(<filepath>.make</filepath>). <filepath>abld</filepath> can then use the makefiles
-to carry out the various stages of building the component. </p>
-<p>The tool supports a number of command line options, however most Symbian
-developers will simply use: </p>
-<p><userinput>bldmake bldfiles</userinput> </p>
-<p> <filepath>bldmake</filepath> then carries out the following 3-stage process: </p>
-<ol id="GUID-BE26A1D9-1529-5DDC-8288-2BBBEFF95D30">
-<li id="GUID-5E2F4383-6D29-5476-9D88-FF65A7878FDC"><p>Creates the directory: <filepath>\epoc32\build\</filepath> <codeph>absolute_path_to_bld.inf_file</codeph> \ </p> </li>
-<li id="GUID-00C7C6F4-42A7-52CC-80C4-91E2A4A887D4"><p>Generates makefiles
-for the component into this directory </p> </li>
-<li id="GUID-4E6D5AC8-8317-5D24-8617-1B8741730745"><p>Produces a batch file
-called <filepath>abld.bat</filepath> in the current directory. </p> </li>
-</ol>
-</conbody><related-links>
-<link href="GUID-B1800856-3516-5D22-B1C5-556866CDDF46.dita"><linktext>Bldmake syntax</linktext>
-</link>
-<link href="GUID-7D3B5008-CB40-504D-90A8-92DE482977CA.dita"><linktext>Bldmake component
-definition file syntax</linktext></link>
-<link href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita"><linktext>Using abld</linktext>
-</link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-795B41AF-FBEA-56CE-AE20-EF17BE754723.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-795B41AF-FBEA-56CE-AE20-EF17BE754723.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -219,7 +219,7 @@
 </table> <p>The following diagram shows the <codeph>InetProtUtils</codeph> classes
 and their relationships. </p> <fig id="GUID-482F6611-C67C-5003-94DD-29DCBCC85092">
 <title>              Class diagram for InetProtUtils            </title>
-<image href="GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e207170_href.png" placement="inline"/>
+<image href="GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e213171_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Typical uses</title> <p>Applications that use HTTP transport
 framework use <xref href="GUID-46ED72C3-E4BF-336C-BDC1-1F5128A9197D.dita"><apiname>InetProtUtils</apiname></xref> API. The utilities may also
Binary file Symbian3/PDK/Source/GUID-795DA381-A997-55E6-98D0-436DC250B07E_d0e264665_href.png has changed
Binary file Symbian3/PDK/Source/GUID-795DA381-A997-55E6-98D0-436DC250B07E_d0e270665_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7971886A-8ED0-5924-9BC0-A163BA499888.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7971886A-8ED0-5924-9BC0-A163BA499888"><title>-debug</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option generates symbolic debug information for release or debug builds, independent of the compiler optimization level. </p> <p>By default, the build system generates symbolic debug information only for the debug builds. With this option, the generation of symbolic debug information is extended to release builds to support debugging of release binaries on ARM ABI compliant platforms. </p> <p>The option instructs the <codeph>makmake</codeph> tool to generate symbolic debug information for <codeph>UREL</codeph> or <codeph>UDEB</codeph> variants. </p> <p>Note that the option is applicable to the <codeph>build</codeph> and <codeph>makefile</codeph> commands only. </p> <p>Also note that this option cannot be used with the <xref href="GUID-8FF4D117-920A-5AFA-ABB3-C0101EE2B7AA.dita">-no_debug</xref> option. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-79B02562-B6E6-5DF9-BF98-F015C73A448C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-79B02562-B6E6-5DF9-BF98-F015C73A448C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,8 @@
 <section id="GUID-4DE456B7-D724-5591-93BE-ECDDC2CDFF89"><title>Purpose</title> <p>This example shows how to create and display a digital and analog
 clock. For more information about the API, see <xref href="GUID-A36C2DE6-21D8-5558-B223-1E81CEB16891.dita">Clock Overview</xref>. </p> </section>
 <section id="GUID-1C52A2F4-43C6-5C58-8FC1-0B90BAEAFCC7"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c26b23db-9a81-4fff-859b-ef08686838eb.zip" scope="external"> ClockExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c26b23db-9a81-4fff-859b-ef08686838eb.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-549577CE-8943-463C-B704-A696A5899D34"><title>Class Summary</title><ul>
+<section id="GUID-549577CE-8943-463C-B704-A696A5899D34"><title>Class
+Summary</title><ul>
 <li><p><xref href="GUID-30479BE3-296E-3B4D-914D-B080ABD733E4.dita"><apiname> CWsScreenDevice </apiname></xref></p></li>
 <li><p><xref href="GUID-DE966D8B-6E00-39B6-B136-6CF29EA384D3.dita"><apiname> CFbsFont</apiname></xref></p></li>
 <li><p><xref href="GUID-F84C7F40-6DEB-39D1-B172-CB0CC3918E27.dita"><apiname> TRgb</apiname></xref></p></li>
@@ -32,8 +33,7 @@
 use the command line, open a command prompt, and set the current directory
 to the source code directory of the example. You can then build the
 example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
-build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to
-use abld</xref> describe how to use the SBSv1 build tools. </p> </li>
+build</userinput> </p> </li>
 <li id="GUID-7995C8BC-28D3-59A8-94E1-2957C1C3729A"><p>For the emulator,
 the example builds an executable called <filepath>clockexample.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or             
    urel&gt;\</filepath> folder. </p> </li>
Binary file Symbian3/PDK/Source/GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e236155_href.png has changed
Binary file Symbian3/PDK/Source/GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e242128_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7A16B6E1-16F7-41EC-ABCC-4A2BEBD66FFF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7A16B6E1-16F7-41EC-ABCC-4A2BEBD66FFF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task id="GUID-7A16B6E1-16F7-41EC-ABCC-4A2BEBD66FFF" xml:lang="en"><title>Converting
 from local time for the system time zone to UTC</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-3-1-5-1-2-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-3-1-5-1-2-1-1"><cmd>To convert the local
+<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-3-1-5-1-2-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-3-1-5-1-2-1-1"><cmd>To convert the local
 time in the system time zone to UTC, use <xref href="GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF.dita#GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF/GUID-F2FCFD02-8FF3-3171-AF90-9755C00A87F8"><apiname>CTzConverter::ConvertToUniversalTime()</apiname></xref>,
 without specifying the time zone to convert from:</cmd>
 <stepxmp><p><codeblock xml:space="preserve">TInt errCode = myConverter-&gt;ConvertToUniversalTime( myTime );</codeblock></p></stepxmp>
--- a/Symbian3/PDK/Source/GUID-7A22FBD7-F306-578C-BD54-BCF74B7343CF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7A22FBD7-F306-578C-BD54-BCF74B7343CF"><title>-keepgoing</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option tells a particular <filepath>abld</filepath> command to “keep going” even if unrelated build steps report errors.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,38 +11,38 @@
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
 <reference xml:lang="en" id="GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D"><title>Privacy Request API Reference</title><shortdesc>This section describes the dynamic behaviour of the Privacy Request API using a set of sequence diagrams. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody><section><title>Sequence diagrams</title> <p>The sequence diagrams in this section describe the behaviour of the Privacy Request API when a licensee has installed and configured a Privacy Controller, Privacy Notifiers or Privacy Q&amp;N Notifiers. </p> <p><b>Startup and shutdown sequences</b> </p> <p>The sequence diagrams in this section describe how the LBS subsystem starts up and shuts down in the <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">Standalone Privacy Mode configuration</xref>. </p> <p id="GUID-2D53A46F-8CDF-5069-9CCA-8ECCF6D1AF07"><b>Startup sequence</b> </p> <p>The LBS subsystem is started when an API client creates an instance of a <codeph>CLbsPrivacyRequest</codeph> class. </p> <fig id="GUID-5610AB0D-F55C-5102-B893-B91D176394E9"><title>
                   Figure 1.1. LBS startup. 
-                </title> <image href="GUID-3C86C6E4-43E3-5D0C-B08A-3130FE3426CD_d0e450772_href.png" placement="inline"/></fig> <p id="GUID-156A1406-3FC2-5828-AC71-44F327F0B7F2"><b>Shutdown sequence</b> </p> <p>The LBS subsystem is shutdown when the licensee Privacy Request API client closes its connection and calls the <codeph>CLbsPrivacyRequest</codeph> destructor. </p> <fig id="GUID-9084D16D-8F3D-5690-A3E2-6CF5D2EF1407"><title>
+                </title> <image href="GUID-3C86C6E4-43E3-5D0C-B08A-3130FE3426CD_d0e456617_href.png" placement="inline"/></fig> <p id="GUID-156A1406-3FC2-5828-AC71-44F327F0B7F2"><b>Shutdown sequence</b> </p> <p>The LBS subsystem is shutdown when the licensee Privacy Request API client closes its connection and calls the <codeph>CLbsPrivacyRequest</codeph> destructor. </p> <fig id="GUID-9084D16D-8F3D-5690-A3E2-6CF5D2EF1407"><title>
                   Figure 1.2 LBS shutdown. 
-                </title> <image href="GUID-A071544E-FC8D-5912-99F9-8D651AA3BA07_d0e450789_href.png" placement="inline"/></fig> <p><b>Privacy Controller sequences</b> </p> <p id="GUID-1DDF3E08-824A-5B98-B8BD-99E09B3F9682"><b>Privacy verification with a Privacy Controller (request accepted, rejected or timeout) </b> </p> <fig id="GUID-624752DE-21CB-5851-9962-482972C616BB"><title>
+                </title> <image href="GUID-A071544E-FC8D-5912-99F9-8D651AA3BA07_d0e456634_href.png" placement="inline"/></fig> <p><b>Privacy Controller sequences</b> </p> <p id="GUID-1DDF3E08-824A-5B98-B8BD-99E09B3F9682"><b>Privacy verification with a Privacy Controller (request accepted, rejected or timeout) </b> </p> <fig id="GUID-624752DE-21CB-5851-9962-482972C616BB"><title>
                   Figure 2.1 Privacy verification with a Privacy Controller. 
-                </title> <image href="GUID-4DACC8E6-090F-5FDE-9D67-5B43A9E8C6B2_d0e450805_href.png" placement="inline"/></fig> <p id="GUID-5F5AF5D0-37F6-5E55-8C21-F5E0B21E615F"><b>Privacy notification with a Privacy Controller</b> </p> <fig id="GUID-01898E62-E626-5B18-91BB-693146B6981D"><title>
+                </title> <image href="GUID-4DACC8E6-090F-5FDE-9D67-5B43A9E8C6B2_d0e456650_href.png" placement="inline"/></fig> <p id="GUID-5F5AF5D0-37F6-5E55-8C21-F5E0B21E615F"><b>Privacy notification with a Privacy Controller</b> </p> <fig id="GUID-01898E62-E626-5B18-91BB-693146B6981D"><title>
                   Figure 2.2 Privacy notification with a Privacy Controller. 
-                </title> <image href="GUID-EC6B9856-978A-5C5C-AC44-B6C93D631FD6_d0e450816_href.png" placement="inline"/></fig> <p id="GUID-E5CF7214-BB93-5CD2-9D2C-A3B03E837611"><b>Privacy verification cancelled with a Privacy Controller</b> </p> <fig id="GUID-C29ADDEB-CBF0-561D-9D3C-9D8885F3524B"><title>
+                </title> <image href="GUID-EC6B9856-978A-5C5C-AC44-B6C93D631FD6_d0e456661_href.png" placement="inline"/></fig> <p id="GUID-E5CF7214-BB93-5CD2-9D2C-A3B03E837611"><b>Privacy verification cancelled with a Privacy Controller</b> </p> <fig id="GUID-C29ADDEB-CBF0-561D-9D3C-9D8885F3524B"><title>
                   Figure 2.3. Privacy verification cancelled with Privacy
                   Controller. 
-                </title> <image href="GUID-A6033641-8050-55FF-86EA-FA4D3B273084_d0e450827_href.png" placement="inline"/></fig> <p id="GUID-99ED9F8E-C3EA-5452-A3D8-B7F9E6A3F45B"><b>Timeout notification with a Privacy Controller</b> </p> <fig id="GUID-CD6DDA29-DF87-5895-9E2F-9DF70B0AFD51"><title>
+                </title> <image href="GUID-A6033641-8050-55FF-86EA-FA4D3B273084_d0e456672_href.png" placement="inline"/></fig> <p id="GUID-99ED9F8E-C3EA-5452-A3D8-B7F9E6A3F45B"><b>Timeout notification with a Privacy Controller</b> </p> <fig id="GUID-CD6DDA29-DF87-5895-9E2F-9DF70B0AFD51"><title>
                   Figure 2.4. Timeout notification with a Privacy Controller. 
-                </title> <image href="GUID-F6C68A6B-2D66-56A6-A706-7145C5E7F52A_d0e450838_href.png" placement="inline"/></fig> <p><b>Privacy Notifier sequences</b> </p> <p id="GUID-5D269216-9094-58E5-980E-9BA2B3702DFB"><b>Privacy verification with a Privacy Notifier (request accepted, rejected or timeout)</b> </p> <fig id="GUID-D185BA94-1416-55BF-A638-57F01A1566EF"><title>
+                </title> <image href="GUID-F6C68A6B-2D66-56A6-A706-7145C5E7F52A_d0e456683_href.png" placement="inline"/></fig> <p><b>Privacy Notifier sequences</b> </p> <p id="GUID-5D269216-9094-58E5-980E-9BA2B3702DFB"><b>Privacy verification with a Privacy Notifier (request accepted, rejected or timeout)</b> </p> <fig id="GUID-D185BA94-1416-55BF-A638-57F01A1566EF"><title>
                   Figure 3.1. Privacy verification with a Privacy Notifier. 
-                </title> <image href="GUID-C93C2E54-06CE-5BE4-9618-7B62FA086D6B_d0e450854_href.png" placement="inline"/></fig> <p id="GUID-6BBE9204-0F5E-5573-91A1-8024519269E6"><b>Privacy notification with a Privacy Notifier</b> </p> <fig id="GUID-087F7DA4-8B08-5C1C-BE37-EF5C3B2E0EE2"><title>
+                </title> <image href="GUID-C93C2E54-06CE-5BE4-9618-7B62FA086D6B_d0e456699_href.png" placement="inline"/></fig> <p id="GUID-6BBE9204-0F5E-5573-91A1-8024519269E6"><b>Privacy notification with a Privacy Notifier</b> </p> <fig id="GUID-087F7DA4-8B08-5C1C-BE37-EF5C3B2E0EE2"><title>
                   Figure 3.2. Privacy notification with a Privacy Notifier. 
-                </title> <image href="GUID-B77F8AA2-969A-59CC-908E-CEC486247B2F_d0e450865_href.png" placement="inline"/></fig> <p id="GUID-A2CB6598-400F-5ADA-BFC8-06175C8AF77D"><b>Privacy verification cancelled with Privacy Notifier</b> </p> <fig id="GUID-A8CF2E34-A4D9-5388-961D-946776ACC31B"><title>
+                </title> <image href="GUID-B77F8AA2-969A-59CC-908E-CEC486247B2F_d0e456710_href.png" placement="inline"/></fig> <p id="GUID-A2CB6598-400F-5ADA-BFC8-06175C8AF77D"><b>Privacy verification cancelled with Privacy Notifier</b> </p> <fig id="GUID-A8CF2E34-A4D9-5388-961D-946776ACC31B"><title>
                   Figure 3.3. Privacy verification cancelled with Privacy Notifier.
                   
-                </title> <image href="GUID-47C04C71-3E77-55A7-BA95-4A03C7554975_d0e450876_href.png" placement="inline"/></fig> <p id="GUID-D5EBA0B7-6DC8-5DBA-917C-D99D83BEC407"><b>Timeout notification with Privacy Notifier</b> </p> <fig id="GUID-84643402-6DA5-56E6-A386-08301D2F807B"><title>
+                </title> <image href="GUID-47C04C71-3E77-55A7-BA95-4A03C7554975_d0e456721_href.png" placement="inline"/></fig> <p id="GUID-D5EBA0B7-6DC8-5DBA-917C-D99D83BEC407"><b>Timeout notification with Privacy Notifier</b> </p> <fig id="GUID-84643402-6DA5-56E6-A386-08301D2F807B"><title>
                   Figure 3.4. Timeout notification with a Privacy Notifier. 
-                </title> <image href="GUID-9070E54B-8E3E-5968-AC78-1F2478FDCBA1_d0e450887_href.png" placement="inline"/></fig> <p><b>Privacy Q&amp;N Notifier sequences</b> </p> <p id="GUID-A0DCF80D-13E2-5B18-B433-C73AA650C1F1"><b>Privacy verification with a Privacy Q&amp;N notifier (request accepted, rejected or timeout) </b> </p> <fig id="GUID-902E8DA7-8BA2-5AF4-A988-084283019436"><title>
+                </title> <image href="GUID-9070E54B-8E3E-5968-AC78-1F2478FDCBA1_d0e456732_href.png" placement="inline"/></fig> <p><b>Privacy Q&amp;N Notifier sequences</b> </p> <p id="GUID-A0DCF80D-13E2-5B18-B433-C73AA650C1F1"><b>Privacy verification with a Privacy Q&amp;N notifier (request accepted, rejected or timeout) </b> </p> <fig id="GUID-902E8DA7-8BA2-5AF4-A988-084283019436"><title>
                   Figure 4.1. Privacy verification with a Privacy Q&amp;N Notifier.
                   
-                </title> <image href="GUID-BE4BA4D8-8FA4-5330-BFF8-311BCADBB7E7_d0e450903_href.png" placement="inline"/></fig> <p id="GUID-6C358B24-F742-5BFD-858E-2B65D082B858"><b>Privacy notification with a Privacy Q&amp;N notifier </b> </p> <fig id="GUID-177ABF2E-86A6-5152-84F9-800B678A0C5F"><title>
+                </title> <image href="GUID-BE4BA4D8-8FA4-5330-BFF8-311BCADBB7E7_d0e456748_href.png" placement="inline"/></fig> <p id="GUID-6C358B24-F742-5BFD-858E-2B65D082B858"><b>Privacy notification with a Privacy Q&amp;N notifier </b> </p> <fig id="GUID-177ABF2E-86A6-5152-84F9-800B678A0C5F"><title>
                   Figure 4.2. Privacy notification with a Privacy Q&amp;N Notifier.
                   
-                </title> <image href="GUID-C595C1E9-9371-5449-823F-ECEBDE13FB7B_d0e450914_href.png" placement="inline"/></fig> <p id="GUID-72FFAF01-3FF3-5931-B5CB-307B42FF9AEB"><b>Privacy verification cancelled with Privacy Q&amp;N notifier</b> </p> <fig id="GUID-F28D9CB5-D7D7-5483-8527-4E928123D395"><title>
+                </title> <image href="GUID-C595C1E9-9371-5449-823F-ECEBDE13FB7B_d0e456759_href.png" placement="inline"/></fig> <p id="GUID-72FFAF01-3FF3-5931-B5CB-307B42FF9AEB"><b>Privacy verification cancelled with Privacy Q&amp;N notifier</b> </p> <fig id="GUID-F28D9CB5-D7D7-5483-8527-4E928123D395"><title>
                   Figure 4.3. Privacy verification cancelled with Privacy Q&amp;N
                   Notifier. 
-                </title> <image href="GUID-E6BC747F-12E6-5866-99E2-D13E5AAE1F12_d0e450925_href.png" placement="inline"/></fig> <p id="GUID-E57AFF54-62D0-5531-A6C4-3A2CBA806A59"><b>Timeout notification with Privacy Q&amp;N notifier</b> </p> <fig id="GUID-30EDA46F-3C3C-5B63-AA38-DE4977765254"><title>
+                </title> <image href="GUID-E6BC747F-12E6-5866-99E2-D13E5AAE1F12_d0e456770_href.png" placement="inline"/></fig> <p id="GUID-E57AFF54-62D0-5531-A6C4-3A2CBA806A59"><b>Timeout notification with Privacy Q&amp;N notifier</b> </p> <fig id="GUID-30EDA46F-3C3C-5B63-AA38-DE4977765254"><title>
                   Figure 4.4. Timeout notification with a Privacy Q&amp;N Notifier.
                   
-                </title> <image href="GUID-C4461397-04A0-5056-B8A5-8FEFF9AF052C_d0e450936_href.png" placement="inline"/></fig> </section> </refbody><related-links><link href="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita"><linktext>Privacy
+                </title> <image href="GUID-C4461397-04A0-5056-B8A5-8FEFF9AF052C_d0e456781_href.png" placement="inline"/></fig> </section> </refbody><related-links><link href="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita"><linktext>Privacy
                 Protocol Module Overview</linktext> </link> <link href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita"><linktext>Privacy
                 Request API</linktext> </link> </related-links></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e101079_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e79459_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e83480_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e83657_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e87678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e97000_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7A52BD40-E1C1-5C67-AAA0-1B79A34CF24C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-7A52BD40-E1C1-5C67-AAA0-1B79A34CF24C" xml:lang="en"><title>Template
-extension makefiles</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A template extension makefile is a makefile which is integrated into the
-Symbian platform build system, such that it can be re-used by providing different
-input values as parameters. This facility allows extension makefiles to separate
-behaviour of the makefile from its input data. For example, you might want
-to copy files from one location to another using a template extension makefile
-which represents the required behaviour. The location from where these files
-have to be copied is represented by the input data, which can be specified
-in the <filepath>bld.inf</filepath> file using <xref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita">prj_extensions</xref>. </p>
-<p> <i>Note that it is recommended to follow GNU make syntax to define template
-extension makefiles. For more details on GNU make syntax, refer </i> <xref href="http://www.gnu.org" scope="external">http://www.gnu.org</xref>. </p>
-<p>The template extension makefiles are invoked by the build system which
-defines a set of standard makefile variables. These variables can have well
-defined values and help the makefile writer to locate common directories,
-configurations and so on. The proper usage of these variables may result in
-achieving platform independence to a certain extent. It is highly recommended
-to use these variables wherever it is necessary. </p>
-<p>The following is a list of the variables defined: </p>
-<table id="GUID-FB51BFC4-5BB2-54C9-ACAA-A14F725C2706">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>Variable name</entry>
-<entry>Description</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>$(EPOCROOT)</codeph>  </p> </entry>
-<entry><p>Location of the <codeph>epoc32</codeph> tree. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(PLATFORM)</codeph>  </p> </entry>
-<entry><p>The current platform which can be <codeph>TOOLS</codeph>, <codeph>ARMV5</codeph>, <codeph>WINSCW</codeph> etc. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(CFG)</codeph>  </p> </entry>
-<entry><p>The current configuration either <codeph>UREL</codeph> or <codeph>UDEB</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(TO_ROOT)</codeph>  </p> </entry>
-<entry><p>Relative path to <codeph>EPOCROOT</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(TO_BLDINF)</codeph>  </p> </entry>
-<entry><p>The path to the top-level <filepath>bld.inf</filepath>. </p> <p> <i>Note:
-if a bld.inf file #includes another bld.inf, this variable will always contain
-the directory of that top-level file. If you require the directory of the
-bld.inf which actually references the makefile, use $(EXTENSION_ROOT) instead.</i>  </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(EPOCBLD)</codeph>  </p> </entry>
-<entry><p>The project’s “working” build directory under <codeph>\epoc32\build\…</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(EXTENSION_ROOT)</codeph>  </p> </entry>
-<entry><p>The path to the directory containing the <filepath>bld.inf</filepath> in
-which the extension makefile was called. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(HOST_SHELL) </codeph>  </p> </entry>
-<entry><p>The path of the host-platform specific (i.e. the shell) makefile
-containing the above definitions. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$/</codeph>  </p> </entry>
-<entry><p>Path element separator. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$;</codeph>  </p> </entry>
-<entry><p> <codeph>PATH</codeph> environment variable separator. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(RMDIR)</codeph>  </p> </entry>
-<entry><p>Command for directory removal. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(RM)</codeph>  </p> </entry>
-<entry><p>Command for file deletion. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(ERASE)</codeph>  </p> </entry>
-<entry><p>Command for file deletion. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(MKDIR)</codeph>  </p> </entry>
-<entry><p>Command for directory creation. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(CP)</codeph>  </p> </entry>
-<entry><p>Command for file copying. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(PLATFORM_PATH)</codeph>  </p> </entry>
-<entry><p>The current platform in lower case to be used as part of path names. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>$(CFG_PATH)</codeph>  </p> </entry>
-<entry><p>The current configuration in lower case to be used as part of path
-names. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>The extension makefiles integrated into the build system should support
-a number of phony targets which correspond to different phases of the Symbian
-platform build process. These phony targets are labels representing a set
-of commands to be executed to perform a task. For more information on these
-phony targets, refer to <xref href="GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita">Extension
-makefile targets</xref>. </p>
-<p>The commands for a phony target can be platform specific operations such
-as creating a directory, removing a directory, copying a file and so on. It
-is recommended to use the above listed variables to perform these platform
-specific operations, instead of invoking the command directly. </p>
-<p>For example, the following will delete the files <filepath>values.cpp</filepath> and <filepath>config.cpp</filepath> for
-the target CLEAN. </p>
-<codeblock id="GUID-13E04491-476A-5DC0-B487-5E711051B7A2" xml:space="preserve">CLEAN : 
-  -$(ERASE) $(MDIR)$/values.cpp
-  -$(ERASE) $(MDIR)$/config.cpp</codeblock>
-<p> <i>Note that any path within a template extension makefile is recommended
-to use the path separator variable $/ as listed in the above table.</i>  </p>
-<p>A template extension makefile can be referenced in the <filepath>bld.inf</filepath> file
-using the <codeph>prj_extensions</codeph> keyword. For more information on
-how to reference a template extension makefile, see <xref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita">prj_extensions</xref>. </p>
-<p>Each template extension makefile has an associated meta file which provides
-additional information such as the template makefile type, the platform for
-which the template can be applied and so on. It is mandatory to have a meta
-file with each template extension makefile. For information on meta file syntax,
-refer to <xref href="GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9.dita">Meta files</xref>. </p>
-<p> <i>Note that all the template extension makefiles along with their meta
-files need to be located under the \epoc32\tools\makefile_templates\ folder.</i>  </p>
-<example><p>This example will copy the source files to a target
-path, build the component using the target copy of the source files, and finally
-delete the target copy of the source files. </p><codeblock id="GUID-94E381AB-129C-5D62-AAEC-54432DFAE786" xml:space="preserve"># copy_default.mk
-#
-
-SOURCE_COPY=$(EPOCROOT)epoc32$/release$/$(PLATFORM_PATH)$/$(CFG_PATH)$/$(SOURCES)
-
-TARGET_COPY=$(EPOCROOT)epoc32$/release$/$(PLATFORM_PATH)$/$(CFG_PATH)$/$(TARGET)
-
-$(TARGET_COPY) : $(SOURCE_COPY)
-    $(CP) "$?" "$@"
-
-DO_NOTHING :
-  @rem do nothing
-
-MAKMAKE : 
-
-BLD : $(TARGET_COPY)
-
-SAVESPACE : BLD
-
-FREEZE : DO_NOTHING
-
-LIB : DO_NOTHING
-
-CLEANLIB : DO_NOTHING
-
-RESOURCE : DO_NOTHING
-
-CLEAN : 
-    -$(ERASE) $(TARGET_COPY)
-
-RELEASABLES : 
-    @echo $(TARGET_COPY)
-
-FINAL : 
-</codeblock></example>
-</conbody><related-links>
-<link href="GUID-C07B506E-A1C8-537C-A7BF-DD7F449DF8A5.dita"><linktext>How to write
-an extension makefile template</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7A552BC6-419F-4FD9-8D63-828E37982FD8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7A552BC6-419F-4FD9-8D63-828E37982FD8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 <fig id="GUID-2832957D-DE7F-4D22-A830-E1D4F67DE952">
 <title>Editing indicators a) in the Navi pane and b) above the editor field
 in a pop-up window</title>
-<image href="GUID-C0A4DA51-3168-4F99-9A8E-66A326186E29_d0e93997_href.png" placement="inline"/>
+<image href="GUID-C0A4DA51-3168-4F99-9A8E-66A326186E29_d0e98195_href.png" placement="inline"/>
 </fig>
 <section id="GUID-1424E291-FD14-4FFE-BC84-013164214E30"><title>Using
 editing indicators in applications</title><p>The API to use for
Binary file Symbian3/PDK/Source/GUID-7A6342C7-DED3-5BE0-AB1C-F2C7BC57D1D2_d0e661760_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A6342C7-DED3-5BE0-AB1C-F2C7BC57D1D2_d0e674587_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A6FFAD1-5358-5050-9728-5C51B5B225AF_d0e55187_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7A6FFAD1-5358-5050-9728-5C51B5B225AF_d0e59421_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7AC4C1C2-D796-508F-93CF-21F061F49A30_d0e74797_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7AC4C1C2-D796-508F-93CF-21F061F49A30_d0e79010_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7AE4D17F-728A-5B7E-A3F9-A903E64731B1_d0e236293_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7AE4D17F-728A-5B7E-A3F9-A903E64731B1_d0e242266_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7AE7EAE1-BA90-446E-AAAF-01794EF96576.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7AE7EAE1-BA90-446E-AAAF-01794EF96576.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,6 +17,6 @@
 <p>Grid item highlighting is a frame over the item in focus.</p>
 <fig id="GUID-97C216A3-6004-46EF-B2BB-BAB8562450D0">
 <title>List highlighting (a) and grid highlighting (b)</title>
-<image href="GUID-51DDCDA8-8B26-4016-8CBA-BDBF82447096_d0e80642_href.png" placement="inline"/>
+<image href="GUID-51DDCDA8-8B26-4016-8CBA-BDBF82447096_d0e84840_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,17 +9,14 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-7B173E02-9697-51F4-A7E8-795AEF547109" xml:lang="en"><title>Thread
-Priority Scheme</title><shortdesc>Explains the factors involved in allocating thread priority.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>At any given time, the thread running on Symbian platform is the one with
-the highest priority that is ready to run. The priority of a thread is simply
-a number; the value determines the priority; the greater the number, the higher
-the priority. We call this the <i>true</i> or <i>absolute</i> priority of
-the thread. </p>
-<p>The Kernel schedules a fixed amount of time called a <i>quantum</i> for
-a thread to run on the CPU, and the scheduler chooses the highest priority
-thread that is ready to run. Threads of equal priority are executed on a <i>round
-robin basis</i>. </p>
+<concept id="GUID-7B173E02-9697-51F4-A7E8-795AEF547109" xml:lang="en"><title>Thread Priority Scheme</title><shortdesc>Explains the factors involved in allocating thread priority.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>At any given time, the thread running on Symbian platform is the
+one with the highest priority that is ready to run. The priority of
+a thread is simply a number; the value determines the priority; the
+greater the number, the higher the priority. We call this the <i>true</i> or <i>absolute</i> priority of the thread. </p>
+<p>The Kernel schedules a fixed amount of time called a <i>quantum</i> for a thread to run on the CPU, and the scheduler chooses the highest
+priority thread that is ready to run. Threads of equal priority are
+executed on a <i>round robin basis</i>. </p>
 <p>The <i>true</i> priority values range from 0 (lowest) to 63 (highest). </p>
 <p>The priority range divides into four broad categories: </p>
 <table id="GUID-1EAC04DE-B68F-5F95-887C-39E9926F2500">
@@ -27,17 +24,19 @@
 <tbody>
 <row>
 <entry><p>0</p> </entry>
-<entry><p>This is reserved for the <i>null thread</i>, which puts the processor
-into idle mode to save power when no other threads are ready to run. </p> </entry>
+<entry><p>This is reserved for the <i>null thread</i>, which puts
+the processor into idle mode to save power when no other threads are
+ready to run. </p> </entry>
 </row>
 <row>
 <entry><p>1 - 23 </p> </entry>
-<entry><p>Used by kernel side threads and user-side applications and servers </p> </entry>
+<entry><p>Used by kernel side threads and user-side applications and
+servers </p> </entry>
 </row>
 <row>
 <entry><p>24 -31 </p> </entry>
-<entry><p>Used by kernel side threads and protected system servers, i.e. servers
-with the <codeph>ProtServ</codeph> capability. </p> </entry>
+<entry><p>Used by kernel side threads and protected system servers,
+i.e. servers with the <codeph>ProtServ</codeph> capability. </p> </entry>
 </row>
 <row>
 <entry><p>32 - 63 </p> </entry>
@@ -47,7 +46,7 @@
 </tgroup>
 </table>
 <fig id="GUID-5FFD4994-B20D-5095-8F6E-FB1151A4FF79">
-<image href="GUID-A95FEDD4-106A-5E14-8B64-3E2882C76666_d0e347941_href.png" placement="inline"/>
+<image href="GUID-A95FEDD4-106A-5E14-8B64-3E2882C76666_d0e353892_href.png" placement="inline"/>
 </fig>
 <ul>
 <li id="GUID-2BCF03FE-C23E-5CCA-87CF-4AE9A91FD0D8"><p> <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-0194B574-806B-5BA3-B65C-6DC5A80CAB86">Priority scheme for general user-side threads</xref>  </p> </li>
@@ -55,53 +54,49 @@
 <li id="GUID-1BA97FE4-F817-50E4-A6DA-6B0B64819811"><p> <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">Thread priority value mapping table</xref>  </p> </li>
 <li id="GUID-2BB44CDE-B566-52C0-869C-C60FB8D6AD94"><p> <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-E9AFB6A3-ED3E-5110-82C8-E5E15E0AF899">Platform security notes</xref>  </p> </li>
 </ul>
-<section id="GUID-0194B574-806B-5BA3-B65C-6DC5A80CAB86"><title>Priority scheme
-for general user-side threads</title> <p>User-side threads do not allocate <i>true</i> priority
-values directly. Instead, they allocate priorities using symbolic values defined
-by enums. Symbian platform maps these values to the <i>true</i> value. </p> <p>There
+<section id="GUID-0194B574-806B-5BA3-B65C-6DC5A80CAB86"><title>Priority
+scheme for general user-side threads</title> <p>User-side threads
+do not allocate <i>true</i> priority values directly. Instead, they
+allocate priorities using symbolic values defined by enums. Symbian
+platform maps these values to the <i>true</i> value. </p> <p>There
 are two priority allocation schemes: </p> <ul>
 <li id="GUID-6BE65AEC-DC54-5350-8704-538B5E425352"><p> <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-B9022468-F4E7-536B-B1D4-58DAA9EA5914">Process-relative scheme</xref>  </p> </li>
 <li id="GUID-BBB502EA-950C-5F8C-8CA2-F5F339000A10"><p> <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-7A38EE63-E955-5432-84E1-F35CB45C931E">Process-independent scheme for general user threads</xref>  </p> </li>
-</ul> <p id="GUID-B9022468-F4E7-536B-B1D4-58DAA9EA5914"><b>Process-relative scheme</b> </p> <p>This
-scheme bases the <i>true</i> priority of a thread on the priority of its owning
-process and the priority of the thread relative to the process. This means
-that changing the process priority results in a change to the <i>true</i> priority
-of the thread. </p> <p>A process can be assigned one of eight discrete priorities
-represented by the individual enumerators of <xref href="GUID-5D289F30-2C88-396D-9748-798055F0AF56.dita"><apiname>TProcessPriority</apiname></xref>,
-and range from <xref href="GUID-9B7922A7-6098-3BBD-9ADE-BC21AD6381C3.dita"><apiname>EPriorityLow</apiname></xref>, the lowest, to <xref href="GUID-A35268D0-7EFC-3D58-8C79-E4E619F762F5.dita"><apiname>EPrioritySupervisor</apiname></xref>,
-the highest. </p> <p>In practice, <i>user processes</i> can only be assigned
-priorities that are one of the values: </p> <ul>
+</ul> <p id="GUID-B9022468-F4E7-536B-B1D4-58DAA9EA5914"><b>Process-relative
+scheme</b> </p> <p>This scheme bases the <i>true</i> priority of a
+thread on the priority of its owning process and the priority of the
+thread relative to the process. This means that changing the process
+priority results in a change to the <i>true</i> priority of the thread. </p> <p>A process can be assigned one of eight discrete priorities represented
+by the individual enumerators of <xref href="GUID-5D289F30-2C88-396D-9748-798055F0AF56.dita"><apiname>TProcessPriority</apiname></xref>, and range from <xref href="GUID-9B7922A7-6098-3BBD-9ADE-BC21AD6381C3.dita"><apiname>EPriorityLow</apiname></xref>, the lowest, to <xref href="GUID-A35268D0-7EFC-3D58-8C79-E4E619F762F5.dita"><apiname>EPrioritySupervisor</apiname></xref>, the highest. </p> <p>In practice, <i>user processes</i> can only be assigned priorities that are one of
+the values: </p> <ul>
 <li id="GUID-85AA4A1D-A168-5AEF-9D4C-DC14C28686B2"><p> <xref href="GUID-9B7922A7-6098-3BBD-9ADE-BC21AD6381C3.dita"><apiname>EPriorityLow</apiname></xref> <codeph/>  </p> </li>
 <li id="GUID-45B720BB-3696-545F-B966-A2EA4B37AE5D"><p> <xref href="GUID-8778A277-DA7F-34A0-8472-29226DEC2CCE.dita"><apiname>EPriorityBackground</apiname></xref>  </p> </li>
 <li id="GUID-DF2708D4-B670-5B15-B587-CB71EAC99045"><p> <xref href="GUID-A62CF9B2-63E3-31E0-A51E-E04F2E2EB38F.dita"><apiname>EPriorityForeGround</apiname></xref>  </p> </li>
 <li id="GUID-9C68DD95-2AB6-57D0-9966-D83144788458"><p> <xref href="GUID-8995D880-69B7-3C31-891B-7A2C57E372FE.dita"><apiname>EPriorityHigh</apiname></xref>  </p> </li>
-</ul> <p>There are a further four process priorities that a user process is
-not permitted to set: <codeph>EPriorityWindowServer</codeph>, <codeph>EPriorityFileServer</codeph>, <codeph>EPriorityRealTimeServer</codeph> and <codeph>EPrioritySupervisor</codeph>. </p> <p>A process priority can be assigned: </p> <ul>
-<li id="GUID-CC4FA12C-BFDD-5F75-BC18-B742BCACEECF"><p>when the associated <filepath>.exe</filepath> is
-built; this is done by specifying the value in the <filepath>.mmp</filepath> file
-that defines the project. </p> </li>
-<li id="GUID-B86220D9-B10D-5506-AD90-73E7F8D7A089"><p>by calling <xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita#GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695/GUID-189A64CB-F2EA-3C8F-A7A7-01CBF8FDE67A"><apiname>RProcess::SetPriority()</apiname></xref> and
-passing one of the <xref href="GUID-5D289F30-2C88-396D-9748-798055F0AF56.dita"><apiname>TProcessPriority</apiname></xref> enum values. </p> </li>
-</ul> <p>See also : <xref href="GUID-8DB5E558-9774-5CC3-AF8C-6C50D9FE0496.dita">Using
-Makmake</xref> in the <xref href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita">Build
-Tools Guide</xref>. </p> <p>The priority of a thread <i>relative</i> to a
-process is assigned by calling <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita#GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5/GUID-8E412361-AE54-3585-AF2A-45D4A53F8B03"><apiname>RThread::SetPriority()</apiname></xref> and
-passing one of the five <xref href="GUID-8708AFB7-92CC-34FC-9FBB-E6B16472B99D.dita"><apiname>TThreadPriority</apiname></xref> enum values: </p> <ul>
+</ul> <p>There are a further four process priorities that a user process
+is not permitted to set: <codeph>EPriorityWindowServer</codeph>, <codeph>EPriorityFileServer</codeph>, <codeph>EPriorityRealTimeServer</codeph> and <codeph>EPrioritySupervisor</codeph>. </p> <p>A process priority
+can be assigned: </p> <ul>
+<li id="GUID-CC4FA12C-BFDD-5F75-BC18-B742BCACEECF"><p>when the associated <filepath>.exe</filepath> is built; this is done by specifying the value in
+the <filepath>.mmp</filepath> file that defines the project. </p> </li>
+<li id="GUID-B86220D9-B10D-5506-AD90-73E7F8D7A089"><p>by calling <xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita#GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695/GUID-189A64CB-F2EA-3C8F-A7A7-01CBF8FDE67A"><apiname>RProcess::SetPriority()</apiname></xref> and passing one of the <xref href="GUID-5D289F30-2C88-396D-9748-798055F0AF56.dita"><apiname>TProcessPriority</apiname></xref> enum values. </p> </li>
+</ul> <p>The priority of a thread <i>relative</i> to
+a process is assigned by calling <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita#GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5/GUID-8E412361-AE54-3585-AF2A-45D4A53F8B03"><apiname>RThread::SetPriority()</apiname></xref> and passing one of the five <xref href="GUID-8708AFB7-92CC-34FC-9FBB-E6B16472B99D.dita"><apiname>TThreadPriority</apiname></xref> enum
+values: </p> <ul>
 <li id="GUID-BCFFB27F-5CEB-58E8-A859-C82273CB7FDC"><p> <xref href="GUID-DF41A24C-6873-37E6-834A-98CDFC8D54FB.dita"><apiname>EPriorityMuchLess</apiname></xref>  </p> </li>
 <li id="GUID-21C1A24C-483D-579B-BA56-31B3694215CE"><p> <xref href="GUID-0429DE71-44B4-3764-A62B-AD937E6AD355.dita"><apiname> EPriorityLess</apiname></xref>  </p> </li>
 <li id="GUID-48747F5D-8F0E-5C57-8858-35D8881B1DB7"><p> <xref href="GUID-2ACE5CF0-7E8B-35FF-8ABC-6917B2F68BB1.dita"><apiname>EPriorityNormal</apiname></xref>  </p> </li>
 <li id="GUID-78DEBC15-DFD8-5384-8358-3744E2C1DDBE"><p> <xref href="GUID-34B6B121-2E45-36FE-B0FA-E8272E2F1D10.dita"><apiname>EPriorityMore</apiname></xref>  </p> </li>
 <li id="GUID-AE42DA32-09CA-5C8B-B9AF-2A68E66E6218"><p> <xref href="GUID-4F19A64D-FBBE-34F2-8387-1449E49DC923.dita"><apiname> EPriorityMuchMore</apiname></xref>  </p> </li>
-</ul> <p>The <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread
-priority value mapping table</xref> shows the <i>true</i> priority of a thread
-based on the combination of process priority and process-relative thread priority </p> <p id="GUID-7A38EE63-E955-5432-84E1-F35CB45C931E"><b>Process-independent scheme
-for general user threads</b> </p> <p>In this scheme, the <i>true</i> priority
-of a thread is independent of the priority of its owning process. Changing
-the priority of the underlying process has no effect on the <i>true</i> priority
-of the thread. </p> <p>The priority of a thread is assigned by calling <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita#GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5/GUID-8E412361-AE54-3585-AF2A-45D4A53F8B03"><apiname>RThread::SetPriority()</apiname></xref> and
-passing one of the <xref href="GUID-8708AFB7-92CC-34FC-9FBB-E6B16472B99D.dita"><apiname>TThreadPriority</apiname></xref> enum values listed below.
-Note that the set of enum values splits into two logical groupings based on
-their equivalence to process-relative values. See the <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread priority value mapping table</xref>. </p> <table id="GUID-A0397BB8-AAC7-5F79-B94F-68103B66132C">
+</ul> <p>The <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread priority value mapping table</xref> shows the <i>true</i> priority
+of a thread based on the combination of process priority and process-relative
+thread priority </p> <p id="GUID-7A38EE63-E955-5432-84E1-F35CB45C931E"><b>Process-independent
+scheme for general user threads</b> </p> <p>In this scheme, the <i>true</i> priority of a thread is independent of the priority of its
+owning process. Changing the priority of the underlying process has
+no effect on the <i>true</i> priority of the thread. </p> <p>The priority
+of a thread is assigned by calling <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita#GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5/GUID-8E412361-AE54-3585-AF2A-45D4A53F8B03"><apiname>RThread::SetPriority()</apiname></xref> and passing one of the <xref href="GUID-8708AFB7-92CC-34FC-9FBB-E6B16472B99D.dita"><apiname>TThreadPriority</apiname></xref> enum values
+listed below. Note that the set of enum values splits into two logical
+groupings based on their equivalence to process-relative values. See
+the <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread priority value mapping table</xref>. </p> <table id="GUID-A0397BB8-AAC7-5F79-B94F-68103B66132C">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
 <row>
@@ -125,17 +120,14 @@
 </row>
 </tbody>
 </tgroup>
-</table> <p>The <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread
-priority value mapping table</xref> shows the resulting <i>true</i> priority
-of the thread. </p> </section>
-<section id="GUID-23801A52-4E62-56F4-8D81-E0A417517FDA"><title>Priority scheme
-for real-time user-side threads</title> <p>This scheme is the same as the <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-7A38EE63-E955-5432-84E1-F35CB45C931E">process-independent
-scheme for general user threads</xref>, but with one essential difference
-- the range of <xref href="GUID-8708AFB7-92CC-34FC-9FBB-E6B16472B99D.dita"><apiname>TThreadPriority</apiname></xref> enum values to be passed
-to <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita#GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5/GUID-8E412361-AE54-3585-AF2A-45D4A53F8B03"><apiname>RThread::SetPriority()</apiname></xref> is as shown below. These priorities
-map to the <i>true</i> priority values in the range 24 -31, and can only be
-set by executables having the <codeph>ProtServ</codeph> capability. This range
-is referred to as the real time range. </p> <ul>
+</table> <p>The <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread priority value mapping table</xref> shows the resulting <i>true</i> priority of the thread. </p> </section>
+<section id="GUID-23801A52-4E62-56F4-8D81-E0A417517FDA"><title>Priority
+scheme for real-time user-side threads</title> <p>This scheme is the
+same as the <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-7A38EE63-E955-5432-84E1-F35CB45C931E">process-independent scheme for general user threads</xref>, but with
+one essential difference - the range of <xref href="GUID-8708AFB7-92CC-34FC-9FBB-E6B16472B99D.dita"><apiname>TThreadPriority</apiname></xref> enum values to be passed to <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita#GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5/GUID-8E412361-AE54-3585-AF2A-45D4A53F8B03"><apiname>RThread::SetPriority()</apiname></xref> is as shown below. These priorities map to the <i>true</i> priority
+values in the range 24 -31, and can only be set by executables having
+the <codeph>ProtServ</codeph> capability. This range is referred to
+as the real time range. </p> <ul>
 <li id="GUID-78ACFC22-4FB7-5E90-B6E2-9EF39EA9A3F5"><p> <xref href="GUID-7574A754-ED28-3FE1-85BB-93F110DE8E50.dita"><apiname>EPriorityAbsoluteRealTime1</apiname></xref>  </p> </li>
 <li id="GUID-3ADBFE8D-E7D9-5316-B06E-E3C514F4221E"><p> <xref href="GUID-2561145A-9506-31F5-A0EA-24609EC71412.dita"><apiname>EPriorityAbsoluteRealTime2</apiname></xref>  </p> </li>
 <li id="GUID-90F0E400-AB37-52CC-B01E-2D7C3E589111"><p> <xref href="GUID-39A7F794-B7B1-3C0C-AFFF-956C71CE529F.dita"><apiname>EPriorityAbsoluteRealTime3</apiname></xref>  </p> </li>
@@ -144,34 +136,32 @@
 <li id="GUID-01B2B0B9-4242-5D8E-83B2-2658CF68548F"><p> <xref href="GUID-D3FE9747-0CD8-3E0A-829E-3D7184AE8431.dita"><apiname>EPriorityAbsoluteRealTime6</apiname></xref>  </p> </li>
 <li id="GUID-6581842F-C83C-53A5-A567-F1D4BE97488C"><p> <xref href="GUID-A6BF84AA-2421-3DB0-A30D-B9D3B7E70B21.dita"><apiname>EPriorityAbsoluteRealTime7</apiname></xref>  </p> </li>
 <li id="GUID-C7AB328B-B910-51D2-ADB0-5E8A33AFCD69"><p> <xref href="GUID-84C4AED5-8AA8-31F0-9E77-6BBACE192763.dita"><apiname>EPriorityAbsoluteRealTime8</apiname></xref>  </p> </li>
-</ul> <p>The <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread
-priority value mapping table</xref> shows the resulting <i>true</i> priority
-of the thread. </p> </section>
-<section id="GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF"><title>Thread priority
-value mapping table</title> <p>This table shows the effect of setting priorities,
-and the resulting <i>true</i> priority values. You need to be aware that this
-may change in the future, and you should never synchronise threads on the
-basis of thread priorities. If you need to synchronise threads, use mutexes
-or semaphores. </p> <p>Notes </p> <ul>
-<li id="GUID-CBC69A23-E3EF-56BC-A915-2770EBFB76C4"><p>True priority values
-in the shaded region can only be accessed by threads running in processes
-with the <codeph>ProtServ</codeph> capability. </p> </li>
+</ul> <p>The <xref href="GUID-7B173E02-9697-51F4-A7E8-795AEF547109.dita#GUID-7B173E02-9697-51F4-A7E8-795AEF547109/GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF">thread priority value mapping table</xref> shows the resulting <i>true</i> priority of the thread. </p> </section>
+<section id="GUID-F5B98A28-EEDA-58BD-A6CC-62C1621D44DF"><title>Thread
+priority value mapping table</title> <p>This table shows the effect
+of setting priorities, and the resulting <i>true</i> priority values.
+You need to be aware that this may change in the future, and you should
+never synchronise threads on the basis of thread priorities. If you
+need to synchronise threads, use mutexes or semaphores. </p> <p>Notes </p> <ul>
+<li id="GUID-CBC69A23-E3EF-56BC-A915-2770EBFB76C4"><p>True priority
+values in the shaded region can only be accessed by threads running
+in processes with the <codeph>ProtServ</codeph> capability. </p> </li>
 <li id="GUID-1F8FC263-3C39-5E3C-A186-6D5D4DF7D6D3"><p>The process-priority
-values : <xref href="GUID-972ADC0C-546E-3D24-9071-02B074DC1540.dita"><apiname>EPriorityWindowServer</apiname></xref>, <xref href="GUID-A19C5464-A1DA-3EEC-B81B-41690EBB3DB2.dita"><apiname>EPriorityFileServer</apiname></xref> and <xref href="GUID-A35268D0-7EFC-3D58-8C79-E4E619F762F5.dita"><apiname>EPrioritySupervisor</apiname></xref> all
-map to the same range of priorities. Along with <xref href="GUID-AAA610A8-48D8-3642-94E8-6C9747170DA9.dita"><apiname>EPriorityRealTimeServer</apiname></xref>,
-these have historically been used for system servers and other processes needing
-access to high priorities suitable for real-time tasks, and their use requires <codeph>ProtServ</codeph> capability. </p> </li>
-<li id="GUID-3256F08A-AD30-5378-BFA9-140688B1CDB6"><p>Note that <codeph>ProtServ</codeph> capability
-will not be granted to general applications for the purpose of gaining access
-to the very high thread priorities. This risks breaking important system functionality. </p> </li>
+values : <xref href="GUID-972ADC0C-546E-3D24-9071-02B074DC1540.dita"><apiname>EPriorityWindowServer</apiname></xref>, <xref href="GUID-A19C5464-A1DA-3EEC-B81B-41690EBB3DB2.dita"><apiname>EPriorityFileServer</apiname></xref> and <xref href="GUID-A35268D0-7EFC-3D58-8C79-E4E619F762F5.dita"><apiname>EPrioritySupervisor</apiname></xref> all map to the same range
+of priorities. Along with <xref href="GUID-AAA610A8-48D8-3642-94E8-6C9747170DA9.dita"><apiname>EPriorityRealTimeServer</apiname></xref>, these have historically been used for system servers and other
+processes needing access to high priorities suitable for real-time
+tasks, and their use requires <codeph>ProtServ</codeph> capability. </p> </li>
+<li id="GUID-3256F08A-AD30-5378-BFA9-140688B1CDB6"><p>Note that <codeph>ProtServ</codeph> capability will not be granted to general applications
+for the purpose of gaining access to the very high thread priorities.
+This risks breaking important system functionality. </p> </li>
 </ul> <fig id="GUID-6BF93712-F8AA-5D08-A5D4-FEB6B22592D8">
-<image href="GUID-B9306D01-1DE5-511A-AC1A-6E3E9749BA89_d0e348544_href.png" placement="inline"/>
-</fig> <p>Note that we have used <i>E'</i> as an abbreviation for <i>EPriority</i> in
-this diagram. </p> </section>
-<section id="GUID-E9AFB6A3-ED3E-5110-82C8-E5E15E0AF899"><title>Platform security
-notes</title> <p>Platform security restrictions prevent thread and process
-priorities from being modified by another user process. There is one exception:
-by default, applications have “Priority Control” enabled for them which allows
-the window server to switch them between foreground and background process
-priorities depending on which has foreground focus. </p> </section>
+<image href="GUID-B9306D01-1DE5-511A-AC1A-6E3E9749BA89_d0e354487_href.png" placement="inline"/>
+</fig> <p>Note that we have used <i>E'</i> as an abbreviation for <i>EPriority</i> in this diagram. </p> </section>
+<section id="GUID-E9AFB6A3-ED3E-5110-82C8-E5E15E0AF899"><title>Platform
+security notes</title> <p>Platform security restrictions prevent thread
+and process priorities from being modified by another user process.
+There is one exception: by default, applications have “Priority Control”
+enabled for them which allows the window server to switch them between
+foreground and background process priorities depending on which has
+foreground focus. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7B20C9EE-8EAB-504D-8DDB-03147E0C2B0C_d0e230595_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7B20C9EE-8EAB-504D-8DDB-03147E0C2B0C_d0e236590_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7B2AA498-5E73-4CC4-91DF-5F07F452F0BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7B2AA498-5E73-4CC4-91DF-5F07F452F0BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,6 +19,6 @@
 setting types.</p>
 <fig id="GUID-6792DA2E-0173-4D41-B965-996419B7A837">
 <title>Example image of a setting in a pop-up</title>
-<image href="GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e90521_href.png" placement="inline"/>
+<image href="GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e94719_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7B3578A0-7E2E-508A-A355-A39AEE0307AD_d0e512166_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-7B3578A0-7E2E-508A-A355-A39AEE0307AD_d0e519628_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-7B589949-2784-5B77-959E-99F8733A8853_d0e332332_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7B589949-2784-5B77-959E-99F8733A8853_d0e338304_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7B5A854B-A9A0-557E-9970-9B13D7EE251E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7B5A854B-A9A0-557E-9970-9B13D7EE251E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 When there is a client request to the <xref href="GUID-58CA15F8-D984-5D07-8C00-161FA16A8FD3.dita">AppArc</xref> for
 data type recognition, AppArc internally uses the MIME recognition framework
 for processing the request. </p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-13-1-1-6-1-6-1-4-1-4-1-3-1"><p>The client connects
+<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-14-1-1-6-1-6-1-4-1-4-1-3-1"><p>The client connects
 to AppArc and creates a session using the class <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref>.
 Apparc provides access to the MIME framework via <codeph>RApaLsSession</codeph> APIs.
 The class provides the APIs for data type recognition. </p> <p>All MIME (data)
--- a/Symbian3/PDK/Source/GUID-7B6073BF-6D8C-5F00-98EC-966573777677.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7B6073BF-6D8C-5F00-98EC-966573777677.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 key status. This is Notifying the Master Key Expiry.  </p><p> The SRTP stack
 can request for a new master key(ReKey) even before the master key status
 is identified as stale.This is ReKey request.</p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-22-1-1-6-1-5-1-10-1-3-1"><p>An SRTP session
+<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-23-1-1-6-1-5-1-10-1-3-1"><p>An SRTP session
 must be created and initialized before an application requests for a RTP/RTCP
 packet decryption and encryption. </p> <p>The two variants of the API <xref href="GUID-4301A1D8-5A9B-39F6-B4F0-84A7A1698617.dita"><apiname>SRTPMasterKeyStaleEvent()</apiname></xref> must be
 implemented by the application. </p> </prereq>
Binary file Symbian3/PDK/Source/GUID-7C061090-83A8-5E0F-B42B-2D722BE054EE_d0e344560_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7C061090-83A8-5E0F-B42B-2D722BE054EE_d0e350511_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,11 +11,11 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-7C1CF86B-5F03-55EE-96C6-79A88A195BEB"><title>Opening a Session - Reference</title><shortdesc>This topic provides additional information with regard to opening a session with Bluetooth GPS PSY. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Required background</title> <p>Knowledge of the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> is helpful in understanding this topic. </p> </section> <section><title>Introduction</title> <p>Steps that describe how to open the default PSY or a Bluetooth GPS PSY Session are provided <xref href="GUID-51177BB6-D906-57BD-91DD-EC263F900225.dita">here</xref>. The sections that follow provide information on error codes and Bluetooth GPS PSY behavior during use. </p> </section> <section id="GUID-2C9F2B48-5E92-5C25-9C16-B93C34B223B7"><title>Error codes</title> <p>This section describes some of the error codes that can be returned on construction of the Bluetooth GPS PSY. A client must check for error codes when it calls <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> to create a subsession that uses the Bluetooth GPS PSY. </p> <table id="GUID-F6E6958C-3ABE-5EF8-9C54-377732F4E51A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Error Code</entry> <entry>Conditions for code return</entry> </row> </thead> <tbody><row><entry><p> <codeph> KErrNone</codeph>  </p> </entry> <entry><p>An instance of the Bluetooth GPS PSY was successfully constructed. </p> </entry> </row> <row><entry><p> <codeph>KErrNoMemory</codeph>  </p> </entry> <entry><p>Construction of the PSY fails because the device is out of memory. </p> </entry> </row> <row><entry><p> <codeph>KErrAlreadyExists</codeph>  </p> </entry> <entry><p>The PSY instance is already registered. This means some internal error in the Location Server Framework or in the PSY itself. The client application may need to be restarted to reload the PSY. </p> </entry> </row> <row><entry><p> <codeph> KErrOverflow</codeph>  </p> </entry> <entry><p>One of the parameters set in the PSY Central Repository initialisation file <codeph>101FE999.txt</codeph> (<codeph>101FE999.cre</codeph>) is out of range. </p> </entry> </row> <row><entry><p> <codeph> KErrUnderflow</codeph>  </p> </entry> <entry><p>One of the parameters set in the PSY Central Repository initialisation file is out of range. </p> </entry> </row> <row><entry><p>Any other general Symbian platform error code </p> </entry> <entry><p>Any other system error. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following sections give more information about the behaviour of the Bluetooth GPS PSY during use. </p> </section> <section id="GUID-B253E1BD-59C4-5725-9899-16E495233DAA"><title>Loading the PSY and device selection</title> <p>The Bluetooth GPS PSY is loaded dynamically when a client makes a request that requires its use (by one of the methods described above). </p> <p>If the mobile device is not already connected to a Bluetooth GPS device the PSY attempts to connect to one as follows: </p> <ol id="GUID-00F3A5C5-5758-5FBB-9ECD-21E713F97A73"><li id="GUID-383EE17B-8DE8-56D0-85EE-B825F8045996"><p>The PSY automatically attempts to connect to the GPS device to which it was last successfully connected. The device address used is the one stored in the Central Repository setting <xref href="GUID-2B93F706-EBA0-3201-BC03-CEEC2CDE3912.dita"><apiname>KBluetoothGpsPsyDeviceAddress</apiname></xref>. The user may be queried for a passkey as part of this process in order to pair with the Bluetooth GPS device. </p> <p>Figure 1 shows this procedure, followed by an exchange of NMEA initialisation messages between the PSY and the GPS device. </p> </li> <li id="GUID-9485F04B-ADA8-5DCF-B041-EE5702DB3AF9"><p>If the PSY cannot connect to the GPS device to which it was last connected, it tries to connect to each of the GPS devices in the list managed through the <xref href="GUID-2A137918-D949-5017-BB00-B93CFA8AA65F.dita">Bluetooth GPS PSY Configuration API</xref>. </p> </li> <li id="GUID-97D7A84D-AFB9-5EBB-83E4-0CF7DFBEFB20"><p>If the PSY still cannot connect to a Bluetooth GPS device, the Bluetooth subsystem displays a device selection dialog asking for the Bluetooth GPS device details. </p> <p>If a connection can be made to the device, its address is stored in the Central Repository setting <codeph>KBluetoothGpsPsyDeviceAddress</codeph>. The PSY tries to use this GPS device the next time it receives a client request (see [1] above). </p> <p>If a connection cannot be made to the device, or the device selection dialog is cancelled, the PSY remains loaded, but not connected to a Bluetooth GPS device. In this situation the PSY cannot obtain a position fix and must be reloaded. This can be achieved by restarting the application that loaded the PSY. </p> </li> </ol> <fig id="GUID-9508DDA6-15FC-5C5F-B296-BBB2FE0E5DEA"><title>
              Figure 1. Loading the Bluetooth GPS PSY 
-          </title> <image href="GUID-6C9355AF-80BA-5DBD-81A4-E9475A118C94_d0e464030_href.png" placement="inline"/></fig> </section> <section id="GUID-6C12D640-CE1E-5368-90E5-D9EF34C6B1CF"><title>Bluetooth GPS Device initialisation</title> <p>After connecting to a Bluetooth GPS device, the PSY does the following: </p> <ul><li id="GUID-8DD56AFC-EE40-590A-AEE5-77CFA6986013"><p>Attempts to switch the GPS device to NMEA mode. </p> <p>If the device cannot be switched to NMEA mode it cannot be used by the PSY. </p> </li> <li id="GUID-9719862D-0824-599D-B3FE-972F6B24A159"><p>Queries if the device supports PNOK NMEA extensions. </p> <p>If it supports PNOK, the PSY sets low power mode. For PNOK capable devices, the PSY is able to receive and report hardware status change messages through the Bluetooth GPS PSY Events API. </p> </li> <li id="GUID-19C8DD06-8843-56E4-B0FB-739E44B9B372"><p>Requests that NMEA messages are sent with an interval of 1 second. </p> <p>NMEA messages are sent continuously to the PSY, but these are processed only when a location request is received from the Location Server. </p> </li> <li id="GUID-4E3EE2A5-26DE-5F39-8F16-E60C5C0F96DE"><p>Waits for requests for location from the Location Server. </p> </li> </ul> </section> <section id="GUID-CB2663ED-4711-5162-BE0C-FF2DB31C3B49"><title>Making a location request</title> <p>When a location request is received from the Location Server, the PSY returns any cached position fix it has if it meets the position quality specified with the request. The position quality includes the horizontal and vertical position accuracy and the age of the position fix. These parameters can be specified by a Location Acquisition API client as part of the location request (see <xref href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita">How to Get Location Information</xref> for more information). </p> <p>If the cached position does not meet the quality criteria specified with the request, the PSY reads NMEA messages from the Bluetooth GPS device to obtain a position. The position is cached by the PSY and returned to the client. </p> <fig id="GUID-2573FE3F-E638-5245-9138-490D1567F74E"><title>
+          </title> <image href="GUID-6C9355AF-80BA-5DBD-81A4-E9475A118C94_d0e469875_href.png" placement="inline"/></fig> </section> <section id="GUID-6C12D640-CE1E-5368-90E5-D9EF34C6B1CF"><title>Bluetooth GPS Device initialisation</title> <p>After connecting to a Bluetooth GPS device, the PSY does the following: </p> <ul><li id="GUID-8DD56AFC-EE40-590A-AEE5-77CFA6986013"><p>Attempts to switch the GPS device to NMEA mode. </p> <p>If the device cannot be switched to NMEA mode it cannot be used by the PSY. </p> </li> <li id="GUID-9719862D-0824-599D-B3FE-972F6B24A159"><p>Queries if the device supports PNOK NMEA extensions. </p> <p>If it supports PNOK, the PSY sets low power mode. For PNOK capable devices, the PSY is able to receive and report hardware status change messages through the Bluetooth GPS PSY Events API. </p> </li> <li id="GUID-19C8DD06-8843-56E4-B0FB-739E44B9B372"><p>Requests that NMEA messages are sent with an interval of 1 second. </p> <p>NMEA messages are sent continuously to the PSY, but these are processed only when a location request is received from the Location Server. </p> </li> <li id="GUID-4E3EE2A5-26DE-5F39-8F16-E60C5C0F96DE"><p>Waits for requests for location from the Location Server. </p> </li> </ul> </section> <section id="GUID-CB2663ED-4711-5162-BE0C-FF2DB31C3B49"><title>Making a location request</title> <p>When a location request is received from the Location Server, the PSY returns any cached position fix it has if it meets the position quality specified with the request. The position quality includes the horizontal and vertical position accuracy and the age of the position fix. These parameters can be specified by a Location Acquisition API client as part of the location request (see <xref href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita">How to Get Location Information</xref> for more information). </p> <p>If the cached position does not meet the quality criteria specified with the request, the PSY reads NMEA messages from the Bluetooth GPS device to obtain a position. The position is cached by the PSY and returned to the client. </p> <fig id="GUID-2573FE3F-E638-5245-9138-490D1567F74E"><title>
              Figure 2. Location request using the Bluetooth GPS PSY. 
-          </title> <image href="GUID-B495BE4E-6567-5141-A857-31EF12B19362_d0e464089_href.png" placement="inline"/></fig> </section> <section id="GUID-CDA4A58C-EE1B-5C34-A786-C2FC112C3C74"><title>Tracking</title> <p>The term <i>tracking</i> is used to describe the situation where a client specifies that it wants to receive periodic position updates from the Location Server. To start tracking a client calls <xref href="GUID-E60595B9-B6E2-38E1-BE1E-A82113C7EC94.dita#GUID-E60595B9-B6E2-38E1-BE1E-A82113C7EC94/GUID-AF7F4C64-937E-306C-B6C1-9CE0457F37DF"><apiname>TPositionUpdateOptions::SetUpdateInterval()</apiname></xref> before making its first <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref> call. See <xref href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita">How to Get Location Information</xref> for more information about using tracking. </p> <p>An NMEA-compliant Bluetooth GPS device sends periodic NMEA messages containing position fixes to the PSY. This is the required behaviour for tracking and means a client tracking request does not cause major changes to the behaviour of the PSY. A tracking request does prevent the PSY from entering the standby state, so that it is always ready to return the next position update. </p> </section> <section id="GUID-1C02463D-FBDF-5E04-9842-438C8ABD6DF4"><title>Cancelling a location request</title> <p>A client cancels a location request by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-BF6665C5-2FC2-3C0D-8C4C-C46DC39B2027"><apiname>RPositioner::CancelRequest()</apiname></xref>. Calling this method informs the PSY that the position fix is no longer required. However, the PSY still obtains the fix from hardware and caches it for possible future use. </p> <fig id="GUID-D9389737-6481-55F7-8CF7-02A43C6409AE"><title>
+          </title> <image href="GUID-B495BE4E-6567-5141-A857-31EF12B19362_d0e469934_href.png" placement="inline"/></fig> </section> <section id="GUID-CDA4A58C-EE1B-5C34-A786-C2FC112C3C74"><title>Tracking</title> <p>The term <i>tracking</i> is used to describe the situation where a client specifies that it wants to receive periodic position updates from the Location Server. To start tracking a client calls <xref href="GUID-E60595B9-B6E2-38E1-BE1E-A82113C7EC94.dita#GUID-E60595B9-B6E2-38E1-BE1E-A82113C7EC94/GUID-AF7F4C64-937E-306C-B6C1-9CE0457F37DF"><apiname>TPositionUpdateOptions::SetUpdateInterval()</apiname></xref> before making its first <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref> call. See <xref href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita">How to Get Location Information</xref> for more information about using tracking. </p> <p>An NMEA-compliant Bluetooth GPS device sends periodic NMEA messages containing position fixes to the PSY. This is the required behaviour for tracking and means a client tracking request does not cause major changes to the behaviour of the PSY. A tracking request does prevent the PSY from entering the standby state, so that it is always ready to return the next position update. </p> </section> <section id="GUID-1C02463D-FBDF-5E04-9842-438C8ABD6DF4"><title>Cancelling a location request</title> <p>A client cancels a location request by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-BF6665C5-2FC2-3C0D-8C4C-C46DC39B2027"><apiname>RPositioner::CancelRequest()</apiname></xref>. Calling this method informs the PSY that the position fix is no longer required. However, the PSY still obtains the fix from hardware and caches it for possible future use. </p> <fig id="GUID-D9389737-6481-55F7-8CF7-02A43C6409AE"><title>
              Figure 3. Cancelling a location request. 
-          </title> <image href="GUID-0554F7DB-9102-5BB4-AD10-D6FDE77F1117_d0e464132_href.png" placement="inline"/></fig> </section> <section id="GUID-C88E20CE-C7AD-5439-AE03-E83C18C3694B"><title>Unloading the Bluetooth GPS PSY</title> <p>The PSY is unloaded when the last client subsession using it is closed by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-DE09BADB-6D90-3995-A893-F949F9C37A2B"><apiname>RPositioner::Close()</apiname></xref>. The PSY closes the Bluetooth connection to the GPS device. </p> <fig id="GUID-7DAC1058-31B3-57D6-B1AD-EC3A384E6966"><title>
+          </title> <image href="GUID-0554F7DB-9102-5BB4-AD10-D6FDE77F1117_d0e469977_href.png" placement="inline"/></fig> </section> <section id="GUID-C88E20CE-C7AD-5439-AE03-E83C18C3694B"><title>Unloading the Bluetooth GPS PSY</title> <p>The PSY is unloaded when the last client subsession using it is closed by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-DE09BADB-6D90-3995-A893-F949F9C37A2B"><apiname>RPositioner::Close()</apiname></xref>. The PSY closes the Bluetooth connection to the GPS device. </p> <fig id="GUID-7DAC1058-31B3-57D6-B1AD-EC3A384E6966"><title>
              Figure 4. Unloading the Bluetooth GPS PSY. 
-          </title> <image href="GUID-BD347690-2644-59E5-8CC6-769A77274D51_d0e464150_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-51177BB6-D906-57BD-91DD-EC263F900225.dita"><linktext>
+          </title> <image href="GUID-BD347690-2644-59E5-8CC6-769A77274D51_d0e469995_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-51177BB6-D906-57BD-91DD-EC263F900225.dita"><linktext>
                 Opening a Session with Bluetooth GPS PSY</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7C4A8920-359F-5328-8D28-2AFBA25A6A9E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7C4A8920-359F-5328-8D28-2AFBA25A6A9E"><title>lang</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>lang</codeph>  <varname>language-list</varname> </p> <p>Use the <codeph>lang</codeph> statement to indicate languages code for the project.</p> <p>If this statement is not specified, the default language code is <codeph>sc</codeph>. </p> <p>The language codes should be two-digit codes, and are used to complete the extension of generated resource files, as <codeph>project.rsc</codeph>.</p> <p>Each resource file specified with <codeph>resource</codeph> or <codeph>systemresource</codeph> or <codeph>start resource</codeph> is compiled multiple times, once for each language specified. The specification of several languages does not cause several versions of the bitmaps or application information files in your project to be created.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7C51BC7A-CB97-5A7E-A5EF-BB3623DFFFED_d0e236804_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7C51BC7A-CB97-5A7E-A5EF-BB3623DFFFED_d0e242777_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7C6FB773-0F87-5937-BF44-BEB8F4B6A62C_d0e445275_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7C6FB773-0F87-5937-BF44-BEB8F4B6A62C_d0e451120_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7C75642D-C0C9-5392-9354-711F42DC2C61.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7C75642D-C0C9-5392-9354-711F42DC2C61.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -75,7 +75,7 @@
 diagram demonstrates that typically the <xref href="GUID-12C281FF-546C-318D-8783-F26B0F619E11.dita"><apiname>RunL()</apiname></xref> starts with
 a <xref href="GUID-C57CFECB-72CD-39EB-A83E-82A9E985F56B.dita"><apiname>GetRedraw()</apiname></xref> and ends with a call to <xref href="GUID-E3F0CB70-58E4-32FD-9828-71DF2F9976D3.dita"><apiname>RedrawReady()</apiname></xref>. </p> <fig id="GUID-B092D136-8C18-5237-A095-F8C3BBFFDDB4">
 <title>              Window Server-initiated redraw            </title>
-<image href="GUID-0528A294-AC1B-5CDD-B59C-A105F39D748F_d0e237324_href.png" placement="inline"/>
+<image href="GUID-0528A294-AC1B-5CDD-B59C-A105F39D748F_d0e243297_href.png" placement="inline"/>
 </fig> <p>A redrawer's <codeph>RunL()</codeph> function must <b>not</b> perform
 any non-redraw drawing (that is, any drawing operations that are not bracketed
 within the calls to <codeph>BeginRedraw()</codeph> and <codeph>EndRedraw()</codeph>).
@@ -107,7 +107,7 @@
 </ol> <fig id="GUID-6E2637DC-F92A-56DE-BB07-F109F5CA681B">
 <title>              Application-initiated redrawing, "draw now" scenario
            </title>
-<image href="GUID-4BC95F70-2F3F-5CFE-B057-0C5A97430573_d0e237432_href.png" placement="inline"/>
+<image href="GUID-4BC95F70-2F3F-5CFE-B057-0C5A97430573_d0e243405_href.png" placement="inline"/>
 </fig> <p><b>The "draw deferred" scenario </b> </p> <p>The "draw deferred" redraw scenario
 is when an application simply marks a window or a rectangle within a window
 as invalid. This eventually triggers a Window Server-initiated redraw. Typically
@@ -115,7 +115,7 @@
 However, it is also possible to do this by calling <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-28202F81-52FE-30F5-8B8C-ABED0915822E"><apiname>RWindow::Invalidate()</apiname></xref>. </p> <fig id="GUID-8B78CE09-EE92-50B3-8000-731BD9C20890">
 <title>              Application-initiated redrawing, "draw deferred" scenario
            </title>
-<image href="GUID-21EF9E6F-A0BF-5EB2-9E3F-CA6A011D4C89_d0e237456_href.png" placement="inline"/>
+<image href="GUID-21EF9E6F-A0BF-5EB2-9E3F-CA6A011D4C89_d0e243429_href.png" placement="inline"/>
 </fig> <p>This approach is useful when the data to be displayed might be updated
 frequently but it is not necessary to update the display instantaneously. </p> <p>To
 illustrate how it works, consider a window that has a rectangle that is used
@@ -126,14 +126,14 @@
 the following diagram. </p> <fig id="GUID-04BCFA21-8D44-5FEA-BE29-57B40AC9CF99">
 <title>              Icons displayed using the "draw now" approach       
     </title>
-<image href="GUID-89185EBD-223F-5F52-B1CA-9F9692F7D21F_d0e237470_href.png" placement="inline"/>
+<image href="GUID-89185EBD-223F-5F52-B1CA-9F9692F7D21F_d0e243443_href.png" placement="inline"/>
 </fig> <p>However, if you use the "draw deferred" approach when each event
 occurs, the Window Server may not update the display for each one. For example,
 the Window Server does not update the display when it is superceded by a later
 call. </p> <fig id="GUID-1E0E2A3C-1E63-58F6-940F-0D439FA6C721">
 <title>              Icons displayed using the "draw deferred" approach  
          </title>
-<image href="GUID-EDC405DC-F222-59CD-836E-180F8E1D2D11_d0e237481_href.png" placement="inline"/>
+<image href="GUID-EDC405DC-F222-59CD-836E-180F8E1D2D11_d0e243454_href.png" placement="inline"/>
 </fig> <p>If it is important that the display is updated immediately, you
 would generally use the "draw now" approach. However, if a short delay in
 the display being updated is unlikely to inconvenience the user, the "draw
Binary file Symbian3/PDK/Source/GUID-7C87B04A-1CCC-47D2-9B53-4E341412EFD2_d0e94143_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7C87B04A-1CCC-47D2-9B53-4E341412EFD2_d0e98341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e172462_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e178530_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7CF8DC4A-1BD8-517F-9E96-AFB30EE8F938.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7CF8DC4A-1BD8-517F-9E96-AFB30EE8F938.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 <p>This section describes the guidelines that are suggested for implementing
 client and server streaming agents. However, these may not be appropriate
 for all agents. </p>
-<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-27-1-1-6-1-6-1-4-1-5-1-3-3"><title>Client-side</title><p>At
+<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-26-1-1-6-1-6-1-4-1-5-1-3-3"><title>Client-side</title><p>At
 the client-side, implement the following: </p> <ul>
 <li id="GUID-A655FF99-F8AE-514A-B4C8-90B0CA55A30D"><p>Receive details of the
 key stream decoder </p> </li>
Binary file Symbian3/PDK/Source/GUID-7D025BEF-61B9-4EF1-AFF7-604B500A8F2C_d0e92545_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7D025BEF-61B9-4EF1-AFF7-604B500A8F2C_d0e96743_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7D13B61C-0C9E-5098-87F0-BB9D741E9281_d0e435797_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7D13B61C-0C9E-5098-87F0-BB9D741E9281_d0e441642_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7D1886D4-24E4-528E-B3F0-2B6AF3E175AB_d0e231694_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7D1886D4-24E4-528E-B3F0-2B6AF3E175AB_d0e237689_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7D3B5008-CB40-504D-90A8-92DE482977CA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-7D3B5008-CB40-504D-90A8-92DE482977CA" xml:lang="en"><title>bld.inf file syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7D4F429E-FC65-55FC-BD4D-8F351E78AF33.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7D4F429E-FC65-55FC-BD4D-8F351E78AF33.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 of applications with domains, manages domain-specific power state transitions
 and system-wide power state transitions. </p>
 <fig id="GUID-303BF4E4-B4D6-599A-A6EE-5C2B8EFF5D3C">
-<image href="GUID-F1E8B6F9-AAEA-5A55-B838-36C74FC8B4BA_d0e373132_href.png" placement="inline"/>
+<image href="GUID-F1E8B6F9-AAEA-5A55-B838-36C74FC8B4BA_d0e378980_href.png" placement="inline"/>
 </fig>
 <ul>
 <li id="GUID-8679AD4F-9576-5D20-BA1E-2C051795D3AB"><p>Applications interface
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1"><title>Secure store encryption example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita">secure store example code</xref>. </p> <section id="GUID-5DE9A95D-C755-429A-A3E3-7A8FF06008B9-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1-2-2"><title/><codeblock id="GUID-36F57493-4F6E-559A-B51B-7261F57AF1B1-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1-2-2-2" xml:space="preserve">
+#include "e32std.h"
+#include "f32file.h"
+#include "s32file.h"
+#include "pbe.h"
+#include "pbedata.h"
+#include "s32crypt.h"
+            </codeblock> <codeblock id="GUID-EE52D935-4E72-5D4A-809C-BA0FEE19C90F-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1-2-2-3" xml:space="preserve">
+/*
+ * Class to demonstrate the use of secure store APIs.
+ */
+class CSecureStoreExample : public CBase
+         {
+public:
+         static CSecureStoreExample* NewLC(const TDesC&amp; aFilename);
+         virtual ~CSecureStoreExample();
+
+         void CreateNewStoreL(const TDesC&amp; aPassword);
+         TStreamId WriteEncryptedDataL(const TDesC8&amp; aInput);
+         void OpenExistingStoreL(const TDesC&amp; aPassword);
+         HBufC8* ReadEncryptedDataLC(TStreamId aStreamId);
+         void CloseStore();
+         void ChangePasswordL(const TDesC&amp; aNewPassword);
+private:
+         CSecureStoreExample(const TDesC&amp; aFilename);
+         void ConstructL();
+private:
+         RFs iFs;
+         const TDesC&amp; iFilename;
+         CPermanentFileStore* iFileStore;
+         CPBEncryptSet* iEncryptSet;
+         CSecureStore* iSecureStore;
+         };
+            </codeblock> <codeblock id="GUID-DB3DBE48-DCEC-5CDD-9066-246AD37A5C12-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1-2-2-4" xml:space="preserve">
+CSecureStoreExample* CSecureStoreExample::NewLC(const TDesC&amp; aFilename)
+         {
+         CSecureStoreExample* self = new (ELeave) CSecureStoreExample(aFilename);
+         CleanupStack::PushL(self);
+         self-&gt;ConstructL();
+         return self;
+         }
+
+CSecureStoreExample::CSecureStoreExample(const TDesC&amp; aFilename)
+         : iFilename(aFilename)
+         {
+         }
+
+void CSecureStoreExample::ConstructL()
+         {
+         User::LeaveIfError(iFs.Connect());
+         }
+
+CSecureStoreExample::~CSecureStoreExample()
+         {
+         CloseStore();
+         iFs.Close();
+         }
+            </codeblock> <codeblock id="GUID-4485993E-0561-5688-85FA-3914AECDF12B-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1-2-2-5" xml:space="preserve">
+LOCAL_D void RunPBEExampleL()
+         {
+         _LIT(KFilename, "c:\\pbe_example_data.dat");
+         _LIT8(KInputData, "This is the data to be encrypted.");
+         _LIT(KPassword, "pa55w0rd");
+         _LIT(KNewPassword, "chang3m3");
+
+         CSecureStoreExample* main = CSecureStoreExample::NewLC(KFilename);
+
+         // Create a secure store and write some data to it
+         main-&gt;CreateNewStoreL(KPassword);
+         TStreamId streamId = main-&gt;WriteEncryptedDataL(KInputData);
+         main-&gt;CloseStore();
+
+         // Open it again, and read the data back out
+         main-&gt;OpenExistingStoreL(KPassword);
+         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(streamId);
+         ASSERT(*outputData == KInputData);
+         CleanupStack::PopAndDestroy(outputData);
+
+         // Change the password
+         main-&gt;ChangePasswordL(KNewPassword);
+
+         // Check we can still read the data
+         outputData = main-&gt;ReadEncryptedDataLC(streamId);
+         ASSERT(*outputData == KInputData);         
+         main-&gt;CloseStore();
+
+         CleanupStack::PopAndDestroy(2, main);
+         }
+            </codeblock> <codeblock id="GUID-7FF91AD3-106A-56EA-9199-0E261B8D044C-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-8-1-2-2-6" xml:space="preserve">
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+         __UHEAP_MARK;
+         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+         TRAPD(error, RunPBEExampleL());
+         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
+         delete cleanup; // destroy clean-up stack
+         __UHEAP_MARKEND;
+         return 0;
+    }
+            </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1"><title>Secure store encryption example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita">secure store example code</xref>. </p> <section id="GUID-5DE9A95D-C755-429A-A3E3-7A8FF06008B9-GENID-1-12-1-26-1-1-9-1-12-1-8-1-2-2"><title/><codeblock id="GUID-36F57493-4F6E-559A-B51B-7261F57AF1B1-GENID-1-12-1-26-1-1-9-1-12-1-8-1-2-2-2" xml:space="preserve">
+#include "e32std.h"
+#include "f32file.h"
+#include "s32file.h"
+#include "pbe.h"
+#include "pbedata.h"
+#include "s32crypt.h"
+            </codeblock> <codeblock id="GUID-EE52D935-4E72-5D4A-809C-BA0FEE19C90F-GENID-1-12-1-26-1-1-9-1-12-1-8-1-2-2-3" xml:space="preserve">
+/*
+ * Class to demonstrate the use of secure store APIs.
+ */
+class CSecureStoreExample : public CBase
+         {
+public:
+         static CSecureStoreExample* NewLC(const TDesC&amp; aFilename);
+         virtual ~CSecureStoreExample();
+
+         void CreateNewStoreL(const TDesC&amp; aPassword);
+         TStreamId WriteEncryptedDataL(const TDesC8&amp; aInput);
+         void OpenExistingStoreL(const TDesC&amp; aPassword);
+         HBufC8* ReadEncryptedDataLC(TStreamId aStreamId);
+         void CloseStore();
+         void ChangePasswordL(const TDesC&amp; aNewPassword);
+private:
+         CSecureStoreExample(const TDesC&amp; aFilename);
+         void ConstructL();
+private:
+         RFs iFs;
+         const TDesC&amp; iFilename;
+         CPermanentFileStore* iFileStore;
+         CPBEncryptSet* iEncryptSet;
+         CSecureStore* iSecureStore;
+         };
+            </codeblock> <codeblock id="GUID-DB3DBE48-DCEC-5CDD-9066-246AD37A5C12-GENID-1-12-1-26-1-1-9-1-12-1-8-1-2-2-4" xml:space="preserve">
+CSecureStoreExample* CSecureStoreExample::NewLC(const TDesC&amp; aFilename)
+         {
+         CSecureStoreExample* self = new (ELeave) CSecureStoreExample(aFilename);
+         CleanupStack::PushL(self);
+         self-&gt;ConstructL();
+         return self;
+         }
+
+CSecureStoreExample::CSecureStoreExample(const TDesC&amp; aFilename)
+         : iFilename(aFilename)
+         {
+         }
+
+void CSecureStoreExample::ConstructL()
+         {
+         User::LeaveIfError(iFs.Connect());
+         }
+
+CSecureStoreExample::~CSecureStoreExample()
+         {
+         CloseStore();
+         iFs.Close();
+         }
+            </codeblock> <codeblock id="GUID-4485993E-0561-5688-85FA-3914AECDF12B-GENID-1-12-1-26-1-1-9-1-12-1-8-1-2-2-5" xml:space="preserve">
+LOCAL_D void RunPBEExampleL()
+         {
+         _LIT(KFilename, "c:\\pbe_example_data.dat");
+         _LIT8(KInputData, "This is the data to be encrypted.");
+         _LIT(KPassword, "pa55w0rd");
+         _LIT(KNewPassword, "chang3m3");
+
+         CSecureStoreExample* main = CSecureStoreExample::NewLC(KFilename);
+
+         // Create a secure store and write some data to it
+         main-&gt;CreateNewStoreL(KPassword);
+         TStreamId streamId = main-&gt;WriteEncryptedDataL(KInputData);
+         main-&gt;CloseStore();
+
+         // Open it again, and read the data back out
+         main-&gt;OpenExistingStoreL(KPassword);
+         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(streamId);
+         ASSERT(*outputData == KInputData);
+         CleanupStack::PopAndDestroy(outputData);
+
+         // Change the password
+         main-&gt;ChangePasswordL(KNewPassword);
+
+         // Check we can still read the data
+         outputData = main-&gt;ReadEncryptedDataLC(streamId);
+         ASSERT(*outputData == KInputData);         
+         main-&gt;CloseStore();
+
+         CleanupStack::PopAndDestroy(2, main);
+         }
+            </codeblock> <codeblock id="GUID-7FF91AD3-106A-56EA-9199-0E261B8D044C-GENID-1-12-1-26-1-1-9-1-12-1-8-1-2-2-6" xml:space="preserve">
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+         __UHEAP_MARK;
+         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+         TRAPD(error, RunPBEExampleL());
+         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
+         delete cleanup; // destroy clean-up stack
+         __UHEAP_MARKEND;
+         return 0;
+    }
+            </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5"><title>Secure store encryption example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita">secure store example code</xref>. </p> <section id="GUID-5DE9A95D-C755-429A-A3E3-7A8FF06008B9"><title/><codeblock id="GUID-36F57493-4F6E-559A-B51B-7261F57AF1B1" xml:space="preserve">
-#include "e32std.h"
-#include "f32file.h"
-#include "s32file.h"
-#include "pbe.h"
-#include "pbedata.h"
-#include "s32crypt.h"
-            </codeblock> <codeblock id="GUID-EE52D935-4E72-5D4A-809C-BA0FEE19C90F" xml:space="preserve">
-/*
- * Class to demonstrate the use of secure store APIs.
- */
-class CSecureStoreExample : public CBase
-         {
-public:
-         static CSecureStoreExample* NewLC(const TDesC&amp; aFilename);
-         virtual ~CSecureStoreExample();
-
-         void CreateNewStoreL(const TDesC&amp; aPassword);
-         TStreamId WriteEncryptedDataL(const TDesC8&amp; aInput);
-         void OpenExistingStoreL(const TDesC&amp; aPassword);
-         HBufC8* ReadEncryptedDataLC(TStreamId aStreamId);
-         void CloseStore();
-         void ChangePasswordL(const TDesC&amp; aNewPassword);
-private:
-         CSecureStoreExample(const TDesC&amp; aFilename);
-         void ConstructL();
-private:
-         RFs iFs;
-         const TDesC&amp; iFilename;
-         CPermanentFileStore* iFileStore;
-         CPBEncryptSet* iEncryptSet;
-         CSecureStore* iSecureStore;
-         };
-            </codeblock> <codeblock id="GUID-DB3DBE48-DCEC-5CDD-9066-246AD37A5C12" xml:space="preserve">
-CSecureStoreExample* CSecureStoreExample::NewLC(const TDesC&amp; aFilename)
-         {
-         CSecureStoreExample* self = new (ELeave) CSecureStoreExample(aFilename);
-         CleanupStack::PushL(self);
-         self-&gt;ConstructL();
-         return self;
-         }
-
-CSecureStoreExample::CSecureStoreExample(const TDesC&amp; aFilename)
-         : iFilename(aFilename)
-         {
-         }
-
-void CSecureStoreExample::ConstructL()
-         {
-         User::LeaveIfError(iFs.Connect());
-         }
-
-CSecureStoreExample::~CSecureStoreExample()
-         {
-         CloseStore();
-         iFs.Close();
-         }
-            </codeblock> <codeblock id="GUID-4485993E-0561-5688-85FA-3914AECDF12B" xml:space="preserve">
-LOCAL_D void RunPBEExampleL()
-         {
-         _LIT(KFilename, "c:\\pbe_example_data.dat");
-         _LIT8(KInputData, "This is the data to be encrypted.");
-         _LIT(KPassword, "pa55w0rd");
-         _LIT(KNewPassword, "chang3m3");
-
-         CSecureStoreExample* main = CSecureStoreExample::NewLC(KFilename);
-
-         // Create a secure store and write some data to it
-         main-&gt;CreateNewStoreL(KPassword);
-         TStreamId streamId = main-&gt;WriteEncryptedDataL(KInputData);
-         main-&gt;CloseStore();
-
-         // Open it again, and read the data back out
-         main-&gt;OpenExistingStoreL(KPassword);
-         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(streamId);
-         ASSERT(*outputData == KInputData);
-         CleanupStack::PopAndDestroy(outputData);
-
-         // Change the password
-         main-&gt;ChangePasswordL(KNewPassword);
-
-         // Check we can still read the data
-         outputData = main-&gt;ReadEncryptedDataLC(streamId);
-         ASSERT(*outputData == KInputData);         
-         main-&gt;CloseStore();
-
-         CleanupStack::PopAndDestroy(2, main);
-         }
-            </codeblock> <codeblock id="GUID-7FF91AD3-106A-56EA-9199-0E261B8D044C" xml:space="preserve">
-GLDEF_C TInt E32Main() // main function called by E32
-    {
-         __UHEAP_MARK;
-         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
-         TRAPD(error, RunPBEExampleL());
-         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
-         delete cleanup; // destroy clean-up stack
-         __UHEAP_MARKEND;
-         return 0;
-    }
-            </codeblock> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-7D78DFA8-301C-5A0C-9F83-7C4BBEAE34C2_d0e214701_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-7D78DFA8-301C-5A0C-9F83-7C4BBEAE34C2_d0e220721_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e439103_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e444948_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7DDC1BC6-A100-5B50-ABFE-B4AA466716A6_d0e489613_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7DDC1BC6-A100-5B50-ABFE-B4AA466716A6_d0e495434_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7DDEE87B-7056-5AAA-91A1-33D3D0D50041.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7DDEE87B-7056-5AAA-91A1-33D3D0D50041.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 <p>The following diagram illustrates how elements are organised within the
 array buffer:</p>
 <fig id="GUID-C36AFFF1-3BE7-5AF3-B852-B1AB3BBA257D">
-<image href="GUID-2472E5E0-C33A-51B4-8210-89D7DEFA87C8_d0e317532_href.png" placement="inline"/>
+<image href="GUID-2472E5E0-C33A-51B4-8210-89D7DEFA87C8_d0e323522_href.png" placement="inline"/>
 </fig>
 <p>This kind of array is suitable for a small number of objects or for a moderately
 large but fixed maximum number of objects. It is not suitable for large arrays
--- a/Symbian3/PDK/Source/GUID-7DFA1B74-5BD1-494D-9BBA-B2D6F258C5F1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7DFA1B74-5BD1-494D-9BBA-B2D6F258C5F1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 <row>
 <entry><p>Left and right arrows</p><fig id="GUID-58FC0E5C-12D5-4B42-8171-37567D139807">
 <title>Arrows in the Navi pane</title>
-<image href="GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e80423_href.png" scale="40" placement="inline"/>
+<image href="GUID-6FE79448-5052-46F9-A74E-A128CB367697_d0e84621_href.png" scale="40" placement="inline"/>
 </fig></entry>
 <entry><p>When horizontal navigation between different main pane views is
 used, the Navi pane displays the navigation information (tabs or text may
@@ -36,7 +36,7 @@
 <row>
 <entry><p>Editing indicators</p><fig id="GUID-C5367363-A4F0-4AF2-8418-ED01597ED535">
 <title>Editing indicators in the Navi pane</title>
-<image href="GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e80445_href.png" scale="40" placement="inline"/>
+<image href="GUID-03A3E872-8183-4F56-976E-A6AF435742C6_d0e84643_href.png" scale="40" placement="inline"/>
 </fig></entry>
 <entry><p>When an editor is in use in the main pane, the indicators related
 to editing parameters are displayed in the Navi pane. They indicate things
Binary file Symbian3/PDK/Source/GUID-7E6634DC-7F07-5687-AFEE-D5BD268B8E1D_d0e61445_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E6634DC-7F07-5687-AFEE-D5BD268B8E1D_d0e65679_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7E6DDDBB-FDE2-59ED-A932-AFD4D0BAC3E3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7E6DDDBB-FDE2-59ED-A932-AFD4D0BAC3E3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,11 +22,11 @@
 word contains 2 pixels. </p> <fig id="GUID-BCA03D58-FE74-5E55-BA19-D9A7D71947B0">
 <title>              Word diagram representing the EUidPixelFormatRGB_565
 format            </title>
-<image href="GUID-2DDFE745-3991-573C-94D6-22A43A2F0BF0_d0e229777_href.png" placement="inline"/>
+<image href="GUID-2DDFE745-3991-573C-94D6-22A43A2F0BF0_d0e235772_href.png" placement="inline"/>
 </fig> <fig id="GUID-E01CE3FD-67C0-58DF-94A0-D37774FA1799">
 <title>              Pixel address layout in memory for the EUidPixelFormatRGB_565
 format            </title>
-<image href="GUID-331655D7-2D5F-55F9-99A4-5FFA40877C26_d0e229785_href.png" placement="inline"/>
+<image href="GUID-331655D7-2D5F-55F9-99A4-5FFA40877C26_d0e235780_href.png" placement="inline"/>
 </fig> <table id="GUID-7A2E9722-8048-5E7E-BD12-E0EF0BD12735">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -54,11 +54,11 @@
 4 bits. The first 4 bits are unused. </p> <fig id="GUID-067C59F1-2336-5A34-A9C1-2FC07200E6C1">
 <title>              Word diagram representing the EUidPixelFormatXRGB_4444
 format            </title>
-<image href="GUID-D96DECA4-99B4-5F08-8FDF-C14771EEFACD_d0e229850_href.png" placement="inline"/>
+<image href="GUID-D96DECA4-99B4-5F08-8FDF-C14771EEFACD_d0e235845_href.png" placement="inline"/>
 </fig> <fig id="GUID-CA9FA780-DEE1-5AB3-BC0E-9382A2895DF3">
 <title>              Pixel address layout in memory for the EUidPixelFormatXRGB_4444
              format            </title>
-<image href="GUID-5A8AE98B-51B3-5540-911A-2D04DA144C08_d0e229858_href.png" placement="inline"/>
+<image href="GUID-5A8AE98B-51B3-5540-911A-2D04DA144C08_d0e235853_href.png" placement="inline"/>
 </fig> <table id="GUID-2566B91D-E924-5CED-BB08-02F362957DA7">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -87,11 +87,11 @@
 only 24 bits, this format requires 32 bits (1 word) to construct. </p> <fig id="GUID-49BB7271-EA82-53E0-A8F1-0FD3173F5FBF">
 <title>              Word diagram representing the EUidPixelFormatXRGB_8888
 format            </title>
-<image href="GUID-71F8553D-04A2-5F59-A469-1D08109C7A28_d0e229925_href.png" placement="inline"/>
+<image href="GUID-71F8553D-04A2-5F59-A469-1D08109C7A28_d0e235920_href.png" placement="inline"/>
 </fig> <fig id="GUID-119ABE23-D8D8-5537-9AC3-91A5D188C64E">
 <title>              Pixel address layout in memory for the EUidPixelFormatXRGB_8888
              format            </title>
-<image href="GUID-7F5CBA9E-1386-596D-A7FD-34AC1284F0C5_d0e229933_href.png" placement="inline"/>
+<image href="GUID-7F5CBA9E-1386-596D-A7FD-34AC1284F0C5_d0e235928_href.png" placement="inline"/>
 </fig> <table id="GUID-A80BF34D-3630-50F2-8A50-02C606BEE1B1">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -119,11 +119,11 @@
 each occupy 8 bits. </p> <fig id="GUID-4EF0F4E9-9263-510A-B3B3-543672FC2D9D">
 <title>              Word diagram representing the EUidPixelFormatARGB_8888
 format            </title>
-<image href="GUID-16D6C3BB-45C0-5669-93FB-846386F586B4_d0e229998_href.png" placement="inline"/>
+<image href="GUID-16D6C3BB-45C0-5669-93FB-846386F586B4_d0e235993_href.png" placement="inline"/>
 </fig> <fig id="GUID-FDF30C93-5DE1-5F48-B917-3A226C031C4B">
 <title>              Pixel address layout in memory for the EUidPixelFormatARGB_8888
              format            </title>
-<image href="GUID-20552A48-93D5-5B0E-8B53-A01913CC7A9F_d0e230006_href.png" placement="inline"/>
+<image href="GUID-20552A48-93D5-5B0E-8B53-A01913CC7A9F_d0e236001_href.png" placement="inline"/>
 </fig> <table id="GUID-C887942B-833F-5F96-8029-9A3F5A830493">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -154,11 +154,11 @@
 alpha blending and compositions. </p> <fig id="GUID-3CEC8456-124C-57C4-958E-8092FB9D8661">
 <title>              Word diagram representing the EUidPixelFormatARGB_8888_PRE
 format            </title>
-<image href="GUID-B474D319-1E03-57EC-A8F1-2E8D32CD8092_d0e230071_href.png" placement="inline"/>
+<image href="GUID-B474D319-1E03-57EC-A8F1-2E8D32CD8092_d0e236066_href.png" placement="inline"/>
 </fig> <fig id="GUID-E19DC61E-9C08-5C8F-B05C-53D3BEB0D2D6">
 <title>              Pixel address layout in memory for the EUidPixelFormatARGB_8888_PRE
              format            </title>
-<image href="GUID-46BBABA1-D6C6-5532-8487-6FD744C108C4_d0e230079_href.png" placement="inline"/>
+<image href="GUID-46BBABA1-D6C6-5532-8487-6FD744C108C4_d0e236074_href.png" placement="inline"/>
 </fig> <table id="GUID-22C5CF91-862C-577A-A4E6-7AA995A561CA">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -186,11 +186,11 @@
 3 and 2 bits, respectively. One word contains 4 bytes. </p> <fig id="GUID-932214F5-2954-54DE-9F4F-A3BE90DDC862">
 <title>              Word diagram representing the EUidPixelFormatRGB_332
 format            </title>
-<image href="GUID-02442ADC-1C4C-5489-825F-7E1630415086_d0e230144_href.png" placement="inline"/>
+<image href="GUID-02442ADC-1C4C-5489-825F-7E1630415086_d0e236139_href.png" placement="inline"/>
 </fig> <fig id="GUID-A547575D-757F-5C60-894F-97B4118CB180">
 <title>              Pixel address layout in memory for the EUidPixelFormatRGB_332
 format            </title>
-<image href="GUID-42C21271-FDDD-5923-95A3-450FED07BEC4_d0e230152_href.png" placement="inline"/>
+<image href="GUID-42C21271-FDDD-5923-95A3-450FED07BEC4_d0e236147_href.png" placement="inline"/>
 </fig> <table id="GUID-77E938E5-A4AE-5483-9DCF-47CC33CD2D76">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -218,7 +218,7 @@
 4 bits. </p> <fig id="GUID-826DACBB-A1E2-58A2-8432-61E0B4617957">
 <title>              Word diagram representing the EUidPixelFormatARGB_4444
 format            </title>
-<image href="GUID-D9BE2E51-D80C-537C-BE94-2A3699BE1DC6_d0e230215_href.png" placement="inline"/>
+<image href="GUID-D9BE2E51-D80C-537C-BE94-2A3699BE1DC6_d0e236210_href.png" placement="inline"/>
 </fig> <table id="GUID-903EC211-97EA-59E6-8BA5-ACDCA2CA2B63">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -247,7 +247,7 @@
 32768 possible different colors in total. One word contains 2 pixels. </p> <fig id="GUID-83195A01-CE0B-5802-ABCE-377F81C171A0">
 <title>              Word diagram representing the EUidPixelFormatARGB_1555
 format            </title>
-<image href="GUID-99CFB57F-87FB-5DF6-B8A3-DD8094FA5419_d0e230278_href.png" placement="inline"/>
+<image href="GUID-99CFB57F-87FB-5DF6-B8A3-DD8094FA5419_d0e236273_href.png" placement="inline"/>
 </fig> <table id="GUID-9C1C455A-1C07-5A9B-918E-D21C93ADC5F1">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -276,7 +276,7 @@
 unused. </p> <fig id="GUID-B4CB2BD2-CB9A-5B9D-BB44-CCAD76DCE36D">
 <title>              Word diagram representing the EUidPixelFormatXBGR_8888
 format            </title>
-<image href="GUID-4324A05E-3243-50E1-A287-BBD2F07E2295_d0e230341_href.png" placement="inline"/>
+<image href="GUID-4324A05E-3243-50E1-A287-BBD2F07E2295_d0e236336_href.png" placement="inline"/>
 </fig> <table id="GUID-39AEB354-2536-5A3E-9050-A070E38A7B3A">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -305,7 +305,7 @@
 requires 1 word to construct. </p> <fig id="GUID-304C810E-8443-5AEE-9881-3118C22FA0DA">
 <title>              Word diagram representing the EUidPixelFormatBGRX_8888
 format            </title>
-<image href="GUID-A726509A-4016-5499-B5A0-F25F505E14C9_d0e230406_href.png" placement="inline"/>
+<image href="GUID-A726509A-4016-5499-B5A0-F25F505E14C9_d0e236401_href.png" placement="inline"/>
 </fig> <table id="GUID-61485B33-02AC-5DDA-A6A1-12C39BE0498F">
 <tgroup cols="2"><colspec colname="COLSPEC0" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -333,7 +333,7 @@
 8 bits. </p> <fig id="GUID-03224617-89B5-55FC-9E6E-E713417DBE5F">
 <title>              Word diagram representing the EUidPixelFormatBGRA_8888
 format            </title>
-<image href="GUID-46CBF409-7A5E-511E-8ED7-1ED8FD04897E_d0e230469_href.png" placement="inline"/>
+<image href="GUID-46CBF409-7A5E-511E-8ED7-1ED8FD04897E_d0e236464_href.png" placement="inline"/>
 </fig> <table id="GUID-92386E09-A207-517D-8F02-6630EDD2D24C">
 <tgroup cols="2"><colspec colname="COLSPEC1" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -361,7 +361,7 @@
 8 bits. </p> <fig id="GUID-55A5EF28-D1C9-5571-A0F2-80F765C3154B">
 <title>              Word diagram representing the EUidPixelFormatABGR_8888
 format            </title>
-<image href="GUID-18D2E6CC-ED84-5A6F-B25D-7693432A2E58_d0e230532_href.png" placement="inline"/>
+<image href="GUID-18D2E6CC-ED84-5A6F-B25D-7693432A2E58_d0e236527_href.png" placement="inline"/>
 </fig> <table id="GUID-8D70E3CC-2847-5744-95A9-960B294F7F04">
 <tgroup cols="2"><colspec colname="COLSPEC2" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -390,7 +390,7 @@
 information in the alpha channel. </p> <fig id="GUID-FDF4407F-3F89-56CB-AF9D-C4679FB7A66A">
 <title>              Word diagram representing the EUidPixelFormatABGR_8888_PRE
 format            </title>
-<image href="GUID-7B20C9EE-8EAB-504D-8DDB-03147E0C2B0C_d0e230595_href.png" placement="inline"/>
+<image href="GUID-7B20C9EE-8EAB-504D-8DDB-03147E0C2B0C_d0e236590_href.png" placement="inline"/>
 </fig> <table id="GUID-0AD1D021-9A2D-52ED-964C-B3115CB0F86C">
 <tgroup cols="2"><colspec colname="COLSPEC3" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -419,7 +419,7 @@
 information in the alpha channel. </p> <fig id="GUID-97C9F09A-4081-5C6D-83D5-496FC8281D58">
 <title>              Word diagram representing the EUidPixelFormatBGRA_8888_PRE
 format            </title>
-<image href="GUID-5F7CDE80-ED4E-592E-983D-C6C2E7EEC7E0_d0e230658_href.png" placement="inline"/>
+<image href="GUID-5F7CDE80-ED4E-592E-983D-C6C2E7EEC7E0_d0e236653_href.png" placement="inline"/>
 </fig> <table id="GUID-E5F25F47-36EC-5AED-820B-590271C5F151">
 <tgroup cols="2"><colspec colname="COLSPEC4" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -447,7 +447,7 @@
 each occupy 10 bits. </p> <fig id="GUID-126E8A73-773C-524E-B0E1-1BC9146D294B">
 <title>              Word diagram representing the EUidPixelFormatABGR_2101010
 format            </title>
-<image href="GUID-F5107783-6B4F-549B-B46D-E1294C241306_d0e230721_href.png" placement="inline"/>
+<image href="GUID-F5107783-6B4F-549B-B46D-E1294C241306_d0e236716_href.png" placement="inline"/>
 </fig> <table id="GUID-88179D3F-3337-524B-8F02-11DF4130EA1D">
 <tgroup cols="2"><colspec colname="COLSPEC5" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -475,7 +475,7 @@
 each occupy 10 bits. </p> <fig id="GUID-60D8F8D9-3613-5AA0-8205-E26B9FB63248">
 <title>              Word diagram representing the EUidPixelFormatARGB_2101010
 format            </title>
-<image href="GUID-55F6EEB1-1CED-518D-9AE7-E364FC080423_d0e230784_href.png" placement="inline"/>
+<image href="GUID-55F6EEB1-1CED-518D-9AE7-E364FC080423_d0e236779_href.png" placement="inline"/>
 </fig> <table id="GUID-A63BBFC3-E8D3-5CB3-929D-8FB01D073DEB">
 <tgroup cols="2"><colspec colname="COLSPEC6" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -503,7 +503,7 @@
 8 bits. 12 bytes contain 4 pixels as shown in the following diagram. </p> <fig id="GUID-15A72683-97EA-59B1-8442-B5BBDE19E500">
 <title>              Word diagram representing the EUidPixelFormatBGR_888
 format            </title>
-<image href="GUID-6D7A25E2-9C24-5D44-ADAE-8DD5A3F358D5_d0e230847_href.png" placement="inline"/>
+<image href="GUID-6D7A25E2-9C24-5D44-ADAE-8DD5A3F358D5_d0e236842_href.png" placement="inline"/>
 </fig> <table id="GUID-0245ACDC-8DDA-512E-BD68-93734290A23C">
 <tgroup cols="2"><colspec colname="COLSPEC7" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -531,7 +531,7 @@
 8 bits. 12 bytes contain 4 pixels as shown in the following diagram. </p> <fig id="GUID-392A7ABE-6AA1-578A-84FF-EE725203275C">
 <title>              Word diagram representing the EUidPixelFormatRGB_888
 format            </title>
-<image href="GUID-198DCEE2-5089-5D0C-83CE-E1CDC2AD3196_d0e230910_href.png" placement="inline"/>
+<image href="GUID-198DCEE2-5089-5D0C-83CE-E1CDC2AD3196_d0e236905_href.png" placement="inline"/>
 </fig> <table id="GUID-349DBD99-FF2F-5FED-8762-E663F77662AD">
 <tgroup cols="2"><colspec colname="COLSPEC8" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -559,7 +559,7 @@
 5 bits. </p> <fig id="GUID-E13C7CBE-23C7-5B77-A82D-B852EE20B41B">
 <title>              Word diagram representing the EUidPixelFormatXRGB_1555
 format            </title>
-<image href="GUID-FCA90B94-B0D1-5479-A1BF-28758FB830E5_d0e230975_href.png" placement="inline"/>
+<image href="GUID-FCA90B94-B0D1-5479-A1BF-28758FB830E5_d0e236970_href.png" placement="inline"/>
 </fig> <table id="GUID-5C541349-5E59-5FFE-BB8B-8E30C76C15D1">
 <tgroup cols="2"><colspec colname="COLSPEC9" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -587,7 +587,7 @@
 5 bits. </p> <fig id="GUID-AF4432E9-4644-5E03-8318-204F4C0ABC57">
 <title>              Word diagram representing the EUidPixelFormatBGRA_5551
 format            </title>
-<image href="GUID-4257E768-F392-507C-81C2-23F0CE2DDEA2_d0e231038_href.png" placement="inline"/>
+<image href="GUID-4257E768-F392-507C-81C2-23F0CE2DDEA2_d0e237033_href.png" placement="inline"/>
 </fig> <table id="GUID-2B276464-9B5A-500E-A0C2-8E849140DFE1">
 <tgroup cols="2"><colspec colname="COLSPEC10" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -615,7 +615,7 @@
 5 bits. </p> <fig id="GUID-BF8EF046-9348-5216-9DBF-AC61793879C0">
 <title>              Word diagram representing the EUidPixelFormatBGRX_5551
 format            </title>
-<image href="GUID-62950BAA-8DCB-58E2-B511-AF400605DA5C_d0e231101_href.png" placement="inline"/>
+<image href="GUID-62950BAA-8DCB-58E2-B511-AF400605DA5C_d0e237096_href.png" placement="inline"/>
 </fig> <table id="GUID-D56DA61B-BE66-5587-ACCA-63885CD7E93E">
 <tgroup cols="2"><colspec colname="COLSPEC11" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -643,7 +643,7 @@
 4 bits. </p> <fig id="GUID-41630BA3-1801-5B77-A0C0-35CDC2DBF9EB">
 <title>              Word diagram representing the EUidPixelFormatBGRA_4444
 format            </title>
-<image href="GUID-14B9B9FB-E7E4-5C28-9821-52EE40B2658B_d0e231164_href.png" placement="inline"/>
+<image href="GUID-14B9B9FB-E7E4-5C28-9821-52EE40B2658B_d0e237159_href.png" placement="inline"/>
 </fig> <table id="GUID-E5A15E7E-2999-5474-A619-26EA8ABD1C37">
 <tgroup cols="2"><colspec colname="COLSPEC12" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -671,7 +671,7 @@
 4 bits. </p> <fig id="GUID-928A9FD2-2C6F-5DF3-8514-2FB4F85E92EA">
 <title>              Word diagram representing the EUidPixelFormatBGRX_4444
 format            </title>
-<image href="GUID-26CE565F-900B-5141-91AE-A5976213B8BF_d0e231227_href.png" placement="inline"/>
+<image href="GUID-26CE565F-900B-5141-91AE-A5976213B8BF_d0e237222_href.png" placement="inline"/>
 </fig> <table id="GUID-8A8AB0B3-F6AC-5A00-A622-14BB723969A0">
 <tgroup cols="2"><colspec colname="COLSPEC13" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -699,7 +699,7 @@
 4 bits. </p> <fig id="GUID-104F3ABB-7663-5CEC-8CA4-6C7DD79137F0">
 <title>              Word diagram representing the EUidPixelFormatXBGR_4444
 format            </title>
-<image href="GUID-5F747E90-CB8A-5EF7-833F-E63B6A0A4402_d0e231290_href.png" placement="inline"/>
+<image href="GUID-5F747E90-CB8A-5EF7-833F-E63B6A0A4402_d0e237285_href.png" placement="inline"/>
 </fig> <table id="GUID-7920C323-04F3-5697-AEDC-B123A121FB3E">
 <tgroup cols="2"><colspec colname="COLSPEC14" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -727,7 +727,7 @@
 This format supports 65536 possible colors. One word contains 2 pixels. </p> <fig id="GUID-E29D5E5A-4A94-50A6-A992-C2861DFE4760">
 <title>              Word diagram representing the EUidPixelFormatBGR_565
 format            </title>
-<image href="GUID-45E418FA-47C0-58C6-B118-EBF8260BCC89_d0e231353_href.png" placement="inline"/>
+<image href="GUID-45E418FA-47C0-58C6-B118-EBF8260BCC89_d0e237348_href.png" placement="inline"/>
 </fig> <table id="GUID-B5CAEAB9-C18D-5A47-9436-A03A7313050C">
 <tgroup cols="2"><colspec colname="COLSPEC15" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -755,7 +755,7 @@
 occupy 3, 3 and 2 bits, respectively. </p> <fig id="GUID-BDAA8E36-6CAF-54D1-A30E-AF305B2CA8B0">
 <title>              Word diagram representing the EUidPixelFormatARGB_8332
 format            </title>
-<image href="GUID-DDEDB7CB-E0B2-5F7F-A9D9-79EFCBBFB022_d0e231418_href.png" placement="inline"/>
+<image href="GUID-DDEDB7CB-E0B2-5F7F-A9D9-79EFCBBFB022_d0e237413_href.png" placement="inline"/>
 </fig> <table id="GUID-3DC1B599-3690-5E15-8783-209093F87CDE">
 <tgroup cols="2"><colspec colname="COLSPEC16" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -783,7 +783,7 @@
 One word contains 4 bytes. </p> <fig id="GUID-727DD7A7-FA2A-5DB8-BB81-F5BA55F7B02A">
 <title>              Word diagram representing the EUidPixelFormatBGR_332
 format            </title>
-<image href="GUID-81D78B71-E108-5AA0-9058-308F1AC12754_d0e231481_href.png" placement="inline"/>
+<image href="GUID-81D78B71-E108-5AA0-9058-308F1AC12754_d0e237476_href.png" placement="inline"/>
 </fig> <table id="GUID-14F4AA5C-2619-5AF7-A4D4-9F20870106B7">
 <tgroup cols="2"><colspec colname="COLSPEC17" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -810,7 +810,7 @@
 with 8 bits of alpha. </p> <fig id="GUID-3231A844-DF52-513E-AFCB-3D805012EB85">
 <title>              Word diagram representing the EUidPixelFormatAP_88 format
            </title>
-<image href="GUID-314A8784-604E-509A-839E-38CEE280B67F_d0e231544_href.png" placement="inline"/>
+<image href="GUID-314A8784-604E-509A-839E-38CEE280B67F_d0e237539_href.png" placement="inline"/>
 </fig> <table id="GUID-3559364E-4132-5CD1-9302-BF3FEA0B47BB">
 <tgroup cols="2"><colspec colname="COLSPEC18" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -837,14 +837,14 @@
 that it has a palette. </p> <fig id="GUID-C532DCC5-AF3D-5EA5-BEF4-520A44F33B0F">
 <title>              Word diagram representing the EUidPixelFormatP_8 format
            </title>
-<image href="GUID-8FB9A16A-15B4-59C0-842B-2B70169E2E95_d0e231607_href.png" placement="inline"/>
+<image href="GUID-8FB9A16A-15B4-59C0-842B-2B70169E2E95_d0e237602_href.png" placement="inline"/>
 </fig> <p>A little-endian architecture is implicit in the code, because conversions
 are made between pointers and byte and pointers to (unsigned) integer. (This
 implies that the lower-order byte of an unsigned integer has the physically
 lower address, because this is treated as the lower-addressed pixel). </p> <fig id="GUID-C48B4F15-019E-5A5D-A2F9-D63872F71ECF">
 <title>              Pixel address layout in memory for the EUidPixelFormatP_8
 format            </title>
-<image href="GUID-B32EA1DE-5E64-5A70-8333-B9F462F25C08_d0e231618_href.png" placement="inline"/>
+<image href="GUID-B32EA1DE-5E64-5A70-8333-B9F462F25C08_d0e237613_href.png" placement="inline"/>
 </fig> <table id="GUID-288F92BD-F1FA-586F-B9E6-6D18E2FC7BB7">
 <tgroup cols="2"><colspec colname="COLSPEC19" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -871,7 +871,7 @@
 that it has a palette. </p> <fig id="GUID-064DD5AB-0698-595F-842C-10FA6D6D66B6">
 <title>              Word diagram representing the EUidPixelFormatP_4 format
            </title>
-<image href="GUID-D3B78EAF-CAE8-519D-8E70-FD51C842DC17_d0e231683_href.png" placement="inline"/>
+<image href="GUID-D3B78EAF-CAE8-519D-8E70-FD51C842DC17_d0e237678_href.png" placement="inline"/>
 </fig> <p>It is implicit in the code that pixel addresses within a byte increase
 from low bit to high bit. A little-endian architecture is also implicit, because
 conversions are made between pointers to byte and pointers to (unsigned) integer
@@ -879,7 +879,7 @@
 increase from low to high-order bit. </p> <fig id="GUID-6B813927-8E8C-55C8-805C-329ED8D7B5E7">
 <title>              Pixel address layout in memory for the EUidPixelFormatP_4
 format            </title>
-<image href="GUID-7D1886D4-24E4-528E-B3F0-2B6AF3E175AB_d0e231694_href.png" placement="inline"/>
+<image href="GUID-7D1886D4-24E4-528E-B3F0-2B6AF3E175AB_d0e237689_href.png" placement="inline"/>
 </fig> <table id="GUID-9DE2CA6A-3181-5C20-8540-57EB83116A86">
 <tgroup cols="2"><colspec colname="COLSPEC20" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -906,7 +906,7 @@
 that it has a palette. </p> <fig id="GUID-80EAC219-BDE0-53B7-BADA-CA053E6A4BA6">
 <title>              Word diagram representing the EUidPixelFormatP_2 format
            </title>
-<image href="GUID-0DE924C3-B740-515E-8B29-4BDEFDA2960B_d0e231757_href.png" placement="inline"/>
+<image href="GUID-0DE924C3-B740-515E-8B29-4BDEFDA2960B_d0e237752_href.png" placement="inline"/>
 </fig> <p>It is implicit in the code that pixel addresses within a byte increase
 from low bit to high bit. A little-endian architecture is also implicit, because
 conversions are made between pointers to byte and pointers to (unsigned) integer
@@ -914,7 +914,7 @@
 increase from low to high-order bit. </p> <fig id="GUID-27F6488B-4A9C-5DEF-B636-21B7D9EC1CF3">
 <title>              Pixel address layout in memory for the EUidPixelFormatP_2
 format            </title>
-<image href="GUID-9D182BE5-1BDA-5799-95B9-2DE25E7B3F12_d0e231768_href.png" placement="inline"/>
+<image href="GUID-9D182BE5-1BDA-5799-95B9-2DE25E7B3F12_d0e237763_href.png" placement="inline"/>
 </fig> <table id="GUID-AC40CB01-DB00-5118-A7C4-BB5C1F39C387">
 <tgroup cols="2"><colspec colname="COLSPEC21" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -941,7 +941,7 @@
 it has a palette. </p> <fig id="GUID-80570A01-C0B3-5EE3-BA10-A3648733B359">
 <title>              Word diagram representing the EUidPixelFormatP_1 format
            </title>
-<image href="GUID-0886F421-4895-5007-AAE7-0013E9FF211F_d0e231831_href.png" placement="inline"/>
+<image href="GUID-0886F421-4895-5007-AAE7-0013E9FF211F_d0e237826_href.png" placement="inline"/>
 </fig> <p>It is implicit in the code that pixel addresses within a byte increase
 from low bit to high bit. A little-endian architecture is also implicit, because
 conversions are made between pointers to byte and pointers to (unsigned) integer
@@ -949,7 +949,7 @@
 increase from low to high-order bit. </p> <fig id="GUID-6F401C6F-0B02-5A95-9D6A-DF608D2D1764">
 <title>              Pixel address layout in memory for the EUidPixelFormatP_1
 format            </title>
-<image href="GUID-14B2BA6D-EB1D-527C-BBA5-27097D47F5E1_d0e231842_href.png" placement="inline"/>
+<image href="GUID-14B2BA6D-EB1D-527C-BBA5-27097D47F5E1_d0e237837_href.png" placement="inline"/>
 </fig> <table id="GUID-F7E17FE6-FF00-5351-B948-14A6BA666CA8">
 <tgroup cols="2"><colspec colname="COLSPEC22" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
Binary file Symbian3/PDK/Source/GUID-7E7BCC57-E14F-56A4-B948-B9FB9E7AB598_d0e8953_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E7BCC57-E14F-56A4-B948-B9FB9E7AB598_d0e9075_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E801A44-4509-5AC0-88D5-7DEA1AF7969D_d0e7653_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E801A44-4509-5AC0-88D5-7DEA1AF7969D_d0e7775_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E8C363C-5908-445D-8595-D53F217186ED_d0e101841_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E8C363C-5908-445D-8595-D53F217186ED_d0e105861_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E8DA853-BE41-5C8D-B286-9F5F7992FD2C_d0e551668_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7E8DA853-BE41-5C8D-B286-9F5F7992FD2C_d0e559124_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F0EC737-F5EE-5B58-B9EB-4D8A058E3A49_d0e242547_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-7F0EC737-F5EE-5B58-B9EB-4D8A058E3A49_d0e248558_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-7F200AB2-602E-5351-8FA1-1B818F6DE355_d0e245815_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F200AB2-602E-5351-8FA1-1B818F6DE355_d0e251826_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F3F89C0-999A-552E-90BB-17D720C53DE6_d0e227935_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F3F89C0-999A-552E-90BB-17D720C53DE6_d0e233934_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F5CBA9E-1386-596D-A7FD-34AC1284F0C5_d0e229933_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F5CBA9E-1386-596D-A7FD-34AC1284F0C5_d0e235928_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7F6283C0-46E8-427C-B6A9-FB274A7D2C15.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7F6283C0-46E8-427C-B6A9-FB274A7D2C15.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,38 +12,38 @@
 <task id="GUID-7F6283C0-46E8-427C-B6A9-FB274A7D2C15" xml:lang="en"><title>Opening
 a Connection to a SNAP by specifying SNAP Type</title><shortdesc>Extended Connection Preferences API can be used by applications
 to set the SNAP type prior to establishing a connection.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-DA2ED45B-65AC-4C82-B854-67284173FAF9-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-1">       <p>Specifying
+<context id="GUID-DA2ED45B-65AC-4C82-B854-67284173FAF9-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-1">       <p>Specifying
 SNAP type enables the applications to start a connection to a specific SNAP
 (For example, Internet SNAP or Intranet SNAP) without iterating through the
 SNAP list to identify the appropriate type.</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2-1"><cmd>Connect to<xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2-1"><cmd>Connect to<xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
 <info> <codeblock xml:space="preserve">RSocketServ ss;
 ss.Connect();       </codeblock>                  </info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2-2"><cmd> Open a<xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2-2"><cmd> Open a<xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
 <info> <codeblock xml:space="preserve">RConnection conn;
 conn.Open( ss );</codeblock>                  </info>
 </step>
-<step id="GUID-DC3652D1-7EDB-4582-8B6B-117E248A1F70-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2-3"><cmd>Create a connection
+<step id="GUID-DC3652D1-7EDB-4582-8B6B-117E248A1F70-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2-3"><cmd>Create a connection
 preference list and extended connection preferences object.</cmd>
 <info> <codeblock xml:space="preserve">TConnPrefList prefList;
 TExtendedConnPref preferences;    </codeblock>                  </info>
 </step>
-<step id="GUID-3D1BD3F8-6244-45E9-AF47-C19E5667092C-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2-4"><cmd>Set the SNAP type
+<step id="GUID-3D1BD3F8-6244-45E9-AF47-C19E5667092C-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2-4"><cmd>Set the SNAP type
 using <xref href="GUID-B78E8AC0-CDC8-3DEC-AF3C-98C8994DA34A.dita#GUID-B78E8AC0-CDC8-3DEC-AF3C-98C8994DA34A/GUID-D26E7C3A-0C40-3BF1-85E4-6D28044F356B"><apiname>TExtendedConnPref::SetSnapPurpose()</apiname></xref>.</cmd>
 <info><codeblock xml:space="preserve">preferences.SetSnapPurpose( CMManager::ESnapPurposeInternet );</codeblock></info>
 </step>
-<step id="GUID-9DE0CAE0-8F0A-4197-9FC1-B045C32A817F-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2-5"><cmd>Append the extended
+<step id="GUID-9DE0CAE0-8F0A-4197-9FC1-B045C32A817F-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2-5"><cmd>Append the extended
 connection preferences into connection preference list. </cmd>
 <info><codeblock xml:space="preserve">prefList.AppendL( &amp;preferences );</codeblock></info>
 </step>
-<step id="GUID-E492622A-4410-4F2D-A4DC-C0D8A3B33F99-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-2-6"><cmd>Start a connection
+<step id="GUID-E492622A-4410-4F2D-A4DC-C0D8A3B33F99-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-2-6"><cmd>Start a connection
 with connection preferences.</cmd>
 <info><codeblock xml:space="preserve">conn.Start( prefList );</codeblock></info>
 </step>
 </steps>
-<result id="GUID-3B2081B8-6F9D-40C1-8407-0F0EB43790B5-GENID-1-12-1-16-1-1-4-1-1-5-1-1-3-1-3-3">       <p>The application
+<result id="GUID-3B2081B8-6F9D-40C1-8407-0F0EB43790B5-GENID-1-12-1-17-1-1-4-1-1-5-1-1-3-1-3-3">       <p>The application
 is connected to Internet SNAP.</p>     </result>
 </taskbody><related-links>
 <link href="GUID-3490A064-8421-4ABB-9E93-99A5565CF4D7.dita"><linktext>Additional
--- a/Symbian3/PDK/Source/GUID-7F69D3CA-6EFC-5576-A00A-F58F36696BA5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7F69D3CA-6EFC-5576-A00A-F58F36696BA5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-7F69D3CA-6EFC-5576-A00A-F58F36696BA5"><title>Data Source Modules Overview</title><shortdesc>The Data Source Modules collection contains components that enable the LBS subsystem to obtain position data. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-493D7107-739C-566D-95A6-D394B66A2FEC"><title>Purpose</title> <p>The LBS subsystem requires a source of position data. The components in the Data Source Modules collection deliver position data to the LBS subsystem. </p> </section> <section id="GUID-8E8F9F34-E957-5D3D-86E1-D27CF35D2D30"><title>Architecture</title> <p>Figure 1 shows this collection within the context of the LBS system model. </p> <fig id="GUID-2A584D1C-04DF-578E-BB12-5E06FF3980D7"><title>
              Figure 1. Data Source Modules collection in the LBS system model. 
-          </title> <image href="GUID-414338AC-D256-54AF-A504-27DAEDE800D5_d0e459649_href.png" placement="inline"/></fig> </section> <section id="GUID-375131FA-91F4-5B6B-8DD4-F281326C1566"><title>Description</title> <p>The Data Source Modules collection contains a set of components that provide position data to the LBS subsystem. </p> <p><b>Data Source Modules and the Location Server</b> </p> <p>A device creator's LBS subsystem must be built to include the <xref href="GUID-B760B3C9-26C7-528E-B699-7D374A65DF29.dita">Location Server</xref> executable: <codeph>eposserver.exe</codeph>. The components in the Data Source Modules collection are Positioning Plug-ins (PSYs) and can only be used with <codeph>eposserver.exe</codeph>. A PSY implements the <xref href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita">Positioning Plug-in (PSY) API</xref> which can be used to develop PSYs that use any positioning technology. </p> </section> <section id="GUID-8EBC7C05-5248-5551-9DA9-E742ACAB74CF"><title>Components</title> <p>The Data Source Modules collection contains the following Positioning Modules: </p> <ul><li id="GUID-AFA87FF4-7700-5A58-A7A2-C516326F1A44"><p><xref href="GUID-1B3FDBF4-4213-5242-A05C-11ADE6C1501A.dita">Simulation Positioning Module</xref>  </p> <p>The Simulation Positioning Module returns simulated position fixes that are read from a data file. </p> <p>This component is useful for application developers who want to test location aware applications in an emulator. It can also be used on hardware. </p> </li> <li id="GUID-B6A95C4F-6AF2-526E-8E2D-6FDAACCA31D5"><p><xref href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita">Bluetooth GPS Positioning Module</xref>  </p> <p>The Bluetooth GPS Positioning Module enables the LBS subsystem to use Bluetooth GPS hardware that is external to the mobile device. </p> </li> <li id="GUID-F68F5361-B2C5-5FBB-AA64-9E321FFD4D65"><p><xref href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita">Default Positioning Module</xref>  </p> <p>The Default Positioning Module is used by the Location Server variant executable <codeph>eposserver.exe</codeph> to choose a Positioning Module to use when the a client application that uses the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">LBS Location Acquisition API</xref> does not specify a preference. </p> </li> <li id="GUID-5C249A15-9E94-57CA-856A-FD2D6ED557CA"><p><xref href="GUID-ADE2ED06-A4F8-5216-A6EF-294D6B4766F7.dita">GPS/A-GPS PSY</xref>  </p> <p>The A-GPS PSY connects the Location Server to the A-GPS Location Manager. It allows the Location Server to use an A-GPS Integration Module to obtain a GPS position fix. See <xref href="GUID-8F2BA0D3-1549-5837-A105-3AB484CDB80B.dita">A-GPS Location Data Source API</xref> for information about the API that device creators use to develop an A-GPS Integration Module. </p> </li> <li id="GUID-2970190E-4032-5077-926D-493D49F03944"><p><xref href="GUID-5C01B66C-9F21-508F-A612-2ADAE1837A8A.dita">Network PSY</xref>  </p> <p>The Network PSY connects the Location Server to the Network Location Manager. It allows the Location Server to use a Network Protocol Module to obtain a cell-based position fix. See <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref> for information about the API that device creators use to develop a Network Protocol Module. </p> </li> </ul> </section> <section id="GUID-F535D0B4-A895-569B-8E39-535CA213CE58"><title>Using the Data Source Modules collection</title> <p>A Positioning Module is selected by the Location Server when a client application makes a location request. </p> <p>Each Positioning Module has a UID that can be chosen when an LBS application client application opens a session using the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>For more information about using each of the components in this collection, follow the links below to the documentation for that component. </p> </section> </conbody><related-links><link href="GUID-1B3FDBF4-4213-5242-A05C-11ADE6C1501A.dita"><linktext>Simulation
+          </title> <image href="GUID-414338AC-D256-54AF-A504-27DAEDE800D5_d0e465494_href.png" placement="inline"/></fig> </section> <section id="GUID-375131FA-91F4-5B6B-8DD4-F281326C1566"><title>Description</title> <p>The Data Source Modules collection contains a set of components that provide position data to the LBS subsystem. </p> <p><b>Data Source Modules and the Location Server</b> </p> <p>A device creator's LBS subsystem must be built to include the <xref href="GUID-B760B3C9-26C7-528E-B699-7D374A65DF29.dita">Location Server</xref> executable: <codeph>eposserver.exe</codeph>. The components in the Data Source Modules collection are Positioning Plug-ins (PSYs) and can only be used with <codeph>eposserver.exe</codeph>. A PSY implements the <xref href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita">Positioning Plug-in (PSY) API</xref> which can be used to develop PSYs that use any positioning technology. </p> </section> <section id="GUID-8EBC7C05-5248-5551-9DA9-E742ACAB74CF"><title>Components</title> <p>The Data Source Modules collection contains the following Positioning Modules: </p> <ul><li id="GUID-AFA87FF4-7700-5A58-A7A2-C516326F1A44"><p><xref href="GUID-1B3FDBF4-4213-5242-A05C-11ADE6C1501A.dita">Simulation Positioning Module</xref>  </p> <p>The Simulation Positioning Module returns simulated position fixes that are read from a data file. </p> <p>This component is useful for application developers who want to test location aware applications in an emulator. It can also be used on hardware. </p> </li> <li id="GUID-B6A95C4F-6AF2-526E-8E2D-6FDAACCA31D5"><p><xref href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita">Bluetooth GPS Positioning Module</xref>  </p> <p>The Bluetooth GPS Positioning Module enables the LBS subsystem to use Bluetooth GPS hardware that is external to the mobile device. </p> </li> <li id="GUID-F68F5361-B2C5-5FBB-AA64-9E321FFD4D65"><p><xref href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita">Default Positioning Module</xref>  </p> <p>The Default Positioning Module is used by the Location Server variant executable <codeph>eposserver.exe</codeph> to choose a Positioning Module to use when the a client application that uses the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">LBS Location Acquisition API</xref> does not specify a preference. </p> </li> <li id="GUID-5C249A15-9E94-57CA-856A-FD2D6ED557CA"><p><xref href="GUID-ADE2ED06-A4F8-5216-A6EF-294D6B4766F7.dita">GPS/A-GPS PSY</xref>  </p> <p>The A-GPS PSY connects the Location Server to the A-GPS Location Manager. It allows the Location Server to use an A-GPS Integration Module to obtain a GPS position fix. See <xref href="GUID-8F2BA0D3-1549-5837-A105-3AB484CDB80B.dita">A-GPS Location Data Source API</xref> for information about the API that device creators use to develop an A-GPS Integration Module. </p> </li> <li id="GUID-2970190E-4032-5077-926D-493D49F03944"><p><xref href="GUID-5C01B66C-9F21-508F-A612-2ADAE1837A8A.dita">Network PSY</xref>  </p> <p>The Network PSY connects the Location Server to the Network Location Manager. It allows the Location Server to use a Network Protocol Module to obtain a cell-based position fix. See <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref> for information about the API that device creators use to develop a Network Protocol Module. </p> </li> </ul> </section> <section id="GUID-F535D0B4-A895-569B-8E39-535CA213CE58"><title>Using the Data Source Modules collection</title> <p>A Positioning Module is selected by the Location Server when a client application makes a location request. </p> <p>Each Positioning Module has a UID that can be chosen when an LBS application client application opens a session using the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>For more information about using each of the components in this collection, follow the links below to the documentation for that component. </p> </section> </conbody><related-links><link href="GUID-1B3FDBF4-4213-5242-A05C-11ADE6C1501A.dita"><linktext>Simulation
                 Positioning Module</linktext> </link> <link href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita"><linktext>Bluetooth
                 GPS Positioning Module</linktext> </link> <link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
                 Positioning Module</linktext> </link> <link href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita"><linktext>Positioning
Binary file Symbian3/PDK/Source/GUID-7F7A449F-CC19-570C-A6C1-BC470256AA8C_d0e167970_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F7A449F-CC19-570C-A6C1-BC470256AA8C_d0e174063_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F8F6ABB-8F46-5486-A116-6965787BC539_d0e219745_href.png has changed
Binary file Symbian3/PDK/Source/GUID-7F8F6ABB-8F46-5486-A116-6965787BC539_d0e225765_href.png has changed
--- a/Symbian3/PDK/Source/GUID-7F9F0EB3-8F0E-55BB-9864-C80FE6FC1528.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7F9F0EB3-8F0E-55BB-9864-C80FE6FC1528"><title>How to set default STRUCT values</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Default values can be specified for struct members by using an initialiser, for example</p> <codeblock id="GUID-D22D2267-CE82-5B81-970B-EA864ABCD0CA" xml:space="preserve">STRUCT NCEDIT
- {
- WORD current;
- WORD low;
- WORD high=65535;
- }</codeblock> <p>With this specification, any <codeph>NCEDIT</codeph> resource will, by default, have a <codeph>high</codeph> member whose value is 65,535. If the <codeph>RESOURCE</codeph> statement specifies a different value, it will be used instead.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7FA5898D-8898-53CE-875E-1DE97BE02C81.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-7FA5898D-8898-53CE-875E-1DE97BE02C81"><title>prj_testextensions</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>prj_testextensions</codeph>  </p> <p> <codeph>start extension</codeph> <varname>team/sub-system/ext-template</varname>  </p> <p>[<codeph>target</codeph>  <varname>target_file_name</varname>] </p> <p>[<codeph>sources</codeph>  <varname>source_file_1 ....
-        source_file_n</varname>] </p> <p>[<codeph>dependencies</codeph>  <varname>dependency_file_1 ...
-        dependency_file_n</varname>] </p> <p>[<codeph>tool</codeph>  <varname>toolname</varname>] </p> <p>[<codeph>option</codeph>  <varname>key_1</varname> <varname>value_1</varname>] </p> <p>... </p> <p>[<codeph>option</codeph>  <varname>key_n</varname> <varname>value_n</varname>] </p> <p> <codeph>end</codeph>  </p> <p> <b>Note:</b> The value argument in the option statement is optional. </p> <p>In the <codeph>prj_testextensions</codeph> section, list the project extensions for the test programs. The options for <codeph>start extension</codeph> block are the same as those for <codeph>prj_extensions</codeph>, except that <codeph>prj_testextensions</codeph> is for test programs. </p> <p>For more information about <codeph>start extension</codeph> options, refer to <xref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita">prj_extensions</xref>. </p> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-7FB63DAA-FBFD-4485-919F-5FEFBBC53B97.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-7FB63DAA-FBFD-4485-919F-5FEFBBC53B97" xml:lang="en"><title>SMP Tools Overview</title><shortdesc>Describes the tools that are available for debugging on
+an SMP platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-E46EE0B4-87B8-4934-89CB-733E161CED1F"><title>Open
+System Trace (OST)</title><p>This tool is used to monitor the path
+of thread execution. It does this by logging of messages and variable
+values to a log file for later analysis.</p><p>For more information,
+see <xref href="GUID-1929856D-5C74-55F2-8B61-48F891A3B3BB.dita">Trace</xref> and Carbide Tools &gt; Trace in Carbide Help.</p></section>
+<section id="GUID-5D3FB1F4-4190-4395-9252-130C5D4F6029"><title>Performance
+Investigator</title><p>This tool is used to monitor the performance.
+It is very useful for detecting performance bottlenecks. It comes
+in the form of a Carbide plugin.</p><p>For more information, see<xref href="GUID-E714801A-B7A3-4240-805C-35CD202963AC.dita">How to use PI Profiler
+with PlatSim</xref>, the <xref href="http://s60wiki.nokia.com/S60Wiki/PIProfiler.dita">PI wiki</xref> and
+Performance Investigator User Guide in Carbide Help.</p></section>
+<section id="GUID-16455E57-AA10-48DA-A979-BEB4C856FC9D"><title>MemSpy</title><p>This tool is used to monitor memory usage. It is especially useful
+for detecting memory leaks.</p><p>However, the output from the present
+version of the Memory Analysis tool does not hold information about
+which CPU is accessing the memory.</p><p>For more information, see<xref href="GUID-958D9E07-D5B8-49A1-BAE2-D7421E09F566.dita">MemSpy</xref>, the <xref href="http://s60wiki.nokia.com/S60Wiki/Memspy.dita">MemSpy wiki</xref>,
+and Carbide Tools &gt; MemSpy in Carbide Help.</p></section>
+<section id="GUID-9174410A-CA3A-4B64-A603-FA94F7336FC8"><title>Standard
+Test Framework (STIF)</title><p>This is the standard test framework
+for executing large number of repetitive tests. The framework comes
+in the form of test scripts. This tool is used extensively for regression
+testing.</p><p>For more information, see the <xref href="http://s60wiki.nokia.com/S60Wiki/STIF.dita">STIF wiki</xref> and
+Carbide Tools &gt; STIF in Carbide Help.</p><note><p>This tool is for
+internal use only.</p></note></section>
+<section id="GUID-68F190E7-4E10-4DEF-8660-D93ED5B79477"><title>Crazy
+Scheduler</title><p>This tool is used to test if code will work in
+an environment where there is no thread priority. It can also be used
+to test the effect of a delay when a thread moves from one state to
+another.</p><p>For more information, see <xref href="GUID-3D5974E9-0F6C-4BBE-AD41-C405DC286C09.dita">SMP Crazy Scheduler</xref>.</p><note><p> When executing in crazy delay mode, this tool can
+slow the system down.</p></note></section>
+<section id="GUID-6BC1C33D-9349-46C4-977E-B2E2EE5A75F6"><title>Load
+Generator</title><p>This tool is used to simulate the effect of heavy
+processing on the platform.</p><p>For more information, see <xref href="GUID-70C7DC8B-9E52-406C-B990-B19CEC362E5A.dita">Load Generator</xref> and the <xref href="http://s60wiki.nokia.com/S60Wiki/Load_Generator.dita">Load Generator wiki</xref>.</p><note><p>This tool is for internal
+use only.</p></note></section>
+<section id="GUID-D6B1F2FE-2032-4748-8D52-DA6E367EBA4C"><title>External
+tools</title><p>In addition to the above tools, both Lauterbach and
+ARM produce hardware debugging tools that can be used on an SMP platform.</p></section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7FCFB114-B186-5615-9134-08612BB675EE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7FCFB114-B186-5615-9134-08612BB675EE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,45 +9,41 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-7FCFB114-B186-5615-9134-08612BB675EE" xml:lang="en"><title>tcharexample:
-TChar example</title><shortdesc>This example application demonstrates how to use <codeph>TChar</codeph>, <codeph>TCharF</codeph>, <codeph>TCharLC</codeph> and <codeph>TCharUC</codeph> classes.</shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<reference id="GUID-7FCFB114-B186-5615-9134-08612BB675EE" xml:lang="en"><title>tcharexample: TChar example</title><shortdesc>This example application demonstrates how to use <codeph>TChar</codeph>, <codeph>TCharF</codeph>, <codeph>TCharLC</codeph> and <codeph>TCharUC</codeph> classes.</shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
 <section id="GUID-5EC052E8-4E6E-4F84-8F20-46C70AA6B637"> </section>
-<section id="GUID-7ECA6815-84B4-5BA0-A73F-7E2DEBE2AFFF"><title>Purpose</title> <p> <codeph>TChar</codeph> represents
-a single character. It stores the character's value as a 32-bit unsigned integer
-and it provides various functions to manipulate the character and retrieve
-its properties. </p> <p>TChar and its derived classes can be used to represent
-Unicode values outside plane <b>0</b> (that is, Unicode values within the
-extended Unicode range from <codeph>0x10000</codeph> to <codeph>0xFFFFF</codeph>).
-This differentiates them from the related class <codeph>TText</codeph>, which
-can only be used for 16-bit Unicode character values. </p> </section>
-<section id="GUID-3615DBD7-5EEA-4548-A7A8-F183E3EF3977"><title>Class summary</title><ul>
-<li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita"><apiname>TChar</apiname></xref> - Holds a character value and provides a number
-of utility functions to manipulate it and test its properties.</p></li>
-<li><p><xref href="GUID-02D39887-4F76-3C42-B9B0-61E7AB8553C3.dita"><apiname>TCharF</apiname></xref> - Folds a specified character and provides
-functions to fold additional characters after construction of the object.</p></li>
-<li><p><xref href="GUID-08D4F858-475F-3391-B2BD-2F0DAE88298A.dita"><apiname>TCharLC</apiname></xref> - Converts a specified character to lower
-case and provides functions to convert additional characters after construction
+<section id="GUID-7ECA6815-84B4-5BA0-A73F-7E2DEBE2AFFF"><title>Purpose</title> <p> <codeph>TChar</codeph> represents a single character. It stores
+the character's value as a 32-bit unsigned integer and it provides
+various functions to manipulate the character and retrieve its properties. </p> <p>TChar and its derived classes can be used to represent Unicode
+values outside plane <b>0</b> (that is, Unicode values within the
+extended Unicode range from <codeph>0x10000</codeph> to <codeph>0xFFFFF</codeph>). This differentiates them from the related class <codeph>TText</codeph>, which can only be used for 16-bit Unicode character values. </p> </section>
+<section id="GUID-3615DBD7-5EEA-4548-A7A8-F183E3EF3977"><title>Class
+summary</title><ul>
+<li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita"><apiname>TChar</apiname></xref> - Holds a character value and provides
+a number of utility functions to manipulate it and test its properties.</p></li>
+<li><p><xref href="GUID-02D39887-4F76-3C42-B9B0-61E7AB8553C3.dita"><apiname>TCharF</apiname></xref> - Folds a specified character and
+provides functions to fold additional characters after construction
 of the object.</p></li>
-<li><p><xref href="GUID-43BDE741-3C5B-388D-BF6B-851475FB9EAE.dita"><apiname>TCharUC</apiname></xref> - Converts a specified character to upper
-case and provides functions to convert additional characters after construction
-of the object.</p></li>
+<li><p><xref href="GUID-08D4F858-475F-3391-B2BD-2F0DAE88298A.dita"><apiname>TCharLC</apiname></xref> - Converts a specified character
+to lower case and provides functions to convert additional characters
+after construction of the object.</p></li>
+<li><p><xref href="GUID-43BDE741-3C5B-388D-BF6B-851475FB9EAE.dita"><apiname>TCharUC</apiname></xref> - Converts a specified character
+to upper case and provides functions to convert additional characters
+after construction of the object.</p></li>
 </ul></section>
-<section id="GUID-A7AA11C2-9F69-4C1F-B078-789A34B78A37"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-53527143-a65f-4fee-857a-6045a2c53370.zip" scope="external">tcharexample.zip</xref>.</p><p>click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-53527143-a65f-4fee-857a-6045a2c53370.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-6F406325-07F5-59FC-845C-F248DF0DCB3A"><title>Design and
-implementation</title> <p><b>Using TChar </b> </p> <p>The example retrieves
-information about a character using: </p> <ul>
-<li id="GUID-FEED5E65-C2E9-5F95-95A5-8AE6AACC6FAC"><p>various <codeph>Is...()</codeph> functions,
-for instance its case (e.g. <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-41EB7098-6282-3C9C-9C19-1DEA3C53E8F4"><apiname>TChar::IsLower()</apiname></xref>), whether
-it is alphabetic (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-E166314C-A8BE-32B7-A4E6-95987A5CDB76"><apiname>TChar::IsAlpha()</apiname></xref>), a decimal digit (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-1AFEF873-6968-34A5-A7DF-4E303B56FC3E"><apiname>TChar::IsDigit()</apiname></xref>),
-and whether it is printable (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-A3E01D65-C348-347A-8EBA-242C9B532B3A"><apiname>TChar::IsPrint()</apiname></xref>). </p> </li>
-<li id="GUID-82028A1F-A5BC-5337-9D7A-90A9BBE35291"><p>various <codeph>Get...()</codeph> functions,
-for instance its upper, lower and title case versions, e.g. (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-D51385D5-977F-313C-966D-8015400D476F"><apiname>TChar::GetUpperCase()</apiname></xref>),
-and the character width for Chinese, Japanese and Korean characters (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-8BD67CC9-6BCE-348B-B46A-AD2DF71CD4F5"><apiname>TChar::GetCjkWidth()</apiname></xref>). </p> </li>
-<li id="GUID-6AFA657D-3CA9-5129-A359-38A9F4D377CE"><p>the <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-AF251970-9134-3F62-99E1-05A853286113"><apiname>TChar::TCharInfo</apiname></xref> struct.
-This struct holds most of the information about the character, including its
-Unicode category, and is populated by calling <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-0290D155-32E2-3240-A8E4-F31CD117BF9A"><apiname>TChar::GetInfo()</apiname></xref>. </p> </li>
-</ul> <p><b>Using TCharF, TCharLC and TCharUC </b> </p><p>Related APIs</p><ul>
+<section id="GUID-A7AA11C2-9F69-4C1F-B078-789A34B78A37"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-53527143-a65f-4fee-857a-6045a2c53370.zip" scope="external">tcharexample.zip</xref>.</p><p>click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-53527143-a65f-4fee-857a-6045a2c53370.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-6F406325-07F5-59FC-845C-F248DF0DCB3A"><title>Design
+and implementation</title> <p><b>Using TChar </b> </p> <p>The example
+retrieves information about a character using: </p> <ul>
+<li id="GUID-FEED5E65-C2E9-5F95-95A5-8AE6AACC6FAC"><p>various <codeph>Is...()</codeph> functions, for instance its case (e.g. <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-41EB7098-6282-3C9C-9C19-1DEA3C53E8F4"><apiname>TChar::IsLower()</apiname></xref>), whether it is alphabetic (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-E166314C-A8BE-32B7-A4E6-95987A5CDB76"><apiname>TChar::IsAlpha()</apiname></xref>), a decimal digit (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-1AFEF873-6968-34A5-A7DF-4E303B56FC3E"><apiname>TChar::IsDigit()</apiname></xref>), and whether
+it is printable (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-A3E01D65-C348-347A-8EBA-242C9B532B3A"><apiname>TChar::IsPrint()</apiname></xref>). </p> </li>
+<li id="GUID-82028A1F-A5BC-5337-9D7A-90A9BBE35291"><p>various <codeph>Get...()</codeph> functions, for instance its upper, lower and title
+case versions, e.g. (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-D51385D5-977F-313C-966D-8015400D476F"><apiname>TChar::GetUpperCase()</apiname></xref>), and
+the character width for Chinese, Japanese and Korean characters (<xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-8BD67CC9-6BCE-348B-B46A-AD2DF71CD4F5"><apiname>TChar::GetCjkWidth()</apiname></xref>). </p> </li>
+<li id="GUID-6AFA657D-3CA9-5129-A359-38A9F4D377CE"><p>the <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-AF251970-9134-3F62-99E1-05A853286113"><apiname>TChar::TCharInfo</apiname></xref> struct. This struct holds most of the
+information about the character, including its Unicode category, and
+is populated by calling <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-0290D155-32E2-3240-A8E4-F31CD117BF9A"><apiname>TChar::GetInfo()</apiname></xref>. </p> </li>
+</ul> <p><b>Using TCharF, TCharLC and TCharUC </b> </p><p>Related
+APIs</p><ul>
 <li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-8BD67CC9-6BCE-348B-B46A-AD2DF71CD4F5"><apiname>TChar::GetCjkWidth()</apiname></xref></p></li>
 <li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-0290D155-32E2-3240-A8E4-F31CD117BF9A"><apiname>TChar::GetInfo()</apiname></xref></p></li>
 <li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-D51385D5-977F-313C-966D-8015400D476F"><apiname>TChar::GetUpperCase()</apiname></xref></p></li>
@@ -57,28 +53,28 @@
 <li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-A3E01D65-C348-347A-8EBA-242C9B532B3A"><apiname>TChar::IsPrint()</apiname></xref></p></li>
 <li><p><xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita#GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D/GUID-AF251970-9134-3F62-99E1-05A853286113"><apiname>TChar::TCharInfo</apiname></xref> - A structure to hold information
 about a Unicode character.</p></li>
-</ul> <p> <xref href="GUID-02D39887-4F76-3C42-B9B0-61E7AB8553C3.dita"><apiname>TCharF</apiname></xref> represents a folded character. The example
-demonstrates how folding a character removes case and accent distinctions. </p> <p>The
-example also demonstrates converting characters between lower and upper case
-using <xref href="GUID-08D4F858-475F-3391-B2BD-2F0DAE88298A.dita"><apiname>TCharLC</apiname></xref> and <xref href="GUID-43BDE741-3C5B-388D-BF6B-851475FB9EAE.dita"><apiname>TCharUC</apiname></xref>. </p></section>
-<section id="GUID-5D7398C3-10AA-5A9F-A9EE-CE2C0E5D751F"><title>Building and
-configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-FC094F4A-A486-5539-AFAB-8319BCF9A762"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p> <xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-FE66EDF9-B29C-5847-828E-6399E633D131"><p>For the emulator, the
-example builds an executable called <filepath>tcharexample.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or                 urel&gt;\</filepath> folder. </p> </li>
+</ul> <p> <xref href="GUID-02D39887-4F76-3C42-B9B0-61E7AB8553C3.dita"><apiname>TCharF</apiname></xref> represents a folded character.
+The example demonstrates how folding a character removes case and
+accent distinctions. </p> <p>The example also demonstrates converting
+characters between lower and upper case using <xref href="GUID-08D4F858-475F-3391-B2BD-2F0DAE88298A.dita"><apiname>TCharLC</apiname></xref> and <xref href="GUID-43BDE741-3C5B-388D-BF6B-851475FB9EAE.dita"><apiname>TCharUC</apiname></xref>. </p></section>
+<section id="GUID-5D7398C3-10AA-5A9F-A9EE-CE2C0E5D751F"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-FC094F4A-A486-5539-AFAB-8319BCF9A762"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-FE66EDF9-B29C-5847-828E-6399E633D131"><p>For the emulator,
+the example builds an executable called <filepath>tcharexample.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or             
+   urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
-<section id="GUID-98BBBB36-DC53-5EC1-B724-1857E9C27A6F"><title>Running the
-example</title> <p>The example application displays a list of options and
-sub options to the user and takes input from the user. </p> <fig id="GUID-DE40E9EB-B045-551C-84FF-C5C116462DC2">
+<section id="GUID-98BBBB36-DC53-5EC1-B724-1857E9C27A6F"><title>Running
+the example</title> <p>The example application displays a list of
+options and sub options to the user and takes input from the user. </p> <fig id="GUID-DE40E9EB-B045-551C-84FF-C5C116462DC2">
 <title>              Screenshot for TChar example            </title>
-<image href="GUID-016704BE-DC2B-5AD3-B9BE-76A327678B38_d0e357477_href.jpg" placement="inline"/>
+<image href="GUID-016704BE-DC2B-5AD3-B9BE-76A327678B38_d0e363354_href.jpg" placement="inline"/>
 </fig> </section>
 </refbody></reference>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-7FD49142-23DC-44FC-BA7D-C11E0559C8CF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-7FD49142-23DC-44FC-BA7D-C11E0559C8CF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,16 +15,16 @@
 <context id="GUID-BC67F7E5-DAC2-4B2D-B9FE-C55CA4DBF845">       <p>Specifying
 SNAP ID enables the applications to start a connection to a specific SNAP.</p> 
   </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-4-1-1-5-1-1-4-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-4-1-3-2-1"><cmd>Connect to <xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-4-1-1-5-1-1-4-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-4-1-3-2-1"><cmd>Connect to <xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
 <info> <codeblock xml:space="preserve">RSocketServ ss;
 ss.Connect();       </codeblock>                  </info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-4-1-3-2-2"><cmd> Open a <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-4-1-3-2-2"><cmd> Open a <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
 <info> <codeblock xml:space="preserve">RConnection conn;
 conn.Open( ss );</codeblock>                 </info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-4-1-3-2-3"><cmd>Create a connection
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-4-1-3-2-3"><cmd>Create a connection
 preference list and extended connection preferences object.</cmd>
 <info> <codeblock xml:space="preserve">TConnPrefList prefList;
 TExtendedConnPref preferences;    </codeblock>                  </info>
--- a/Symbian3/PDK/Source/GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-7FF363B0-B05F-5490-8D9C-59061B905381" xml:lang="en"><title>How
-to build ROMs with variants</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A variant will define hundreds of features. Use <codeph>BUILDROM</codeph>,
-to build a ROM for a variant. BUILDROM is the unified Symbian platform ROM
-building tool. </p>
-<section id="GUID-EF11232F-498C-403B-A9BF-2EFBAF8619C5"><title>ROM building
-specifications </title><p>A variant configuration will be defined in <filepath>.var</filepath> file.
-Specify the VAR file name along with the <codeph>FEATUREVARIANT</codeph> keyword. </p><p>For
-example, if <filepath>myvar.var</filepath> is the VAR file name for variant <codeph>myvar</codeph>,
-then use: </p><codeblock id="GUID-7AA78362-82AD-5F0A-96B9-030B724A6554" xml:space="preserve">buildrom [options] –DFEATUREVARIANT=myvar &lt;obey1&gt; [&lt;obey2&gt; ...]</codeblock><p><b>Note</b>: For more information on BUILDROM, refer to <xref href="http://developer.symbian.org/wiki/index.php/BUILDROM_reference" scope="external">BUILDROM reference</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-803D895B-E22F-5ADE-9BA6-F2EB20856541_d0e653197_href.png has changed
Binary file Symbian3/PDK/Source/GUID-803D895B-E22F-5ADE-9BA6-F2EB20856541_d0e666024_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D"><title>Switching between ABI modes</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian platform natively runs on ARM processors and to build a Symbian platform application, we need a compiler based on the Application Binary Interface (ABI) for ARM Architecture. There are two versions of the ARM ABI, referred to as v1 and v2 respectively. The Symbian platform build toolchain defines a set of native build targets (<codeph>ARMV5</codeph> and <codeph>ARMV6</codeph>) that invoke ARM's RealView Compiler Tools (RVCT) to build binaries conforming to these two ABI versions. For more information on differences between ABI v1 and v2 toolchains, refer to <xref href="GUID-F21A1ABE-4844-54E2-83E0-4AD25E867A72.dita">ABIv1 to ABIv2 toolchain changes</xref>. </p> <p>From Symbian OS v9.4 onwards, the behaviour of these build targets (<codeph>ARMV5</codeph>, <codeph>ARMV5_ABIv2</codeph>, <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph>) can be changed. The following lists the behaviour of these build targets prior to, for and after Symbian OS v9.4: </p> <ul><li id="GUID-847B3C77-A11D-5DAF-8D8D-BC1D0C5C6FBA"><p>For Symbian OS v9.3 and earlier versions, the build targets used to create binaries conforming to ABI v1 and ABI v2 are <codeph>ARMV5</codeph> and <codeph>ARMV5_ABIv2</codeph> respectively, and <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph> respectively. By default, the <codeph>abld build</codeph> command will create binaries conforming to ARMV5 ABI v1. </p> </li> <li id="GUID-EDC5E30D-310C-5C5A-BBEC-CA843AD32969"><p>For Symbian OS v9.4 and later, the build targets used to create binaries conforming to ABI v2 and ABI v1 are <codeph>ARMV5</codeph> and <codeph>ARMV5_ABIv1</codeph> respectively, and <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv1</codeph> respectively. By default, the <codeph>abld build</codeph> command will create binaries conforming to ARMV5 ABI v2. </p> </li> </ul> <p>You can choose to switch between the above listed behaviours using the macro <codeph>ENABLE_ABIV2_MODE</codeph>. If you enable this macro, the behaviour of build targets <codeph>ARMV5</codeph> and <codeph>ARMV6</codeph> is changed to create binaries conforming to ABI v2 instead of ABI v1. If you want to create binaries conforming to ABI v1, use the build targets <codeph>ARMV5_ABIv1</codeph> and <codeph>ARMV6_ABIv1</codeph>. </p> <section><title> How to switch to ABI v2 mode</title> <p>To switch to ABI v2 mode from ABI v1 mode, edit the <filepath>variant.cfg</filepath> file located at <filepath>epoc32\tools\variant\</filepath> and add the macro <codeph>ENABLE_ABIV2_MODE</codeph>. </p> <p>After you add the macro to <filepath>variant.cfg</filepath> file, the following <codeph>abld</codeph> commands will create binaries conforming to ABI v2 under <filepath>epoc32\release\ARMV5\</filepath> or <filepath>epoc32\release\ARMV6\</filepath> folders: </p> <p><userinput>abld build</userinput> </p> <p><userinput>abld build ARMV5</userinput> </p> <p><userinput>abld build ARMV6</userinput> </p> <p>If you want to create binaries conforming to ABI v1 under <filepath>epoc32\release\ARMV5_ABIV1\</filepath> or <filepath>epoc32\release\ARMV6_ABIV1\</filepath> folders, use the following <codeph>abld</codeph> commands: </p> <p><userinput>abld build ARMV5_ABIV1</userinput> </p> <p><userinput>abld build ARMV6_ABIV1</userinput> </p> <p>A summary of the available build targets, their instruction set, compiler version, ABI version and their target location, after you switch to ABI v2 mode is as follows: </p> <table id="GUID-EBA0FCB5-7E80-5FF2-9A98-A5AC2ED09CB7"><tgroup cols="5"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/><tbody><row><entry><p> <b>Target name</b>  </p> </entry> <entry><p> <b>Instruction set</b>  </p> </entry> <entry><p> <b>Compiler</b>  </p> </entry> <entry><p> <b>ABI</b>  </p> </entry> <entry><p> <b>Target location</b>  </p> </entry> </row> <row><entry><p> <codeph>ARMV5</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>RVCT 2.2 Build 616 </p> </entry> <entry><p>v2 </p> </entry> <entry><p> <filepath>epoc32\release\ARMV5\</filepath>  </p> </entry> </row> <row><entry><p> <codeph>ARMV5_ABIv1</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>RVCT 2.2 Build 616 </p> </entry> <entry><p>v1 </p> </entry> <entry><p> <filepath>epoc32\release\ARMV5_ABIV1\</filepath>  </p> </entry> </row> <row><entry><p> <codeph>ARMV6</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 Build 616 </p> </entry> <entry><p>v2 </p> </entry> <entry><p> <filepath>epoc32\release\ARMV6\</filepath>  </p> </entry> </row> <row><entry><p> <codeph>ARMV6_ABIv1</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 Build 616 </p> </entry> <entry><p>v1 </p> </entry> <entry><p> <filepath>epoc32\release\ARMV6_ABIV1\</filepath>  </p> </entry> </row> <row><entry><p> <codeph>GCCE</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>GCCE </p> </entry> <entry><p>v2 </p> </entry> <entry><p> <filepath>epoc32\release\gcce\</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>How to switch to ABI v1 mode</title> <p>To switch back to ABI v1 mode from ABI v2 mode, disable the <codeph>ENABLE_ABIV2_MODE</codeph> macro. You can disable the macro either by commenting it or removing it from the <filepath>variant.cfg</filepath> file. </p> <p>After you disable the <codeph>ENABLE_ABIV2_MODE</codeph> macro, the following <codeph>abld</codeph> commands will create binaries conforming to ABI v1 under <filepath>epoc32\release\ARMV5\</filepath> or <filepath>epoc32\release\ARMV6\</filepath> folders: </p> <p><userinput>abld build</userinput> </p> <p><userinput>abld build ARMV5</userinput> </p> <p><userinput>abld build ARMV6</userinput> </p> <p>If you want to build binaries conforming to ABI v2 under <filepath>epoc32\release\ARMV5_ABIV2\</filepath> or <filepath>epoc32\release\ARMV6_ABIV2\</filepath> folders, use the following <codeph>abld</codeph> commands: </p> <p><userinput>abld build ARMV5_ABIV2</userinput> </p> <p><userinput>abld build ARMV6_ABIV2</userinput> </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-809D428D-5BF6-57FF-952D-2FDF88E50833.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-809D428D-5BF6-57FF-952D-2FDF88E50833"><title>stdcpp</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>stdcpp</codeph>  </p> <p>This keyword must be included in the project specification file (<filepath>.mmp</filepath>) to build a Symbian target (<codeph>EXE</codeph>, <codeph>DLL</codeph>, <codeph>LIB</codeph>, and so on) using the standard C++ semantics for global <codeph>new</codeph> operator. To know how the global new operator is handled in standard C++ and Symbian C++, refer to <xref href="GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita"> Standard C++ Library</xref> in the <xref href="GUID-E2DE2C6F-E071-5E88-96F1-D71DDED84609.dita">Generic Open Libraries (P.I.P.S.)</xref>. </p> <p>By default all Symbian targets use the Symbian C++ semantics for global <codeph>new</codeph> operator. </p> <p> <b>Note:</b> If an <filepath>.mmp</filepath> file includes both <codeph>stdcpp</codeph> and <codeph>nostdcpp</codeph> keywords, the build system will ignore the keywords and use the Symbian C++ semantics to build the target. </p> <section><title>See also</title> <p><xref href="GUID-D553D41C-D724-510A-A239-66CC158D6984.dita">nostdcpp</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-80E0DB93-A96A-54A8-A201-E11935418BE7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-80E0DB93-A96A-54A8-A201-E11935418BE7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 managing these multiple sequences. This means that each session object has
 a state machine object, an instance of the <xref href="GUID-022AC0FE-86EE-3908-A9F8-4A33D04A68A5.dita"><apiname>TMMCStateMachine</apiname></xref> class. </p>
 <fig id="GUID-3CD3F1EF-FB6A-5D5D-B806-75536F8DF533">
-<image href="GUID-4592D493-A47C-5622-8C03-F24FABB4381C_d0e393982_href.png" placement="inline"/>
+<image href="GUID-4592D493-A47C-5622-8C03-F24FABB4381C_d0e399835_href.png" placement="inline"/>
 </fig>
 <p>The state machine remembers the next state and child function name, and
 moves to that state as soon as control returns to the session. </p>
@@ -57,7 +57,7 @@
 not trapped at any level in the state machine hierarchy leads to the state
 machine terminating with that error value. </p> </li>
 </ul> <fig id="GUID-064C53DB-6A96-5C6D-B3CD-B40A0251EF66">
-<image href="GUID-D8911BE6-100D-588A-8E5C-A429A72AFCDA_d0e394067_href.png" placement="inline"/>
+<image href="GUID-D8911BE6-100D-588A-8E5C-A429A72AFCDA_d0e399920_href.png" placement="inline"/>
 </fig> <p>In general, the overall state of the state machine reflects the
 state of the current state entry; for example, <xref href="GUID-E32D6BC3-F8D9-3F7E-94F6-56633B645D6A.dita#GUID-E32D6BC3-F8D9-3F7E-94F6-56633B645D6A/GUID-48F37107-2D11-3550-890B-D79844A97DBF"><apiname>TMMCStatemachine::State()</apiname></xref> returns
 the state held in the current state entry. </p> <p>While the flow of control
@@ -66,7 +66,7 @@
 is handled by the function <codeph>PF()</codeph>. The code decides to pass
 control to the child function <codeph>CF()</codeph>, but ensures that, on
 completion, the next state in the current stack entry will be <codeph>Sn+1</codeph>. </p> <fig id="GUID-6ACBC49E-14EE-526B-A1A3-426B64BF8476">
-<image href="GUID-D2D41326-BA88-5A02-805B-5EAEC29ADB5D_d0e394094_href.png" placement="inline"/>
+<image href="GUID-D2D41326-BA88-5A02-805B-5EAEC29ADB5D_d0e399947_href.png" placement="inline"/>
 </fig> <p>For example, the <xref href="GUID-B5193656-9819-3E00-A335-EEF1726115A5.dita#GUID-B5193656-9819-3E00-A335-EEF1726115A5/GUID-F71A4421-2F9E-39FD-A352-97ECAAFE822D"><apiname>DMMCStack::CIMUpdateAcqSM()</apiname></xref> function
 implements the CIM_UPDATE_ACQ macro as defined by the <i>MultiMediaCard System
 Specification</i>, and is a typical state machine function. </p> <p>Most commands
@@ -231,6 +231,6 @@
 where the card is not yet selected. Note that the lowest level state machine
 function called is <codeph>IssueMMCCommandSM()</codeph>, which is implemented
 by the base port. </p> <fig id="GUID-A67E1B8E-322A-5AC8-9EEA-AC24C8868E81">
-<image href="GUID-A51C3E48-3ED0-519B-A128-C5175D7E175B_d0e394493_href.png" placement="inline"/>
+<image href="GUID-A51C3E48-3ED0-519B-A128-C5175D7E175B_d0e400346_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-80E8BA3A-FDF3-50A5-BF44-181C40C31F09.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-80E8BA3A-FDF3-50A5-BF44-181C40C31F09.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,5 +9,5 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-80E8BA3A-FDF3-50A5-BF44-181C40C31F09"><title>Video Subtitle CRP Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Video Subtitle CRP component. </p> <section><title>Purpose</title> <p>The Video Subtitle CRP component is used for displaying subtitles artwork on a video window. </p> </section> <section id="GUID-845818F1-02CA-59FE-85F8-22623880759D"><title>Architectural relationship</title> <p>Video Subtitle CRP interacts with WServ Process; and Client Process interacts with Controller Process by a client thread and controller thread respectively. </p> <p>CRP is a plug-in framework provided by Window Server (WServ). WServ is the server side process which allows the artwork providers to render content to the application window within the WServ process. </p> <p>Client Process is the client side implementation of subtitle support using <xref href="GUID-42D1182F-46D8-3C78-8D3C-C1BB465FCA1F.dita"><apiname>CVideoPlayerUtility2</apiname></xref> class. </p> <p>Control Process contains Video Player Controller and Subtitle Decoder and Render to process the subtitle artwork on a video window. </p> <p>For information about Video Client API see <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref> and for Multimedia Framework see <xref href="GUID-A243699D-699C-5E45-A000-54C8DB4FF7AB.dita">Multimedia Framework Overview</xref>  </p> <p>The architectural relationship between WServ Process, Client Process and Controller Process is shown below: </p> <fig id="GUID-550B6EDC-B969-562B-BB98-313E0DC0242A"><image href="GUID-CCEE3988-C10A-538A-8107-E2636594443B_d0e533124_href.png" placement="inline"/></fig> </section> <section><title>Library summary</title> <p>The Video Subtitle CRP component consists of the following libraries: </p> <table id="GUID-28FB9055-5B69-5EFD-9479-0E93A86CE3CD"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-37F816DA-767F-30D1-B66E-177F7C40716B.dita"><apiname>subtitlegraphic.dll</apiname></xref>  </p> </entry> <entry><p>The Subtitle Graphic library is used to add subtitle CRP for MMF. For more information, see <xref href="GUID-A9803A57-BB43-53F3-97BA-3B5E91D925F0.dita">Subtitle Graphic Overview</xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The Video Subtitle CRP Component is used to add subtitle for a video. </p> </section> </conbody><related-links><link href="GUID-A9803A57-BB43-53F3-97BA-3B5E91D925F0.dita"><linktext>Subtitle Graphic Overview</linktext> </link> <link href="GUID-354240A8-2DDD-5181-9A36-9A054D239B62.dita"><linktext>Video Subtitle CRP Support From
+<concept xml:lang="en" id="GUID-80E8BA3A-FDF3-50A5-BF44-181C40C31F09"><title>Video Subtitle CRP Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Video Subtitle CRP component. </p> <section><title>Purpose</title> <p>The Video Subtitle CRP component is used for displaying subtitles artwork on a video window. </p> </section> <section id="GUID-845818F1-02CA-59FE-85F8-22623880759D"><title>Architectural relationship</title> <p>Video Subtitle CRP interacts with WServ Process; and Client Process interacts with Controller Process by a client thread and controller thread respectively. </p> <p>CRP is a plug-in framework provided by Window Server (WServ). WServ is the server side process which allows the artwork providers to render content to the application window within the WServ process. </p> <p>Client Process is the client side implementation of subtitle support using <xref href="GUID-42D1182F-46D8-3C78-8D3C-C1BB465FCA1F.dita"><apiname>CVideoPlayerUtility2</apiname></xref> class. </p> <p>Control Process contains Video Player Controller and Subtitle Decoder and Render to process the subtitle artwork on a video window. </p> <p>For information about Video Client API see <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref> and for Multimedia Framework see <xref href="GUID-A243699D-699C-5E45-A000-54C8DB4FF7AB.dita">Multimedia Framework Overview</xref>  </p> <p>The architectural relationship between WServ Process, Client Process and Controller Process is shown below: </p> <fig id="GUID-550B6EDC-B969-562B-BB98-313E0DC0242A"><image href="GUID-CCEE3988-C10A-538A-8107-E2636594443B_d0e540584_href.png" placement="inline"/></fig> </section> <section><title>Library summary</title> <p>The Video Subtitle CRP component consists of the following libraries: </p> <table id="GUID-28FB9055-5B69-5EFD-9479-0E93A86CE3CD"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-37F816DA-767F-30D1-B66E-177F7C40716B.dita"><apiname>subtitlegraphic.dll</apiname></xref>  </p> </entry> <entry><p>The Subtitle Graphic library is used to add subtitle CRP for MMF. For more information, see <xref href="GUID-A9803A57-BB43-53F3-97BA-3B5E91D925F0.dita">Subtitle Graphic Overview</xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The Video Subtitle CRP Component is used to add subtitle for a video. </p> </section> </conbody><related-links><link href="GUID-A9803A57-BB43-53F3-97BA-3B5E91D925F0.dita"><linktext>Subtitle Graphic Overview</linktext> </link> <link href="GUID-354240A8-2DDD-5181-9A36-9A054D239B62.dita"><linktext>Video Subtitle CRP Support From
                 MMF</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-80EC80E2-E197-50F7-B1FD-720A00AC3B4D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-80EC80E2-E197-50F7-B1FD-720A00AC3B4D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -126,7 +126,7 @@
 <li id="GUID-FBBF3E1B-D511-5AFB-8AE5-E996AD7CC4FC"><p> <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-D74635DE-C5D8-3A9A-ABDD-8324D8EFF460"><apiname>CCamera::CCameraVideoCaptureControl</apiname></xref>  </p> <p>It
 controls the operations related to video capture. </p> </li>
 </ul> <p>The class diagram of CCamera is shown below: </p> <fig id="GUID-E2F73C42-38F9-5EE1-B5EB-C255B42E0621">
-<image href="GUID-C1A6477D-2130-5664-A845-898212F96381_d0e498070_href.png" placement="inline"/>
+<image href="GUID-C1A6477D-2130-5664-A845-898212F96381_d0e505532_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-29660557-F0B3-4400-A482-CEEE36A7B3F4"><title>Using Onboard Ecam API</title> <p>The clients can use CCamera
 function to control and acquire image data from the camera. </p> </section>
--- a/Symbian3/PDK/Source/GUID-80F2A7AC-6E86-54F2-96F0-4417A2AEA017.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-80F2A7AC-6E86-54F2-96F0-4417A2AEA017.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 The <codeph>RMutex</codeph> object exists on the user side; the corresponding
 mutex (a DMutex object) exists on the Kernel side.</p>
 <fig id="GUID-86253ED0-C374-52C5-BF3E-463D09A3ECD3">
-<image href="GUID-8E907968-E6F8-5792-9B04-664971762FFF_d0e332203_href.png" placement="inline"/>
+<image href="GUID-8E907968-E6F8-5792-9B04-664971762FFF_d0e338175_href.png" placement="inline"/>
 </fig>
 <p>Here, code running on the user side constructs an <codeph>RMutex</codeph> and
 calls its <codeph>Create()</codeph> member function. This causes the Kernel
--- a/Symbian3/PDK/Source/GUID-80F2DEC8-152F-4681-A9D0-8EB776131313.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-80F2DEC8-152F-4681-A9D0-8EB776131313.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 functionality is called from a Symbian/S60 application, the need for conversions
 between Symbian descriptors and different string types provided by P.I.P.S.
 is needed. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-13-1-1-5-1-3-1-7-1-10-1-3-1">       <title>Symbian
+<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-14-1-1-5-1-3-1-7-1-10-1-3-1">       <title>Symbian
 descriptors and C strings compared</title>       <p>The main difference between
 Symbian descriptors and C strings is that the Symbian descriptors know how
 many characters are in a data array. A C string does not know its length,
@@ -110,7 +110,7 @@
 </tbody>
 </tgroup>
 </table>     </section>
-<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-13-1-1-5-1-3-1-7-1-10-1-3-2">       <title>How
+<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-14-1-1-5-1-3-1-7-1-10-1-3-2">       <title>How
 to convert <codeph>TBuf16</codeph> to a <codeph>char</codeph> buffer</title> 
      <p>A <codeph>TBuf16</codeph> buffer can be converted to a <codeph>char</codeph> buffer
 using the <codeph>wcstombs</codeph> API. The example below illustrates how
@@ -135,7 +135,7 @@
     return (1);
 }
 </codeblock>     </section>
-<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-13-1-1-5-1-3-1-7-1-10-1-3-3">       <title>How
+<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-14-1-1-5-1-3-1-7-1-10-1-3-3">       <title>How
 to convert <codeph>TBuf8</codeph> to <codeph>wchar_t</codeph></title>    
   <p>A <codeph>TBuf8</codeph> buffer can be converted to <codeph>wchar_t</codeph> using
 the <codeph>mbstowcs</codeph> API.</p><codeblock xml:space="preserve">#include &lt;e32base.h&gt;
@@ -159,7 +159,7 @@
      return (1);
  }
 </codeblock>     </section>
-<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-13-1-1-5-1-3-1-7-1-10-1-3-4">       <title>How
+<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-14-1-1-5-1-3-1-7-1-10-1-3-4">       <title>How
 to convert <codeph>TText16</codeph> to <codeph>char</codeph></title>     
  <p>The <codeph>wcstombs</codeph> API can be used to convert a <codeph>TText16</codeph> buffer
 to a <codeph>char</codeph> buffer. This is one of the examples of converting
@@ -184,7 +184,7 @@
    return (1);
 }
 </codeblock>     </section>
-<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-13-1-1-5-1-3-1-7-1-10-1-3-5">       <title>How
+<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-14-1-1-5-1-3-1-7-1-10-1-3-5">       <title>How
 to convert a <codeph>char</codeph> array and a <codeph>wide char</codeph> array</title> 
      <p>To use both <codeph>char</codeph> and <codeph>wide char</codeph> pointers
 or array in the program, the user must convert buffers from a <codeph>char</codeph> to
@@ -231,7 +231,7 @@
    return (1);
 }
 </codeblock>     </section>
-<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-13-1-1-5-1-3-1-7-1-10-1-3-6">       <title>How
+<section id="GUID-A6479BB3-0176-4321-8D33-1465DCCAB049-GENID-1-12-1-14-1-1-5-1-3-1-7-1-10-1-3-6">       <title>How
 to declare a <codeph>wide-char</codeph> string</title>       <p>To declare
 a <codeph>wide-char</codeph> string, prefix the string with 'L'
 [Capital L].  </p><codeblock xml:space="preserve">#include &lt;wchar.h&gt;
--- a/Symbian3/PDK/Source/GUID-8105D1FC-DFFE-59F0-A664-3DA44F002F47.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8105D1FC-DFFE-59F0-A664-3DA44F002F47.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,93 +1,90 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-8105D1FC-DFFE-59F0-A664-3DA44F002F47" xml:lang="en"><title>Enabling
-File Server Tracing</title><shortdesc>This document describes how to enable trace points in the file
-server client API (EFSRV.DLL), the file system API (*.FSY) , and/or the proxy
-drive API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-E4208794-E751-4626-A457-FB81B330AC9E"><title>Introduction</title> <p>Enabling a trace point
-results in trace data being output to the trace buffer. </p> <p>Tracing can
-be enabled or disabled (i.e. compiled in or out) at build time. By default
-file server tracing is enabled in debug builds of EFSRV.DLL and EFILE.EXE
-and disabled in release builds. To enable tracing in release builds, there
-are two options: </p> <ul>
-<li id="GUID-CE4CBA1C-D699-568D-B97D-98CD01E7ADAC"><p>replace the release
-builds of <filepath>EFSRV.DLL</filepath> /<filepath>EFILE.EXE</filepath> with
-their debug equivalents. </p> </li>
-<li id="GUID-76F59D55-BE9A-54E2-9A77-068F292334B0"><p>rebuild <filepath>EFSRV.DLL</filepath> /<filepath>EFILE.EXE</filepath> using <filepath>efsrv_instrumented.mmp</filepath> /<filepath>efile_instrumented.mmp</filepath>. </p> </li>
-</ul> <p>Tracing can also be enabled or disabled at run time or at device
-startup. For more details, see <xref href="GUID-D5984540-A411-52ED-B435-94C67F34ADD5.dita">How
-to enable tracing</xref>. </p> <p>The level of tracing required may be configured
-by selecting one or more of the primary filters and one or more of the secondary
-filters from the list below: </p> <codeblock id="GUID-DDA48DE7-651D-54D4-A3EA-81C053D5F4BC" xml:space="preserve">//Primary filters
-EPanic = 192            // to trace panics
-EError = 193            // to trace errors
-EBorder = 195,            // to trace API calls</codeblock> <codeblock id="GUID-3253FF5A-ABAC-5A2D-9CE9-D420B855FB88" xml:space="preserve">//Secondary filters
-EF32TraceUidEfsrv         =     0x100039e4 //    (268450276 in decimal)
-EF32TraceUidFileSys        =    0x10286575 //    (271082869 in decimal)
-EF32TraceUidProxyDrive    =    0x10286576 //    (271082870 in decimal)</codeblock><p> For
-more details on capturing the trace data see <xref href="GUID-71884BEF-0A49-5F56-BE26-EFFD77FA846A.dita">how
-to output traces</xref>.  </p> </section>
-<section id="GUID-AF241F65-5BCA-4BDA-9852-EF6033574A5E"><title>APIs </title> <p>The following table lists the classes to
-which the trace points have been added. It has been divided into three broad
-categories as shown below. </p> <ul>
-<li id="GUID-930F772C-DC22-5D44-92D5-1EED6CDC02A9"><p> <b>File system</b>  </p> <ul>
-<li id="GUID-938ED57F-0365-56BA-BD78-854CAE8BC344"><p> <xref href="GUID-0012B043-9FC4-3953-928E-CB6107E0486A.dita"><apiname>CFileSystem</apiname></xref>  </p> </li>
-<li id="GUID-5A54ADD0-2F79-54A2-8725-EE738F51FC5F"><p> <xref href="GUID-FADDE053-CC1C-39BC-A52D-27093041BE20.dita"><apiname>CMountCB</apiname></xref>  </p> </li>
-<li id="GUID-87CD0966-EE3B-5517-B69D-024B308EB4B1"><p> <xref href="GUID-63DF657C-434D-353D-A536-8AF9D97C8260.dita"><apiname>CFileCB</apiname></xref>  </p> </li>
-<li id="GUID-08DCCC4C-2A4B-560C-96C2-55C949086F4B"><p> <xref href="GUID-B19ADEA9-5018-3773-92BC-C16306D15043.dita"><apiname>CDirCB</apiname></xref>  </p> </li>
-<li id="GUID-901B069A-A234-5238-94C0-B88723DA0698"><p> <xref href="GUID-E0C22CEA-845F-37A2-85DE-0ACD7927FA41.dita"><apiname>CFormatCB</apiname></xref>  </p> </li>
-</ul> </li>
-<li id="GUID-54DAF9C2-385A-5C5D-B808-DD42BD96D2B2"><p> <b>Proxy drive</b>  </p> <ul>
-<li id="GUID-D082BF1C-A7F1-597D-BE7E-19FDAFE25368"><p> <xref href="GUID-F47F56E4-3754-365B-B529-53C1D2A29503.dita"><apiname>CLocalProxyDrive</apiname></xref>  </p> </li>
-<li id="GUID-7115117E-68B1-5CCB-BEAE-668CF45DE9AD"><p> <xref href="GUID-FAFF712B-2295-3907-B839-D77F052160DA.dita"><apiname>CBaseExtProxyDrive</apiname></xref>  </p> </li>
-</ul> </li>
-<li id="GUID-ABC75EC4-EBBE-5F85-AA09-A1E77B121FBC"><p> <b>File server</b>  </p> <ul>
-<li id="GUID-54E6118B-454D-50B6-8BA1-6C5A74E6A70C"><p> <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref>  </p> </li>
-<li id="GUID-E9839BE3-3F7B-54BE-A52A-ECEBC4CE7691"><p> <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref>  </p> </li>
-<li id="GUID-5D365808-C2C1-5CC3-9E69-1423C47CBCE5"><p> <xref href="GUID-12AE154F-7741-38C0-ADFE-9784FCF5E516.dita"><apiname>RDir</apiname></xref>  </p> </li>
-<li id="GUID-D4F74F2A-F919-5AB9-89EA-1C45420E4391"><p> <xref href="GUID-9D7E765B-6872-3EB9-9D5B-1503FA466EC1.dita"><apiname>RFormat</apiname></xref>  </p> </li>
-<li id="GUID-39021B3E-2F79-51A7-8158-4D08B94CCF4D"><p> <xref href="GUID-118CCC9E-C58B-3AA0-86A8-219914E7E7BC.dita"><apiname>RPlugin</apiname></xref>  </p> </li>
-<li id="GUID-264C14C5-69D3-5662-9BFD-15B7FCB22F00"><p> <xref href="GUID-82CEC14F-1479-3922-846A-9FCDB6465EF7.dita"><apiname>CFileMan</apiname></xref>  </p> </li>
-<li id="GUID-817F4158-5F9F-5D21-9FA1-42D5EC6F774F"><p> <xref href="GUID-C657AF2D-1183-3CD2-ACAF-3B0B00FC91BB.dita"><apiname>CDirScan</apiname></xref>  </p> </li>
-</ul> </li>
-</ul> <p>Trace points have been added to the public exported functions of
-the classes listed above. As an example, the code fragment below illustrates
-how the tracepoints have been added and what type of information is output
-for the Open function of the <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref> class: </p> <codeblock id="GUID-44DCCB86-9835-5A03-A17C-A78F43A58FD6" xml:space="preserve">
-EFSRV_EXPORT_C TInt RFile::Open(RFs&amp; aFs,const TDesC&amp; aName,TUint aMode)
-{
-TRACEMULT3(UTF::EBorder, UTraceModuleEfsrv::EFileOpen, MODULEUID, aFs.Handle(), aMode, aName);
-
-aMode &amp;= ~EFileBigFile;
-TInt r = CreateSubSession(aFs,EFsFileOpen,TIpcArgs(&amp;aName,aMode));
-
-TRACERET2(UTF::EBorder, UTraceModuleEfsrv::EFileOpenReturn, MODULEUID, r, SubSessionHandle());
-
-return r;
-}</codeblock> <p>A sample trace output is as shown: </p> <codeblock id="GUID-A7782683-9A99-5B9B-AD52-81CC236CB7D1" xml:space="preserve">RFile::Open() sess 0x00008000 mode 0x00000100 FileName Z:\SYS\DATA\ESTARTFILESYSTEMS.TXT</codeblock> </section>
-<section id="GUID-A46311CE-B4C4-4BE9-A698-5DC1C18D6C60"><title>Interpretation of the trace data</title> <p>Symbian does not
-currently provide a tool for decoding file server trace data (though hopefully
-this will change in the near future). The data can, however, be interpreted
-by examining the following two publicly exported header files which provides
-detail of what fields are output by each tracepoint. </p> <ul>
-<li id="GUID-3032957A-5D64-57AD-98FD-DF82D6959C10"><p> <filepath>\epoc32\include\utraceefsrv.h </filepath>  </p> </li>
-<li id="GUID-8C8C91AD-757A-5A79-861B-2686178FB154"><p> <filepath>\epoc32\include\utraceefile.h</filepath>  </p> </li>
-</ul> <p>For example: </p> <codeblock id="GUID-2B0DD8BA-5AC5-5369-8410-4A21B987D926" xml:space="preserve">
-/** @SYMTraceFormatString "RFile::Replace() sess %x mode %x FileName %*S" */
-EFileReplace</codeblock> <p>In the above example the trace record will contain
-the session <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> handle, the file open mode and the filename. </p> </section>
-</conbody><related-links>
-<link href="GUID-A3E77067-7982-5803-A274-0C8F2562B483.dita"><linktext>Unified Trace
-solution</linktext></link>
-<link href="GUID-7B477BA5-CC5B-56A2-82BC-E1BC0049FECB.dita"><linktext>Kernel Trace
-Tool Overview</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8105D1FC-DFFE-59F0-A664-3DA44F002F47" xml:lang="en"><title>Enabling File Server Tracing</title><shortdesc>This document describes how to enable trace points in the
+file server client API (EFSRV.DLL), the file system API (*.FSY) ,
+and/or the proxy drive API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-E4208794-E751-4626-A457-FB81B330AC9E"><title>Introduction</title> <p>Enabling a trace point results in trace data being output to
+the trace buffer. </p> <p>Tracing can be enabled or disabled (i.e.
+compiled in or out) at build time. By default file server tracing
+is enabled in debug builds of EFSRV.DLL and EFILE.EXE and disabled
+in release builds. To enable tracing in release builds, there are
+two options: </p> <ul>
+<li id="GUID-CE4CBA1C-D699-568D-B97D-98CD01E7ADAC"><p>replace the
+release builds of <filepath>EFSRV.DLL</filepath> /<filepath>EFILE.EXE</filepath> with their debug equivalents. </p> </li>
+<li id="GUID-76F59D55-BE9A-54E2-9A77-068F292334B0"><p>rebuild <filepath>EFSRV.DLL</filepath> /<filepath>EFILE.EXE</filepath> using <filepath>efsrv_instrumented.mmp</filepath> /<filepath>efile_instrumented.mmp</filepath>. </p> </li>
+</ul> <p>Tracing can also be enabled or disabled at run time or at
+device startup. For more information, see <b>Symbian^3 Tools Guide
+&gt; Debugging</b>. </p> <p>The level of tracing required may be configured
+by selecting one or more of the primary filters and one or more of
+the secondary filters from the list below: </p> <codeblock id="GUID-DDA48DE7-651D-54D4-A3EA-81C053D5F4BC" xml:space="preserve">//Primary filters
+EPanic = 192            // to trace panics
+EError = 193            // to trace errors
+EBorder = 195,            // to trace API calls</codeblock> <codeblock id="GUID-3253FF5A-ABAC-5A2D-9CE9-D420B855FB88" xml:space="preserve">//Secondary filters
+EF32TraceUidEfsrv         =     0x100039e4 //    (268450276 in decimal)
+EF32TraceUidFileSys        =    0x10286575 //    (271082869 in decimal)
+EF32TraceUidProxyDrive    =    0x10286576 //    (271082870 in decimal)</codeblock><p> For more information on capturing the trace data, see <b>Symbian^3
+Tools Guide &gt; Debugging</b>.  </p> </section>
+<section id="GUID-AF241F65-5BCA-4BDA-9852-EF6033574A5E"><title>APIs </title> <p>The following table lists the classes to which the trace points
+have been added. It has been divided into three broad categories as
+shown below. </p> <ul>
+<li id="GUID-930F772C-DC22-5D44-92D5-1EED6CDC02A9"><p> <b>File system</b>  </p> <ul>
+<li id="GUID-938ED57F-0365-56BA-BD78-854CAE8BC344"><p> <xref href="GUID-0012B043-9FC4-3953-928E-CB6107E0486A.dita"><apiname>CFileSystem</apiname></xref>  </p> </li>
+<li id="GUID-5A54ADD0-2F79-54A2-8725-EE738F51FC5F"><p> <xref href="GUID-FADDE053-CC1C-39BC-A52D-27093041BE20.dita"><apiname>CMountCB</apiname></xref>  </p> </li>
+<li id="GUID-87CD0966-EE3B-5517-B69D-024B308EB4B1"><p> <xref href="GUID-63DF657C-434D-353D-A536-8AF9D97C8260.dita"><apiname>CFileCB</apiname></xref>  </p> </li>
+<li id="GUID-08DCCC4C-2A4B-560C-96C2-55C949086F4B"><p> <xref href="GUID-B19ADEA9-5018-3773-92BC-C16306D15043.dita"><apiname>CDirCB</apiname></xref>  </p> </li>
+<li id="GUID-901B069A-A234-5238-94C0-B88723DA0698"><p> <xref href="GUID-E0C22CEA-845F-37A2-85DE-0ACD7927FA41.dita"><apiname>CFormatCB</apiname></xref>  </p> </li>
+</ul> </li>
+<li id="GUID-54DAF9C2-385A-5C5D-B808-DD42BD96D2B2"><p> <b>Proxy drive</b>  </p> <ul>
+<li id="GUID-D082BF1C-A7F1-597D-BE7E-19FDAFE25368"><p> <xref href="GUID-F47F56E4-3754-365B-B529-53C1D2A29503.dita"><apiname>CLocalProxyDrive</apiname></xref>  </p> </li>
+<li id="GUID-7115117E-68B1-5CCB-BEAE-668CF45DE9AD"><p> <xref href="GUID-FAFF712B-2295-3907-B839-D77F052160DA.dita"><apiname>CBaseExtProxyDrive</apiname></xref>  </p> </li>
+</ul> </li>
+<li id="GUID-ABC75EC4-EBBE-5F85-AA09-A1E77B121FBC"><p> <b>File server</b>  </p> <ul>
+<li id="GUID-54E6118B-454D-50B6-8BA1-6C5A74E6A70C"><p> <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref>  </p> </li>
+<li id="GUID-E9839BE3-3F7B-54BE-A52A-ECEBC4CE7691"><p> <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref>  </p> </li>
+<li id="GUID-5D365808-C2C1-5CC3-9E69-1423C47CBCE5"><p> <xref href="GUID-12AE154F-7741-38C0-ADFE-9784FCF5E516.dita"><apiname>RDir</apiname></xref>  </p> </li>
+<li id="GUID-D4F74F2A-F919-5AB9-89EA-1C45420E4391"><p> <xref href="GUID-9D7E765B-6872-3EB9-9D5B-1503FA466EC1.dita"><apiname>RFormat</apiname></xref>  </p> </li>
+<li id="GUID-39021B3E-2F79-51A7-8158-4D08B94CCF4D"><p> <xref href="GUID-118CCC9E-C58B-3AA0-86A8-219914E7E7BC.dita"><apiname>RPlugin</apiname></xref>  </p> </li>
+<li id="GUID-264C14C5-69D3-5662-9BFD-15B7FCB22F00"><p> <xref href="GUID-82CEC14F-1479-3922-846A-9FCDB6465EF7.dita"><apiname>CFileMan</apiname></xref>  </p> </li>
+<li id="GUID-817F4158-5F9F-5D21-9FA1-42D5EC6F774F"><p> <xref href="GUID-C657AF2D-1183-3CD2-ACAF-3B0B00FC91BB.dita"><apiname>CDirScan</apiname></xref>  </p> </li>
+</ul> </li>
+</ul> <p>Trace points have been added to the public exported functions
+of the classes listed above. As an example, the code fragment below
+illustrates how the tracepoints have been added and what type of information
+is output for the Open function of the <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref> class: </p> <codeblock id="GUID-44DCCB86-9835-5A03-A17C-A78F43A58FD6" xml:space="preserve">
+EFSRV_EXPORT_C TInt RFile::Open(RFs&amp; aFs,const TDesC&amp; aName,TUint aMode)
+{
+TRACEMULT3(UTF::EBorder, UTraceModuleEfsrv::EFileOpen, MODULEUID, aFs.Handle(), aMode, aName);
+
+aMode &amp;= ~EFileBigFile;
+TInt r = CreateSubSession(aFs,EFsFileOpen,TIpcArgs(&amp;aName,aMode));
+
+TRACERET2(UTF::EBorder, UTraceModuleEfsrv::EFileOpenReturn, MODULEUID, r, SubSessionHandle());
+
+return r;
+}</codeblock> <p>A sample trace output is as shown: </p> <codeblock id="GUID-A7782683-9A99-5B9B-AD52-81CC236CB7D1" xml:space="preserve">RFile::Open() sess 0x00008000 mode 0x00000100 FileName Z:\SYS\DATA\ESTARTFILESYSTEMS.TXT</codeblock> </section>
+<section id="GUID-A46311CE-B4C4-4BE9-A698-5DC1C18D6C60"><title>Interpretation
+of the trace data</title> <p>Symbian does not currently provide a
+tool for decoding file server trace data (though hopefully this will
+change in the near future). The data can, however, be interpreted
+by examining the following two publicly exported header files which
+provides detail of what fields are output by each tracepoint. </p> <ul>
+<li id="GUID-3032957A-5D64-57AD-98FD-DF82D6959C10"><p> <filepath>\epoc32\include\utraceefsrv.h </filepath>  </p> </li>
+<li id="GUID-8C8C91AD-757A-5A79-861B-2686178FB154"><p> <filepath>\epoc32\include\utraceefile.h</filepath>  </p> </li>
+</ul> <p>For example: </p> <codeblock id="GUID-2B0DD8BA-5AC5-5369-8410-4A21B987D926" xml:space="preserve">
+/** @SYMTraceFormatString "RFile::Replace() sess %x mode %x FileName %*S" */
+EFileReplace</codeblock> <p>In the above example the trace record
+will contain the session <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> handle, the file open
+mode and the filename. </p> </section>
+</conbody><related-links>
+<link href="GUID-7B477BA5-CC5B-56A2-82BC-E1BC0049FECB.dita"><linktext>Kernel
+Trace Tool Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C" xml:lang="en"><title>Password Based Encryption (PBE)</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e101156_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e79553_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e83751_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e92561_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e96759_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e97077_href.png has changed
Binary file Symbian3/PDK/Source/GUID-817D677C-2422-52B1-8D44-D15A0351FDC6_d0e210608_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-817D677C-2422-52B1-8D44-D15A0351FDC6_d0e216609_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36" xml:lang="en"><title>How to build GUI applications</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-81A5784D-A0C6-5108-9E7B-5D39C6743B1A_d0e318567_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81A5784D-A0C6-5108-9E7B-5D39C6743B1A_d0e324557_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-81C19443-4925-4949-8473-44370C8ACE90.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-81C19443-4925-4949-8473-44370C8ACE90" xml:lang="en"><title>Multimedia
+Concept</title><shortdesc>This section provides concept material that relates to the Multimedia
+module.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-81D78B71-E108-5AA0-9058-308F1AC12754_d0e231481_href.png has changed
Binary file Symbian3/PDK/Source/GUID-81D78B71-E108-5AA0-9058-308F1AC12754_d0e237476_href.png has changed
--- a/Symbian3/PDK/Source/GUID-81E33E18-D390-4110-8D85-1FCDA9CC311E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-81E33E18-D390-4110-8D85-1FCDA9CC311E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 provided.</p>
 <fig id="GUID-560F8557-EDD7-48A4-9068-AF8E028A4721">
 <title>Progress note</title>
-<image href="GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e87635_href.png" placement="inline"/>
+<image href="GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e91833_href.png" placement="inline"/>
 </fig>
 <section id="GUID-D8E36599-D305-4C3B-AB3D-4BF4CF1A70E7"><title>Using
 progress notes in applications</title>      <p>You can create either a basic
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-821C254A-40C6-45F9-B2F9-2CF28CAEB8CC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-821C254A-40C6-45F9-B2F9-2CF28CAEB8CC" xml:lang="en"><title>Interrupt
+Handling</title><shortdesc>Describes how interrupts are handled in the SMP environment.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>An interrupt is a signal from a hardware device or from an executable which
+causes a CPU to suspend normal execution, enter the interrupt handling state
+and jump to an interrupt handler. An interrupt handler, or ISR (interrupt
+service routine), schedules a DFC (delayed function call) on a DFC queue.</p>
+<section id="GUID-71D802FC-9A50-4BEB-8F21-497A7D04C814"><title>SMP-Safe Interrupt
+Handling</title><p>Interrupt handlers are used to implement the functionality
+of device drivers.</p><p>When a DFC executes on a unicore system, it disables
+interrupts to avoid clashing with its own ISR. </p><p>On a multicore system
+this is not sufficient to maintain data integrity. To maintain data integrity
+on an SMP system the code must:</p><ol>
+<li id="GUID-9A9C8A79-D53C-4B39-B108-86A0B04FCBE9"><p> acquire a spin lock
+on any data to be written, to block other cores from accessing the data.</p></li>
+<li id="GUID-87F5A9E5-2932-4BE8-8126-ECC1D4458476"><p>Interrupts must be disabled,
+as on unicore, before the spin lock is acquired.</p></li>
+</ol><p> Although these are conceptually two separate tasks, you use the spin
+lock API <xref href="GUID-FB1605A8-9946-364C-A649-DEF60E1F761B.dita"><apiname>TSpinLock</apiname></xref> in <filepath>nkern.h</filepath> to perform
+both tasks at the same time.</p><p>The following macros provide SMP-safe interrupt
+handling in most situations.</p><ul>
+<li><p><xref href="GUID-DBC27EF9-9C56-3FE8-B93C-BA2A74E1E6E6.dita"><apiname>__SPIN_LOCK_IRQSAVE</apiname></xref></p></li>
+<li><p><xref href="GUID-04EEFC44-C7FF-37D2-A8F1-7FBCDBAF9EE2.dita"><apiname>__SPIN_LOCK_IRQRESTORE</apiname></xref></p></li>
+</ul><p>If code using these macros is executed on a unicore system, they will
+disable interrupts in the normal way.</p><p>There are several other macros
+that can be used in the non standard situations or when you require greater
+control over the interaction of interrupt disabling and spin locks. </p><ul>
+<li><p><xref href="GUID-A6C6CADA-1552-3873-89BA-6DBDC6402FF2.dita"><apiname>__SPIN_LOCK_IRQSAVE(lock)</apiname></xref></p><p>Standard SMP-safe
+macro</p></li>
+<li><p><xref href="GUID-E7AB9188-3C0C-3267-96CF-751FD7C778EF.dita"><apiname> __SPIN_UNLOCK_IRQRESTORE(lock,irq)</apiname></xref></p><p>Standard
+SMP-safe macro</p></li>
+<li><p> <xref href="GUID-8E0151AC-1F70-35BE-9DBA-659C3054C8FA.dita"><apiname>__SPIN_FLASH_IRQRESTORE(lock,irq)</apiname></xref></p></li>
+<li><p><xref href="GUID-33E2A493-8F2F-32C1-A93C-A50F358C8126.dita"><apiname> __SPIN_LOCK(lock) __SPIN_UNLOCK(lock)</apiname></xref></p></li>
+<li><p><xref href="GUID-A9CDB15E-D435-3043-B9CA-265CC5C598DA.dita"><apiname> __SPIN_FLASH_PREEMPT(lock)</apiname></xref></p></li>
+<li><p> <xref href="GUID-5EF6D33D-998F-3BFD-95F1-478541221B35.dita"><apiname>__SPIN_LOCK_IRQ(lock)</apiname></xref></p></li>
+<li><p><xref href="GUID-F8FA6FEA-56A2-3924-BA59-8DF4B0546AC9.dita"><apiname> __SPIN_UNLOCK_IRQ(lock)</apiname></xref></p></li>
+<li><p> <xref href="GUID-E474AC45-13AE-3DE5-857C-7BE76EE084E3.dita"><apiname>__SPIN_FLASH_IRQ(lock)</apiname></xref></p></li>
+</ul><note><p> To ensure SMP Safety in Symbian^3, the kernel ensures that
+device driver, ISR and DFC are all tied to the same CPU. CPU0 has been stipulated
+for this purpose.</p></note></section>
+<example><title>Using a spin lock</title><p>In the following example, a spin
+lock protects memory being written by <codeph>DfcFun()</codeph> on CPU0 from
+corruption by <codeph>ISRFun()</codeph> running on a different core.</p><p>This
+code runs on CPU0:<codeblock xml:space="preserve">void DfcFun(TAny* aPtr)
+	{
+	…
+   irq = __SPIN_LOCK_IRQSAVE(iLock);
+   iState = EProcessed;
+   __SPIN_UNLOCK_IRQRESTORE(iLock,irq);
+
+	...
+	}
+</codeblock></p><p>This code runs on a different core:<codeblock xml:space="preserve">void ISRFun(TAny* aPtr)
+	{
+   __SPIN_LOCK(iLock);	
+	iState = EProcessing;
+	__SPIN_UNLOCK(iLock);
+	}
+</codeblock></p></example>
+<section id="GUID-8BF9726E-B8E4-4558-98A4-7163CD13774A"><title>Making your
+device driver SMP safe</title><p>Once a device driver has been migrated to
+be SMP Safe using the advice above, the mmp file of each driver's binaries
+must be updated with the keyword <keyword>SMPSAFE</keyword>. </p><p>This indicates
+to the scheduler that the kernel side threads and associated interrupts can
+be can be run and executed according to the kernel SMP policies.</p></section>
+<section id="GUID-6B58F8D8-2776-4301-8914-96F4ABECE7C8"><title>SMP Safe</title><draft-comment time="2010-01-20T13:49" translate="no">This information will be moved to a new topic dealing
+with SMP safety during 10T10. -RF</draft-comment><p>The <keyword>SMPSAFE</keyword> keyword
+should only be used if the code is proven to be SMP-Safe.</p><p>Impact of
+using the <keyword>SMPSAFE</keyword> keyword:</p><ul>
+<li><p>If your code is proven to be SMP-Safe you can identify it is such by
+inserting the <keyword>SMPSAFE</keyword> keyword into your mmp file. The kernel
+will mark your application or service as SMP-safe and use whatever processors
+are available according to the policies of that baseport.</p></li>
+<li><p>If the code is not SMP-Safe do not use the keyword. The kernel will
+run your code using the behaviours defined by the appropriate compatibility
+mode, ensuring that all threads are run on a single CPU.</p></li>
+</ul><p>There are two <i>SMP compatibility modes</i>: basic and enhanced.</p><ul>
+<li><p>In basic mode all threads in unsafe processes are set to CPU0. There
+is no chance these threads will run concurrently and therefore they are executed
+in priority order, as on a single processor system.</p></li>
+<li><p>In enhanced mode all the threads of a process are tied together in
+a thread group. Only one thread of a thread group can be run at any time,
+meaning they are executed in priority order. The benefit of the enhanced mode
+is that the entire thread group may be moved from one CPU to another as system
+resources and kernel policy demands. The default SMP compatibility mode is
+enhanced.</p></li>
+</ul><p>The decision to use basic or enhanced SMP-Safe compatibility mode
+is made at design time and assigned to the kernel iby/oby file as part of
+the baseport. Once set this can not be changed. This is an either or choice
+and therefore mutually exclusive.</p></section>
+</conbody><related-links>
+<link href="GUID-387E98B0-568D-4DBB-9A9E-616E41E96B58.dita"><linktext>SMP Overview</linktext>
+</link>
+<link href="GUID-16AB388A-ED3E-4901-857D-834072437D25.dita"><linktext>Spin Locks</linktext>
+</link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-821FEEDD-81B8-5511-AC4E-B673A96F8CB4_d0e520048_href.png has changed
Binary file Symbian3/PDK/Source/GUID-821FEEDD-81B8-5511-AC4E-B673A96F8CB4_d0e527508_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,6 +12,6 @@
 <concept xml:lang="en" id="GUID-8226320F-2F3A-575F-9950-B98C67472DAD"><title>Privacy Query and Notification Notifiers</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>  This document describes Privacy Query and Notification (Q&amp;N) Notifiers and the Privacy Query and Notification API: a framework API that licensees can use to create a notifier for LBS privacy requests. </p> <p> <i>Note that the Privacy Query and Notification API is deprecated</i>. It is documented here as it is now part of the Symbian platform LBS subsystem (it was formerly part of the S60 Privacy Framework). It is supported in Symbian LBS in order to allow licensees who have previously created Privacy Q&amp;N Notifiers for the S60 Privacy Framework to continue to use them with the Symbian LBS subsystem. </p> <p>Licensees who are developing new notifiers for LBS are encouraged to use the Symbian <xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-DC80984B-7B46-5C2D-A1EF-EDBB0983159D">LBS Privacy Notifiers</xref>. </p> <p>The Privacy Q&amp;N API depends on the <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref> and on the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref> to pass data between the notifiers and the LBS subsystem. </p> <p>See <xref href="GUID-2E565B8E-D262-5769-96E6-A532154D57E6.dita">Privacy Requests Overview</xref> for an explanation of privacy request concepts. </p> </section> <section><title>Contents</title> <ul><li id="GUID-2E6265D0-FD64-5CF2-A2FE-4508A7781F5B"><p><xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-C05316EE-C228-5CEC-B940-8EEAFDA578B1">Introduction</xref>  </p> </li> <li id="GUID-CE1623CD-ED32-5D93-88B7-09B4CC2266D5"><p><xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-ACB911D4-077C-55B4-914E-D34E4CC4E274">API description</xref>  </p> <ul><li id="GUID-CF471AD6-487E-5ECD-8E8B-BCB2457009B1"><p><xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-615C9AEE-8B20-54F7-90A9-D6F8AD0B99A4">CPosPrivacyNotifier</xref> </p> </li> </ul> </li> <li id="GUID-A12481B5-516C-5A21-9846-68B9B97FC7CA"><p><xref href="GUID-8226320F-2F3A-575F-9950-B98C67472DAD.dita#GUID-8226320F-2F3A-575F-9950-B98C67472DAD/GUID-5F8226BA-9918-52A9-97B9-6186F197A8AD">See also</xref>  </p> </li> </ul> </section> <section id="GUID-C05316EE-C228-5CEC-B940-8EEAFDA578B1"><title>Introduction</title> <p>Figure 1 shows the Privacy Q&amp;N API and related LBS subsystem components in the <xref href="GUID-A898867E-0C50-583E-979F-132504C24C9A.dita">Full LBS configuration</xref>. </p> <fig id="GUID-71DEA395-E082-5CD2-9C88-B9FC94C023BB"><title>
              Figure 1. The Privacy Q&amp;N Notifier API and related LBS subsystem
              components. 
-          </title> <image href="GUID-6EAC30BC-B8F6-5007-A672-DF1D4895599F_d0e430837_href.png" placement="inline"/></fig> </section> <section id="GUID-ACB911D4-077C-55B4-914E-D34E4CC4E274"><title>API description</title> <p>This section describes the classes of the LBS Privacy Q&amp;N Notification API. </p> <p><b>Privacy Query and Notification API class diagram </b> </p> <p>Figure 2 shows the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> class of the Privacy Q&amp;N Notifiers API. This is the only class defined in the API and is the base class for a Privacy Q&amp;N Notifier implementation. <codeph>CPosPrivacyNotifier</codeph> contains virtual methods that must be implemented by a notifier implementation in order to receive notifications of privacy requests. Figure 2 also shows the enumerated types from the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref> that are used to pass data between the LBS subsystem and a Privacy Q&amp;N Notifier. </p> <p>The Privacy Query and Notification API uses the Symbian <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref>. A notifier implementation must be wrapped in an ECOM plug-in class that contains a factory method to register the notifier with the framework. An <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref> interface can be obtained from <codeph>CPosPrivacyNotifier</codeph> that allows the notifier to be registered. This is explained in more detail in <xref href="GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5.dita#GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5/GUID-AEE162B1-706D-56E6-9703-D54D1CC29F35">How to use the Privacy Query and Notification API.</xref>  </p> <fig id="GUID-1E30EE82-3504-54D2-925D-DCFAD55333D8"><title>
+          </title> <image href="GUID-6EAC30BC-B8F6-5007-A672-DF1D4895599F_d0e436682_href.png" placement="inline"/></fig> </section> <section id="GUID-ACB911D4-077C-55B4-914E-D34E4CC4E274"><title>API description</title> <p>This section describes the classes of the LBS Privacy Q&amp;N Notification API. </p> <p><b>Privacy Query and Notification API class diagram </b> </p> <p>Figure 2 shows the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> class of the Privacy Q&amp;N Notifiers API. This is the only class defined in the API and is the base class for a Privacy Q&amp;N Notifier implementation. <codeph>CPosPrivacyNotifier</codeph> contains virtual methods that must be implemented by a notifier implementation in order to receive notifications of privacy requests. Figure 2 also shows the enumerated types from the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref> that are used to pass data between the LBS subsystem and a Privacy Q&amp;N Notifier. </p> <p>The Privacy Query and Notification API uses the Symbian <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref>. A notifier implementation must be wrapped in an ECOM plug-in class that contains a factory method to register the notifier with the framework. An <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref> interface can be obtained from <codeph>CPosPrivacyNotifier</codeph> that allows the notifier to be registered. This is explained in more detail in <xref href="GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5.dita#GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5/GUID-AEE162B1-706D-56E6-9703-D54D1CC29F35">How to use the Privacy Query and Notification API.</xref>  </p> <fig id="GUID-1E30EE82-3504-54D2-925D-DCFAD55333D8"><title>
              Figure 2. Classes and types of the Privacy Q&amp;N Notifiers. 
-          </title> <image href="GUID-CB82C5D5-5714-5F31-A24F-E2259E6E9BD6_d0e430885_href.png" placement="inline"/></fig> <p><b>Privacy Data Types classes and types </b> </p> <p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> is the only class of the API and is the base class of Privacy Q&amp;N Notifiers. It is defined in <filepath>EPos_CPosPrivacyNotifier.h</filepath>. </p> <p>The implementation UID that should be used for licensee Privacy Q&amp;N Notifiers is <codeph>KPosPrivacyNotifierImplUid</codeph> and is defined in <filepath>EPos_PrivacyNotifier.hrh</filepath>. </p> <p>The Privacy Query and Notification API classes and types have <codeph>publishedPartner</codeph> interface access. </p> <p><b>Libraries </b> </p> <p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> is packaged in <filepath>eposprvqnif.dll</filepath>. A Privacy Q&amp;N Notifier links to <filepath>eposprvqnif.lib</filepath>. It must also link to <filepath>eposprvtyp.lib</filepath> to use the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref> on which the Privacy Q&amp;N API depends. </p> <p><b>Capabilities </b> </p> <p>As for all notifiers that use the Extended Notifier Framework, the licensee notifier ECom plug-in must be built with <codeph>TrustedUI</codeph> and <codeph>ProtServ</codeph> capabilities. The capabilities are specified in the plug-in's MMP file. See <xref href="GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5.dita#GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5/GUID-AEE162B1-706D-56E6-9703-D54D1CC29F35">How to use the Privacy Query and Notification API</xref> for more details. </p> <p><b>LBS Configuration </b> </p> <p>The LBS Administration setting <codeph>KLbsSettingPrivacyHandler</codeph> must be set to <codeph>CLbsAdmin::EPrivacyHandleByAdvancedNotifier</codeph> to configure LBS to use Privacy Q&amp;N Notifiers. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> for details of how to configure this setting either through the LBS Administration API or in the LBS central repository initialisation file. </p> <p> <b>Sequential processing of privacy requests</b>  </p> <p>The LBS subsystem sends privacy requests sequentially to Privacy Notifiers. If multiple privacy requests are received how they are handled depends on the interface via which the privacy request was received: </p> <ul><li id="GUID-4B682EA4-4D4E-5DE1-B39C-EC29879A9D90"><p>Request received from a <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref>  </p> <p>A second privacy request forces LBS to cancel an outstanding privacy request (but not emergency requests). The Privacy Notifier in use for the first privacy request is cancelled. The Privacy Notifier is then restarted to handle the second privacy request. </p> </li> <li id="GUID-06FEFD8F-1639-535B-933C-D0CEB0A2A009"><p>Request received via the <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref> or the <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> <p>Privacy notification and verification requests are sent sequentially to Privacy Notifiers. A Privacy Notifier must have responded to one privacy request (or LBS must have sent a timeout response) before the next request can be sent to the notifier. The maximum number of privacy requests that can be outstanding in the LBS subsystem is defined by the LBS administration setting <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. Further requests are rejected by the LBS subsystem if the number of outstanding privacy requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. </p> </li> </ul> <p id="GUID-615C9AEE-8B20-54F7-90A9-D6F8AD0B99A4"><b>CPosPrivacyNotifier</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> is the base class for a Privacy Q&amp;N Notifier. It defines the interface between the LBS subsystem and a Privacy Q&amp;N Notifier. A licensee Privacy Q&amp;N Notifier must derive from this class. </p> <p> <b>Note that a licensee should create one single derived notifier class to handle both privacy verification requests and privacy notification requests.</b> <codeph/>  </p> <p> <codeph>CPosPrivacyNotifier</codeph> defines two types of methods: </p> <ol id="GUID-2C60765F-6317-5CB5-8CE9-EDBC9FA55FD0"><li id="GUID-94A892D7-FB2B-504A-A838-61C19BD2F7CB"><p>Pure virtual event methods that must be implemented by the Privacy Q&amp;N Notifier implementation in order to receive information from the LBS subsystem about privacy requests: </p> <ul><li id="GUID-0B38A251-9F94-5A1C-BA89-681B2207721A"><p> <codeph>CPosPrivacyNotifier::HandleNewRequestL()</codeph>  </p> </li> <li id="GUID-594DC6CA-CB9C-5440-9E53-4FF82CC6B639"><p> <codeph>CPosPrivacyNotifier::HandleRequestCancelledL()</codeph>  </p> </li> <li id="GUID-F71DCD70-6FF4-543C-8827-46DDD7D4A3E0"><p> <codeph>CPosPrivacyNotifier::HandleAllRequestsCancelled()</codeph> </p> </li> </ul> </li> <li id="GUID-E4B9B5C1-A85A-514A-BBF1-E8FFE778E06A"><p>Methods for obtaining information about a request and for responding to it. </p> </li> </ol> <p><b>Usage </b> </p> <p>A licensee creates a single Privacy Q&amp;N Notifier class that derives from <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> to handle both privacy verification requests and privacy notification requests. </p> <p><b>Implementing the virtual event methods </b> </p> <p>The following are the pure virtual event methods defined in <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> that a licensee notifier must implement. Links can be followed to API reference documentation for full descriptions of method parameters and return types. </p> <ul><li id="GUID-CBDBB056-DE90-58D4-A194-DD3B9BC8BFCC"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-33E317F9-A8C0-34AF-B17A-72D46B2E4DBD"><apiname>CPosPrivacyNotifier::HandleNewRequestL()</apiname></xref>  </p> <p>This method is called when a new privacy request is sent from the LBS subsystem to the notifier. It takes a <codeph>TPosQNRequestId</codeph> parameter that specifies the unique ID for the request. The ID can be used to identify the request in other method calls, such as to cancel the request at some later time. </p> </li> <li id="GUID-81FF507E-105B-54E9-BC45-EF8F9F4D01E5"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-3417B07B-DE69-3719-8634-B979CBA77AFE"><apiname>CPosPrivacyNotifier::HandleRequestCancelled()</apiname></xref> </p> <p>This method is called by the LBS subsystem to cancel a specified outstanding request. The method takes a <codeph>TPosQNRequestId</codeph> parameter that specifies the ID of the request to be cancelled. It is not necessary to call <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-57739A9E-F6CD-3079-8B6F-9B80AAFE4D8B"><apiname>CPosPrivacyNotifier::CompleteRequest()</apiname></xref> for a request that was cancelled by calling this method. </p> <p>When this method is called the Privacy Q&amp;N Notifier can check the reason why the request was cancelled by calling <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-54EB2437-9070-376D-8FCD-C1D4758113E6"><apiname>CPosPrivacyNotifier::CancelReason()</apiname></xref>. </p> </li> <li id="GUID-5632A47C-8574-5144-A5D2-4962C12482A9"><p> <codeph>CPosPrivacyNotifier::HandleAllRequestsCancelled()</codeph> </p> <p>This method is called by the LBS subsystem to cancel all outstanding requests. </p> </li> </ul> <p>See <xref href="GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5.dita#GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5/GUID-AEE162B1-706D-56E6-9703-D54D1CC29F35">How to use the Privacy Query and Notification API</xref> for examples of how to implement these methods. </p> <p><b>Other methods </b> </p> <p>The following is a list of the other (non pure virtual) methods defined by the Privacy Query and Notification API. Links can be followed to API reference documentation for full descriptions of the method parameters and return types. </p> <ul><li id="GUID-7F25BF0F-CC1C-5092-975A-B0CB1F443214"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-5E946C2A-0AC5-3B37-B1D7-06C73C934F48"><apiname>CPosPrivacyNotifier::NotifierBase()</apiname></xref>  </p> <p>This method returns an <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref> pointer. When a developer writes the notifier ECom plug-in wrapper class factory method, this method should be called to return an <codeph>MEikSrvNotifierBase2</codeph> pointer. </p> </li> <li id="GUID-296C9712-978D-5084-943D-3DA1F1F7EEB1"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-BB214179-0B04-33CB-82CD-AAEABE36DAA1"><apiname>CPosPrivacyNotifier::CheckClientSecureId()</apiname></xref>  </p> <p>This method should be used in a notifier implementation to check the SID of the client process that is making the request. The method takes a <xref href="GUID-E924490C-D174-3CE8-98BB-85A1D10BC90B.dita"><apiname>TSecureId</apiname></xref> parameter and compares it to the <codeph>TSecureId</codeph> of the process that is making the request. It returns true if the two are the same. </p> <p>A licensee notifier should call this method in its implementation of <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-33E317F9-A8C0-34AF-B17A-72D46B2E4DBD"><apiname>CPosPrivacyNotifier::HandleNewRequestL()</apiname></xref> as a validation check. The SID of the LBS Network Request Handler process that sends requests to the notifier is <codeph>0x10281D45</codeph>. </p> </li> <li id="GUID-2C6BF144-3686-5FE7-8AA6-A2FC6C4EE751"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-54EB2437-9070-376D-8FCD-C1D4758113E6"><apiname>CPosPrivacyNotifier::CancelReason()</apiname></xref>  </p> <p>This method can be used to check the reason why a request was cancelled. This method can be called while one of the methods <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-3417B07B-DE69-3719-8634-B979CBA77AFE"><apiname>CPosPrivacyNotifier::HandleRequestCancelled()</apiname></xref> or <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-2AFB10BF-DEAC-3BC5-B280-47BABF83A767"><apiname>CPosPrivacyNotifier::HandleAllRequestsComplete()</apiname></xref> is running. </p> <p>The return value is of type <xref href="GUID-8E445582-5821-36B3-A8FB-EE706D7C40EF.dita"><apiname>TPosVerifyCancelReason</apiname></xref> and specifies the reason why a request was cancelled. An unknown value should be treated as <xref href="GUID-A77356B9-0126-37E6-9583-6B2165E4C8F6.dita"><apiname>EPosCancelReasonNotAvailable</apiname></xref>. </p> </li> <li id="GUID-1DD588A1-0BA8-50E4-8045-09843000C85A"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-1EC8EC6A-C6BF-377E-B50A-AD8668A2EDDD"><apiname>CPosPrivacyNotifier::BaseConstructL()</apiname></xref>  </p> <p>This method must be called first in the <codeph>ConstructL()</codeph> of the licensee notifier implementation. The method takes a channel UID and a priority as parameters which are used by the Extended Notifier Framework. </p> </li> <li id="GUID-2F7BAA9F-2F94-51AE-8F25-188A79EBB67B"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4E117090-89E5-33DA-AC4B-494906B4BAF9"><apiname>CPosPrivacyNotifier::GetRequestsL()</apiname></xref>  </p> <p>This method returns a list of all of the outstanding privacy verification requests (query requests) and notification requests. </p> </li> <li id="GUID-23F97EBA-1F1A-5BFB-A1A3-B06BB9EDF182"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-5F934A37-B937-3AE4-AC1D-817D1BBA10B9"><apiname>CPosPrivacyNotifier::RequestTypeL()</apiname></xref>  </p> <p>This method is called to find out whether a request is a privacy verification request (a query request) or a notification request. If a privacy request with the specified ID does not exist, the method leaves with the error code <codeph>KErrNotFound</codeph>. </p> </li> <li id="GUID-DC8FC238-9597-5DE3-A1FE-984A3A1B273D"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-A041F06C-8A22-37D3-B634-894AFE9B7FF0"><apiname>CPosPrivacyNotifier::SetCurrentRequestL()</apiname></xref>  </p> <p>The current request is the request that is currently being handled. </p> <p>In order to read detailed information (the requesters) about a request, it must be set as current.This is achieved by calling this method. If a request with the specified ID does not exist, the method leaves with the error code <codeph>KErrNotFound</codeph>. </p> </li> <li id="GUID-BF050576-CE40-52E9-9D04-7D66B73FB740"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-2576115E-8E73-3E2C-A7CF-A978C13E3542"><apiname>CPosPrivacyNotifier::CurrentRequest()</apiname></xref>  </p> <p>This method gets the request that is set as current. If no request is set as current, or if the current request has been completed, <codeph>KPosNullQNRequestId</codeph> is returned. </p> </li> <li id="GUID-4C204154-2C45-5CD0-839C-307B51E873A5"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-73244BA6-E796-383B-BA9F-507B25AA98EA"><apiname>CPosPrivacyNotifier::QueryTimeoutStrategy()</apiname></xref>  </p> <p>For a privacy verification request, a timeout strategy may be provided. The timeout strategy specifies whether the location request will be accepted or rejected if the privacy request times out. If no timeout strategy is provided, <codeph>EPosDecisionNotAvailable</codeph> will be returned. </p> <p>Note that a timeout strategy is only available for privacy queries, never for notifications. If this method is called for a notification, it will always return <codeph>EPosDecisionNotAvailable</codeph>. </p> </li> <li id="GUID-85C3BF4D-D5CC-5A30-AEDF-4F275C78B2EC"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4EFE3E2B-92A4-3DC2-A02B-4AEE260DD682"><apiname>CPosPrivacyNotifier::RequestSource()</apiname></xref>  </p> <p>The notifier can find out the source by calling this method. The request source enumeration <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> is defined by the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref>. </p> <p>If a request source is not defined, <codeph>EPosRequestSourceNotAvailable</codeph> is be returned. </p> <p>Note that <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> may be extended in the future. Therefore, any unknown value must be treated as <codeph>EPosRequestSourceNotAvailable</codeph>. </p> </li> <li id="GUID-641A20DA-3D44-58C1-B9A8-833267B4A553"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-DDAC932E-1093-38AB-8CA6-3B2B06CC2BC0"><apiname>CPosPrivacyNotifier::LocationRequestDecision()</apiname></xref> </p> <p>This method returns whether the privacy request was accepted or rejected. </p> <p>This information is mainly used in notification requests. The request decision enumeration <xref href="GUID-5836362B-C341-311E-ABBE-D403DFA0DD62.dita"><apiname>TPosRequestDecision</apiname></xref> is defined by the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref>. </p> <p>For privacy verification queries, this method returns <codeph>EPosDecisionNotAvailable</codeph>. </p> <p>If the request decision is unknown in a notification request, <codeph>EPosDecisionNotAvailable</codeph> is returned. </p> </li> <li id="GUID-D5C1CB9F-B395-57DE-A22D-BCEFD47988B2"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-22FFC3B2-A6B9-3501-AD89-1DB31027F53C"><apiname>CPosPrivacyNotifier::NotificationReason()</apiname></xref>  </p> <p>For notification requests, this method returns the reason for notification, for example the request verification timed out. </p> <p>The notification reason enumeration <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref> is defined by the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref>. If the reason for the notification request is not provided, this method returns <codeph>EPosNotificationReasonNotAvailable</codeph>. </p> <p>Note that the notification reason enumeration <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref> may be extended in the future. Therefore, any unknown value must be treated as <codeph>EPosNotificationReasonNotAvailable</codeph>. </p> <p>If the notification reason is unknown by the notifier, the notification request should be completed with the error code <codeph>KErrNotSupported</codeph>, i.e. <codeph>CompleteRequest(KErrNotSupported)</codeph> should be called. </p> </li> <li id="GUID-E1FAD90F-22B2-5D86-A758-424E55586952"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-E9CE021E-6971-39CC-B535-4A2367E93239"><apiname>CPosPrivacyNotifier::RequestorCountL()</apiname></xref>  </p> <p>This method returns the number of requesters in the current request. A requester is a contact or service, which is the originator or a proxy for the position request. If no request is set as current, or if the current request has been completed, this method leaves with the error code <codeph>KErrNotFound</codeph>. </p> <p>Note that the requester count can be zero if there is no requestor information available. In this case, the notifier should consider showing an alternative message. </p> </li> <li id="GUID-1A5A239A-1579-5761-AC28-930B47110AC5"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-3A1AFEE8-0905-3567-A3B3-FCF0FFFEC124"><apiname>CPosPrivacyNotifier::RequestorLC()</apiname></xref>  </p> <p>This method reads information about a requester from the request that is set as current by <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-A041F06C-8A22-37D3-B634-894AFE9B7FF0"><apiname>CPosPrivacyNotifier::SetCurrentRequestL()</apiname></xref>. </p> <p>The notifier specifies which requestor to read by index. The index must be a number between 0 and RequestorCountL() – 1. If an invalid index is passed to this method, it leaves with the error code <codeph>KErrArgument</codeph>. If no request is set as current, or if the current request has been completed, this method leaves with the error code <codeph>KErrNotFound</codeph>. </p> </li> <li id="GUID-D4765257-9499-596A-A962-1761294CA105"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-57739A9E-F6CD-3079-8B6F-9B80AAFE4D8B"><apiname>CPosPrivacyNotifier::CompleteRequest()</apiname></xref>  </p> <p>The Privacy UI must call this method when a request has been handled. The ID of the privacy request to complete and the completion code are passed as input parameters. If there is no outstanding privacy request with the specified ID, the call is ignored. The completion code can be any system wide error code. </p> <p>A few completion codes have specific meanings. For query requests, the following completion codes should be noted: </p> <ul><li id="GUID-DEBCFBF7-4E2B-54FE-AC06-738513424BA4"><p> <codeph>KErrNone</codeph> if the phone user accepts the query. </p> </li> <li id="GUID-957FB682-65E6-503A-A98D-1A4D3900B425"><p> <codeph>KErrAccessDenied</codeph> if the phone user rejects the query. </p> </li> <li id="GUID-A8D9965E-6797-5454-9D16-8E9A84AA0D65"><p> <codeph>KErrTimedOut</codeph> if the query times out. The notifier should use a timer and abort it if the phone user does not respond to the dialog. </p> </li> </ul> <p>For notification requests, the following completion codes should be noted: </p> <ul><li id="GUID-506B8EB8-0592-56A4-B365-4C1E427F24CC"><p> <codeph>KErrNone</codeph> if the phone user dismisses the dialog. </p> </li> <li id="GUID-A1DF6E1E-FA71-5F37-A830-2B3EC8C055EA"><p> <codeph>KErrTimedOut</codeph> if the notification request times out. The notifier should implement a timeout if the phone user does not respond to the dialog. </p> </li> <li id="GUID-3E8145FF-8960-524C-B5F3-E23C6B3D1BC5"><p> <codeph>KErrNotSupported</codeph> if the notification reason is not known by the Privacy UI. </p> </li> </ul> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-CB82C5D5-5714-5F31-A24F-E2259E6E9BD6_d0e436730_href.png" placement="inline"/></fig> <p><b>Privacy Data Types classes and types </b> </p> <p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> is the only class of the API and is the base class of Privacy Q&amp;N Notifiers. It is defined in <filepath>EPos_CPosPrivacyNotifier.h</filepath>. </p> <p>The implementation UID that should be used for licensee Privacy Q&amp;N Notifiers is <codeph>KPosPrivacyNotifierImplUid</codeph> and is defined in <filepath>EPos_PrivacyNotifier.hrh</filepath>. </p> <p>The Privacy Query and Notification API classes and types have <codeph>publishedPartner</codeph> interface access. </p> <p><b>Libraries </b> </p> <p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> is packaged in <filepath>eposprvqnif.dll</filepath>. A Privacy Q&amp;N Notifier links to <filepath>eposprvqnif.lib</filepath>. It must also link to <filepath>eposprvtyp.lib</filepath> to use the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref> on which the Privacy Q&amp;N API depends. </p> <p><b>Capabilities </b> </p> <p>As for all notifiers that use the Extended Notifier Framework, the licensee notifier ECom plug-in must be built with <codeph>TrustedUI</codeph> and <codeph>ProtServ</codeph> capabilities. The capabilities are specified in the plug-in's MMP file. See <xref href="GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5.dita#GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5/GUID-AEE162B1-706D-56E6-9703-D54D1CC29F35">How to use the Privacy Query and Notification API</xref> for more details. </p> <p><b>LBS Configuration </b> </p> <p>The LBS Administration setting <codeph>KLbsSettingPrivacyHandler</codeph> must be set to <codeph>CLbsAdmin::EPrivacyHandleByAdvancedNotifier</codeph> to configure LBS to use Privacy Q&amp;N Notifiers. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> for details of how to configure this setting either through the LBS Administration API or in the LBS central repository initialisation file. </p> <p> <b>Sequential processing of privacy requests</b>  </p> <p>The LBS subsystem sends privacy requests sequentially to Privacy Notifiers. If multiple privacy requests are received how they are handled depends on the interface via which the privacy request was received: </p> <ul><li id="GUID-4B682EA4-4D4E-5DE1-B39C-EC29879A9D90"><p>Request received from a <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref>  </p> <p>A second privacy request forces LBS to cancel an outstanding privacy request (but not emergency requests). The Privacy Notifier in use for the first privacy request is cancelled. The Privacy Notifier is then restarted to handle the second privacy request. </p> </li> <li id="GUID-06FEFD8F-1639-535B-933C-D0CEB0A2A009"><p>Request received via the <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref> or the <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> <p>Privacy notification and verification requests are sent sequentially to Privacy Notifiers. A Privacy Notifier must have responded to one privacy request (or LBS must have sent a timeout response) before the next request can be sent to the notifier. The maximum number of privacy requests that can be outstanding in the LBS subsystem is defined by the LBS administration setting <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. Further requests are rejected by the LBS subsystem if the number of outstanding privacy requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. </p> </li> </ul> <p id="GUID-615C9AEE-8B20-54F7-90A9-D6F8AD0B99A4"><b>CPosPrivacyNotifier</b> </p> <p><b>Purpose </b> </p> <p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> is the base class for a Privacy Q&amp;N Notifier. It defines the interface between the LBS subsystem and a Privacy Q&amp;N Notifier. A licensee Privacy Q&amp;N Notifier must derive from this class. </p> <p> <b>Note that a licensee should create one single derived notifier class to handle both privacy verification requests and privacy notification requests.</b> <codeph/>  </p> <p> <codeph>CPosPrivacyNotifier</codeph> defines two types of methods: </p> <ol id="GUID-2C60765F-6317-5CB5-8CE9-EDBC9FA55FD0"><li id="GUID-94A892D7-FB2B-504A-A838-61C19BD2F7CB"><p>Pure virtual event methods that must be implemented by the Privacy Q&amp;N Notifier implementation in order to receive information from the LBS subsystem about privacy requests: </p> <ul><li id="GUID-0B38A251-9F94-5A1C-BA89-681B2207721A"><p> <codeph>CPosPrivacyNotifier::HandleNewRequestL()</codeph>  </p> </li> <li id="GUID-594DC6CA-CB9C-5440-9E53-4FF82CC6B639"><p> <codeph>CPosPrivacyNotifier::HandleRequestCancelledL()</codeph>  </p> </li> <li id="GUID-F71DCD70-6FF4-543C-8827-46DDD7D4A3E0"><p> <codeph>CPosPrivacyNotifier::HandleAllRequestsCancelled()</codeph> </p> </li> </ul> </li> <li id="GUID-E4B9B5C1-A85A-514A-BBF1-E8FFE778E06A"><p>Methods for obtaining information about a request and for responding to it. </p> </li> </ol> <p><b>Usage </b> </p> <p>A licensee creates a single Privacy Q&amp;N Notifier class that derives from <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> to handle both privacy verification requests and privacy notification requests. </p> <p><b>Implementing the virtual event methods </b> </p> <p>The following are the pure virtual event methods defined in <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita"><apiname>CPosPrivacyNotifier</apiname></xref> that a licensee notifier must implement. Links can be followed to API reference documentation for full descriptions of method parameters and return types. </p> <ul><li id="GUID-CBDBB056-DE90-58D4-A194-DD3B9BC8BFCC"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-33E317F9-A8C0-34AF-B17A-72D46B2E4DBD"><apiname>CPosPrivacyNotifier::HandleNewRequestL()</apiname></xref>  </p> <p>This method is called when a new privacy request is sent from the LBS subsystem to the notifier. It takes a <codeph>TPosQNRequestId</codeph> parameter that specifies the unique ID for the request. The ID can be used to identify the request in other method calls, such as to cancel the request at some later time. </p> </li> <li id="GUID-81FF507E-105B-54E9-BC45-EF8F9F4D01E5"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-3417B07B-DE69-3719-8634-B979CBA77AFE"><apiname>CPosPrivacyNotifier::HandleRequestCancelled()</apiname></xref> </p> <p>This method is called by the LBS subsystem to cancel a specified outstanding request. The method takes a <codeph>TPosQNRequestId</codeph> parameter that specifies the ID of the request to be cancelled. It is not necessary to call <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-57739A9E-F6CD-3079-8B6F-9B80AAFE4D8B"><apiname>CPosPrivacyNotifier::CompleteRequest()</apiname></xref> for a request that was cancelled by calling this method. </p> <p>When this method is called the Privacy Q&amp;N Notifier can check the reason why the request was cancelled by calling <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-54EB2437-9070-376D-8FCD-C1D4758113E6"><apiname>CPosPrivacyNotifier::CancelReason()</apiname></xref>. </p> </li> <li id="GUID-5632A47C-8574-5144-A5D2-4962C12482A9"><p> <codeph>CPosPrivacyNotifier::HandleAllRequestsCancelled()</codeph> </p> <p>This method is called by the LBS subsystem to cancel all outstanding requests. </p> </li> </ul> <p>See <xref href="GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5.dita#GUID-D4AB2D70-D49E-5F59-80F6-3D90F1D76BD5/GUID-AEE162B1-706D-56E6-9703-D54D1CC29F35">How to use the Privacy Query and Notification API</xref> for examples of how to implement these methods. </p> <p><b>Other methods </b> </p> <p>The following is a list of the other (non pure virtual) methods defined by the Privacy Query and Notification API. Links can be followed to API reference documentation for full descriptions of the method parameters and return types. </p> <ul><li id="GUID-7F25BF0F-CC1C-5092-975A-B0CB1F443214"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-5E946C2A-0AC5-3B37-B1D7-06C73C934F48"><apiname>CPosPrivacyNotifier::NotifierBase()</apiname></xref>  </p> <p>This method returns an <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref> pointer. When a developer writes the notifier ECom plug-in wrapper class factory method, this method should be called to return an <codeph>MEikSrvNotifierBase2</codeph> pointer. </p> </li> <li id="GUID-296C9712-978D-5084-943D-3DA1F1F7EEB1"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-BB214179-0B04-33CB-82CD-AAEABE36DAA1"><apiname>CPosPrivacyNotifier::CheckClientSecureId()</apiname></xref>  </p> <p>This method should be used in a notifier implementation to check the SID of the client process that is making the request. The method takes a <xref href="GUID-E924490C-D174-3CE8-98BB-85A1D10BC90B.dita"><apiname>TSecureId</apiname></xref> parameter and compares it to the <codeph>TSecureId</codeph> of the process that is making the request. It returns true if the two are the same. </p> <p>A licensee notifier should call this method in its implementation of <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-33E317F9-A8C0-34AF-B17A-72D46B2E4DBD"><apiname>CPosPrivacyNotifier::HandleNewRequestL()</apiname></xref> as a validation check. The SID of the LBS Network Request Handler process that sends requests to the notifier is <codeph>0x10281D45</codeph>. </p> </li> <li id="GUID-2C6BF144-3686-5FE7-8AA6-A2FC6C4EE751"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-54EB2437-9070-376D-8FCD-C1D4758113E6"><apiname>CPosPrivacyNotifier::CancelReason()</apiname></xref>  </p> <p>This method can be used to check the reason why a request was cancelled. This method can be called while one of the methods <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-3417B07B-DE69-3719-8634-B979CBA77AFE"><apiname>CPosPrivacyNotifier::HandleRequestCancelled()</apiname></xref> or <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-2AFB10BF-DEAC-3BC5-B280-47BABF83A767"><apiname>CPosPrivacyNotifier::HandleAllRequestsComplete()</apiname></xref> is running. </p> <p>The return value is of type <xref href="GUID-8E445582-5821-36B3-A8FB-EE706D7C40EF.dita"><apiname>TPosVerifyCancelReason</apiname></xref> and specifies the reason why a request was cancelled. An unknown value should be treated as <xref href="GUID-A77356B9-0126-37E6-9583-6B2165E4C8F6.dita"><apiname>EPosCancelReasonNotAvailable</apiname></xref>. </p> </li> <li id="GUID-1DD588A1-0BA8-50E4-8045-09843000C85A"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-1EC8EC6A-C6BF-377E-B50A-AD8668A2EDDD"><apiname>CPosPrivacyNotifier::BaseConstructL()</apiname></xref>  </p> <p>This method must be called first in the <codeph>ConstructL()</codeph> of the licensee notifier implementation. The method takes a channel UID and a priority as parameters which are used by the Extended Notifier Framework. </p> </li> <li id="GUID-2F7BAA9F-2F94-51AE-8F25-188A79EBB67B"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4E117090-89E5-33DA-AC4B-494906B4BAF9"><apiname>CPosPrivacyNotifier::GetRequestsL()</apiname></xref>  </p> <p>This method returns a list of all of the outstanding privacy verification requests (query requests) and notification requests. </p> </li> <li id="GUID-23F97EBA-1F1A-5BFB-A1A3-B06BB9EDF182"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-5F934A37-B937-3AE4-AC1D-817D1BBA10B9"><apiname>CPosPrivacyNotifier::RequestTypeL()</apiname></xref>  </p> <p>This method is called to find out whether a request is a privacy verification request (a query request) or a notification request. If a privacy request with the specified ID does not exist, the method leaves with the error code <codeph>KErrNotFound</codeph>. </p> </li> <li id="GUID-DC8FC238-9597-5DE3-A1FE-984A3A1B273D"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-A041F06C-8A22-37D3-B634-894AFE9B7FF0"><apiname>CPosPrivacyNotifier::SetCurrentRequestL()</apiname></xref>  </p> <p>The current request is the request that is currently being handled. </p> <p>In order to read detailed information (the requesters) about a request, it must be set as current.This is achieved by calling this method. If a request with the specified ID does not exist, the method leaves with the error code <codeph>KErrNotFound</codeph>. </p> </li> <li id="GUID-BF050576-CE40-52E9-9D04-7D66B73FB740"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-2576115E-8E73-3E2C-A7CF-A978C13E3542"><apiname>CPosPrivacyNotifier::CurrentRequest()</apiname></xref>  </p> <p>This method gets the request that is set as current. If no request is set as current, or if the current request has been completed, <codeph>KPosNullQNRequestId</codeph> is returned. </p> </li> <li id="GUID-4C204154-2C45-5CD0-839C-307B51E873A5"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-73244BA6-E796-383B-BA9F-507B25AA98EA"><apiname>CPosPrivacyNotifier::QueryTimeoutStrategy()</apiname></xref>  </p> <p>For a privacy verification request, a timeout strategy may be provided. The timeout strategy specifies whether the location request will be accepted or rejected if the privacy request times out. If no timeout strategy is provided, <codeph>EPosDecisionNotAvailable</codeph> will be returned. </p> <p>Note that a timeout strategy is only available for privacy queries, never for notifications. If this method is called for a notification, it will always return <codeph>EPosDecisionNotAvailable</codeph>. </p> </li> <li id="GUID-85C3BF4D-D5CC-5A30-AEDF-4F275C78B2EC"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-4EFE3E2B-92A4-3DC2-A02B-4AEE260DD682"><apiname>CPosPrivacyNotifier::RequestSource()</apiname></xref>  </p> <p>The notifier can find out the source by calling this method. The request source enumeration <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> is defined by the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref>. </p> <p>If a request source is not defined, <codeph>EPosRequestSourceNotAvailable</codeph> is be returned. </p> <p>Note that <xref href="GUID-B2BA5881-DCF9-305B-A192-9F90CBA6BD55.dita"><apiname>TPosRequestSource</apiname></xref> may be extended in the future. Therefore, any unknown value must be treated as <codeph>EPosRequestSourceNotAvailable</codeph>. </p> </li> <li id="GUID-641A20DA-3D44-58C1-B9A8-833267B4A553"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-DDAC932E-1093-38AB-8CA6-3B2B06CC2BC0"><apiname>CPosPrivacyNotifier::LocationRequestDecision()</apiname></xref> </p> <p>This method returns whether the privacy request was accepted or rejected. </p> <p>This information is mainly used in notification requests. The request decision enumeration <xref href="GUID-5836362B-C341-311E-ABBE-D403DFA0DD62.dita"><apiname>TPosRequestDecision</apiname></xref> is defined by the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref>. </p> <p>For privacy verification queries, this method returns <codeph>EPosDecisionNotAvailable</codeph>. </p> <p>If the request decision is unknown in a notification request, <codeph>EPosDecisionNotAvailable</codeph> is returned. </p> </li> <li id="GUID-D5C1CB9F-B395-57DE-A22D-BCEFD47988B2"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-22FFC3B2-A6B9-3501-AD89-1DB31027F53C"><apiname>CPosPrivacyNotifier::NotificationReason()</apiname></xref>  </p> <p>For notification requests, this method returns the reason for notification, for example the request verification timed out. </p> <p>The notification reason enumeration <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref> is defined by the <xref href="GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140.dita#GUID-3170E641-E3A9-58D5-82B9-391A2F5AC140/GUID-86A9DF94-B242-51D5-924A-68A0D526078B">Privacy Data Types</xref>. If the reason for the notification request is not provided, this method returns <codeph>EPosNotificationReasonNotAvailable</codeph>. </p> <p>Note that the notification reason enumeration <xref href="GUID-E4C7354B-3F7F-3279-AD6E-BA9574AD3A47.dita"><apiname>TPosNotificationReason</apiname></xref> may be extended in the future. Therefore, any unknown value must be treated as <codeph>EPosNotificationReasonNotAvailable</codeph>. </p> <p>If the notification reason is unknown by the notifier, the notification request should be completed with the error code <codeph>KErrNotSupported</codeph>, i.e. <codeph>CompleteRequest(KErrNotSupported)</codeph> should be called. </p> </li> <li id="GUID-E1FAD90F-22B2-5D86-A758-424E55586952"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-E9CE021E-6971-39CC-B535-4A2367E93239"><apiname>CPosPrivacyNotifier::RequestorCountL()</apiname></xref>  </p> <p>This method returns the number of requesters in the current request. A requester is a contact or service, which is the originator or a proxy for the position request. If no request is set as current, or if the current request has been completed, this method leaves with the error code <codeph>KErrNotFound</codeph>. </p> <p>Note that the requester count can be zero if there is no requestor information available. In this case, the notifier should consider showing an alternative message. </p> </li> <li id="GUID-1A5A239A-1579-5761-AC28-930B47110AC5"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-3A1AFEE8-0905-3567-A3B3-FCF0FFFEC124"><apiname>CPosPrivacyNotifier::RequestorLC()</apiname></xref>  </p> <p>This method reads information about a requester from the request that is set as current by <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-A041F06C-8A22-37D3-B634-894AFE9B7FF0"><apiname>CPosPrivacyNotifier::SetCurrentRequestL()</apiname></xref>. </p> <p>The notifier specifies which requestor to read by index. The index must be a number between 0 and RequestorCountL() – 1. If an invalid index is passed to this method, it leaves with the error code <codeph>KErrArgument</codeph>. If no request is set as current, or if the current request has been completed, this method leaves with the error code <codeph>KErrNotFound</codeph>. </p> </li> <li id="GUID-D4765257-9499-596A-A962-1761294CA105"><p> <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-57739A9E-F6CD-3079-8B6F-9B80AAFE4D8B"><apiname>CPosPrivacyNotifier::CompleteRequest()</apiname></xref>  </p> <p>The Privacy UI must call this method when a request has been handled. The ID of the privacy request to complete and the completion code are passed as input parameters. If there is no outstanding privacy request with the specified ID, the call is ignored. The completion code can be any system wide error code. </p> <p>A few completion codes have specific meanings. For query requests, the following completion codes should be noted: </p> <ul><li id="GUID-DEBCFBF7-4E2B-54FE-AC06-738513424BA4"><p> <codeph>KErrNone</codeph> if the phone user accepts the query. </p> </li> <li id="GUID-957FB682-65E6-503A-A98D-1A4D3900B425"><p> <codeph>KErrAccessDenied</codeph> if the phone user rejects the query. </p> </li> <li id="GUID-A8D9965E-6797-5454-9D16-8E9A84AA0D65"><p> <codeph>KErrTimedOut</codeph> if the query times out. The notifier should use a timer and abort it if the phone user does not respond to the dialog. </p> </li> </ul> <p>For notification requests, the following completion codes should be noted: </p> <ul><li id="GUID-506B8EB8-0592-56A4-B365-4C1E427F24CC"><p> <codeph>KErrNone</codeph> if the phone user dismisses the dialog. </p> </li> <li id="GUID-A1DF6E1E-FA71-5F37-A830-2B3EC8C055EA"><p> <codeph>KErrTimedOut</codeph> if the notification request times out. The notifier should implement a timeout if the phone user does not respond to the dialog. </p> </li> <li id="GUID-3E8145FF-8960-524C-B5F3-E23C6B3D1BC5"><p> <codeph>KErrNotSupported</codeph> if the notification reason is not known by the Privacy UI. </p> </li> </ul> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8255A186-C1AC-44DA-844C-1FEA029C73BC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8255A186-C1AC-44DA-844C-1FEA029C73BC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-8255A186-C1AC-44DA-844C-1FEA029C73BC" xml:lang="en"><title>Publish
-and Subscribe</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><i>Publish and Subscribe</i> has replaced System Agent and the usage
-of temporary Shared Data keys.</p>
-<p>Publish and Subscribe allows the setting, retrieving and monitoring
-of system-wide variables and provides a new inter process communication (IPC)
-mechanism for peer to peer communication between threads. Threads may have
-the role of the publisher or of the subscriber, while any thread can define
-the property to be published. The process that defines a property can specify
-access rights for both reading and writing. Rights can be defined in terms
-of either requiring a particular <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref>,
-by a process <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">Secure
-Identifier</xref>, or by a process <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC654">VID</xref>. </p>
-<p>Publish and Subscribe should be considered under any of the following
-conditions:</p>
-<ul>
-<li><p>An event should be sent simultaneously to multiple places
-over the system.</p></li>
-<li><p>Only the last value of the property is significant, not the
-intermediate values.</p></li>
-<li><p>The source of the value is not significant. The value may
-have been set by any publisher with proper rights.</p></li>
-</ul>
-<p>For more information about the use of Publish and Subscribe, see <xref href="GUID-FE910347-7CC1-5241-B443-88AD3F5A96EF.dita">Using Publish and Subscribe</xref>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8255A186-C1AC-44DA-844C-1FEA029C73BC" xml:lang="en"><title>Publish and Subscribe</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><i>Publish and Subscribe</i> has replaced System Agent and the
+usage of temporary Shared Data keys.</p>
+<p>Publish and Subscribe allows the setting, retrieving and monitoring
+of system-wide variables and provides a new inter process communication
+(IPC) mechanism for peer to peer communication between threads. Threads
+may have the role of the publisher or of the subscriber, while any
+thread can define the property to be published. The process that defines
+a property can specify access rights for both reading and writing.
+Rights can be defined in terms of either requiring a particular <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref>, by a process <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">Secure Identifier</xref>, or by a process <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC654">VID</xref>. </p>
+<p>Publish and Subscribe should be considered under any of the
+following conditions:</p>
+<ul>
+<li><p>An event should be sent simultaneously to multiple
+places over the system.</p></li>
+<li><p>Only the last value of the property is significant,
+not the intermediate values.</p></li>
+<li><p>The source of the value is not significant. The value
+may have been set by any publisher with proper rights.</p>
+</li>
+</ul>
+<p>For more information about the use of Publish and Subscribe,
+see <xref href="GUID-FE910347-7CC1-5241-B443-88AD3F5A96EF.dita">Using Publish
+and Subscribe</xref>.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-82862A69-5E86-5924-BFF0-F7655FCBFAF0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-82862A69-5E86-5924-BFF0-F7655FCBFAF0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,36 +1,33 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-82862A69-5E86-5924-BFF0-F7655FCBFAF0" xml:lang="en"><title>Contiguousness</title><shortdesc>Description of contiguous data in flat and segmented buffers.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In flat buffers, all data is contiguous. The <codeph>Ptr()</codeph> function
-always returns a pointer descriptor from the buffer position specified to
-the end of the data, and the <codeph>BackPtr()</codeph> function always returns
-a pointer descriptor from the beginning of the buffer to the buffer position
-specified.</p>
-<p>In segmented buffers, data is contained in segments and the maximum length
-of contiguous data is the granularity of the buffer. The extent of contiguous
-data contained in a segment may vary between a single byte, and the granularity,
-if the insertion and deletion pattern is arbitrary.</p>
-<p>However, the following guarantee is made: if the number of bytes inserted
-or deleted in <i>all</i> insertion and deletion operations is a multiple of
-some number <i>n</i>, and the granularity is also a multiple of this number <i>n</i>,
-then all data extents will be a multiple of <i>n</i> in length. This implies
-that the <codeph>Ptr()</codeph> function, given a buffer position which is
-a multiple of <i>n</i>, will always return a pointer descriptor referring
-to at least <i>n</i> bytes.</p>
-<p>This property of segmented descriptors is exploited by the <codeph>CArrayFixBase</codeph>, <codeph>CArrayVarBase</codeph> and <codeph>CArrayPakBase</codeph> derived array classes. In these classes, all insertion or deletion operations
-are always done in terms of the (fixed) length of data stored in the buffer.
-Therefore, the data for an individual array element is always contiguous.</p>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-2F64B579-73D3-548A-9104-16483AF77BCB.dita">Dynamic Arrays</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-82862A69-5E86-5924-BFF0-F7655FCBFAF0" xml:lang="en"><title>Contiguousness</title><shortdesc>Description of contiguous data in flat and segmented buffers.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In flat buffers, all data is contiguous. The <codeph>Ptr()</codeph> function always returns a pointer descriptor from the buffer position
+specified to the end of the data, and the <codeph>BackPtr()</codeph> function always returns a pointer descriptor from the beginning
+of the buffer to the buffer position specified.</p>
+<p>In segmented buffers, data is contained in segments and the maximum
+length of contiguous data is the granularity of the buffer. The extent
+of contiguous data contained in a segment may vary between a single
+byte, and the granularity, if the insertion and deletion pattern is
+arbitrary.</p>
+<p>However, the following guarantee is made: if the number of bytes
+inserted or deleted in <i>all</i> insertion and deletion operations
+is a multiple of some number <i>n</i>, and the granularity is also
+a multiple of this number <i>n</i>, then all data extents will be
+a multiple of <i>n</i> in length. This implies that the <codeph>Ptr()</codeph> function, given a buffer position which is a multiple of <i>n</i>, will always return a pointer descriptor referring to at least <i>n</i> bytes.</p>
+<p>This property of segmented descriptors is exploited by the <codeph>CArrayFixBase</codeph>, <codeph>CArrayVarBase</codeph> and <codeph>CArrayPakBase</codeph> derived array classes. In these classes, all
+insertion or deletion operations are always done in terms of the (fixed)
+length of data stored in the buffer. Therefore, the data for an individual
+array element is always contiguous.</p>
+</conbody><related-links>
+<link href="GUID-2F64B579-73D3-548A-9104-16483AF77BCB.dita">
+<linktext>Dynamic Arrays</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8290AAF0-577C-51D2-8AC1-0D37A10F45CB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8290AAF0-577C-51D2-8AC1-0D37A10F45CB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 threads and processes easy access to secure random numbers. For an overview
 of the various APIs by means of which the CSPRNG can be accessed, see <xref href="GUID-BAA558C1-8613-43A0-899E-F53DCAA68F4B.dita">APIs for Accessing Random
 Number Generator</xref>.</p> </section>
-<section id="GUID-B5BD3E1A-AFBB-5526-B5EA-8FA51A17E596-GENID-1-12-1-17-1-1-11-1-5-1-19-1-2-2"><title>Description</title> <p>The
+<section id="GUID-B5BD3E1A-AFBB-5526-B5EA-8FA51A17E596-GENID-1-12-1-18-1-1-11-1-5-1-19-1-2-2"><title>Description</title> <p>The
 CSPRNG uses Hash_DRBG algorithm to generate pseudo-random number. Hash_DRBG
 algorithm is a standard recommended by National Institute of Secure Technology
 (<xref href="http://csrc.nist.gov/publications/nistpubs/800-90/SP800-90revised_March2007.pdf" scope="external">NIST SP800-90</xref>), which uses cryptographic hash functions
Binary file Symbian3/PDK/Source/GUID-829C15B1-0769-4E90-935D-4DCA58895E81_d0e86283_href.png has changed
Binary file Symbian3/PDK/Source/GUID-829C15B1-0769-4E90-935D-4DCA58895E81_d0e90481_href.png has changed
--- a/Symbian3/PDK/Source/GUID-82B0B4B9-6BC2-5BEF-B3B0-D57AC57F8D8A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-82B0B4B9-6BC2-5BEF-B3B0-D57AC57F8D8A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 <section id="GUID-7DA9610F-B761-4328-8FA9-53A18E281538"><title>Key classes</title> <p>The following diagram shows the relationships
 between the key classes. </p> <fig id="GUID-053684EB-72B6-5D02-863D-6F24391A61B1">
 <title>              Key Graphics Resource component classes            </title>
-<image href="GUID-D20A513B-C612-5859-A551-28E1AA7FA332_d0e272425_href.png" placement="inline"/>
+<image href="GUID-D20A513B-C612-5859-A551-28E1AA7FA332_d0e278425_href.png" placement="inline"/>
 </fig> <table id="GUID-DBC2BBC9-E6B0-5DC0-B6B7-1D4186F901D2">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
--- a/Symbian3/PDK/Source/GUID-82B73D69-0176-5CBB-B3ED-5CA7F5CCD5D9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-82B73D69-0176-5CBB-B3ED-5CA7F5CCD5D9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 classes and cannot be instantiated, However, these types can be passed as
 arguments to functions. </p>
 <fig id="GUID-B76A3D70-207B-55B2-B5BC-003E6E143375">
-<image href="GUID-4BCE7915-6BF9-5D83-9049-B7FA9725B406_d0e323076_href.png" placement="inline"/>
+<image href="GUID-4BCE7915-6BF9-5D83-9049-B7FA9725B406_d0e329062_href.png" placement="inline"/>
 <p>Inheritance relationship between the concrete descriptor classes and their
 abstract base classes</p>
 </fig>
--- a/Symbian3/PDK/Source/GUID-82B8C95E-F7E7-59C2-A71A-4C882653D555.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-82B8C95E-F7E7-59C2-A71A-4C882653D555.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-82B8C95E-F7E7-59C2-A71A-4C882653D555"><title>Continuous Digital Zooming</title><shortdesc>This tutorial describes how to perform continuous digital zooming using the Ecam API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> <prereq id="GUID-18F6B6F4-909B-58C3-A6B3-014E8B4D5919-GENID-1-12-1-21-1-1-6-1-5-1-6-1-4-1-5-1-3-1"><p>Before you start you should understand the following topics: </p> <ul><li id="GUID-47B2BCC4-347A-5188-9DA4-1AF59A5E0862"><p><xref href="GUID-176913BA-3877-58E2-9E12-3606EE697813.dita">Overview</xref> of the advanced Camera settings functionality. </p> </li> <li id="GUID-A34D2CE7-2C30-5349-85D2-A51023CFBB4B"><p><xref href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Tutorial</xref> of the advanced Camera settings functionality. </p> </li> </ul> </prereq> <context id="GUID-D62D84CA-773A-5E47-90A4-2E0FDA70C818"><p>For advanced camera settings, the continuous digital zooming API provides a greater control over continuous zoom by allowing you to specify the speed and acceleration of each continuous zoom operation. The minimum speed for zooming is zero and the minimum acceleration is a negative value (which means deceleration). </p> <p>For continuous zooming, you need to provide a concrete implementation of <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>MCameraContinuousZoom</apiname></xref>. </p> </context> <steps id="GUID-C66E1385-9555-53A9-BD8B-AC2504F8725F"><step id="GUID-87E8226E-92D7-5C21-AB84-8B69B0E1D5AC"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::NewL(CCamera&amp;)</apiname></xref> to create a <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings</apiname></xref> object. </info> </step> <step id="GUID-390913F8-97B9-5306-8716-96D1A52E1584"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::GetSupportedContinuousZoomTypeL(TUint&amp;)</apiname></xref> to retrieve supported continuous zoom options for <codeph>CCameraAdvancedSettings</codeph>. </info> </step> <step id="GUID-3F3B7935-D89F-55F0-9AF4-1C38F481C856"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::CreateContinuousZoomL(MContinuousZoomObserver&amp;,
+<task xml:lang="en" id="GUID-82B8C95E-F7E7-59C2-A71A-4C882653D555"><title>Continuous Digital Zooming</title><shortdesc>This tutorial describes how to perform continuous digital zooming using the Ecam API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> <prereq id="GUID-18F6B6F4-909B-58C3-A6B3-014E8B4D5919-GENID-1-12-1-22-1-1-7-1-5-1-6-1-4-1-5-1-3-1"><p>Before you start you should understand the following topics: </p> <ul><li id="GUID-47B2BCC4-347A-5188-9DA4-1AF59A5E0862"><p><xref href="GUID-176913BA-3877-58E2-9E12-3606EE697813.dita">Overview</xref> of the advanced Camera settings functionality. </p> </li> <li id="GUID-A34D2CE7-2C30-5349-85D2-A51023CFBB4B"><p><xref href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Tutorial</xref> of the advanced Camera settings functionality. </p> </li> </ul> </prereq> <context id="GUID-D62D84CA-773A-5E47-90A4-2E0FDA70C818"><p>For advanced camera settings, the continuous digital zooming API provides a greater control over continuous zoom by allowing you to specify the speed and acceleration of each continuous zoom operation. The minimum speed for zooming is zero and the minimum acceleration is a negative value (which means deceleration). </p> <p>For continuous zooming, you need to provide a concrete implementation of <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>MCameraContinuousZoom</apiname></xref>. </p> </context> <steps id="GUID-C66E1385-9555-53A9-BD8B-AC2504F8725F"><step id="GUID-87E8226E-92D7-5C21-AB84-8B69B0E1D5AC"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::NewL(CCamera&amp;)</apiname></xref> to create a <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings</apiname></xref> object. </info> </step> <step id="GUID-390913F8-97B9-5306-8716-96D1A52E1584"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::GetSupportedContinuousZoomTypeL(TUint&amp;)</apiname></xref> to retrieve supported continuous zoom options for <codeph>CCameraAdvancedSettings</codeph>. </info> </step> <step id="GUID-3F3B7935-D89F-55F0-9AF4-1C38F481C856"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::CreateContinuousZoomL(MContinuousZoomObserver&amp;,
                 TContinuousZoomType, CCameraContinuousZoom*&amp;)</apiname></xref> to create a continuous zoom object. </info> </step> <step id="GUID-787CE611-8527-5B9E-AEE7-5434775C40EF"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraContinuousZoom::GetContinuousZoomSupportInfoL(CCameraAdvancedSettings::TContinuousZoomSupportInfo&amp;)</apiname></xref> to retrieve information about the supported settings related to continuous zoom. </info> </step> <step id="GUID-8DC3F51B-0A0E-5445-AF3B-9F2BA2CC7D99"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::StartContinuousZoomL(CCameraAdvancedSettings::TContinuousZoomParameters)</apiname></xref> to start the continuous zoom operation. </info> </step> <step id="GUID-86FCBD0A-5208-5220-9620-EF6F8B59210E"><cmd/><info>Call the <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraContinuousZoom::ContinuousZoomProgress(CCameraContinuousZoom&amp;,
                 TInt, TInt)</apiname></xref> function when a new zoom factor has achieved during the current continuous zoom operation. </info> </step> <step id="GUID-404644BF-2C4A-5051-9ABF-928A2800FE23"><cmd/><info>Call the <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::GetContinuousZoomId
                 (TInt aZoomId)</apiname></xref> function when you use more than one continuous zoom operation. This function is used to retrieve a unique ID which you can use to determine the callback function (like <codeph>ContinuousZoomProgress()</codeph> or <codeph>ContinuousZoomCompleted()</codeph>) is associated with which continuous zoom object. </info> </step> <step id="GUID-4681BA8B-30A1-5ED6-85C4-3DCA1BE237E0"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraContinuousZoom::ContinuousZoomCompleted()</apiname></xref> to inform you that the continuous zoom function has either completed successfully or to report an error that has caused the operation to fail. </info> <info>Note: This callback function does not actually stop the continuous zoom. </info> </step> <step id="GUID-B8F65783-F7FB-527D-A053-3E1A5E3321AD"><cmd/><info>Call <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCameraAdvancedSettings::StopContinuousZoom()</apiname></xref> to stop continuous zooming, if the continuous zoom function has not already completed. </info> </step> </steps> <example><title>Example</title> <p>The following example shows you how to perform continuous digital zooming using the Ecam API: </p> <codeblock id="GUID-C91D9A77-001B-5649-9B30-B0F4964C8023" xml:space="preserve">
Binary file Symbian3/PDK/Source/GUID-8300FD98-38D7-43EF-A71E-A7BEBFC3F8ED_d0e89623_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8300FD98-38D7-43EF-A71E-A7BEBFC3F8ED_d0e93821_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8305F179-8F26-4B38-8523-066D1B0B7A62_d0e283327_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8305F179-8F26-4B38-8523-066D1B0B7A62_d0e289318_href.png has changed
--- a/Symbian3/PDK/Source/GUID-830E40D0-7DEE-5EFB-BCC6-EC0AA7FF7A02.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-830E40D0-7DEE-5EFB-BCC6-EC0AA7FF7A02.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 server. <b>The client/server interface is not to be used directly by applications,
 but through framework functions in the AppUi (CCoeAppUi).</b>  </p> <fig id="GUID-DBF38DC9-0A01-532F-83E4-B0BDC5103DB7">
 <title>              View Server architecture            </title>
-<image href="GUID-347ACB44-5D07-5EA6-8751-E424A118859D_d0e171193_href.jpg" placement="inline"/>
+<image href="GUID-347ACB44-5D07-5EA6-8751-E424A118859D_d0e177261_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>Description</title> <p>The API has several key concepts: </p> <p><b>Abstract
 view interface</b> </p> <p>The abstract view interface is implemented by application
--- a/Symbian3/PDK/Source/GUID-83510B5B-9725-5272-BF51-23A089178DAC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-83510B5B-9725-5272-BF51-23A089178DAC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -53,7 +53,7 @@
 component and other key graphics components. </p> <fig id="GUID-279EBD78-304F-5B1B-8F14-655193CAAC55">
 <title>              Key OpenWF-C Support component relationships        
    </title>
-<image href="GUID-077B0CE8-FDC1-5BE9-B356-F8E545A0A53D_d0e276163_href.png" placement="inline"/>
+<image href="GUID-077B0CE8-FDC1-5BE9-B356-F8E545A0A53D_d0e282163_href.png" placement="inline"/>
 </fig> <p>The numbers in the diagram show the approximate sequence when a
 rendering client creates a surface and renders into it. This assumes that
 the OpenWF-C context has registered the screen with the Surface Update Server
--- a/Symbian3/PDK/Source/GUID-83630B57-D842-4B60-8AF0-D2965251DE29.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-83630B57-D842-4B60-8AF0-D2965251DE29.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -65,8 +65,8 @@
 and <parmname>ESensrvArrayPropertyInfo</parmname> as the index to retrieve
 the property item that contains this information. </p></li>
 </ul></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-6-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-4-1-5-1-6-1-3-3-1"><cmd>Create an instance
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-6-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-4-1-5-1-6-1-3-3-1"><cmd>Create an instance
 of <parmname>TSensrvProperty</parmname>.</cmd>
 <stepxmp><codeblock xml:space="preserve">TSensrvProperty property;</codeblock></stepxmp>
 <info>           <p>Each channel property is encapsulated by the <parmname>TSensrvProperty</parmname> class.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1" xml:lang="en"><title>Secure Sockets Examples</title><shortdesc>This describes the example code for Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1" xml:lang="en"><title>Secure Sockets Examples</title><shortdesc>This describes the example code for Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-9-1-4-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-9-1-4-1-6-1" xml:lang="en"><title>Secure Sockets Examples</title><shortdesc>This describes the example code for Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-83798F82-15FB-4EA6-9AD8-540616CBF6C4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-83798F82-15FB-4EA6-9AD8-540616CBF6C4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,10 +22,10 @@
 pane</xref> section.</p>
 <fig id="GUID-56B891F5-2287-4BBF-A97A-4EB959312131">
 <title>Example images of pop-up components with two softkeys</title>
-<image href="GUID-20FECB77-2E1D-4104-948F-8E878DAFE1B8_d0e95866_href.png" placement="inline"/>
+<image href="GUID-20FECB77-2E1D-4104-948F-8E878DAFE1B8_d0e99985_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-6B58856F-87FB-48E9-8ECF-DCD26E047BB8">
 <title>Examples images of pop-ups with one softkey</title>
-<image href="GUID-C28FDA4B-0099-4258-8255-6CF7C44FD4E8_d0e95874_href.png" placement="inline"/>
+<image href="GUID-C28FDA4B-0099-4258-8255-6CF7C44FD4E8_d0e99993_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8390D842-B8A3-5042-952D-73240DB30D6B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8390D842-B8A3-5042-952D-73240DB30D6B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 by third-parties. </p> <fig id="GUID-F469ED0A-E43F-5260-B86E-3EFE3CBA0DBB">
 <title>              Logical structure of Messaging Middleware architecture
            </title>
-<image href="GUID-0259868F-8F88-5D9D-A9DE-9309C3BFBA85_d0e478805_href.png" placement="inline"/>
+<image href="GUID-0259868F-8F88-5D9D-A9DE-9309C3BFBA85_d0e484634_href.png" placement="inline"/>
 </fig><note> No lower-level communication components are shown, as the architecture
 is designed to be independent of any particular communication protocol. Instead,
 communication libraries are accessed as needed by Server MTMs. For example,
--- a/Symbian3/PDK/Source/GUID-83A4D862-368E-5DCC-998E-90144BE18A22.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-83A4D862-368E-5DCC-998E-90144BE18A22.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-83A4D862-368E-5DCC-998E-90144BE18A22"><title>How to Override Default Authentication Handling</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>SIP provides a feature to the SIP client to handle authentication handling for services such as registration and session establishment. By default, this authentication challenge handling is handled by the SIP server using the digest mechanism. This mechanism is used by profile plug-ins that implement nondefault SIP behaviour which is also known as extensible Service Provider (xSP). </p> <p>These components are used when a SIP client handles authentication challenges independently. When an authentication problem is reported use <xref href="GUID-5ACD0BA9-66C7-31E8-844E-B39AE8691B2A.dita"><apiname>CSIPAuthorizationHeader</apiname></xref> and <xref href="GUID-3689FC15-B236-3B16-BAA5-70FF873DF3F1.dita"><apiname>CSIPProxyAuthorizationHeader</apiname></xref> objects to manipulate the registration or session initiation request headers. Then re-register a profile or reinitiate a session using the updated headers. </p> <p>To enable a client to override default authentication handling mechanisms, it must inform the SIP server by disabling the built-in security mechanism of the SIP using the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita#GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B/GUID-FA3D6B89-4B41-3A56-85FB-06168D0B7B7B"><apiname>CSIP::SetSecurityHandlingL()</apiname></xref> function. The client uses <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita#GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B/GUID-0A3DB5AB-60D3-3756-B9DD-85F2B466E892"><apiname>CSIP::IsSecurityHandlingEnabled()</apiname></xref> function to determine what is handling the authentication challenges. This function returns <codeph>ETrue</codeph> if the built-in security mechanism of the SIP is used. </p> <p>When a SIP client handles authentication challenges independently, it uses <xref href="GUID-5ACD0BA9-66C7-31E8-844E-B39AE8691B2A.dita"><apiname>CSIPAuthorizationHeader</apiname></xref> and <xref href="GUID-3689FC15-B236-3B16-BAA5-70FF873DF3F1.dita"><apiname>CSIPProxyAuthorizationHeader</apiname></xref> objects to manipulate the registration or session initiation request headers when an authentication problem is reported. Re-registration of a profile or reinitiating a session is done using the updated headers. </p> <p>In the following illustration the client handles authentication challenges related to the profile registration. All authentication errors are then forwarded to the xSP profile agent plug-in. When an error is reported to the plug-in, it runs a proprietary authentication procedure and tries to re-register the profile. </p> <p>The following illustration shows the call flow of handling authentication challenges while registering a SIP profile: </p> <fig id="GUID-5A8E6082-8DD1-5465-AC32-8D34F45C11FF"><title>
           Call flow for handling 401 challenges using xSP profile agent plug-in 
-        </title> <image href="GUID-FAC309FE-B7DA-572B-9165-BC9BEF944D83_d0e548989_href.png" placement="inline"/></fig> <p>In the following illustration the client handles authentication challenges related to the session initiation. All the authentication errors are then forwarded to the xSP provider. When an error is reported to the provider, it runs a proprietary authentication procedure and tries to reinitiate the session. </p> <p>The following illustration shows the call flow of handling authentication challenges while establishing a session: </p> <fig id="GUID-03AEF001-D35A-5DA8-842D-5B20451F16ED"><title>
+        </title> <image href="GUID-FAC309FE-B7DA-572B-9165-BC9BEF944D83_d0e556445_href.png" placement="inline"/></fig> <p>In the following illustration the client handles authentication challenges related to the session initiation. All the authentication errors are then forwarded to the xSP provider. When an error is reported to the provider, it runs a proprietary authentication procedure and tries to reinitiate the session. </p> <p>The following illustration shows the call flow of handling authentication challenges while establishing a session: </p> <fig id="GUID-03AEF001-D35A-5DA8-842D-5B20451F16ED"><title>
           Call flow for handling 401 challenges using xSP provider 
-        </title> <image href="GUID-FC230C68-18FC-5DB9-A5B2-942B48DC5590_d0e549001_href.png" placement="inline"/></fig> <section><title>See also</title> <p> <xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita">How to use the SIP Client API</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-FC230C68-18FC-5DB9-A5B2-942B48DC5590_d0e556457_href.png" placement="inline"/></fig> <section><title>See also</title> <p> <xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita">How to use the SIP Client API</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-83BE15D8-511F-592D-A93B-C71BD6FB1B08.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-83BE15D8-511F-592D-A93B-C71BD6FB1B08.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 a Symbian platform defined record. </p> <p>You create a table
 object on the heap. You use the <codeph>new           (Eleave)</codeph> construction
 to create this object. </p> <fig id="GUID-6B7087D6-BA28-578D-8BF8-83FFC9486FB0">
-<image href="GUID-DB571D42-03F4-50F9-974D-B905707FC5F4_d0e110175_href.png" placement="inline"/>
+<image href="GUID-DB571D42-03F4-50F9-974D-B905707FC5F4_d0e112598_href.png" placement="inline"/>
 </fig> <p>The CommsDat API implements the table as an array of records and
 uses <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>RPointerArray</apiname></xref> <codeph>&lt;T&gt;</codeph> as
 the array. The CommsDat API implements <codeph>RPointerArray&lt;T&gt;</codeph> in
Binary file Symbian3/PDK/Source/GUID-83DC4E21-72B3-459F-9AE8-41ED52BF219C_d0e94043_href.png has changed
Binary file Symbian3/PDK/Source/GUID-83DC4E21-72B3-459F-9AE8-41ED52BF219C_d0e98241_href.png has changed
--- a/Symbian3/PDK/Source/GUID-845F3021-E3ED-4676-916A-75740886DCBD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-845F3021-E3ED-4676-916A-75740886DCBD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -52,7 +52,7 @@
 </ul></section>
 <section id="GUID-42664A41-C3D3-4DAF-802D-8A98B15984CA"><title>Use cases</title><fig id="GUID-7FFCC838-A49D-4A91-9480-3295B0E036B7">
 <title>Choice list API use cases</title>
-<image href="GUID-92067BE3-40F0-4652-A882-FFDE2816C9BD_d0e100108_href.png" scale="60" placement="inline"/>
+<image href="GUID-92067BE3-40F0-4652-A882-FFDE2816C9BD_d0e104193_href.png" scale="60" placement="inline"/>
 </fig><p>To use a choice list in your application, implementing the following
 use cases is mandatory:</p><ul>
 <li><p><xref href="GUID-462239D1-4B40-4342-92DA-32AB0AF0D2F2.dita">Creating the
Binary file Symbian3/PDK/Source/GUID-84623607-ACCA-5E57-9001-DA56E16C1652_d0e454725_href.png has changed
Binary file Symbian3/PDK/Source/GUID-84623607-ACCA-5E57-9001-DA56E16C1652_d0e460570_href.png has changed
Binary file Symbian3/PDK/Source/GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e523913_href.png has changed
Binary file Symbian3/PDK/Source/GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e531373_href.png has changed
--- a/Symbian3/PDK/Source/GUID-84B6389A-55CC-53EB-8725-65F753FD7217.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-84B6389A-55CC-53EB-8725-65F753FD7217.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -99,7 +99,7 @@
 components provided by Symbian and the blue blocks represent the components
 that must be implemented by device creators. </p> <fig id="GUID-40498A21-44F3-5250-9E02-3ACF30EC2BF9">
 <title>              CAF Architecture            </title>
-<image href="GUID-B93C26B8-D767-5341-A629-1A5714A20992_d0e614738_href.jpg" placement="inline"/>
+<image href="GUID-B93C26B8-D767-5341-A629-1A5714A20992_d0e586844_href.jpg" placement="inline"/>
 </fig> <p> <b>Note</b>: The F32 agent is a client-side implementation as it
 is used for accessing unprotected content only. </p> </section>
 <section><title>Key classes</title> <p>The following table summarizes the
Binary file Symbian3/PDK/Source/GUID-84E742A8-2D24-55B8-A4DA-A67939A50754_d0e167895_href.png has changed
Binary file Symbian3/PDK/Source/GUID-84E742A8-2D24-55B8-A4DA-A67939A50754_d0e173988_href.png has changed
--- a/Symbian3/PDK/Source/GUID-85058500-87C5-457A-9567-ECAB29708759.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-85058500-87C5-457A-9567-ECAB29708759.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 in pop-up windows</title><shortdesc>Vertical lists are used extensively in most applications as part
 of the pop-up windows, to display the options available for a selected item.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-9FD0C107-2ACA-4A49-B2E4-1EC9BD9EC347">
-<image href="GUID-A6C9E7DF-1ACF-4768-851E-350E3DADEC56_d0e85128_href.png" placement="inline"/>
+<image href="GUID-A6C9E7DF-1ACF-4768-851E-350E3DADEC56_d0e89326_href.png" placement="inline"/>
 </fig>
 <p><b>Design Guidelines</b> : Lists do not have permanent highlight in touch.
 For information on the list navigation, see <xref href="GUID-7C61D3D7-8FCB-46AB-B2E9-CE1AC68F86DE.dita">Dragging
Binary file Symbian3/PDK/Source/GUID-8526BBD8-CA70-4B3F-B91D-D70AF06440B2_d0e83362_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8526BBD8-CA70-4B3F-B91D-D70AF06440B2_d0e87560_href.png has changed
Binary file Symbian3/PDK/Source/GUID-85291DF3-C134-4231-938A-C20DD122AB7D_d0e14048_href.png has changed
Binary file Symbian3/PDK/Source/GUID-85291DF3-C134-4231-938A-C20DD122AB7D_d0e14147_href.png has changed
Binary file Symbian3/PDK/Source/GUID-85332468-292D-589B-891B-0E7ACBADC7BA_d0e378189_href.png has changed
Binary file Symbian3/PDK/Source/GUID-85332468-292D-589B-891B-0E7ACBADC7BA_d0e384042_href.png has changed
Binary file Symbian3/PDK/Source/GUID-857A523E-E660-5AFA-98B1-3A5440A8372F_d0e351847_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-857A523E-E660-5AFA-98B1-3A5440A8372F_d0e357778_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 <fig id="GUID-19D41F69-1264-5726-9CDD-C4DD0F231BE3">
 <title>           The display is an orthogonal view of a series of layers.
          </title>
-<image href="GUID-7F3F89C0-999A-552E-90BB-17D720C53DE6_d0e227935_href.png" placement="inline"/>
+<image href="GUID-7F3F89C0-999A-552E-90BB-17D720C53DE6_d0e233934_href.png" placement="inline"/>
 </fig>
 <p>Composition requires: </p>
 <ul>
@@ -68,7 +68,7 @@
 output which is rendered, composited and displayed. </p>
 <fig id="GUID-9DF4C86A-C06D-5C5A-9AB6-E9991CC1937A">
 <title>           Graphics Composition          </title>
-<image href="GUID-F31EC49A-FE01-58B2-9CB5-4A3BBCCB7DA7_d0e227999_href.png" placement="inline"/>
+<image href="GUID-F31EC49A-FE01-58B2-9CB5-4A3BBCCB7DA7_d0e233998_href.png" placement="inline"/>
 </fig>
 <p>In a device with graphics acceleration hardware (a Graphics Processing
 Unit or GPU) there might, in addition to the memory managed by the CPU, be
@@ -79,7 +79,7 @@
 in software and hardware. </p>
 <fig id="GUID-2717F861-0045-5598-A3EC-7CF678BEFA70">
 <title>           Hardware rendered graphics - the wrong way!          </title>
-<image href="GUID-EADC4EA6-4492-5A00-A29E-6F7747FCAAC9_d0e228016_href.png" placement="inline"/>
+<image href="GUID-EADC4EA6-4492-5A00-A29E-6F7747FCAAC9_d0e234015_href.png" placement="inline"/>
 </fig>
 <p>The diagram, however, represents a system with several problem areas that
 would render it unsuitable for any practical implementation </p>
@@ -116,7 +116,7 @@
 display. The diagram below illustrates how Window Server-rendered UI content
 and external surfaces are composited using the UI surface. </p> <fig id="GUID-3448FD6B-9A39-58CD-8819-39B0B6CC4E13">
 <title>              Hardware composition and the Flattened UI            </title>
-<image href="GUID-B0797210-4EE3-557B-A5A6-D215D030BA0E_d0e228063_href.png" placement="inline"/>
+<image href="GUID-B0797210-4EE3-557B-A5A6-D215D030BA0E_d0e234062_href.png" placement="inline"/>
 </fig> <p>Although this method of composition is flexible and powerful, it
 does have some limitations, particularly with respect to semi-transparent
 hardware-accelerated surfaces. </p> <p>It is not possible, for example, to
@@ -128,18 +128,18 @@
 green layer displays a hardware rendered surface so it is actually behind
 the layer on which it appears. </p> <fig id="GUID-1FB1194D-FCAE-534C-94DC-AF4CF00E3A1C">
 <title>              The UI surface            </title>
-<image href="GUID-79009102-0490-5C61-9722-C5EE49A1AF2B_d0e228080_href.png" placement="inline"/>
+<image href="GUID-79009102-0490-5C61-9722-C5EE49A1AF2B_d0e234079_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-41E9CA54-759F-5651-95F8-9F39808BE740"><title>Composition
 Examples</title> <p>This illustrations below illustrate the use of hardware
 accelerated surfaces and the UI surface </p> <fig id="GUID-8178DBA8-E10C-56F3-A828-80746CE6A993">
 <title>              Video rendered to a hardware accelerated surface mapped
 to a layer              behind the UI surface            </title>
-<image href="GUID-FE3C8D39-CE17-5AC7-AB6A-4D6664D52196_d0e228096_href.png" placement="inline"/>
+<image href="GUID-FE3C8D39-CE17-5AC7-AB6A-4D6664D52196_d0e234095_href.png" placement="inline"/>
 </fig> <fig id="GUID-51411B10-6DC3-5B74-BCEF-11EC1D0FBCA8">
 <title>              As above with a semi-transparent dialog on the UI surface
            </title>
-<image href="GUID-4616CCC9-7BD3-5D91-873A-6027167329ED_d0e228104_href.png" placement="inline"/>
+<image href="GUID-4616CCC9-7BD3-5D91-873A-6027167329ED_d0e234103_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita"><linktext>The ScreenPlay
Binary file Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16619_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16677_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16709_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-85A84BAA-4FA2-4A26-A8B1-57018D8838C3_d0e16767_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-85CA1089-3F58-5E82-86A4-4674C893B25F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-85CA1089-3F58-5E82-86A4-4674C893B25F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,11 +31,11 @@
 of the SIP Codec API classes. </p> <fig id="GUID-B09DF64C-B185-54BA-A7C3-49B8E561DDCD">
 <title>                 Relationships of the SIP Codec classes - Part 1  
             </title>
-<image href="GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e549066_href.jpg" placement="inline"/>
+<image href="GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e556522_href.jpg" placement="inline"/>
 </fig> <fig id="GUID-76054C58-E841-5103-AB33-27754D80B757">
 <title>                 Relationships of the SIP Codec classes - Part 2  
             </title>
-<image href="GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e549075_href.jpg" placement="inline"/>
+<image href="GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e556531_href.jpg" placement="inline"/>
 </fig><p>The SIP Codec API defines the functions required to create the SIP
 headers of a SIP message. CSIPHeaderBase is the base class for all SIP headers.
 A client creates a new instance of the CSIPXHeader class, where “X” is the
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-860916D1-339F-4D4F-859D-DAE11F7C311E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-860916D1-339F-4D4F-859D-DAE11F7C311E" xml:lang="en"><title>Building for an SMP Platform</title><shortdesc>This document describes the issues raised when building
+code for an SMP platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The only difference between building for an SMP and non-SMP system,
+is the inclusion of the <codeph>SMPSAFE</codeph> keyword in the mmp
+file.</p>
+<p>However, before the <codeph>SMPSAFE</codeph> keyword can be used,
+the ROM compatibility mode should be understood and enabled. It is
+described below.</p>
+<section id="GUID-1D9BD7C9-7CAA-47DC-BD4F-DC00C5F13C50"><title>ROM
+compatibility mode</title><p>This specifies how the resulting build
+will execute code that has not been marked as SMP safe, for example,
+existing applications produced by third party developers. However,
+ROM compatibility mode does not guarantee that non-SMP code will work.
+By default, ROM compatibility is turned off. It is expected that code
+will be tested on a SMP platform to verify that it is SMP safe. Which
+compatibility mode is to be used will be decided during the ROM integration
+stage.</p><p>The ROM compatibility mode takes the form of two new <codeph>rombuild</codeph> parameters (only one can be used at any one time).</p><p>There are two parts to using ROM compatibility mode:</p><ul>
+<li><p>Specifying that it is to be turned on and which type of ROM
+compatibility is to be used. This is done with a new parameter for
+the <codeph>rombuild</codeph> tool.</p></li>
+<li><p>Adding the appropriate macros in the baseport iby and oby files.</p></li>
+</ul><p>The arguments of <codeph>rombuild</codeph> that relate to
+ROM compatibility are:</p><table id="GUID-F8F1F2CF-94FB-4264-A9EF-6F29DC188207">
+<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec colname="col2" colwidth="1.58*"/>
+<thead>
+<row>
+<entry align="center" valign="top"><p>rombuild argument</p></entry>
+<entry align="center" valign="top"><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><p>-d SMPCOMPATMODE</p></entry>
+<entry><p>Enables regular compatibility mode. This means that all
+the threads in unsafe processes (non-SMP safe) are restricted, so
+that only the ready thread with the highest priority can run.</p><p>In regular compatibility mode, a thread group is created for each
+process. This thread group will have the same priority as the highest
+priority thread that it contains. These thread groups can be assigned
+to any of the available processors, not just CPU 0.</p></entry>
+</row>
+<row>
+<entry align="center"><p>-d SMPCOMPATCPU0</p></entry>
+<entry><p>Enables CPU 0 only mode. This means that all threads in
+unsafe processes (non-SMP safe) can only execute on CPU 0.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p>In order for the ROM compatibility mode arguments to work,
+changes have to be made to the iby and oby files of the baseport being
+used. This takes the form of setting the appropriate flags:</p><table id="GUID-7F082639-8BA4-45F0-BF59-32A2E1B8EF4D">
+<tgroup cols="3"><colspec colname="col1" colwidth="0.48*"/><colspec colname="col2" colwidth="1.55*"/><colspec colname="COLSPEC1" colwidth="1.55*"/>
+<thead>
+<row>
+<entry align="center" valign="top"><p>Flag</p></entry>
+<entry align="center" valign="top"><p>Description</p></entry>
+<entry align="center" valign="top"><p>Default Value</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><p>SMPUNSAFECOMPAT</p></entry>
+<entry><p>Sets the state of the regular compatibility mode.</p></entry>
+<entry align="center"><p><codeph>off</codeph></p></entry>
+</row>
+<row>
+<entry align="center"><p>SMPUNSAFECPU0</p></entry>
+<entry><p>Sets the state of the CPU 0 mode.</p></entry>
+<entry align="center"><p><codeph>off</codeph></p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p>The only valid values for these flags are <codeph>on</codeph> or <codeph>off</codeph>.</p><p>The following line has to be added
+to the baseport iby and oby files:</p><p><codeblock xml:space="preserve">#include &lt;rom/include/kernel.hby&gt;</codeblock></p><p>An example of the use of above flags is:</p><codeblock xml:space="preserve">#ifdef SMP
+#if defined(SMPCOMPATMODE) &amp;&amp; defined(SMPCOMPATCPU0)
+#error "Can't have SMPCOMPATMODE and SMPCOMPATCPU0 at once!"
+#endif
+#ifdef SMPCOMPATMODE
+SMPUNSAFECOMPAT(on)
+#endif
+#ifdef SMPCOMPATCPU0
+SMPUNSAFECPU0(on)
+#endif
+#endif //SMP
+</codeblock><p><note>There is no guarantee that the use of compatibility
+mode will make SMP unsafe code work correctly. The compatibility mode
+is only a temporary migration strategy.</note></p><p>Now that the
+build system has been set up to work with non-SMP safe code, the use
+of the <codeph>SMPSAFE</codeph> can be described.</p></section>
+<section id="GUID-DF199EB5-BAEF-4035-9F6A-4264DC5F5E3F"><title>The
+SMPSAFE keyword</title><p>The <codeph>SMPSAFE</codeph> keyword is
+used to tell the system that the project can work correctly in an
+SMP environment.</p><p>It is indicated by placing the word <codeph>SMPSAFE</codeph> on a single line of the project's mmp file.</p><p>An example of the use of the <codeph>SMPSAFE</codeph> keyword is
+given below:</p><codeblock xml:space="preserve">capability all
+
+VENDORID 0x70000001
+
+SMPSAFE
+
+</codeblock><p>The effect of this keyword is as follows:</p><table id="GUID-F6787493-246D-40E1-A74F-1C88A808DD03">
+<tgroup cols="3"><colspec colname="col1" colwidth="0.92*"/><colspec colname="col2" colwidth="0.92*"/><colspec colname="col3" colwidth="1.17*"/>
+<thead>
+<row>
+<entry align="center" valign="top"><p>Is the SMPSAFE keyword present?</p></entry>
+<entry align="center" valign="top"><p>State of ROM Compatibility Mode</p></entry>
+<entry align="center" valign="top"><p>Resulting Behavior</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><p>Yes</p></entry>
+<entry align="center"><p>N/A</p></entry>
+<entry><p>The code is assumed to be SMP safe and will be executed
+accordingly.</p></entry>
+</row>
+<row>
+<entry align="center"><p>No</p></entry>
+<entry align="center"><p>Disabled</p></entry>
+<entry><p>The code will be executed, but SMP related problems can
+occur.</p></entry>
+</row>
+<row>
+<entry align="center"><p>No</p></entry>
+<entry align="center"><p>Enabled</p></entry>
+<entry><p>The code will be executed. </p><p>How it is executed, depends
+on which ROM compatibility mode has been enabled.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table><p>The build process for an SMP platform will be described.</p></section>
+<section id="GUID-318B743D-3D7C-4773-8A15-E34E800C3911"><title>The
+build process for an SMP platform</title><p>The build process for
+an SMP platform is exactly the same as the build process for a non-SMP
+platform.</p><p><note>The target must be ARMV5SMP. This can be insured
+if the bld.inf files specify BASE_DEFAULT in the PRJ_PLATFORMS line.</note></p><p>For the description of this process, follow the <xref href="GUID-2EDB8C13-959F-590B-9C1D-67E09B7C8874.dita">Build Tool Guide</xref> link below.</p> </section>
+</conbody><related-links>
+<link href="GUID-2EDB8C13-959F-590B-9C1D-67E09B7C8874.dita"><linktext>Build
+Tools Guide</linktext></link>
+<link href="GUID-E55F9286-F586-4665-93D8-86F1E7BE2C7C.dita"><linktext>SMP
+Developer Tips</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e597037_href.png has changed
Binary file Symbian3/PDK/Source/GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e615421_href.png has changed
Binary file Symbian3/PDK/Source/GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e624931_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8617B132-D8C8-5769-95B9-867815B45B18_d0e167817_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8617B132-D8C8-5769-95B9-867815B45B18_d0e173910_href.png has changed
Binary file Symbian3/PDK/Source/GUID-866B69E6-8D4C-546F-B9C9-244AD8988DE5_d0e167767_href.png has changed
Binary file Symbian3/PDK/Source/GUID-866B69E6-8D4C-546F-B9C9-244AD8988DE5_d0e173860_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8675AC01-E2D8-425C-899F-12BE99345AA9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8675AC01-E2D8-425C-899F-12BE99345AA9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -83,7 +83,7 @@
         // 3 wasted bytes
     TReal iReal; // offset 8, 8 bytes
     } // total length = 16 bytes</codeblock><fig id="GUID-70477651-EC14-4321-ACA5-79CEE4AEC69E">
-<image href="GUID-7E801A44-4509-5AC0-88D5-7DEA1AF7969D_d0e7653_href.png" placement="inline"/>
+<image href="GUID-7E801A44-4509-5AC0-88D5-7DEA1AF7969D_d0e7775_href.png" placement="inline"/>
 </fig><p>Structures are regarded as <codeph>T</codeph> types: that is they
 may not own heap-allocated resources such as <codeph>C</codeph> type classes.
     </p><p>An array contains many built-ins or other types </p><codeblock xml:space="preserve">TInt a[32]; // 32 TInts, = 128 bytes  
@@ -98,7 +98,7 @@
 take the address of an object, then you can refer to it by pointer:</p><codeblock xml:space="preserve">S* ps; // pointer to an S
 ps=&amp;s // take address of existing S
 </codeblock><p>A pointer is a 32-bit machine word, and could point to anything.</p><fig id="GUID-D33AB198-0B62-4391-B86D-088595AE6B8B">
-<image href="GUID-045F3455-2B5A-5B20-ABCE-ED202DC5078A_d0e7684_href.png" placement="inline"/>
+<image href="GUID-045F3455-2B5A-5B20-ABCE-ED202DC5078A_d0e7806_href.png" placement="inline"/>
 </fig><p>The specifier is placed next to the type rather than the name.   </p><p>There
 is often a need to refer to memory as anything: for this, a <codeph>void*</codeph> pointer
 is used in C++. In Symbian, a <codeph>TAny*</codeph> may be referred to instead.
@@ -108,7 +108,7 @@
 does two things: firstly, it sets aside six bytes of memory containing the
 characters 'h', 'e', 'l', 'l', 'o', '\0'. Secondly, it sets the pointer hello
 to contain the address of the first of those bytes. </p><fig id="GUID-08C1AF40-8D93-414E-B103-1E57AB17480F">
-<image href="GUID-512D0DA7-0BC2-534F-9233-11F46D285CA6_d0e7711_href.png" placement="inline"/>
+<image href="GUID-512D0DA7-0BC2-534F-9233-11F46D285CA6_d0e7833_href.png" placement="inline"/>
 </fig><p>Functions accessing the string rely on this address as its starting
 point, and the terminating <codeph>\0</codeph> to indicate its end. Functions
 which manipulate the string must either deliberately not extend it, or must
Binary file Symbian3/PDK/Source/GUID-867B7D4C-34AC-585D-BEED-BDF050A12203_d0e274028_href.png has changed
Binary file Symbian3/PDK/Source/GUID-867B7D4C-34AC-585D-BEED-BDF050A12203_d0e280028_href.png has changed
Binary file Symbian3/PDK/Source/GUID-86A6FAC5-FF3C-5C35-A521-5C4BD3823629_d0e275773_href.png has changed
Binary file Symbian3/PDK/Source/GUID-86A6FAC5-FF3C-5C35-A521-5C4BD3823629_d0e281773_href.png has changed
--- a/Symbian3/PDK/Source/GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 <fig id="GUID-80CBAFCA-F952-4C96-8738-02D82261F4B4">
 <title>Menu with a 3 x 4 grid in portrait (left) and 4 x 3 grid in landscape
 (right)</title>
-<image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e86749_href.png" placement="inline"/>
+<image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e90947_href.png" placement="inline"/>
 </fig>
 <p>For more details on the landscape orientation, see <xref href="GUID-685C3F33-1530-4984-B125-E4EF8EBB2EE8.dita">Symbian
 UI with rotation</xref>.</p>
--- a/Symbian3/PDK/Source/GUID-86AB2626-27F1-5761-85F7-5644C5D0A675.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-86AB2626-27F1-5761-85F7-5644C5D0A675.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,71 +1,65 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-86AB2626-27F1-5761-85F7-5644C5D0A675" xml:lang="en"><title>Creating
-a Control Panel Application</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Introduction</title> <p>A control panel application is used
-to modify system settings. To create a control panel application a registration
-resource file is required which contains information about the application
-UID and the name of the application’s executable. </p> <p> <b>Note</b>: You
-need to create the registration resource file and specify its source and destination
-path in the <filepath>mmp</filepath> file. </p> </section>
-<section><title>Procedure</title> <p>The following procedure describes how
-to prepare the registration resource file and create a control panel application: </p> <ol id="GUID-70B60865-FC75-5A84-9FF2-F826481065AA">
-<li id="GUID-5CDEA94D-5B9A-5A93-9012-EC5DAD6A3BCE"><p>Define the attributes
-of the control panel application in the registration resource file. </p> <p>The
-attributes of the <codeph>APP_REGISTRATION_INFO</codeph> resource must have
-the <codeph>KAppIsControlPanelItem</codeph> attribute as shown in the code
-snippet: </p> <codeblock id="GUID-BF23DB83-177D-5165-87C3-E7D167E1A238" xml:space="preserve">#include &lt;appinfo.rh&gt;
-UID2 KUidAppRegistrationResourceFile
-UID3 0x23256ADE
-RESOURCE APP_REGISTRATION_INFO
-    {    
-    app_file = app_CTRL2;
-    attributes=KAppIsControlPanelItem;
-    }</codeblock> </li>
-<li id="GUID-B097566C-1F40-5218-9CCD-13D882CB646F"><p>In the source code of
-the application, create an instance of the <xref href="GUID-4FB064FC-210C-384A-BE92-35CA399B34C3.dita"><apiname>CApaSystemControlList</apiname></xref> class
-using the <xref href="GUID-4FB064FC-210C-384A-BE92-35CA399B34C3.dita#GUID-4FB064FC-210C-384A-BE92-35CA399B34C3/GUID-68F9CFBD-C7FE-3AAE-92E1-DA4677D50D31"><apiname>CApaSystemControlList::NewL()</apiname></xref> function to create
-and initialize a control panel application list as shown in the code snippet.
-The <xref href="GUID-4FB064FC-210C-384A-BE92-35CA399B34C3.dita"><apiname>CApaSystemControlList</apiname></xref> class provides a list of all
-the available control panel applications present on the device. </p> <codeblock id="GUID-1D32560F-C5B9-5198-BB05-259CC8BCEE6A" xml:space="preserve">
-// Create a file server session by creating an RFs object.
-
-RFs fs;
-fs.Connect();
-CApaSystemControlList* cControlList;
-
-TRAP(ret,cControlList=CApaSystemControlList::NewL(fs));
-if( ret==KErrNone )
-    {
-     //success scenario , implementation...
-    }</codeblock> </li>
-<li id="GUID-CDC1A815-8E88-5DE1-92CE-50A6F5CF660F"><p>Also in the application's
-source code, create a control panel application in either of the following
-ways: </p> <p>  </p><codeblock id="GUID-E842DF15-BA2B-5EDB-A624-1830C69C5557" xml:space="preserve">// <b>Using UID</b>
-const TInt KsimpleAppUidValue = 0x23256ADE;
-
-// Create the control panel application in the list using the specified UID
-
-CApaSystemControl* Control = cControlList-&gt;Control(TUid(KsimpleAppUidValue));
-</codeblock> <p>  </p> <codeblock id="GUID-4F497DF1-569A-5F8E-BCA3-705F0D846CA8" xml:space="preserve">//<b>Using Index</b>
-// Create a control panel application using the index ID
-TInt indexID = 2;
-
-CApaSystemControl* control=cControlList-&gt;Control(indexID);
-</codeblock> </li>
-</ol> </section>
-</conbody><related-links>
-<link href="GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita"><linktext>Application
-Architecture Overview</linktext></link>
-<link href="GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4.dita"><linktext>Application
-resource tools guide</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-86AB2626-27F1-5761-85F7-5644C5D0A675" xml:lang="en"><title>Creating a Control Panel Application</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-09ECA3CE-5009-4E2B-AE78-2F6FCE9AEF1F"><title>Introduction</title> <p>A control panel application
+is used to modify system settings. To create a control panel application
+a registration resource file is required which contains information
+about the application UID and the name of the application’s executable. </p> <p> <b>Note</b>: You need to create the registration resource file
+and specify its source and destination path in the <filepath>mmp</filepath> file. </p> </section>
+<section id="GUID-99F3B350-EE89-49D2-8A7F-F39215B5706A"><title>Procedure</title> <p>The following procedure describes
+how to prepare the registration resource file and create a control
+panel application: </p> <ol id="GUID-70B60865-FC75-5A84-9FF2-F826481065AA">
+<li id="GUID-5CDEA94D-5B9A-5A93-9012-EC5DAD6A3BCE"><p>Define the attributes
+of the control panel application in the registration resource file. </p> <p>The attributes of the <codeph>APP_REGISTRATION_INFO</codeph> resource
+must have the <codeph>KAppIsControlPanelItem</codeph> attribute as
+shown in the code snippet: </p> <codeblock id="GUID-BF23DB83-177D-5165-87C3-E7D167E1A238" xml:space="preserve">#include &lt;appinfo.rh&gt;
+UID2 KUidAppRegistrationResourceFile
+UID3 0x23256ADE
+RESOURCE APP_REGISTRATION_INFO
+    {    
+    app_file = app_CTRL2;
+    attributes=KAppIsControlPanelItem;
+    }</codeblock> </li>
+<li id="GUID-B097566C-1F40-5218-9CCD-13D882CB646F"><p>In the source
+code of the application, create an instance of the <xref href="GUID-4FB064FC-210C-384A-BE92-35CA399B34C3.dita"><apiname>CApaSystemControlList</apiname></xref> class using the <xref href="GUID-4FB064FC-210C-384A-BE92-35CA399B34C3.dita#GUID-4FB064FC-210C-384A-BE92-35CA399B34C3/GUID-68F9CFBD-C7FE-3AAE-92E1-DA4677D50D31"><apiname>CApaSystemControlList::NewL()</apiname></xref> function to create and initialize a control panel application list
+as shown in the code snippet. The <xref href="GUID-4FB064FC-210C-384A-BE92-35CA399B34C3.dita"><apiname>CApaSystemControlList</apiname></xref> class provides a list of all the available control panel applications
+present on the device. </p> <codeblock id="GUID-1D32560F-C5B9-5198-BB05-259CC8BCEE6A" xml:space="preserve">
+// Create a file server session by creating an RFs object.
+
+RFs fs;
+fs.Connect();
+CApaSystemControlList* cControlList;
+
+TRAP(ret,cControlList=CApaSystemControlList::NewL(fs));
+if( ret==KErrNone )
+    {
+     //success scenario , implementation...
+    }</codeblock> </li>
+<li id="GUID-CDC1A815-8E88-5DE1-92CE-50A6F5CF660F"><p>Also in the
+application's source code, create a control panel application in either
+of the following ways: </p> <p>  </p><codeblock id="GUID-E842DF15-BA2B-5EDB-A624-1830C69C5557" xml:space="preserve">// <b>Using UID</b>
+const TInt KsimpleAppUidValue = 0x23256ADE;
+
+// Create the control panel application in the list using the specified UID
+
+CApaSystemControl* Control = cControlList-&gt;Control(TUid(KsimpleAppUidValue));
+</codeblock> <p>  </p> <codeblock id="GUID-4F497DF1-569A-5F8E-BCA3-705F0D846CA8" xml:space="preserve">//<b>Using Index</b>
+// Create a control panel application using the index ID
+TInt indexID = 2;
+
+CApaSystemControl* control=cControlList-&gt;Control(indexID);
+</codeblock> </li>
+</ol> </section>
+</conbody><related-links>
+<link href="GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita"><linktext>Application
+Architecture Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,5 +9,5 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D"><title>Positioning Plug-in API Tutorial Overview</title><shortdesc>This document describes how to use the Positioning Plug-in API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><prereq><p>Read the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref> document before reading this tutorial. </p> </prereq> <context><p>To implement a Positioning Plug-in, a device creator must implement a sub-class of the <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref> base class, and package the module as an ECOM plug-in. </p> </context> <steps id="GUID-2EF57360-6BAA-524F-8B18-965AFA22CA90"><step id="GUID-364B1FAB-5589-5967-9D85-8BF06AF1F4B2"><cmd/><info> <xref href="GUID-328F3DB6-D956-5854-A81A-6B98DC3FA6DC.dita">Create an MMP file for the PSY</xref>  </info> </step> <step id="GUID-99D0BCB5-1FDB-5239-B889-B4789C33375C"><cmd/><info> <xref href="GUID-0B4D4675-2CFB-5964-A869-7275202AC71D.dita">Implement a subclass of CPositioner</xref>  </info> </step> <step id="GUID-473CF7CE-193E-5416-8240-BA188EC649BD"><cmd/><info> <xref href="GUID-2955A35E-1215-5C4A-9C24-0106FB75E295.dita">Provide ECOM registry information for the PSY</xref>  </info> </step> <step id="GUID-43D51AFE-52BA-5C01-9233-09AF13608C1C"><cmd/><info> <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Define PSY attributes using the Positioning Plug-in Information API</xref>  </info> </step> <step id="GUID-941CF569-0A8A-5C87-96DC-9443DA78084C"><cmd/><info>Test the PSY using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. </info> </step> </steps> </taskbody><related-links><link href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita"><linktext>Positioning
+<task xml:lang="en" id="GUID-86AD79A5-E18D-56C6-997A-5E2B24FEE80D"><title>Positioning Plug-in API Tutorial Overview</title><shortdesc>This document describes how to use the Positioning Plug-in API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><prereq><p>Read the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref> document before reading this tutorial. </p> </prereq> <context><p>To implement a Positioning Plug-in, a device creator must implement a sub-class of the <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref> base class, and package the module as an ECOM plug-in. </p> </context> <steps id="GUID-2EF57360-6BAA-524F-8B18-965AFA22CA90"><step id="GUID-364B1FAB-5589-5967-9D85-8BF06AF1F4B2"><cmd/><info> <xref href="GUID-328F3DB6-D956-5854-A81A-6B98DC3FA6DC.dita">Create an MMP file for the PSY</xref>  </info> </step> <step id="GUID-99D0BCB5-1FDB-5239-B889-B4789C33375C"><cmd/><info> <xref href="GUID-0B4D4675-2CFB-5964-A869-7275202AC71D.dita">Implement a subclass of CPositioner</xref>  </info> </step> <step id="GUID-473CF7CE-193E-5416-8240-BA188EC649BD"><cmd/><info> <xref href="GUID-2955A35E-1215-5C4A-9C24-0106FB75E295.dita">Provide ECOM registry information for the PSY</xref>  </info> </step> <step id="GUID-43D51AFE-52BA-5C01-9233-09AF13608C1C"><cmd/><info> <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Define PSY attributes using the Positioning Plug-in Information API</xref>  </info> </step> <step id="GUID-941CF569-0A8A-5C87-96DC-9443DA78084C"><cmd/><info>Test the PSY using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. </info> </step> </steps> </taskbody><related-links><link href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita"><linktext>Positioning
                 Plug-in API</linktext> </link> </related-links></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-86C21C9B-9F08-579F-84E9-CBE46F756373_d0e378153_href.png has changed
Binary file Symbian3/PDK/Source/GUID-86C21C9B-9F08-579F-84E9-CBE46F756373_d0e384006_href.png has changed
Binary file Symbian3/PDK/Source/GUID-873186CE-9723-558F-9C7E-0CEE607F076C_d0e681992_href.png has changed
Binary file Symbian3/PDK/Source/GUID-873186CE-9723-558F-9C7E-0CEE607F076C_d0e694819_href.png has changed
--- a/Symbian3/PDK/Source/GUID-875D74D3-5663-42E3-A4B9-294F82FF5486.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-875D74D3-5663-42E3-A4B9-294F82FF5486.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 every kind of successful action).</p>
 <fig id="GUID-E4323AE0-295E-42C0-8B7F-248F43CA33D6">
 <title>Confirmation note</title>
-<image href="GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e87023_href.png" placement="inline"/>
+<image href="GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e91221_href.png" placement="inline"/>
 </fig>
 <section id="GUID-8204F49B-E601-4CBB-8778-33912E4EF76F"><title>Guidelines
 for using confirmation notes</title><p>Use a confirmation note when:</p><ul>
Binary file Symbian3/PDK/Source/GUID-8761F82E-5DC4-5BD5-A422-2EC45A92925B_d0e597320_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8761F82E-5DC4-5BD5-A422-2EC45A92925B_d0e625214_href.png has changed
Binary file Symbian3/PDK/Source/GUID-876EE000-01B7-4457-AE9C-CE56E48CFF11_d0e99556_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8792CCC3-B70F-53FC-B394-B0069AF90349.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8792CCC3-B70F-53FC-B394-B0069AF90349.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,18 +9,20 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-8792CCC3-B70F-53FC-B394-B0069AF90349" xml:lang="en"><title>InterpretSIS</title><abstract> <p>The <codeph>InterpretSIS</codeph> tool is a PC-side command-line
-tool. It can be used by device creators to install SIS files to a data drive
-image that can be flashed to a device internal drive or removable media. </p><p><codeph>InterpretSIS</codeph> can
-be invoked either through BUILDROM while creating a data drive image or as
-a stand-alone tool. If invoking the tool through BUILDROM, the SIS files to
-be installed are listed in the OBEY file using the SISfile keyword. For an
-example OBEY file, see <b> ROM Tools Guide &gt; ROM Tools Guide &gt; Using ROM Tools
-&gt; Building a Data Drive Image</b>. </p> </abstract><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-3003AA1E-5C97-4568-992D-55BD949DF733"><title>Syntax</title><p><userinput>interpretsis <parmname>[OPTIONS]</parmname> <cmdname>&lt;ARGS&gt;</cmdname> </userinput> </p> <p>The following table lists the options supported by
-the <codeph>InterpretSIS</codeph> tool: </p> <table id="GUID-EB7B464E-6D7A-56EB-A4DD-94352C9250DB">
-<title>Interpretsis tool options</title>
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<reference id="GUID-8792CCC3-B70F-53FC-B394-B0069AF90349" xml:lang="en"><title>InterpretSIS</title><abstract> <p>The <codeph>InterpretSIS</codeph> tool is a PC-side
+command-line tool. It can be used by device creators to install SIS
+files to a data drive image that can be flashed to a device internal
+drive or removable media. </p><p><codeph>InterpretSIS</codeph> can
+be invoked either through BUILDROM while creating a data drive image
+or as a stand-alone tool. If invoking the tool through BUILDROM, the
+SIS files to be installed are listed in the OBEY file using the SISfile
+keyword. For an example OBEY file, see <b> ROM Tools Guide &gt; ROM Tools
+Guide &gt; Using ROM Tools &gt; Building a Data Drive Image</b>. </p> </abstract><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-3003AA1E-5C97-4568-992D-55BD949DF733"><title>Syntax</title><p><userinput>interpretsis <parmname>[OPTIONS]</parmname> <cmdname>&lt;ARGS&gt;</cmdname> </userinput> </p> <p>The following table lists
+the options supported by the <codeph>InterpretSIS</codeph> tool: </p> <table id="GUID-EB7B464E-6D7A-56EB-A4DD-94352C9250DB"><title>Interpretsis
+tool options</title>
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/>
+<colspec colname="col2"/>
 <thead>
 <row>
 <entry>Options</entry>
@@ -46,14 +48,14 @@
 </row>
 <row>
 <entry><p> <codeph>-z</codeph>  </p> </entry>
-<entry><p>The directory representing the <filepath>Z</filepath> drive on the
-device. </p> </entry>
+<entry><p>The directory representing the <filepath>Z</filepath> drive
+on the device. </p> </entry>
 <entry><p><userinput>interpretsis -[z dir]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-c</codeph>  </p> </entry>
-<entry><p>(Mandatory). The directory representing the system drive on the
-device. </p> </entry>
+<entry><p>(Mandatory). The directory representing the system drive
+on the device. </p> </entry>
 <entry><p><userinput>interpretsis [-c dir] [-d drive] [-t romstubdir]</userinput> </p> </entry>
 </row>
 <row>
@@ -63,10 +65,10 @@
 </row>
 <row>
 <entry><p> <codeph>-r</codeph>  </p> </entry>
-<entry><p>List of ROM or ROFS build log files. For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-0bddead5-381b-4d8c-9437-74a4d9ef48b5">Configuring the content of ROM drive</xref>. </p> <p>This option must not
-be used with <varname>-z</varname> option or define the <filepath>Z</filepath> drive
-in the configuration file. </p> </entry>
-<entry><p><userinput> interpretsis [-r rofsbuild_log_file1,rofsbuild_log _file2,...]</userinput> </p> </entry>
+<entry><p>List of ROM or ROFS build log files. For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-0bddead5-381b-4d8c-9437-74a4d9ef48b5">Configuring the content of ROM drive</xref>. </p> <p>This option
+must not be used with <varname>-z</varname> option or define the <filepath>Z</filepath> drive in the configuration file. </p> </entry>
+<entry><p><userinput> interpretsis [-r rofsbuild_log_file1,rofsbuild_log
+_file2,...]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-t</codeph>  </p> </entry>
@@ -75,29 +77,27 @@
 </row>
 <row>
 <entry><p> <codeph>-e</codeph>  </p> </entry>
-<entry><p>Disables eclipsing and SID checks using <filepath>Z</filepath> drive.
-The <codeph>-z</codeph> or <codeph>-r</codeph> is not required when this option
-is used. </p> </entry>
+<entry><p>Disables eclipsing and SID checks using <filepath>Z</filepath> drive. The <codeph>-z</codeph> or <codeph>-r</codeph> is not required
+when this option is used. </p> </entry>
 <entry><p><userinput>interpretsis [-e]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-i</codeph>  </p> </entry>
-<entry><p>Configuration file with HAL attribute values for installation. For
-example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-b4a2d72c-95ab-44e6-8bf3-5cba3957c67e">Supporting
-device variant creation</xref>. </p> </entry>
+<entry><p>Configuration file with HAL attribute values for installation.
+For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-b4a2d72c-95ab-44e6-8bf3-5cba3957c67e">Supporting device variant creation</xref>. </p> </entry>
 <entry><p><userinput>interpretsis [-i config_file]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-k</codeph>  </p> </entry>
 <entry><p>Specifies the SISRegistry version to be generated. For example,
-see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-bd93fd67-d9b3-491b-802c-27cbd1038c0e">Configuring
-the registry version</xref>. </p> </entry>
-<entry><p><userinput>interpretsis [-k [4.0 | 5.0 | 5.1 | 5.2 | 5.3 | 5.4]]</userinput> </p> </entry>
+see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-bd93fd67-d9b3-491b-802c-27cbd1038c0e">Configuring the registry version</xref>. </p> </entry>
+<entry><p><userinput>interpretsis [-k [4.0 | 5.0 | 5.1 | 5.2 | 5.3
+| 5.4]]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-l</codeph>  </p> </entry>
-<entry><p>The log file in which the diagnostic information is stored. By default,
-the information is stored in <filepath>stderr</filepath>. </p> </entry>
+<entry><p>The log file in which the diagnostic information is stored.
+By default, the information is stored in <filepath>stderr</filepath>. </p> </entry>
 <entry><p><userinput>interpretsis [-l logfile]</userinput> </p> </entry>
 </row>
 <row>
@@ -108,21 +108,20 @@
 </row>
 <row>
 <entry><p> <codeph>-p</codeph>  </p> </entry>
-<entry><p>Specifies the file containing additional parameters. Command line
-arguments specified after the file overrides the file contents. </p> </entry>
+<entry><p>Specifies the file containing additional parameters. Command
+line arguments specified after the file overrides the file contents. </p> </entry>
 <entry><p><userinput>interpretsis [-p param_file]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-s</codeph>  </p> </entry>
-<entry><p>Specifies the SIS files to install.</p> <p>This option can be used
-to override the drive specified in the PKG file. For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-5ddda82b-39b2-4240-b89b-3f796f8f8e94">Overriding the installation drive specified in the PKG file</xref>. </p> <p>The <codeph>+sucert</codeph> option
-can be used with this option to indicate that the file is signed by a <codeph>SU</codeph> certificate.
-For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-1df8c2ad-3bab-4b03-8245-b37826c2910d">Installing
-system upgrade packages</xref>. </p><p>For more information about the options,
-see <xref href="GUID-8792CCC3-B70F-53FC-B394-B0069AF90349.dita#GUID-8792CCC3-B70F-53FC-B394-B0069AF90349/GUID-37F7F864-6228-56DA-A62F-43A0E6CAEA96">additional
-options</xref>.</p></entry>
-<entry><p><userinput>interpretsis [-s [sisfile | dir] [+drive [+mcard | +mcardnr
-| +mcardalone | + mcardalonenr | +nonremovablepkg] [+sucert]]] [-s ...]</userinput> </p> </entry>
+<entry><p>Specifies the SIS files to install.</p> <p>This option can
+be used to override the drive specified in the PKG file. For example,
+see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-5ddda82b-39b2-4240-b89b-3f796f8f8e94">Overriding the installation drive specified in the PKG file</xref>. </p> <p>The <codeph>+sucert</codeph> option can be used with this
+option to indicate that the file is signed by a <codeph>SU</codeph> certificate. For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-1df8c2ad-3bab-4b03-8245-b37826c2910d">Installing system upgrade packages</xref>. </p><p>For more information
+about the options, see <xref href="GUID-8792CCC3-B70F-53FC-B394-B0069AF90349.dita#GUID-8792CCC3-B70F-53FC-B394-B0069AF90349/GUID-37F7F864-6228-56DA-A62F-43A0E6CAEA96">additional options</xref>.</p></entry>
+<entry><p><userinput>interpretsis [-s [sisfile | dir] [+drive [+mcard
+| +mcardnr | +mcardalone | + mcardalonenr | +nonremovablepkg] [+sucert]]]
+[-s ...]</userinput> </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>-w</codeph>  </p> </entry>
@@ -131,13 +130,21 @@
 </row>
 <row>
 <entry><p> <codeph>-x</codeph>  </p> </entry>
-<entry><p>Removes the files installed for a package. For example, see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-2e68d8df-461c-428e-9874-9b0df47072f0">Uninstalling
-preinstalled packages</xref>. </p> <p>This option must not be used with <codeph>-s</codeph> option. </p> </entry>
+<entry><p>Removes the files installed for a package. For example,
+see <xref href="GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE.dita#GUID-882DCE58-5E5F-44D2-9E84-093709EAA4BE/GUID-2e68d8df-461c-428e-9874-9b0df47072f0">Uninstalling preinstalled packages</xref>. </p> <p>This option must
+not be used with <codeph>-s</codeph> option. </p> </entry>
 <entry><p><userinput>interpretsis [-x pkgUID[,pkgUID2,...]]</userinput> </p> </entry>
 </row>
+<row>
+<entry><p> <codeph>-a</codeph>  </p> </entry>
+<entry/>
+<entry/>
+</row>
 </tbody>
 </tgroup>
-</table> <p>The following table lists the additional options that can be used: </p> <table id="GUID-37F7F864-6228-56DA-A62F-43A0E6CAEA96"><title>Additional options</title>
+</table> <p>The following table lists the additional options that
+can be used: </p> <table id="GUID-37F7F864-6228-56DA-A62F-43A0E6CAEA96">
+<title>Additional options</title>
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
 <row>
@@ -148,32 +155,31 @@
 <tbody>
 <row>
 <entry><p> <codeph>mcard</codeph>  </p> </entry>
-<entry><p>Generates stub SIS file for the installation package. This is required
-for package propagation. </p> </entry>
+<entry><p>Generates stub SIS file for the installation package. This
+is required for package propagation. </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>mcardnr</codeph>  </p> </entry>
-<entry><p>Generates non-removable stub SIS file for the installation package. </p> </entry>
+<entry><p>Generates non-removable stub SIS file for the installation
+package. </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>mcardalone</codeph>  </p> </entry>
-<entry><p>Generates stub SIS file for the installation package and does not
-generate the SIS Registry entry in the <filepath>$:\sys\install\sisregistry\&lt;package
-UID&gt;\</filepath> directory. It just creates a preinstalled package on the
-media card. </p> </entry>
+<entry><p>Generates stub SIS file for the installation package and
+does not generate the SIS Registry entry in the <filepath>$:\sys\install\sisregistry\&lt;package
+UID&gt;\</filepath> directory. It just creates a preinstalled package
+on the media card. </p> </entry>
 </row>
 <row>
 <entry><p> <codeph>mcardalonenr</codeph>  </p> </entry>
-<entry><p>Generates non-removable stub SIS file for the installation package
-and does not generating the SIS Registry entry in <filepath>$:\sys\install\sisregistry\&lt;package
-UID&gt;\</filepath> directory. </p> </entry>
+<entry><p>Generates non-removable stub SIS file for the installation
+package and does not generating the SIS Registry entry in <filepath>$:\sys\install\sisregistry\&lt;package UID&gt;\</filepath> directory. </p> </entry>
 </row>
 <row>
 <entry><p><codeph>nonremovablepkg</codeph></p></entry>
-<entry><p>Generates a non-removable installation package.</p><note> This option
-converts a removable SIS file to non-removable SIS file at install time. It
-reduces the effort of creating a new SIS file with the <codeph>NR</codeph> flag
-during device creation.</note></entry>
+<entry><p>Generates a non-removable installation package.</p><note> This option converts a removable SIS file to non-removable SIS file
+at install time. It reduces the effort of creating a new SIS file
+with the <codeph>NR</codeph> flag during device creation.</note></entry>
 </row>
 <row>
 <entry><p> <codeph>sucert</codeph>  </p> </entry>
@@ -192,8 +198,8 @@
 <tbody>
 <row>
 <entry><p>pkgUID </p> </entry>
-<entry><p>The installed package UID either in Hexadecimal or Decimal format
-(for example, 0x12345678, 305419896). </p> </entry>
+<entry><p>The installed package UID either in Hexadecimal or Decimal
+format (for example, 0x12345678, 305419896). </p> </entry>
 </row>
 <row>
 <entry><p>sisfile </p> </entry>
--- a/Symbian3/PDK/Source/GUID-8798F896-E0CB-4B9B-8F88-3C8B58574213.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8798F896-E0CB-4B9B-8F88-3C8B58574213.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,6 +21,6 @@
 define the physical channel class. </p> <fig id="GUID-8C470617-1743-546F-A0A4-A20B1480539D">
 <title>                 Device driver physical channel classes           
    </title>
-<image href="GUID-F8A32666-5003-5B14-A700-C6E6388D2D38_d0e291470_href.png" placement="inline"/>
+<image href="GUID-F8A32666-5003-5B14-A700-C6E6388D2D38_d0e297462_href.png" placement="inline"/>
 </fig>     </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-87A1B62D-4C89-52B8-8BF3-BDE0AC53916C_d0e373341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-87A1B62D-4C89-52B8-8BF3-BDE0AC53916C_d0e379189_href.png has changed
--- a/Symbian3/PDK/Source/GUID-87E45FA9-C1F9-5E4D-A5A1-25B62E508F35.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-87E45FA9-C1F9-5E4D-A5A1-25B62E508F35"><title>Introduction to Capability Management tools</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Overview</title> <p>The Capability Management tool suite is useful to anyone involved in assigning or managing capabilities for Symbian platform ROM images and applications. </p> <p>The suite is a set of command line tools that allows you to compare capabilities of binaries that have been developed against Symbian platform, with a pre-defined list of capabilities within a standard Symbian platform ROM image. This is to make sure that your applications have been assigned the correct access rights. </p> <p>The results are shown in an HTML report. </p> <p>The Capability Management tool suite includes the following three tools: </p> <ul><li id="GUID-BED5F44B-DB76-5652-B2C5-2991C7536407"><p><xref href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita">CapSearch</xref> - allows you to list binary files with a specified capability, using the ROM log file as input. </p> </li> <li id="GUID-DB6585D1-7524-5B4E-93BA-37D12DEE10EC"><p><xref href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita">CapCheck</xref> - allows you to compare actual capabilities found in a ROM log with a list of expected capabilities for binaries. </p> </li> <li id="GUID-0FFD2EEF-C1DE-5707-949D-D2387283D782"><p><xref href="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita">CapImportCheck</xref> - allows you to check whether the capabilities of a binary listed in your ROM log file are the same as the capabilities of the binaries that may import that particular binary. </p> </li> </ul> <p>The Capability Management tools are installed as part of the Symbian platform Customization or Development Kit and can be found in <filepath>&lt;EPOCRoot&gt;\epoc32\tools\CapTools</filepath>. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-87E9656E-CBB4-5023-B6BC-148A2957AFFC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-87E9656E-CBB4-5023-B6BC-148A2957AFFC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-87E9656E-CBB4-5023-B6BC-148A2957AFFC"><title>Quality Profiles Overview</title><shortdesc>A quality profile defines the minimum acceptable horizontal and vertical accuracy required for a location fix and the maximum acceptable time to obtain the fix. A quality profile is used when the client that requests a position fix does not specify any position quality criteria. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>Sets of acceptable quality parameters are stored in <filepath>lbsprofile.ini</filepath>. The Quality Profile API enables LBS subsystem components to read the quality profile data stored in that file. </p> <p>An LBS administration setting determines which quality profile is used for different types of location request (MO-LR self locate, MO-LR transfer to third party and MT-LR). </p> <section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-18-1-1-7-1-5-1-5-1-4-1-3-3"><title>lbsprofile.ini</title> <p>A typical quality profile file <filepath>lbsprofile.ini</filepath> is shown below. </p> <codeblock id="GUID-E049EFF4-A6DF-5A84-BCD6-5B0CA9FBECF7" xml:space="preserve">#
+<concept xml:lang="en" id="GUID-87E9656E-CBB4-5023-B6BC-148A2957AFFC"><title>Quality Profiles Overview</title><shortdesc>A quality profile defines the minimum acceptable horizontal and vertical accuracy required for a location fix and the maximum acceptable time to obtain the fix. A quality profile is used when the client that requests a position fix does not specify any position quality criteria. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>Sets of acceptable quality parameters are stored in <filepath>lbsprofile.ini</filepath>. The Quality Profile API enables LBS subsystem components to read the quality profile data stored in that file. </p> <p>An LBS administration setting determines which quality profile is used for different types of location request (MO-LR self locate, MO-LR transfer to third party and MT-LR). </p> <section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-19-1-1-7-1-5-1-5-1-4-1-3-3"><title>lbsprofile.ini</title> <p>A typical quality profile file <filepath>lbsprofile.ini</filepath> is shown below. </p> <codeblock id="GUID-E049EFF4-A6DF-5A84-BCD6-5B0CA9FBECF7" xml:space="preserve">#
 # Quality Profiles for LBS services
 #
 
Binary file Symbian3/PDK/Source/GUID-881C353C-6482-4DFE-9D43-CFB80DEB77A5_d0e2926_href.png has changed
Binary file Symbian3/PDK/Source/GUID-881C353C-6482-4DFE-9D43-CFB80DEB77A5_d0e2936_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8862E271-ABA4-5A25-8990-C0B3931E370D_d0e658895_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8862E271-ABA4-5A25-8990-C0B3931E370D_d0e671722_href.png has changed
Binary file Symbian3/PDK/Source/GUID-89185EBD-223F-5F52-B1CA-9F9692F7D21F_d0e237470_href.png has changed
Binary file Symbian3/PDK/Source/GUID-89185EBD-223F-5F52-B1CA-9F9692F7D21F_d0e243443_href.png has changed
--- a/Symbian3/PDK/Source/GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,8 +9,8 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9"><title>Positioning Plug-in API (PSY API)</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Positioning Plug-in API defines the framework classes needed to implement Positioning Plug-ins (PSYs). </p> <p>This API is intended for device creators who develop their own PSYs. </p> <section><title>API description</title> <p>The Positioning Plug-in API provides framework classes for developing PSYs. </p> <p>The Location Server (eposserver.exe) loads and uses a PSY implementation to obtain position information. </p> <p>In order to implement a PSY, a licensee must define new subclasses of the main API class <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref>. </p> <p>A PSY must also implement the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to publish information about its capabilities to the Location Framework. </p> </section> <section><title>API summary</title> <p>Figure 1 shows the classes of the PSY API. </p> <fig id="GUID-1C5F848C-0687-524B-8125-7CD50ADA87E9"><title>
+<concept xml:lang="en" id="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9"><title>Positioning Plug-in API (PSY API)</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Positioning Plug-in API defines the framework classes needed to implement Positioning Plug-ins (PSYs). </p> <p>This API is intended for device creators who develop their own PSYs. </p> <section><title>API description</title> <p>The Positioning Plug-in API provides framework classes for developing PSYs. </p> <p>The Location Server (eposserver.exe) loads and uses a PSY implementation to obtain position information. </p> <p>In order to implement a PSY, a licensee must define new subclasses of the main API class <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref>. </p> <p>A PSY must also implement the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to publish information about its capabilities to the Location Framework. </p> </section> <section><title>API summary</title> <p>Figure 1 shows the classes of the PSY API. </p> <fig id="GUID-1C5F848C-0687-524B-8125-7CD50ADA87E9"><title>
              Figure 1. PSY API class diagram. 
-          </title> <image href="GUID-4F8197C3-D61B-579A-81E9-ED6397EB5645_d0e456038_href.png" placement="inline"/></fig> <p>The following table gives a brief description of the API classes. </p> <table id="GUID-EDCF2480-C199-5077-829C-984AF786F15F"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class Name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref> is the main class in the Positioning Plug-in API. </p> <p>A PSY must implement a <codeph>CPositioner</codeph> subclass to handle positioning requests. </p> <p> <codeph>CPositioner</codeph> defines two pure virtual functions: </p> <ul><li id="GUID-658C8C9C-DE2A-5DB3-A894-97040CB37CB5"><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-03A37FAC-3129-3483-AC7F-C17A46D9F431"><apiname>CPositioner::NotifyPositionUpdate()</apiname></xref>  </p> </li> <li id="GUID-D80EA49F-71A7-56F6-9D33-5FF9052CAA73"><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-D28C6BC6-69B8-3D69-BE46-5745C5B77A4D"><apiname>CPositioner::CancelNotifyPositionUpdate()</apiname></xref> </p> </li> </ul> <p>A PSY must implement these two functions. </p> <p>This class also defines advanced features, such as for location tracking, for which it provides a default implementation. </p> </entry> <entry><p> <codeph>EPos_CPositioner.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-86CB276D-F920-3115-858E-31AF13EABD30.dita"><apiname>MPositionerStatus</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-86CB276D-F920-3115-858E-31AF13EABD30.dita"><apiname>MPositionerStatus</apiname></xref> provides an interface through which a PSY reports its status. </p> <p>Class <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> of the Location Acquisition API defines the states that a PSY can report. </p> </entry> <entry><p> <codeph>EPos_MPositionerStatus.h</codeph>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Libraries</title> <p>API classes are packaged in <filepath>epospluginfw.dll</filepath>. Clients link with <filepath>epospluginfw.lib</filepath>  </p> </section> <section><title>Capabilities</title> <p>PSYs are ECOM plug-ins loaded by the LBS Location Framework. They must be declared as having the capability <codeph>ALL -TCB</codeph>. </p> </section> </conbody><related-links><link href="GUID-CEBAC67F-DEFE-51EF-93CE-2FA61AA68997.dita"><linktext>Positioning
-                Plug-in API Tutorial</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in
+          </title> <image href="GUID-4F8197C3-D61B-579A-81E9-ED6397EB5645_d0e461883_href.png" placement="inline"/></fig> <p>The following table gives a brief description of the API classes. </p> <table id="GUID-EDCF2480-C199-5077-829C-984AF786F15F"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class Name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita"><apiname>CPositioner</apiname></xref> is the main class in the Positioning Plug-in API. </p> <p>A PSY must implement a <codeph>CPositioner</codeph> subclass to handle positioning requests. </p> <p> <codeph>CPositioner</codeph> defines two pure virtual functions: </p> <ul><li id="GUID-658C8C9C-DE2A-5DB3-A894-97040CB37CB5"><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-03A37FAC-3129-3483-AC7F-C17A46D9F431"><apiname>CPositioner::NotifyPositionUpdate()</apiname></xref>  </p> </li> <li id="GUID-D80EA49F-71A7-56F6-9D33-5FF9052CAA73"><p> <xref href="GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350.dita#GUID-0CA8AEC1-FF5E-3556-ACBD-0D4277CF1350/GUID-D28C6BC6-69B8-3D69-BE46-5745C5B77A4D"><apiname>CPositioner::CancelNotifyPositionUpdate()</apiname></xref> </p> </li> </ul> <p>A PSY must implement these two functions. </p> <p>This class also defines advanced features, such as for location tracking, for which it provides a default implementation. </p> </entry> <entry><p> <codeph>EPos_CPositioner.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-86CB276D-F920-3115-858E-31AF13EABD30.dita"><apiname>MPositionerStatus</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-86CB276D-F920-3115-858E-31AF13EABD30.dita"><apiname>MPositionerStatus</apiname></xref> provides an interface through which a PSY reports its status. </p> <p>Class <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> of the Location Acquisition API defines the states that a PSY can report. </p> </entry> <entry><p> <codeph>EPos_MPositionerStatus.h</codeph>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Libraries</title> <p>API classes are packaged in <filepath>epospluginfw.dll</filepath>. Clients link with <filepath>epospluginfw.lib</filepath>  </p> </section> <section><title>Capabilities</title> <p>PSYs are ECOM plug-ins loaded by the LBS Location Framework. They must be declared as having the capability <codeph>ALL -TCB</codeph>. </p> </section> </conbody><related-links><link href="GUID-CEBAC67F-DEFE-51EF-93CE-2FA61AA68997.dita"><linktext>Positioning
+                Plug-in API Tutorial</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in
                 Information API</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-894AB487-C127-532D-852B-37CB0DEA1440.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-894AB487-C127-532D-852B-37CB0DEA1440.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -150,7 +150,7 @@
 on which it is to be shown. </p> <fig id="GUID-5D5F3C6A-4CFA-5307-8B2D-D2881799D664">
 <title>Each window has a parent window group which is associated with
 a screen</title>
-<image href="GUID-CF9EF400-DE1F-55F7-BD33-C4CD80462971_d0e268956_href.png" placement="inline"/>
+<image href="GUID-CF9EF400-DE1F-55F7-BD33-C4CD80462971_d0e274956_href.png" placement="inline"/>
 </fig> <p>When you create a window surface in EGL using <codeph>eglCreateWindowSurface</codeph>, you pass in the <codeph>RWindow</codeph> as an argument. The window
 surface is then displayed on the screen associated with that window's
 parent window group. Currently a window can exist on only one screen. </p> </section>
Binary file Symbian3/PDK/Source/GUID-8983A095-3F5A-5262-8920-8A13ADD045DC_d0e322660_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8983A095-3F5A-5262-8920-8A13ADD045DC_d0e328646_href.png has changed
--- a/Symbian3/PDK/Source/GUID-89ADFC64-AF9F-51B1-AC5F-493897226270.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-89ADFC64-AF9F-51B1-AC5F-493897226270" xml:lang="en"><title>STRUCT
-member types</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;struct-member&gt;
-struct-member ::= 
-&lt;member-declaration&gt; [ = &lt;initialiser&gt; ]; &lt;member-declaration&gt;
-member-declaration ::= 
-&lt;type-name&gt; &lt;member-name&gt; | [ LEN [ BYTE ] ] &lt;type-name&gt; &lt;member-name&gt; [ ( &lt;length-limit&gt; ) ] [ [ [ &lt;array-size&gt; ] ] ] &lt;type-name&gt;
-type-name ::= 
-BYTE | WORD | LONG | TEXT | DOUBLE | LTEXT | BUF | BUF8 | BUF&lt;n&gt; | LINK | SRLINK | STRUCT </codeblock>
-<p><b>Member declaration</b> </p>
-<p>Each member of a struct is identified by a <varname>member-declaration</varname> followed
-by an optional <varname>initialiser</varname>, and then a semi-colon.</p>
-<p>The simplest form of <varname>member-declaration</varname> is to specify
-a <varname>type-name</varname> and a <varname>member-name</varname> only:</p>
-<codeblock id="GUID-1137C4C8-B450-5ECA-97E5-8DECB8ABBB20" xml:space="preserve">STRUCT TEST
- {
- WORD length;
- }</codeblock>
-<p><b>Type name</b> </p>
-<p>The <varname>type-name</varname> must be in upper case (<codeph>WORD</codeph> in
-this example).</p>
-<p>These are the valid types:</p>
-<table id="GUID-0611DEBC-6A5E-565A-8BDB-317C2CCCA24F">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p><codeph>BYTE</codeph> </p> </entry>
-<entry><p>A single byte. </p> <p>Can be treated as a signed integer (–128
-to +127) or unsigned integer (0 to 255).</p> </entry>
-</row>
-<row>
-<entry><p><codeph>WORD</codeph> </p> </entry>
-<entry><p>Two bytes. </p> <p>Can be treated as a signed integer (–32,768 to
-+32,767) or unsigned integer (0 to 65,535).</p> </entry>
-</row>
-<row>
-<entry><p><codeph>LONG</codeph> </p> </entry>
-<entry><p>Four bytes. </p> <p>Can be treated as a signed integer (–2,147,483,648
-to 2147483647) or an unsigned integer (0 to 4,294,967,295).</p> </entry>
-</row>
-<row>
-<entry><p><codeph>DOUBLE</codeph> </p> </entry>
-<entry><p>Eight byte real for double precision floating point numbers (approximately
-±1.7E±308).</p> </entry>
-</row>
-<row>
-<entry><p><codeph>TEXT</codeph> </p> </entry>
-<entry><p>A string, terminated by a null. </p> <p>This is deprecated: use <codeph>LTEXT</codeph> instead.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>LTEXT</codeph> </p> </entry>
-<entry><p>A Unicode string with a leading byte which holds the length of the
-string, and no terminating null. </p> </entry>
-</row>
-<row>
-<entry><p><codeph>BUF</codeph> </p> </entry>
-<entry><p>A Unicode string with no terminating null and no leading byte.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>BUF8</codeph> </p> </entry>
-<entry><p>A string of 8-bit characters, with no terminating null and no leading
-byte. Used for putting 8-bit data into a resource.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>BUF&lt;n&gt;</codeph> </p> </entry>
-<entry><p>A Unicode string with no terminating null and no leading byte but
-which has a maximum length <codeph>n</codeph>. </p> <p>This type is an alternative
-to using the length-limit with <codeph>BUF</codeph> types.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>LINK</codeph> </p> </entry>
-<entry><p>The ID of another resource (16 bits), rather like a pointer to that
-resource.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>LLINK</codeph> </p> </entry>
-<entry><p>The ID of another resource (32 bits).</p> </entry>
-</row>
-<row>
-<entry><p><codeph>SRLINK</codeph> </p> </entry>
-<entry><p>A self-referencing link. This is a 32 bit link which contains the
-resource ID of the resource it is defined in.</p> <p>An <codeph>SRLINK</codeph> member
-may not have an <codeph>initialiser</codeph> since it is self-referencing
-and, therefore, only takes the value of the resource ID the struct is declared
-in. This is assigned automatically by the resource compiler.</p> </entry>
-</row>
-<row>
-<entry><p><codeph>STRUCT</codeph> </p> </entry>
-<entry><p>Any struct, rather like including that struct as a member in this
-struct. </p> <p><codeph>STRUCT</codeph> members are useful because it means
-that once a struct has been defined it can be re-used for a variety of resources.</p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>Note that:</p>
-<ul>
-<li id="GUID-CFC06150-A2AB-50E1-A309-841FD7A14A1F"><p>Numbers more than one
-byte long are stored little-endian: that is, their least significant byte
-is stored first.</p> </li>
-<li id="GUID-B3054853-8740-5891-B05B-7F45C7C0D154"><p><codeph>LINK</codeph> and <codeph>STRUCT</codeph> are
-not type-safe: it is the responsibility of the user of a struct to ensure
-that the correct resource type is linked or included. The definer of a struct
-should give some idea, perhaps using a comment:</p> <codeblock id="GUID-748ECC10-244C-513B-A417-BC1FF38DDA56" xml:space="preserve">STRUCT TEST
- {
- WORD length;
- STRUCT text; // should be a STRING 
- }</codeblock> </li>
-</ul>
-<p><b>Length limits</b> </p>
-<p>A length limit may be specified for members of string type (<codeph>BUF</codeph>, <codeph>TEXT</codeph> and <codeph>LTEXT</codeph>).
-The length limit is enclosed in parentheses after the member name, for instance:</p>
-<codeblock id="GUID-50C68BAE-63AD-50D6-A97F-8181478CACB2" xml:space="preserve">STRUCT TEST
- {
- TEXT string1(9);
- LTEXT string2(MAX);
- BUF string3;
- }</codeblock>
-<ul>
-<li id="GUID-495CC55D-94BD-5775-9ADA-C548CC7BCE9E"><p><codeph>string1</codeph> has
-a maximum of 9 characters, <codeph>string2</codeph> a maximum of <codeph>MAX</codeph> characters
-(where <codeph>MAX</codeph> has been <codeph>#defined</codeph> elsewhere)
-and <codeph>string3</codeph> has no maximum length. Note that this maximum
-applies only to the actual characters and does not take account of the terminating
-zero (for <codeph>TEXT</codeph> members) or leading byte (for <codeph>LTEXT</codeph> members).</p> </li>
-<li id="GUID-C853D58D-EE65-5BA8-9F15-1DE1A57AC93A"><p>Note that from v5 onwards, <codeph>TEXT</codeph> is
-deprecated.</p> </li>
-<li id="GUID-1D3ADFB6-CC80-5951-9D9F-4CEFF86A2726"><p>An alternative method
-to using <varname>length-limit</varname> with a <codeph>BUF</codeph> type
-is to use the type <codeph>BUF&lt;n&gt;</codeph>. For example, see the definition
-of <codeph>TEST</codeph> and the resource definitions for <codeph>test1</codeph>, <codeph>test2</codeph> and <codeph>test3</codeph> in
-the examples below.</p> </li>
-</ul>
-<p><b>Member name</b> </p>
-<p>The <varname>member-name</varname> must be in lower case.</p>
-<example><codeblock id="GUID-0268988A-BB90-5926-AF3D-97016E53DBAD" xml:space="preserve">STRUCT TEST
- {
- BUF&lt;4&gt; string;
- }</codeblock><codeblock id="GUID-563A42B3-3B7C-550E-BBF5-DA845FFA7F6C" xml:space="preserve">RESOURCE TEST test1
- {
- string="abcd";
- }</codeblock><codeblock id="GUID-E76C4FB4-14D2-5BC2-B9C5-8065472E8191" xml:space="preserve">RESOURCE TEST test2
- {
- string="ab";
- }</codeblock><codeblock id="GUID-60CA1CB6-B228-54AF-9086-C66C2E61D2E4" xml:space="preserve">RESOURCE TEST test3
- {
- string="abcdef";
- }</codeblock><ul>
-<li id="GUID-D23F56A1-591D-5025-BE84-D8B2BF7BA521"><p><codeph>test1</codeph> generates <codeph>0x61
-0x00 0x62 0x00 0x63 0x00 0x64 0x00</codeph> </p> </li>
-<li id="GUID-3BB272D8-5BD1-5759-81B8-C2160CBAFB5A"><p><codeph>test2</codeph> generates <codeph>0x61
-0x00 0x62 0x00</codeph> </p> </li>
-<li id="GUID-7637A3EB-06BB-563C-A5D4-6F70755E22CF"><p>but <codeph>test3</codeph> generates
-an error because the maximum length of <codeph>string</codeph> permitted by
-the definition of the <codeph>STRUCT</codeph> is 4.</p> </li>
-</ul></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-89C5B56D-0846-4D32-94E5-CEF8BFA47D4E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-89C5B56D-0846-4D32-94E5-CEF8BFA47D4E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,8 +20,8 @@
 <context id="GUID-963EA55A-3033-40AC-83AE-00687F7F185E">       <p>To migrate
 from C Standard Library (ESTLIB) to P.I.P.S., perform the following steps:</p> 
    </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-5-1-3-1-10-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-5-1-3-1-10-1-3-3-1"><cmd/>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-5-1-3-1-10-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-5-1-3-1-10-1-3-3-1"><cmd/>
 <info><p>Replace the <codeph>LIBRARY</codeph> entry in the <filepath>.MMP</filepath> file
 from <filepath>estlib.lib</filepath> to <filepath>libc.lib libm.lib libpthread.lib</filepath>.</p></info>
 </step>
@@ -29,7 +29,7 @@
 <info><p>Replace the <codeph>LIBRARY</codeph> entry in the <filepath>.MMP</filepath> file
 from <filepath>ecrt0.lib</filepath> to <filepath>libcrt0.lib</filepath>.</p></info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-5-1-3-1-10-1-3-3-3"><cmd/>
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-5-1-3-1-10-1-3-3-3"><cmd/>
 <info><p>Replace the <codeph>SYSTEMINCLUDE</codeph> path from <filepath>\epoc32\include\libc</filepath> to <filepath>\epoc32\include\stdapis</filepath>.</p></info>
 <stepresult><p><b>Important</b>: If any non-POSIX worked around code (written
 to satisfy POSIX-deviated ESTLIB return codes) is present in your existing
--- a/Symbian3/PDK/Source/GUID-89D8ECA6-23C3-5573-8DC6-10F7FF7B491F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-89D8ECA6-23C3-5573-8DC6-10F7FF7B491F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,15 +11,15 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-89D8ECA6-23C3-5573-8DC6-10F7FF7B491F"><title>Types of Email</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes the types of email that Messaging Middleware supports and the structure of email messages. </p> <p>The following are the types of email that are supported. The diagrams represent the structure of the message entries in the Message Server. </p> <section><title>Plain text messages</title> <p>Non-MIME emails are the simplest type of mail message and contain only a plain text message body. </p> <fig id="GUID-7831EE1E-4F8D-526E-8B2F-28B88EF47590"><title>
              Plain text messages 
-          </title> <image href="GUID-8E322085-07E7-542C-B0FD-54431F7B4BB7_d0e471447_href.jpg" placement="inline"/></fig> </section> <section><title> UUEncoded messages</title> <p>To allow for binary files to be ‘attached’ to non-MIME emails, it is possible to UUEncode the binary data and include it as text within the message. A typical message would consist of some text, followed by the UUEncoded data, followed by more text and UUEncoded data. </p> <fig id="GUID-EE589E7D-D61D-53BB-BE6C-D987155511AA"><title>
+          </title> <image href="GUID-8E322085-07E7-542C-B0FD-54431F7B4BB7_d0e477283_href.jpg" placement="inline"/></fig> </section> <section><title> UUEncoded messages</title> <p>To allow for binary files to be ‘attached’ to non-MIME emails, it is possible to UUEncode the binary data and include it as text within the message. A typical message would consist of some text, followed by the UUEncoded data, followed by more text and UUEncoded data. </p> <fig id="GUID-EE589E7D-D61D-53BB-BE6C-D987155511AA"><title>
              UUEncoded messages 
-          </title> <image href="GUID-6E161670-EBC6-599B-8EB8-2E48C8EA57CC_d0e471461_href.jpg" placement="inline"/></fig> </section> <section><title>Multipart messages</title> <p>The multipart messages are the most popular form of modern emails. Multipart messages contain a sequence of body parts which can in turn contain additional nested body parts. The simplest example would be a text message with a single binary attachment. Binary data is typically encoded using BASE64 encoding. </p> <fig id="GUID-73EA864D-7C20-56CF-8CAD-903AE24A3C57"><title>
+          </title> <image href="GUID-6E161670-EBC6-599B-8EB8-2E48C8EA57CC_d0e477297_href.jpg" placement="inline"/></fig> </section> <section><title>Multipart messages</title> <p>The multipart messages are the most popular form of modern emails. Multipart messages contain a sequence of body parts which can in turn contain additional nested body parts. The simplest example would be a text message with a single binary attachment. Binary data is typically encoded using BASE64 encoding. </p> <fig id="GUID-73EA864D-7C20-56CF-8CAD-903AE24A3C57"><title>
              Multipart messages 
-          </title> <image href="GUID-C7560CDB-E8F4-55E8-953C-3731B690CF76_d0e471475_href.jpg" placement="inline"/></fig> </section> <section><title>HTML text messages</title> <p>HTML text messages contain an HTML representation of the message body text (complete with all text formatting) and a corresponding plain text version. The email client can then decide which to display to the user based in its capabilities. </p> <fig id="GUID-8C5A76B3-70E8-5419-9503-4D91D00940EA"><title>
+          </title> <image href="GUID-C7560CDB-E8F4-55E8-953C-3731B690CF76_d0e477311_href.jpg" placement="inline"/></fig> </section> <section><title>HTML text messages</title> <p>HTML text messages contain an HTML representation of the message body text (complete with all text formatting) and a corresponding plain text version. The email client can then decide which to display to the user based in its capabilities. </p> <fig id="GUID-8C5A76B3-70E8-5419-9503-4D91D00940EA"><title>
              HTML text messages 
-          </title> <image href="GUID-9DD43E77-FB3D-5931-899B-F17198F726D0_d0e471489_href.jpg" placement="inline"/></fig> </section> <section><title>HTML messages with attachments</title> <p>As with HTML text messages, these contain plain and HTML versions of the body text, as well as additional body parts containing potentially encoded attachment data. </p> <fig id="GUID-248A862E-F582-5E58-AEEF-07FEF662EC78"><title>
+          </title> <image href="GUID-9DD43E77-FB3D-5931-899B-F17198F726D0_d0e477325_href.jpg" placement="inline"/></fig> </section> <section><title>HTML messages with attachments</title> <p>As with HTML text messages, these contain plain and HTML versions of the body text, as well as additional body parts containing potentially encoded attachment data. </p> <fig id="GUID-248A862E-F582-5E58-AEEF-07FEF662EC78"><title>
              HTML messages with attachments 
-          </title> <image href="GUID-C213B26D-32EC-5CD9-956E-1C2143E5D0CA_d0e471503_href.jpg" placement="inline"/></fig> </section> <section><title>HTML messages with embedded message</title> <p>Messages can contain embedded messages within their body parts. This example shows a message with parts consisting of plain text, an attachment, and an embedded message. The embedded message in turn contains an attachment as well a plain and html versions of the body text. </p> <fig id="GUID-E943461D-8FEE-5C72-82BA-24D8A4979283"><title>
+          </title> <image href="GUID-C213B26D-32EC-5CD9-956E-1C2143E5D0CA_d0e477339_href.jpg" placement="inline"/></fig> </section> <section><title>HTML messages with embedded message</title> <p>Messages can contain embedded messages within their body parts. This example shows a message with parts consisting of plain text, an attachment, and an embedded message. The embedded message in turn contains an attachment as well a plain and html versions of the body text. </p> <fig id="GUID-E943461D-8FEE-5C72-82BA-24D8A4979283"><title>
              HTML messages with embedded message 
-          </title> <image href="GUID-192C7AC8-DCBD-5AA8-984A-35D9602C0ADB_d0e471517_href.jpg" placement="inline"/></fig> </section> <section><title>Storage of email parts</title> <p>The majority of the message data is stored within a single file. This contain separate streams for header information, MIME headers, attachment information and the rich text store. If the message contained attachments, a corresponding folder exists that stores each attachment as a separate decoded file. </p> </section> </conbody><related-links><link href="GUID-B394A824-8745-505E-8429-8B9B6D418387.dita"><linktext> Message Server and Store</linktext> </link> <link href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita"><linktext> Message Type Module</linktext> </link> <link href="GUID-AFF7DA70-E993-5943-A27A-266541922E2F.dita"><linktext>IMAP4
+          </title> <image href="GUID-192C7AC8-DCBD-5AA8-984A-35D9602C0ADB_d0e477353_href.jpg" placement="inline"/></fig> </section> <section><title>Storage of email parts</title> <p>The majority of the message data is stored within a single file. This contain separate streams for header information, MIME headers, attachment information and the rich text store. If the message contained attachments, a corresponding folder exists that stores each attachment as a separate decoded file. </p> </section> </conbody><related-links><link href="GUID-B394A824-8745-505E-8429-8B9B6D418387.dita"><linktext> Message Server and Store</linktext> </link> <link href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita"><linktext> Message Type Module</linktext> </link> <link href="GUID-AFF7DA70-E993-5943-A27A-266541922E2F.dita"><linktext>IMAP4
                 MTM</linktext> </link> <link href="GUID-EADCDE6F-127E-528C-B2E0-F13E5C7FD4EF.dita"><linktext>POP3 MTM</linktext> </link> <link href="GUID-3988C2DE-3FC5-5AF8-BB9F-499E7082F7D5.dita"><linktext>SMTP MTM</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8A00E047-3DCE-5D02-9ECE-1396DC99DA4B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8A00E047-3DCE-5D02-9ECE-1396DC99DA4B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,7 +39,7 @@
 user side code, such as the user library, and the device hardware: </p>
 <fig id="GUID-9B3AF7EC-8339-5F92-B4BC-20DD3331F103">
 <title>           Kernel architectural relationships          </title>
-<image href="GUID-C842C016-0D1B-5462-8B04-49CFE941A964_d0e375243_href.jpg" placement="inline"/>
+<image href="GUID-C842C016-0D1B-5462-8B04-49CFE941A964_d0e381087_href.jpg" placement="inline"/>
 </fig>
 <p>The implementation of these parts is split into code that is hardware independent,
 and code that is dependent on the hardware platform. Hardware dependent code
@@ -55,7 +55,7 @@
 </ul>
 <fig id="GUID-EBB913A8-1694-5C98-B38B-1387F850CDB4">
 <title>           Kernel source layers          </title>
-<image href="GUID-A480F734-9EDF-5E29-AC96-039B71B22AC3_d0e375282_href.png" placement="inline"/>
+<image href="GUID-A480F734-9EDF-5E29-AC96-039B71B22AC3_d0e381126_href.png" placement="inline"/>
 </fig>
 <p>The following is a brief description of each layer and its purpose. </p>
 <section id="GUID-5317DC8F-56A2-4AF1-889D-D8E6F4925A0B"><title>Layer 1: Independent </title><p>This
Binary file Symbian3/PDK/Source/GUID-8A1B6104-4B13-5200-AF3D-64B3929707BB_d0e381849_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8A1B6104-4B13-5200-AF3D-64B3929707BB_d0e387702_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8A5054C9-7556-5153-8CEE-FA8E5F4155AE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8A5054C9-7556-5153-8CEE-FA8E5F4155AE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -90,7 +90,7 @@
 <example><title>Explicit binding example</title> <p>Client A creates a socket
 with explicit binding using the specified interface connection. </p> <codeblock id="GUID-8CE9B83F-0091-5230-8F80-C27793E86437" xml:space="preserve">sock1 = RSocket.Open(srv,conn);</codeblock> <p>ESock
 creates the socket within the default connection and subconnection. </p> <fig id="GUID-BE26EF30-B103-5C3B-95A8-7ED66ECFE44C">
-<image href="GUID-B21A4858-162A-50F1-8F88-4259B7F7238E_d0e144206_href.png" placement="inline"/>
+<image href="GUID-B21A4858-162A-50F1-8F88-4259B7F7238E_d0e146455_href.png" placement="inline"/>
 </fig> </example>
 <postreq><p>A socket can also be opened over a sub-connection using <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref>.
 When the socket is opened, a new Service Access Point (SAP) is created for
--- a/Symbian3/PDK/Source/GUID-8A7B837D-4069-5364-A596-686EEBAE351D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8A7B837D-4069-5364-A596-686EEBAE351D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,8 +9,150 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-8A7B837D-4069-5364-A596-686EEBAE351D"><title>Plug-In Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Plug-in (ECom) framework is a generic framework that provides a single mechanism to register and discover plug-ins and load an appropriate plug-in. </p> <section><title>Purpose</title> <p>In early versions of Symbian platform, plug-ins were provided by <xref href="GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita">polymorphic interface DLLs</xref>. All the frameworks within the Symbian platform that needed to use plug-ins had to provide their own mechanisms for the clients to discover and instantiate the implementations. This resulted in duplication of functionality. </p> <p>The Plug-In framework is intended to provide a common and system-wide mechanism for instantiating a dynamically determined component. </p> <p>Three distinct users of the plug-in framework are: </p> <ul><li id="GUID-B72B2ED5-545F-54BA-89F3-9F014A17D9D8"><p>Framework or Application designers </p> <p>These users need to understand interface definition design and platform security implications. </p> </li> <li id="GUID-F0961823-257F-553D-B58E-8061ECA03FCD"><p>Plug-in writers </p> <p>These users need to understand interface implementation, DLL creation and platform security implementation issue. </p> </li> <li id="GUID-939853D9-4C52-5C6E-9804-E0594DE2B152"><p>Plug-in users </p> <p>These users need to understand that the plug-in framework helps in selecting the plug-in but sometimes may need to specify which implementation the framework should choose. </p> </li> </ul> </section> <section><title>Required background</title> <p> <b>Run-time Binding</b>: This is called dynamic binding or late binding. The linking of a routine or object is performed during runtime based on the requirements. </p> <p> <b>DLL (Dynamic Link Library)</b>: Is a piece of code (a library) that is linked to a program at runtime rather than during the build process. The code inside a DLL can be shared by several clients at the same time without being duplicated in the mobile memory. </p> <p>In addition , the user should be aware of the<xref href="GUID-9E4D75C0-D797-5541-8E52-3C6D154CC74A.dita"> Platform Security Considerations</xref> of the plug-in framework architecture. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt> Plug-in</dt> <dd><p>In computing, a plug-in(extension) consists of a computer program that interacts with a host application(a web browser or an email client) to provide a very specific function on demand. </p> <p>Applications support plugins to: </p> <ul><li id="GUID-E5F6B556-5957-50CE-9309-1013335A3911"><p>Enable third-party developers to create capabilities to extend an application. </p> </li> <li id="GUID-F882F8D5-A744-5079-9A15-DC5DD166C8BC"><p>Reduce the size of an application. </p> </li> <li id="GUID-6FC7254E-3CCF-58A2-810A-0B750CA178D5"><p>Separate source code from an application. </p> </li> </ul> </dd> </dlentry> <dlentry><dt>Plug-in System</dt> <dd><p>A client wishes to access a plug-in. The plug-in details are known only at run-time. The general characteristics of the plug-in are defined in an interface. Multiple variants of the plug-in can co-exist. </p> <p>The four clearly-defined roles of a plug-in system are: </p> <ul><li id="GUID-30A0D998-79B7-5039-B4B7-602C6C74F08B"><p>The <b>Client</b> that wishes to access services. </p> </li> <li id="GUID-8ED5CDA4-F17A-5BB2-A657-76ECE561844A"><p>The <b>Interface Definition</b> that defines how to request services. </p> </li> <li id="GUID-C371204A-5D56-52B9-AD55-D69BCCA5812B"><p>The <b>Interface Implementation/Plug-in </b> that provides the required processing. </p> </li> <li id="GUID-E89C937D-0DA1-5CDD-BDFC-6F4E3FD40FD2"><p>The <b>Framework</b> that provides the clients with the required access to the implementations. </p> </li> </ul> <p>The relationships can be represented as follows: </p> <fig id="GUID-47C384EC-4F9E-55EA-B50B-7DAD9E990865"><title>
-                  Plug-in relationships 
-                </title> <image href="GUID-CBD78250-3EF4-5DF0-B356-19996E15BBBD_d0e214193_href.png" placement="inline"/></fig> <p>The instantiation mechanism is responsible for providing the services that identify, and load the correct implementation at run-time. </p> </dd> </dlentry> <dlentry><dt> Interface</dt> <dd><p>Is an abstraction that an entity provides of itself to the outside. This separates the methods of external communication from internal operation. It allows internal modification and this modification does not affect the outside entities interaction with the interface. An interface can provide multiple abstractions. </p> </dd> </dlentry> <dlentry><dt> Interface API / Interface Definition</dt> <dd><p>Is a template for an interface implementation. </p> </dd> </dlentry> <dlentry><dt>Interface Client/Client</dt> <dd><p>Is an application that uses the interface definition. </p> </dd> </dlentry> <dlentry><dt>Interface Implementation Collection</dt> <dd><p>Is a collection of interface implementations/plug-ins. </p> </dd> </dlentry> <dlentry><dt>Registry</dt> <dd><p>Is a collection of plug-ins registered with the framework. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>The plug-in framework employs the client server architecture. The client session is a singleton per process thread. </p> <fig id="GUID-7B34EF3B-5C56-5CA8-ABC0-60AB4F5652A1"><title>
-             Plug-in framework architecture 
-          </title> <image href="GUID-2E3A91F9-5538-5E23-8D23-CE97B677A668_d0e214263_href.jpg" placement="inline"/></fig> <p>The functional components of the plug-in framework are: </p> <ul><li id="GUID-57437172-8AE4-5355-8776-E14C3298A6A1"><p>The <b> Client /Interface Client</b> that invokes the available services via the interface definition. </p> </li> <li id="GUID-807D6C07-9202-549D-9250-17806FBE1C40"><p>The <b>Server / Framework</b> controls access to a registry of available implementations that is used for interface implementation resolution and loading. </p> <p>The server facilitates: </p> <ul><li id="GUID-5A87C3FF-3576-5EAD-BD49-E2B498A09340"><p>Addition and removal of interface implementations. </p> <p>The addition, removal or modifications to an implementation is notified to the server. The server updates the changes in the registry. </p> </li> <li id="GUID-7D2957EE-C6BF-5687-84AA-A44C1EFBFD42"><p>Search/Access mechanisms. </p> <p>The registry data is maintained as a hierarchical arrangement of implementations. The complete data is scanned and matching interface implementation list is produced as a result of search. </p> </li> <li id="GUID-B44DA453-D953-515C-8B6C-D6F315CD03BD"><p>Resolution mechanisms. </p> <p>The best fit implementation from the resultant search is identified. </p> </li> <li id="GUID-1ABE83FD-E2DE-5A72-BBEA-F6F216961C9D"><p>Load control. </p> <p>Controls access to a single instance of the available implementations. The implementation identification information is used to load the appropriate collection. </p> </li> </ul> </li> </ul> </section> <section><title>APIs</title> <table id="GUID-1B7014F2-7210-554B-BE78-35560FF68FE0"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-1344F049-81C4-3D17-AF46-8B5584680ADB.dita"><apiname>REComSession</apiname></xref>  </p> </entry> <entry><p>Resolves, instantiates, and destroys interface class implementations requested by the plug-in framework clients. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The plug-in framework allows: </p> <ul><li id="GUID-593D6FAD-EF95-53E8-B4C2-A60EF4A9DB1A"><p>Framework developers to write interface definitions and extend interfaces. </p> </li> <li id="GUID-DD0929A4-F9E4-5B70-8D3D-7D5697A09C27"><p>Plug-in writer to implement the interfaces. </p> </li> <li id="GUID-272F59F3-8EF6-58C4-9F61-9532D1D0EC46"><p>Plug-in user to use the interfaces. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-41D80358-473F-5B50-A09A-4F5601EAC4A9.dita"><linktext>Framework Developer Tutorials</linktext> </link> <link href="GUID-57F29787-B425-53EA-9DB4-372B77543584.dita"><linktext>Plug-in Writer's Tutorials</linktext> </link> <link href="GUID-DE9CB4F7-5129-5450-A6D6-9B0BA253FC81.dita"><linktext>Plug-in User's Tutorials</linktext> </link> </related-links></concept>
\ No newline at end of file
+<concept id="GUID-8A7B837D-4069-5364-A596-686EEBAE351D" xml:lang="en"><title>Plug-In Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Plug-in (ECom) framework is a generic framework that provides
+a single mechanism to register and discover plug-ins and load an appropriate
+plug-in. </p>
+<section id="GUID-495BDDE0-C473-47F1-9FC2-AB73B96FD19F"><title>Purpose</title> <p>In early versions of Symbian platform,
+plug-ins were provided by polymorphic interface DLLs.
+All the frameworks within the Symbian platform that needed to use
+plug-ins had to provide their own mechanisms for the clients to discover
+and instantiate the implementations. This resulted in duplication
+of functionality. </p> <p>The Plug-In framework is intended to provide
+a common and system-wide mechanism for instantiating a dynamically
+determined component. </p> <p>Three distinct users of the plug-in
+framework are: </p> <ul>
+<li id="GUID-B72B2ED5-545F-54BA-89F3-9F014A17D9D8"><p>Framework or
+Application designers </p> <p>These users need to understand interface
+definition design and platform security implications. </p> </li>
+<li id="GUID-F0961823-257F-553D-B58E-8061ECA03FCD"><p>Plug-in writers </p> <p>These users need to understand interface implementation, DLL
+creation and platform security implementation issue. </p> </li>
+<li id="GUID-939853D9-4C52-5C6E-9804-E0594DE2B152"><p>Plug-in users </p> <p>These users need to understand that the plug-in framework helps
+in selecting the plug-in but sometimes may need to specify which implementation
+the framework should choose. </p> </li>
+</ul> </section>
+<section id="GUID-7AECE2EC-36C4-4225-A55F-02E9030CAEF4"><title>Required background</title> <p> <b>Run-time Binding</b>: This is called dynamic binding or late binding. The linking of
+a routine or object is performed during runtime based on the requirements. </p> <p> <b>DLL (Dynamic Link Library)</b>: Is a piece of code (a library)
+that is linked to a program at runtime rather than during the build
+process. The code inside a DLL can be shared by several clients at
+the same time without being duplicated in the mobile memory. </p> <p>In addition , the user should be aware of the<xref href="GUID-9E4D75C0-D797-5541-8E52-3C6D154CC74A.dita"> Platform Security
+Considerations</xref> of the plug-in framework architecture. </p> </section>
+<section id="GUID-4848DB3A-356F-4E82-8DD6-8E71D0392B70"><title>Key concepts and terms</title> <dl>
+<dlentry>
+<dt> Plug-in</dt>
+<dd><p>In computing, a plug-in(extension) consists of a computer program
+that interacts with a host application(a web browser or an email client)
+to provide a very specific function on demand. </p> <p>Applications
+support plugins to: </p> <ul>
+<li id="GUID-E5F6B556-5957-50CE-9309-1013335A3911"><p>Enable third-party
+developers to create capabilities to extend an application. </p> </li>
+<li id="GUID-F882F8D5-A744-5079-9A15-DC5DD166C8BC"><p>Reduce the size
+of an application. </p> </li>
+<li id="GUID-6FC7254E-3CCF-58A2-810A-0B750CA178D5"><p>Separate source
+code from an application. </p> </li>
+</ul> </dd>
+</dlentry>
+<dlentry>
+<dt>Plug-in System</dt>
+<dd><p>A client wishes to access a plug-in. The plug-in details are
+known only at run-time. The general characteristics of the plug-in
+are defined in an interface. Multiple variants of the plug-in can
+co-exist. </p> <p>The four clearly-defined roles of a plug-in system
+are: </p> <ul>
+<li id="GUID-30A0D998-79B7-5039-B4B7-602C6C74F08B"><p>The <b>Client</b> that wishes to access services. </p> </li>
+<li id="GUID-8ED5CDA4-F17A-5BB2-A657-76ECE561844A"><p>The <b>Interface
+Definition</b> that defines how to request services. </p> </li>
+<li id="GUID-C371204A-5D56-52B9-AD55-D69BCCA5812B"><p>The <b>Interface
+Implementation/Plug-in </b> that provides the required processing. </p> </li>
+<li id="GUID-E89C937D-0DA1-5CDD-BDFC-6F4E3FD40FD2"><p>The <b>Framework</b> that provides the clients with the required access to the implementations. </p> </li>
+</ul> <p>The relationships can be represented as follows: </p> <fig id="GUID-47C384EC-4F9E-55EA-B50B-7DAD9E990865">
+<title>                   Plug-in relationships                  </title>
+<image href="GUID-CBD78250-3EF4-5DF0-B356-19996E15BBBD_d0e220201_href.png" placement="inline"/>
+</fig> <p>The instantiation mechanism is responsible for providing
+the services that identify, and load the correct implementation at
+run-time. </p> </dd>
+</dlentry>
+<dlentry>
+<dt> Interface</dt>
+<dd><p>Is an abstraction that an entity provides of itself to the
+outside. This separates the methods of external communication from
+internal operation. It allows internal modification and this modification
+does not affect the outside entities interaction with the interface.
+An interface can provide multiple abstractions. </p> </dd>
+</dlentry>
+<dlentry>
+<dt> Interface API / Interface Definition</dt>
+<dd><p>Is a template for an interface implementation. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Interface Client/Client</dt>
+<dd><p>Is an application that uses the interface definition. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Interface Implementation Collection</dt>
+<dd><p>Is a collection of interface implementations/plug-ins. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Registry</dt>
+<dd><p>Is a collection of plug-ins registered with the framework. </p> </dd>
+</dlentry>
+</dl> </section>
+<section id="GUID-861B53D9-1928-45FB-97D0-D3DBCB31EC4F"><title>Architecture</title> <p>The plug-in framework employs
+the client server architecture. The client session is a singleton
+per process thread. </p> <fig id="GUID-7B34EF3B-5C56-5CA8-ABC0-60AB4F5652A1">
+<title>              Plug-in framework architecture            </title>
+<image href="GUID-2E3A91F9-5538-5E23-8D23-CE97B677A668_d0e220278_href.jpg" placement="inline"/>
+</fig> <p>The functional components of the plug-in framework are: </p> <ul>
+<li id="GUID-57437172-8AE4-5355-8776-E14C3298A6A1"><p>The <b> Client
+/Interface Client</b> that invokes the available services via the
+interface definition. </p> </li>
+<li id="GUID-807D6C07-9202-549D-9250-17806FBE1C40"><p>The <b>Server
+/ Framework</b> controls access to a registry of available implementations
+that is used for interface implementation resolution and loading. </p> <p>The server facilitates: </p> <ul>
+<li id="GUID-5A87C3FF-3576-5EAD-BD49-E2B498A09340"><p>Addition and
+removal of interface implementations. </p> <p>The addition, removal
+or modifications to an implementation is notified to the server. The
+server updates the changes in the registry. </p> </li>
+<li id="GUID-7D2957EE-C6BF-5687-84AA-A44C1EFBFD42"><p>Search/Access
+mechanisms. </p> <p>The registry data is maintained as a hierarchical
+arrangement of implementations. The complete data is scanned and matching
+interface implementation list is produced as a result of search. </p> </li>
+<li id="GUID-B44DA453-D953-515C-8B6C-D6F315CD03BD"><p>Resolution mechanisms. </p> <p>The best fit implementation from the resultant search is identified. </p> </li>
+<li id="GUID-1ABE83FD-E2DE-5A72-BBEA-F6F216961C9D"><p>Load control. </p> <p>Controls access to a single instance of the available implementations.
+The implementation identification information is used to load the
+appropriate collection. </p> </li>
+</ul> </li>
+</ul> </section>
+<section id="GUID-D9E09CF7-97F8-44F9-9557-63C1E84BD43A"><title>APIs</title> <table id="GUID-1B7014F2-7210-554B-BE78-35560FF68FE0">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-1344F049-81C4-3D17-AF46-8B5584680ADB.dita"><apiname>REComSession</apiname></xref>  </p> </entry>
+<entry><p>Resolves, instantiates, and destroys interface class implementations
+requested by the plug-in framework clients. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-6B41C7BF-CF5C-47FF-9EC8-C23CBFE0D0AF"><title>Typical uses</title> <p>The plug-in framework allows: </p> <ul>
+<li id="GUID-593D6FAD-EF95-53E8-B4C2-A60EF4A9DB1A"><p>Framework developers
+to write interface definitions and extend interfaces. </p> </li>
+<li id="GUID-DD0929A4-F9E4-5B70-8D3D-7D5697A09C27"><p>Plug-in writer
+to implement the interfaces. </p> </li>
+<li id="GUID-272F59F3-8EF6-58C4-9F61-9532D1D0EC46"><p>Plug-in user
+to use the interfaces. </p> </li>
+</ul> </section>
+</conbody><related-links>
+<link href="GUID-41D80358-473F-5B50-A09A-4F5601EAC4A9.dita"><linktext>Framework
+Developer Tutorials</linktext></link>
+<link href="GUID-57F29787-B425-53EA-9DB4-372B77543584.dita"><linktext>Plug-in
+Writer's Tutorials</linktext></link>
+<link href="GUID-DE9CB4F7-5129-5450-A6D6-9B0BA253FC81.dita"><linktext>Plug-in
+User's Tutorials</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-8A8FA00B-58FA-4D4E-A018-70D5558BCBFE_d0e271578_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8A8FA00B-58FA-4D4E-A018-70D5558BCBFE_d0e277578_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,675 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1" xml:lang="en"><title>UIDs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-D577F130-EBFF-4526-BB1B-C09C2D1AE41F-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-1"><title>Symmetric cipher
+algorithm UIDs</title> <table id="GUID-8DF2D162-47BE-5B6F-992E-81EF1BA45AEA-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-1-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="0.59*"/><colspec colname="col1" colwidth="1.14*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="1.73*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDesUid </p> </entry>
+<entry><p>DES (Data Encryption Standard) algorithm </p> </entry>
+<entry><p>0x10283179 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2406.txt" scope="external"> RFC
+2406</xref> </p> </entry>
+</row>
+<row>
+<entry><p>K3DesUid </p> </entry>
+<entry><p>3DES (Triple Data Encryption Standard) algorithm </p> </entry>
+<entry><p>0x1028317a </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2405.txt" scope="external">RFC
+2405</xref>  </p> <p> <xref href="http://www.ietf.org/rfc/rfc2420.txt" scope="external">RFC
+2420</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KRc2Uid </p> </entry>
+<entry><p>RC2 algorithm </p> </entry>
+<entry><p>0x1028317b </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2268.txt" scope="external"> RFC
+2268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KArc4Uid </p> </entry>
+<entry><p>ARC4 ('alleged' RC4) algorithm (strong random number generator) </p> </entry>
+<entry><p>0x1028317c </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2144.txt" scope="external"> RFC
+2144 </xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KAesUid </p> </entry>
+<entry><p>AES (Advanced Encryption Standard) </p> </entry>
+<entry><p>0x1028317d </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc3268.txt" scope="external"> RFC
+3268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KMisty1Uid </p> </entry>
+<entry><p>Misty1 algorithm </p> </entry>
+<entry><p>0x102831be </p> </entry>
+<entry><p> <xref href="http://tools.ietf.org/html/rfc2994" scope="external">RFC
+2994</xref> </p> </entry>
+</row>
+<row>
+<entry><p>KMisty2Uid </p> </entry>
+<entry><p>Misty2 algorithm </p> </entry>
+<entry><p>0x102831bf </p> </entry>
+<entry/>
+</row>
+<row>
+<entry><p>KKasumiUid </p> </entry>
+<entry><p>Kasumi algorithm </p> </entry>
+<entry><p>0x102831c0 </p> </entry>
+<entry><p> <xref href="http://tools.ietf.org/html/rfc3711" scope="external">RFC
+3711</xref> </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The symmetric cipher algorithm UIDs are used by the following
+CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-D13C874A-A34F-3DAD-8E58-C6E518E40C9B.dita#GUID-D13C874A-A34F-3DAD-8E58-C6E518E40C9B/GUID-E0E5C018-973F-3704-9B61-233E977E0224"><apiname>CSymmetricCipherFactory::CreateSymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-751A1919-E6F3-3445-B011-2AED64768544"><apiname>CRuleSelector::CreateSymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-CCA2D456-B208-384C-B74A-B06B83EFCC16"><apiname>CCryptoPluginEntry::CreateSymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-781533FC-C92E-34C5-9848-A98A836A952D"><apiname>CRuleSelector::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-B3B34A75-353E-3D39-8A5C-AA0391F8F15B"><apiname>CCryptoPluginEntry::CreateAsymmetricCipherL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-D2728977-CA7E-4DDB-AE35-9AC8A6577D27-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-2"><title>Asymmetric
+cipher algorithm UIDs</title> <table id="GUID-1B15D4D7-208B-568C-8411-E0F715614C85-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-2-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="0.63*"/><colspec colname="col1" colwidth="0.53*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="2.29*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaCipherUid </p> </entry>
+<entry><p>RSA </p> </entry>
+<entry><p>0x1028317e </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2437.txt" scope="external">RFC
+2437: PKCS #1</xref>: RSA Cryptography Specifications Version 2.0 </p> <p> <xref href="http://tools.ietf.org/html/rfc2313" scope="external">RFC 2313 - PKCS
+#1</xref>: RSA Encryption Version 1.5 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The asymmetric cipher algorithm UIDs are used by the following
+ CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-781533FC-C92E-34C5-9848-A98A836A952D"><apiname>CRuleSelector::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-B3B34A75-353E-3D39-8A5C-AA0391F8F15B"><apiname>CCryptoPluginEntry::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-12050906-942F-342B-9B40-1AAA7010ECB6"><apiname>CRuleSelector::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-07EFE951-61E0-4F53-BBDA-43B189051BAA-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-3"><title>Signer algorithm
+UIDs</title> <table id="GUID-9AA786D9-4884-5765-906B-E917729A1871-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-3-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.48*"/><colspec colname="col3" colwidth="1.52*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaSignerUid </p> </entry>
+<entry><p>RSA Signer algorithm </p> </entry>
+<entry><p>0x1028317f </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc4853.txt" scope="external">RFC
+4853</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KDsaSignerUid </p> </entry>
+<entry><p>DSA Signer algorithm </p> </entry>
+<entry><p>0x10283180 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc3279.txt" scope="external">RFC
+3279</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The signer algorithm UIDs are used by the following CryptoSPI
+APIs: </p><ul>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-686038A5-6F90-32C1-960E-E286B59370EE"><apiname>CSignatureFactory::CreateSignerL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-B4EEB1B5-C068-36B3-BE72-7597113ED55F"><apiname>CRuleSelector::CreateSignerL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-DCF8148C-9781-385D-BC46-BB3DC8873F9B"><apiname>CSignatureFactory::CreateAsyncSignerL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-B2194066-ABAE-3810-A77C-B734B49D5FC7"><apiname>CRuleSelector::CreateAsyncSignerL()</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-D056A982-5E83-4501-BDB1-693A7A503756-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-4"><title>Verifier algorithm
+UIDs</title> <table id="GUID-4D36FD6F-EB37-5D3E-87DC-DE75CFFCF683-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-4-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="1.43*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaVerifierUid </p> </entry>
+<entry><p>RSA Verifier algorithm </p> </entry>
+<entry><p>0x10283181 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc4853.txt" scope="external">RFC
+4853</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KDsaVerifierUid </p> </entry>
+<entry><p>DSA Verifier algorithm </p> </entry>
+<entry><p>0x10283182 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc3279.txt" scope="external">RFC
+3279</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The verifier algorithm UIDs are used by the following CryptoSPI
+APIs: </p><ul>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-3DD66A5A-5B9F-3BDB-84B4-DB95BD386100"><apiname>CSignatureFactory::CreateVerifierL()</apiname></xref></p></li>
+<li><p><xref href="GUID-E564F6AF-9D01-3D3F-AA3E-5956A7221552.dita#GUID-E564F6AF-9D01-3D3F-AA3E-5956A7221552/GUID-3227DC19-D09F-30FB-91BB-93B56D669BE7"><apiname>MPluginSelector::CreateVerifierL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-D0C7C0BB-72E5-3BA5-864F-B047A49BD237"><apiname>CSignatureFactory::CreateAsyncVerifierL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-1CA31AAD-CD01-3F06-864F-A2B37EA1177A"><apiname>CRuleSelector::CreateAsyncVerifierL()</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-B2C80B22-9EB3-4AC1-B377-5DC957EB6AEE-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-5"><title>Key Agreement
+algorithm UIDs</title> <table id="GUID-60895D3B-D766-5E65-9392-CCF7A55281D1-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-5-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.55*"/><colspec colname="col3" colwidth="1.46*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDHAgreementUid </p> </entry>
+<entry><p>Diffie-Hellman Key Agreement algorithm </p> </entry>
+<entry><p>0x10283183 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2631.txt" scope="external">RFC
+2631</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The Key Agreement algorithm UIDs are used by the following CryptoSPI
+APIs: </p><ul>
+<li><p><xref href="GUID-7DF57CF7-F165-3648-A434-7963F2491D1A.dita#GUID-7DF57CF7-F165-3648-A434-7963F2491D1A/GUID-D3EFC9F7-D0E8-36EB-80E4-03B7716ABED4"><apiname>CKeyAgreementFactory::CreateKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-88221CC1-77C4-30D3-86F0-A365D1A03F84"><apiname>CRuleSelector::CreateKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-EE365359-41F8-3270-9449-C5A58D89C54A"><apiname>CCryptoPluginEntry::CreateKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-7DF57CF7-F165-3648-A434-7963F2491D1A.dita#GUID-7DF57CF7-F165-3648-A434-7963F2491D1A/GUID-A327708D-7089-34C0-B717-D3A10D8B5FAF"><apiname>CKeyAgreementFactory::CreateAsyncKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-FB7A80AE-3AB8-300F-8FA3-E14C5D3B6E52"><apiname>CRuleSelector::CreateAsyncKeyAgreementL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-3BF50684-42E8-4BAA-95C5-73448C048B2F-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-6"><title>Key Pair Generator
+algorithm UIDs</title> <table id="GUID-8CB20C6D-8C7A-5D2B-AD7F-6F04B7204A5F-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-6-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.56*"/><colspec colname="col3" colwidth="1.45*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDHKeyPairGeneratorUid </p> </entry>
+<entry><p>DH Key Pair Generator algorithm </p> </entry>
+<entry><p>0x10283184 </p> </entry>
+<entry><p> <xref href="http://www.isi.edu/in-notes/rfc2539.txt" scope="external"> RFC
+2539</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KRSAKeyPairGeneratorUid </p> </entry>
+<entry><p>RSA Key Pair Generator algorithm </p> </entry>
+<entry><p>0x10283185 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc4055.txt" scope="external">RFC
+4055</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KDSAKeyPairGeneratorUid </p> </entry>
+<entry><p>DSA Key Pair Generator algorithm </p> </entry>
+<entry><p>0x10283186 </p> </entry>
+<entry/>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The Key Pair Generator algorithm UIDs are used by the following
+CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F6E699CD-2B2F-36A6-AD82-BD2CC58A7A29.dita#GUID-F6E699CD-2B2F-36A6-AD82-BD2CC58A7A29/GUID-733E6326-0886-3BC3-83BE-67CE02724200"><apiname>CKeyPairGeneratorFactory::CreateAsyncKeyPairGeneratorL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-199FAC0D-A9C2-32B9-897A-3A95D795D3CE"><apiname>CRuleSelector::CreateAsyncKeyPairGeneratorL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-3485CB77-BD12-4798-886A-F876E2C97FEE-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-7"><title>Padding modes</title> <table id="GUID-22EE4534-D4C8-5B74-BF1D-FED85D52D706-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-7-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KPaddingModeNoneUid </p> </entry>
+<entry><p>Padding Mode None Uid </p> </entry>
+<entry><p>0x10283188 </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModeSSLv3Uid </p> </entry>
+<entry><p>SSLv3 Padding Mode Uid </p> </entry>
+<entry><p>0x10283189 </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModePKCS7Uid </p> </entry>
+<entry><p>PKCS7 Padding Mode Uid </p> </entry>
+<entry><p>0x1028318a </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModePkcs1_v1_5_EncryptionUid </p> </entry>
+<entry><p>Pkcs1 v1.5 Encryption Padding mode Uid </p> </entry>
+<entry><p>0x1028318b </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModePkcs1_v1_5_SignatureUid </p> </entry>
+<entry><p>Pkcs1 v1.5 Signature Padding mode Uid </p> </entry>
+<entry><p>0x1028318c </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The padding modes are used by the following CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-47A7F1B3-12A7-4567-ABE9-21539CE6D737-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-8"><title>Cryptography
+modes</title> <table id="GUID-1E4937C9-0E59-547D-8B56-1BAC3F8ED38C-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-8-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KCryptoModeEncryptUid </p> </entry>
+<entry><p>Crypto Encrypt Mode Uid </p> </entry>
+<entry><p>0x1028318d </p> </entry>
+</row>
+<row>
+<entry><p>KCryptoModeDecryptUid </p> </entry>
+<entry><p>Crypto Decrypt Mode Uid </p> </entry>
+<entry><p>0x1028318e </p> </entry>
+</row>
+<row>
+<entry><p>KCryptoModeNoneUid </p> </entry>
+<entry><p>Crypto None Mode Uid </p> </entry>
+<entry><p>0x1028318f </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The cryptography modes are used by the following CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-4C67EEC6-151D-4BF9-A2A4-12FE450B9CC3-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9"><title>Hash algorithm UIDs</title> <table id="GUID-419E5D6D-17A7-5454-92A1-E7EDEF618ED6-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.72*"/><colspec colname="col3" colwidth="1.28*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KMd2Uid </p> </entry>
+<entry><p>MD2, Message-Digest Algorithm </p> </entry>
+<entry><p>0x10283173 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc1319.txt" scope="external">RFC
+1319</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KMd4Uid </p> </entry>
+<entry><p>MD4, Message-Digest Algorithm (Output: 128 bit message digest) </p> </entry>
+<entry><p>0x2000B341 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc1320.txt" scope="external">RFC
+1320</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KMd5Uid </p> </entry>
+<entry><p>MD5 ,Message-Digest Algorithm (output:128-bit "fingerprint" or "message
+digest) </p> </entry>
+<entry><p>0x10283174 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc1321.txt" scope="external">RFC
+1321</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha1Uid </p> </entry>
+<entry><p>Secure Hash Algorithm(output: 160-bit message digest) </p> </entry>
+<entry><p>0x10283175 </p> </entry>
+<entry><p> <xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS
+180-1</xref> and <xref href="http://www.ietf.org/rfc/rfc3174.txt" scope="external">RFC
+3174</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha224Uid </p> </entry>
+<entry><p>Sha224 algorithm </p> </entry>
+<entry><p>0x2000E258 </p> </entry>
+<entry><p> <xref href="http://all.net/books/standards/NIST-CSRC/csrc.nist.gov/publications/fips/fips180-2/FIPS180-2_changenotice.pdf" scope="external">FIPS 180-2 (with change notice)</xref>, <xref href="http://www.ietf.org/rfc/rfc3874.txt" scope="external">RFC3874</xref> and <xref href="http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf" scope="external">FIPS 180-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha256Uid </p> </entry>
+<entry><p>Sha256 algorithm </p> </entry>
+<entry><p>0x2000E259 </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha384Uid </p> </entry>
+<entry><p>Sha384 algorithm </p> </entry>
+<entry><p>0x2000E25A </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha512Uid </p> </entry>
+<entry><p>Sha512 algorithm </p> </entry>
+<entry><p>0x2000E25B </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The hash algorithm UIDs are used by the following APIs: </p> <ul>
+<li id="GUID-FAD44CE7-B0C3-523C-895F-DB58122ACA9D-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-B206FCF6-A9B4-5330-AC91-148D2A18C292-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9-4-2"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-DE3E3CC4-7041-5D50-9C38-409D37858CA0-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9-4-3"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CCryptoPluginEntry::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-17E00247-8550-53C2-9484-3BD0B7BB8350-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9-4-4"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateAsyncHashL()</apiname></xref>  </p> </li>
+<li id="GUID-3FAA4591-64B1-55BF-9A07-D8E4318F9DA7-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-9-4-5"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateAsyncHashL()</apiname></xref>  </p> </li>
+</ul> </section>
+<section id="GUID-A558F4E2-F9A7-4CE1-86DC-A6E75646D9A7-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-10"><title>Random algorithm UIDs</title> <table id="GUID-7080EBEE-F16E-58E7-86D4-55B06AEE3F9C-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-10-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRandomUid </p> </entry>
+<entry><p>Random algorithm UID </p> </entry>
+<entry><p>0x10283178 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The random algorithm UIDs are used by the following APIs: </p> <ul>
+<li id="GUID-60CD845B-520E-5A92-9D98-7060DFAFBE2A-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-10-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRandomFactory::CreateRandomL()</apiname></xref>  </p> </li>
+<li id="GUID-F78A3F91-F0FC-5B97-B09C-377B84DAB442-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-10-4-2"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname> CryptoSpi::CRuleSelector::CreateRandomL()</apiname></xref>  </p> </li>
+<li id="GUID-43703C40-4FB3-5233-BF18-34320FC50D8E-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-10-4-3"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRandomFactory::CreateAsyncRandomL()</apiname></xref> </p> </li>
+<li id="GUID-E98800A8-4C96-52CE-AE42-0D780065FBDE-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-10-4-4"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateAsyncRandomL()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-C0A00B5D-4499-41D5-A81D-372AFF2F0E98-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-11"><title>Symmetric key algorithm UIDs</title> <table id="GUID-21816DBD-BC04-5F12-9972-8FEF5CEA3F5A-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-11-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDesUid </p> </entry>
+<entry><p>Des algorithm UID </p> </entry>
+<entry><p>0x10283179 </p> </entry>
+</row>
+<row>
+<entry><p>K3DesUid </p> </entry>
+<entry><p>3Des algorithm UID </p> </entry>
+<entry><p>0x1028317a </p> </entry>
+</row>
+<row>
+<entry><p>KRc2Uid </p> </entry>
+<entry><p>RC2 algorithm UID </p> </entry>
+<entry><p>0x1028317b </p> </entry>
+</row>
+<row>
+<entry><p>KArc4Uid </p> </entry>
+<entry><p>ARC4 algorithm UID </p> </entry>
+<entry><p>0x1028317c </p> </entry>
+</row>
+<row>
+<entry><p>KAesUid </p> </entry>
+<entry><p>AES algorithm UID </p> </entry>
+<entry><p>0x1028317d </p> </entry>
+</row>
+<row>
+<entry><p>KMisty1Uid </p> </entry>
+<entry><p>Misty1 algorithm UID </p> </entry>
+<entry><p>0x102831be </p> </entry>
+</row>
+<row>
+<entry><p>KMisty2Uid </p> </entry>
+<entry><p>Misty2 algorithm UID </p> </entry>
+<entry><p>0x102831bf </p> </entry>
+</row>
+<row>
+<entry><p>KKasumiUid </p> </entry>
+<entry><p>Kasumi algorithm UID </p> </entry>
+<entry><p>0x102831c0 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The symmetric key algorithm UIDs are used by the following API: </p> <ul>
+<li id="GUID-CF4CBD6B-F8AE-5034-9A3D-7D85D35DDCC4-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-11-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CSymmetricCipher::CSymmetricCipher()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-6A2F6C81-F91D-4453-8A5C-2B5D797681DD-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-12"><title>Asymmetric key algorithm UIDs</title> <table id="GUID-FB96DF5A-16F9-535F-B754-52FCEE1337C5-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-12-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaCipherUid </p> </entry>
+<entry><p>RSA Cipher algorithm UID </p> </entry>
+<entry><p>0x1028317e </p> </entry>
+</row>
+<row>
+<entry><p>KRsaSignerUid </p> </entry>
+<entry><p>RSA Signer algorithm UID </p> </entry>
+<entry><p>0x1028317f </p> </entry>
+</row>
+<row>
+<entry><p>KRsaVerifierUid </p> </entry>
+<entry><p>RSA Verifier algorithm UID </p> </entry>
+<entry><p>0x10283181 </p> </entry>
+</row>
+<row>
+<entry><p>KRSAKeyPairGeneratorUid </p> </entry>
+<entry><p>RSA Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x10283185 </p> </entry>
+</row>
+<row>
+<entry><p>KDsaSignerUid </p> </entry>
+<entry><p>DSA Signer algorithm UID </p> </entry>
+<entry><p>0x10283180 </p> </entry>
+</row>
+<row>
+<entry><p>KDsaVerifierUid </p> </entry>
+<entry><p>DSA Verifier algorithm UID </p> </entry>
+<entry><p>0x10283182 </p> </entry>
+</row>
+<row>
+<entry><p>KDSAKeyPairGeneratorUid </p> </entry>
+<entry><p>DSA Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x10283186 </p> </entry>
+</row>
+<row>
+<entry><p>KDHAgreementUid </p> </entry>
+<entry><p>DH Agreement algorithm UID </p> </entry>
+<entry><p>0x10283183 </p> </entry>
+</row>
+<row>
+<entry><p>KDHKeyPairGeneratorUid </p> </entry>
+<entry><p>DH Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x10283184 </p> </entry>
+</row>
+<row>
+<entry><p>KEccCipherUid </p> </entry>
+<entry><p>ECC Key Cipher algorithm UID </p> </entry>
+<entry><p>0x20024482 </p> </entry>
+</row>
+<row>
+<entry><p>KEccSignerUid </p> </entry>
+<entry><p>ECC Key Signer algorithm UID </p> </entry>
+<entry><p>0x20024483 </p> </entry>
+</row>
+<row>
+<entry><p>KEccVerifierUid </p> </entry>
+<entry><p>ECC Key Verifier algorithm UID </p> </entry>
+<entry><p>0x20024486 </p> </entry>
+</row>
+<row>
+<entry><p>KEccKeyPairGeneratorUid </p> </entry>
+<entry><p>ECC Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x20024487 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p> <b>Note:</b> The ECC key UIDs are enabled only if the macros <codeph>SYMBIAN_ENABLE_SDP_ECC</codeph> and <codeph>SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT</codeph> are enabled. </p> <p>The asymmetric key algorithm UIDs are used by the following
+API: </p> <ul>
+<li id="GUID-6121C646-5898-51C4-A51D-063A6841BDF7-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-12-5-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CAsymmetricCipher::CAsymmetricCipher()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-CF0ECFB3-C28B-41D2-AE47-6C360F47DA17-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13"><title>Other UIDs</title> <table id="GUID-58122807-15E8-5919-BE4B-6E52BB425319-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KPassedHandleToKeyUid </p> </entry>
+<entry><p>Use this UID as <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> key parameter,
+whenever the CryptoSPI user has just the handle and not the actual key. The
+CryptoSPI plug-in searches for this ID and invokes the appropriate APIs for
+providing access to the key. </p> <p> <b>Note:</b> This UID is enabled only
+if the <codeph>SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT</codeph> macro is enabled. </p> </entry>
+<entry><p>0x20025161 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p><b>Example usage of KPassedHandleToKeyUid</b> </p> <p>The following
+sequence of steps explains the use of <codeph>KPassedHandleToKeyUid</codeph> in
+the key parameter, which, along with the key property creates a <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object.
+This <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object is one of the parameters
+in the creation of a signer object, which can be used for performing signing
+operations. </p> <ol id="GUID-90F8CE15-EFDA-5330-A8A0-722EFC5714B0-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13-5">
+<li id="GUID-809C4C15-873A-51CE-B1E8-CCFAAD66C8A7-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13-5-1"><p>Define the key property. </p> <p>Create
+a <codeph>CCryptoParams</codeph> object for the key parameter. Add the key
+handle and <codeph>KPassedHandleToKeyUid</codeph> to the CCryptoParams object
+by using <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CCryptoParams::AddL()</apiname></xref>. </p> </li>
+<li id="GUID-D6732C41-74A4-59A3-A099-D7CA9AE2C634-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13-5-2"><p>Create a <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object
+by passing instance of the key property and the <codeph>CCryptoParams</codeph> object
+containing <codeph>KPassedHandleToKeyUid</codeph>. </p> </li>
+<li id="GUID-ADA7CF45-9A3B-5888-9BF7-11465E78A04B-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13-5-3"><p>Create a signer object
+by using the <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object as one of the
+parameters. This signer object can be used for performing signing operations. </p> </li>
+</ol> <p>The following code snippet demonstrates the use of <codeph>KPassedHandleToKeyUid</codeph>: </p> <codeblock id="GUID-2BDD4700-C5EA-56A9-ACE7-5CB703B43886-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-13-7" xml:space="preserve">
+.
+.
+.
+// Define the key property
+TKeyProperty keyProperty;
+keyProperty.iAlgorithmUid = KRsaSignerUid;
+
+// Create the key parameter object
+CCryptoParams* keyParameters = CCryptoParams::NewLC();
+
+// iHandle is of type TCTTokenObjectHandle. It contains handle to the key
+keyParameters-&gt;AddL(iHandle.iObjectId, KPassedHandleToKeyUid);
+
+// Create a CKey object
+CKey* newKey = CKey::NewL(keyProperty, *keyParameters);
+
+// Create a signer plug-in object
+CSigner * implsig = NULL;    
+
+// Create the signer object
+CSignatureFactory::CreateSignerL(implsig, KRsaSignerUid, *newKey, KPaddingModePkcs1_v1_5_SignatureUid, NULL);
+.
+.
+.
+</codeblock> </section>
+<section id="GUID-0086C0B8-AE57-4653-9F77-A8594441D7AE-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-14"><title>Operation modes</title> <table id="GUID-DE9AE866-8A93-5876-A083-30A054D35651-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-14-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KOperationModeNoneUid </p> </entry>
+<entry><p>None Mode UID </p> </entry>
+<entry><p>0x10283190 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeECBUid </p> </entry>
+<entry><p>ECB Mode UID </p> </entry>
+<entry><p>0x10283191 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeCBCUid </p> </entry>
+<entry><p>CBC Mode UID </p> </entry>
+<entry><p>0x10283192 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeOFBUid </p> </entry>
+<entry><p>OFB Mode UID </p> </entry>
+<entry><p>0x10283193 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeCFBUid </p> </entry>
+<entry><p>CFB Mode UID </p> </entry>
+<entry><p>0x10283194 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeCTRUid </p> </entry>
+<entry><p>CTR Mode UID </p> </entry>
+<entry><p>0x10283195 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The operation modes are used by the following APIs: </p> <ul>
+<li id="GUID-3A02B850-7569-58CD-9D70-0A978DDA2963-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-14-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-81EA0218-CCFE-563D-9709-3DBA86260262-GENID-1-12-1-26-1-1-11-1-1-3-1-6-1-2-14-4-2"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname> CryptoSpi::CHashFactory::CreateAsyncHashL()</apiname></xref>  </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-9-1-11-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,675 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-9-1-11-1" xml:lang="en"><title>UIDs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-D577F130-EBFF-4526-BB1B-C09C2D1AE41F-GENID-1-12-1-26-1-1-9-1-11-1-2-1"><title>Symmetric cipher
+algorithm UIDs</title> <table id="GUID-8DF2D162-47BE-5B6F-992E-81EF1BA45AEA-GENID-1-12-1-26-1-1-9-1-11-1-2-1-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="0.59*"/><colspec colname="col1" colwidth="1.14*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="1.73*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDesUid </p> </entry>
+<entry><p>DES (Data Encryption Standard) algorithm </p> </entry>
+<entry><p>0x10283179 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2406.txt" scope="external"> RFC
+2406</xref> </p> </entry>
+</row>
+<row>
+<entry><p>K3DesUid </p> </entry>
+<entry><p>3DES (Triple Data Encryption Standard) algorithm </p> </entry>
+<entry><p>0x1028317a </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2405.txt" scope="external">RFC
+2405</xref>  </p> <p> <xref href="http://www.ietf.org/rfc/rfc2420.txt" scope="external">RFC
+2420</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KRc2Uid </p> </entry>
+<entry><p>RC2 algorithm </p> </entry>
+<entry><p>0x1028317b </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2268.txt" scope="external"> RFC
+2268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KArc4Uid </p> </entry>
+<entry><p>ARC4 ('alleged' RC4) algorithm (strong random number generator) </p> </entry>
+<entry><p>0x1028317c </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2144.txt" scope="external"> RFC
+2144 </xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KAesUid </p> </entry>
+<entry><p>AES (Advanced Encryption Standard) </p> </entry>
+<entry><p>0x1028317d </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc3268.txt" scope="external"> RFC
+3268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KMisty1Uid </p> </entry>
+<entry><p>Misty1 algorithm </p> </entry>
+<entry><p>0x102831be </p> </entry>
+<entry><p> <xref href="http://tools.ietf.org/html/rfc2994" scope="external">RFC
+2994</xref> </p> </entry>
+</row>
+<row>
+<entry><p>KMisty2Uid </p> </entry>
+<entry><p>Misty2 algorithm </p> </entry>
+<entry><p>0x102831bf </p> </entry>
+<entry/>
+</row>
+<row>
+<entry><p>KKasumiUid </p> </entry>
+<entry><p>Kasumi algorithm </p> </entry>
+<entry><p>0x102831c0 </p> </entry>
+<entry><p> <xref href="http://tools.ietf.org/html/rfc3711" scope="external">RFC
+3711</xref> </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The symmetric cipher algorithm UIDs are used by the following
+CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-D13C874A-A34F-3DAD-8E58-C6E518E40C9B.dita#GUID-D13C874A-A34F-3DAD-8E58-C6E518E40C9B/GUID-E0E5C018-973F-3704-9B61-233E977E0224"><apiname>CSymmetricCipherFactory::CreateSymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-751A1919-E6F3-3445-B011-2AED64768544"><apiname>CRuleSelector::CreateSymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-CCA2D456-B208-384C-B74A-B06B83EFCC16"><apiname>CCryptoPluginEntry::CreateSymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-781533FC-C92E-34C5-9848-A98A836A952D"><apiname>CRuleSelector::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-B3B34A75-353E-3D39-8A5C-AA0391F8F15B"><apiname>CCryptoPluginEntry::CreateAsymmetricCipherL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-D2728977-CA7E-4DDB-AE35-9AC8A6577D27-GENID-1-12-1-26-1-1-9-1-11-1-2-2"><title>Asymmetric
+cipher algorithm UIDs</title> <table id="GUID-1B15D4D7-208B-568C-8411-E0F715614C85-GENID-1-12-1-26-1-1-9-1-11-1-2-2-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="0.63*"/><colspec colname="col1" colwidth="0.53*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="2.29*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaCipherUid </p> </entry>
+<entry><p>RSA </p> </entry>
+<entry><p>0x1028317e </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2437.txt" scope="external">RFC
+2437: PKCS #1</xref>: RSA Cryptography Specifications Version 2.0 </p> <p> <xref href="http://tools.ietf.org/html/rfc2313" scope="external">RFC 2313 - PKCS
+#1</xref>: RSA Encryption Version 1.5 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The asymmetric cipher algorithm UIDs are used by the following
+ CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-781533FC-C92E-34C5-9848-A98A836A952D"><apiname>CRuleSelector::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-B3B34A75-353E-3D39-8A5C-AA0391F8F15B"><apiname>CCryptoPluginEntry::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-12050906-942F-342B-9B40-1AAA7010ECB6"><apiname>CRuleSelector::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-07EFE951-61E0-4F53-BBDA-43B189051BAA-GENID-1-12-1-26-1-1-9-1-11-1-2-3"><title>Signer algorithm
+UIDs</title> <table id="GUID-9AA786D9-4884-5765-906B-E917729A1871-GENID-1-12-1-26-1-1-9-1-11-1-2-3-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.48*"/><colspec colname="col3" colwidth="1.52*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaSignerUid </p> </entry>
+<entry><p>RSA Signer algorithm </p> </entry>
+<entry><p>0x1028317f </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc4853.txt" scope="external">RFC
+4853</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KDsaSignerUid </p> </entry>
+<entry><p>DSA Signer algorithm </p> </entry>
+<entry><p>0x10283180 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc3279.txt" scope="external">RFC
+3279</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The signer algorithm UIDs are used by the following CryptoSPI
+APIs: </p><ul>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-686038A5-6F90-32C1-960E-E286B59370EE"><apiname>CSignatureFactory::CreateSignerL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-B4EEB1B5-C068-36B3-BE72-7597113ED55F"><apiname>CRuleSelector::CreateSignerL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-DCF8148C-9781-385D-BC46-BB3DC8873F9B"><apiname>CSignatureFactory::CreateAsyncSignerL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-B2194066-ABAE-3810-A77C-B734B49D5FC7"><apiname>CRuleSelector::CreateAsyncSignerL()</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-D056A982-5E83-4501-BDB1-693A7A503756-GENID-1-12-1-26-1-1-9-1-11-1-2-4"><title>Verifier algorithm
+UIDs</title> <table id="GUID-4D36FD6F-EB37-5D3E-87DC-DE75CFFCF683-GENID-1-12-1-26-1-1-9-1-11-1-2-4-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="1.43*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaVerifierUid </p> </entry>
+<entry><p>RSA Verifier algorithm </p> </entry>
+<entry><p>0x10283181 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc4853.txt" scope="external">RFC
+4853</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KDsaVerifierUid </p> </entry>
+<entry><p>DSA Verifier algorithm </p> </entry>
+<entry><p>0x10283182 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc3279.txt" scope="external">RFC
+3279</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The verifier algorithm UIDs are used by the following CryptoSPI
+APIs: </p><ul>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-3DD66A5A-5B9F-3BDB-84B4-DB95BD386100"><apiname>CSignatureFactory::CreateVerifierL()</apiname></xref></p></li>
+<li><p><xref href="GUID-E564F6AF-9D01-3D3F-AA3E-5956A7221552.dita#GUID-E564F6AF-9D01-3D3F-AA3E-5956A7221552/GUID-3227DC19-D09F-30FB-91BB-93B56D669BE7"><apiname>MPluginSelector::CreateVerifierL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-D0C7C0BB-72E5-3BA5-864F-B047A49BD237"><apiname>CSignatureFactory::CreateAsyncVerifierL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-1CA31AAD-CD01-3F06-864F-A2B37EA1177A"><apiname>CRuleSelector::CreateAsyncVerifierL()</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-B2C80B22-9EB3-4AC1-B377-5DC957EB6AEE-GENID-1-12-1-26-1-1-9-1-11-1-2-5"><title>Key Agreement
+algorithm UIDs</title> <table id="GUID-60895D3B-D766-5E65-9392-CCF7A55281D1-GENID-1-12-1-26-1-1-9-1-11-1-2-5-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.55*"/><colspec colname="col3" colwidth="1.46*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDHAgreementUid </p> </entry>
+<entry><p>Diffie-Hellman Key Agreement algorithm </p> </entry>
+<entry><p>0x10283183 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc2631.txt" scope="external">RFC
+2631</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The Key Agreement algorithm UIDs are used by the following CryptoSPI
+APIs: </p><ul>
+<li><p><xref href="GUID-7DF57CF7-F165-3648-A434-7963F2491D1A.dita#GUID-7DF57CF7-F165-3648-A434-7963F2491D1A/GUID-D3EFC9F7-D0E8-36EB-80E4-03B7716ABED4"><apiname>CKeyAgreementFactory::CreateKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-88221CC1-77C4-30D3-86F0-A365D1A03F84"><apiname>CRuleSelector::CreateKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-EE365359-41F8-3270-9449-C5A58D89C54A"><apiname>CCryptoPluginEntry::CreateKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-7DF57CF7-F165-3648-A434-7963F2491D1A.dita#GUID-7DF57CF7-F165-3648-A434-7963F2491D1A/GUID-A327708D-7089-34C0-B717-D3A10D8B5FAF"><apiname>CKeyAgreementFactory::CreateAsyncKeyAgreementL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-FB7A80AE-3AB8-300F-8FA3-E14C5D3B6E52"><apiname>CRuleSelector::CreateAsyncKeyAgreementL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-3BF50684-42E8-4BAA-95C5-73448C048B2F-GENID-1-12-1-26-1-1-9-1-11-1-2-6"><title>Key Pair Generator
+algorithm UIDs</title> <table id="GUID-8CB20C6D-8C7A-5D2B-AD7F-6F04B7204A5F-GENID-1-12-1-26-1-1-9-1-11-1-2-6-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.56*"/><colspec colname="col3" colwidth="1.45*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDHKeyPairGeneratorUid </p> </entry>
+<entry><p>DH Key Pair Generator algorithm </p> </entry>
+<entry><p>0x10283184 </p> </entry>
+<entry><p> <xref href="http://www.isi.edu/in-notes/rfc2539.txt" scope="external"> RFC
+2539</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KRSAKeyPairGeneratorUid </p> </entry>
+<entry><p>RSA Key Pair Generator algorithm </p> </entry>
+<entry><p>0x10283185 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc4055.txt" scope="external">RFC
+4055</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KDSAKeyPairGeneratorUid </p> </entry>
+<entry><p>DSA Key Pair Generator algorithm </p> </entry>
+<entry><p>0x10283186 </p> </entry>
+<entry/>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The Key Pair Generator algorithm UIDs are used by the following
+CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F6E699CD-2B2F-36A6-AD82-BD2CC58A7A29.dita#GUID-F6E699CD-2B2F-36A6-AD82-BD2CC58A7A29/GUID-733E6326-0886-3BC3-83BE-67CE02724200"><apiname>CKeyPairGeneratorFactory::CreateAsyncKeyPairGeneratorL()</apiname></xref></p></li>
+<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-199FAC0D-A9C2-32B9-897A-3A95D795D3CE"><apiname>CRuleSelector::CreateAsyncKeyPairGeneratorL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-3485CB77-BD12-4798-886A-F876E2C97FEE-GENID-1-12-1-26-1-1-9-1-11-1-2-7"><title>Padding modes</title> <table id="GUID-22EE4534-D4C8-5B74-BF1D-FED85D52D706-GENID-1-12-1-26-1-1-9-1-11-1-2-7-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KPaddingModeNoneUid </p> </entry>
+<entry><p>Padding Mode None Uid </p> </entry>
+<entry><p>0x10283188 </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModeSSLv3Uid </p> </entry>
+<entry><p>SSLv3 Padding Mode Uid </p> </entry>
+<entry><p>0x10283189 </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModePKCS7Uid </p> </entry>
+<entry><p>PKCS7 Padding Mode Uid </p> </entry>
+<entry><p>0x1028318a </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModePkcs1_v1_5_EncryptionUid </p> </entry>
+<entry><p>Pkcs1 v1.5 Encryption Padding mode Uid </p> </entry>
+<entry><p>0x1028318b </p> </entry>
+</row>
+<row>
+<entry><p>KPaddingModePkcs1_v1_5_SignatureUid </p> </entry>
+<entry><p>Pkcs1 v1.5 Signature Padding mode Uid </p> </entry>
+<entry><p>0x1028318c </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The padding modes are used by the following CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-47A7F1B3-12A7-4567-ABE9-21539CE6D737-GENID-1-12-1-26-1-1-9-1-11-1-2-8"><title>Cryptography
+modes</title> <table id="GUID-1E4937C9-0E59-547D-8B56-1BAC3F8ED38C-GENID-1-12-1-26-1-1-9-1-11-1-2-8-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KCryptoModeEncryptUid </p> </entry>
+<entry><p>Crypto Encrypt Mode Uid </p> </entry>
+<entry><p>0x1028318d </p> </entry>
+</row>
+<row>
+<entry><p>KCryptoModeDecryptUid </p> </entry>
+<entry><p>Crypto Decrypt Mode Uid </p> </entry>
+<entry><p>0x1028318e </p> </entry>
+</row>
+<row>
+<entry><p>KCryptoModeNoneUid </p> </entry>
+<entry><p>Crypto None Mode Uid </p> </entry>
+<entry><p>0x1028318f </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The cryptography modes are used by the following CryptoSPI APIs: </p><ul>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
+<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
+</ul></section>
+<section id="GUID-4C67EEC6-151D-4BF9-A2A4-12FE450B9CC3-GENID-1-12-1-26-1-1-9-1-11-1-2-9"><title>Hash algorithm UIDs</title> <table id="GUID-419E5D6D-17A7-5454-92A1-E7EDEF618ED6-GENID-1-12-1-26-1-1-9-1-11-1-2-9-2">
+<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.72*"/><colspec colname="col3" colwidth="1.28*"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+<entry>RFC standard</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KMd2Uid </p> </entry>
+<entry><p>MD2, Message-Digest Algorithm </p> </entry>
+<entry><p>0x10283173 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc1319.txt" scope="external">RFC
+1319</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KMd4Uid </p> </entry>
+<entry><p>MD4, Message-Digest Algorithm (Output: 128 bit message digest) </p> </entry>
+<entry><p>0x2000B341 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc1320.txt" scope="external">RFC
+1320</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KMd5Uid </p> </entry>
+<entry><p>MD5 ,Message-Digest Algorithm (output:128-bit "fingerprint" or "message
+digest) </p> </entry>
+<entry><p>0x10283174 </p> </entry>
+<entry><p> <xref href="http://www.ietf.org/rfc/rfc1321.txt" scope="external">RFC
+1321</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha1Uid </p> </entry>
+<entry><p>Secure Hash Algorithm(output: 160-bit message digest) </p> </entry>
+<entry><p>0x10283175 </p> </entry>
+<entry><p> <xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS
+180-1</xref> and <xref href="http://www.ietf.org/rfc/rfc3174.txt" scope="external">RFC
+3174</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha224Uid </p> </entry>
+<entry><p>Sha224 algorithm </p> </entry>
+<entry><p>0x2000E258 </p> </entry>
+<entry><p> <xref href="http://all.net/books/standards/NIST-CSRC/csrc.nist.gov/publications/fips/fips180-2/FIPS180-2_changenotice.pdf" scope="external">FIPS 180-2 (with change notice)</xref>, <xref href="http://www.ietf.org/rfc/rfc3874.txt" scope="external">RFC3874</xref> and <xref href="http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf" scope="external">FIPS 180-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha256Uid </p> </entry>
+<entry><p>Sha256 algorithm </p> </entry>
+<entry><p>0x2000E259 </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha384Uid </p> </entry>
+<entry><p>Sha384 algorithm </p> </entry>
+<entry><p>0x2000E25A </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
+</row>
+<row>
+<entry><p>KSha512Uid </p> </entry>
+<entry><p>Sha512 algorithm </p> </entry>
+<entry><p>0x2000E25B </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The hash algorithm UIDs are used by the following APIs: </p> <ul>
+<li id="GUID-FAD44CE7-B0C3-523C-895F-DB58122ACA9D-GENID-1-12-1-26-1-1-9-1-11-1-2-9-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-B206FCF6-A9B4-5330-AC91-148D2A18C292-GENID-1-12-1-26-1-1-9-1-11-1-2-9-4-2"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-DE3E3CC4-7041-5D50-9C38-409D37858CA0-GENID-1-12-1-26-1-1-9-1-11-1-2-9-4-3"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CCryptoPluginEntry::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-17E00247-8550-53C2-9484-3BD0B7BB8350-GENID-1-12-1-26-1-1-9-1-11-1-2-9-4-4"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateAsyncHashL()</apiname></xref>  </p> </li>
+<li id="GUID-3FAA4591-64B1-55BF-9A07-D8E4318F9DA7-GENID-1-12-1-26-1-1-9-1-11-1-2-9-4-5"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateAsyncHashL()</apiname></xref>  </p> </li>
+</ul> </section>
+<section id="GUID-A558F4E2-F9A7-4CE1-86DC-A6E75646D9A7-GENID-1-12-1-26-1-1-9-1-11-1-2-10"><title>Random algorithm UIDs</title> <table id="GUID-7080EBEE-F16E-58E7-86D4-55B06AEE3F9C-GENID-1-12-1-26-1-1-9-1-11-1-2-10-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRandomUid </p> </entry>
+<entry><p>Random algorithm UID </p> </entry>
+<entry><p>0x10283178 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The random algorithm UIDs are used by the following APIs: </p> <ul>
+<li id="GUID-60CD845B-520E-5A92-9D98-7060DFAFBE2A-GENID-1-12-1-26-1-1-9-1-11-1-2-10-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRandomFactory::CreateRandomL()</apiname></xref>  </p> </li>
+<li id="GUID-F78A3F91-F0FC-5B97-B09C-377B84DAB442-GENID-1-12-1-26-1-1-9-1-11-1-2-10-4-2"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname> CryptoSpi::CRuleSelector::CreateRandomL()</apiname></xref>  </p> </li>
+<li id="GUID-43703C40-4FB3-5233-BF18-34320FC50D8E-GENID-1-12-1-26-1-1-9-1-11-1-2-10-4-3"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRandomFactory::CreateAsyncRandomL()</apiname></xref> </p> </li>
+<li id="GUID-E98800A8-4C96-52CE-AE42-0D780065FBDE-GENID-1-12-1-26-1-1-9-1-11-1-2-10-4-4"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateAsyncRandomL()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-C0A00B5D-4499-41D5-A81D-372AFF2F0E98-GENID-1-12-1-26-1-1-9-1-11-1-2-11"><title>Symmetric key algorithm UIDs</title> <table id="GUID-21816DBD-BC04-5F12-9972-8FEF5CEA3F5A-GENID-1-12-1-26-1-1-9-1-11-1-2-11-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KDesUid </p> </entry>
+<entry><p>Des algorithm UID </p> </entry>
+<entry><p>0x10283179 </p> </entry>
+</row>
+<row>
+<entry><p>K3DesUid </p> </entry>
+<entry><p>3Des algorithm UID </p> </entry>
+<entry><p>0x1028317a </p> </entry>
+</row>
+<row>
+<entry><p>KRc2Uid </p> </entry>
+<entry><p>RC2 algorithm UID </p> </entry>
+<entry><p>0x1028317b </p> </entry>
+</row>
+<row>
+<entry><p>KArc4Uid </p> </entry>
+<entry><p>ARC4 algorithm UID </p> </entry>
+<entry><p>0x1028317c </p> </entry>
+</row>
+<row>
+<entry><p>KAesUid </p> </entry>
+<entry><p>AES algorithm UID </p> </entry>
+<entry><p>0x1028317d </p> </entry>
+</row>
+<row>
+<entry><p>KMisty1Uid </p> </entry>
+<entry><p>Misty1 algorithm UID </p> </entry>
+<entry><p>0x102831be </p> </entry>
+</row>
+<row>
+<entry><p>KMisty2Uid </p> </entry>
+<entry><p>Misty2 algorithm UID </p> </entry>
+<entry><p>0x102831bf </p> </entry>
+</row>
+<row>
+<entry><p>KKasumiUid </p> </entry>
+<entry><p>Kasumi algorithm UID </p> </entry>
+<entry><p>0x102831c0 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The symmetric key algorithm UIDs are used by the following API: </p> <ul>
+<li id="GUID-CF4CBD6B-F8AE-5034-9A3D-7D85D35DDCC4-GENID-1-12-1-26-1-1-9-1-11-1-2-11-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CSymmetricCipher::CSymmetricCipher()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-6A2F6C81-F91D-4453-8A5C-2B5D797681DD-GENID-1-12-1-26-1-1-9-1-11-1-2-12"><title>Asymmetric key algorithm UIDs</title> <table id="GUID-FB96DF5A-16F9-535F-B754-52FCEE1337C5-GENID-1-12-1-26-1-1-9-1-11-1-2-12-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KRsaCipherUid </p> </entry>
+<entry><p>RSA Cipher algorithm UID </p> </entry>
+<entry><p>0x1028317e </p> </entry>
+</row>
+<row>
+<entry><p>KRsaSignerUid </p> </entry>
+<entry><p>RSA Signer algorithm UID </p> </entry>
+<entry><p>0x1028317f </p> </entry>
+</row>
+<row>
+<entry><p>KRsaVerifierUid </p> </entry>
+<entry><p>RSA Verifier algorithm UID </p> </entry>
+<entry><p>0x10283181 </p> </entry>
+</row>
+<row>
+<entry><p>KRSAKeyPairGeneratorUid </p> </entry>
+<entry><p>RSA Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x10283185 </p> </entry>
+</row>
+<row>
+<entry><p>KDsaSignerUid </p> </entry>
+<entry><p>DSA Signer algorithm UID </p> </entry>
+<entry><p>0x10283180 </p> </entry>
+</row>
+<row>
+<entry><p>KDsaVerifierUid </p> </entry>
+<entry><p>DSA Verifier algorithm UID </p> </entry>
+<entry><p>0x10283182 </p> </entry>
+</row>
+<row>
+<entry><p>KDSAKeyPairGeneratorUid </p> </entry>
+<entry><p>DSA Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x10283186 </p> </entry>
+</row>
+<row>
+<entry><p>KDHAgreementUid </p> </entry>
+<entry><p>DH Agreement algorithm UID </p> </entry>
+<entry><p>0x10283183 </p> </entry>
+</row>
+<row>
+<entry><p>KDHKeyPairGeneratorUid </p> </entry>
+<entry><p>DH Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x10283184 </p> </entry>
+</row>
+<row>
+<entry><p>KEccCipherUid </p> </entry>
+<entry><p>ECC Key Cipher algorithm UID </p> </entry>
+<entry><p>0x20024482 </p> </entry>
+</row>
+<row>
+<entry><p>KEccSignerUid </p> </entry>
+<entry><p>ECC Key Signer algorithm UID </p> </entry>
+<entry><p>0x20024483 </p> </entry>
+</row>
+<row>
+<entry><p>KEccVerifierUid </p> </entry>
+<entry><p>ECC Key Verifier algorithm UID </p> </entry>
+<entry><p>0x20024486 </p> </entry>
+</row>
+<row>
+<entry><p>KEccKeyPairGeneratorUid </p> </entry>
+<entry><p>ECC Key Pair Generator algorithm UID </p> </entry>
+<entry><p>0x20024487 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p> <b>Note:</b> The ECC key UIDs are enabled only if the macros <codeph>SYMBIAN_ENABLE_SDP_ECC</codeph> and <codeph>SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT</codeph> are enabled. </p> <p>The asymmetric key algorithm UIDs are used by the following
+API: </p> <ul>
+<li id="GUID-6121C646-5898-51C4-A51D-063A6841BDF7-GENID-1-12-1-26-1-1-9-1-11-1-2-12-5-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CAsymmetricCipher::CAsymmetricCipher()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-CF0ECFB3-C28B-41D2-AE47-6C360F47DA17-GENID-1-12-1-26-1-1-9-1-11-1-2-13"><title>Other UIDs</title> <table id="GUID-58122807-15E8-5919-BE4B-6E52BB425319-GENID-1-12-1-26-1-1-9-1-11-1-2-13-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KPassedHandleToKeyUid </p> </entry>
+<entry><p>Use this UID as <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> key parameter,
+whenever the CryptoSPI user has just the handle and not the actual key. The
+CryptoSPI plug-in searches for this ID and invokes the appropriate APIs for
+providing access to the key. </p> <p> <b>Note:</b> This UID is enabled only
+if the <codeph>SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT</codeph> macro is enabled. </p> </entry>
+<entry><p>0x20025161 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p><b>Example usage of KPassedHandleToKeyUid</b> </p> <p>The following
+sequence of steps explains the use of <codeph>KPassedHandleToKeyUid</codeph> in
+the key parameter, which, along with the key property creates a <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object.
+This <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object is one of the parameters
+in the creation of a signer object, which can be used for performing signing
+operations. </p> <ol id="GUID-90F8CE15-EFDA-5330-A8A0-722EFC5714B0-GENID-1-12-1-26-1-1-9-1-11-1-2-13-5">
+<li id="GUID-809C4C15-873A-51CE-B1E8-CCFAAD66C8A7-GENID-1-12-1-26-1-1-9-1-11-1-2-13-5-1"><p>Define the key property. </p> <p>Create
+a <codeph>CCryptoParams</codeph> object for the key parameter. Add the key
+handle and <codeph>KPassedHandleToKeyUid</codeph> to the CCryptoParams object
+by using <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CCryptoParams::AddL()</apiname></xref>. </p> </li>
+<li id="GUID-D6732C41-74A4-59A3-A099-D7CA9AE2C634-GENID-1-12-1-26-1-1-9-1-11-1-2-13-5-2"><p>Create a <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object
+by passing instance of the key property and the <codeph>CCryptoParams</codeph> object
+containing <codeph>KPassedHandleToKeyUid</codeph>. </p> </li>
+<li id="GUID-ADA7CF45-9A3B-5888-9BF7-11465E78A04B-GENID-1-12-1-26-1-1-9-1-11-1-2-13-5-3"><p>Create a signer object
+by using the <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object as one of the
+parameters. This signer object can be used for performing signing operations. </p> </li>
+</ol> <p>The following code snippet demonstrates the use of <codeph>KPassedHandleToKeyUid</codeph>: </p> <codeblock id="GUID-2BDD4700-C5EA-56A9-ACE7-5CB703B43886-GENID-1-12-1-26-1-1-9-1-11-1-2-13-7" xml:space="preserve">
+.
+.
+.
+// Define the key property
+TKeyProperty keyProperty;
+keyProperty.iAlgorithmUid = KRsaSignerUid;
+
+// Create the key parameter object
+CCryptoParams* keyParameters = CCryptoParams::NewLC();
+
+// iHandle is of type TCTTokenObjectHandle. It contains handle to the key
+keyParameters-&gt;AddL(iHandle.iObjectId, KPassedHandleToKeyUid);
+
+// Create a CKey object
+CKey* newKey = CKey::NewL(keyProperty, *keyParameters);
+
+// Create a signer plug-in object
+CSigner * implsig = NULL;    
+
+// Create the signer object
+CSignatureFactory::CreateSignerL(implsig, KRsaSignerUid, *newKey, KPaddingModePkcs1_v1_5_SignatureUid, NULL);
+.
+.
+.
+</codeblock> </section>
+<section id="GUID-0086C0B8-AE57-4653-9F77-A8594441D7AE-GENID-1-12-1-26-1-1-9-1-11-1-2-14"><title>Operation modes</title> <table id="GUID-DE9AE866-8A93-5876-A083-30A054D35651-GENID-1-12-1-26-1-1-9-1-11-1-2-14-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>UID</entry>
+<entry>Description</entry>
+<entry>Value</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>KOperationModeNoneUid </p> </entry>
+<entry><p>None Mode UID </p> </entry>
+<entry><p>0x10283190 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeECBUid </p> </entry>
+<entry><p>ECB Mode UID </p> </entry>
+<entry><p>0x10283191 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeCBCUid </p> </entry>
+<entry><p>CBC Mode UID </p> </entry>
+<entry><p>0x10283192 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeOFBUid </p> </entry>
+<entry><p>OFB Mode UID </p> </entry>
+<entry><p>0x10283193 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeCFBUid </p> </entry>
+<entry><p>CFB Mode UID </p> </entry>
+<entry><p>0x10283194 </p> </entry>
+</row>
+<row>
+<entry><p>KOperationModeCTRUid </p> </entry>
+<entry><p>CTR Mode UID </p> </entry>
+<entry><p>0x10283195 </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The operation modes are used by the following APIs: </p> <ul>
+<li id="GUID-3A02B850-7569-58CD-9D70-0A978DDA2963-GENID-1-12-1-26-1-1-9-1-11-1-2-14-4-1"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>  </p> </li>
+<li id="GUID-81EA0218-CCFE-563D-9709-3DBA86260262-GENID-1-12-1-26-1-1-9-1-11-1-2-14-4-2"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname> CryptoSpi::CHashFactory::CreateAsyncHashL()</apiname></xref>  </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,675 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B" xml:lang="en"><title>UIDs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-D577F130-EBFF-4526-BB1B-C09C2D1AE41F"><title>Symmetric cipher
-algorithm UIDs</title> <table id="GUID-8DF2D162-47BE-5B6F-992E-81EF1BA45AEA">
-<tgroup cols="4"><colspec colname="col0" colwidth="0.59*"/><colspec colname="col1" colwidth="1.14*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="1.73*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KDesUid </p> </entry>
-<entry><p>DES (Data Encryption Standard) algorithm </p> </entry>
-<entry><p>0x10283179 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc2406.txt" scope="external"> RFC
-2406</xref> </p> </entry>
-</row>
-<row>
-<entry><p>K3DesUid </p> </entry>
-<entry><p>3DES (Triple Data Encryption Standard) algorithm </p> </entry>
-<entry><p>0x1028317a </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc2405.txt" scope="external">RFC
-2405</xref>  </p> <p> <xref href="http://www.ietf.org/rfc/rfc2420.txt" scope="external">RFC
-2420</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KRc2Uid </p> </entry>
-<entry><p>RC2 algorithm </p> </entry>
-<entry><p>0x1028317b </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc2268.txt" scope="external"> RFC
-2268</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KArc4Uid </p> </entry>
-<entry><p>ARC4 ('alleged' RC4) algorithm (strong random number generator) </p> </entry>
-<entry><p>0x1028317c </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc2144.txt" scope="external"> RFC
-2144 </xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KAesUid </p> </entry>
-<entry><p>AES (Advanced Encryption Standard) </p> </entry>
-<entry><p>0x1028317d </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc3268.txt" scope="external"> RFC
-3268</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KMisty1Uid </p> </entry>
-<entry><p>Misty1 algorithm </p> </entry>
-<entry><p>0x102831be </p> </entry>
-<entry><p> <xref href="http://tools.ietf.org/html/rfc2994" scope="external">RFC
-2994</xref> </p> </entry>
-</row>
-<row>
-<entry><p>KMisty2Uid </p> </entry>
-<entry><p>Misty2 algorithm </p> </entry>
-<entry><p>0x102831bf </p> </entry>
-<entry/>
-</row>
-<row>
-<entry><p>KKasumiUid </p> </entry>
-<entry><p>Kasumi algorithm </p> </entry>
-<entry><p>0x102831c0 </p> </entry>
-<entry><p> <xref href="http://tools.ietf.org/html/rfc3711" scope="external">RFC
-3711</xref> </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The symmetric cipher algorithm UIDs are used by the following
-CryptoSPI APIs: </p><ul>
-<li><p><xref href="GUID-D13C874A-A34F-3DAD-8E58-C6E518E40C9B.dita#GUID-D13C874A-A34F-3DAD-8E58-C6E518E40C9B/GUID-E0E5C018-973F-3704-9B61-233E977E0224"><apiname>CSymmetricCipherFactory::CreateSymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-751A1919-E6F3-3445-B011-2AED64768544"><apiname>CRuleSelector::CreateSymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-CCA2D456-B208-384C-B74A-B06B83EFCC16"><apiname>CCryptoPluginEntry::CreateSymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-781533FC-C92E-34C5-9848-A98A836A952D"><apiname>CRuleSelector::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-B3B34A75-353E-3D39-8A5C-AA0391F8F15B"><apiname>CCryptoPluginEntry::CreateAsymmetricCipherL()</apiname></xref></p></li>
-</ul> </section>
-<section id="GUID-D2728977-CA7E-4DDB-AE35-9AC8A6577D27"><title>Asymmetric
-cipher algorithm UIDs</title> <table id="GUID-1B15D4D7-208B-568C-8411-E0F715614C85">
-<tgroup cols="4"><colspec colname="col0" colwidth="0.63*"/><colspec colname="col1" colwidth="0.53*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="2.29*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KRsaCipherUid </p> </entry>
-<entry><p>RSA </p> </entry>
-<entry><p>0x1028317e </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc2437.txt" scope="external">RFC
-2437: PKCS #1</xref>: RSA Cryptography Specifications Version 2.0 </p> <p> <xref href="http://tools.ietf.org/html/rfc2313" scope="external">RFC 2313 - PKCS
-#1</xref>: RSA Encryption Version 1.5 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The asymmetric cipher algorithm UIDs are used by the following
- CryptoSPI APIs: </p><ul>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-781533FC-C92E-34C5-9848-A98A836A952D"><apiname>CRuleSelector::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-B3B34A75-353E-3D39-8A5C-AA0391F8F15B"><apiname>CCryptoPluginEntry::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-12050906-942F-342B-9B40-1AAA7010ECB6"><apiname>CRuleSelector::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
-</ul> </section>
-<section id="GUID-07EFE951-61E0-4F53-BBDA-43B189051BAA"><title>Signer algorithm
-UIDs</title> <table id="GUID-9AA786D9-4884-5765-906B-E917729A1871">
-<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.48*"/><colspec colname="col3" colwidth="1.52*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KRsaSignerUid </p> </entry>
-<entry><p>RSA Signer algorithm </p> </entry>
-<entry><p>0x1028317f </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc4853.txt" scope="external">RFC
-4853</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KDsaSignerUid </p> </entry>
-<entry><p>DSA Signer algorithm </p> </entry>
-<entry><p>0x10283180 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc3279.txt" scope="external">RFC
-3279</xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The signer algorithm UIDs are used by the following CryptoSPI
-APIs: </p><ul>
-<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-686038A5-6F90-32C1-960E-E286B59370EE"><apiname>CSignatureFactory::CreateSignerL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-B4EEB1B5-C068-36B3-BE72-7597113ED55F"><apiname>CRuleSelector::CreateSignerL()</apiname></xref></p></li>
-<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-DCF8148C-9781-385D-BC46-BB3DC8873F9B"><apiname>CSignatureFactory::CreateAsyncSignerL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-B2194066-ABAE-3810-A77C-B734B49D5FC7"><apiname>CRuleSelector::CreateAsyncSignerL()</apiname></xref></p></li>
-</ul></section>
-<section id="GUID-D056A982-5E83-4501-BDB1-693A7A503756"><title>Verifier algorithm
-UIDs</title> <table id="GUID-4D36FD6F-EB37-5D3E-87DC-DE75CFFCF683">
-<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.57*"/><colspec colname="col3" colwidth="1.43*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KRsaVerifierUid </p> </entry>
-<entry><p>RSA Verifier algorithm </p> </entry>
-<entry><p>0x10283181 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc4853.txt" scope="external">RFC
-4853</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KDsaVerifierUid </p> </entry>
-<entry><p>DSA Verifier algorithm </p> </entry>
-<entry><p>0x10283182 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc3279.txt" scope="external">RFC
-3279</xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The verifier algorithm UIDs are used by the following CryptoSPI
-APIs: </p><ul>
-<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-3DD66A5A-5B9F-3BDB-84B4-DB95BD386100"><apiname>CSignatureFactory::CreateVerifierL()</apiname></xref></p></li>
-<li><p><xref href="GUID-E564F6AF-9D01-3D3F-AA3E-5956A7221552.dita#GUID-E564F6AF-9D01-3D3F-AA3E-5956A7221552/GUID-3227DC19-D09F-30FB-91BB-93B56D669BE7"><apiname>MPluginSelector::CreateVerifierL()</apiname></xref></p></li>
-<li><p><xref href="GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC.dita#GUID-3ED5D4BF-0EDD-30ED-B7BA-C62EE2981DAC/GUID-D0C7C0BB-72E5-3BA5-864F-B047A49BD237"><apiname>CSignatureFactory::CreateAsyncVerifierL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-1CA31AAD-CD01-3F06-864F-A2B37EA1177A"><apiname>CRuleSelector::CreateAsyncVerifierL()</apiname></xref></p></li>
-</ul></section>
-<section id="GUID-B2C80B22-9EB3-4AC1-B377-5DC957EB6AEE"><title>Key Agreement
-algorithm UIDs</title> <table id="GUID-60895D3B-D766-5E65-9392-CCF7A55281D1">
-<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.55*"/><colspec colname="col3" colwidth="1.46*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KDHAgreementUid </p> </entry>
-<entry><p>Diffie-Hellman Key Agreement algorithm </p> </entry>
-<entry><p>0x10283183 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc2631.txt" scope="external">RFC
-2631</xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The Key Agreement algorithm UIDs are used by the following CryptoSPI
-APIs: </p><ul>
-<li><p><xref href="GUID-7DF57CF7-F165-3648-A434-7963F2491D1A.dita#GUID-7DF57CF7-F165-3648-A434-7963F2491D1A/GUID-D3EFC9F7-D0E8-36EB-80E4-03B7716ABED4"><apiname>CKeyAgreementFactory::CreateKeyAgreementL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-88221CC1-77C4-30D3-86F0-A365D1A03F84"><apiname>CRuleSelector::CreateKeyAgreementL()</apiname></xref></p></li>
-<li><p><xref href="GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A.dita#GUID-3CDC62B1-2CC9-3546-9E75-772CC1D9546A/GUID-EE365359-41F8-3270-9449-C5A58D89C54A"><apiname>CCryptoPluginEntry::CreateKeyAgreementL()</apiname></xref></p></li>
-<li><p><xref href="GUID-7DF57CF7-F165-3648-A434-7963F2491D1A.dita#GUID-7DF57CF7-F165-3648-A434-7963F2491D1A/GUID-A327708D-7089-34C0-B717-D3A10D8B5FAF"><apiname>CKeyAgreementFactory::CreateAsyncKeyAgreementL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-FB7A80AE-3AB8-300F-8FA3-E14C5D3B6E52"><apiname>CRuleSelector::CreateAsyncKeyAgreementL()</apiname></xref></p></li>
-</ul> </section>
-<section id="GUID-3BF50684-42E8-4BAA-95C5-73448C048B2F"><title>Key Pair Generator
-algorithm UIDs</title> <table id="GUID-8CB20C6D-8C7A-5D2B-AD7F-6F04B7204A5F">
-<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.56*"/><colspec colname="col3" colwidth="1.45*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KDHKeyPairGeneratorUid </p> </entry>
-<entry><p>DH Key Pair Generator algorithm </p> </entry>
-<entry><p>0x10283184 </p> </entry>
-<entry><p> <xref href="http://www.isi.edu/in-notes/rfc2539.txt" scope="external"> RFC
-2539</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KRSAKeyPairGeneratorUid </p> </entry>
-<entry><p>RSA Key Pair Generator algorithm </p> </entry>
-<entry><p>0x10283185 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc4055.txt" scope="external">RFC
-4055</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KDSAKeyPairGeneratorUid </p> </entry>
-<entry><p>DSA Key Pair Generator algorithm </p> </entry>
-<entry><p>0x10283186 </p> </entry>
-<entry/>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The Key Pair Generator algorithm UIDs are used by the following
-CryptoSPI APIs: </p><ul>
-<li><p><xref href="GUID-F6E699CD-2B2F-36A6-AD82-BD2CC58A7A29.dita#GUID-F6E699CD-2B2F-36A6-AD82-BD2CC58A7A29/GUID-733E6326-0886-3BC3-83BE-67CE02724200"><apiname>CKeyPairGeneratorFactory::CreateAsyncKeyPairGeneratorL()</apiname></xref></p></li>
-<li><p><xref href="GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79.dita#GUID-253D228B-4210-3906-B5AC-31C7DDBCCD79/GUID-199FAC0D-A9C2-32B9-897A-3A95D795D3CE"><apiname>CRuleSelector::CreateAsyncKeyPairGeneratorL()</apiname></xref></p></li>
-</ul> </section>
-<section id="GUID-3485CB77-BD12-4798-886A-F876E2C97FEE"><title>Padding modes</title> <table id="GUID-22EE4534-D4C8-5B74-BF1D-FED85D52D706">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KPaddingModeNoneUid </p> </entry>
-<entry><p>Padding Mode None Uid </p> </entry>
-<entry><p>0x10283188 </p> </entry>
-</row>
-<row>
-<entry><p>KPaddingModeSSLv3Uid </p> </entry>
-<entry><p>SSLv3 Padding Mode Uid </p> </entry>
-<entry><p>0x10283189 </p> </entry>
-</row>
-<row>
-<entry><p>KPaddingModePKCS7Uid </p> </entry>
-<entry><p>PKCS7 Padding Mode Uid </p> </entry>
-<entry><p>0x1028318a </p> </entry>
-</row>
-<row>
-<entry><p>KPaddingModePkcs1_v1_5_EncryptionUid </p> </entry>
-<entry><p>Pkcs1 v1.5 Encryption Padding mode Uid </p> </entry>
-<entry><p>0x1028318b </p> </entry>
-</row>
-<row>
-<entry><p>KPaddingModePkcs1_v1_5_SignatureUid </p> </entry>
-<entry><p>Pkcs1 v1.5 Signature Padding mode Uid </p> </entry>
-<entry><p>0x1028318c </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The padding modes are used by the following CryptoSPI APIs: </p><ul>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
-</ul> </section>
-<section id="GUID-47A7F1B3-12A7-4567-ABE9-21539CE6D737"><title>Cryptography
-modes</title> <table id="GUID-1E4937C9-0E59-547D-8B56-1BAC3F8ED38C">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KCryptoModeEncryptUid </p> </entry>
-<entry><p>Crypto Encrypt Mode Uid </p> </entry>
-<entry><p>0x1028318d </p> </entry>
-</row>
-<row>
-<entry><p>KCryptoModeDecryptUid </p> </entry>
-<entry><p>Crypto Decrypt Mode Uid </p> </entry>
-<entry><p>0x1028318e </p> </entry>
-</row>
-<row>
-<entry><p>KCryptoModeNoneUid </p> </entry>
-<entry><p>Crypto None Mode Uid </p> </entry>
-<entry><p>0x1028318f </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The cryptography modes are used by the following CryptoSPI APIs: </p><ul>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-DEB128B1-EC5F-363B-AE73-9232771F5FB4"><apiname>CAsymmetricCipherFactory::CreateAsymmetricCipherL()</apiname></xref></p></li>
-<li><p><xref href="GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170.dita#GUID-F9DF2529-463B-3D0C-853A-42E1B9DDD170/GUID-EDC16E45-F72F-3E1A-ABDA-762CFAA3E82B"><apiname>CAsymmetricCipherFactory::CreateAsyncAsymmetricCipherL()</apiname></xref></p></li>
-</ul></section>
-<section id="GUID-4C67EEC6-151D-4BF9-A2A4-12FE450B9CC3"><title>Hash algorithm UIDs</title> <table id="GUID-419E5D6D-17A7-5454-92A1-E7EDEF618ED6">
-<tgroup cols="4"><colspec colname="col0" colwidth="1.00*"/><colspec colname="col1" colwidth="1.00*"/><colspec colname="col2" colwidth="0.72*"/><colspec colname="col3" colwidth="1.28*"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-<entry>RFC standard</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KMd2Uid </p> </entry>
-<entry><p>MD2, Message-Digest Algorithm </p> </entry>
-<entry><p>0x10283173 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc1319.txt" scope="external">RFC
-1319</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KMd4Uid </p> </entry>
-<entry><p>MD4, Message-Digest Algorithm (Output: 128 bit message digest) </p> </entry>
-<entry><p>0x2000B341 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc1320.txt" scope="external">RFC
-1320</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KMd5Uid </p> </entry>
-<entry><p>MD5 ,Message-Digest Algorithm (output:128-bit "fingerprint" or "message
-digest) </p> </entry>
-<entry><p>0x10283174 </p> </entry>
-<entry><p> <xref href="http://www.ietf.org/rfc/rfc1321.txt" scope="external">RFC
-1321</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KSha1Uid </p> </entry>
-<entry><p>Secure Hash Algorithm(output: 160-bit message digest) </p> </entry>
-<entry><p>0x10283175 </p> </entry>
-<entry><p> <xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS
-180-1</xref> and <xref href="http://www.ietf.org/rfc/rfc3174.txt" scope="external">RFC
-3174</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KSha224Uid </p> </entry>
-<entry><p>Sha224 algorithm </p> </entry>
-<entry><p>0x2000E258 </p> </entry>
-<entry><p> <xref href="http://all.net/books/standards/NIST-CSRC/csrc.nist.gov/publications/fips/fips180-2/FIPS180-2_changenotice.pdf" scope="external">FIPS 180-2 (with change notice)</xref>, <xref href="http://www.ietf.org/rfc/rfc3874.txt" scope="external">RFC3874</xref> and <xref href="http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf" scope="external">FIPS 180-3</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KSha256Uid </p> </entry>
-<entry><p>Sha256 algorithm </p> </entry>
-<entry><p>0x2000E259 </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KSha384Uid </p> </entry>
-<entry><p>Sha384 algorithm </p> </entry>
-<entry><p>0x2000E25A </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
-</row>
-<row>
-<entry><p>KSha512Uid </p> </entry>
-<entry><p>Sha512 algorithm </p> </entry>
-<entry><p>0x2000E25B </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" scope="external">FIPS 180-2</xref> and <xref href="http://tools.ietf.org/html/rfc4634" scope="external">RFC 4634 </xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The hash algorithm UIDs are used by the following APIs: </p> <ul>
-<li id="GUID-FAD44CE7-B0C3-523C-895F-DB58122ACA9D"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>  </p> </li>
-<li id="GUID-B206FCF6-A9B4-5330-AC91-148D2A18C292"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateHashL()</apiname></xref>  </p> </li>
-<li id="GUID-DE3E3CC4-7041-5D50-9C38-409D37858CA0"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CCryptoPluginEntry::CreateHashL()</apiname></xref>  </p> </li>
-<li id="GUID-17E00247-8550-53C2-9484-3BD0B7BB8350"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateAsyncHashL()</apiname></xref>  </p> </li>
-<li id="GUID-3FAA4591-64B1-55BF-9A07-D8E4318F9DA7"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateAsyncHashL()</apiname></xref>  </p> </li>
-</ul> </section>
-<section id="GUID-A558F4E2-F9A7-4CE1-86DC-A6E75646D9A7"><title>Random algorithm UIDs</title> <table id="GUID-7080EBEE-F16E-58E7-86D4-55B06AEE3F9C">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KRandomUid </p> </entry>
-<entry><p>Random algorithm UID </p> </entry>
-<entry><p>0x10283178 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The random algorithm UIDs are used by the following APIs: </p> <ul>
-<li id="GUID-60CD845B-520E-5A92-9D98-7060DFAFBE2A"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRandomFactory::CreateRandomL()</apiname></xref>  </p> </li>
-<li id="GUID-F78A3F91-F0FC-5B97-B09C-377B84DAB442"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname> CryptoSpi::CRuleSelector::CreateRandomL()</apiname></xref>  </p> </li>
-<li id="GUID-43703C40-4FB3-5233-BF18-34320FC50D8E"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRandomFactory::CreateAsyncRandomL()</apiname></xref> </p> </li>
-<li id="GUID-E98800A8-4C96-52CE-AE42-0D780065FBDE"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CRuleSelector::CreateAsyncRandomL()</apiname></xref> </p> </li>
-</ul> </section>
-<section id="GUID-C0A00B5D-4499-41D5-A81D-372AFF2F0E98"><title>Symmetric key algorithm UIDs</title> <table id="GUID-21816DBD-BC04-5F12-9972-8FEF5CEA3F5A">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KDesUid </p> </entry>
-<entry><p>Des algorithm UID </p> </entry>
-<entry><p>0x10283179 </p> </entry>
-</row>
-<row>
-<entry><p>K3DesUid </p> </entry>
-<entry><p>3Des algorithm UID </p> </entry>
-<entry><p>0x1028317a </p> </entry>
-</row>
-<row>
-<entry><p>KRc2Uid </p> </entry>
-<entry><p>RC2 algorithm UID </p> </entry>
-<entry><p>0x1028317b </p> </entry>
-</row>
-<row>
-<entry><p>KArc4Uid </p> </entry>
-<entry><p>ARC4 algorithm UID </p> </entry>
-<entry><p>0x1028317c </p> </entry>
-</row>
-<row>
-<entry><p>KAesUid </p> </entry>
-<entry><p>AES algorithm UID </p> </entry>
-<entry><p>0x1028317d </p> </entry>
-</row>
-<row>
-<entry><p>KMisty1Uid </p> </entry>
-<entry><p>Misty1 algorithm UID </p> </entry>
-<entry><p>0x102831be </p> </entry>
-</row>
-<row>
-<entry><p>KMisty2Uid </p> </entry>
-<entry><p>Misty2 algorithm UID </p> </entry>
-<entry><p>0x102831bf </p> </entry>
-</row>
-<row>
-<entry><p>KKasumiUid </p> </entry>
-<entry><p>Kasumi algorithm UID </p> </entry>
-<entry><p>0x102831c0 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The symmetric key algorithm UIDs are used by the following API: </p> <ul>
-<li id="GUID-CF4CBD6B-F8AE-5034-9A3D-7D85D35DDCC4"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CSymmetricCipher::CSymmetricCipher()</apiname></xref> </p> </li>
-</ul> </section>
-<section id="GUID-6A2F6C81-F91D-4453-8A5C-2B5D797681DD"><title>Asymmetric key algorithm UIDs</title> <table id="GUID-FB96DF5A-16F9-535F-B754-52FCEE1337C5">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KRsaCipherUid </p> </entry>
-<entry><p>RSA Cipher algorithm UID </p> </entry>
-<entry><p>0x1028317e </p> </entry>
-</row>
-<row>
-<entry><p>KRsaSignerUid </p> </entry>
-<entry><p>RSA Signer algorithm UID </p> </entry>
-<entry><p>0x1028317f </p> </entry>
-</row>
-<row>
-<entry><p>KRsaVerifierUid </p> </entry>
-<entry><p>RSA Verifier algorithm UID </p> </entry>
-<entry><p>0x10283181 </p> </entry>
-</row>
-<row>
-<entry><p>KRSAKeyPairGeneratorUid </p> </entry>
-<entry><p>RSA Key Pair Generator algorithm UID </p> </entry>
-<entry><p>0x10283185 </p> </entry>
-</row>
-<row>
-<entry><p>KDsaSignerUid </p> </entry>
-<entry><p>DSA Signer algorithm UID </p> </entry>
-<entry><p>0x10283180 </p> </entry>
-</row>
-<row>
-<entry><p>KDsaVerifierUid </p> </entry>
-<entry><p>DSA Verifier algorithm UID </p> </entry>
-<entry><p>0x10283182 </p> </entry>
-</row>
-<row>
-<entry><p>KDSAKeyPairGeneratorUid </p> </entry>
-<entry><p>DSA Key Pair Generator algorithm UID </p> </entry>
-<entry><p>0x10283186 </p> </entry>
-</row>
-<row>
-<entry><p>KDHAgreementUid </p> </entry>
-<entry><p>DH Agreement algorithm UID </p> </entry>
-<entry><p>0x10283183 </p> </entry>
-</row>
-<row>
-<entry><p>KDHKeyPairGeneratorUid </p> </entry>
-<entry><p>DH Key Pair Generator algorithm UID </p> </entry>
-<entry><p>0x10283184 </p> </entry>
-</row>
-<row>
-<entry><p>KEccCipherUid </p> </entry>
-<entry><p>ECC Key Cipher algorithm UID </p> </entry>
-<entry><p>0x20024482 </p> </entry>
-</row>
-<row>
-<entry><p>KEccSignerUid </p> </entry>
-<entry><p>ECC Key Signer algorithm UID </p> </entry>
-<entry><p>0x20024483 </p> </entry>
-</row>
-<row>
-<entry><p>KEccVerifierUid </p> </entry>
-<entry><p>ECC Key Verifier algorithm UID </p> </entry>
-<entry><p>0x20024486 </p> </entry>
-</row>
-<row>
-<entry><p>KEccKeyPairGeneratorUid </p> </entry>
-<entry><p>ECC Key Pair Generator algorithm UID </p> </entry>
-<entry><p>0x20024487 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p> <b>Note:</b> The ECC key UIDs are enabled only if the macros <codeph>SYMBIAN_ENABLE_SDP_ECC</codeph> and <codeph>SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT</codeph> are enabled. </p> <p>The asymmetric key algorithm UIDs are used by the following
-API: </p> <ul>
-<li id="GUID-6121C646-5898-51C4-A51D-063A6841BDF7"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CAsymmetricCipher::CAsymmetricCipher()</apiname></xref> </p> </li>
-</ul> </section>
-<section id="GUID-CF0ECFB3-C28B-41D2-AE47-6C360F47DA17"><title>Other UIDs</title> <table id="GUID-58122807-15E8-5919-BE4B-6E52BB425319">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KPassedHandleToKeyUid </p> </entry>
-<entry><p>Use this UID as <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> key parameter,
-whenever the CryptoSPI user has just the handle and not the actual key. The
-CryptoSPI plug-in searches for this ID and invokes the appropriate APIs for
-providing access to the key. </p> <p> <b>Note:</b> This UID is enabled only
-if the <codeph>SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT</codeph> macro is enabled. </p> </entry>
-<entry><p>0x20025161 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Example usage of KPassedHandleToKeyUid</b> </p> <p>The following
-sequence of steps explains the use of <codeph>KPassedHandleToKeyUid</codeph> in
-the key parameter, which, along with the key property creates a <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object.
-This <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object is one of the parameters
-in the creation of a signer object, which can be used for performing signing
-operations. </p> <ol id="GUID-90F8CE15-EFDA-5330-A8A0-722EFC5714B0">
-<li id="GUID-809C4C15-873A-51CE-B1E8-CCFAAD66C8A7"><p>Define the key property. </p> <p>Create
-a <codeph>CCryptoParams</codeph> object for the key parameter. Add the key
-handle and <codeph>KPassedHandleToKeyUid</codeph> to the CCryptoParams object
-by using <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CCryptoParams::AddL()</apiname></xref>. </p> </li>
-<li id="GUID-D6732C41-74A4-59A3-A099-D7CA9AE2C634"><p>Create a <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object
-by passing instance of the key property and the <codeph>CCryptoParams</codeph> object
-containing <codeph>KPassedHandleToKeyUid</codeph>. </p> </li>
-<li id="GUID-ADA7CF45-9A3B-5888-9BF7-11465E78A04B"><p>Create a signer object
-by using the <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CKey</apiname></xref> object as one of the
-parameters. This signer object can be used for performing signing operations. </p> </li>
-</ol> <p>The following code snippet demonstrates the use of <codeph>KPassedHandleToKeyUid</codeph>: </p> <codeblock id="GUID-2BDD4700-C5EA-56A9-ACE7-5CB703B43886" xml:space="preserve">
-.
-.
-.
-// Define the key property
-TKeyProperty keyProperty;
-keyProperty.iAlgorithmUid = KRsaSignerUid;
-
-// Create the key parameter object
-CCryptoParams* keyParameters = CCryptoParams::NewLC();
-
-// iHandle is of type TCTTokenObjectHandle. It contains handle to the key
-keyParameters-&gt;AddL(iHandle.iObjectId, KPassedHandleToKeyUid);
-
-// Create a CKey object
-CKey* newKey = CKey::NewL(keyProperty, *keyParameters);
-
-// Create a signer plug-in object
-CSigner * implsig = NULL;    
-
-// Create the signer object
-CSignatureFactory::CreateSignerL(implsig, KRsaSignerUid, *newKey, KPaddingModePkcs1_v1_5_SignatureUid, NULL);
-.
-.
-.
-</codeblock> </section>
-<section id="GUID-0086C0B8-AE57-4653-9F77-A8594441D7AE"><title>Operation modes</title> <table id="GUID-DE9AE866-8A93-5876-A083-30A054D35651">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>UID</entry>
-<entry>Description</entry>
-<entry>Value</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>KOperationModeNoneUid </p> </entry>
-<entry><p>None Mode UID </p> </entry>
-<entry><p>0x10283190 </p> </entry>
-</row>
-<row>
-<entry><p>KOperationModeECBUid </p> </entry>
-<entry><p>ECB Mode UID </p> </entry>
-<entry><p>0x10283191 </p> </entry>
-</row>
-<row>
-<entry><p>KOperationModeCBCUid </p> </entry>
-<entry><p>CBC Mode UID </p> </entry>
-<entry><p>0x10283192 </p> </entry>
-</row>
-<row>
-<entry><p>KOperationModeOFBUid </p> </entry>
-<entry><p>OFB Mode UID </p> </entry>
-<entry><p>0x10283193 </p> </entry>
-</row>
-<row>
-<entry><p>KOperationModeCFBUid </p> </entry>
-<entry><p>CFB Mode UID </p> </entry>
-<entry><p>0x10283194 </p> </entry>
-</row>
-<row>
-<entry><p>KOperationModeCTRUid </p> </entry>
-<entry><p>CTR Mode UID </p> </entry>
-<entry><p>0x10283195 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The operation modes are used by the following APIs: </p> <ul>
-<li id="GUID-3A02B850-7569-58CD-9D70-0A978DDA2963"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>  </p> </li>
-<li id="GUID-81EA0218-CCFE-563D-9709-3DBA86260262"><p> <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita"><apiname> CryptoSpi::CHashFactory::CreateAsyncHashL()</apiname></xref>  </p> </li>
-</ul> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e101007_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e102743_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e106763_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e79123_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e80068_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e83321_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e84266_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e96928_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AF21373-E51E-5B9D-ACC1-243752C9BB5B_d0e583950_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8AF21373-E51E-5B9D-ACC1-243752C9BB5B_d0e633238_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8B137691-7C9E-4085-BFFE-4CFE4A64A091.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8B137691-7C9E-4085-BFFE-4CFE4A64A091.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 labels associated with the softkeys. </p>
 <fig id="GUID-3B64A270-FF5A-4F7E-9D8E-903846944485">
 <title>Control pane</title>
-<image href="GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e95807_href.png" placement="inline"/>
+<image href="GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e99926_href.png" placement="inline"/>
 </fig>
 <note> In landscape orientation, a part of the status pane (the clock and
 indicator pane) is inside the control pane.</note>
Binary file Symbian3/PDK/Source/GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e581990_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e631278_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8B37A2C7-B4DB-5826-B6C2-3C21012EF9EA_d0e73123_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8B37A2C7-B4DB-5826-B6C2-3C21012EF9EA_d0e77336_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8B3AFB07-3CD7-590D-9791-84CB1C3AAED6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8B3AFB07-3CD7-590D-9791-84CB1C3AAED6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept xml:lang="en" id="GUID-8B3AFB07-3CD7-590D-9791-84CB1C3AAED6"><title>Location Request Management Overview</title><shortdesc>This document describes the Location Request Management collection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-10CF1A01-FB94-5535-B9A4-4446074F14AC"><title>Purpose</title> <p>The Location Request Management collection contains components for handling location requests from installed applications and from the network. </p> <p>The collection contains the Location Server component that handles location requests from installed applications and the Network Request Handler component that handles location requests from the network. </p> </section> <section id="GUID-83D8BCBD-2DFA-5838-A796-88AC73ED0113"><title>Architecture</title> <p>Figure 1 shows this collection within the context of the LBS system model. </p> <fig id="GUID-F9B70A1E-CAEA-59DE-A671-C02DCF91DAF4"><title>
              Figure 1. Location Request Management collection in the LBS system
              model. 
-          </title> <image href="GUID-61E8141F-366E-5476-ABCE-8B57535FF6D1_d0e427341_href.png" placement="inline"/></fig> </section> <section id="GUID-BBD492DB-F26F-5B60-BEE1-C491BC62E1A3"><title>Description</title> <p>The components in this collection support location request management on behalf of client applications that may be installed on the device or remotely across the network. </p> </section> <section id="GUID-CC592910-A2EE-5E35-AF84-20D4511CB653"><title>Components</title> <ul><li id="GUID-35E78F2A-056E-57E5-BAB1-7C2E5B972D15"><p> <xref href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita">Location Server</xref>  </p> <p>The Location Server manages location requests from installed applications. </p> <p>The Location Server uses the A-GPS Location Manager and Network Location Manager components of the Location Management collection to process the location requests. </p> </li> <li id="GUID-70830B13-9B5C-5E00-A79A-2D808AAAC277"><p> <xref href="GUID-CE970F0F-C922-516F-9D7E-EA1F4754A205.dita">Network Request Handler</xref>  </p> <p>The Network Request Handler manages location requests from the network. </p> <p>The Network Request Handler uses the A-GPS Location Manager component of the Location Management collection to process the location requests. </p> </li> </ul> </section> <section id="GUID-F4B46F3E-3EB1-5C01-8DBB-08B731A96263"><title>Using the Location Management collection</title> <p>See <xref href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita">Location Server</xref> and <xref href="GUID-CE970F0F-C922-516F-9D7E-EA1F4754A205.dita">Network Request Handler</xref> for more information. </p> </section> </conbody><related-links><link href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita"><linktext>Location
+          </title> <image href="GUID-61E8141F-366E-5476-ABCE-8B57535FF6D1_d0e433186_href.png" placement="inline"/></fig> </section> <section id="GUID-BBD492DB-F26F-5B60-BEE1-C491BC62E1A3"><title>Description</title> <p>The components in this collection support location request management on behalf of client applications that may be installed on the device or remotely across the network. </p> </section> <section id="GUID-CC592910-A2EE-5E35-AF84-20D4511CB653"><title>Components</title> <ul><li id="GUID-35E78F2A-056E-57E5-BAB1-7C2E5B972D15"><p> <xref href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita">Location Server</xref>  </p> <p>The Location Server manages location requests from installed applications. </p> <p>The Location Server uses the A-GPS Location Manager and Network Location Manager components of the Location Management collection to process the location requests. </p> </li> <li id="GUID-70830B13-9B5C-5E00-A79A-2D808AAAC277"><p> <xref href="GUID-CE970F0F-C922-516F-9D7E-EA1F4754A205.dita">Network Request Handler</xref>  </p> <p>The Network Request Handler manages location requests from the network. </p> <p>The Network Request Handler uses the A-GPS Location Manager component of the Location Management collection to process the location requests. </p> </li> </ul> </section> <section id="GUID-F4B46F3E-3EB1-5C01-8DBB-08B731A96263"><title>Using the Location Management collection</title> <p>See <xref href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita">Location Server</xref> and <xref href="GUID-CE970F0F-C922-516F-9D7E-EA1F4754A205.dita">Network Request Handler</xref> for more information. </p> </section> </conbody><related-links><link href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita"><linktext>Location
                 Server</linktext> </link> <link href="GUID-CE970F0F-C922-516F-9D7E-EA1F4754A205.dita"><linktext>Network
                 Request Handler</linktext> </link> <link href="GUID-55F5F029-6A00-5894-8892-90836DE4BA40.dita"><linktext>Location
                 Management</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8B4CC1A0-1A39-4AF0-826B-8DDB9A837A27.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8B4CC1A0-1A39-4AF0-826B-8DDB9A837A27.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 server defines a plug-in interface for adding sensor plug-ins for any type
 of sensor hardware. The channel APIs enable client applications to interact
 with the sensor hardware.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-AB7AB8C8-DEB2-445C-A216-1FE142592C7D-GENID-1-12-1-10-1-1-8-1-4-1-3-1-3-1"><title>Key Concepts
+<section id="GUID-AB7AB8C8-DEB2-445C-A216-1FE142592C7D-GENID-1-12-1-11-1-1-8-1-4-1-3-1-3-1"><title>Key Concepts
 and Terms</title><dl>
 <dlentry>
 <dt>Sensor Channel</dt>
@@ -56,7 +56,7 @@
 </ul></p></dd>
 </dlentry>
 </dl>           </section>
-<section id="GUID-AB7AB8C8-DEB2-445C-A216-1FE142592C7D-GENID-1-12-1-10-1-1-8-1-4-1-3-1-3-2"><title>Description</title><p>The
+<section id="GUID-AB7AB8C8-DEB2-445C-A216-1FE142592C7D-GENID-1-12-1-11-1-1-8-1-4-1-3-1-3-2"><title>Description</title><p>The
 sensor server provides a plug-in interface (Sensor Definitions APIs) that
 enables platform developers to create sensor plug-ins for required sensors
 hardware. The sensor plug-ins enable the interaction between a client application
@@ -71,7 +71,7 @@
 of data from one sensor hardware to multiple clients simultaneously. It also
 resolves any contention between client applications for opening channels or
 configuring a sensor device.</p>           </section>
-<section id="GUID-AB7AB8C8-DEB2-445C-A216-1FE142592C7D-GENID-1-12-1-10-1-1-8-1-4-1-3-1-3-3">       <title>APIs</title> 
+<section id="GUID-AB7AB8C8-DEB2-445C-A216-1FE142592C7D-GENID-1-12-1-11-1-1-8-1-4-1-3-1-3-3">       <title>APIs</title> 
      <table id="GUID-4D61C176-6A42-4F06-96A2-950F6ACD1C25">
 <tgroup cols="2"><colspec colname="col1" colwidth="0.44*"/><colspec colname="col2" colwidth="1.56*"/>
 <thead>
@@ -125,7 +125,7 @@
 </tbody>
 </tgroup>
 </table>  <fig id="GUID-90C26AB4-F003-444C-B9AF-422BB816557C">
-<image href="GUID-600DCD27-ADC0-40D7-B061-1D44238363BA_d0e163531_href.png" placement="inline"/>
+<image href="GUID-600DCD27-ADC0-40D7-B061-1D44238363BA_d0e169624_href.png" placement="inline"/>
 </fig><p>A physical sensor can supply data to several sensor channels (<xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCSensrvChannel.html" format="application/java-archive"><codeph>CSensrvChannel</codeph></xref>)
 . A sensor channel provides data to an application in a channel-specific data
 format (for example, <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/Sensor_definitions_APIClassesIndexPage.html" format="application/java-archive"><codeph>TSensrvXyzData</codeph></xref>) through a callback to the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classMSensrvDataListener.html#7ddce5c72a9d429ddb9e69f9e3a0a9b6" format="application/java-archive"><codeph>MSensrvDataListener::DataReceived()</codeph></xref> interface. A
--- a/Symbian3/PDK/Source/GUID-8B8CAEED-A89D-53B3-A311-51CF45B334B1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8B8CAEED-A89D-53B3-A311-51CF45B334B1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -132,7 +132,7 @@
     }
 </codeblock> <fig id="GUID-4109B9AA-BAE7-5454-9556-DC6D40AC75B9">
 <title>Interrupt sources</title>
-<image href="GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e385983_href.png" placement="inline"/>
+<image href="GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e391835_href.png" placement="inline"/>
 </fig> <ul>
 <li id="GUID-7257146C-52C7-5C2F-B6F6-B32B558A0620"><p>The second level dispatcher, <codeph>SecondLevelIrqDispatch()</codeph>,
 is itself an ISR, and takes a <xref href="GUID-6D079976-9119-31FA-8E21-C3B815F94648.dita"><apiname>TAny</apiname></xref> * parameter, but is
--- a/Symbian3/PDK/Source/GUID-8B91B12A-2275-52BF-B747-914550E225D0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8B91B12A-2275-52BF-B747-914550E225D0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,22 +21,22 @@
 the S60 emulator and enter <codeph>swiconsole /i                 c:\simple.sis</codeph>.
 The following screenshot appears which displays the application details and
 provides the following options: </p> <fig id="GUID-66ADA2C6-F1C2-5ACE-9434-F18D0BC7D6C1">
-<image href="GUID-6B231E96-CD4B-5D8E-9AAC-D533784E0E3B_d0e20975_href.jpg" placement="inline"/>
+<image href="GUID-6B231E96-CD4B-5D8E-9AAC-D533784E0E3B_d0e22942_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-D31262D9-A59B-5461-9A72-A7E6E93B6AA5"><p>Press <b>y</b>, the
 signature is validated and installation continues only if the signature is
 valid. The following screenshot shows that the signature has been validated
 successfully and allows the user to continue with the installation. </p> <fig id="GUID-90086889-B023-572E-9BFB-4D518BDCF4C0">
-<image href="GUID-66CF7E30-010D-5A7A-95EF-41620CD49BF9_d0e20988_href.jpg" placement="inline"/>
+<image href="GUID-66CF7E30-010D-5A7A-95EF-41620CD49BF9_d0e22955_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-75750A14-4358-5683-8054-5AAB16F31B55"><p>Press <b>y</b> to continue
 installation and select the drive you want to install. </p> <fig id="GUID-537B05D6-9F31-5461-B212-8E3168572831">
-<image href="GUID-8C5F32CC-CA2A-586A-B3B1-339494255042_d0e21001_href.jpg" placement="inline"/>
+<image href="GUID-8C5F32CC-CA2A-586A-B3B1-339494255042_d0e22968_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-68BAE41E-C692-5559-B7D2-38C7C1D1ACEA"><p>Press <b>n</b> to continue
 with the installation. The following screenshot shows that the installation
 is completed successfully. </p> <fig id="GUID-B487223A-9EB8-5A27-82CA-6F6308F8DA11">
-<image href="GUID-8C826292-C8DC-55CA-A79F-3254A417BF64_d0e21014_href.jpg" placement="inline"/>
+<image href="GUID-8C826292-C8DC-55CA-A79F-3254A417BF64_d0e22981_href.jpg" placement="inline"/>
 </fig> </li>
 </ol> <p> <b>Result</b>: The <filepath>simple.sis</filepath> file is successfully
 installed on the device. </p>  </section>
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e101217_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e64551_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e68774_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e79333_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e83531_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e88084_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e88713_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e92282_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e92911_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e97138_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8BC13552-7C7D-52AC-AF91-1BB7476912AF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8BC13552-7C7D-52AC-AF91-1BB7476912AF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-8BC13552-7C7D-52AC-AF91-1BB7476912AF"><title>System Health Manager Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The System Health Manager (SHMA) was previously known as the System Monitor (SysMon). It monitors running processes (system servers) and attempts to restart them if they fail unexpectedly. It may restart the device if it is unable to restart the process. </p> <p>A application may use the SysMon API to request monitoring for itself or other applications. Only an application with <codeph>ProtServ</codeph> capability, however, may request that the device be restarted. </p> <section><title>Purpose</title> <p>Certain applications and background process are essential for the device or for certain applications to function correctly. The System Health Manager ensures that the device remains completely functional by restarting applications or processes, or the device itself, if they stop unexpectedly. </p> </section> <section><title>Background</title> <p>SHMA uses System State Manager (SSM) for process monitoring. SSM provides the required information such as number of restart attempts that can be made, start-up modes and properties. See <xref href="GUID-788BD091-186A-5E25-B058-952C7629A8D4.dita">System State Manager</xref>. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Relaunch policy</dt> <dd><p>Specifies the behaviour when a process fails unexpectedly. See <xref href="GUID-484B27EF-3FA1-5193-97EC-B9699AE49026.dita#GUID-484B27EF-3FA1-5193-97EC-B9699AE49026/GUID-30C01801-01F4-5C20-9CA0-910498D47982">Relaunch policy</xref>. </p> </dd> </dlentry> <dlentry><dt>Retry Failure policy</dt> <dd><p>Specifies the behaviour when a failed process fails to restart. See <xref href="GUID-484B27EF-3FA1-5193-97EC-B9699AE49026.dita#GUID-484B27EF-3FA1-5193-97EC-B9699AE49026/GUID-6A9855C6-0D0E-5D4F-9042-5BA34F3E002C">Retry Failure policy</xref>. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>The SHMA is simple and self explanatory. A client must instantiate an <codeph>RSysMonSession</codeph> to open a session for monitoring. </p> <p>Monitoring is started with a call to <codeph>RSysMonSession::MonitorL()</codeph> or <codeph>RSysMonSession::MonitorSelfL()</codeph>. Before calling one of these functions, however, the client must create and populate a <xref href="GUID-99C4720B-9441-38E0-BBFA-BBCB845BD642.dita"><apiname>CSsmStartupProperties</apiname></xref> object containing the required monitoring and restart configurations. <xref href="GUID-99C4720B-9441-38E0-BBFA-BBCB845BD642.dita"><apiname>CSsmStartupProperties</apiname></xref> has a series of <codeph>Set...()</codeph> functions which are used to determine the monitoring and restart behaviour for the process to be monitored. </p> <fig id="GUID-67305BB8-6D0E-5957-96D0-A880CCDC8626"><title>
              System Health Manager Architecture 
-          </title> <image href="GUID-C02F7A8B-E6D1-5DB5-A3CA-08875A196199_d0e159505_href.png" placement="inline"/></fig> <p>Process monitoring can also be set up using a resource file. <xref href="GUID-0ABC00DB-068B-3757-855B-0849259F7793.dita"><apiname>CResourceFile</apiname></xref> accesses a resource file and reads the resource data into a buffer and the data is interpreted using <xref href="GUID-E468FC5F-0392-3385-887A-C5AB0E0009CC.dita"><apiname>RResourceReader</apiname></xref> class. </p> <p>Process monitoring is normally configured for processes using <codeph>SSM_START_PROCESS_INFO</codeph> and <codeph>SSM_START_APP_INFO</codeph> resources in a static command list. These are defined in <codeph>ssmcmd.rh</codeph>. Note that these structures add monitor, startup mode and a localisable error message to <codeph>SSM_START_PROCESS_INFO</codeph> and <codeph>SSM_START_APP_INFO</codeph>. See <xref href="GUID-723F8716-1FDD-57B4-B685-672D3A755592.dita#GUID-723F8716-1FDD-57B4-B685-672D3A755592/GUID-91438FCA-D06F-5779-98E9-D353692BE59F">Examples</xref>. </p> </section> <section><title>APIs</title> <p>SysMon API has the following classes: </p> <table id="GUID-F27E311B-0F1C-5E00-AB55-A0A22483B5A1"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-19467402-8575-33F0-817D-339D39982D39.dita"><apiname>RSysMonSession</apiname></xref>  </p> </entry> <entry><p>Client-side SysMon session API </p> </entry> </row> <row><entry><p> <xref href="GUID-99C4720B-9441-38E0-BBFA-BBCB845BD642.dita"><apiname>CSsmStartupProperties</apiname></xref>  </p> </entry> <entry><p>Contains process starter information. </p> </entry> </row> <row><entry><p> <xref href="GUID-C6E2A0AA-01AA-3648-BE3B-6CF2A641294B.dita"><apiname>TSsmMonitorInfo</apiname></xref>  </p> </entry> <entry><p>Convenience class combining restart property information. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>System Health Manager is used for requesting and cancelling monitoring for a process. </p> </section> </conbody><related-links><link href="GUID-484B27EF-3FA1-5193-97EC-B9699AE49026.dita"><linktext>System Health Manager
+          </title> <image href="GUID-C02F7A8B-E6D1-5DB5-A3CA-08875A196199_d0e165606_href.png" placement="inline"/></fig> <p>Process monitoring can also be set up using a resource file. <xref href="GUID-0ABC00DB-068B-3757-855B-0849259F7793.dita"><apiname>CResourceFile</apiname></xref> accesses a resource file and reads the resource data into a buffer and the data is interpreted using <xref href="GUID-E468FC5F-0392-3385-887A-C5AB0E0009CC.dita"><apiname>RResourceReader</apiname></xref> class. </p> <p>Process monitoring is normally configured for processes using <codeph>SSM_START_PROCESS_INFO</codeph> and <codeph>SSM_START_APP_INFO</codeph> resources in a static command list. These are defined in <codeph>ssmcmd.rh</codeph>. Note that these structures add monitor, startup mode and a localisable error message to <codeph>SSM_START_PROCESS_INFO</codeph> and <codeph>SSM_START_APP_INFO</codeph>. See <xref href="GUID-723F8716-1FDD-57B4-B685-672D3A755592.dita#GUID-723F8716-1FDD-57B4-B685-672D3A755592/GUID-91438FCA-D06F-5779-98E9-D353692BE59F">Examples</xref>. </p> </section> <section><title>APIs</title> <p>SysMon API has the following classes: </p> <table id="GUID-F27E311B-0F1C-5E00-AB55-A0A22483B5A1"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-19467402-8575-33F0-817D-339D39982D39.dita"><apiname>RSysMonSession</apiname></xref>  </p> </entry> <entry><p>Client-side SysMon session API </p> </entry> </row> <row><entry><p> <xref href="GUID-99C4720B-9441-38E0-BBFA-BBCB845BD642.dita"><apiname>CSsmStartupProperties</apiname></xref>  </p> </entry> <entry><p>Contains process starter information. </p> </entry> </row> <row><entry><p> <xref href="GUID-C6E2A0AA-01AA-3648-BE3B-6CF2A641294B.dita"><apiname>TSsmMonitorInfo</apiname></xref>  </p> </entry> <entry><p>Convenience class combining restart property information. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>System Health Manager is used for requesting and cancelling monitoring for a process. </p> </section> </conbody><related-links><link href="GUID-484B27EF-3FA1-5193-97EC-B9699AE49026.dita"><linktext>System Health Manager
                 Concepts</linktext> </link> <link href="GUID-723F8716-1FDD-57B4-B685-672D3A755592.dita"><linktext>Requesting and cancelling
                 monitoring for a process</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1" xml:lang="en"><title>Creating
-Transfer Types</title><shortdesc>To transfer data between the Backup Engine and the backup server,
-a particular type of <codeph>conn::CSBGenericTransferType</codeph> must be
-created. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-21601609-18C3-401C-84FC-08184A52E2C7"><title>Introduction</title> <p>The <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref> uses <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-27BF6AEB-72A0-3E39-9598-AB97BE2569FC"><apiname>conn::CSBGenericTransferType</apiname></xref> to
-request (for backup) or supply (for restore) data. One of the following three
-derived classes must be created to transfer data. </p> <ul>
-<li id="GUID-9002670C-20FB-5FCA-BB11-BAA96FC591A8"><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-6921D016-99BB-3CF0-B77C-CEF652A6D16B"><apiname>conn::CSBSIDTransferType</apiname></xref> transfers
-data of the owner whose type is <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-A592A578-6E32-36C8-A2CE-590E99173AF8"><apiname>conn::ESIDDerivedType</apiname></xref>.
-Data owners of this type are the common applications or servers built into
-the ROM. </p> <p>You can specify the creation of passive data, active data
-or snapshot data transfer type by passing a <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-55127967-CF91-3AEF-8304-DB60B287036F"><apiname>conn::TTransferDataType</apiname></xref> parameter
-value to the <codeph>CSBSIDTransferType::NewL()</codeph> function. For example,
-passing <codeph>EActiveSnapshotData</codeph> to <codeph>CSBSIDTransferType:NewL()</codeph> creates
-an active snapshot transfer type. </p> </li>
-<li id="GUID-550A62AA-0E27-5DD0-B014-3498CFDEDDEA"><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-EB313AA2-302E-352F-B1A4-E60DAFBEBCFB"><apiname>conn::CSBPackageTransferType</apiname></xref> transfers
-data of the owner whose type is <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-A68EF3B1-2DF6-3787-83E0-F72CE16E785D"><apiname>conn::EPackageDerivedType</apiname></xref>.
-Data owners of this type are usually installed through SIS files. Installing
-a package may install may install several applications (data owners). Each
-package is identified by a package ID while each data owner is identified
-by a package ID, a package name and an SID. </p> <p>Packages are often installed
-to a system drive, their data and snapshots are referred to as system data
-and system data snapshots. </p> </li>
-<li id="GUID-03178C8B-DFD8-5094-BFA6-65DB923E77BC"><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-A655F770-18F9-3F43-ADAB-9048EF14A5EC"><apiname>conn::CSBJavaId</apiname></xref> transfers
-data of the owner whose type is <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-BCB77CBF-1B06-38E1-96C1-FF3CFCA5B734"><apiname>conn::EJavaDerivedType</apiname></xref>.
-Data owners of this type are Java applications. </p> </li>
-</ul> </section>
-<section id="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1-3-2"><title>Procedure</title> <p>Create
-an array of a particular type, for example passive data for all data owners.
-Then go through the array to create the transfer types. </p> <p>The following
-example shows how to create the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-EB313AA2-302E-352F-B1A4-E60DAFBEBCFB"><apiname>conn::CSBPackageTransferType</apiname></xref>.
-You can further specify to create the data or snapshots. </p> <codeblock id="GUID-1D28813F-25CA-5169-8FC9-88FDA081DDD5" xml:space="preserve">/**
-Each data owner in iDataOwners is a CDataOwnerInfo object, the following creates 
-CSBGenericTransferTypes based on the TPackageDataType passed. 
-@param aTransferTypes - Array of package transfer types.
-@param aPkgDataType - system data or system data snapshot.
-*/
-
-void::GeneratePIDTransferTypesL(
-           RPointerArray&lt;CSBGenericTransferType&gt;&amp; aTransferTypes,
-           TPackageDataType aPkgDataType)
-{
-
-    aTransferTypes.ResetAndDestroy();
-    TUid id;
-
-    //need array to avoid duplications
-    RArray&lt;TUid&gt; uidArray;
-    CleanupClosePushL(uidArray);
-
-    //One transfer type is created for each drive 
-    //on which the data owner has data.
-    TInt length = iDriveList.Length();
-    for (TInt driveCount = 0; driveCount &lt; length; driveCount++)
-       {
-       if (iDriveList[driveCount])
-              {
-              TInt count = iDataOwners.Count();
-              for (TInt i = 0; i &lt; count; i++)
-                    {
-                    switch (iDataOwners[i]-&gt;Identifier().DerivedTypeL())
-                       {
-                        case EPackageDerivedType:
-                         if (iDataOwners[i]-&gt;CommonSettings() &amp; EHasSystemFiles)
-                               {
-                               //Create CSBPackageId for each data owner in the package
-                               CSBPackageId* pkgId = 
-                                  CSBPackageId::NewL(&amp;(iDataOwners[i]-&gt;Identifier()));
-                               CleanupStack::PushL(pkgId);
-                                          
-                               id = pkgId-&gt;PackageIdL();
-                               if (uidArray.Find(id) == KErrNotFound)
-                                  {
-                                  
-                                  //Create the package transfer type based on the 
-                                  //aPkgDataType parameter value passed in, 
-                                  //system data or snapshot.
-                                  CSBPackageTransferType* idType = 
-                                      CSBPackageTransferType::NewL(
-                                                                   id,
-                                                                   TDriveNumber(driveCount), 
-                                                                   aPkgDataType  
-                                                                  );
-                                  CleanupStack::PushL(idType);
-                                  aTransferTypes.AppendL(idType);
-                                  CleanupStack::Pop(idType);
-
-                                  //add to uid array
-                                  uidArray.AppendL(id);
-                                  }
-                               CleanupStack::PopAndDestroy(pkgId);      
-                               } //if
-                        break;
-                       } // switch
-                    } //for              
-                } //if 
-          } //for
-
-CleanupStack::PopAndDestroy(&amp;uidArray);
-}
-</codeblock> </section>
-</conbody><related-links>
-<link href="GUID-0BD22FDB-1A5C-56AA-A7FC-BD2271B2F928.dita"><linktext>Writing a
-Backup Engine Client                 (CSBEClient)</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1" xml:lang="en"><title>Creating
+Transfer Types</title><shortdesc>To transfer data between the Backup Engine and the backup server,
+a particular type of <codeph>conn::CSBGenericTransferType</codeph> must be
+created. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-21601609-18C3-401C-84FC-08184A52E2C7"><title>Introduction</title> <p>The <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref> uses <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-27BF6AEB-72A0-3E39-9598-AB97BE2569FC"><apiname>conn::CSBGenericTransferType</apiname></xref> to
+request (for backup) or supply (for restore) data. One of the following three
+derived classes must be created to transfer data. </p> <ul>
+<li id="GUID-9002670C-20FB-5FCA-BB11-BAA96FC591A8"><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-6921D016-99BB-3CF0-B77C-CEF652A6D16B"><apiname>conn::CSBSIDTransferType</apiname></xref> transfers
+data of the owner whose type is <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-A592A578-6E32-36C8-A2CE-590E99173AF8"><apiname>conn::ESIDDerivedType</apiname></xref>.
+Data owners of this type are the common applications or servers built into
+the ROM. </p> <p>You can specify the creation of passive data, active data
+or snapshot data transfer type by passing a <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-55127967-CF91-3AEF-8304-DB60B287036F"><apiname>conn::TTransferDataType</apiname></xref> parameter
+value to the <codeph>CSBSIDTransferType::NewL()</codeph> function. For example,
+passing <codeph>EActiveSnapshotData</codeph> to <codeph>CSBSIDTransferType:NewL()</codeph> creates
+an active snapshot transfer type. </p> </li>
+<li id="GUID-550A62AA-0E27-5DD0-B014-3498CFDEDDEA"><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-EB313AA2-302E-352F-B1A4-E60DAFBEBCFB"><apiname>conn::CSBPackageTransferType</apiname></xref> transfers
+data of the owner whose type is <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-A68EF3B1-2DF6-3787-83E0-F72CE16E785D"><apiname>conn::EPackageDerivedType</apiname></xref>.
+Data owners of this type are usually installed through SIS files. Installing
+a package may install may install several applications (data owners). Each
+package is identified by a package ID while each data owner is identified
+by a package ID, a package name and an SID. </p> <p>Packages are often installed
+to a system drive, their data and snapshots are referred to as system data
+and system data snapshots. </p> </li>
+<li id="GUID-03178C8B-DFD8-5094-BFA6-65DB923E77BC"><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-A655F770-18F9-3F43-ADAB-9048EF14A5EC"><apiname>conn::CSBJavaId</apiname></xref> transfers
+data of the owner whose type is <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-BCB77CBF-1B06-38E1-96C1-FF3CFCA5B734"><apiname>conn::EJavaDerivedType</apiname></xref>.
+Data owners of this type are Java applications. </p> </li>
+</ul> </section>
+<section id="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1-3-2"><title>Procedure</title> <p>Create
+an array of a particular type, for example passive data for all data owners.
+Then go through the array to create the transfer types. </p> <p>The following
+example shows how to create the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-EB313AA2-302E-352F-B1A4-E60DAFBEBCFB"><apiname>conn::CSBPackageTransferType</apiname></xref>.
+You can further specify to create the data or snapshots. </p> <codeblock id="GUID-1D28813F-25CA-5169-8FC9-88FDA081DDD5" xml:space="preserve">/**
+Each data owner in iDataOwners is a CDataOwnerInfo object, the following creates 
+CSBGenericTransferTypes based on the TPackageDataType passed. 
+@param aTransferTypes - Array of package transfer types.
+@param aPkgDataType - system data or system data snapshot.
+*/
+
+void::GeneratePIDTransferTypesL(
+           RPointerArray&lt;CSBGenericTransferType&gt;&amp; aTransferTypes,
+           TPackageDataType aPkgDataType)
+{
+
+    aTransferTypes.ResetAndDestroy();
+    TUid id;
+
+    //need array to avoid duplications
+    RArray&lt;TUid&gt; uidArray;
+    CleanupClosePushL(uidArray);
+
+    //One transfer type is created for each drive 
+    //on which the data owner has data.
+    TInt length = iDriveList.Length();
+    for (TInt driveCount = 0; driveCount &lt; length; driveCount++)
+       {
+       if (iDriveList[driveCount])
+              {
+              TInt count = iDataOwners.Count();
+              for (TInt i = 0; i &lt; count; i++)
+                    {
+                    switch (iDataOwners[i]-&gt;Identifier().DerivedTypeL())
+                       {
+                        case EPackageDerivedType:
+                         if (iDataOwners[i]-&gt;CommonSettings() &amp; EHasSystemFiles)
+                               {
+                               //Create CSBPackageId for each data owner in the package
+                               CSBPackageId* pkgId = 
+                                  CSBPackageId::NewL(&amp;(iDataOwners[i]-&gt;Identifier()));
+                               CleanupStack::PushL(pkgId);
+                                          
+                               id = pkgId-&gt;PackageIdL();
+                               if (uidArray.Find(id) == KErrNotFound)
+                                  {
+                                  
+                                  //Create the package transfer type based on the 
+                                  //aPkgDataType parameter value passed in, 
+                                  //system data or snapshot.
+                                  CSBPackageTransferType* idType = 
+                                      CSBPackageTransferType::NewL(
+                                                                   id,
+                                                                   TDriveNumber(driveCount), 
+                                                                   aPkgDataType  
+                                                                  );
+                                  CleanupStack::PushL(idType);
+                                  aTransferTypes.AppendL(idType);
+                                  CleanupStack::Pop(idType);
+
+                                  //add to uid array
+                                  uidArray.AppendL(id);
+                                  }
+                               CleanupStack::PopAndDestroy(pkgId);      
+                               } //if
+                        break;
+                       } // switch
+                    } //for              
+                } //if 
+          } //for
+
+CleanupStack::PopAndDestroy(&amp;uidArray);
+}
+</codeblock> </section>
+</conbody><related-links>
+<link href="GUID-0BD22FDB-1A5C-56AA-A7FC-BD2271B2F928.dita"><linktext>Writing a
+Backup Engine Client                 (CSBEClient)</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8C5A65E6-D753-472F-B885-FD0409589036.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8C5A65E6-D753-472F-B885-FD0409589036.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 <fig id="GUID-25859A19-F3C8-5FBD-B491-C58E5C973424">
 <title>              Class relationship between MHTTPDataOptimiser and   
           RHTTPSession            </title>
-<image href="GUID-9DCAB1DC-D085-576C-A0B9-713E3BF2CAD5_d0e281122_href.png" placement="inline"/>
+<image href="GUID-9DCAB1DC-D085-576C-A0B9-713E3BF2CAD5_d0e287122_href.png" placement="inline"/>
 </fig>
 <p>For more information about <xref href="GUID-F34F7481-00CF-3A1B-8D45-D053AD6769A8.dita"><apiname>MHTTPTransactionCallback</apiname></xref>,
 see <xref href="GUID-1D32D093-1B7B-5CE8-B57D-5469C1E8E4B9.dita">A simple HTTP Client
Binary file Symbian3/PDK/Source/GUID-8C5F32CC-CA2A-586A-B3B1-339494255042_d0e21001_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8C5F32CC-CA2A-586A-B3B1-339494255042_d0e22968_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8C826292-C8DC-55CA-A79F-3254A417BF64_d0e21014_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8C826292-C8DC-55CA-A79F-3254A417BF64_d0e22981_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8C8D6B06-E794-4269-B4DF-D2BE4DDB9E8B_d0e65866_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8C8D6B06-E794-4269-B4DF-D2BE4DDB9E8B_d0e70089_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8C9F26BC-2579-545C-9A86-9C45E06679F0_d0e408635_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8C9F26BC-2579-545C-9A86-9C45E06679F0_d0e414488_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e101197_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e79607_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e83805_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e85341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e89539_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e97118_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8CF0C00C-0FDF-517E-96FB-84F718237F61_d0e354356_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8CF0C00C-0FDF-517E-96FB-84F718237F61_d0e360267_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8D046AD9-1D28-52AE-8B69-2CBF6441F733_d0e237727_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8D046AD9-1D28-52AE-8B69-2CBF6441F733_d0e243700_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8D4AD37E-6B96-5B82-8313-F88D97531DEC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8D4AD37E-6B96-5B82-8313-F88D97531DEC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,8 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-8D4AD37E-6B96-5B82-8313-F88D97531DEC" xml:lang="en"><title>Types
-of package</title><shortdesc>Describes the three types of package descriptors.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-8D4AD37E-6B96-5B82-8313-F88D97531DEC" xml:lang="en"><title>Types of package</title><shortdesc>Describes the three types of package descriptors.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>Three types of package are available:</p>
 <ul>
 <li id="GUID-F6734EA9-F7C3-5BAD-8D3D-31E74459DE60"><p>a packaged modifiable
@@ -20,36 +19,37 @@
 <li id="GUID-E9DA31C2-63B8-5A6F-B139-E165CE56F104"><p>a packaged modifiable
 pointer descriptor</p> </li>
 </ul>
-<section id="GUID-894BE487-84FA-4182-85F1-636A985819A9"><title>Packaged modifiable buffer descriptor</title> <p>This is an
-object of type <codeph>TPckgBuf</codeph> and is a modifiable buffer descriptor.
-The class is templated; the template parameter defines the type of object
-that this descriptor can contain.</p> <p>For example, a package descriptor
-of type <codeph>TPckgBuf&lt;TExample&gt;</codeph> is a modifiable buffer descriptor
-that only contains objects of type <codeph>TExample</codeph>.</p> <p>The package
-class also allows functions to be called on the contained class.</p> <fig id="GUID-7EE59907-F6E0-5200-A4BF-6AD5C9BE2D67">
-<image href="GUID-541C8505-335F-5C93-8C0E-96BCEE39D1E6_d0e330699_href.png" placement="inline"/>
+<section id="GUID-894BE487-84FA-4182-85F1-636A985819A9"><title>Packaged
+modifiable buffer descriptor</title> <p>This is an object of type <codeph>TPckgBuf</codeph> and is a modifiable buffer descriptor. The class
+is templated; the template parameter defines the type of object that
+this descriptor can contain.</p> <p>For example, a package descriptor
+of type <codeph>TPckgBuf&lt;TExample&gt;</codeph> is a modifiable buffer
+descriptor that only contains objects of type <codeph>TExample</codeph>.</p> <p>The package class also allows functions to be called on
+the contained class.</p> <fig id="GUID-7EE59907-F6E0-5200-A4BF-6AD5C9BE2D67">
+<image href="GUID-541C8505-335F-5C93-8C0E-96BCEE39D1E6_d0e336676_href.png" placement="inline"/>
 </fig> </section>
-<section id="GUID-C7714A6F-0E8D-43D4-B168-1EB333D8BCC7"><title>Packaged non-modifiable pointer descriptor</title> <p>This
-is an object of type <codeph>TPckgC</codeph> and is a non-modifiable pointer
-descriptor. The class is templated; the template parameter defines the type
-of object that this descriptor can represent.</p> <p>For example, a package
-descriptor of type <codeph>TPckgC&lt;TExample&gt;</codeph> is a non- modifiable
-pointer descriptor that only represents objects of type <codeph>TExample</codeph>.</p> <p>The
-package class also allows functions to be called on the contained class.</p> <fig id="GUID-31860379-F6A7-5D65-8160-EEDABBB73AD3">
-<image href="GUID-EA2AAE86-0BD3-52C9-BD13-75E9F04DE77F_d0e330727_href.png" placement="inline"/>
+<section id="GUID-C7714A6F-0E8D-43D4-B168-1EB333D8BCC7"><title>Packaged
+non-modifiable pointer descriptor</title> <p>This is an object of
+type <codeph>TPckgC</codeph> and is a non-modifiable pointer descriptor.
+The class is templated; the template parameter defines the type of
+object that this descriptor can represent.</p> <p>For example, a package
+descriptor of type <codeph>TPckgC&lt;TExample&gt;</codeph> is a non-
+modifiable pointer descriptor that only represents objects of type <codeph>TExample</codeph>.</p> <p>The package class also allows functions
+to be called on the contained class.</p> <fig id="GUID-31860379-F6A7-5D65-8160-EEDABBB73AD3">
+<image href="GUID-EA2AAE86-0BD3-52C9-BD13-75E9F04DE77F_d0e336704_href.png" placement="inline"/>
 </fig> </section>
-<section id="GUID-3AD2BB30-93E0-4E1F-B2BC-15693CE45A3E"><title>Packaged modifiable pointer descriptor</title> <p>This is
-an object of type <codeph>TPckg</codeph> and is a modifiable pointer descriptor.
-The class is templated; the template parameter defines the type of object
-that this descriptor can represent.</p> <p>For example, a package descriptor
-of type <codeph>TPckg&lt;TExample&gt;</codeph> is a modifiable pointer descriptor
-that only represents objects of type <codeph>TExample</codeph>.</p> <p>The
-package class also allows functions to be called on the contained class.</p> <fig id="GUID-5BB0AF3B-33FF-5374-A867-0BD49A15DC74">
-<image href="GUID-72B7B5CC-2E04-53CE-8414-C362DFD40D52_d0e330755_href.png" placement="inline"/>
+<section id="GUID-3AD2BB30-93E0-4E1F-B2BC-15693CE45A3E"><title>Packaged
+modifiable pointer descriptor</title> <p>This is an object of type <codeph>TPckg</codeph> and is a modifiable pointer descriptor. The class
+is templated; the template parameter defines the type of object that
+this descriptor can represent.</p> <p>For example, a package descriptor
+of type <codeph>TPckg&lt;TExample&gt;</codeph> is a modifiable pointer
+descriptor that only represents objects of type <codeph>TExample</codeph>.</p> <p>The package class also allows functions to be called on
+the contained class.</p> <fig id="GUID-5BB0AF3B-33FF-5374-A867-0BD49A15DC74">
+<image href="GUID-72B7B5CC-2E04-53CE-8414-C362DFD40D52_d0e336732_href.png" placement="inline"/>
 </fig> </section>
-<section id="GUID-2A10BADF-1BD3-4F78-B321-180132E8EA88"><title>See also</title> <p><xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref> </p> <p><xref href="GUID-5CD07A27-E3ED-3273-A560-680501468C91.dita"><apiname>TPtrC</apiname></xref> </p> <p><xref href="GUID-EA7DEFA4-D4D9-3B2B-86A3-C3FB1A682E61.dita"><apiname>TPtr</apiname></xref> </p> </section>
+<section id="GUID-2A10BADF-1BD3-4F78-B321-180132E8EA88"><title>See
+also</title> <p><xref href="GUID-0B9C8884-6BFF-35E2-AA6F-E4057B85AFCF.dita"><apiname>TBuf</apiname></xref> </p> <p><xref href="GUID-5CD07A27-E3ED-3273-A560-680501468C91.dita"><apiname>TPtrC</apiname></xref> </p> <p><xref href="GUID-EA7DEFA4-D4D9-3B2B-86A3-C3FB1A682E61.dita"><apiname>TPtr</apiname></xref> </p> </section>
 </conbody><related-links>
-<link>
-<desc><xref href="GUID-79BAF19D-F003-5468-9C01-6E918B06C36D.dita">Descriptor concepts</xref></desc>
-</link>
+<link href="GUID-79BAF19D-F003-5468-9C01-6E918B06C36D.dita">
+<linktext>Descriptor concepts</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-8D4F44CB-0B4D-51EE-A2D7-A1BBB3DD326A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8D4F44CB-0B4D-51EE-A2D7-A1BBB3DD326A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 </ul> <p>Device creators can use the interfaces provided by the framework
 to implement keystore for managing keys. </p> <fig id="GUID-73BAE36F-8C14-585D-A2EB-9939CEFB38C2">
 <title>              Symbian Keystore Implementation            </title>
-<image href="GUID-AF91088E-CCE3-5D51-B2E4-09621B4BF506_d0e622292_href.jpg" placement="inline"/>
+<image href="GUID-AF91088E-CCE3-5D51-B2E4-09621B4BF506_d0e594398_href.jpg" placement="inline"/>
 </fig> <table id="GUID-A3996684-57CF-5049-B24A-2E3E7B157D43">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
@@ -76,7 +76,7 @@
 Hellman (DH) key</xref> exchange protocol. </p> </li>
 </ul> <fig id="GUID-6B46BC3C-77F3-59DF-8579-DB0076304835">
 <title>                 Keystore Framework Interfaces               </title>
-<image href="GUID-D99BA39B-BC58-51AC-B148-0945736FFC03_d0e622532_href.jpg" placement="inline"/>
+<image href="GUID-D99BA39B-BC58-51AC-B148-0945736FFC03_d0e594638_href.jpg" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-695FCEB8-EA04-5C1C-A197-648275BA0281.dita"><linktext>Unified Keystore </linktext>
Binary file Symbian3/PDK/Source/GUID-8D51B706-6941-5043-B435-1CAFBAE5A8F2_d0e641387_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8D51B706-6941-5043-B435-1CAFBAE5A8F2_d0e654209_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8D5FFAE9-7E8A-5144-B0CC-B56A34D42A3F_d0e322416_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8D5FFAE9-7E8A-5144-B0CC-B56A34D42A3F_d0e328402_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8D72AE33-AF61-5AD7-A40D-A2918474DD0D_d0e551612_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8D72AE33-AF61-5AD7-A40D-A2918474DD0D_d0e559068_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8D7AEB5A-9A88-5B6D-B6B0-7126A56AA495.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8D7AEB5A-9A88-5B6D-B6B0-7126A56AA495.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -128,7 +128,7 @@
 with other App-Services components. The diagram below gives an abstract illustration
 of the internal dependencies of the Versit components themselves. </p> <fig id="GUID-EF3BAA2A-3072-551A-B89C-99AB7F0A70DF">
 <title>              Abstraction of Versit deliverables            </title>
-<image href="GUID-48D06D0E-C4D6-54F1-B603-7A75DEF669AA_d0e604336_href.png" placement="inline"/>
+<image href="GUID-48D06D0E-C4D6-54F1-B603-7A75DEF669AA_d0e583066_href.png" placement="inline"/>
 </fig> <p>As the diagram above illustrates, it is possible to make use of
 the Versit.dll library on its own. If vCard or vCalendar support is required
 then the Versit library must be included as both vCard.dll and vCal.dll depend
@@ -144,7 +144,7 @@
 <section id="GUID-10536254-0D16-475C-82B3-451ADAFEC983"><title>API summary </title> <fig id="GUID-41DFB840-D409-5B34-949E-27E9B62A0F1E">
 <title>              Relationship between different classes of the Versit
 component            </title>
-<image href="GUID-2A109FEC-5173-55FD-ACA8-3CAE48A93540_d0e604372_href.png" placement="inline"/>
+<image href="GUID-2A109FEC-5173-55FD-ACA8-3CAE48A93540_d0e583102_href.png" placement="inline"/>
 </fig> <table id="GUID-B009CAB5-2555-5AB2-AF90-41C7E61C2401">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
Binary file Symbian3/PDK/Source/GUID-8D9FE811-3F8A-5C2A-B76A-5C0248179590_d0e550876_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8D9FE811-3F8A-5C2A-B76A-5C0248179590_d0e558332_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 calculates the bounding rectangles of the "Hello!" text and the red
 line (B). For each one, the application passes the rectangle to <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-F5E85A7B-0DAE-32C1-AF71-8FC2F5F01509"><apiname>RWindow::BeginRedraw(const TRect &amp;)</apiname></xref>, then calls the
 draw commands and afterwards calls <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-3DE16607-AD3B-3946-BEB3-88512EAAB9CE"><apiname>RWindow::EndRedraw()</apiname></xref>. </p> <fig id="GUID-53B962F7-D425-5D72-8148-F822A3462243">
-<image href="GUID-1DDFFB60-BBA8-500E-A9B1-F048EE5BFBD0_d0e236781_href.png" placement="inline"/>
+<image href="GUID-1DDFFB60-BBA8-500E-A9B1-F048EE5BFBD0_d0e242754_href.png" placement="inline"/>
 </fig> <p>This has the advantage that the Window Server knows that
 the area of the window that has the "Hello!" text is not affected
 by the drawing of the red line. There are also advantages when some
@@ -41,7 +41,7 @@
 application must then perform a full window redraw, as shown in the
 next diagram. </p> <fig id="GUID-A36DF80C-6B53-5D9D-878B-0854BB36E44A">
 <title>              Non-redraw drawing sequence            </title>
-<image href="GUID-7C51BC7A-CB97-5A7E-A5EF-BB3623DFFFED_d0e236804_href.png" placement="inline"/>
+<image href="GUID-7C51BC7A-CB97-5A7E-A5EF-BB3623DFFFED_d0e242777_href.png" placement="inline"/>
 </fig> <p>This is less efficient than the Window Server replaying
 the draw operations for the affected area. </p> <p>Symbian recommends
 that all drawing is now performed as redraw drawing. Typically this
@@ -49,7 +49,7 @@
 different aspects of the user interface—for example, as shown in the
 following diagram. If anything spoils the screen, the Window Server
 then only needs to redraw the corresponding portions of the user interface. </p> <fig id="GUID-BAD0C762-0EBD-51E2-BC64-DF38749CA7D8">
-<image href="GUID-F2E8CB4B-C1BB-577D-B018-7FF231B70D8C_d0e236815_href.png" placement="inline"/>
+<image href="GUID-F2E8CB4B-C1BB-577D-B018-7FF231B70D8C_d0e242788_href.png" placement="inline"/>
 </fig> <p>In earlier versions of Symbian, before the introduction
 of the <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-250ED45A-76F3-3623-BA4B-22D31613A2EF"><apiname>CCoeControl::DrawNow(const TRect &amp;)const</apiname></xref> overload, developers sometimes used non-redraw drawing to update
 a small part of a control. This technique has often been used for
--- a/Symbian3/PDK/Source/GUID-8DB5E558-9774-5CC3-AF8C-6C50D9FE0496.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-8DB5E558-9774-5CC3-AF8C-6C50D9FE0496" xml:lang="en"><title>How
-to use makmake</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Symbian projects are defined by an <filepath>.mmp</filepath> file which
-specifies the essential elements of the project. The <filepath>makmake</filepath> tool
-then uses this environment-neutral file to build makefiles for use in various
-environments. These makefiles are then used for project development. </p>
-<p>Some makefiles are built for use in building the project from the command-line,
-while others are for use with an IDE. Command-line makefiles created by <filepath>makmake</filepath> contain
-syntax which it is not possible to incorporate into makefiles intended for
-an IDE: these are discussed below. </p>
-<section><title>Building and running a project for WINSCW</title> <p>Starting
-with <filepath>hello.mmp</filepath>, you can build the makefile file <filepath>hello.winscw</filepath> using: </p> <p><userinput>makmake
-hello winscw</userinput> </p> <p>You then build the project from the command
-line by running: </p> <p><userinput>make -f hello.winscw</userinput> </p> </section>
-<section><title>Building debug and release variants</title> <p>A command line
-makefile produced by <filepath>makmake</filepath> allows the executable (an
-EXE or any type of <filepath>DLL</filepath>) to be produced in one of two
-variants: </p> <ul>
-<li id="GUID-277C7FEF-E82E-534B-9D4A-E7202C55D902"><p> <filepath>udeb</filepath>:
-debug mode </p> </li>
-<li id="GUID-3E123400-CB9C-593B-8D10-9717FE0B52D4"><p> <filepath>urel</filepath>:
-release mode </p> </li>
-</ul> <p>which may be selected by specifying the variant as a target. </p> <p>For
-example, to build the <filepath>udeb</filepath> variant of the executable,
-you can do: </p> <p><userinput>make -f hello.armi udeb</userinput> </p> <p>If <filepath>make</filepath> /<filepath>nmake</filepath> is
-invoked with no target specified, then the following default targets will
-be built: the default for ARM is release mode; the default for WINSCW, and
-WINC is debug mode. </p> <p>You may use path specifications to locate the <filepath>.mmp</filepath> file
-in any directory. </p> <p>For example: </p> <p><userinput>makmake ..\..epoc32ex\e32\hello
-armv5</userinput> </p> <p>or </p> <p><userinput>makmake ..\..epoc32ex\e32\hello
-cw_ide</userinput> </p> <p>will locate the specified <filepath>.mmp</filepath> file.
-However, the generated <filepath>makmake</filepath> files are always written
-into the current directory. </p> </section>
-<section><title>Command line makefile utilities</title> <p>Command-line makefiles
-provide extra makefile targets which enable you to use <filepath>make</filepath> or <filepath>nmake</filepath> to
-create work directories and erase non-source files for a particular build
-variant of a project. </p> <p>For example, </p> <ul>
-<li id="GUID-E6B4369D-C966-59F4-A44B-E708930DB07F"><p> <systemoutput>make
--f hello.winscw clean</systemoutput> attempts to delete the non-source files
-created during a build of all variants of the project <filepath>hello</filepath> </p> </li>
-<li id="GUID-C9E915E0-6339-5A74-9BDC-BD62D3B79B67"><p> <systemoutput>make
--f hello.winscw makework</systemoutput> will create the work directories for
-a build of all variants of the project hello, while <codeph>nmake        
-        -f hello.wins makeworkurel</codeph> will create the work directories
-for a wide release build of the project. </p> </li>
-</ul> <p>The build-specific <codeph>makework</codeph> targets are listed as
-dependencies of the main build-specific targets in command-line makefiles,
-so work directories will automatically be created when a target is built with
-a command-line makefile if these directories do not already exist. </p> </section>
-</conbody><related-links>
-<link href="GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita"><linktext>mmp file
-syntax</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-8E218D40-9668-51F9-99CE-4DE1AED64793_d0e604950_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E218D40-9668-51F9-99CE-4DE1AED64793_d0e644112_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E2303E9-DB60-5F38-A4D4-8BF8F7A1EF9F_d0e512314_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E2303E9-DB60-5F38-A4D4-8BF8F7A1EF9F_d0e519776_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E322085-07E7-542C-B0FD-54431F7B4BB7_d0e471447_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E322085-07E7-542C-B0FD-54431F7B4BB7_d0e477283_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E3F3745-7875-51A2-BDA1-AA537C7B220E_d0e637916_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E3F3745-7875-51A2-BDA1-AA537C7B220E_d0e650738_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e141096_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e143345_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e154245_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e160346_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223" xml:lang="en"><title>JPEG
 Image Transform Extension Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>This document introduces you to the JPEG image transform extensions. </p>
-<section id="GUID-3333CA2A-EF84-5E7B-B9BE-8FF00523897F-GENID-1-12-1-21-1-1-6-1-6-1-11-1-4-1-3-1-3-1-3-1-2-2"><title>Purpose</title> <p>The
+<section id="GUID-3333CA2A-EF84-5E7B-B9BE-8FF00523897F-GENID-1-12-1-22-1-1-7-1-6-1-11-1-4-1-3-1-3-1-3-1-2-2"><title>Purpose</title> <p>The
 Image Transform framework supports standard extensions for advanced JPEG functions. </p> <p>The
 functions are, </p> <ul>
 <li id="GUID-5AEE7F00-B5AE-5D17-8280-BB86E1C3F309"><p><xref href="GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223.dita#GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223/GUID-3F1A77BC-C5C3-5A3D-B823-7310B97D449A">Orientation</xref> (Rotation and Mirror over horizontal and vertical Axis) </p> </li>
@@ -78,7 +78,7 @@
 of the use of <xref href="GUID-83EA2789-C3FE-383A-B81F-E9E362FE4283.dita"><apiname>COverlayTransformExtension</apiname></xref> include adding
 timestamp or place-stamp, some text or inserting a company logo. The images
 below show an example of overlay functionality: </p> <fig id="GUID-BA901C57-D744-5353-8B25-2195EA084016">
-<image href="GUID-E09CA978-2599-50F9-AF6D-077AD7D5CA6F_d0e511350_href.jpg" placement="inline"/>
+<image href="GUID-E09CA978-2599-50F9-AF6D-077AD7D5CA6F_d0e518812_href.jpg" placement="inline"/>
 </fig> <p>The image overlay transformation can, depending on its implementation,
 be very fast eliminating the need to decode the whole image making it very
 useful, for example a camera application. The types of image that can be overlaid
--- a/Symbian3/PDK/Source/GUID-8E7CCFD7-F820-596E-BACB-AE43878C6CD8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-8E7CCFD7-F820-596E-BACB-AE43878C6CD8"><title>final</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This command allows extension makefiles to be used to carry out any commands required to complete the build.</p> <p><codeph>abld</codeph> [ test ] <codeph>final</codeph>  <codeph> [-k] [-v] </codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>The command has no effect for makefiles generated by <filepath>makmake</filepath>. It is provided only for extension makefiles.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-8E8F1999-4DE0-5CA0-9656-C54127FDB3D4_d0e552767_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E8F1999-4DE0-5CA0-9656-C54127FDB3D4_d0e560223_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8E8FE99A-5F4D-5B0F-87AB-A58EB4BEB6E9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8E8FE99A-5F4D-5B0F-87AB-A58EB4BEB6E9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,11 +11,11 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-8E8FE99A-5F4D-5B0F-87AB-A58EB4BEB6E9"><title>Surface Update Component Overview</title><shortdesc>Each graphics composition surface has at least two interested stakeholders: the process responsible for drawing and maintaining the content and the composition engine, which uses the surface for creating the display. When one of the stakeholders does something to the surface, it usually means that another stakeholder needs to do something too. The Surface Update component provides a channel for the stakeholders to inform each other of changes. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <section><title>Purpose</title> <p>The Surface Update component provides a communication channel interface for use by components that render graphics content to <xref href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita">composition surfaces</xref>. Examples of such components are <xref href="GUID-DC8BFEF5-DA50-52DA-8CE2-5729A4A005F6.dita">EGL</xref>, the <xref href="GUID-D1F29744-EB92-5811-A735-B0BC1B352ED5.dita">video renderer (DevVideo)</xref>, the <xref href="GUID-36C3A2FD-F4F9-5B8C-91B7-40C29B3D2224.dita">camera viewfinder (ECam)</xref> and <xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita">render stages</xref>. This is illustrated in the following diagram. </p> <fig id="GUID-4916D92E-A639-52FD-9688-181216E0BD9E"><title>
              Surface Update component use case model 
-          </title> <image href="GUID-C830420C-FBBD-5265-8746-7690C0ADCE81_d0e276368_href.png" placement="inline"/></fig> <p>The client renders the graphics content to a buffer within the surface and then sends a request for composition. The request includes the surface ID, the ID of the current buffer within the surface and optionally the following: </p> <ul><li id="GUID-A681DFDE-FC19-5200-B7A2-0F83170B4100"><p>The number of the screen on which the surface is to be displayed. Alternatively, the <codeph>KAllScreens</codeph> constant can be used to indicate that the request should be broadcast to all screens. This is called a <xref href="GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita">global surface update</xref> and its use is encouraged. It makes the client code simpler because it does not need to be concerned with which screen a surface is currently visible on. Note that you must not mix global updates with updates to specific screens within a single session. </p> </li> <li id="GUID-AE975674-48C9-54BB-B1F2-F246CF70DA62"><p>The region of the surface that has changed. This is sometimes referred to as the <b>dirty rectangle</b>. If the client does not specify this, the whole surface is recomposed. </p> </li> </ul> <p>The client can request notification of the following composition-related events: </p> <ul><li id="GUID-2BECDC59-1594-58B0-9F5C-7AD2D9150D4C"><p>The buffer has become available for rendering. </p> </li> <li id="GUID-2EA4C005-B42B-5DA4-8522-7F63E6DC7FD6"><p>The buffer has been displayed for the first time after the update was submitted. This notification is accompanied by timestamp information. </p> </li> <li id="GUID-FD042426-4B77-5421-809F-F554553E0F6C"><p>The buffer has been displayed a certain number of times. This can be used to ensure that each frame gets displayed for at least a given period of time. </p> </li> </ul> </section> <section><title>Architecture</title> <p>The Surface Update component is an adaptation component, which means that it can be replaced by device creators to suit the exact hardware. The reference implementation consists of the Surface Update Server and its client-side API. The Surface Update Server runs within the Window Server process along with the composition engine. The Surface Update Server uses the standard Symbian client/server model for Inter Process Communication (IPC) to communicate with clients and Inter Thread Communication (using active objects and semaphores) to communicate with the composition engine. </p> <p>The client sends requests for composition through the <b>command channel</b> and the composition engine sends notification messages through the <b>notification channel</b>. </p> <p>The following diagram shows communication between the client, Surface Update server and composition engine. The composition engine is shown as a single component, although it can be implemented as multiple components. For example, the <xref href="GUID-8FE41C9A-8171-58A2-A808-17B81E79B11F.dita">OpenWF-C implementation</xref> consists of the OpenWF-C Support component and the OpenWF-C Engine component. The Surface Update Server in fact communicates with the OpenWF-C Support component, which in turn communicates with the OpenWF-C Engine. </p> <fig id="GUID-371C3037-3D9B-5647-A77B-B7624DFD66E8"><title>
+          </title> <image href="GUID-C830420C-FBBD-5265-8746-7690C0ADCE81_d0e282368_href.png" placement="inline"/></fig> <p>The client renders the graphics content to a buffer within the surface and then sends a request for composition. The request includes the surface ID, the ID of the current buffer within the surface and optionally the following: </p> <ul><li id="GUID-A681DFDE-FC19-5200-B7A2-0F83170B4100"><p>The number of the screen on which the surface is to be displayed. Alternatively, the <codeph>KAllScreens</codeph> constant can be used to indicate that the request should be broadcast to all screens. This is called a <xref href="GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita">global surface update</xref> and its use is encouraged. It makes the client code simpler because it does not need to be concerned with which screen a surface is currently visible on. Note that you must not mix global updates with updates to specific screens within a single session. </p> </li> <li id="GUID-AE975674-48C9-54BB-B1F2-F246CF70DA62"><p>The region of the surface that has changed. This is sometimes referred to as the <b>dirty rectangle</b>. If the client does not specify this, the whole surface is recomposed. </p> </li> </ul> <p>The client can request notification of the following composition-related events: </p> <ul><li id="GUID-2BECDC59-1594-58B0-9F5C-7AD2D9150D4C"><p>The buffer has become available for rendering. </p> </li> <li id="GUID-2EA4C005-B42B-5DA4-8522-7F63E6DC7FD6"><p>The buffer has been displayed for the first time after the update was submitted. This notification is accompanied by timestamp information. </p> </li> <li id="GUID-FD042426-4B77-5421-809F-F554553E0F6C"><p>The buffer has been displayed a certain number of times. This can be used to ensure that each frame gets displayed for at least a given period of time. </p> </li> </ul> </section> <section><title>Architecture</title> <p>The Surface Update component is an adaptation component, which means that it can be replaced by device creators to suit the exact hardware. The reference implementation consists of the Surface Update Server and its client-side API. The Surface Update Server runs within the Window Server process along with the composition engine. The Surface Update Server uses the standard Symbian client/server model for Inter Process Communication (IPC) to communicate with clients and Inter Thread Communication (using active objects and semaphores) to communicate with the composition engine. </p> <p>The client sends requests for composition through the <b>command channel</b> and the composition engine sends notification messages through the <b>notification channel</b>. </p> <p>The following diagram shows communication between the client, Surface Update server and composition engine. The composition engine is shown as a single component, although it can be implemented as multiple components. For example, the <xref href="GUID-8FE41C9A-8171-58A2-A808-17B81E79B11F.dita">OpenWF-C implementation</xref> consists of the OpenWF-C Support component and the OpenWF-C Engine component. The Surface Update Server in fact communicates with the OpenWF-C Support component, which in turn communicates with the OpenWF-C Engine. </p> <fig id="GUID-371C3037-3D9B-5647-A77B-B7624DFD66E8"><title>
              The Surface Update Server, showing IPC and ITC 
-          </title> <image href="GUID-26354520-8E9C-58B8-81E7-001EDE9AB77F_d0e276441_href.png" placement="inline"/></fig> <p>Some key points to note include: </p> <ul><li id="GUID-7054554A-9788-55F0-B8E5-9DF2C2B87FDC"><p>The composition engine is a device-specific adaptation that may delegate some of its functionality (such as composing hardware-rendered surfaces) to a GPU or display controller. </p> </li> <li id="GUID-38CC81F2-A85D-50E3-B450-F205618AB533"><p>There is a composition engine instance for each internal screen and external screen connection point on the device. Each composition engine must be registered with the Surface Update Server at startup. </p> </li> <li id="GUID-E08F7A3A-46BB-51FF-B9F2-5060DBB115E4"><p>Each composition engine instance has a unique 32-bit priority number, which represents the relative priority of its associated screen. The higher the number, the higher the priority of the screen. The composition engine instance passes this to the Surface Update Server at registration. The Surface Update Server adds the priority value to its priority list. After it is set up, the priority list is fixed and does not change when a screen becomes unavailable—for example, because it is put on standby or an external screen is disconnected. </p> </li> <li id="GUID-51786E9E-36DC-5459-BEF9-B3A59B8A58E0"><p>Each composition engine instance incorporates its own thread within the Window Server process. However, the external interface is accessed directly from the thread that makes the call. This means that <xref href="GUID-229099A4-EE8A-3EA7-8AA3-74ACE34ED1CD.dita#GUID-229099A4-EE8A-3EA7-8AA3-74ACE34ED1CD/GUID-64037182-167B-360C-B210-65B0861D4300"><apiname>MCompositionSurfaceUpdate::ContentUpdated()</apiname></xref> is called from the Surface Update Server thread. </p> </li> <li id="GUID-60224A78-8433-579C-9075-B8AFCD9D1924"><p>The Window Server's main thread is a client of the Surface Update Server. Although it is running in the same process as the Surface Update Server, it uses <xref href="GUID-FAFD23EB-90EF-3F0C-BAB3-74FEC8DF0E06.dita"><apiname>RSurfaceUpdateSession</apiname></xref> in exactly the same way as a client in a separate process. </p> </li> </ul> <p>The following diagram provides a more detailed view of the architecture. Notice that there is a composition engine thread for each screen. </p> <fig id="GUID-C3E32B28-5E21-52AD-9065-EE4861302882"><title>
+          </title> <image href="GUID-26354520-8E9C-58B8-81E7-001EDE9AB77F_d0e282441_href.png" placement="inline"/></fig> <p>Some key points to note include: </p> <ul><li id="GUID-7054554A-9788-55F0-B8E5-9DF2C2B87FDC"><p>The composition engine is a device-specific adaptation that may delegate some of its functionality (such as composing hardware-rendered surfaces) to a GPU or display controller. </p> </li> <li id="GUID-38CC81F2-A85D-50E3-B450-F205618AB533"><p>There is a composition engine instance for each internal screen and external screen connection point on the device. Each composition engine must be registered with the Surface Update Server at startup. </p> </li> <li id="GUID-E08F7A3A-46BB-51FF-B9F2-5060DBB115E4"><p>Each composition engine instance has a unique 32-bit priority number, which represents the relative priority of its associated screen. The higher the number, the higher the priority of the screen. The composition engine instance passes this to the Surface Update Server at registration. The Surface Update Server adds the priority value to its priority list. After it is set up, the priority list is fixed and does not change when a screen becomes unavailable—for example, because it is put on standby or an external screen is disconnected. </p> </li> <li id="GUID-51786E9E-36DC-5459-BEF9-B3A59B8A58E0"><p>Each composition engine instance incorporates its own thread within the Window Server process. However, the external interface is accessed directly from the thread that makes the call. This means that <xref href="GUID-229099A4-EE8A-3EA7-8AA3-74ACE34ED1CD.dita#GUID-229099A4-EE8A-3EA7-8AA3-74ACE34ED1CD/GUID-64037182-167B-360C-B210-65B0861D4300"><apiname>MCompositionSurfaceUpdate::ContentUpdated()</apiname></xref> is called from the Surface Update Server thread. </p> </li> <li id="GUID-60224A78-8433-579C-9075-B8AFCD9D1924"><p>The Window Server's main thread is a client of the Surface Update Server. Although it is running in the same process as the Surface Update Server, it uses <xref href="GUID-FAFD23EB-90EF-3F0C-BAB3-74FEC8DF0E06.dita"><apiname>RSurfaceUpdateSession</apiname></xref> in exactly the same way as a client in a separate process. </p> </li> </ul> <p>The following diagram provides a more detailed view of the architecture. Notice that there is a composition engine thread for each screen. </p> <fig id="GUID-C3E32B28-5E21-52AD-9065-EE4861302882"><title>
              Surface Update Server class diagram 
-          </title> <image href="GUID-2FE3BDE7-8782-5026-9B90-D96B77197498_d0e276488_href.png" placement="inline"/></fig> <p>Do not confuse the Surface Update Server with the <xref href="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita">Surface Manager</xref>. The Surface Manager creates, deletes and manages access to the surface data, whereas the Surface Update Server is concerned with communicating the fact that surface data has changed. </p> </section> <section><title>The Surface Update client API</title> <p>Here is a simplified <xref href="GUID-FAFD23EB-90EF-3F0C-BAB3-74FEC8DF0E06.dita"><apiname>RSurfaceUpdateSession</apiname></xref> declaration showing only the key functions. </p> <codeblock id="GUID-AFEB594E-6C2A-55CF-8150-E2D14AB06AA3" xml:space="preserve">class RSurfaceUpdateSession : public RSessionBase
+          </title> <image href="GUID-2FE3BDE7-8782-5026-9B90-D96B77197498_d0e282488_href.png" placement="inline"/></fig> <p>Do not confuse the Surface Update Server with the <xref href="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita">Surface Manager</xref>. The Surface Manager creates, deletes and manages access to the surface data, whereas the Surface Update Server is concerned with communicating the fact that surface data has changed. </p> </section> <section><title>The Surface Update client API</title> <p>Here is a simplified <xref href="GUID-FAFD23EB-90EF-3F0C-BAB3-74FEC8DF0E06.dita"><apiname>RSurfaceUpdateSession</apiname></xref> declaration showing only the key functions. </p> <codeblock id="GUID-AFEB594E-6C2A-55CF-8150-E2D14AB06AA3" xml:space="preserve">class RSurfaceUpdateSession : public RSessionBase
     {
 public:
     IMPORT_C RSurfaceUpdateSession();
@@ -49,12 +49,12 @@
 User::WaitForRequest( statusDisplayedXTimes ) ;
 </codeblock> <p> <i>Notes</i>: </p> <ul><li id="GUID-E992F13D-4628-561B-A7A4-D2723FA06482"><p>Because this is test code and to avoid complexity, this example calls <codeph>User::WaitForRequest()</codeph> directly rather than using active objects. </p> </li> <li id="GUID-7B0616B5-2978-5C0F-9DA8-1A4C2874E950"><p>In some hardware configurations where composition and display are fast, the buffer available and first displayed notifications may occur very close together for single-buffered surfaces. You should then use only one of these notifications at a time. </p> </li> </ul> </section> <section><title>Sequence diagrams</title> <p>These sequence diagrams primarily illustrate the protocol linking the sending of the buffers and notification. For simplicity some detail is omitted. For example, the client typically renders to the buffer before sending it to the composition engine. This is not shown. Similarly the diagrams omit detail from the composition engine and some omit the Surface Update Server altogether. In addition, they assume that a specific screen number is specified. When global surface updates are in use, the sequence is more complex and is described in <xref href="GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita">Global Surface Updates</xref>. </p> <p><b>Surface buffer availability: single-buffered surface </b> </p> <p>When using a single-buffered surface, the client typically does the following: </p> <ol id="GUID-369D1CE5-DCDA-5764-9D72-6BF28BAEA5A5"><li id="GUID-61EEC7A6-A561-50E0-8EB2-2D80944D1A4F"><p>Render the graphics content to the buffer. </p> </li> <li id="GUID-FF4A8850-3E85-5A21-B155-1F559F50240B"><p>Call <codeph>RSurfaceUpdateSession::NotifyWhenAvailable()</codeph>. </p> </li> <li id="GUID-4108376B-5F0E-5C22-8654-F74663D61B97"><p>Call <codeph>RSurfaceUpdateSession::SubmitUpdate()</codeph>. </p> </li> <li id="GUID-A7523952-6551-542D-B501-604764F16D30"><p>Wait for notification that the buffer is available before rendering further content to it and repeating the cycle for as long as necessary. </p> </li> </ol> <p>This is shown in the following diagram. </p> <fig id="GUID-6A62814B-0493-5E94-9D26-0AC2897B1E4E"><title>
              Single-buffered surface availability 
-          </title> <image href="GUID-28222243-1531-524F-81A7-070FF6E98C4C_d0e276675_href.png" placement="inline"/></fig> <p>Notice that the notification signal is issued to the client immediately after the buffer has been consumed by the composition engine. When single buffers are used, tearing artefacts are always a risk. Therefore double-buffered surfaces are often used. </p> <p><b>Surface buffer availability: double-buffered surface </b> </p> <p>When double-buffering is used, the client renders to one buffer (called <i>A</i> in this example) while the other buffer (<i>B</i>) is on the screen and vice versa. In order for this to work correctly and to be free of tearing artefacts, the client must use the following sequence: </p> <ol id="GUID-E45EC80D-1742-5699-9B84-E91D966718DA"><li id="GUID-DA98CD3A-77DB-5AB2-9DCF-F85516D493C1"><p>Render the graphics content to buffer <i>A</i>, and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>A</i>. </p> </li> <li id="GUID-1F750734-E797-5BD9-948D-392643F6F4B1"><p>Render the graphics content to buffer <i>B</i>, and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>B</i>. </p> </li> <li id="GUID-8C0526D0-A7D2-5E6C-964A-7BC1E67817D5"><p>Wait for notification that buffer <i>A</i> is available. When it becomes available, render further content to it and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>A.</i>  </p> </li> <li id="GUID-60312FB1-9EF9-54B5-85F0-121F0E497CDC"><p>Wait for notification that buffer <i>B</i> is available. When it becomes available, render further content to it and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>B.</i>  </p> </li> <li id="GUID-5CB0B8BB-AA69-5C35-9774-A158DDD93072"><p>Repeat steps 3 and 4 for as long as required. </p> </li> </ol> <p>This is shown in the next diagram. After sending the first two buffers to the composition engine, the client waits for notification before sending a further buffer. The composition engine always returns notification after receiving a new buffer even if an error condition is detected. </p> <fig id="GUID-9FE30A58-B4D4-5E0A-907E-63586E5D8529"><title>
+          </title> <image href="GUID-28222243-1531-524F-81A7-070FF6E98C4C_d0e282675_href.png" placement="inline"/></fig> <p>Notice that the notification signal is issued to the client immediately after the buffer has been consumed by the composition engine. When single buffers are used, tearing artefacts are always a risk. Therefore double-buffered surfaces are often used. </p> <p><b>Surface buffer availability: double-buffered surface </b> </p> <p>When double-buffering is used, the client renders to one buffer (called <i>A</i> in this example) while the other buffer (<i>B</i>) is on the screen and vice versa. In order for this to work correctly and to be free of tearing artefacts, the client must use the following sequence: </p> <ol id="GUID-E45EC80D-1742-5699-9B84-E91D966718DA"><li id="GUID-DA98CD3A-77DB-5AB2-9DCF-F85516D493C1"><p>Render the graphics content to buffer <i>A</i>, and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>A</i>. </p> </li> <li id="GUID-1F750734-E797-5BD9-948D-392643F6F4B1"><p>Render the graphics content to buffer <i>B</i>, and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>B</i>. </p> </li> <li id="GUID-8C0526D0-A7D2-5E6C-964A-7BC1E67817D5"><p>Wait for notification that buffer <i>A</i> is available. When it becomes available, render further content to it and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>A.</i>  </p> </li> <li id="GUID-60312FB1-9EF9-54B5-85F0-121F0E497CDC"><p>Wait for notification that buffer <i>B</i> is available. When it becomes available, render further content to it and call <codeph>NotifyWhenAvailable()</codeph> followed by <codeph>SubmitUpdate()</codeph> for buffer <i>B.</i>  </p> </li> <li id="GUID-5CB0B8BB-AA69-5C35-9774-A158DDD93072"><p>Repeat steps 3 and 4 for as long as required. </p> </li> </ol> <p>This is shown in the next diagram. After sending the first two buffers to the composition engine, the client waits for notification before sending a further buffer. The composition engine always returns notification after receiving a new buffer even if an error condition is detected. </p> <fig id="GUID-9FE30A58-B4D4-5E0A-907E-63586E5D8529"><title>
              Double-buffered surface availability 
-          </title> <image href="GUID-9CDB7D27-B4C9-593B-8C67-0335A868BAC0_d0e276776_href.png" placement="inline"/></fig> <p> <i>Notes</i>: </p> <ul><li id="GUID-6C575BD0-C7B5-525B-AB28-05A6F9ADEE76"><p>The buffer that is on the screen is called the <b>front buffer</b> and the one that is being rendered into is called the <b>back buffer</b>. </p> </li> <li id="GUID-1608F782-3E20-5F42-84DA-24F1F0DB66A8"><p>Although double-buffering is shown, three or more buffers can be used. </p> </li> </ul> <p><b>Frame update </b> </p> <p>The following diagram shows the sequence when a client submits a request to be notified when the buffer has been displayed three times. However, the exact details depend on how the composition engine is implemented. If the composition engine knows the screen refresh rate, it can post the composed buffer to the Display Driver and wait for notification that the buffer is on the screen. It could then uses a timer to wait for three frames to be displayed, before it sends the notification. </p> <fig id="GUID-F73EEC1A-A2A0-5FF1-B0FC-F391EE67E782"><title>
+          </title> <image href="GUID-9CDB7D27-B4C9-593B-8C67-0335A868BAC0_d0e282776_href.png" placement="inline"/></fig> <p> <i>Notes</i>: </p> <ul><li id="GUID-6C575BD0-C7B5-525B-AB28-05A6F9ADEE76"><p>The buffer that is on the screen is called the <b>front buffer</b> and the one that is being rendered into is called the <b>back buffer</b>. </p> </li> <li id="GUID-1608F782-3E20-5F42-84DA-24F1F0DB66A8"><p>Although double-buffering is shown, three or more buffers can be used. </p> </li> </ul> <p><b>Frame update </b> </p> <p>The following diagram shows the sequence when a client submits a request to be notified when the buffer has been displayed three times. However, the exact details depend on how the composition engine is implemented. If the composition engine knows the screen refresh rate, it can post the composed buffer to the Display Driver and wait for notification that the buffer is on the screen. It could then uses a timer to wait for three frames to be displayed, before it sends the notification. </p> <fig id="GUID-F73EEC1A-A2A0-5FF1-B0FC-F391EE67E782"><title>
              Frame update sequence 
-          </title> <image href="GUID-5BCB7325-1755-5A66-99B5-6F5AE003D207_d0e276814_href.png" placement="inline"/></fig> <p>If the client sends a new request for update while the previous one is still in progress, the previous request is cancelled with the <codeph>KErrOverflow</codeph> error code. This is illustrated in the next diagram. </p> <fig id="GUID-11496B17-B655-5CF7-ACD5-9F7F5D80266B"><title>
+          </title> <image href="GUID-5BCB7325-1755-5A66-99B5-6F5AE003D207_d0e282814_href.png" placement="inline"/></fig> <p>If the client sends a new request for update while the previous one is still in progress, the previous request is cancelled with the <codeph>KErrOverflow</codeph> error code. This is illustrated in the next diagram. </p> <fig id="GUID-11496B17-B655-5CF7-ACD5-9F7F5D80266B"><title>
              A second request when the first is still in progress 
-          </title> <image href="GUID-3F3E8851-3770-5B58-A31E-B5FFCBDE7E55_d0e276826_href.png" placement="inline"/></fig> <p><b>Cancelling of all outstanding requests </b> </p> <p>If the client is waiting for a notification when you need to remove the active object that is handling the notification and close the thread, you must call <codeph>CancelAllUpdateNotifiations()</codeph> first—otherwise the client thread panics. </p> <p>However, <codeph>CancelAllUpdateNotifiations()</codeph> only cancels the notifications and not the associated command request. The notifications complete immediate with the <codeph>KErrCancel</codeph> error code. </p> <fig id="GUID-216C1A8A-24D9-58FF-9C64-EC0CB3A7A92F"><title>
+          </title> <image href="GUID-3F3E8851-3770-5B58-A31E-B5FFCBDE7E55_d0e282826_href.png" placement="inline"/></fig> <p><b>Cancelling of all outstanding requests </b> </p> <p>If the client is waiting for a notification when you need to remove the active object that is handling the notification and close the thread, you must call <codeph>CancelAllUpdateNotifiations()</codeph> first—otherwise the client thread panics. </p> <p>However, <codeph>CancelAllUpdateNotifiations()</codeph> only cancels the notifications and not the associated command request. The notifications complete immediate with the <codeph>KErrCancel</codeph> error code. </p> <fig id="GUID-216C1A8A-24D9-58FF-9C64-EC0CB3A7A92F"><title>
              Cancel all notifications before closing the connection 
-          </title> <image href="GUID-A786DE92-B87E-5D8E-B61D-645BB42BC303_d0e276852_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita"><linktext>Global Surface Updates</linktext> </link> <link href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita"><linktext>Graphics Composition Surfaces</linktext> </link> <link href="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita"><linktext>Surface Manager Overview</linktext> </link> <link href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita"><linktext>Graphics Composition Collection</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-A786DE92-B87E-5D8E-B61D-645BB42BC303_d0e282852_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita"><linktext>Global Surface Updates</linktext> </link> <link href="GUID-ADA8CECB-0E70-5B9C-8F36-0714AAF0CD13.dita"><linktext>Graphics Composition Surfaces</linktext> </link> <link href="GUID-55EF3CEB-AF3E-5A32-96F3-F146D1A06C8F.dita"><linktext>Surface Manager Overview</linktext> </link> <link href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita"><linktext>Graphics Composition Collection</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-8E907968-E6F8-5792-9B04-664971762FFF_d0e332203_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E907968-E6F8-5792-9B04-664971762FFF_d0e338175_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e100971_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e79085_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e79950_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e83283_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e84148_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e96892_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8ECEF376-CB27-52FC-A9DD-933ACC24FDDC_d0e515731_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8ECEF376-CB27-52FC-A9DD-933ACC24FDDC_d0e523193_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042" xml:lang="en"><title> Using the Application Management Functions</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Universal Software Install Framework (USIF) provides
+APIs to perform the following:</p>
+<ul>
+<li><p><xref href="GUID-3C25B191-7358-426A-BF94-A43506109E9D.dita">Listing
+software components installed on a device</xref></p></li>
+<li><p><xref href="GUID-C245FD62-1C59-4811-AE13-94DBFEA2F02F.dita">Uninstalling
+software component from a device</xref></p></li>
+<li><p><xref href="GUID-C10124A6-2051-446A-91D0-02F3073ACC08.dita">Extracting
+package information</xref></p></li>
+</ul>
+</conbody><related-links>
+<link href="GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054.dita"><linktext>SIF
+Overview</linktext></link>
+<link href="GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977.dita"><linktext>Creating
+an Installer</linktext></link>
+<link href="GUID-D2605514-03F4-4A07-943B-E180341518D4.dita"><linktext>Retrieving
+application information using application UID</linktext></link>
+<link href="GUID-33108CC9-3FF7-4076-A512-FB6F2F0BCC0D.dita"><linktext>Retrieving
+application information using filters</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-8EE8E38C-7CA1-5F1B-86D0-1A0B03AAC5F2_d0e191459_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8EE8E38C-7CA1-5F1B-86D0-1A0B03AAC5F2_d0e197517_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8EF8CDD3-9FFE-5C39-8303-67A661C67F6B_d0e552887_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8EF8CDD3-9FFE-5C39-8303-67A661C67F6B_d0e560343_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-8F04D882-B846-4A0D-B858-15FDA85758FA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8F04D882-B846-4A0D-B858-15FDA85758FA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,7 +10,7 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-8F04D882-B846-4A0D-B858-15FDA85758FA" xml:lang="en"><title>Displaying
-commands in a stylus pop-up menu</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+commands in a context menu </title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>To use a stylus pop-up menu in your application, implement the following
 use cases: </p>
 <ul>
@@ -36,8 +36,8 @@
 <li><p><xref href="GUID-494AF38D-CE0C-4B4C-BE44-2FC7482F4B7B.dita">Hiding and showing
 stylus pop-up menu items</xref></p></li>
 </ul>
-<section id="GUID-2A041837-914E-4117-A1C5-E975B738EC63"><title>Implementation
-file</title><p>The implementation file for the Stylus pop-up menu API is <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/aknstyluspopupmenu_8h-source.html" format="application/java-archive"><codeph>aknstyluspopupmenu.h</codeph></xref>.</p></section>
+<section><title>Implementation file</title><p>The implementation file for
+the Stylus pop-up menu API is <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/aknstyluspopupmenu_8h-source.html" format="application/java-archive"><codeph>aknstyluspopupmenu.h</codeph></xref>.</p></section>
 </conbody><related-links>
 <link href="GUID-B8BCC4F0-7F55-4728-B7EA-3280CA822C91.dita"><linktext>Stylus pop-up
 menu API description</linktext></link>
--- a/Symbian3/PDK/Source/GUID-8F1567B4-6957-5B93-9499-35489AD610F5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8F1567B4-6957-5B93-9499-35489AD610F5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -50,7 +50,7 @@
 at the chunk's base address and a size that is a multiple of the MMU page
 size. The following diagram is an example of this kind of chunk: </p> <fig id="GUID-BD64E013-2750-5298-8C5A-8DAC9AB30E14">
 <title>Normal chunks</title>
-<image href="GUID-07F65EEA-5969-5E56-9570-245712FB3EE3_d0e341787_href.png" placement="inline"/>
+<image href="GUID-07F65EEA-5969-5E56-9570-245712FB3EE3_d0e347738_href.png" placement="inline"/>
 </fig> <p id="GUID-0FB877CD-C4E1-5253-AFBC-563E3C715A44"><b>Double-ended chunks</b> </p> <p>These
 chunks have a committed region consisting of a single contiguous range starting
 at arbitrary lower and upper endpoints within the reserved region. The only
@@ -58,14 +58,14 @@
 MMU page size. Both the bottom and top of the committed region can be altered
 dynamically. The following diagram shows an example of this kind of chunk: </p> <fig id="GUID-62D7BB5C-3BF1-5AA1-88A2-45D09D8684C9">
 <title>Double-ended chunks</title>
-<image href="GUID-99C2E42F-1029-5E32-8446-CAAF29D733BA_d0e341803_href.png" placement="inline"/>
+<image href="GUID-99C2E42F-1029-5E32-8446-CAAF29D733BA_d0e347754_href.png" placement="inline"/>
 </fig> <p id="GUID-230B66B1-7FD8-5944-9284-354C7564156B"><b>Disconnected chunks</b> </p> <p>These
 chunks have a committed region consisting of an arbitrary set of MMU pages
 within the reserved region. Each page-sized address range within the reserved
 region starting on a page boundary can be committed independently. The following
 diagram shows an example of this kind of chunk: </p> <fig id="GUID-13C9EED8-9C28-5289-A558-378DE49A0DAF">
 <title>Disconnected chunks</title>
-<image href="GUID-59C143F6-3A0C-5C37-9351-A72FE45AFFC9_d0e341819_href.png" placement="inline"/>
+<image href="GUID-59C143F6-3A0C-5C37-9351-A72FE45AFFC9_d0e347770_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-FD985769-32EB-5A8C-97E8-A3D2D89BBC33"><title>Shared chunks</title> <p>A
 shared chunk is a mechanism that allows kernel-side code to share memory buffers
Binary file Symbian3/PDK/Source/GUID-8F19C257-9A41-5D38-BC8A-285D0EB16E1B_d0e653407_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8F19C257-9A41-5D38-BC8A-285D0EB16E1B_d0e666234_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8F29E5C9-0EEA-569C-ADB2-82FD61D87378_d0e535642_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8F29E5C9-0EEA-569C-ADB2-82FD61D87378_d0e543102_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-8F4C626F-3490-50BC-A97F-FD1972FFF65B_d0e240752_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8F4C626F-3490-50BC-A97F-FD1972FFF65B_d0e246762_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8F6627A5-5DDE-5F30-86BF-CFD507DE876B_d0e455002_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8F6627A5-5DDE-5F30-86BF-CFD507DE876B_d0e460847_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8F6F6C2C-C00E-4412-A880-5EEBF7270265.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8F6F6C2C-C00E-4412-A880-5EEBF7270265.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 <p>The generic button can have properties such as ON/OFF button, Mode toggle
 button and Command button. For more details, see <xref href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref>: </p>
 <fig id="GUID-3D7CD4D9-206C-462E-9C87-B7D73D39C810">
-<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e80068_href.png" placement="inline"/>
+<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e84266_href.png" placement="inline"/>
 </fig>
 <p>Buttons can have the following states:<ul>
 <li><p><i>Unavailable / dimmed</i> when button function is not available</p></li>
Binary file Symbian3/PDK/Source/GUID-8F78705E-CD82-5039-A7CB-7C963F7FBA83_d0e296533_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8F78705E-CD82-5039-A7CB-7C963F7FBA83_d0e302525_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8F8E3814-7ED6-4218-BEEF-741AE0E9366F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-8F8E3814-7ED6-4218-BEEF-741AE0E9366F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <task id="GUID-8F8E3814-7ED6-4218-BEEF-741AE0E9366F" xml:lang="en"><title>Changing
 the Priority</title><shortdesc>This section describes how an application (internal or third-party)
 can change its priority by using OOM Monitor APIs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-FD9A15E9-6313-4BD3-A52A-7E3B71D39B37-GENID-1-12-1-12-1-1-9-1-5-1-6-1-4-1-3-1"><p>An application
+<context id="GUID-FD9A15E9-6313-4BD3-A52A-7E3B71D39B37-GENID-1-12-1-13-1-1-9-1-5-1-6-1-4-1-3-1"><p>An application
 which is processing a task in the background can change its priority at runtime
 to protect itself from being closed by the OOM Monitor. For example:</p><ul>
 <li><p>Music Player playing music in the background</p></li>
@@ -23,15 +23,15 @@
 itself to be <codeph>Busy</codeph> using <xref href="GUID-02D1911A-D2E5-3D28-9B05-75DA0A75DE73.dita#GUID-02D1911A-D2E5-3D28-9B05-75DA0A75DE73/GUID-420ECF8B-970A-381A-9035-DC1FCE8B566C"><apiname>ROomMonitorSession::SetOomPriority(EOomPriorityBusy)</apiname></xref> method.
 When the application finishes its background job and becomes idle, it should
 change its priority to <codeph>Normal</codeph>.</p></context>
-<steps id="GUID-01A482C7-3004-484D-9948-B0B892E913AF-GENID-1-12-1-12-1-1-9-1-5-1-6-1-4-1-3-2">
-<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-12-1-1-9-1-5-1-6-1-4-1-3-2-1"><cmd>Create an OOM Monitor
+<steps id="GUID-01A482C7-3004-484D-9948-B0B892E913AF-GENID-1-12-1-13-1-1-9-1-5-1-6-1-4-1-3-2">
+<step id="GUID-83631E4F-71D0-4FD2-8FD6-46689AAFA761-GENID-1-12-1-13-1-1-9-1-5-1-6-1-4-1-3-2-1"><cmd>Create an OOM Monitor
 session</cmd>
 <info><codeblock xml:space="preserve">ROomMonitorSession ioomMonitorSession;
 CleanUpClosePushL(ioomMonitorSession);
 User::LeaveIfError(ioomMonitorSession.Connect());
 </codeblock></info>
 </step>
-<step id="GUID-3033BB28-ACC5-440C-9BDB-D1BC36CD001C-GENID-1-12-1-12-1-1-9-1-5-1-6-1-4-1-3-2-2"><cmd>Set the priority
+<step id="GUID-3033BB28-ACC5-440C-9BDB-D1BC36CD001C-GENID-1-12-1-13-1-1-9-1-5-1-6-1-4-1-3-2-2"><cmd>Set the priority
 for the application to <codeph>Busy</codeph> before performing the background
 task</cmd>
 <info><codeblock xml:space="preserve">iOomMonitorSession.SetOomPriority(ROomMonitorSession::EOomPriorityBusy);
@@ -43,7 +43,7 @@
 <info><codeblock xml:space="preserve">iOomMonitorSession.SetOomPriority(ROomMonitorSession::EOomPriorityNormal);
 </codeblock></info>
 </step>
-<step id="GUID-5B3E8176-528F-45E7-B1CE-57ADCFAB5C6C-GENID-1-12-1-12-1-1-9-1-5-1-6-1-4-1-3-2-4"><cmd>Close the session.</cmd>
+<step id="GUID-5B3E8176-528F-45E7-B1CE-57ADCFAB5C6C-GENID-1-12-1-13-1-1-9-1-5-1-6-1-4-1-3-2-4"><cmd>Close the session.</cmd>
 <info><codeblock xml:space="preserve">iOomMonitorSession.Close();
 </codeblock></info>
 </step>
Binary file Symbian3/PDK/Source/GUID-8FB9A16A-15B4-59C0-842B-2B70169E2E95_d0e231607_href.png has changed
Binary file Symbian3/PDK/Source/GUID-8FB9A16A-15B4-59C0-842B-2B70169E2E95_d0e237602_href.png has changed
--- a/Symbian3/PDK/Source/GUID-8FF4D117-920A-5AFA-ABB3-C0101EE2B7AA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-8FF4D117-920A-5AFA-ABB3-C0101EE2B7AA"><title>-no_debug</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option does not generate symbolic debug information for release or debug builds. </p> <p>The option instructs the <codeph>makmake</codeph> tool to not generate the symbolic debug information for <codeph>UREL</codeph> or <codeph>UDEB</codeph> variants. It supports only ARM ABI compliant platforms. </p> <p>Note that the option is applicable to the <codeph>build</codeph> and <codeph>makefile</codeph> commands only. </p> <p>Also note that this option cannot be used with the <xref href="GUID-7971886A-8ED0-5924-9BC0-A163BA499888.dita">-debug</xref> option. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-90076A13-E062-5A7B-BB0F-168F7C8A96DD_d0e106581_href.png has changed
Binary file Symbian3/PDK/Source/GUID-90076A13-E062-5A7B-BB0F-168F7C8A96DD_d0e109024_href.png has changed
--- a/Symbian3/PDK/Source/GUID-90094016-7DAA-5643-9470-36DF324D5884.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-90094016-7DAA-5643-9470-36DF324D5884.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -49,5 +49,5 @@
 // Use Location Acquisition API as normal...
 
 ...
-</codeblock> </stepxmp> <info>The Default PSY has a list of all available PSYs. If the Network PSY is installed it can be used by the Default PSY. The choice of which PSY is used is based on the priority and availability of the PSYs. </info> <info>See <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> for more information about PSY settings. </info> <info>See <xref href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita">Default PSY</xref> for information about how a PSY is selected. </info> </step> </steps> </taskbody><related-links><link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
-                PSY</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"><linktext>Location Acquisition API</linktext> </link> </related-links></task>
\ No newline at end of file
+</codeblock> </stepxmp> <info>The Default PSY has a list of all available PSYs. If the Network PSY is installed it can be used by the Default PSY. The choice of which PSY is used is based on the priority and availability of the PSYs. </info> <info>See <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> for more information about PSY settings. </info> <info>See <xref href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita">Default PSY</xref> for information about how a PSY is selected. </info> </step> </steps> </taskbody><related-links><link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
+                PSY</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"><linktext>Location Acquisition API</linktext> </link> </related-links></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e141412_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e143661_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9045FC43-162E-52B8-ABE2-5EC1EC88BD99_d0e247853_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9045FC43-162E-52B8-ABE2-5EC1EC88BD99_d0e253864_href.png has changed
Binary file Symbian3/PDK/Source/GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e379715_href.png has changed
Binary file Symbian3/PDK/Source/GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e385568_href.png has changed
Binary file Symbian3/PDK/Source/GUID-905EA9A9-C72C-5632-A95E-B4ED0BD10316_d0e443688_href.png has changed
Binary file Symbian3/PDK/Source/GUID-905EA9A9-C72C-5632-A95E-B4ED0BD10316_d0e449533_href.png has changed
--- a/Symbian3/PDK/Source/GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -118,7 +118,7 @@
 <title>                   Figure 1: Handwriting simulation might use different
 glyphs for                   the letter p depending on its position in a word
                  </title>
-<image href="GUID-8F19C257-9A41-5D38-BC8A-285D0EB16E1B_d0e653407_href.png" placement="inline"/>
+<image href="GUID-8F19C257-9A41-5D38-BC8A-285D0EB16E1B_d0e666234_href.png" placement="inline"/>
 </fig> <p>Contextual shaping is an essential feature of some scripts, including
 Arabic and many Indian and East Asian scripts, such as Devanagari, Kannada,
 Telugu, Tamil, Bengali, Malayalam and Gurmukhi. For this reason, support for
@@ -144,7 +144,7 @@
 <title>              Figure 2: The Graphics Device and Context Architecture.
            </title>
 <desc><p>Note that the names of the BitGDI classes begin with <codeph>CFbs</codeph>. </p> </desc>
-<image href="GUID-9D6D07D3-A93C-5290-AC08-15750AD34802_d0e653465_href.png" placement="inline"/>
+<image href="GUID-9D6D07D3-A93C-5290-AC08-15750AD34802_d0e666292_href.png" placement="inline"/>
 </fig> <p>Applications access font services through the <xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">Font
 and Bitmap Server (FBSERV)</xref> which caches font bitmaps in a shared heap.
 The Font and Bitmap Server ensures that there is only ever a single instance
Binary file Symbian3/PDK/Source/GUID-9070E54B-8E3E-5968-AC78-1F2478FDCBA1_d0e450887_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9070E54B-8E3E-5968-AC78-1F2478FDCBA1_d0e456732_href.png has changed
Binary file Symbian3/PDK/Source/GUID-90B593E2-F38B-5B38-9367-E2BF344A2834_d0e665495_href.png has changed
Binary file Symbian3/PDK/Source/GUID-90B593E2-F38B-5B38-9367-E2BF344A2834_d0e678322_href.png has changed
--- a/Symbian3/PDK/Source/GUID-90DF40EF-7D3F-551D-9957-A3756317A254.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-90DF40EF-7D3F-551D-9957-A3756317A254.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -59,7 +59,7 @@
 (in this case, the OCSP server), which replies with a single response. The
 following figure illustrates the interaction between the OCSP client and a
 single destination responder. </p> <fig id="GUID-11F6D229-29D0-510A-AB8A-64A906DC00F7">
-<image href="GUID-8E3F3745-7875-51A2-BDA1-AA537C7B220E_d0e637916_href.png" placement="inline"/>
+<image href="GUID-8E3F3745-7875-51A2-BDA1-AA537C7B220E_d0e650738_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-185C0C91-CC3F-5198-8EAB-BB1BF748A3D0"><p> <b>Multiple OCSP responders
 using an intermediate OCSP server</b>  </p> <p>Multiple OCSP responders use
@@ -69,14 +69,14 @@
 and one response is sent back to the client. The following figure shows the
 interaction between an OCSP client and multiple destination responders by
 using an intermediate responder. </p> <fig id="GUID-964E18AA-E4F7-5A71-A2F3-19F3007C24C6">
-<image href="GUID-2EF123C9-62A2-52FF-9792-66EF41F37452_d0e637932_href.png" placement="inline"/>
+<image href="GUID-2EF123C9-62A2-52FF-9792-66EF41F37452_d0e650754_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-F092252F-79EF-58E2-A596-77D3FC07CC54"><p> <b>Multiple OCSP responders
 without an intermediate server</b>  </p> <p>The client does the work of sending
 each request to the appropriate responder. The client collates the responses
 received. The following figure shows the interaction between the client and
 multiple destination responders. </p> <fig id="GUID-223A3DB6-538E-5A4E-946C-87AA03449857">
-<image href="GUID-A6F1F6AC-5D3C-5055-AEF1-B64671941BCB_d0e637948_href.png" placement="inline"/>
+<image href="GUID-A6F1F6AC-5D3C-5055-AEF1-B64671941BCB_d0e650770_href.png" placement="inline"/>
 </fig> </li>
 </ul> <p>The choice of the correct method of interaction between the client
 and the responders depends on the nature of the Public Key Infrastructure
Binary file Symbian3/PDK/Source/GUID-91224821-8094-59ED-A100-4174193A25EE_d0e366563_href.png has changed
Binary file Symbian3/PDK/Source/GUID-91224821-8094-59ED-A100-4174193A25EE_d0e372411_href.png has changed
Binary file Symbian3/PDK/Source/GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e265062_href.png has changed
Binary file Symbian3/PDK/Source/GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e271062_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,113 +1,91 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en">
-<title>Support for Multiple Pointers in the Emulator Overview</title>
-<shortdesc>This topic provides an overview of support for multiple
-pointers in the emulator. Two mice are used to provide two independent
-pointer positions. The emulator responds to the mice’s individual
-button-clicks, moves, and mouse wheel scrolls as if two human fingers
-are moving, touching or hovering over the screen.</shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>The emulator can be extended to support more than two mice or other
-pointer devices.</p>
-<p><b>Variant</b>: <xref
-href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
->. <b>Target audience</b>: Application developers. </p>
-<p>The following figure shows two Windows pointers on the emulator
-screen, each representing a mouse device. The ordinal integer (starting
-from 0) beside each pointer is the unique device identifier. The position
-of each mouse on the screen is represented by the X and Y coordinates.
-The pressure (a positive value) and proximity (a negative value) information
-captured by the mouse wheel is represented by the Z coordinate. Notice
-that the status bar shows the identifier and the dynamic X, Y and
-Z values of each pointer.</p>
-<fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C">
-<title>Two pointers are displayed in the emulator</title>
-<image
-href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e241170_href.png"
-placement="inline"></image></fig>
-<p>The delivery of pointer events from the emulator driver to the
-Window Server is the same when there are multiple pointers as in the
-single pointer environment. This means the raw events for a mouse
-move, button click and mouse wheel movement are delivered to the Window
-Server as usual. Each mouse has a unique device identifier, which
-makes it possible to ascertain which mouse the events relate to. The
-raw events for each individual mouse include the following: </p>
-<ul>
-<li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse
-move or a mouse wheel movement event.</p></li>
-<li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the
-left mouse button is pressed down.</p></li>
-<li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left
-mouse button is released.</p></li>
-<li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that
-the proximity of a mouse is out of range. This means that the Z coordinate
-value of the mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph
->.</p></li>
-</ul>
-<section
-id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-14-1-1-9-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7"
->       <title>Pressure and proximity emulation</title><p>The Z coordinate
-value is used to represent the pressure and proximity to the screen.
-In the emulator, the Z value is captured and tuned by the mouse wheel
-movement.</p><ul>
-<li><p>Z &lt; 0 indicates the proximity of the device from the screen.</p
-></li>
-<li><p>Z > 0 indicates pressure.</p></li>
-</ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"
->Advanced Pointer Overview</xref> for more information about pressure
-and proximity.</p><p>The mouse wheel combines the features of a wheel
-and a mouse button. The wheel has discrete, evenly spaced notches.
-Rotating the wheel backwards or forwards has the effect of changing
-the pressure or proximity.</p><ul>
-<li><p>When the mouse wheel is rotated, a device-specific message
-is sent to the emulator window that has focus as each notch is encountered.</p
-></li>
-<li><p>The Z coordinate is initiated as 0. Then when the wheel is
-moved forward, the Z value enters the pressure range and increases
-by one pressure step. When the wheel is moved backward, the Z value
-enters the proximity range and decreases by one proximity step.</p
-><p>The pressure or proximity step can be customized in the <filepath
->epoc.ini</filepath> file. See <xref
-href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling Multiple
-Pointers in the Emulator Tutorial</xref> for more information.</p
-></li>
-<li><p>When the Z value is in the pressure range (Z > 0), moving the
-wheel forward by one notch increases Z by one pressure step. Moving
-the wheel backward by one notch decreases Z by one pressure step,
-until Z returns to 0.</p></li>
-<li><p>When the Z value is in the proximity range (Z &lt; 0), moving
-the wheel backward by one notch decreases Z by one proximity step.
-Moving the wheel forward by one notch increases Z by one proximity
-step, until Z returns to 0. </p></li>
-<li><p>There are limits to the values of the Z coordinate. This means
-that the Symbian emulator does not allow Z to exceed the upper boundary <xref
-href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"
-><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a positive
-value) and lower boundary <xref
-href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"
-><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a negative
-value).  If Z is at the lower boundary, when the mouse wheel is moved
-backward next time, Z does not change. A new <codeph>Out of Range</codeph
-> pointer event is generated and sent to the Window Server. Similarly
-when Z is at the upper boundary, Z does not change when the mouse
-wheel is moved forward.</p></li>
-<li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph
-> or <codeph>TRawEvent::EButton1Up</codeph>) is generated, Z is reset
-to 0.</p></li>
-</ul>     </section>
-</conbody>
-<related-links>
-<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext
->Advanced Pointers</linktext></link>
-<link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext
->Enabling Multiple Pointers <?Pub Caret?>in the Emulator Tutorial</linktext>
-</link>
-</related-links>
-</concept>
-<?Pub *0000006176?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en"><title>Support for Multiple Pointers in the Emulator Overview</title><shortdesc>This topic provides an overview of support for multiple
+pointers in the emulator. Two mice are used to provide two independent
+pointer positions. The emulator responds to the mice’s individual
+button-clicks, moves, and mouse wheel scrolls as if two human fingers
+are moving, touching or hovering over the screen.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The emulator can be extended to support more than two mice or other
+pointer devices.</p>
+<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p>
+<p>The following figure shows two Windows pointers on the emulator
+screen, each representing a mouse device. The ordinal integer (starting
+from 0) beside each pointer is the unique device identifier. The position
+of each mouse on the screen is represented by the X and Y coordinates.
+The pressure (a positive value) and proximity (a negative value) information
+captured by the mouse wheel is represented by the Z coordinate. Notice
+that the status bar shows the identifier and the dynamic X, Y and
+Z values of each pointer.</p>
+<fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C">
+<title>Two pointers are displayed in the emulator</title>
+<image href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e247182_href.png" placement="inline"/>
+</fig>
+<p>The delivery of pointer events from the emulator driver to the
+Window Server is the same when there are multiple pointers as in the
+single pointer environment. This means the raw events for a mouse
+move, button click and mouse wheel movement are delivered to the Window
+Server as usual. Each mouse has a unique device identifier, which
+makes it possible to ascertain which mouse the events relate to. The
+raw events for each individual mouse include the following: </p>
+<ul>
+<li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse
+move or a mouse wheel movement event.</p></li>
+<li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the
+left mouse button is pressed down.</p></li>
+<li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left
+mouse button is released.</p></li>
+<li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that
+the proximity of a mouse is out of range. This means that the Z coordinate
+value of the mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph>.</p></li>
+</ul>
+<section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-15-1-1-9-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7">       <title>Pressure and proximity emulation</title><p>The Z coordinate value
+is used to represent the pressure and proximity to the screen. In
+the emulator, the Z value is captured and tuned by the mouse wheel
+movement.</p><ul>
+<li><p>Z &lt; 0 indicates the proximity of the device from the screen.</p></li>
+<li><p>Z &gt; 0 indicates pressure.</p></li>
+</ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced Pointer Overview</xref> for more information about pressure
+and proximity.</p><p>The mouse wheel combines the features of a wheel
+and a mouse button. The wheel has discrete, evenly spaced notches.
+Rotating the wheel backwards or forwards has the effect of changing
+the pressure or proximity.</p><ul>
+<li><p>When the mouse wheel is rotated, a device-specific message
+is sent to the emulator window that has focus as each notch is encountered.</p></li>
+<li><p>The Z coordinate is initiated as 0. Then when the wheel is
+moved forward, the Z value enters the pressure range and increases
+by one pressure step. When the wheel is moved backward, the Z value
+enters the proximity range and decreases by one proximity step.</p><p>The pressure or proximity step can be customized in the <filepath>epoc.ini</filepath> file. See <xref href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling Multiple
+Pointers in the Emulator Tutorial</xref> for more information.</p></li>
+<li><p>When the Z value is in the pressure range (Z &gt; 0), moving the
+wheel forward by one notch increases Z by one pressure step. Moving
+the wheel backward by one notch decreases Z by one pressure step,
+until Z returns to 0.</p></li>
+<li><p>When the Z value is in the proximity range (Z &lt; 0), moving
+the wheel backward by one notch decreases Z by one proximity step.
+Moving the wheel forward by one notch increases Z by one proximity
+step, until Z returns to 0. </p></li>
+<li><p>There are limits to the values of the Z coordinate. This means
+that the Symbian emulator does not allow Z to exceed the upper boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a positive value) and lower
+boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a negative
+value).  If Z is at the lower boundary, when the mouse wheel is moved
+backward next time, Z does not change. A new <codeph>Out of Range</codeph> pointer event is generated and sent to the Window Server. Similarly
+when Z is at the upper boundary, Z does not change when the mouse
+wheel is moved forward.</p></li>
+<li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph> or <codeph>TRawEvent::EButton1Up</codeph>) is generated, Z is reset
+to 0.</p></li>
+</ul>     </section>
+</conbody><related-links>
+<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced
+Pointers</linktext></link>
+<link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext>Enabling
+Multiple Pointers in the Emulator Tutorial</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9147F8AF-01B3-5110-8FE7-A6318B5048D9_d0e46332_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9147F8AF-01B3-5110-8FE7-A6318B5048D9_d0e50566_href.png has changed
--- a/Symbian3/PDK/Source/GUID-914DD950-4332-5F23-B725-F4D330DB19EB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-914DD950-4332-5F23-B725-F4D330DB19EB" xml:lang="en"><title>UID2
-and UID3 statements</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;uid2-statement&gt;
-uid2-statement ::= 
-UID2 &lt;uid-value&gt; &lt;uid3-statement&gt;
-uid3-statement ::= 
-UID3 &lt;uid-value&gt;</codeblock>
-<p>Defines the second (<codeph>UID2</codeph>) and third (<codeph>UID3</codeph>)
-UIDs for the resource file. The <varname>uid-value</varname> is a UID number
-(or macro representing such a number).</p>
-<p>At the start of a resource file, a UID triplet is stored. The first UID
-of a resource file is always <codeph>0x101f4a6b</codeph>. By default, the
-second UID is zero and the third UID is the resource file’s “offset”, i.e.
-the twenty-bit integer generated from the resource file’s name. The defaults
-can be overriden using these statements (or from a <codeph>START         RESOURCE</codeph> statement
-in an mmp file).</p>
-<p>Some clients of resource files read the UID values (see <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-142C2031-3101-34E0-8A16-5410123C8D18"><apiname>RResourceFile::UidType()</apiname></xref>)
-to test that a resource file is of a suitable type. In many other cases, the
-reader of the resource file does not use the UID values, so there is no need
-to use the <codeph>UID2/UID3</codeph> statements.</p>
-<example><codeblock id="GUID-8B72E4F7-DD19-5BF7-A170-53388CF6BBF1" xml:space="preserve">UID2 KUidAppRegistrationResourceFile
-UID3 0x10001234</codeblock></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-915A1B7D-10BB-5B4A-8C5E-99AD28375AD7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-915A1B7D-10BB-5B4A-8C5E-99AD28375AD7"><title>ARMV7 build target</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The <codeph>ARMV7</codeph> build target builds for the <codeph>ARMV7</codeph> architecture that supports Thumb-2 instruction set. For details on ARMV7 architecture, refer to <xref scope="external" href="http://www.arm.com/products/CPUs/architecture.html">http://www.arm.com/products/CPUs/architecture.html</xref>. To build for ARMV7, ARM's RealView Compilation Tools (RVCT) v3.1 or later is required. </p> <section><title>Building binaries for ARMV7</title> <p>To build binaries for <codeph>ARMV7</codeph> with <filepath>abld</filepath>, use: </p> <p><userinput>abld build ARMV7 [udeb | urel]</userinput> </p> <p>Binaries are generated in the <filepath>udeb</filepath> and <filepath>urel</filepath> sub-directories of the <filepath>epoc32\release\ARMV7\</filepath> directory for ABI v2. </p> <p> <b>Note:</b> Code is not built for <codeph>ARMV7</codeph> target by default. It has to be explicitly specified on the command line or in the <filepath>BLD.INF</filepath> file using the <codeph>prj_platforms</codeph> statement. </p> </section> </conbody><related-links><link href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita"><linktext>ARMV5 build
-                targets</linktext> </link> <link href="GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita"><linktext>ARMV6 build targets</linktext> </link> <link href="GUID-E48B708E-8B0B-5CF7-80D5-B55966387021.dita"><linktext>GCCE build targets</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9169062F-3B6D-544C-847C-BA859DAB33B9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9169062F-3B6D-544C-847C-BA859DAB33B9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -52,7 +52,7 @@
 to the server. </p>
 <p>The following diagram illustrates this: </p>
 <fig id="GUID-97810C53-3BF6-5ECF-B413-86EEE99E68DA">
-<image href="GUID-08E31D57-A84D-5B6B-B16F-3F7025A763E9_d0e338593_href.png" placement="inline"/>
+<image href="GUID-08E31D57-A84D-5B6B-B16F-3F7025A763E9_d0e344565_href.png" placement="inline"/>
 <p>Sending messages asynchronously to the server</p>
 </fig>
 <p>A server can support multiple connections from a client in a number of
Binary file Symbian3/PDK/Source/GUID-9173EEBA-CC84-51D9-9C8D-A75F7F494D62_d0e379850_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9173EEBA-CC84-51D9-9C8D-A75F7F494D62_d0e385703_href.png has changed
--- a/Symbian3/PDK/Source/GUID-917413FC-0AC0-5768-B5AD-36BD2EDCB1FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-917413FC-0AC0-5768-B5AD-36BD2EDCB1FF"><title>How to build feature-based variants</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A feature-based variant defines features to which a DLL is sensitive. To build a DLL for a variant configuration of ARMV5, perform the steps outlined below: </p> <ol id="GUID-1A5FE282-FB0A-55BC-956D-982C35CF4573"><li id="GUID-21B59041-10F8-5F4E-B17A-9059DF42510D"><p>Add the <xref href="GUID-6A783365-3CC3-5D7E-9F1C-D3585C4AE66C.dita">FEATUREVARIANT</xref> keyword in the .<filepath>mmp</filepath> file to mark the DLL as a feature variant. </p> </li> <li id="GUID-92CFAF5C-9BCC-5B34-86D3-92AAC30E4EEB"><p>Create a <filepath>.var</filepath> file containing the configuration for the variant. For variant file syntax, refer to <xref href="GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita">variant configuration file syntax</xref>. </p> </li> <li id="GUID-2A3CB5E0-3B70-5C44-93B9-38875A7B8CBD"><p>Place the <filepath>.var</filepath> file in<filepath>
-             /epoc32/tools/variant/</filepath> <varname>variant_name</varname>.var . </p> </li> <li id="GUID-C870EBC3-478F-5A35-BD02-124D4AF38306"><p>Build the DLL for a variant using the <codeph>abld</codeph> command. </p> <p>For example: </p> <codeblock id="GUID-1653B38A-30B9-57A3-BAC8-EFCF89026F85" xml:space="preserve">abld build armv5.myvar</codeblock> </li> </ol> <p>The DLL is built and placed in the <filepath>/epoc32/release/armv5/urel</filepath> folder. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e186238_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e192315_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-91958EA5-9444-5895-B4B8-F2C670B81CD7_d0e378206_href.png has changed
Binary file Symbian3/PDK/Source/GUID-91958EA5-9444-5895-B4B8-F2C670B81CD7_d0e384059_href.png has changed
--- a/Symbian3/PDK/Source/GUID-919B2A27-348D-5280-9BF4-7F63065FDD9B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-919B2A27-348D-5280-9BF4-7F63065FDD9B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-919B2A27-348D-5280-9BF4-7F63065FDD9B"><title>3GP Library Component Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the 3GP Library Component. </p> <section><title>Purpose</title> <p>The 3GP Library Component provides support for the reading (parsing) and writing (composing) of various multimedia container formats. You can use the 3GP Library Component to parse and compose the following file types: </p> <ul><li id="GUID-899AF927-87DA-56BA-898F-E50E0929CA9B"><p>3GP </p> </li> <li id="GUID-252F1781-D689-539E-8D39-CD1AEFAFCF7C"><p>3G2 </p> </li> <li id="GUID-EBCB16CA-9B81-567B-90E6-F971EAF69E80"><p>MP4 </p> </li> </ul> </section> <section><title>Architectural relationships</title> <p>The 3GP Library Component is a standalone component in the Multimedia Plug-ins collection. The following diagram shows the architecture of the 3GP Library Component: </p> <fig id="GUID-802A16F3-BBCE-561D-82D1-C50364DF1FF9"><title>
              3GP Library Component Architecture 
-          </title> <image href="GUID-F7AE615A-DA24-5F88-A505-89962CA43E93_d0e531178_href.png" placement="inline"/></fig> </section> <section><title>Library summary</title> <p>The 3GP Library Component consists of the following libraries: </p> <table id="GUID-3A840D68-D67A-59FF-8036-FC0DB41C7831"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <filepath> 3gplibrary.dll</filepath>  </p> </entry> <entry><p>The Symbian C++ wrapper classes for parsing and composing 3GP, 3G2, and MP4 files. For more information, see <xref href="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita">3GP Library Overview</xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The 3GP Library Component lets you compose and parse 3GP, 3G2, and MP4 files. </p> </section> <section><title>See also</title> <p><xref href="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita"> 3GP Library Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-F7AE615A-DA24-5F88-A505-89962CA43E93_d0e538638_href.png" placement="inline"/></fig> </section> <section><title>Library summary</title> <p>The 3GP Library Component consists of the following libraries: </p> <table id="GUID-3A840D68-D67A-59FF-8036-FC0DB41C7831"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <filepath> 3gplibrary.dll</filepath>  </p> </entry> <entry><p>The Symbian C++ wrapper classes for parsing and composing 3GP, 3G2, and MP4 files. For more information, see <xref href="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita">3GP Library Overview</xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The 3GP Library Component lets you compose and parse 3GP, 3G2, and MP4 files. </p> </section> <section><title>See also</title> <p><xref href="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita"> 3GP Library Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-919E32B1-1316-4B09-B668-E744E78B0B6E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-919E32B1-1316-4B09-B668-E744E78B0B6E" xml:lang="en"><title>Supported
+file types</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This section describes the file types supported by the Media Fetch API
+and the metadata system (MdS).</p>
+<p>The Media Fetch API and the <xref href="GUID-1BCF7ADD-2B1D-4C58-AADB-250101C29620.dita">metadata
+system</xref> support the following types of multimedia items:</p>
+<ul>
+<li><p>Video files</p></li>
+<li><p>Audio files</p></li>
+<li><p>Image files</p></li>
+<li><p>Streaming links</p></li>
+<li><p>Playlist files</p></li>
+</ul>
+<p>The following table describes the supported video files.</p>
+<table id="GUID-1065D769-B1EA-4FD3-82CA-82760BB24921"><title>Supported video
+files</title>
+<tgroup cols="3"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry><p>File extension</p></entry>
+<entry><p>MIME type</p></entry>
+<entry><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>3g2</p></entry>
+<entry><p>video/3gp</p></entry>
+<entry><p>3GP is a multimedia container format that is defined by the Third
+Generation Partnership Project (3GPP) for use on 3G mobile devices but that
+can also be played on some 2G and 4G devices.</p><p>The 3GPP2 standard is
+defined for CDMA-based devices and has the file extension 3g2.</p></entry>
+</row>
+<row>
+<entry><p>3gp</p></entry>
+<entry><p>video/3gp</p></entry>
+<entry><p>The 3GPP standard is defined for GSM-based devices and has the file
+extension 3gp.</p></entry>
+</row>
+<row>
+<entry><p>avi</p></entry>
+<entry><p>video/avi</p></entry>
+<entry><p>Audio video interleave (AVI) is a multimedia container format introduced
+by Microsoft as part of its Video for Windows technology. AVI files can contain
+both audio and video data in a file container that allows synchronous audio-with-video
+playback.</p></entry>
+</row>
+<row>
+<entry><p>flv</p></entry>
+<entry><p>video/x-flv</p></entry>
+<entry><p>Flash video is a file format used to deliver video over the Internet
+using Adobe Flash Player. Flash video content may also be embedded within
+SWF files.</p></entry>
+</row>
+<row>
+<entry><p>m4v</p></entry>
+<entry><p>video/mp4</p></entry>
+<entry><p>M4V is a standard file format for videos for iPod and PlayStation
+Portable devices developed by Apple. It is based on the MPEG-4 Part 2 compression.</p></entry>
+</row>
+<row>
+<entry><p>mp4</p></entry>
+<entry><p>video/mp4</p></entry>
+<entry><p>MPEG-4 is a multimedia container format standard that is most commonly
+used to store digital audio and digital video streams, especially those defined
+by MPEG. It can also be used to store other data such as subtitles and still
+images.</p><p>MPEG-4 files with audio and video generally use the standard
+mp4 extension.</p></entry>
+</row>
+<row>
+<entry><p>mpeg4</p></entry>
+<entry><p>video/mp4</p></entry>
+<entry><p>Another file name extension for MPEG-4 files.</p></entry>
+</row>
+<row>
+<entry><p>mpg4</p></entry>
+<entry><p>video/mp4</p></entry>
+<entry><p>Another file name extension for MPEG-4 files.</p></entry>
+</row>
+<row>
+<entry><p>ram</p></entry>
+<entry><p>video/3gpp</p></entry>
+<entry><p>RealAudio metadata (RAM) is typically a small text file that contains
+a link to the audio stream.</p></entry>
+</row>
+<row>
+<entry><p>rm</p></entry>
+<entry><p>application/vnd.rn-realmedia</p></entry>
+<entry><p>RealMedia is a multimedia container format created by RealNetworks
+that is typically used in conjunction with RealVideo and RealAudio for streaming
+content over the Internet.</p></entry>
+</row>
+<row>
+<entry><p>rmvb</p></entry>
+<entry><p>application/vnd.rn-realmedia-vbr</p></entry>
+<entry><p>RealMedia variable bitrate (RMVB) is a container streaming content
+over the Internet with variable bit rate.</p></entry>
+</row>
+<row>
+<entry><p>rtp</p></entry>
+<entry><p>application/x-nokia-teh-rtp</p></entry>
+<entry><p/></entry>
+</row>
+<row>
+<entry><p>rv</p></entry>
+<entry><p>video/vnd.rn-realvideo</p></entry>
+<entry><p>RealVideo is a proprietary video format developed by RealNetworks
+that is usually paired with RealAudio and packaged in a RealMedia (rm) container. </p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<p>The following table describes the supported audio files.</p>
+<table id="GUID-6CBC4824-63AF-49E4-A8E6-71816BE38E4D"><title>Supported audio
+files</title>
+<tgroup cols="3"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry><p>File extension</p></entry>
+<entry><p>MIME type</p></entry>
+<entry><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>3gp</p></entry>
+<entry><p>audio/3gpp</p></entry>
+<entry><p>The 3GPP standard is defined for GSM-based devices and has the file
+extension 3gp.</p></entry>
+</row>
+<row>
+<entry><p>3gpp</p></entry>
+<entry><p>audio/3gpp</p></entry>
+<entry><p>Another file name extension for 3GPP files.</p></entry>
+</row>
+<row>
+<entry><p>aac</p></entry>
+<entry><p>audio/aac</p></entry>
+<entry><p>Advanced audio coding (AAC) is a standardized, compression and encoding
+scheme for digital audio. Designed to be the successor of the MP3 format,
+AAC generally achieves better sound quality than MP3 at many bit rates.</p></entry>
+</row>
+<row>
+<entry><p>amr</p></entry>
+<entry><p>audio/amr</p></entry>
+<entry><p>A file format for storing spoken audio using the adaptive multi-rate
+(AMR) codec. AMR is a patented audio data compression scheme optimized for
+speech coding.</p></entry>
+</row>
+<row>
+<entry><p>au</p></entry>
+<entry><p>audio/au</p></entry>
+<entry><p>A simple audio file format. </p></entry>
+</row>
+<row>
+<entry><p>awb</p></entry>
+<entry><p>audio/amr-wb</p></entry>
+<entry><p>Adaptive multi-rate – wide band (AMR-WB) is a patented speech coding
+standard developed after the AMR that provides excellent speech quality due
+to wider speech bandwidth.</p></entry>
+</row>
+<row>
+<entry><p>m4a</p></entry>
+<entry><p>audio/mp4</p></entry>
+<entry><p>Audio-only MPEG-4 files generally have an m4a extension. This is
+especially true of non-protected content. </p></entry>
+</row>
+<row>
+<entry><p>mid</p></entry>
+<entry><p>audio/midi</p></entry>
+<entry><p>Musical instrument digital interface (MIDI) is an industry-standard
+protocol that enables electronic musical instruments, such as keyboard controllers,
+computers, and other electronic equipment, to communicate, control, and synchronize
+with each other. </p></entry>
+</row>
+<row>
+<entry><p>midi</p></entry>
+<entry><p>audio/midi</p></entry>
+<entry><p>Another file name extension for MIDI files.</p></entry>
+</row>
+<row>
+<entry><p>mp3</p></entry>
+<entry><p>audio/mpeg</p></entry>
+<entry><p>MPEG-1 audio layer 3, more commonly referred to as MP3, is a patented
+digital audio encoding format using a form of data compression. It is a common
+audio format for consumer audio storage and widely used for digital audio
+compression for the transfer and playback of music on digital audio players.</p></entry>
+</row>
+<row>
+<entry><p>mp4</p></entry>
+<entry><p>audio/mp4</p></entry>
+<entry><p>MPEG-4 files with audio and video generally use the standard mp4
+extension.</p></entry>
+</row>
+<row>
+<entry><p>mxmf</p></entry>
+<entry><p>audio/vnd.nokia.mobile-xmf</p></entry>
+<entry><p>The extensible music format (XMF) is a tree-based digital container
+format used to bundle music-oriented content, such as a MIDI file and optionally
+the sounds it uses, liner notes or other content grouped by language-codes. </p></entry>
+</row>
+<row>
+<entry><p>nrt</p></entry>
+<entry><p>-</p></entry>
+<entry><p>Nokia Ringing Tone.</p></entry>
+</row>
+<row>
+<entry><p>ra</p></entry>
+<entry><p>audio/vnd.rn-realaudio</p></entry>
+<entry><p>RealAudio is a proprietary audio format developed by RealNetworks.
+It uses a variety of audio codecs, ranging from low-bitrate formats that can
+be used over dialup modems, to high-fidelity formats for music.</p></entry>
+</row>
+<row>
+<entry><p>rng</p></entry>
+<entry><p>application/vnd.nokia.ringing-tone</p></entry>
+<entry><p>Nokia Ringing Tone.</p></entry>
+</row>
+<row>
+<entry><p>spmid</p></entry>
+<entry><p>audio/sp-midi</p></entry>
+<entry><p>Scalable polyphony MIDI (SP-MIDI) is a MIDI variant for mobile applications
+where different players may have different numbers of musical voices. SP-MIDI
+is a component of 3GPP.</p></entry>
+</row>
+<row>
+<entry><p>wav</p></entry>
+<entry><p>audio/wav</p></entry>
+<entry><p>Waveform audio format is a Microsoft and IBM audio file format standard
+for storing an audio bit stream on computers.</p></entry>
+</row>
+<row>
+<entry><p>wma</p></entry>
+<entry><p>audio/x-ms-wma</p></entry>
+<entry><p>Windows Media Audio (WMA) is an audio data compression technology
+developed by Microsoft as a part of the Windows Media framework.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<p>The following table describes the supported image files.</p>
+<table id="GUID-346964CB-AD9A-458D-9E00-2745385A387E"><title>Supported image
+files</title>
+<tgroup cols="3"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry><p>File extension</p></entry>
+<entry><p>MIME type</p></entry>
+<entry><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>bmp</p></entry>
+<entry><p>image/bmp</p></entry>
+<entry><p>An image file format used to store digital images.</p></entry>
+</row>
+<row>
+<entry><p>gif</p></entry>
+<entry><p>image/gif</p></entry>
+<entry><p>Graphics interchange format (GIF) is a bitmap image format that
+provides good-quality color images that take up a small amount of space.</p></entry>
+</row>
+<row>
+<entry><p>j2k</p></entry>
+<entry><p>image/jp2</p></entry>
+<entry><p>JPEG 2000 is a wavelet-based image compression standard.</p><p>Files
+that contain JPEG 2000 code stream data for testing purposes might use the
+filename extension j2k.</p></entry>
+</row>
+<row>
+<entry><p>jp2</p></entry>
+<entry><p>image/jp2</p></entry>
+<entry><p>Files that conform to the JPEG 2000 specification, ISO/IEC 15444-1,
+use the standardized filename extension jp2.</p></entry>
+</row>
+<row>
+<entry><p>jpeg</p></entry>
+<entry><p>image/jpeg</p></entry>
+<entry><p>JPEG is a method for compressing photographic images.</p></entry>
+</row>
+<row>
+<entry><p>jpf</p></entry>
+<entry><p>image/jp2</p></entry>
+<entry><p>Another file name extension for JPEG 2000 files.</p></entry>
+</row>
+<row>
+<entry><p>jpg</p></entry>
+<entry><p>image/jpeg</p></entry>
+<entry><p>Another file name extension for JPEG files.</p></entry>
+</row>
+<row>
+<entry><p>jpx</p></entry>
+<entry><p>image/jpx</p></entry>
+<entry><p>Files that conform to the extended part-2 JPEG 2000 specification,
+ISO/IEC 15444-2, use the filename extension jpx.</p></entry>
+</row>
+<row>
+<entry><p>mbm</p></entry>
+<entry><p>image/x-epoc-mbm</p></entry>
+<entry><p>A multi-bitmap is a container for a set of bitmap images. MBM files
+can be used by Symbian applications to store graphical content.</p></entry>
+</row>
+<row>
+<entry><p>ota</p></entry>
+<entry><p>image/vnd.nokia.ota-bitmap</p></entry>
+<entry><p>Over-the-air (OTA) images.</p></entry>
+</row>
+<row>
+<entry><p>png</p></entry>
+<entry><p>image/png</p></entry>
+<entry><p>Portable networking graphics (PNG) is a bit map image format that
+was designed for transferring images on the Internet.</p></entry>
+</row>
+<row>
+<entry><p>tif</p></entry>
+<entry><p>image/tiff</p></entry>
+<entry><p>Tagged image file format (TIFF) is a file format for storing images,
+including photographs and line art.</p></entry>
+</row>
+<row>
+<entry><p>tiff</p></entry>
+<entry><p>image/tiff</p></entry>
+<entry><p>Another file name extension for TIFF files.</p></entry>
+</row>
+<row>
+<entry><p>wbmb</p></entry>
+<entry><p>image/vnd.wap.wbmp</p></entry>
+<entry><p>Wireless bitmap (WBMP) is a monochrome image file format that is
+optimized for mobile devices. </p></entry>
+</row>
+<row>
+<entry><p>wmf</p></entry>
+<entry><p>image/x-wmf</p></entry>
+<entry><p>Windows metafile (WMF) is a graphics file format on Microsoft Windows
+systems that is intended to be portable between applications and may contain
+both vector and bitmap components.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<p>The following table describes the supported streaming links.</p>
+<table id="GUID-EDF212A0-68CC-45BE-9FA4-4B7927654113"><title>Supported streaming
+links</title>
+<tgroup cols="3"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry><p>File extension</p></entry>
+<entry><p>MIME type</p></entry>
+<entry><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>asx</p></entry>
+<entry><p>video/x-ms-asf</p></entry>
+<entry><p>Advanced systems format (ASF) is a Microsoft proprietary digital
+audio and digital video container format, especially meant for streaming media.
+The most common file types contained within an ASF file are Windows media
+audio (WMA) and Windows media video (WMV).</p></entry>
+</row>
+<row>
+<entry><p>sdp</p></entry>
+<entry><p>application/sdp</p></entry>
+<entry><p>Streaming Download Project Multimedia is a source project to allow
+the download of streaming media.</p></entry>
+</row>
+<row>
+<entry><p>ram</p></entry>
+<entry><p>audio/vnd.rn-realaudio</p></entry>
+<entry><p>RealAudio metadata (RAM) is typically a small text file that contains
+a link to the audio stream.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<p>The following table describes the supported playlist files.</p>
+<table id="GUID-3F176A15-488C-470B-B97B-FCC4D36F2CCC"><title>Supported playlist
+files</title>
+<tgroup cols="3"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry><p>File extension</p></entry>
+<entry><p>MIME type</p></entry>
+<entry><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>m3u</p></entry>
+<entry><p>audio/x-mpegurl</p></entry>
+<entry><p>Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator,
+MP3 URL is a computer file format that stores multimedia playlists.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<section id="GUID-1C3B1B9C-508F-42EC-ACBE-53898884810A"><title>See also</title><p><xref href="GUID-A825B62E-B5F6-5FDD-B267-E47103D57FD8.dita">Supported Image Formats Guide</xref></p><p><xref href="GUID-6021BE18-3416-55DF-A628-0071024D7586.dita">Video Renderer Resource File</xref></p><p><xref href="GUID-0A6C8413-8CED-512C-BED8-754D92A44FAC.dita">Querying for Parser Supported
+Formats</xref></p></section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-91BD4E81-4CDC-4279-8E19-5B79A63B838E_d0e16923_href.png has changed
Binary file Symbian3/PDK/Source/GUID-91BD4E81-4CDC-4279-8E19-5B79A63B838E_d0e17222_href.png has changed
Binary file Symbian3/PDK/Source/GUID-91D598C7-1420-5C7C-A440-95F679F38F6D_d0e450058_href.png has changed
Binary file Symbian3/PDK/Source/GUID-91D598C7-1420-5C7C-A440-95F679F38F6D_d0e455903_href.png has changed
--- a/Symbian3/PDK/Source/GUID-91F95D0C-E4CF-510E-B280-E27F89274ACE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-91F95D0C-E4CF-510E-B280-E27F89274ACE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -658,7 +658,7 @@
 In figure 1 both Client 1 and Client 2 receive status <codeph>KErrServerBusy</codeph>. </p> <fig id="GUID-DCD0CDE1-EA45-53D3-A2DE-F38786408881">
 <title>                      Figure 1. Processing of two SET initiated requests
 from                      different clients.                    </title>
-<image href="GUID-09EFBBDE-780D-5A16-8E3B-78DEFF1F8938_d0e453895_href.png" placement="inline"/>
+<image href="GUID-09EFBBDE-780D-5A16-8E3B-78DEFF1F8938_d0e459740_href.png" placement="inline"/>
 </fig> <p> <i>Making a location request after receiving KErrServerBusy</i>  </p> <p>A
 client that receives the error <codeph>KErrServerBusy</codeph> will usually
 want to make the request again to obtain a position update. </p> <p>In many
--- a/Symbian3/PDK/Source/GUID-92018B6B-3CBB-434D-9E61-F271C67E98E3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-92018B6B-3CBB-434D-9E61-F271C67E98E3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 holds the stylus down on the screen at the same point for a long time.</p>
 <fig id="GUID-1E6C16F9-51AA-45CC-8E50-AB5E51DB9E4E">
 <title>Long-tap event used for opening a stylus pop-up menu</title>
-<image href="GUID-78989363-A405-4A1D-8F13-DC52FE6FAD80_d0e103515_href.png" scale="40" placement="inline"/>
+<image href="GUID-78989363-A405-4A1D-8F13-DC52FE6FAD80_d0e107535_href.png" scale="40" placement="inline"/>
 </fig>
 <p>The Touch UI utilities API can be used in all GUI applications. It is a
 library API that provides an interface for constructing and using the long-tap
Binary file Symbian3/PDK/Source/GUID-92067BE3-40F0-4652-A882-FFDE2816C9BD_d0e100108_href.png has changed
Binary file Symbian3/PDK/Source/GUID-92067BE3-40F0-4652-A882-FFDE2816C9BD_d0e104193_href.png has changed
Binary file Symbian3/PDK/Source/GUID-921AF7A3-C711-5979-877B-4B6D977888E8_d0e285569_href.png has changed
Binary file Symbian3/PDK/Source/GUID-921AF7A3-C711-5979-877B-4B6D977888E8_d0e291561_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9237136D-3045-5FFE-A39D-FC8CC9666B19.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9237136D-3045-5FFE-A39D-FC8CC9666B19.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 Tests Collection</title><shortdesc>The Graphics API Tests collection contains two test suites. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-8A081FBC-E7D0-45D3-99A6-1259829B70C2">
 <title>Graphics API Tests Collection</title>
-<image href="GUID-4261EFB2-C587-4E6A-8B3F-A8181177AF40_d0e251603_href.png" placement="inline"/>
+<image href="GUID-4261EFB2-C587-4E6A-8B3F-A8181177AF40_d0e257614_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
Binary file Symbian3/PDK/Source/GUID-924576EE-A016-4689-8B63-E8176063E1E6-master.png has changed
Binary file Symbian3/PDK/Source/GUID-924576EE-A016-4689-8B63-E8176063E1E6_d0e95759_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-92459911-6FD1-47D7-8FBD-63BB43106757.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-92459911-6FD1-47D7-8FBD-63BB43106757" xml:lang="en"><title>Installing an installer</title><shortdesc>The Software Installation Framework (SIF) enables you to
+create installers for installing software. An installer is generally
+made up of an install server and plug-in. The plug-in encapsulates
+the logic for the management of the software type and the install
+server performs the installation whenever there is a request from
+SIF. Installers can be In-ROM (pre-provisioned in the device during
+device creation) or Post-Market (installed and registered using USIF
+after the device is shipped).</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-4-1-4-1-4-1-3-1">
+<step id="GUID-98FE9F77-6B47-489D-99B1-51FAA5575015"><cmd>To register
+the installer with USIF:</cmd>
+<substeps id="GUID-AE447EC5-5254-4819-991D-18E54BA09206">
+<substep id="GUID-58F469FB-4511-40BC-9DA0-B71CC2E3D0B5"><cmd>For In-ROM
+Installers, the developer must inform the AppInstall Package Owner
+about the installer details to be configured. For more details, refer<xref href="http://developer.symbian.org/main/source/packages/appinstall" scope="external">Application Installation</xref> </cmd>
+<info><p>The installer registration details that must be delivered
+to the AppInstall team are <ul id="599B1032-5CD0-4577-9DDA-B754DB4340BA">
+<li><p>unique software type name (such as ”native”, “java”)</p></li>
+<li><p>Sif plug-in uid ( ECom implementation ID)</p></li>
+<li><p> launcher executable (native executable to be used by apparc
+to launch non-native applications of given type)</p></li>
+<li><p>custom access secure Id(s)</p></li>
+<li><p>MIME Type(s)</p></li>
+<li><p>localized software type names (optional)</p></li>
+</ul></p></info>
+</substep>
+<substep id="GUID-4C83506C-C334-420E-92BF-84EA613098D0"><cmd>For Post-Market
+Installers, the <xref href="GUID-92459911-6FD1-47D7-8FBD-63BB43106757.dita#GUID-92459911-6FD1-47D7-8FBD-63BB43106757/599B1032-5CD0-4577-9DDA-B754DB4340BA">installer details</xref> must be configured using a
+Software Type Registration file. This is a<filepath>.xml</filepath> file. The file must be a part of the installer SIS package. For
+example, if the package UID is  0x77534946, the Software Type Registration
+file must be copied to <filepath>\resource\usif\leestore\77534946.xml</filepath> using the installer package.</cmd>
+<info><p>A sample Software Type Registration file is described below.</p><codeblock xml:space="preserve">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!DOCTYPE LayeredExecutionEnvironments SYSTEM "swtype.dtd"&gt;
+&lt;LayeredExecutionEnvironments&gt;
+&lt;softwareType name="native"&gt;
+&lt;localizedName language="15"&gt;testSwTypeLoc15&lt;/localizedName&gt;
+&lt;localizedName language="31"&gt;testSwTypeLoc31&lt;/localizedName&gt;
+&lt;mimeType&gt;binary/sif-testpkg&lt;/mimeType&gt;
+&lt;sifPluginUid&gt;102866EF&lt;/sifPluginUid&gt;
+&lt;CustomAcess SecureId="10285BCB" AccessMode="1"/&gt;
+&lt;CustomAcess SecureId="80285DE0" AccessMode="1"/&gt;
+&lt;launcherExecutable&gt;testLauncherExecutable&lt;/launcherExecutable&gt;
+&lt;/softwareType&gt;
+&lt;/LayeredExecutionEnvironments&gt;</codeblock></info>
+<info><p>For more details about the install server and the plug-in,
+refer to <xref href="GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977.dita">Creating
+an Installer</xref>.</p></info>
+</substep>
+</substeps>
+</step>
+</steps>
+</taskbody></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-924E26D6-8B9D-5C76-AF61-7C5514BB3D78_d0e317425_href.png has changed
Binary file Symbian3/PDK/Source/GUID-924E26D6-8B9D-5C76-AF61-7C5514BB3D78_d0e323415_href.png has changed
--- a/Symbian3/PDK/Source/GUID-92966ADC-17CF-5411-A829-1201C182B59F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-92966ADC-17CF-5411-A829-1201C182B59F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -133,9 +133,8 @@
 been read successfully. </p> </li>
 </ol> </section>
 <section id="GUID-67006F52-C18C-576E-B645-20AE6CCD61C4"><title>Building
-and running</title> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build
-process</xref> describes how to build an application. </p> <p>The <codeph>ETel3rdPartyExample</codeph> builds the following executables in
-the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior): </p> <ul>
+and running</title> <p> The Symbian build process describes how to
+build an application. </p> <p>The <codeph>ETel3rdPartyExample</codeph> builds the following executables in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior): </p> <ul>
 <li id="GUID-443AF336-E3B4-507E-9A13-A6AB7912B79F"><p> <filepath> phoneid.exe</filepath>  </p> </li>
 <li id="GUID-DAB579A4-B8D2-570E-BD25-5C5F9F5B90B5"><p> <filepath>phonemonitor.exe</filepath>  </p> </li>
 <li id="GUID-243981B3-581D-5716-AA4E-44FA6392E7D4"><p> <filepath>networkinformation.exe</filepath>  </p> </li>
--- a/Symbian3/PDK/Source/GUID-92AD13DF-216A-4B5A-9C6D-5FA50BB0D692.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-92AD13DF-216A-4B5A-9C6D-5FA50BB0D692.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 you to adjust the coordinate system to match the changed system characteristics.</p><fig id="GUID-CB810DA3-6532-47DF-878E-A0D8A07ACC7C">
 <title>Example to illustrate adjustment of the coordinate system due to device
 orientation change</title>
-<image href="GUID-24B8686D-727A-47A8-B01D-1BA1FBC8F771_d0e165375_href.png" placement="inline"/>
+<image href="GUID-24B8686D-727A-47A8-B01D-1BA1FBC8F771_d0e171468_href.png" placement="inline"/>
 </fig><p>To convert the sensor data to the compensated values, the adjustment
 values (for example, interchanged x-axis with y-axis) for each device state
 that the compensation is applied to, must be configured and taken as an input
@@ -36,7 +36,7 @@
 <title>Correcting the coordinate system of a Symbian device</title>
 <desc>The figure depicts the correction of coordinate system in the Symbian
 device</desc>
-<image href="GUID-BF822A89-F932-400F-82FC-FB998B768EBF_d0e165387_href.png" placement="inline"/>
+<image href="GUID-BF822A89-F932-400F-82FC-FB998B768EBF_d0e171480_href.png" placement="inline"/>
 </fig><p>The following example explains how the sensor data compensation works,
 by illustrating the behavior of maps application of the Symbian device when
 the keyboard is in opened and closed state. </p><table id="GUID-6CF1E7CE-0076-415F-BF6A-E92034B6F6D4">
--- a/Symbian3/PDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,76 +1,59 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD" xml:lang="en">
-<title>Enabling Multi<?Pub Caret?>ple Pointers in the Emulator Tutorial</title>
-<shortdesc>This topic describes how to configure the Symbian emulator
-to enable a multiple pointer environment. </shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p><b>Variant</b>: <xref
-href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
->. <b>Target audience</b>: Application developers. </p>
-<p>This topic builds on <xref
-href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita">Support for
-Multiple Pointers in the Emulator Overview</xref>.</p>
-<section id="GUID-4F4F8E71-517D-4C5D-96A4-BB17CD49FD4C">       <title
->Configuring the emulator</title> <p>Make sure that two or more mice
-are plugged in and detected on the Windows PC on which the emulator
-will run.  The number of detected mice can be from two up to the maximum
-number defined in the HAL <codeph>HALData::EPointerMaxPointers</codeph
-> attribute. </p><ol>
-<li id="GUID-63F317A2-E4EA-48BD-8F2B-40B54BF35EC6"><p>Add the following
-lines to the <filepath>\epoc32\data\epoc.ini</filepath> file. These
-lines enable ScreenPlay and multiple pointers.</p><codeblock
-xml:space="preserve">SYMBIAN_BASE_USE_GCE ON
-EnableMultiTouch ON</codeblock></li>
-<li id="GUID-CA823DAB-C8C4-4E09-8491-0C0BCD57BAE4"><p>Specify the <codeph
->MultiTouchProximityStep</codeph> and <codeph>MultiTouchPressureStep</codeph
-> values in the <filepath>\epoc32\data\epoc.ini</filepath> file to
-define the proximity and pressure steps.</p><codeblock
-xml:space="preserve">MultiTouchProximityStep 10
-MultiTouchPressureStep 200
-</codeblock><p>If the above two options are not defined in the <filepath
->epoc.ini</filepath> file, the default proximity and pressure steps
-are taken from the following HAL attributes.</p><codeblock
-xml:space="preserve">HALData::EPointer3DProximityStep
-HALData::EPointer3DPressureStep</codeblock></li>
-</ol><p><b>Result</b>: Launch the emulator to verify that the mice
-are detected and displayed inside the application window area. When
-you move a mouse or scroll the mouse wheel, its X, Y and Z values
-are reflected in the status bar.</p>     </section>
-<section
-id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-14-1-1-9-1-6-1-6-1-9-1-9-1-8-1-6-1-3-4"
->       <title>Enabling and disabling multiple pointers</title><p
->Multiple pointers are only required by UI applications. Therefore,
-they are enabled inside the orange rectangular area shown on the following
-diagram. Inside the area two Windows pointers are displayed. The one
-numbered zero is the system pointer and the other is used only for
-emulating touch with two fingers. The first mouse to report events
-to the emulator is automatically taken as the primary mouse, which
-owns the Windows system pointer.</p><fig
-id="GUID-C62E31A2-65F8-4976-A3A9-058BFE3D30D3">
-<title>Multiple pointer area</title>
-<image
-href="GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e241381_href.png"
-placement="inline"></image></fig><p><b>System pointer</b>. Once the
-system pointer moves outside the multiple pointer area, multiple pointers
-are temporarily disabled and standard emulator pointer behavior is
-resumed. This means that only one Windows system pointer is displayed
-and it is controlled by both mice.</p>     <p><b>Non-system pointer</b
->. If the non-system pointer moves out of the multiple pointer area,
-the pointer just disappears from the screen. Disabling multiple pointers
-is then not necessary because the system pointer behaves normally
-inside the multiple pointer area. Moving the non-system pointer back
-into the area makes it reappear on the screen.</p>     </section>
-</conbody>
-<related-links>
-<link href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita"><linktext
->Support for Multiple Pointers in the Emulator Overview</linktext>
-</link>
-</related-links>
-</concept>
-<?Pub *0000004067?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD" xml:lang="en"><title>Enabling Multiple Pointers in the Emulator Tutorial</title><shortdesc>This topic describes how to configure the Symbian emulator
+to enable a multiple pointer environment. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p>
+<p>This topic builds on <xref href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita">Support for Multiple
+Pointers in the Emulator Overview</xref>.</p>
+<section id="GUID-4F4F8E71-517D-4C5D-96A4-BB17CD49FD4C">       <title>Configuring the emulator</title> <p>Make sure that two or more mice
+are plugged in and detected on the Windows PC on which the emulator
+will run.  The number of detected mice can be from two up to the maximum
+number defined in the HAL <codeph>HALData::EPointerMaxPointers</codeph> attribute. </p><ol>
+<li id="GUID-63F317A2-E4EA-48BD-8F2B-40B54BF35EC6"><p>Add the following
+lines to the <filepath>\epoc32\data\epoc.ini</filepath> file. These
+lines enable ScreenPlay and multiple pointers.</p><codeblock xml:space="preserve">SYMBIAN_BASE_USE_GCE ON
+EnableMultiTouch ON</codeblock></li>
+<li id="GUID-CA823DAB-C8C4-4E09-8491-0C0BCD57BAE4"><p>Specify the <codeph>MultiTouchProximityStep</codeph> and <codeph>MultiTouchPressureStep</codeph> values in the <filepath>\epoc32\data\epoc.ini</filepath> file to
+define the proximity and pressure steps.</p><codeblock xml:space="preserve">MultiTouchProximityStep 10
+MultiTouchPressureStep 200
+</codeblock><p>If the above two options are not defined in the <filepath>epoc.ini</filepath> file, the default proximity and pressure steps
+are taken from the following HAL attributes.</p><codeblock xml:space="preserve">HALData::EPointer3DProximityStep
+HALData::EPointer3DPressureStep</codeblock></li>
+</ol><p><b>Result</b>: Launch the emulator to verify that the mice
+are detected and displayed inside the application window area. When
+you move a mouse or scroll the mouse wheel, its X, Y and Z values
+are reflected in the status bar.</p>     </section>
+<section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-15-1-1-9-1-6-1-6-1-9-1-9-1-8-1-6-1-3-4">       <title>Enabling and disabling multiple pointers</title><p>Multiple pointers
+are only required by UI applications. Therefore, multiple pointers
+are enabled inside the orange rectangular area shown on the following
+diagram. Inside the area two Windows pointers are displayed. The one
+numbered zero is the system pointer and the other is used only for
+emulating touch with two fingers. The first mouse to report events
+to the emulator is automatically taken as the primary mouse, which
+owns the Windows system pointer.</p><fig id="GUID-C62E31A2-65F8-4976-A3A9-058BFE3D30D3">
+<title>Multiple pointer area</title>
+<image href="GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e247389_href.png" placement="inline"/>
+</fig><p><b>System pointer</b>. Once the system pointer moves outside
+multiple pointer area, multiple pointers are temporarily disabled
+and standard emulator pointer behavior is resumed. This means that
+only one Windows system pointer is displayed and it is controlled
+by both mice.</p>     <p><b>Non-system pointer</b>. If the non-system
+pointer moves out of the multiple pointer area, the pointer just disappears
+from the screen. Disabling multiple pointers is then not necessary
+because the system pointer behaves normally inside the multiple pointer
+area. Moving the non-system pointer back into the area makes it reappear
+on the screen.</p>     </section>
+</conbody><related-links>
+<link href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita"><linktext>Support
+for Multiple Pointers in the Emulator Overview</linktext>
+</link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-93221B70-EB36-5E8E-AE23-700988D5DACB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-93221B70-EB36-5E8E-AE23-700988D5DACB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -68,7 +68,7 @@
 <li id="GUID-3E49A078-6147-5BFB-80DF-AF54719FA114"><p> <xref href="GUID-5140B381-D44F-365F-9ABF-80E7FCC89F70.dita"><apiname>IgnoreNewCarrier()</apiname></xref>  </p> </li>
 </ul> <fig id="GUID-799574C2-A9EC-5CDB-8F8A-E972D8FD0F17">
 <title>                 Bearer plug-in class diagram              </title>
-<image href="GUID-66772A42-2326-5250-9411-4C65534FB5D2_d0e473678_href.png" placement="inline"/>
+<image href="GUID-66772A42-2326-5250-9411-4C65534FB5D2_d0e479514_href.png" placement="inline"/>
 </fig> </section>
 <section><title>See also</title> <ul>
 <li id="GUID-C7A0B45B-FD6B-587D-AEF9-8286808611CE"><p>For tasks on notifications
--- a/Symbian3/PDK/Source/GUID-9348D79B-D4BF-50B0-B787-DDA2765CE058.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9348D79B-D4BF-50B0-B787-DDA2765CE058.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-9348D79B-D4BF-50B0-B787-DDA2765CE058"><title>LBS administration service overview</title><shortdesc>This document describes the LBS administration service and the API that it supports. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes the LBS administration service and the LBS Administration API which client applications use to get and set LBS administration settings. </p> </section> <section><title>Introduction</title> <p>The LBS administration service allows client applications to get and set LBS administration settings. The service also allows applications to receive notification when administration settings are changed. Client applications use the service via the LBS Administration API. </p> <p>Typical clients of the API are: </p> <ul><li id="GUID-7B6BF336-D68F-53AE-94D2-AF143275B315"><p>'Control panel' type applications that get and set LBS administration settings to configure LBS behaviour </p> </li> <li id="GUID-DD520CFD-5337-509E-BDF6-09ED9F83F92F"><p>UI status bar components that display information about the status of LBS settings </p> </li> </ul> <p>The LBS Administration API is packaged in <filepath>lbsadmin.dll</filepath>. Client applications include <filepath>lbsadmin.h</filepath> and link against <filepath>lbsadmin.lib</filepath>. To set administration settings, an application must have the capability <i>WriteDeviceData</i>. No capabilities are required to read LBS administration settings. </p> </section> <section><title>Key concepts</title> <p><b>LBS administration settings </b> </p> <p>The administration settings that configure LBS. They can be modified at runtime through the LBS Administration API by applications with the <i>WriteDeviceData</i> capability. LBS administration settings are stored in the central repository. </p> <p><b>LBS administration repository initialisation file </b> </p> <p>Default values for LBS administration settings are defined in a repository initialisation file. The contents of the initialisation file can be set by Symbian licensees as part of the platform build and configuration process. The initialisation file is used to create a central repository at build time. The file cannot be modified at runtime. </p> <p>Initially the central repository contains the default LBS administration settings values as defined in the repository initialisation file. The repository persists any changes to settings values made at runtime through the LBS Administration API. The API can also be used to revert the central repository to the default values in the initialisation file. </p> <p>See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">LBS Administration Repository Initialisation File</xref> for more details. </p> <p><b>LBS administration settings categories </b> </p> <p>LBS administration settings are classified into the following categories: </p> <ul><li id="GUID-FA145B6B-735C-5DFE-B106-D0BB39AFEDF2"><p>Activation/deactivation of the different types of location request: Mobile Originated Location Requests (MO-LR), Mobile Terminated Location Requests (MT-LR) and Transfer Location to 3rd Party Requests (X3P) </p> </li> <li id="GUID-0C28ED50-E877-5F6A-B1BD-2ACEA643E48B"><p>Quality profiles for MO-LR, MT-LR and X3P </p> </li> <li id="GUID-391DBE40-6509-55AB-9FC5-9A50066F1B5C"><p>The mode of operation of GPS </p> </li> <li id="GUID-D1B57EE1-AB87-57C2-9C0B-340A7C21F2DE"><p>The network protocol module and how it is loaded by the LBS subsystem </p> </li> <li id="GUID-7473CE45-5CD2-5C17-AEDE-5602DA9ED54A"><p>Use of Privacy Notifiers or a Privacy Controller for privacy requests and the default action to take on timeout of a privacy request </p> </li> <li id="GUID-5AF0326D-88C1-5E79-9D5A-FC76102460B2"><p>The maximum number of privacy requests that can be handled simultaneously by the LBS subsystem </p> </li> <li id="GUID-BB172EBF-F849-57E0-ACEB-E061C2C97BD0"><p>Specification of the GPS set clock module and whether manual or automatic updates to the system clock are allowed </p> </li> <li id="GUID-61C043C5-5137-51A5-944E-4B8F08934046"><p>A setting to turn logging on or off in the LBS subsystem </p> </li> <li id="GUID-57A439F2-397C-5615-8FE1-156DDBBBB67C"><p>'Special feature' settings (see below) </p> </li> </ul> <p><b>Special feature settings </b> </p> <p>A set of read-only 'special feature' administration settings allows configuration of LBS runtime behaviour by Symbian licensees. These settings must be configured in the LBS administration repository initialisation file and cannot be set at runtime via the LBS Administration API. </p> <p>There are several special feature settings which define: </p> <ul><li id="GUID-3BDAF0E5-0FFE-57DE-B32D-357530CCB18B"><p>The time to buffer position updates and error codes in LBS when there is no current <codeph>RPositioner::NotifyPositionUpdate()</codeph>  </p> </li> <li id="GUID-5A14530C-2646-541B-9E90-2734E4ABEDE8"><p>The values of <codeph>TPositionInfo::PositionMode()</codeph> for final network positions </p> </li> <li id="GUID-BB86DC8E-F3AE-5559-BE45-7E0FD713C891"><p>Whether inaccurate positions should be returned to client applications </p> </li> <li id="GUID-E3A06FB5-B7FE-58D7-8420-D0874CAA2230"><p>Whether reference positions should be returned to client applications </p> </li> <li id="GUID-38803149-8FE7-5E9A-BDE8-A3B218652732"><p>How "futile" updates from a licensee's A-GPS Integration Module are handled </p> </li> </ul> <p>See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita#GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD/GUID-FC73F710-36C2-5805-9EE9-6E9C55BE9655">Special feature settings</xref> for more information. </p> </section> <section><title>API summary</title> <p>Client applications use the LBS administration service via the LBS Administration API. </p> <p>The API is defined by the following header files: </p> <table id="GUID-89C9C409-B64D-5397-81AF-B1DF364F9882"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Header file</entry> <entry>Purpose</entry> </row> </thead> <tbody><row><entry><p> <filepath>lbsadmin.h</filepath>  </p> </entry> <entry><p>Class declarations for main class <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> and <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>. </p> </entry> </row> <row><entry><p> <filepath>lbsadminsettings.h</filepath>  </p> </entry> <entry><p>Defines the constants that uniquely identify the different types of LBS settings. </p> </entry> </row> <row><entry><p> <filepath> lbsadmindatatypes.h</filepath>  </p> </entry> <entry><p>Defines datatypes used to assign values to LBS settings. </p> </entry> </row> <row><entry><p> <filepath>lbsadminclasstypes.h</filepath>  </p> </entry> <entry><p>Defines a base class that defines the class type of a <xref href="GUID-8E3D9627-2478-33F7-8A7C-974EF56CBDE2.dita"><apiname>TLbsAdminInfoBase</apiname></xref> object (for future use). </p> </entry> </row> </tbody> </tgroup> </table> <p>Applications include <filepath>lbsadmin.h</filepath> which includes the other header files. </p> <p>The API defines two main classes, shown in figure 1: </p> <ul><li id="GUID-C2456081-AA2A-5C39-8974-CB7BDAFB0647"><p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref>  </p> <p>Applications use <codeph>CLbsAdmin</codeph> to get and set administration settings and to register for notification of administration settings changes. </p> </li> <li id="GUID-4324FCF4-A00E-530E-8AF2-8F8DCE00DBD8"><p> <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>  </p> <p>Applications use an object derived from <codeph>MLbsAdminObserver</codeph> to receive notification of changes to administration settings. </p> </li> </ul> <fig id="GUID-065EDB7E-FAE2-5E00-8489-15B12805C765"><title>
              Figure 1. LBS Administration API classes 
-          </title> <image href="GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e439103_href.png" placement="inline"/></fig> <p><b>CLbsAdmin </b> </p> <p>Applications use <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> for the following: </p> <ul><li id="GUID-4E568BB2-C780-5BFD-B191-8A225732D12B"><p>Accessing LBS administration settings </p> </li> <li id="GUID-72010A8E-ED7C-593C-B9FD-AC475CD18A07"><p>Resetting administration settings to the default </p> </li> <li id="GUID-C6CA864B-7289-5DFD-96BE-4A7305CD1B74"><p>Receiving notification of administration settings changes </p> </li> </ul> <p>Each of these uses is described in the following sections. </p> <p><b>Accessing LBS administration settings </b> </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname>CLbsAdmin::Get()</apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> get and set LBS administration settings. </p> <p>The full signatures of <codeph>CLbsAdmin::Get()</codeph> and <codeph>CLbsAdmin::Set() </codeph> are as follows: </p> <ul><li id="GUID-43941604-A4DE-51EE-B83F-72EA49B7AAC9"><p> <codeph>template &lt;typename T&gt; inline TInt Set(const
+          </title> <image href="GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e444948_href.png" placement="inline"/></fig> <p><b>CLbsAdmin </b> </p> <p>Applications use <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> for the following: </p> <ul><li id="GUID-4E568BB2-C780-5BFD-B191-8A225732D12B"><p>Accessing LBS administration settings </p> </li> <li id="GUID-72010A8E-ED7C-593C-B9FD-AC475CD18A07"><p>Resetting administration settings to the default </p> </li> <li id="GUID-C6CA864B-7289-5DFD-96BE-4A7305CD1B74"><p>Receiving notification of administration settings changes </p> </li> </ul> <p>Each of these uses is described in the following sections. </p> <p><b>Accessing LBS administration settings </b> </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname>CLbsAdmin::Get()</apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> get and set LBS administration settings. </p> <p>The full signatures of <codeph>CLbsAdmin::Get()</codeph> and <codeph>CLbsAdmin::Set() </codeph> are as follows: </p> <ul><li id="GUID-43941604-A4DE-51EE-B83F-72EA49B7AAC9"><p> <codeph>template &lt;typename T&gt; inline TInt Set(const
                 TLbsAdminSetting&amp; aSetting, const T&amp; aValue);</codeph>  </p> </li> <li id="GUID-89A994C1-897F-5195-9112-F003837154E7"><p> <codeph>template &lt;typename T&gt; inline TInt Get(const
                 TLbsAdminSetting&amp; aSetting, T&amp; aValue) const;</codeph>  </p> </li> </ul> <p>The use of template methods allows the interface of <codeph>CLbsAdmin</codeph> to be simplified: all administration settings are queried and modified by use of the same <codeph>Get()</codeph> and <codeph>Set()</codeph> methods. </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname> CLbsAdmin::Get() </apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> take two parameters: </p> <ul><li id="GUID-9BA0BD1A-EDDE-5053-9C39-7EB28D3E2688"><p>A constant of type <xref href="GUID-D3A66A2E-612A-393A-A5ED-9BB5A92930AE.dita"><apiname>TLbsAdminSetting</apiname></xref> that specifies the administration setting that is set or returned. <codeph>TLbsAdminSetting</codeph> constants are defined in <filepath>lbsadminsettings.h</filepath>. </p> </li> <li id="GUID-26C87FF9-0965-56A5-B640-0925FEDB4C64"><p>A reference to hold the value of the administration setting to be set or returned. Many administration setting values are defined by a set of enumerated types defined in <filepath>lbsadmindatatypes.h</filepath>. </p> </li> </ul> <p>The following list describes the purpose of each of the LBS administration settings defined by the <codeph>TLbsAdminSetting</codeph> constants: </p> <ul><li id="GUID-C4B9F251-E549-5054-B13B-E2AA8B582B4C"><p> <codeph>KLbsSettingHomeSelfLocate</codeph>  </p> <p>Purpose: Configures self location requests (MO-LR) in the home network. This setting turns self location requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F3E58804-AAEE-32A6-A3C8-9868C9C8283C"><apiname>CLbsAdmin::TSelfLocateService</apiname></xref>  </p> </li> <li id="GUID-3AC62BB7-228D-5FC9-B29A-10B0B27E834D"><p> <codeph>KLbsSettingRoamingSelfLocate</codeph>  </p> <p>Purpose: Configures self location requests (MO-LR) when roaming. This setting turns self location requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F3E58804-AAEE-32A6-A3C8-9868C9C8283C"><apiname>CLbsAdmin::TSelfLocateService</apiname></xref>  </p> </li> <li id="GUID-3F546D65-D80A-5F4A-8B5F-F1EB9E9A4EB7"><p> <codeph>KLbsSettingHomeExternalLocate</codeph>  </p> <p>Purpose: Configures external location requests (MT-LR) in the home network. This setting turns external location requests on or off. It also defines if user permission for external requests should always be obtained when external locate is on, and if the user should always be notified of rejected external location requests when external locate is off. </p> <p> <i>Note that the value of this setting does not affect emergency services location requests (Emergency MT-LR) which are always accepted.</i>  </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-74AF5A08-F6D9-36F7-A904-710C18248569"><apiname>CLbsAdmin::TExternalLocateService</apiname></xref>. The value <codeph>EExternalLocateOnButAlwaysVerify</codeph> must not be used with the Network Privacy API as a privacy verification response cannot be returned for a <i>privacy notification</i> that was sent using this API. </p> </li> <li id="GUID-108A1563-A4A2-5EA6-96C7-AD8F9633531B"><p> <codeph>KLbsSettingRoamingExternalLocate</codeph>  </p> <p>Purpose: Configures external location requests (MT-LR) when roaming. See <codeph>KLbsSettingHomeExternalLocate</codeph> above. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-74AF5A08-F6D9-36F7-A904-710C18248569"><apiname>CLbsAdmin::TExternalLocateService</apiname></xref>. See <codeph>KLbsSettingHomeExternalLocate</codeph> above. </p> </li> <li id="GUID-82D067DC-4822-57B8-89B8-8127456DD2AC"><p> <codeph>KLbsSettingHomeTransmitLocate</codeph>  </p> <p>Purpose: Configures transmit to third party location requests (X3P) in the home network. This setting turns transmit to third party requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9FF8B24A-5254-34A3-8626-9BFCF5440158"><apiname>CLbsAdmin::TTransmitLocateService</apiname></xref>  </p> </li> <li id="GUID-180A8ED6-7C43-538F-8DE6-13444F950D65"><p> <codeph>KLbsSettingRoamingTransmitLocate</codeph>  </p> <p>Purpose: Configures transmit to third party location requests (X3P) when roaming. This setting turns transmit to third party requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9FF8B24A-5254-34A3-8626-9BFCF5440158"><apiname>CLbsAdmin::TTransmitLocateService</apiname></xref>  </p> </li> <li id="GUID-1D244F95-2F3A-5A9B-9447-E96929E3A5FF"><p> <codeph>KLbsSettingQualityProfileSelfLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for MO-LR. This setting specifies a quality profile <codeph>ProfileID</codeph> for self location requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> <li id="GUID-254EFED2-C1D6-56C0-A6CE-4BDF7C661F8D"><p> <codeph>KLbsSettingQualityProfileExternalLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for MT-LR. This setting specifies a quality profile <codeph>ProfileID</codeph> for external location requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>. A value of <xref href="GUID-669E6305-674F-3750-B5B3-89255C0DA488.dita"><apiname>KLbsNoProfileInUseQualityProfileId</apiname></xref> means that a profile is not used when <codeph>KSettingLbsBehaviourMode</codeph> is set to <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-08A89E2A-6247-360C-9226-CBBCE13D4BE8"><apiname>CLbsAdmin::ELbsBehaviourModeOriginal</apiname></xref>. LBS uses quality criteria received as part of the external locate request. </p> </li> <li id="GUID-B554EC69-6172-59B9-812C-1DA6675121A9"><p> <codeph>KLbsSettingHomeTransmitLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for X3P. This setting specifies a quality profile <codeph>ProfileID</codeph> for transmit to third party requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> <li id="GUID-A19095F6-640C-5271-BD55-89139D7D7E37"><p> <codeph>KLbsSettingHomeGpsMode</codeph>  </p> <p>Purpose: Configures the GPS mode in the home network. This setting specifies how LBS uses GPS to obtain a position fix. Note that this is the default setting. The network can override this setting as part of a location request. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>  </p> </li> <li id="GUID-0B21A0FD-9373-5379-9D30-C729062706BD"><p> <codeph>KLbsSettingRoamingGpsMode</codeph>  </p> <p>Purpose: Configures the GPS mode when roaming. See <codeph>KLbsSettingHomeGpsMode</codeph> above. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>  </p> </li> <li id="GUID-A15CF1A9-E154-5515-96E3-858774E47AA9"><p> <codeph>KLbsSettingHomeProtocolModule</codeph>  </p> <p>Purpose: Specifies the UID of the Network Protocol Module to use in the home network. </p> <p>Values: Defined by <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref>  </p> </li> <li id="GUID-4DA64DC1-B687-5B33-BAF4-AFD3CCBD7DD5"><p> <codeph>KLbsSettingRoamingProtocolModule</codeph>  </p> <p>Purpose: Specifies the UID of the Network Protocol Module to use when roaming. </p> <p>Values: Defined by <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref>  </p> </li> <li id="GUID-F20159B4-62F2-5E8F-9A71-A389F330F1B0"><p> <codeph>KLbsProtocolModuleLoading</codeph>  </p> <p>Purpose: Defines the Network Protocol Module loading strategy - whether a module or modules are loaded on subsystem startup or based on network registration status. </p> <p>Values: A value defined by <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-1AD05E2F-6AA0-38AE-8640-02D4B4EA3363"><apiname>TLbsAdminProtocolModuleLoadingInfo::_TProtocolModuleLoading</apiname></xref> which have the following meanings: </p> <ul><li id="GUID-A1F35EC1-7531-5FBA-81AF-871F87D2BC4D"><p> <codeph>EProtocolModuleLoadingAll</codeph>  </p> <p>A value of <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-813FB3F7-6266-3FEF-B35E-84A0096805CB"><apiname>TLbsAdminProtocolModuleLoadingInfo::EProtocolModuleLoadingAll</apiname></xref> causes the two Network Protocol Modules specified by the settings <codeph>KLbsSettingHomeProtocolModule</codeph> and <codeph>KLbsSettingRoamingProtocolModule</codeph> to be loaded when the LBS subsystem starts. The modules are not unloaded until the LBS subsystem is shutdown. </p> <p>At any time, only one module can be <i>active</i> - loading a module does not make it active. Only an active module can be used to process location requests. LBS uses changes to the network registration status of the mobile device to decide which module is active. If the mobile device moves from the home network to roaming (or vice versa) the appropriate module is made active without the need to restart the device. </p> </li> <li id="GUID-72D08DD5-0838-50EA-BFF0-22579F6AC6F2"><p> <codeph>EProtocolModuleLoadingByStatus</codeph>  </p> <p>A value of <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-DB320F00-2498-386D-9B82-6E35C0B0F3C2"><apiname>TLbsAdminProtocolModuleLoadingInfo::EProtocolModuleLoadingByStatus</apiname></xref> means that <i>one</i> Network Protocol Module is loaded on LBS startup based on the network registration status. </p> <p>When LBS receives the first network registration status update (which should be soon after startup) it loads either the home or the roaming Network Protocol Module depending on the registration status. Only one module is loaded. Changes to the registration status (for example from the home network to roaming) do not cause a second module to be loaded. This means that if a licensee uses different Network Protocol Modules in the home network and roaming, it is necessary to restart the device when moving between networks in order to load the appropriate Network Protocol Module. </p> <p>Note that this is the default LBS behaviour based on the value in the administration repository initialisation file. </p> </li> </ul> <p>If LBS cannot obtain the device's network registration status, a Network Protocol Module cannot be made active and a location request that uses it will fail. </p> <p>The setting has no effect if the Privacy Protocol Module is specified for use: it is loaded and active when the LBS subsystem starts without waiting for a network registration status. </p> </li> <li id="GUID-9CAB68BC-0C16-5725-BC10-513FA8027DD1"><p> <codeph>KLbsSettingPrivacyHandler</codeph>  </p> <p>Purpose: Specifies use of a Privacy Controller or Privacy Notifiers. Either a Privacy Controller or Privacy Notifiers are used to inform the user when an external privacy or location request (MT-LR or NI-LR) is received. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-E10A0475-7286-3AC1-9131-DEC07BA5B75B"><apiname>CLbsAdmin::TPrivacyHandler</apiname></xref>  </p> </li> <li id="GUID-A8E31FA5-9AC3-5A16-A844-C93AFC7A1E08"><p> <codeph>KLbsSettingPrivacyAppTimeout</codeph>  </p> <p>Purpose: Specifies the time in microseconds that LBS waits for a response from a Privacy Controller or Privacy Notifier. A value of zero means the LBS nevers times out the request. The setting must be set in the repository initialisation file and cannot be set at runtime. </p> <p>Values: A time in microseconds. </p> </li> <li id="GUID-08F04021-83D7-5EC6-82C0-7CB15050BE73"><p> <codeph>KLbsSettingPrivacyTimeoutAction</codeph>  </p> <p>Purpose: Specifies the action to take on timeout of a MT-LR privacy request. This setting specifies if LBS should send a rejection message or take the action specified as part of the MT-LR privacy request message. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F063FE21-9996-3F0E-9BE2-95067EF5B5E6"><apiname>CLbsAdmin::TPrivacyTimeoutAction</apiname></xref>  </p> </li> <li id="GUID-45EB2FE5-4871-5967-85C6-55714FD42130"><p> <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>  </p> <p>Purpose: Specifies the maximum number of simultaneous privacy requests supported by the LBS subsystem. The setting only affects LBS subsystem behaviour when privacy requests are received via either the Privacy Request API or the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while is LBS running. The setting will take effect during the next LBS system startup. </p> <p>Values: The value 0 is reserved for future use. The value 1 is the default, this allows only one active external locate request at a time. Values greater than 1 allow multiple requests to be handled simultaneously. </p> </li> <li id="GUID-06D156DD-9A0C-5481-ADC0-F889A85ABBA0"><p> <codeph>KLbsSettingPrivacyShutdownDelay</codeph>  </p> <p>Purpose: The time to wait after the last privacy client disconnects before shutting down LBS. Only used with the Network Privacy API and the Privacy Request API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values:An integer value in microseconds. </p> </li> <li id="GUID-9B76614E-CEF2-55B2-B82E-7FB2DD6B125A"><p> <codeph>KLbsSettingPrivacyMaxNetworkSessions</codeph>  </p> <p>Purpose: The maximum number of concurrent network privacy sessions allowed with the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values: An integer value. The value 0 disallows any network privacy sessions. </p> </li> <li id="GUID-03F64DFF-9EF1-54E7-8834-6621A310D5A1"><p> <codeph>KLbsSettingPrivacyConnectionTimeout</codeph>  </p> <p>Purpose: The connection timeout for sessions using the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values: An integer value in microseconds. </p> </li> <li id="GUID-4E9C8CD1-1295-50FC-94D8-FD57C0519573"><p> <codeph>KLbsSettingClockAdjust</codeph>  </p> <p>Purpose: Configuration of automatic system clock synchronisation with GPS. This setting specifies if automatic clock synchronisation is on or off. </p> <p>Values Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-43E5D177-778D-304C-BE11-18FBABE66E28"><apiname>CLbsAdmin::TClockAdjust</apiname></xref>  </p> </li> <li id="GUID-330F6DB9-FBC0-586A-B045-EEDB63B912EE"><p> <codeph>KLbsSettingSetClockModule</codeph>  </p> <p>Purpose: Configuration of the set clock module. This setting specifies the implementation UID of a licensee clock plug-in DLL. This value is 0 to use the default Symbian set clock implementation. </p> <p>Values: A <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref> value </p> </li> <li id="GUID-FD67A7EB-763E-5F0A-911C-25EC1E6DEEBD"><p> <codeph>KLbsSettingClockAdjustInterval</codeph>  </p> <p>Purpose: Specifies the system clock adjustment interval in milliseconds. This setting specifies how often the system clock should be synchronised with the GPS clock. The setting is used only if the <codeph>KLbsSettingAllowClockAdjust</codeph> is set to allow automatic system clock adjustment. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-4D3DDC8A-442F-3249-BFDB-30D197E2F67F"><apiname>CLbsAdmin::TLbsTimeIntervalMiliSeconds</apiname></xref> value </p> </li> <li id="GUID-DB4C1DF2-5766-5B5B-9157-1DC50A28273F"><p> <codeph>KLbsSettingClockAdjustThreshold</codeph>  </p> <p>Purpose: Configures the system clock adjustment interval in milliseconds. This setting specifies how great the difference in time between the system clock and the GPS clock must be before the system clock is adjusted. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-4D3DDC8A-442F-3249-BFDB-30D197E2F67F"><apiname>CLbsAdmin::TLbsTimeIntervalMiliSeconds</apiname></xref> value </p> </li> <li id="GUID-E1FD82F8-946C-5D2C-B353-34D1F1C535DF"><p> <codeph>KLbsSettingLogger</codeph>  </p> <p>Purpose: Turns logging on or off in the LBS subsystem. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-3CB88D9A-DF0A-387F-8BFD-C31B565BAAA6"><apiname>CLbsAdmin::TLogger</apiname></xref> value </p> </li> <li id="GUID-3D7586C7-C5BD-54EA-9089-18A30CF3747E"><p> <codeph>KLbsSettingBehaviourMode</codeph>  </p> <p>Purpose: Specifies the behaviour mode for the LBS subsystem. The setting must be set in the repository initialisation file and cannot be set at runtime via the LBS Administration API as it is used by the LBS subsystem on startup. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-5C1F785E-4BEA-3D36-9921-A36526BDD841"><apiname>CLbsAdmin::TLbsBehaviourMode</apiname></xref>. See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">repository initialisation file</xref> for more information. </p> </li> </ul> <p> <b>Special feature settings</b>  </p> <ul><li id="GUID-3D94A4F3-A7C7-5EFB-B7CB-9109507B4FA1"><p> <codeph>KLbsSpecialFeatureMaximumRequestDelay</codeph>  </p> <p>Purpose: Specifies the length of time that location updates and error codes received from a positioning module are temporarily buffered in LBS. </p> <p>Values: A time in milliseconds </p> </li> <li id="GUID-C195F056-27A7-5C4E-A8CD-B840746FE6C7"><p> <codeph>KLbsSpecialFeatureAllowTBFinalNetPos</codeph>  </p> <p>Purpose: Specifies how LBS handles final network position updates. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-220ED6E7-B841-5344-94EA-DFCA1C025C7D"><p> <codeph>KLbsSpecialFeatureIgnoreAccuracy</codeph>  </p> <p>Purpose: Configures LBS to either return only accurate position updates or all position updates including inaccurate ones. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-ADBDCE68-7DFA-58EC-9860-A07276470F0D"><p> <codeph>KLbsSpecialFeatureWithholdDeliveryOfReferencePositions</codeph> </p> <p>Purpose: Specifies if LBS should deliver reference positions to a client application when <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> is called with a GPS module ID. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-22D784DA-7BCC-5739-B129-D3CCFC4ACA15"><p> <codeph>KLbsSpecialFeatureIntermediateFutileUpdate</codeph>  </p> <p>Purpose: Specifies if LBS should return a "futile" update from a licensee A-GPS Integration Module to the network when there is no outstanding location request. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> </ul> <p>The special feature settings cannot be set via the LBS Administration API and so must be set in the LBS administration repository file. <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita#GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD/GUID-FC73F710-36C2-5805-9EE9-6E9C55BE9655">Special feature settings</xref> has more information on the behaviour of LBS that is modified by the special feature settings. </p> <p> <b>Unused settings</b>  </p> <p>Note that there are some additional settings defined in <filepath>lbsadmin.h</filepath>: <codeph>KLbsSettingHomeEmergencyLocate</codeph>, <codeph>KLbsSettingRoamingEmergencyLocate</codeph>, <codeph>KLbsSettingRoamingProtocolModule</codeph> and <codeph>KLbsSettingLbsSystemStartMode</codeph>. These are not used and setting them has no effect. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Accessing LBS administration settings</xref> describes how to get and set LBS administration settings. </p> <p><b>Resetting administration settings to the default </b> </p> <p>Calling <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-42D1B1DF-A5BD-3143-BBC3-EDFC1151356D"><apiname>CLbsAdmin::ResetToDefault()</apiname></xref> causes LBS administration settings to be reset to the default values defined in the LBS administration settings initialisation file. These default settings are persisted in the central repository. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-56DA510B-4BBE-57B6-B616-888845435276">Resetting the administration settings</xref> shows how to reset the administration settings to their default values. </p> <p><b>Receiving notification of administration settings changes </b> </p> <p>To register an observer object to receive notifications of LBS administration settings changes, <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-297BD9C9-36E3-38C5-BB79-35A785B49744"><apiname>CLbsAdmin::NewL()</apiname></xref> is called with two parameters: </p> <ul><li id="GUID-383ADC1C-D7F1-5E60-9865-CFDB494DDA7D"><p>An observer object derived from <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>  </p> </li> <li id="GUID-D84E11FC-F9B7-5CB4-AB4B-78F7675BBE8E"><p>A <xref href="GUID-CB92B5FC-CD68-34F8-A866-BED0686C08B5.dita"><apiname>TLbsAdminSettingGroup</apiname></xref> object </p> <p>A <codeph>TLbsAdminSettingGroup</codeph> object defines a bitmask of <codeph>TLbsAdminSetting</codeph> constants. An observer is notified when there is a settings change in one of the settings defined in the bitmask. </p> </li> </ul> <p> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-C04ED964-9259-3B96-8144-0A022C3D26BA"><apiname>CLbsAdmin::SetNotificationMaskL()</apiname></xref> sets a new bitmask and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-2CAC0F41-B58B-30D6-8742-23B38338ED1A"><apiname>CLbsAdmin::ClearNotificationMask()</apiname></xref> clears the bitmask. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Receiving notifications of LBS administration settings changes</xref> shows how to register an observer object and receive settings change notifications. </p> <p><b>MLbsAdminObserver </b> </p> <p>Applications use an object derived from <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref> to receive notifications of LBS administration settings changes. </p> <p>LBS calls <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita#GUID-800E7AE0-0115-3483-A010-933C05759532/GUID-8CAC965D-6CC3-325C-AFB2-4471F27D9CC1"><apiname>MLbsAdminObserver::OnSettingUpdateEvent()</apiname></xref> to notify an observer that a setting has changed. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-E9801842-4844-51BA-97D3-5073926E3EDA"> Receiving notifications of LBS administration settings changes</xref>  </p> </section> <section><title>Typical uses</title> <p>A 'control panel' type of application uses the LBS Administration API to manage the configuration of the LBS subsystem. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Accessing LBS administration settings</xref> shows how to use the API to configure LBS. </p> <p>A UI status bar component uses the LBS Administration API to receive notification of LBS subsystem configuration changes. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-E9801842-4844-51BA-97D3-5073926E3EDA"> Receiving notification of LBS settings changes</xref> shows how to use the API to get notification of LBS administration changes. </p> </section> <section><title>See also</title> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita">How to use the LBS Administration API</xref>  </p> <p><xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">The LBS administration repository initialisation file</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-935057C9-8FA9-5B41-A36C-03A825C51B32_d0e316249_href.png has changed
Binary file Symbian3/PDK/Source/GUID-935057C9-8FA9-5B41-A36C-03A825C51B32_d0e322239_href.png has changed
Binary file Symbian3/PDK/Source/GUID-93678518-1FBD-521D-807A-63DA2E33551F_d0e218938_href.png has changed
Binary file Symbian3/PDK/Source/GUID-93678518-1FBD-521D-807A-63DA2E33551F_d0e224958_href.png has changed
--- a/Symbian3/PDK/Source/GUID-937C3D70-2DCC-5084-AC87-3B1E5865A827.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-937C3D70-2DCC-5084-AC87-3B1E5865A827.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-937C3D70-2DCC-5084-AC87-3B1E5865A827"><title>Active Backup Client Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Active Backup Client enables Symbian Developers to write backup and restore software with complete control of which data is backed up and restored. </p> <p>The backup client application is often referred to as the data owner as it owns the data. The data owner is automatically invoked to prepare and supply the data to the Backup Engine at backup time. Similarly, the data is automatically supplied back to the data owner on restore. </p> <section><title>Required Background</title> <p>Before you start, you must understand the following architecture and concepts: </p> <ul><li id="GUID-D8AE221E-2356-5A98-B338-39847C69A845"><p><xref href="GUID-5CA933B9-7987-5DDE-AE12-B0D5AFD31451.dita">Symbian backup and restore architecture</xref>  </p> </li> <li id="GUID-1BC9B7B5-9DE9-5E7A-8E66-F1752111134B"><p><xref href="GUID-7FDD9FEC-5017-5E5D-A50A-5F343A3C7F6C.dita"> Backup and restore modes</xref> (active, passive and proxy). </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <p> <b>Data owner </b>  </p> <p>A Symbian process that owns the data to be backed up or restored is a data owner. It can be an application or a server. </p> <p> <b>Initiator/Responder</b>  </p> <p>There are two roles in MTP exchanges, an initiator and a responder. An initiator is the device which initiates requests and operations to the connected responder. A responder is the device which passively responds the requests and operations. Symbian MTP is implemented as a responder role only. A host PC or a portable device on a Symbian device is usually an initiator. </p> </section> <section><title>Architecture</title> <p>The following flowchart shows how the Active Backup Client (data owner application) works with other components for data backup and restore. The components provided by Symbian are in green. The components that a device vendor must implement are in blue. </p> <fig id="GUID-A32E2101-8CF4-5DCB-B200-B4219A21733A"><title>
              Active Backup Client 
-          </title> <image href="GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e205963_href.jpg" placement="inline"/></fig> <ul><li id="GUID-EA86CFF4-6504-5C52-9B48-961EE80D8C4F"><p>The <b>Backup Server</b> communicates directly with the backup and restore initiator, for example a host PC. </p> <p>The Backup Server receives a request from a host PC for a backup or restore operation. It then calls the Backup Engine using the Backup Engine Client API (<xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref>) for lists of data sets. It also transfers data during a backup or a restore. </p> <p> <b>Note</b>: The Symbian platform includes a backup server which a device vendor may replace. </p> </li> <li id="GUID-D533320B-B8E6-5660-A423-BDD4B36227FC"><p>The<b> Backup Engine</b> component contains the logic related to the data backup and restore. It signals the start or completion of a backup or restore to all data owners. </p> <p> <b>Note</b>: This component runs in a separate process which allows the Backup Server to operate synchronously and asynchronously. </p> </li> <li id="GUID-121E55AE-5E5A-5533-AB57-3521DDCB6894"><p>An active <b>Data Owner Application</b> responds to signals from the Backup Engine. It releases resources in case of file lock or data confliction. It must define a <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref> instance to connect to the Backup Engine and must provide a pointer to an <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref> implementation. The <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref> implementation prepares and transfers data to the Backup Engine for a backup and restore. </p> </li> </ul> </section> <section><title>APIs</title> <p>The Active Backup Client includes the following APIs: </p> <table id="GUID-78B19C43-C9D9-56F0-823F-7CF3F26238B8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref>  </p> </entry> <entry><p>Establishes a connection to the Backup Engine for the data owing process. </p> </entry> </row> <row><entry><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref>  </p> </entry> <entry><p>The data owner application must implement this interface to provide the data to the Backup Engine. It is passed to the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref> constructor. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The Active Backup Client can be used to prepare and transfer data for the Backup Engine to do a backup and restore. </p> </section> </conbody><related-links><link href="GUID-DFF9DFC5-1BE0-5CA2-A2B9-27FA2DECFF59.dita"><linktext>Writing an Active Backup Client Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e211964_href.jpg" placement="inline"/></fig> <ul><li id="GUID-EA86CFF4-6504-5C52-9B48-961EE80D8C4F"><p>The <b>Backup Server</b> communicates directly with the backup and restore initiator, for example a host PC. </p> <p>The Backup Server receives a request from a host PC for a backup or restore operation. It then calls the Backup Engine using the Backup Engine Client API (<xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref>) for lists of data sets. It also transfers data during a backup or a restore. </p> <p> <b>Note</b>: The Symbian platform includes a backup server which a device vendor may replace. </p> </li> <li id="GUID-D533320B-B8E6-5660-A423-BDD4B36227FC"><p>The<b> Backup Engine</b> component contains the logic related to the data backup and restore. It signals the start or completion of a backup or restore to all data owners. </p> <p> <b>Note</b>: This component runs in a separate process which allows the Backup Server to operate synchronously and asynchronously. </p> </li> <li id="GUID-121E55AE-5E5A-5533-AB57-3521DDCB6894"><p>An active <b>Data Owner Application</b> responds to signals from the Backup Engine. It releases resources in case of file lock or data confliction. It must define a <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref> instance to connect to the Backup Engine and must provide a pointer to an <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref> implementation. The <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref> implementation prepares and transfers data to the Backup Engine for a backup and restore. </p> </li> </ul> </section> <section><title>APIs</title> <p>The Active Backup Client includes the following APIs: </p> <table id="GUID-78B19C43-C9D9-56F0-823F-7CF3F26238B8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref>  </p> </entry> <entry><p>Establishes a connection to the Backup Engine for the data owing process. </p> </entry> </row> <row><entry><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref>  </p> </entry> <entry><p>The data owner application must implement this interface to provide the data to the Backup Engine. It is passed to the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref> constructor. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The Active Backup Client can be used to prepare and transfer data for the Backup Engine to do a backup and restore. </p> </section> </conbody><related-links><link href="GUID-DFF9DFC5-1BE0-5CA2-A2B9-27FA2DECFF59.dita"><linktext>Writing an Active Backup Client Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-938C0EB5-D0B3-502E-87A9-7C626642AE4B_d0e468825_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-938C0EB5-D0B3-502E-87A9-7C626642AE4B_d0e474670_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-93A4CD14-A3CD-57B2-BF32-57EF38F59ECF_d0e261285_href.png has changed
Binary file Symbian3/PDK/Source/GUID-93A4CD14-A3CD-57B2-BF32-57EF38F59ECF_d0e267294_href.png has changed
--- a/Symbian3/PDK/Source/GUID-93AB9273-08A5-52CD-AFF7-8B92D72067BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-93AB9273-08A5-52CD-AFF7-8B92D72067BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,31 +1,29 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-93AB9273-08A5-52CD-AFF7-8B92D72067BF" xml:lang="en"><title>Using
-TDes</title><shortdesc>Use TDes for interfaces which take narrow or wide (Unicode) text,
-depending on the build variant.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-3B3CC723-0555-5FCD-8783-F1467BB1191C"><title>Usage in a
-function interface</title> <p>An interface which needs to access and modify
-either narrow text or wide (Unicode) text, depending on the build variant,
-uses a <xref href="GUID-49D4E917-57EA-39AE-8941-144AA8AC2584.dita"><apiname>TDes</apiname></xref> as the argument type. All build independent
-concrete descriptors are derived from <codeph>TDes</codeph> which means that
-the interface can accept any build independent descriptor.</p> <p>The following
-code fragment shows the most common function prototype pattern.</p> <codeblock id="GUID-87812092-5582-51F4-B67B-9A2F503C0A26" xml:space="preserve">void ClassX::foo(TDes&amp; anArg);</codeblock> <p>The
-use of <codeph>TDes</codeph> means that data can be accessed and modified
-through the descriptor.</p> <p>If the interface is to handle explicit 8 bit
-or explicit 16 bit data, regardless of the build variant, then use <xref href="GUID-445B19E5-E2EE-32E2-8D6C-C7D6A9B3C507.dita"><apiname>TDes8</apiname></xref> or <xref href="GUID-C04A9A0C-DBA7-37DA-B744-54FBF3D544CD.dita"><apiname>TDes16</apiname></xref> instead.</p> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-3D73DD8F-8D23-5D47-A4F7-3673C993EF8F.dita">Using class TDes8</xref></desc>
-</link>
-<link href="GUID-0B6C97D3-0E2D-5BBE-B8AC-985902715160.dita"><linktext>Using Class
-TDes16</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-93AB9273-08A5-52CD-AFF7-8B92D72067BF" xml:lang="en"><title>Using TDes</title><shortdesc>Use TDes for interfaces which take narrow or wide (Unicode)
+text, depending on the build variant.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-3B3CC723-0555-5FCD-8783-F1467BB1191C"><title>Usage
+in a function interface</title> <p>An interface which needs to access
+and modify either narrow text or wide (Unicode) text, depending on
+the build variant, uses a <xref href="GUID-49D4E917-57EA-39AE-8941-144AA8AC2584.dita"><apiname>TDes</apiname></xref> as the argument
+type. All build independent concrete descriptors are derived from <codeph>TDes</codeph> which means that the interface can accept any build
+independent descriptor.</p> <p>The following code fragment shows the
+most common function prototype pattern.</p> <codeblock id="GUID-87812092-5582-51F4-B67B-9A2F503C0A26" xml:space="preserve">void ClassX::foo(TDes&amp; anArg);</codeblock> <p>The use of <codeph>TDes</codeph> means that data can be accessed
+and modified through the descriptor.</p> <p>If the interface is to
+handle explicit 8 bit or explicit 16 bit data, regardless of the build
+variant, then use <xref href="GUID-445B19E5-E2EE-32E2-8D6C-C7D6A9B3C507.dita"><apiname>TDes8</apiname></xref> or <xref href="GUID-C04A9A0C-DBA7-37DA-B744-54FBF3D544CD.dita"><apiname>TDes16</apiname></xref> instead.</p> </section>
+</conbody><related-links>
+<link href="GUID-0B6C97D3-0E2D-5BBE-B8AC-985902715160.dita">
+<linktext>Using Class TDes16</linktext></link>
+<link href="GUID-3D73DD8F-8D23-5D47-A4F7-3673C993EF8F.dita"><linktext>Using
+class TDes8</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-93C75E31-6155-48F1-B99C-92ECD0B2C067.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-93C75E31-6155-48F1-B99C-92ECD0B2C067.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -69,7 +69,7 @@
 <section id="GUID-23075EA6-3B4F-4643-AF48-543650D821D8"><title>Passing stack
 variables or temporary variables to an asynchronous service</title><fig id="GUID-693794EA-6FB9-489D-823C-C2EA7AA6ACC2">
 <title>Passing data on the stack</title>
-<image href="GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e17786_href.png" placement="inline"/>
+<image href="GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e19778_href.png" placement="inline"/>
 </fig><p>When execution leaves a function, the variables that are local to
 the function are deallocated from the stack. If you pass local variables as
 parameters to an asynchronous function, you must make sure that the other
--- a/Symbian3/PDK/Source/GUID-93EFC9E4-8779-415D-ABEB-2AC9991996DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-93EFC9E4-8779-415D-ABEB-2AC9991996DD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 provided.</p>
 <fig id="GUID-1D916CB1-020D-4BD6-A9DD-D22EFDB1ADC3">
 <title>Wait note</title>
-<image href="GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e87786_href.png" placement="inline"/>
+<image href="GUID-3C61E57D-BBBB-4E52-8C99-F359CB83D1BC_d0e91984_href.png" placement="inline"/>
 </fig>
 <section id="GUID-C5FFA38F-BBFD-44D7-979A-5B0A46420D17"> 
      <title>Using wait notes in applications</title>     <p>You can create
Binary file Symbian3/PDK/Source/GUID-93FFE6EF-9F6D-46BD-846C-CAC03F26E643_d0e81179_href.png has changed
Binary file Symbian3/PDK/Source/GUID-93FFE6EF-9F6D-46BD-846C-CAC03F26E643_d0e85377_href.png has changed
--- a/Symbian3/PDK/Source/GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,10 +9,10 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50" xml:lang="en"><title>Classic
-UI Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Classic UI provides the native UI support library, AVKON, including standard
-controls, views, dialogs and some services for UI applications.  </p>
+<concept id="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50" xml:lang="en"><title>Classic UI Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Classic UI provides the native UI support library, AVKON, including
+standard controls, views, dialogs and some services for UI applications.
+ </p>
 <section id="GUID-CF554F82-ABFF-4BD8-BC09-4BAA90FB3787"><table id="GUID-FB49FC91-126A-4D94-B79A-A3B172F6417B">
 <tgroup cols="2"><colspec colname="col1" colwidth="0.83*"/><colspec colname="col2" colwidth="1.17*"/>
 <thead>
@@ -23,30 +23,25 @@
 </thead>
 <tbody>
 <row>
-<entry><p>I want to understand the fundamental architecture of a GUI application.</p></entry>
+<entry><p>I want to understand the fundamental architecture of a GUI
+application.</p></entry>
 <entry><xref href="GUID-29486886-CB54-4A83-AD6D-70F971A86DFC.dita">Application
 and UI frameworks</xref></entry>
 </row>
 <row>
-<entry><p>I want to design my application for a phone with a touch screen.</p></entry>
-<entry><xref href="GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita">Touch
-UI</xref></entry>
+<entry><p>I want to design my application for a phone with a touch
+screen.</p></entry>
+<entry><xref href="GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita">Touch UI</xref></entry>
 </row>
 <row>
-<entry><p>I want to use the standard controls and dialogs that Classic UI
-provides.</p></entry>
+<entry><p>I want to use the standard controls and dialogs that Classic
+UI provides.</p></entry>
 <entry><xref href="GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita">UI components</xref></entry>
 </row>
 <row>
 <entry><p>I want to create my own controls and animations.</p></entry>
 <entry><xref href="GUID-6C16417B-5B37-5310-B59A-750D971AA6D4.dita">The UI Control Framework (CONE)</xref></entry>
 </row>
-<row>
-<entry><p>I want to understand the user experience in Symbian platform devices
-without touch</p></entry>
-<entry><xref href="GUID-DD3783B2-B8ED-4CD4-AAF6-75EC8B53B8EF.dita">Symbian
-device user experience for non-touch devices</xref></entry>
-</row>
 </tbody>
 </tgroup>
 </table></section>
Binary file Symbian3/PDK/Source/GUID-940AF1CE-3C33-54BF-B339-B8CF79C5FC9C_d0e166906_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-940AF1CE-3C33-54BF-B339-B8CF79C5FC9C_d0e172999_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -48,7 +48,7 @@
 </dl> </section>
 <section><title>Architecture</title> <p>The following diagram shows the interaction
 of APPARC with other components. </p> <fig id="GUID-B597764E-2919-55D3-848B-D8579A4E0A98">
-<image href="GUID-940AF1CE-3C33-54BF-B339-B8CF79C5FC9C_d0e166906_href.jpg" placement="inline"/>
+<image href="GUID-940AF1CE-3C33-54BF-B339-B8CF79C5FC9C_d0e172999_href.jpg" placement="inline"/>
 </fig> <p>The following list describes the interaction between APPARC and
 each of the components depicted in the APPARC architectural diagram: </p> <ul>
 <li id="GUID-BAA2F511-151F-5B24-9B31-B6203C8905C4"><p>APPARC provides the
--- a/Symbian3/PDK/Source/GUID-9444E57C-1C2F-5EAC-B162-25FC27BB9516.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9444E57C-1C2F-5EAC-B162-25FC27BB9516"><title>Pre-v5.1 non-Unicode resource format</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This page describes the resource file format used with the pre-Unicode versions of Symbian platform (all versions before v5.1). This format is obsolete for later versions. </p> <table id="GUID-DDC8DE1F-2A89-5E70-B20F-14EE1003B810"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Number of bytes</b> </p> </entry> <entry><p> <b>Description</b> </p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores the file-position of the start of the resource index (see the last row of this table for a description of the resource index). </p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores the size of the resource index in bytes. </p> </entry> </row> <row><entry><p>[any] </p> </entry> <entry><p>This contains the data for all the resources stored in order, one after another with no byte-padding between them. The binary data of each resource is laid out exactly as specified in the resource definition. </p> </entry> </row> <row><entry><p>(number_of_resources+1)*2 </p> </entry> <entry><p>This is the resource index, which is a series of two-byte integers (in little-endian byte order), one for each resource in the resource file, each storing the file-position of that resource’s data (see row immediately above). </p> <p>The last 16-bit number gives the file offset of the end of the last resource (i.e. the beginning of the index table). </p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-947317B7-7E12-509B-9A16-F0604D7F8BA2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-947317B7-7E12-509B-9A16-F0604D7F8BA2" xml:lang="en"><title>armfpu</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>armfpu [ vfpv2 | softvfp ]</codeph>  </p>
-<p>Use the <codeph>armfpu</codeph> statement to specify how the compiler is
-to deal with floating point instructions. </p>
-<p>There are two ways in which floating point instructions can be handled
-on an ARM processor: </p>
-<ul>
-<li id="GUID-929D9EEB-1D4A-58DD-8E62-7E14EAB6566B"><p>through the use of floating
-point support functions. </p> </li>
-<li id="GUID-B28E550A-0785-50B5-B260-7F8C85F1CA2A"><p>directly on a hardware
-floating point co-processor, the Vector Floating Point (VFP) unit. </p> </li>
-</ul>
-<table id="GUID-A0C3733D-2744-5094-AF89-EF15737C68E9">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>softvfp</codeph>  </p> </entry>
-<entry><p>This keyword specifies that floating point instructions are handled
-by floating point support functions. </p> <p>On a device without a VFP unit,
-floating point support functions are implemented in software and operate slowly.
-On a device with a VFP unit, the floating point support functions are handled
-by the VFP unit, and operate faster than when implemented in software. </p> <p>Note
-that applications do not need to make any changes to take advantage of VFP-enabled
-floating point support functions, if they are provided in the device's ROM.
-Such functions are used automatically at run time. </p> <p>If <codeph>armfpu</codeph> is
-not specified in a <filepath>.mmp</filepath> file, then <codeph>armfpu softvfp</codeph> is
-assumed by default. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>vfpv2</codeph>  </p> </entry>
-<entry><p>This keyword specifies that VFP specific code is to be generated
-at compile time whenever floating point instructions are used. </p> <p>On
-a device with a VFP unit, this option results in code that runs faster than
-the floating point support functions generated by <codeph>softvfp</codeph>.
-Note, however, that binaries produced with VFP specific code do not work on
-devices without a VFP unit. <i>Software Install</i> attempts to prevent their
-installation, but if any such binaries are installed onto a device in some
-other way, for example by inclusion into the ROM at device creation time,
-then a call to VFP specific code results in a KERN-EXEC 3 panic (see also <xref href="GUID-0AF47934-0A16-51A2-9254-992D7C6B322B.dita">Application Installation
-Guide</xref>). </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table></conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9477D9DC-7B89-4D60-A7DF-B89411379A52.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9477D9DC-7B89-4D60-A7DF-B89411379A52.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,8 +17,8 @@
 Access Framework.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <prereq>       <p>The manager object must be created using the <xref href="GUID-7F3D9E35-A8FC-35A6-8036-23396BAADFDC.dita#GUID-7F3D9E35-A8FC-35A6-8036-23396BAADFDC/GUID-2F4CB027-777F-3F16-AE9A-8902F4AE87E7"><apiname>CManager::NewL()</apiname></xref> function. </p> 
    </prereq>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-27-1-1-6-1-5-1-5-1-6-1-4-1-6-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-27-1-1-6-1-5-1-5-1-6-1-4-1-6-1-3-2-1"><cmd>The buffers allow
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-26-1-1-6-1-5-1-5-1-6-1-4-1-6-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-26-1-1-6-1-5-1-5-1-6-1-4-1-6-1-3-2-1"><cmd>The buffers allow
 agent specific objects to be externalized by an application, passed through
 CAF and internalized by the agent. The same principle applies for data returned
 from the agent to the application.</cmd>
Binary file Symbian3/PDK/Source/GUID-9482CC98-2600-539D-A243-639CF11A2599_d0e678806_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9482CC98-2600-539D-A243-639CF11A2599_d0e691633_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-94984754-A724-57C4-9E18-33B951F917B6_d0e431735_href.png has changed
Binary file Symbian3/PDK/Source/GUID-94984754-A724-57C4-9E18-33B951F917B6_d0e437580_href.png has changed
--- a/Symbian3/PDK/Source/GUID-94C64AC2-5680-4DED-8CCB-55CD5C25F1E5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-94C64AC2-5680-4DED-8CCB-55CD5C25F1E5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,33 +1,31 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-94C64AC2-5680-4DED-8CCB-55CD5C25F1E5" xml:lang="en"><title>Resource
-string handling</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The Symbian platform provides support for loading and formatting resource
-strings through the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/String_Loader_APIIndexPage.html" format="application/java-archive"><parmname>StringLoader</parmname> class</xref>.
-To use this class, you must define your strings in the resource file with
-the <parmname>RESOURCE TBUF</parmname> statement.</p>
-<p>The syntax for the resource string declaration is as follows:</p>
-<codeblock id="GUID-04157BE9-A433-44BB-94B1-F6D32FF51163" xml:space="preserve">RESOURCE TBUF r_name34 { buf = STRING_value_in_rls_file; }</codeblock>
-<p>where</p>
-<ul>
-<li><p><parmname>RESOURCE</parmname> is the keyword for the statement.</p>
-</li>
-<li><p><parmname>TBUF</parmname> is a utility structure to contain
-the string.</p></li>
-<li><p><parmname>r_name34</parmname> is the symbolic ID used in
-your code.</p></li>
-<li><p><parmname>STRING_value_in_rls_file</parmname> maps to a value
-in an <parmname>rls</parmname> file to support <xref href="GUID-9EA7B72B-8394-48B8-A0CC-4BB34CBDB01C.dita">localization
-and internationalization</xref>.</p></li>
-</ul>
-<p> For more information, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/bafl/TBUFStruct.html#TBUF" format="application/java-archive"><parmname>TBUF</parmname></xref>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-94C64AC2-5680-4DED-8CCB-55CD5C25F1E5" xml:lang="en"><title>Resource string handling</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Symbian platform provides support for loading and formatting
+resource strings through the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/String_Loader_APIIndexPage.html" format="application/java-archive"><parmname>StringLoader</parmname> class</xref>. To use this class, you must define your strings
+in the resource file with the <parmname>RESOURCE TBUF</parmname> statement.</p>
+<p>The syntax for the resource string declaration is as follows:</p>
+<codeblock id="GUID-04157BE9-A433-44BB-94B1-F6D32FF51163" xml:space="preserve">RESOURCE TBUF r_name34 { buf = STRING_value_in_rls_file; }</codeblock>
+<p>where</p>
+<ul>
+<li><p><parmname>RESOURCE</parmname> is the keyword for
+the statement.</p></li>
+<li><p><parmname>TBUF</parmname> is a utility structure
+to contain the string.</p></li>
+<li><p><parmname>r_name34</parmname> is the symbolic ID
+used in your code.</p></li>
+<li><p><parmname>STRING_value_in_rls_file</parmname> maps
+to a value in an <parmname>rls</parmname> file to support <xref href="GUID-9EA7B72B-8394-48B8-A0CC-4BB34CBDB01C.dita">localization and
+internationalization</xref>.</p></li>
+</ul>
+<p> For more information, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/bafl/TBUFStruct.html#TBUF" format="application/java-archive"><parmname>TBUF</parmname></xref>.</p>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-94D270B4-B1CB-53A0-BC60-8B8C64BDF98A_d0e610920_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-94D270B4-B1CB-53A0-BC60-8B8C64BDF98A_d0e650074_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-94EAB348-DB29-5814-BB93-968D9A2A8AD2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-94EAB348-DB29-5814-BB93-968D9A2A8AD2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -127,25 +127,25 @@
 to a file using PIPS</xref>  </p> </li>
 <li id="GUID-E77A4C18-6F2F-5B67-A4E3-4F8E6AD00577"><p><xref href="GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita">How to remove the
 secure directory using PIPS</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-7"><p><xref href="GUID-9A38894D-98B8-5AFA-A36A-AC8B494EC2CC.dita">How to use the P.I.P.S.
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-7"><p><xref href="GUID-9A38894D-98B8-5AFA-A36A-AC8B494EC2CC.dita">How to use the P.I.P.S.
 standard C maths library, libm.dll</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-8"><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">How to compress/
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-8"><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">How to compress/
 decompress a file using Open C library.</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-9"><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">How to compress/
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-9"><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">How to compress/
 decompress a string using Open C library.</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-10"><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">How to do filtered
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-10"><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">How to do filtered
 data compression and Huffman compression using Open C library.</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-11"><p><xref href="GUID-D69DD425-5F93-4238-A7E9-915F24A9C9CA.dita">How to send/receive
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-11"><p><xref href="GUID-D69DD425-5F93-4238-A7E9-915F24A9C9CA.dita">How to send/receive
 messages using open C message queue library</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-12"><p><xref href="GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita">Shows string utility
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-12"><p><xref href="GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita">Shows string utility
 using open C libraries</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-13"><p><xref href="GUID-9BFF0271-F5C3-45B6-AD4D-9179107F300A.dita">How to write solution
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-13"><p><xref href="GUID-9BFF0271-F5C3-45B6-AD4D-9179107F300A.dita">How to write solution
 for Producer/ Consumer Problem using Open C</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-14"><p><xref href="GUID-063020E5-51C0-45C3-8B8B-015385FA0928.dita">how to redirect stdio
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-14"><p><xref href="GUID-063020E5-51C0-45C3-8B8B-015385FA0928.dita">how to redirect stdio
 to a file using libc library </xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-15"><p><xref href="GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita">How to handle global
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-15"><p><xref href="GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita">How to handle global
 variables within the library code</xref>  </p> </li>
-<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-16-1-1-5-1-2-9-2-16"><p><xref href="GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita">How to solve WSD
+<li id="GUID-16BAB341-EEC2-5724-A7B3-C65ED0EB90D2-GENID-1-15-1-1-5-1-2-9-2-16"><p><xref href="GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita">How to solve WSD
 (Writable Static Data) problem</xref>  </p> </li>
 <li id="GUID-7EDFF698-152D-5175-9C5A-CEC646857A71"><p><xref href="GUID-C5E99BB6-0CBE-51AE-882D-37D004106A2F.dita">How to write a simple
 console-based STDLIB (C Standard library) program</xref>  </p> </li>
@@ -240,8 +240,8 @@
 <li id="GUID-A1AC068A-A4AD-5929-82A8-C29C2EFD2EF4"><p><xref href="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita">How to construct
 a control</xref>  </p> </li>
 <li id="GUID-63D12F06-952F-5092-B896-250051A870A3"><p><xref href="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita">How to rotate a bitmap</xref>  </p> </li>
-<li id="GUID-F59C6098-3065-5270-A21C-BC4CA88C8D67-GENID-1-16-1-1-5-1-2-10-2-9"><p><xref href="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita">How to create a label</xref>  </p> </li>
-<li id="GUID-F59C6098-3065-5270-A21C-BC4CA88C8D67-GENID-1-16-1-1-5-1-2-10-2-10"><p><xref href="GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF.dita">how to create OpenVG
+<li id="GUID-F59C6098-3065-5270-A21C-BC4CA88C8D67-GENID-1-15-1-1-5-1-2-10-2-9"><p><xref href="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita">How to create a label</xref>  </p> </li>
+<li id="GUID-F59C6098-3065-5270-A21C-BC4CA88C8D67-GENID-1-15-1-1-5-1-2-10-2-10"><p><xref href="GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF.dita">how to create OpenVG
 content on a semi-transparent or transparent UI using the new Graphics
 architecture using ScreenPlay</xref>  </p> </li>
 <li id="GUID-ACFFDB3C-2419-5631-A3AA-E4E3A8426443"><p><xref href="GUID-F0185CC2-C175-556E-A4BB-0D781487817A.dita">How to draw pictures</xref>  </p> </li>
@@ -563,11 +563,11 @@
 </ul> </section>
 <section id="GUID-4CCC6738-1107-4B59-98C3-22444301577B"><title>Networking
 Services</title> <ul>
-<li id="GUID-AA0E827F-816A-5999-B65C-6D30EA8C2CE1"><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D.dita">How to send an http
+<li id="GUID-AA0E827F-816A-5999-B65C-6D30EA8C2CE1"><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita">How to send an http
 page request to the server</xref>  </p> </li>
-<li id="GUID-396E2E72-9205-5072-B3E1-CFB461509FC9"><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D.dita">How to get the server
+<li id="GUID-396E2E72-9205-5072-B3E1-CFB461509FC9"><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita">How to get the server
 response</xref>  </p> </li>
-<li id="GUID-AE7AB802-3C7F-5AD0-83C7-A0FF7B07BF24"><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D.dita">How to read the server
+<li id="GUID-AE7AB802-3C7F-5AD0-83C7-A0FF7B07BF24"><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita">How to read the server
 response</xref>  </p> </li>
 <li id="GUID-295ED516-4BA6-5916-A69C-A439087438F7"><p><xref href="GUID-2274DE87-8D6B-5376-A9AE-03ABE4DEE495.dita">How to connect to
 a socket using an IP address</xref>  </p> </li>
--- a/Symbian3/PDK/Source/GUID-94F21522-D598-5F85-BE04-D606AE8D5A25.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-94F21522-D598-5F85-BE04-D606AE8D5A25.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-94F21522-D598-5F85-BE04-D606AE8D5A25"><title>Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Telnet refers to the client-side software implementation and TelnetD (Telnet Daemon) to the server-side implementation. A Telnet client (for example, host PC) is connected to a TelnetD (for example, device). Here the purpose is to run and control a shell on a device using a PC as a terminal with a keyboard. </p> <p>The main purpose of using Zsh connected through TelnetD is to launch utilities (such as, external programs), debug applications, generate logs and retrieve information (such as, contents of the file) from public directories. The Utilities are executables whose output can be made available to the remote Telnet user by viewing text, or archiving as files or as an another program. </p> <p>Zsh transfers characters to the Telnet client and vice versa using TelnetD. Zsh interface is provided to enable programs to be conveniently launched for testing purposes. The shell also supports a number of <xref href="GUID-3F577531-9798-537F-8F8B-7CAB0257560C.dita">built-in commands</xref>. </p> <section id="GUID-B6A34708-CA62-5B2C-918B-595B78D80EDA"><title>Using TelnetD and Zsh</title> <p>Zsh can be launched by selecting the <b>Zsh</b> icon on the device. It starts TelnetD automatically. A connection can then be established from the Telnet client (host PC) to TelnetD by giving the following command at a Windows® or a UNIX® command prompt: </p> <p><userinput>Telnet &lt;ip-address of the device&gt;</userinput> </p> <p>For information on retrieving the IP address refer to <xref href="GUID-A34D9893-C9AE-5C43-85D3-E14BC5DE2A92.dita">Setup</xref>. </p> <p>Every login to Zsh is through a key handshake. The device prompts for a key when you try to connect from the host PC. The same key given to the device has to be given at the host PC for the login to be successful. If the login is successful then the device starts the Zsh application. The maximum number of characters a key can accept is eight. The characters can be a combination of alphabets, numerals, and special characters. </p> <p>For existing Telnet clients on the host PC such as Microsoft Windows or Linux to connect to the server running on the device, the device needs an IP address. </p> <p>TelnetD supports send and receive functionality: TelnetD sends any data to and from Zsh to the host PC. TelnetD runs only when it is connected through a TCP/IP network. When the Telnet client places a request, TelnetD starts Zsh on the device, executes the specified command on the device, and sends the resultant data back to the host PC. </p> <fig id="GUID-0E8BE92D-447E-5C52-8179-F3FE045E8E13"><title>
           Connection between the client (host PC) and the server (device) 
-        </title> <image href="GUID-E2AB4BDF-8AFD-5776-A614-50DC3ACF3AD4_d0e175292_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-643BECA3-FC08-58D0-8E1B-D3ECAEB25CB5.dita"><linktext>Reference</linktext> </link> <link href="GUID-A34D9893-C9AE-5C43-85D3-E14BC5DE2A92.dita"><linktext>Setup</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-E2AB4BDF-8AFD-5776-A614-50DC3ACF3AD4_d0e181361_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-643BECA3-FC08-58D0-8E1B-D3ECAEB25CB5.dita"><linktext>Reference</linktext> </link> <link href="GUID-A34D9893-C9AE-5C43-85D3-E14BC5DE2A92.dita"><linktext>Setup</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-95259B6D-19A0-569E-B04B-F75B8DADC80E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-95259B6D-19A0-569E-B04B-F75B8DADC80E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-95259B6D-19A0-569E-B04B-F75B8DADC80E"><title>The object container index</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>All object containers must be held within a special type of container known as an object container index. </p> <p>An object container index is an instance of a <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> class. </p> <p>An object container index not only acts as a container for object containers, but also provides the mechanism through which object containers are created. </p> <p> <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita#GUID-72761B3C-ECB6-34B2-87ED-C972E479357A/GUID-8D0B0EC9-AE35-3D06-AEA0-648E107F8189"><apiname>CObjectConIx::CreateL()</apiname></xref> creates an object container and is responsible for assigning a unique ID to it. This unique ID forms part of the identity of all reference counting objects which that object container will, in due course, hold. </p> <p>For example, the sever creates a single object container index; from this it creates a number of object containers, each of which, in turn, holds reference counting objects. The following drawing shows the idea. </p> <fig id="GUID-253D9535-D893-575C-8970-D9A94799952B"><image href="GUID-C47514B1-2DD2-5E75-962A-B8E6358E9880_d0e346339_href.png" placement="inline"/></fig> <p>An object container index is implemented as a simple array where each element of the array contains a pointer to an object container. <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita#GUID-72761B3C-ECB6-34B2-87ED-C972E479357A/GUID-8D0B0EC9-AE35-3D06-AEA0-648E107F8189"><apiname>CObjectConIx::CreateL()</apiname></xref> constructs an object container, assigns a unique ID to it and adds it into the <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> array. </p> <p>See also: </p> <ul><li id="GUID-7766067F-FB87-57F4-B1C9-EB299B8F7F20"><p> <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref>  </p> </li> <li id="GUID-74D1FD14-DA1C-5C93-9036-9863A6C8ACC2"><p> <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> </p> </li> <li id="GUID-FE6D8C1C-5F56-5C5F-855C-DE1386FAEB44"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> </p> </li> </ul> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-95259B6D-19A0-569E-B04B-F75B8DADC80E"><title>The object container index</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>All object containers must be held within a special type of container known as an object container index. </p> <p>An object container index is an instance of a <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> class. </p> <p>An object container index not only acts as a container for object containers, but also provides the mechanism through which object containers are created. </p> <p> <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita#GUID-72761B3C-ECB6-34B2-87ED-C972E479357A/GUID-8D0B0EC9-AE35-3D06-AEA0-648E107F8189"><apiname>CObjectConIx::CreateL()</apiname></xref> creates an object container and is responsible for assigning a unique ID to it. This unique ID forms part of the identity of all reference counting objects which that object container will, in due course, hold. </p> <p>For example, the sever creates a single object container index; from this it creates a number of object containers, each of which, in turn, holds reference counting objects. The following drawing shows the idea. </p> <fig id="GUID-253D9535-D893-575C-8970-D9A94799952B"><image href="GUID-C47514B1-2DD2-5E75-962A-B8E6358E9880_d0e352290_href.png" placement="inline"/></fig> <p>An object container index is implemented as a simple array where each element of the array contains a pointer to an object container. <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita#GUID-72761B3C-ECB6-34B2-87ED-C972E479357A/GUID-8D0B0EC9-AE35-3D06-AEA0-648E107F8189"><apiname>CObjectConIx::CreateL()</apiname></xref> constructs an object container, assigns a unique ID to it and adds it into the <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> array. </p> <p>See also: </p> <ul><li id="GUID-7766067F-FB87-57F4-B1C9-EB299B8F7F20"><p> <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref>  </p> </li> <li id="GUID-74D1FD14-DA1C-5C93-9036-9863A6C8ACC2"><p> <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> </p> </li> <li id="GUID-FE6D8C1C-5F56-5C5F-855C-DE1386FAEB44"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9529C9C5-D16D-5766-AE64-C2DB8A07C444.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9529C9C5-D16D-5766-AE64-C2DB8A07C444.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -77,5 +77,5 @@
 // Use Location Acquisition API as normal...
 
 ...
-</codeblock> </stepxmp> <info>The Default PSY has a list of all available PSYs. If the GPS PSY and A-GPS PSY are installed, one of them can be used by the Default PSY. The choice of which PSY is used is based on the priority and availability of the PSYs. </info> <info>See <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> for more information about PSY settings. </info> <info>See <xref href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita">Default PSY</xref> for information about how a PSY is selected. </info> </step> </steps> </taskbody><related-links><link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
-                PSY</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"><linktext>Location Acquisition API</linktext> </link> </related-links></task>
\ No newline at end of file
+</codeblock> </stepxmp> <info>The Default PSY has a list of all available PSYs. If the GPS PSY and A-GPS PSY are installed, one of them can be used by the Default PSY. The choice of which PSY is used is based on the priority and availability of the PSYs. </info> <info>See <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> for more information about PSY settings. </info> <info>See <xref href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita">Default PSY</xref> for information about how a PSY is selected. </info> </step> </steps> </taskbody><related-links><link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
+                PSY</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"><linktext>Location Acquisition API</linktext> </link> </related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5"><title>targettype</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>targettype</codeph>  <varname>target-type</varname>  </p> <p>Use the <codeph>targettype</codeph> statement to specify the kind of project. </p> <p>The following target types are supported: </p> <table id="GUID-62E080EB-BB41-51C4-BCCF-9DB1D785D8CC"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Target type</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>ani</codeph>  </p> </entry> <entry><p>A window server animation DLL. </p> </entry> </row> <row><entry><p> <codeph>app</codeph>  </p> </entry> <entry><p>A GUI application. This is deprecated at v9.0. Applications must be converted to EXEs. </p> </entry> </row> <row><entry><p> <codeph>ctl</codeph>  </p> </entry> <entry><p>A system control. This is deprecated at v9.0. They must be converted to applications. </p> </entry> </row> <row><entry><p> <codeph>dll</codeph>  </p> </entry> <entry><p>A DLL: either a shared library, or a polymorphic interface. </p> </entry> </row> <row><entry><p> <codeph>ecomiic</codeph>  </p> </entry> <entry><p>An ECOM implementation collection. This is deprecated at v9.0. The <codeph>plugin</codeph> target type should be used instead. </p> </entry> </row> <row><entry><p> <codeph>epocexe</codeph>  </p> </entry> <entry><p>A Symbian platform executable that can be launched from the shell. This is an executable program which exports no functions under a multi-process platform and a DLL which is linked with the <codeph>TIntWinsMain()</codeph> function exported as ordinal 1 under a single-process platform. </p> </entry> </row> <row><entry><p> <codeph>exe</codeph>  </p> </entry> <entry><p>An executable program. </p> </entry> </row> <row><entry><p> <codeph>exedll</codeph>  </p> </entry> <entry><p>An executable program for a multi-process platform, a DLL for a single-process platform. </p> </entry> </row> <row><entry><p> <codeph>exexp</codeph>  </p> </entry> <entry><p>An executable program with exports. </p> </entry> </row> <row><entry><p> <codeph>fsy</codeph>  </p> </entry> <entry><p>A plug-in file system. </p> </entry> </row> <row><entry><p> <codeph>implib</codeph>  </p> </entry> <entry><p>Results solely in the generation of a <filepath>.lib</filepath> file. It is an error for a component of the <codeph>IMPLIB</codeph> type to contain <codeph>SOURCE</codeph> statements and the build tools enforce this. </p> </entry> </row> <row><entry><p> <codeph>kdll</codeph>  </p> </entry> <entry><p>A kernel DLL. </p> </entry> </row> <row><entry><p> <codeph>kext</codeph>  </p> </entry> <entry><p>A kernel extension. </p> </entry> </row> <row><entry><p> <codeph>klib</codeph>  </p> </entry> <entry><p>A kernel library. </p> </entry> </row> <row><entry><p> <codeph>ldd</codeph>  </p> </entry> <entry><p>A logical device driver. </p> </entry> </row> <row><entry><p> <codeph>lib</codeph>  </p> </entry> <entry><p>A static library. </p> </entry> </row> <row><entry><p> <codeph>mda</codeph>  </p> </entry> <entry><p>A media-server plug-in DLL (deprecated). </p> </entry> </row> <row><entry><p> <codeph>mdl</codeph>  </p> </entry> <entry><p>A MIME recognizer. This is deprecated at v9.0, and should be converted to <codeph>PLUGIN</codeph> (ECOM). </p> </entry> </row> <row><entry><p> <codeph>none</codeph>  </p> </entry> <entry><p>A bitmap or resource file without any executable. </p> </entry> </row> <row><entry><p> <codeph>notifier</codeph>  </p> </entry> <entry><p>An extended notifier DLL. This is deprecated at v9.0, and should be converted to <codeph>PLUGIN</codeph> (ECOM). </p> </entry> </row> <row><entry><p> <codeph>opx</codeph>  </p> </entry> <entry><p>An OPL extension. </p> </entry> </row> <row><entry><p> <codeph>plugin</codeph>  </p> </entry> <entry><p>An ECOM implementation collection. </p> </entry> </row> <row><entry><p> <codeph>plugin3</codeph>  </p> </entry> <entry><p>An ECOM implementation collection that supports extended interfaces. </p> </entry> </row> <row><entry><p> <codeph>pdd</codeph>  </p> </entry> <entry><p>A physical device driver. You can export functions from <codeph>pdd</codeph> if you have a <filepath>.def</filepath> file specified in the <codeph>pdd</codeph>'s matching <filepath>.mmp</filepath> file. </p> </entry> </row> <row><entry><p> <codeph>pdl</codeph>  </p> </entry> <entry><p>A printer driver. </p> </entry> </row> <row><entry><p> <codeph>rdl</codeph>  </p> </entry> <entry><p>A recognizer. This is deprecated at v9.0, and should be converted to <codeph>PLUGIN</codeph> (ECOM). </p> </entry> </row> <row><entry><p> <codeph>stdexe</codeph>  </p> </entry> <entry><p>A P.I.P.S. EXE, which is identified by the following UIDs on a Symbian platform: </p> <ul><li id="GUID-C8D20CDE-93C3-5DAA-AF63-792CEDDAD8CA"><p>UID1 - <codeph>0x1000007a</codeph>  </p> </li> <li id="GUID-0CC91D83-3913-50CE-9A43-38A549013DAC"><p>UID2 - <codeph>0x20004C45</codeph>  </p> </li> </ul> </entry> </row> <row><entry><p> <codeph>stddll</codeph>  </p> </entry> <entry><p>A P.I.P.S. DLL, which is identified by the following UIDs on a Symbian platform: </p> <ul><li id="GUID-D740F0F0-2525-507F-8124-2EE6A5C6830D"><p>UID1 - <codeph>0x10000079</codeph>  </p> </li> <li id="GUID-4727392C-DF4B-52C4-82AF-8D24E32D713E"><p>UID2 - <codeph>0x20004C45</codeph>  </p> </li> </ul> </entry> </row> <row><entry><p> <codeph>stdlib</codeph>  </p> </entry> <entry><p>A P.I.P.S. static library. </p> </entry> </row> <row><entry><p> <codeph>var</codeph>  </p> </entry> <entry><p>A variant file. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>Note</b>: </p> <ul><li id="GUID-D5C36122-4EF5-53FA-92E5-D9D867468121"><p>For more information about the target types <codeph>stdexe</codeph>, <codeph>stddll</codeph> and <codeph>stdlib</codeph>, refer to <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita">Target Types</xref>. </p> </li> <li id="GUID-BB14CA0D-AF24-5CDA-9ED7-C6AF63365788"><p>The target types <codeph>ecomiic</codeph>, <codeph>kdll</codeph>, <codeph>kext</codeph>, <codeph>klib</codeph>, <codeph>ldd</codeph>, <codeph>pdd</codeph> and <codeph>var</codeph> are built in ARM mode, as these targets have access to kernel APIs. That is, all the kernel code is built in ARM mode using <codeph>--arm</codeph> compiler option, whereas all the user code is built in THUMB mode using <codeph>--thumb</codeph> compiler option. </p> </li> <li id="GUID-64DACAC4-9262-511C-ACC6-ACEF3EB9B9FE"><p>The target types <codeph>stdexe</codeph>, <codeph>stddll</codeph> and <codeph>stdlib</codeph> are supported only on ARM ABI and Symbian emulator compliant platforms, such as, <codeph>ARMv5</codeph>, <codeph>ARMv5_ABIv2</codeph>, <codeph>GCCE</codeph> and <codeph>WINSCW</codeph>. </p> </li> <li id="GUID-6BC8C17A-D28E-5672-A6A5-AF5E2EFE8192"><p>When exporting functions from the target types, build system can auto generate <filepath>.def</filepath> files only for <codeph>DLL</codeph>, <codeph>EXEDLL</codeph>, <codeph>EXEXP</codeph>, and <codeph>STDDLL</codeph> target types even if, you do not have a <filepath>.def</filepath> file specified in the matching <filepath>.mmp</filepath> file. </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-95493C3D-58C6-5EBF-85E1-167D58E68658.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-95493C3D-58C6-5EBF-85E1-167D58E68658.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -115,7 +115,7 @@
 Audio Video Distribution Transport Protocol (AVDTP) is used to deliver the
 output stream from the multimedia application to the controller device. The
 RemCon Server status is updated to the Controller through the AVRCP bearer. </p> </desc>
-<image href="GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e154245_href.jpg" placement="inline"/>
+<image href="GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e160346_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>What's next?</title> <p>The following tutorial series has
 been provided to make writing remote control applications easier. </p> <ul>
Binary file Symbian3/PDK/Source/GUID-95580D64-315E-51E8-99C3-6C0B8FFF1522_d0e479114_href.png has changed
Binary file Symbian3/PDK/Source/GUID-95580D64-315E-51E8-99C3-6C0B8FFF1522_d0e484943_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9574041E-183D-5C3F-8429-A62323B97739.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9574041E-183D-5C3F-8429-A62323B97739"><title>Dictionary-compressed resource format</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This page describes the dictionary-compressed resource file format introduced from Symbian OS v7.0. This format can produce higher-compression than the simple compression format.</p> <p>The format is supported by the resource reading APIs, but Development Kits do not currently contain a resource compiler that produces this format.</p> <table id="GUID-BBB907BA-47D0-5218-94D8-C6DA502830EE"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p><b>Number of bytes</b> </p> </entry> <entry><p><b>Description</b> </p> </entry> </row> <row><entry><p>16</p> </entry> <entry><p>These bytes store the resource file’s UIDs.</p> <p> The first twelve bytes consist of three four-byte integers (in little-endian byte order) followed by a four-byte CRC checksum generated from those three integers. </p> <p>The first UID is always 0x101f5010. </p> <p>The second and third UIDs are the same as the second and third UIDs of the file from which the dictionary-compressed resource-file is generated.</p> </entry> </row> <row><entry><p>1</p> </entry> <entry><p><i>The least significant three bits:</i> </p> <p>These store the number of bits used for dictionary references, storing this value as an offset from 3. For example, if 2 is stored in these three bits, then the number of bits per dictionary reference would be 3+2=5. Thus, the number of bits per dictionary reference may range inclusively from 3 (=3+0) to 10 (=3+7). The maximum number of dictionary entries for each number of bits per dictionary reference is therefore 8 (=2<sup>3</sup>), 16 (=2<sup>4</sup>), 32 (=2<sup>5</sup>), 64 (=2<sup>6</sup>), 128 (=2<sup>7</sup>), 256 (=2<sup>8</sup>), 512 (=2<sup>9</sup>), 1024 (=2<sup>10</sup>).</p> <p><i>The most significant five bits:</i> </p> <p>This stores flags. Currently there are three flags defined:</p> <p>The most significant bit (0x80) indicates whether the third UID is actually the resource file’s offset (see the first row of the preceding table for a description of what the offset is). The bit is set to non-zero if it is, and zero if it is not.</p> <p>The second-most significant bit (0x40) indicates whether the first resource in the resource file (from the client’s point of view) is an <codeph>RSS_SIGNATURE</codeph> with default values for which <i>no</i> data is actually stored later in the resource file. The bit is set to non-zero if it is, and zero if it is not. This flag must only be on if the third UID of the resource file is the resource file’s offset (see the 0x80 flag described immediately above).</p> <p>The third-most significant bit (0x20) flags if the bit-array that indicates which resources contain compressed Unicode has been stored as a resource before the client’s actual resources. (If it is stored as a resource, it benefits by being dictionary-compressed.) The bit is set to non-zero if the bit-array is stored as a resource, and zero if it is simply stored as a field on its own (see the fifth row of this table).</p> <p>Note that the bit-array will not contain a bit that refers to the “non-stored” (if the 0x40 flag is on) initial <codeph>RSS_SIGNATURE</codeph> resource. It will also not contain a bit that refers to itself if it is stored as a resource (i.e. if the 0x20 flag is on).</p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores the size in bytes of the largest resource in the file (that is, the size when uncompressed with regard to both dictionary-compression and compressed Unicode).</p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores the file-position of the start of the resource data (see the penultimate row of this table for a description of the resource data).</p> </entry> </row> <row><entry><p>Number_of_resources/8 (rounded up to the nearest whole number), or zero if the 0x20 flag (described in the second row of this table) is on</p> </entry> <entry><p>This is a bit-array (one bit for each resource) storing which resources contain compressed Unicode. This field is not always present (see the left-hand column).</p> </entry> </row> <row><entry><p>[any]</p> </entry> <entry><p>This contains the data for all the dictionary entries stored one after another with no bit-padding between them, encoded according to the scheme described in the next table. The last dictionary entry, if not finishing on a byte-boundary, is followed by zero pad-bits up to the next byte-boundary.</p> </entry> </row> <row><entry><p>Number_of_dictionary_entries*2</p> </entry> <entry><p>This is the dictionary index which is a series of two-byte integers (in little-endian byte order), one for each dictionary entry, each storing the offset in bits from the start of the entire dictionary data to one-bit past the end of that dictionary entry’s data (see row immediately above).</p> </entry> </row> <row><entry><p>[any]</p> </entry> <entry><p>This contains the data for all the resources stored in order, one after another with no bit-padding between them, encoded according to the scheme described in the next table. The data for the last resource, if not finishing on a byte-boundary, is followed by zero pad-bits up to the next byte-boundary.</p> </entry> </row> <row><entry><p>Number_of_resources*2, or (number_of_resources-1)*2 if the 0x40 flag (described in the second row of this table) is on</p> </entry> <entry><p>This is the resource index which is a series of two-byte integers (in little-endian byte order), one for each <i>stored</i> resource, each storing the offset in bits from the start of the entire resource data to one-bit past the end of that resource’s data (see row immediately above).</p> </entry> </row> </tbody> </tgroup> </table> <p>The data for each dictionary entry and the data for each resource consist of zero, one or more of the following bit-sequences shown in the table below. Note that the order of bits is taken as going from least-significant to most-significant. Thus, for example, the binary prefix 10 (assuming that these bits were not split across a byte-boundary) would actually be stored with the 1 in the less significant bit of the bit-pair and the 0 in the more significant bit.</p> <table id="GUID-4CE924FB-B8D7-51FE-9E67-CD9188E06D3D"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p><b>Prefix bits</b> </p> </entry> <entry><p><b>Description of what follows</b> </p> </entry> </row> <row><entry><p>0</p> </entry> <entry><p>This is followed by a dictionary reference (the second row of the previous table describes the field indicating how many bits a dictionary reference occupies). A dictionary reference is a zero-based index* into the dictionary entries, i.e. a dictionary reference of 0 indicates the first dictionary entry, and dictionary reference of 1 indicates the second dictionary entry, etc.</p> </entry> </row> <row><entry><p>10</p> </entry> <entry><p>This is followed by one octet of data, the least significant bit of the octet being stored first.</p> </entry> </row> <row><entry><p>110</p> </entry> <entry><p>This is followed by two octets of data, the least significant bit of the first octet being stored first.</p> </entry> </row> <row><entry><p>1110</p> </entry> <entry><p>This is followed by a three-bit integer* storing the number of subsequent octets minus 3, followed by those octets themselves (the least significant bit of the first octet being stored first). Use this to store a run of between 3 and 10 octets (inclusive).</p> </entry> </row> <row><entry><p>1111</p> </entry> <entry><p>This is followed by an eight-bit integer* storing the number of subsequent octets minus 11, followed by those octets themselves (the least significant bit of the first octet being stored first). Use this to store a run of between 11 and 266 octets (inclusive).</p> </entry> </row> </tbody> </tgroup> </table> <p>* These integers, if split across one or more byte-boundaries are stored in little-endian “byte-order”, i.e. the segment of the integer stored in the “next” byte store <i>more</i> significant bits than the segment of the integer stored in the “current” byte.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-95A4DB2E-77CB-5151-8D7C-948C30348E13.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-95A4DB2E-77CB-5151-8D7C-948C30348E13.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,6 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-95A4DB2E-77CB-5151-8D7C-948C30348E13"><title>Architecture</title><shortdesc>The telephony server plug-in is the interface between the telephony server and the baseband. This topic describes the architectural relationship between the telephony server plug-in components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The CTSY inherits its base class from the <xref href="GUID-C1795E41-CB12-3116-8F57-51ADDD6A264D.dita"><apiname>telephony</apiname></xref> Server. The server can be <xref href="GUID-E0BA28A0-5546-3378-A330-ECF27BA81035.dita"><apiname>CCallBase</apiname></xref>, <xref href="GUID-38F19E7C-A1BC-3E8B-805B-3944775B2D63.dita"><apiname>CPhoneBase</apiname></xref> or <xref href="GUID-78926205-95F5-332B-9B94-0611AA084B4D.dita"><apiname>CLineBase</apiname></xref>. CTSY has two main APIs: </p> <p><b>TSY plug-in API </b> </p> <p>This API is used for communication with the telephony server. The telephony client sends the request to the telephony server for any communication that requires baseband connection. The telephony server forwards these requests to the LTSY through TSY plug-in API. </p> <p><b>Common TSY plug-in API </b> </p> <p>This interface is used for the communication between the CTSY and the LTSY. The CTSY forwards the telephony client request to the LTSY using the Common TSY plug-in API as CTSY messages. The CTSY messages are converted to baseband requests by the LTSY. </p> <p>The CTSY is implemented as a static <codeph>DLL</codeph> and it is loaded during device boot time by the telephony server. The telephony server and the CTSY run in the same thread. Since it is a static DLL, the initialisation will not fail. </p> <fig id="GUID-08D9122B-F7B8-5B90-AC7E-B8FF222657BF"><image href="GUID-9DCD62DF-C523-5D00-85CD-5AC82C9E9F02_d0e55155_href.png" placement="inline"/></fig> <p>There are two variants of Common TSY: </p> <ul><li id="GUID-A21A18D2-11D8-5895-ADD0-4421091D2C5C"><p>Common TSY without Dispatcher </p> </li> <li id="GUID-8AF22528-A9B6-5465-A817-0E2CDBE13EE0"><p>Common TSY with Dispatcher </p> </li> </ul> <section id="GUID-2B86BD4F-66D5-514A-9EA3-17A711B02DE8"><title>Common TSY without Dispatcher</title> <p>Telephony clients send requests which can be mode specific or mode independent. The mode can be GSM or UMTS. These requests are passed on to CTSY by the telephony server (ETel). The mode independent requests are handled by CTSY and the mode specific requests are handled by the extension modules such as <xref href="GUID-6412C1AF-CD93-3AE4-87CA-0CA8C37EBCE0.dita"><apiname>CMmPhoneGsmWcdmaExtInterface</apiname></xref>. A mode specific extension module may process the requests related to specific technologies such as GSM or UMTS. </p> <fig id="GUID-701013DE-D163-5952-87AA-B6599A47E0C6"><title>
+<concept xml:lang="en" id="GUID-95A4DB2E-77CB-5151-8D7C-948C30348E13"><title>Architecture</title><shortdesc>The telephony server plug-in is the interface between the telephony server and the baseband. This topic describes the architectural relationship between the telephony server plug-in components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The CTSY inherits its base class from the <xref href="GUID-C1795E41-CB12-3116-8F57-51ADDD6A264D.dita"><apiname>telephony</apiname></xref> Server. The server can be <xref href="GUID-E0BA28A0-5546-3378-A330-ECF27BA81035.dita"><apiname>CCallBase</apiname></xref>, <xref href="GUID-38F19E7C-A1BC-3E8B-805B-3944775B2D63.dita"><apiname>CPhoneBase</apiname></xref> or <xref href="GUID-78926205-95F5-332B-9B94-0611AA084B4D.dita"><apiname>CLineBase</apiname></xref>. CTSY has two main APIs: </p> <p><b>TSY plug-in API </b> </p> <p>This API is used for communication with the telephony server. The telephony client sends the request to the telephony server for any communication that requires baseband connection. The telephony server forwards these requests to the LTSY through TSY plug-in API. </p> <p><b>Common TSY plug-in API </b> </p> <p>This interface is used for the communication between the CTSY and the LTSY. The CTSY forwards the telephony client request to the LTSY using the Common TSY plug-in API as CTSY messages. The CTSY messages are converted to baseband requests by the LTSY. </p> <p>The CTSY is implemented as a static <codeph>DLL</codeph> and it is loaded during device boot time by the telephony server. The telephony server and the CTSY run in the same thread. Since it is a static DLL, the initialisation will not fail. </p> <fig id="GUID-08D9122B-F7B8-5B90-AC7E-B8FF222657BF"><image href="GUID-9DCD62DF-C523-5D00-85CD-5AC82C9E9F02_d0e59389_href.png" placement="inline"/></fig> <p>There are two variants of Common TSY: </p> <ul><li id="GUID-A21A18D2-11D8-5895-ADD0-4421091D2C5C"><p>Common TSY without Dispatcher </p> </li> <li id="GUID-8AF22528-A9B6-5465-A817-0E2CDBE13EE0"><p>Common TSY with Dispatcher </p> </li> </ul> <section id="GUID-2B86BD4F-66D5-514A-9EA3-17A711B02DE8"><title>Common TSY without Dispatcher</title> <p>Telephony clients send requests which can be mode specific or mode independent. The mode can be GSM or UMTS. These requests are passed on to CTSY by the telephony server (ETel). The mode independent requests are handled by CTSY and the mode specific requests are handled by the extension modules such as <xref href="GUID-6412C1AF-CD93-3AE4-87CA-0CA8C37EBCE0.dita"><apiname>CMmPhoneGsmWcdmaExtInterface</apiname></xref>. A mode specific extension module may process the requests related to specific technologies such as GSM or UMTS. </p> <fig id="GUID-701013DE-D163-5952-87AA-B6599A47E0C6"><title>
              Common TSY without Dispatcher 
-          </title> <image href="GUID-7A6FFAD1-5358-5050-9728-5C51B5B225AF_d0e55187_href.png" placement="inline"/></fig> <p>The CTSY is independent of the LTSY and the baseband. The generic interface allows licensees to modify the LTSY and baseband, but allows easy integration. The phone engine is the main user of the CTSY but other processes such as the SIM Application Toolkit (SAT) can also use the CTSY. The phone engine is created by the telephony server when the phone boots. The phone engine initialises the CTSY and the LTSY when a first request call is made by one of the clients. The CTSY creates the message manager and the message router proxy. The LTSY creates a message router and message handlers. </p> <p id="GUID-20F2C7C0-C290-5D38-8075-E8A82E45CA6C"><b>Message manager</b> </p> <p>The message manager separates the CTSY from the LTSY. Telephony client requests are all processed by the message manager and passed to the LTSY using the message router. <xref href="GUID-AC6F8F0B-1B08-3A02-B82E-0E5D9222325C.dita"><apiname>CMmMessageRouterBase</apiname></xref> provides the required implementation for routing the client request to the LTSY. When the requests are acknowledged, the message manager forwards the response message to the client. Each client is identified by a unique IPC number. LTSY should use the <xref href="GUID-9BD0D6D7-60F2-36BB-982E-7FA557BF3A28.dita"><apiname>MmMessageManagerCallback</apiname></xref> interface to respond to the telephony clients. </p> <p>The requests passed from CTSY to LTSY should be sent as a packaged data using the <xref href="GUID-1394910A-F1D8-315D-B0B3-9B34C89940CB.dita"><apiname>CmDataPackage</apiname></xref> template. The template class allows packing of two parameters together. </p> <p id="GUID-1CE2A549-33F7-5B9C-9DC8-D7FCE2A6C7B6"><b>Message router proxy</b> </p> <p>The message router proxy handles the response from the baseband to the CTSY. Message router proxy implements the <xref href="GUID-A80C1727-0165-3A3A-BDE6-A8AD50688535.dita"><apiname>MmMessageMangerCallBack</apiname></xref> which is used by the LTSY to respond back to the CTSY request messages using the <xref href="GUID-564D8ECF-A70E-30CC-9C68-F6BECBCBAC6E.dita"><apiname>Complete()</apiname></xref> method. </p> </section> <section id="GUID-0F0C43F2-471D-5E89-8F2A-C59777B8D904"><title>Common TSY with Dispatcher</title> <p>In the second variant of the CTSY a new layer is provided to decrease the development time of the LTSY. This new layer, between the CTSY and the LTSY, is known as the dispatch layer. The dispatch layer provides a simple interface to be implemented in the LTSY. The dispatch layer handles the packing and unpacking of messages between the CTSY and LTSY. The LTSY is responsible for the implementation of the functions defined in the dispatcher classes and translating the requests to baseband commands. </p> <fig id="GUID-5F413A61-3346-5710-848C-E48177D34DBD"><image href="GUID-2F48BCBA-9256-50B6-A8D1-02617655FEED_d0e55240_href.png" placement="inline"/></fig> <p><b>CTSY</b> </p> <p>The CTSY implements the message manager. The message manager processes the incoming client requests and pass them to appropriate dispatcher class through the message router. The acknowledgements from the dispatcher class are passed back to the clients through the telephony server. </p> <p><b>Dispatcher</b> </p> <p>The dispatch layer provides the following: </p> <ul><li id="GUID-98C9CEF6-7C04-55ED-BC19-F9335F9AABD7"><p> <b>LTSY factory classes</b>  </p> <p>The factory classes creates the required interfaces for communication between the LTSY and the CTSY. </p> </li> <li id="GUID-5288D29B-DD65-5F46-BF32-54228195CB53"><p> <b>Message router</b>  </p> <p>The message router is responsible to call the appropriate dispatcher class function. </p> </li> <li id="GUID-CB3EB222-6C3B-5DA6-A91F-0714B846ABCF"><p> <b>Dispatcher classes </b>  </p> <p>The <xref href="GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9.dita#GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9/GUID-162746DD-E2E2-548F-8026-5C4281BF0CC5">dispatcher classes</xref> are grouped according to the functional areas. </p> </li> <li id="GUID-4E850C80-6CF0-5770-A915-F3B2ED58E3F2"><p> <b>Call-back functions</b>  </p> <p>The LTSY uses the call-back function to acknowledge previous request or to notify an event. </p> </li> </ul> <p> <i>Note:</i> Some of the functions may not be implemented in the LTSY. When the dispatcher receives a request for an unsupported function it returns <codeph>KErrNotSupported</codeph> to the clients. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-7A6FFAD1-5358-5050-9728-5C51B5B225AF_d0e59421_href.png" placement="inline"/></fig> <p>The CTSY is independent of the LTSY and the baseband. The generic interface allows licensees to modify the LTSY and baseband, but allows easy integration. The phone engine is the main user of the CTSY but other processes such as the SIM Application Toolkit (SAT) can also use the CTSY. The phone engine is created by the telephony server when the phone boots. The phone engine initialises the CTSY and the LTSY when a first request call is made by one of the clients. The CTSY creates the message manager and the message router proxy. The LTSY creates a message router and message handlers. </p> <p id="GUID-20F2C7C0-C290-5D38-8075-E8A82E45CA6C"><b>Message manager</b> </p> <p>The message manager separates the CTSY from the LTSY. Telephony client requests are all processed by the message manager and passed to the LTSY using the message router. <xref href="GUID-AC6F8F0B-1B08-3A02-B82E-0E5D9222325C.dita"><apiname>CMmMessageRouterBase</apiname></xref> provides the required implementation for routing the client request to the LTSY. When the requests are acknowledged, the message manager forwards the response message to the client. Each client is identified by a unique IPC number. LTSY should use the <xref href="GUID-9BD0D6D7-60F2-36BB-982E-7FA557BF3A28.dita"><apiname>MmMessageManagerCallback</apiname></xref> interface to respond to the telephony clients. </p> <p>The requests passed from CTSY to LTSY should be sent as a packaged data using the <xref href="GUID-1394910A-F1D8-315D-B0B3-9B34C89940CB.dita"><apiname>CmDataPackage</apiname></xref> template. The template class allows packing of two parameters together. </p> <p id="GUID-1CE2A549-33F7-5B9C-9DC8-D7FCE2A6C7B6"><b>Message router proxy</b> </p> <p>The message router proxy handles the response from the baseband to the CTSY. Message router proxy implements the <xref href="GUID-A80C1727-0165-3A3A-BDE6-A8AD50688535.dita"><apiname>MmMessageMangerCallBack</apiname></xref> which is used by the LTSY to respond back to the CTSY request messages using the <xref href="GUID-564D8ECF-A70E-30CC-9C68-F6BECBCBAC6E.dita"><apiname>Complete()</apiname></xref> method. </p> </section> <section id="GUID-0F0C43F2-471D-5E89-8F2A-C59777B8D904"><title>Common TSY with Dispatcher</title> <p>In the second variant of the CTSY a new layer is provided to decrease the development time of the LTSY. This new layer, between the CTSY and the LTSY, is known as the dispatch layer. The dispatch layer provides a simple interface to be implemented in the LTSY. The dispatch layer handles the packing and unpacking of messages between the CTSY and LTSY. The LTSY is responsible for the implementation of the functions defined in the dispatcher classes and translating the requests to baseband commands. </p> <fig id="GUID-5F413A61-3346-5710-848C-E48177D34DBD"><image href="GUID-2F48BCBA-9256-50B6-A8D1-02617655FEED_d0e59474_href.png" placement="inline"/></fig> <p><b>CTSY</b> </p> <p>The CTSY implements the message manager. The message manager processes the incoming client requests and pass them to appropriate dispatcher class through the message router. The acknowledgements from the dispatcher class are passed back to the clients through the telephony server. </p> <p><b>Dispatcher</b> </p> <p>The dispatch layer provides the following: </p> <ul><li id="GUID-98C9CEF6-7C04-55ED-BC19-F9335F9AABD7"><p> <b>LTSY factory classes</b>  </p> <p>The factory classes creates the required interfaces for communication between the LTSY and the CTSY. </p> </li> <li id="GUID-5288D29B-DD65-5F46-BF32-54228195CB53"><p> <b>Message router</b>  </p> <p>The message router is responsible to call the appropriate dispatcher class function. </p> </li> <li id="GUID-CB3EB222-6C3B-5DA6-A91F-0714B846ABCF"><p> <b>Dispatcher classes </b>  </p> <p>The <xref href="GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9.dita#GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9/GUID-162746DD-E2E2-548F-8026-5C4281BF0CC5">dispatcher classes</xref> are grouped according to the functional areas. </p> </li> <li id="GUID-4E850C80-6CF0-5770-A915-F3B2ED58E3F2"><p> <b>Call-back functions</b>  </p> <p>The LTSY uses the call-back function to acknowledge previous request or to notify an event. </p> </li> </ul> <p> <i>Note:</i> Some of the functions may not be implemented in the LTSY. When the dispatcher receives a request for an unsupported function it returns <codeph>KErrNotSupported</codeph> to the clients. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-95CE2206-7AE0-48C0-97A7-4E2082F9F662.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-95CE2206-7AE0-48C0-97A7-4E2082F9F662.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 </ol>
 <fig id="GUID-DF6096FC-49A1-4120-81BB-141A1B3ADC8B">
 <title>Fixed toolbar with implementation classes</title>
-<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e102743_href.png" placement="inline"/>
+<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e106763_href.png" placement="inline"/>
 </fig>
 <section id="GUID-96305ADF-504C-416D-9CE8-8727830FC287"><title>Implementing
 a toolbar</title><p>To use a toolbar in your application, implement the following
--- a/Symbian3/PDK/Source/GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,8 +37,10 @@
 <li><p><xref href="GUID-8DE05785-D058-3855-A11F-7132EB4DE078.dita"><apiname>CEZGZipToFile</apiname></xref></p></li>
 <li><p><xref href="GUID-417AB4E0-FF07-34CB-A4A8-CEF31C48A162.dita"><apiname>CEZFileToGZip</apiname></xref></p></li>
 </ul></section>
-<section id="GUID-986B5547-0C87-57E1-893C-21444F82BE45"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build an application. </p> <p>The <codeph>EzlibExample</codeph> builds an executable file called <filepath>ezlibexample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> &lt;<varname>build_variant</varname> &gt; for CodeWarrior). After launching
-the executable, depending on the emulator you are using, you may need
-to navigate using the application launcher or the <codeph>eshell</codeph> screen to view the console. </p> </section>
+<section id="GUID-986B5547-0C87-57E1-893C-21444F82BE45"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The <codeph>EzlibExample</codeph> builds an executable
+file called <filepath>ezlibexample.exe</filepath> in the standard
+location (<filepath>\epoc32\release\winscw\</filepath> &lt;<varname>build_variant</varname> &gt; for CodeWarrior). After launching the executable,
+depending on the emulator you are using, you may need to navigate
+using the application launcher or the <codeph>eshell</codeph> screen
+to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9620407B-0560-5D95-A862-5AE406C48983.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9620407B-0560-5D95-A862-5AE406C48983.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,11 +22,11 @@
 and the components in its environment are shown below. It uses the <xref href="GUID-0AAAEFCF-ACFC-302C-81FA-388AACEE979C.dita"><apiname>RResourceFile</apiname></xref> class to access
 the actual resource files. </p> <fig id="GUID-EF915116-AF30-58ED-A3AC-ED104AF22687">
 <title>              String Resource Reader environment            </title>
-<image href="GUID-B409C23A-F89E-5D30-B172-1F39C3F6A57F_d0e76888_href.png" placement="inline"/>
+<image href="GUID-B409C23A-F89E-5D30-B172-1F39C3F6A57F_d0e81101_href.png" placement="inline"/>
 </fig> <p>String Resource Reader consists of one class, <xref href="GUID-0AAAEFCF-ACFC-302C-81FA-388AACEE979C.dita"><apiname>CTulStringResourceReader</apiname></xref>.
 String Resource Reader uses <xref href="GUID-0AAAEFCF-ACFC-302C-81FA-388AACEE979C.dita"><apiname>BaflUtils</apiname></xref> and <xref href="GUID-0AAAEFCF-ACFC-302C-81FA-388AACEE979C.dita"><apiname>RResourceFile.</apiname></xref>  </p> <fig id="GUID-497C1945-CD4F-5396-8B45-E809380A129C">
 <title>              Class diagram            </title>
-<image href="GUID-5DB0F7C7-6132-552B-BA42-B47D267D1143_d0e76911_href.png" placement="inline"/>
+<image href="GUID-5DB0F7C7-6132-552B-BA42-B47D267D1143_d0e81124_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-9595A884-0840-41D5-9448-E0297941DBA9"><title>Description</title> <p><b>Usage</b> </p> <p>String
 Resource Reader is designed to load strings from normal resource files. The
--- a/Symbian3/PDK/Source/GUID-9660B072-9BD6-5A84-B45A-636F0D06D467.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9660B072-9BD6-5A84-B45A-636F0D06D467.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,12 +1,38 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9660B072-9BD6-5A84-B45A-636F0D06D467"><title>setopt</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><userinput>setopt [ {+|-}options | {+|-}o option_name ] [ name ... ] </userinput> </p> <p>Set the options for the shell. All options specified either with flags or by name are set. If no arguments are supplied, the names of all options currently set are printed. </p> <table id="GUID-A016C64A-86BC-5C8A-A627-3D155D21E452"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Option</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>-m</codeph>  </p> </entry> <entry><p>The arguments are taken as patterns (which should be quoted to protect them from filename expansion), and all options with names matching these patterns are set. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b> Note</b>: For information about the options supported by the <codeph>setopt</codeph> command, refer to <xref scope="external" href="http://zsh.dotsrc.org/Doc/Release/zsh_15.html">http://zsh.dotsrc.org</xref>. Note that not all the options listed on this web page are supported by Symbian. </p> </conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-9660B072-9BD6-5A84-B45A-636F0D06D467" xml:lang="en"><title>setopt</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><userinput>setopt [ {+|-}options | {+|-}o option_name ] [ name
+... ] </userinput> </p>
+<p>Set the options for the shell. All options specified either with
+flags or by name are set. If no arguments are supplied, the names
+of all options currently set are printed. </p>
+<table id="GUID-A016C64A-86BC-5C8A-A627-3D155D21E452">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>Option</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <codeph>-m</codeph>  </p> </entry>
+<entry><p>The arguments are taken as patterns (which should be quoted
+to protect them from filename expansion), and all options with names
+matching these patterns are set. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<p> <b> Note</b>: For information about the options supported by the <codeph>setopt</codeph> command, refer to <xref format="html" href="http://zsh.dotsrc.org/Doc/Release/zsh_15.html" scope="external">http://zsh.dotsrc.org</xref>. Note that not all the options listed
+on this web page are supported by Symbian. </p>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9665C072-EA52-54B8-87A3-A7F818940DCD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9665C072-EA52-54B8-87A3-A7F818940DCD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 field at a given location in a record is in a column. A table can also be
 called a record set. </p>
 <fig id="GUID-5ABD88C0-67E4-5091-BE8F-56ABFED4FEC8">
-<image href="GUID-F7BFE6E3-0EEE-536C-8411-65D8F5FEBF2E_d0e109434_href.png" placement="inline"/>
+<image href="GUID-F7BFE6E3-0EEE-536C-8411-65D8F5FEBF2E_d0e111857_href.png" placement="inline"/>
 </fig>
 <p>Tables, records, columns and fields are all CommsDat elements. An element
 is an item that can be stored in the Comms Database. </p>
--- a/Symbian3/PDK/Source/GUID-9665D904-8B86-4680-AD19-85E1609F450F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9665D904-8B86-4680-AD19-85E1609F450F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -44,6 +44,6 @@
 phone right side up orientation the gravitation is along the x-axis. In display
 upwards and display downwards orientation the gravitation is along the z-axis.<fig id="GUID-C3EAA1EC-EADE-4F8E-86DC-D9EB6DA3B874">
 <title>Basic orientations of a Symbian device</title>
-<image href="GUID-56BC73B4-E919-487A-9D29-99584204F14C_d0e164912_href.png" placement="inline"/>
+<image href="GUID-56BC73B4-E919-487A-9D29-99584204F14C_d0e171005_href.png" placement="inline"/>
 </fig></p></section>
 </refbody></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e1693_href.png has changed
Binary file Symbian3/PDK/Source/GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e1697_href.png has changed
--- a/Symbian3/PDK/Source/GUID-96975165-9194-5FDF-8160-3A020522263A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-96975165-9194-5FDF-8160-3A020522263A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,20 +11,20 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task xml:lang="en" id="GUID-96975165-9194-5FDF-8160-3A020522263A"><title>Run PSY Tester </title><shortdesc>This section describes how to run PSY tester. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context><p>PSY Tester is run to select and test PSY(s). </p> <p>PSY Tester is implemented as a console application, which means that it has a limited UI. This is because it must be possible to use the same implementation of PSY Tester independently of the graphical UI of the phone on which it runs. </p> <p>The information in this document about which keys to press is valid for a Series 60 target device. For a translation list of the keys to be used when running the PSY Tester application on the emulator, see the key table in <xref href="GUID-1B03B926-8EA9-50B4-8300-B82EC1CDF658.dita">PSY Tester Reference</xref>. </p> </context> <steps id="GUID-8526C985-B9F8-5B28-A089-FFD2246CB0FA"><step id="GUID-FB2D2008-1AD7-5902-9D3A-28C300E7820A"><cmd>Start PSY Tester to show the Start View </cmd> <info>Start the PSY Tester application <filepath>psytester.exe</filepath> from a file browser or eshell. The Start View of Figure 1 is displayed. </info> <info><fig id="GUID-33BC9181-58CE-50AF-9563-07BEADBD7EAB"><title>
                   Figure 1: PSY Tester Start View 
-                </title> <image href="GUID-A583E66D-D2ED-5C1C-AF2C-38060D926881_d0e458957_href.png" placement="inline"/></fig> </info> <info>The Start View is displayed every time PSY Tester is started. A user can obtain help be pressing the left soft key or H to show the Help View of Figure 2. This Help View shows the different commands that are used to control PSY Tester. <xref href="GUID-1B03B926-8EA9-50B4-8300-B82EC1CDF658.dita">PSY Tester Reference</xref> describes the commands in this menu. </info> <info><fig id="GUID-DF3D180F-D117-579E-8E44-47CC609BD8C8"><title>
+                </title> <image href="GUID-A583E66D-D2ED-5C1C-AF2C-38060D926881_d0e464802_href.png" placement="inline"/></fig> </info> <info>The Start View is displayed every time PSY Tester is started. A user can obtain help be pressing the left soft key or H to show the Help View of Figure 2. This Help View shows the different commands that are used to control PSY Tester. <xref href="GUID-1B03B926-8EA9-50B4-8300-B82EC1CDF658.dita">PSY Tester Reference</xref> describes the commands in this menu. </info> <info><fig id="GUID-DF3D180F-D117-579E-8E44-47CC609BD8C8"><title>
                   Figure 2: PSY Tester Help View. 
-                </title> <image href="GUID-299D0C57-F200-5135-B4D6-304002730A28_d0e458971_href.png" placement="inline"/></fig> </info> </step> <step id="GUID-C611DB0D-20B3-5C4C-86ED-64BC0B01096B"><cmd>List the installed PSYs and select one for test </cmd> <info>Press "Joystick Right" ("Arrow Right" in an emulator) to shift view. The PSY Tester List View is shown (figure 3) </info> <info>The List View lists the PSYs from index 1 to 4. If there are more PSYs installed than can be shown on one screen, they are listed when the user moves the joystick down (Arrow Down in an emulator). </info> <info><fig id="GUID-C0BA0422-A2E7-5B83-849E-571515B77073"><title>
+                </title> <image href="GUID-299D0C57-F200-5135-B4D6-304002730A28_d0e464816_href.png" placement="inline"/></fig> </info> </step> <step id="GUID-C611DB0D-20B3-5C4C-86ED-64BC0B01096B"><cmd>List the installed PSYs and select one for test </cmd> <info>Press "Joystick Right" ("Arrow Right" in an emulator) to shift view. The PSY Tester List View is shown (figure 3) </info> <info>The List View lists the PSYs from index 1 to 4. If there are more PSYs installed than can be shown on one screen, they are listed when the user moves the joystick down (Arrow Down in an emulator). </info> <info><fig id="GUID-C0BA0422-A2E7-5B83-849E-571515B77073"><title>
                   Figure 3: PSY Tester List View. 
-                </title> <image href="GUID-0B41947E-B710-5D89-AEEF-6EFF496BAD96_d0e458990_href.png" placement="inline"/></fig> </info> <info>By default, all installed PSYs are listed. If any of the installed PSYs must not be shown in the PSY Tester List view, the UID of the PSY can be specified in the PSY Tester resource file under <codeph>r_pos_psy_tester_psy_uid_excludes_list</codeph>. </info> <info>The PSY Tester List View shows PSY implementation information that has been retrieved from PSY resource files. The information presented for each PSY is as follows: </info> <substeps id="GUID-B838A035-C8CC-5450-850E-D0121B70E872"><substep id="GUID-6E8799B2-BCC6-550F-92F4-2684BAC61526"><cmd/><info>The first row shows the display name for the PSY as specified in the PSY resource file as <codeph>display_name</codeph>. In figure 3 the PSY display name for the PSY with index 25 has <codeph>display_name = "Test PSY5
+                </title> <image href="GUID-0B41947E-B710-5D89-AEEF-6EFF496BAD96_d0e464835_href.png" placement="inline"/></fig> </info> <info>By default, all installed PSYs are listed. If any of the installed PSYs must not be shown in the PSY Tester List view, the UID of the PSY can be specified in the PSY Tester resource file under <codeph>r_pos_psy_tester_psy_uid_excludes_list</codeph>. </info> <info>The PSY Tester List View shows PSY implementation information that has been retrieved from PSY resource files. The information presented for each PSY is as follows: </info> <substeps id="GUID-B838A035-C8CC-5450-850E-D0121B70E872"><substep id="GUID-6E8799B2-BCC6-550F-92F4-2684BAC61526"><cmd/><info>The first row shows the display name for the PSY as specified in the PSY resource file as <codeph>display_name</codeph>. In figure 3 the PSY display name for the PSY with index 25 has <codeph>display_name = "Test PSY5
                      Status"</codeph> in the PSY resource file. </info> <info>If the PSY name is too long to fit on one row, the extra characters are not shown. </info> </substep> <substep id="GUID-63BDE1F9-93D3-56AA-88A0-A1983518A365"><cmd/><info>The second row shows the implementation UID for the PSY, specified in the PSY resource file as <codeph>implementation_uid</codeph>. </info> <info>In figure 3, the implementation UID for the PSY with index 25 has i<codeph>mplementation_uid = 0x01ff0018</codeph> in the PSY resource file. </info> </substep> <substep id="GUID-D61DAA83-755C-5284-9394-DA5A20BA7DE3"><cmd/><info>The third row shows the version number of the PSY, specified in the resource file as <codeph>version_no</codeph>. </info> <info>In figure 3, the version number for the PSY with index 25 is specified as <codeph>version_no = 1</codeph> in the resource file. </info> </substep> </substeps> <info>To select PSY <codeph>"Test PSY5 Status"</codeph> (which has index number 25 in the list in figure 3) for testing, type 25. </info> <info>In response <codeph>PSY: 25</codeph> is displayed as shown in Figure 4. </info> <info><fig id="GUID-D9F61C36-95DD-530D-8ED5-20D929D826C2"><title>
                   Figure 4: PSY Tester List View with selected PSY. 
-                </title> <image href="GUID-9B123F74-DD52-5975-8DD7-80304A1D1D63_d0e459066_href.png" placement="inline"/></fig> </info> </step> <step id="GUID-73937F10-68C9-50FE-9045-F62058C8255D"><cmd>(Optional) Change the number of location requests for the memory consumption test. </cmd> <info>Press "Joystick Right" ("Arrow Right" in an emulator) to show the PSY Tester Settings View (figure 5). </info> <info><fig id="GUID-1C4CAFC2-E04D-5DCE-85E0-ABD20B477AB5"><title>
+                </title> <image href="GUID-9B123F74-DD52-5975-8DD7-80304A1D1D63_d0e464911_href.png" placement="inline"/></fig> </info> </step> <step id="GUID-73937F10-68C9-50FE-9045-F62058C8255D"><cmd>(Optional) Change the number of location requests for the memory consumption test. </cmd> <info>Press "Joystick Right" ("Arrow Right" in an emulator) to show the PSY Tester Settings View (figure 5). </info> <info><fig id="GUID-1C4CAFC2-E04D-5DCE-85E0-ABD20B477AB5"><title>
                   Figure 5: PSY Tester Settings View. 
-                </title> <image href="GUID-54C2B185-3F56-5602-9021-34E27F0C40A6_d0e459082_href.png" placement="inline"/></fig> </info> <info>In Settings View the user can override the default number of location requests made for the memory consumption test. </info> <info>The memory consumption test requires that PSY Tester makes a large number of requests. A default value of 1000 requests is defined in the PSY Tester configuration file. Such a large number of requests significantly affects the testing time. The user can override this default value in the Settings View. </info> <info>To change the default number of requests, enter a number and press the joystick (press Enter on an emulator). Figure 6 shows an example or reducing the number of requests to 30. </info> <info><fig id="GUID-D4E4CAD7-B2D4-56BB-B2B3-6BF167D5C66E"><title>
+                </title> <image href="GUID-54C2B185-3F56-5602-9021-34E27F0C40A6_d0e464927_href.png" placement="inline"/></fig> </info> <info>In Settings View the user can override the default number of location requests made for the memory consumption test. </info> <info>The memory consumption test requires that PSY Tester makes a large number of requests. A default value of 1000 requests is defined in the PSY Tester configuration file. Such a large number of requests significantly affects the testing time. The user can override this default value in the Settings View. </info> <info>To change the default number of requests, enter a number and press the joystick (press Enter on an emulator). Figure 6 shows an example or reducing the number of requests to 30. </info> <info><fig id="GUID-D4E4CAD7-B2D4-56BB-B2B3-6BF167D5C66E"><title>
                   Figure 6: Overriding the number of location requests for the
                   memory consumption test. 
-                </title> <image href="GUID-A0051B62-FC01-5693-9532-EDBDB25634AA_d0e459099_href.png" placement="inline"/></fig> </info> <info>The value typed in the PSY Tester Settings view is used for all memory tests until the user selects to override the value with a new one or until PSY Tester is restarted. </info> <info>If 0 is selected as the number of location requests for the memory consumption test, it is not performed. </info> <info>The default value from the resource file is used every time PSY Tester is started if the user does not override the value as described above. </info> <info>A help view (figure 7) available for the PSY Tester Settings view by typing H. </info> <info>This help view gives information on how to turn off memory tests (by selecting 0) as well as information on the default value for the number of location requests for memory consumption test (1000). </info> <info><fig id="GUID-CE526086-9D21-5B66-A8A8-FAB35B0AC0BB"><title>
+                </title> <image href="GUID-A0051B62-FC01-5693-9532-EDBDB25634AA_d0e464944_href.png" placement="inline"/></fig> </info> <info>The value typed in the PSY Tester Settings view is used for all memory tests until the user selects to override the value with a new one or until PSY Tester is restarted. </info> <info>If 0 is selected as the number of location requests for the memory consumption test, it is not performed. </info> <info>The default value from the resource file is used every time PSY Tester is started if the user does not override the value as described above. </info> <info>A help view (figure 7) available for the PSY Tester Settings view by typing H. </info> <info>This help view gives information on how to turn off memory tests (by selecting 0) as well as information on the default value for the number of location requests for memory consumption test (1000). </info> <info><fig id="GUID-CE526086-9D21-5B66-A8A8-FAB35B0AC0BB"><title>
                   Figure 7: Help view for the PSY Tester Settings view 
-                </title> <image href="GUID-50930F20-0F6D-5FF6-A476-59F221DF5CD4_d0e459122_href.png" placement="inline"/></fig> </info> <info>Shift back to the PSY Tester List View by pressing Joystick Left (Arrow Left). </info> </step> <step id="GUID-C9D44F54-F608-52A6-A54F-383792D50F84"><cmd>Start the tests </cmd> <info>After selecting a PSY for test, press the joystick (Enter in emulator) to start the tests. </info> <info>A message is shown that states that the tests are running, followed later by a message when the tests are complete. </info> <info>The results for the tests are available in the log file. For log file details see <xref href="GUID-E6F4AC4E-7065-53BD-B9B3-B85D4257ED3C.dita">Read the test logs</xref>. </info> </step> </steps> <result><p>The PSY Tester runs the tests and writes test log files. </p> </result> <postreq><p>When the tests are finished, the user reads the log files to see the test results. </p> <p>See <xref href="GUID-E6F4AC4E-7065-53BD-B9B3-B85D4257ED3C.dita">Read the test logs</xref> for more information. </p> </postreq> </taskbody><related-links><link href="GUID-E6F4AC4E-7065-53BD-B9B3-B85D4257ED3C.dita"><linktext>Read
+                </title> <image href="GUID-50930F20-0F6D-5FF6-A476-59F221DF5CD4_d0e464967_href.png" placement="inline"/></fig> </info> <info>Shift back to the PSY Tester List View by pressing Joystick Left (Arrow Left). </info> </step> <step id="GUID-C9D44F54-F608-52A6-A54F-383792D50F84"><cmd>Start the tests </cmd> <info>After selecting a PSY for test, press the joystick (Enter in emulator) to start the tests. </info> <info>A message is shown that states that the tests are running, followed later by a message when the tests are complete. </info> <info>The results for the tests are available in the log file. For log file details see <xref href="GUID-E6F4AC4E-7065-53BD-B9B3-B85D4257ED3C.dita">Read the test logs</xref>. </info> </step> </steps> <result><p>The PSY Tester runs the tests and writes test log files. </p> </result> <postreq><p>When the tests are finished, the user reads the log files to see the test results. </p> <p>See <xref href="GUID-E6F4AC4E-7065-53BD-B9B3-B85D4257ED3C.dita">Read the test logs</xref> for more information. </p> </postreq> </taskbody><related-links><link href="GUID-E6F4AC4E-7065-53BD-B9B3-B85D4257ED3C.dita"><linktext>Read
                 the test logs</linktext> </link> <link href="GUID-5EED00FE-F39D-5942-BA22-1F286EFF38AA.dita"><linktext>PSY
                 Tutorial</linktext> </link> </related-links></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-969EA8CE-7B8C-458D-983B-837128F747E7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-969EA8CE-7B8C-458D-983B-837128F747E7" xml:lang="en"><title>Creating
+an installer as a server-side plug-in</title><shortdesc>Symbian provides an example server-side reference installer that
+demonstrates how to create an installer as a server-side plug-in. The example
+reference installer is available at <filepath>security/usif/examples/installer/</filepath>.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-4-1-4-1-3-1-6-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-5-1-1-6-1-4-1-4-1-3-1-6-1-3-1-1"><cmd>Create a client
+by implementing <xref href="GUID-D526646E-45DB-3DC4-9384-CFF02C590F74.dita"><apiname>RSifTransportClient</apiname></xref> to send software management
+requests across the process boundary to a specified Transport Server. </cmd>
+<info><p>Refer to <filepath>security/usif/examples/installer/inc/sifrefinstallerclient.h</filepath> and <filepath>security/usif/examples/installer/source/sifrefinstallerclient.cpp</filepath>.</p></info>
+</step>
+<step id="GUID-98764756-BCF4-49A5-A520-70B4B5543A24"><cmd>Create an ECom plug-in for installing the software type by defining
+and implementing the virtual functions of <xref href="GUID-CD380D01-8649-36E4-8435-C6F600D5A5CF.dita"><apiname>CSifPlugin</apiname></xref>.</cmd>
+<info><p>Refer to <filepath>security/usif/examples/installer/inc/sifrefplugin.h</filepath> and <filepath>security/usif/examples/installer/source/sifrefplugin.cpp</filepath>. </p></info>
+</step>
+<step id="GUID-C867A38E-D03A-4B27-9206-D485BC98ABF0"><cmd>Implement the respective server-side software management tasks
+using <xref href="GUID-6C066A48-4889-302B-879B-4A07552C3AFC.dita"><apiname>CSifTransportTask</apiname></xref>.</cmd>
+<info><p>Refer to <filepath>security/usif/examples/installer/inc/sifrefinstallertask.h</filepath> and <filepath>security/usif/examples/installer/source/sifrefinstallertask.cpp</filepath>.</p></info>
+</step>
+</steps>
+</taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644"><title>capability</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>capability</codeph>  <varname>capability-names</varname>  </p> <p>Use the <codeph>capability</codeph> statement to specify the platform security capabilities of the executable. </p> <p>The setting is only functional on OS versions based on the EKA2 kernel. For those versions based on EKA1, the keyword is ignored. </p> <p>The keyword is followed by a space separated set of capabilities, for example: </p> <codeblock id="GUID-F7231B14-D74B-5056-8752-245E29A3AFFA" xml:space="preserve">CAPABILITY LocalServices ReadDeviceData ReadUserData</codeblock> <p>The special capability name <codeph>ALL</codeph> is used to represents all capabilities supported by the current version of Symbian platform. This can be used as an alternative to naming all capabilities individually. </p> <p>ALL can also be used together with capability names prefixed by a '-', to indicate which capabilities to exclude, e.g. </p> <codeblock id="GUID-C694A53C-60CF-516B-A41B-E2F2A9DA0AB8" xml:space="preserve">CAPABILITY ALL -TCB -TrustedUI</codeblock> <p>indicates a set of all capabilities excluding <codeph>TCB</codeph> and <codeph>TrustedUI</codeph>. </p> <p>If no capabilities are required, then <codeph>NONE</codeph> can be used. </p> <p>If the <codeph>CAPABILITY</codeph> keyword is not present in the MMP file, then the default of <codeph>CAPABILITY NONE</codeph> is used. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-96E46D0E-1CE3-58B4-AE99-6B2E622ADAF9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-96E46D0E-1CE3-58B4-AE99-6B2E622ADAF9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,11 +36,14 @@
 <li id="GUID-4537F6DA-1880-5351-A194-079C4ECDE81D"><p> <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-BED44E59-A6A3-3302-8E11-487F005A3AB2"><apiname>RWindow::SetTransparentRegion(const
 TRegion&amp;)</apiname></xref>: this function restricts the transparency
 to a specified region of the window. </p> </li>
-</ul> <p><b>Handling window server events</b> </p> <p>The user-defined class <codeph>CEventHandler</codeph> handles
-pointer events when transparent areas of the window are clicked by
-the pointer device. An appropriate message is displayed when a <i>click</i> event is detected. </p> </section>
-<section id="GUID-0EBE02D4-1591-49ED-9B75-2383E8420E58"><title>Build</title> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian
-build process</xref> describes how to build this example. </p> <p>The <codeph>Transparent</codeph> example builds an executable called <filepath>transparent.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for Carbide.c++). </p> </section>
+</ul> <p><b>Handling window server events</b> </p> <p>The user-defined
+class <codeph>CEventHandler</codeph> handles pointer events when transparent
+areas of the window are clicked by the pointer device. An appropriate
+message is displayed when a <i>click</i> event is detected. </p> </section>
+<section id="GUID-0EBE02D4-1591-49ED-9B75-2383E8420E58"><title>Build</title> <p>The <codeph>Transparent</codeph> example builds an executable
+called <filepath>transparent.exe</filepath> in the standard location
+(<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for
+Carbide.c++). </p> </section>
 <section id="GUID-45BFAED8-FC21-423F-BA86-0C6A2D6BD010"><title>Running
 the example</title> <p>The example creates three windows: </p> <ul>
 <li id="GUID-A8AD34F4-034C-5359-861E-25807691B7A5"><p>One background
Binary file Symbian3/PDK/Source/GUID-96F5CB06-F1C2-5F37-B5B8-DA8C086B73AA_d0e63464_href.png has changed
Binary file Symbian3/PDK/Source/GUID-96F5CB06-F1C2-5F37-B5B8-DA8C086B73AA_d0e67695_href.png has changed
Binary file Symbian3/PDK/Source/GUID-96FEE9E3-E870-5CE2-A049-9425B82894B0_d0e433894_href.png has changed
Binary file Symbian3/PDK/Source/GUID-96FEE9E3-E870-5CE2-A049-9425B82894B0_d0e439739_href.png has changed
Binary file Symbian3/PDK/Source/GUID-970A2948-5A72-5E92-84C0-86DDEE59A569_d0e258363_href.png has changed
Binary file Symbian3/PDK/Source/GUID-970A2948-5A72-5E92-84C0-86DDEE59A569_d0e264372_href.png has changed
Binary file Symbian3/PDK/Source/GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e385983_href.png has changed
Binary file Symbian3/PDK/Source/GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e391835_href.png has changed
--- a/Symbian3/PDK/Source/GUID-971C9B81-1D6F-59E7-9416-385A0787D642.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-971C9B81-1D6F-59E7-9416-385A0787D642.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -47,7 +47,7 @@
 <fig id="GUID-02308139-5BC5-5098-BE15-178434158843">
 <title>           Example showing the order and priority of controls on the
 control stack                    </title>
-<image href="GUID-7AC4C1C2-D796-508F-93CF-21F061F49A30_d0e74797_href.png" placement="inline"/>
+<image href="GUID-7AC4C1C2-D796-508F-93CF-21F061F49A30_d0e79010_href.png" placement="inline"/>
 </fig>
 <p>On the stack shown in the diagram key-press events will be offered first
 to control D, followed by A, B and C in that order. A control on the stack
Binary file Symbian3/PDK/Source/GUID-973CF8E7-18C8-5E24-BC7A-97148FAEF3E4_d0e243549_href.png has changed
Binary file Symbian3/PDK/Source/GUID-973CF8E7-18C8-5E24-BC7A-97148FAEF3E4_d0e249560_href.png has changed
Binary file Symbian3/PDK/Source/GUID-97545AEB-0518-5937-AEB6-C97443B449D3_d0e468551_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-97545AEB-0518-5937-AEB6-C97443B449D3_d0e474396_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 
 <fig id="GUID-135CE360-B441-42A7-81E9-A702ADD5BB82">
 <title>The collections and components in the Graphics package       </title>
-<image href="GUID-F220E2B7-DE9B-5230-A396-15853369C176_d0e227215_href.png" placement="inline"/>
+<image href="GUID-F220E2B7-DE9B-5230-A396-15853369C176_d0e233208_href.png" placement="inline"/>
 </fig>
 
 <p>The following list gives links to high-level Graphics topics and the collections
--- a/Symbian3/PDK/Source/GUID-979D7C71-A61A-5A49-AF67-8BB9CF67AFF0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-979D7C71-A61A-5A49-AF67-8BB9CF67AFF0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-979D7C71-A61A-5A49-AF67-8BB9CF67AFF0"><title>Bluetooth Manager Overview</title><shortdesc>The Bluetooth Manager component provides non-volatile storage of details of Bluetooth devices in the Bluetooth Registry. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-91B15415-B73F-54E5-9594-5653EA049A42"><title>Purpose</title> <p>The Bluetooth Manager enables you to store details of devices in the Bluetooth Registry. It also enables you to retrieve, modify and delete the information about devices. </p> </section> <section><title>Key concepts and terms</title> <p>Documentation on the Bluetooth Manager component uses the following key concepts and terms: </p> <dl><dlentry><dt>Cookie</dt> <dd><p>Stored data that can be used by the UI whenever it is needed. </p> </dd> </dlentry> <dlentry><dt>EIR (Extended Inquiry Response)</dt> <dd><p>Information that is supplied by the host and transmitted in the inquiry responses sub-state. </p> </dd> </dlentry> <dlentry><dt>'Bonded' settings</dt> <dd><p>Details of peer devices with which a device has formed secure relationships in the past. </p> </dd> </dlentry> <dlentry><dt>'Last used' settings</dt> <dd><p>Details of when devices were last connected. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p> </p> <fig id="GUID-7E2B3D62-0831-5DE3-AC04-E52452462219"><title>
              Diagram showing Bluetooth Manager relationships 
-          </title> <image href="GUID-DD04585F-3D60-5CB2-8975-AE602B75740B_d0e643170_href.png" placement="inline"/></fig> </section> <section><title>Bluetooth Manager summary</title> <p>The Bluetooth Manager component provides the following: </p> <ul><li id="GUID-4F873B73-56D7-50A0-A613-E2F729F8BE2B"><p> <b>BT Device</b>  </p> <p> <filepath>btdevice.dll </filepath>  </p> <p>Provides a mechanism for discovering, setting and retreiving information about the various properties of a Bluetooth device. </p> </li> <li id="GUID-44EC161A-6BBD-5831-81C6-0F0C19C5F39A"><p> <b>BT Manager Client</b>  </p> <p> <filepath>btmanclient.dll</filepath>  </p> <p>Provides access to the Bluetooth Manager server. </p> </li> <li id="GUID-ECD90A67-CBDC-5AEA-8DA5-AA6CFD20432F"><p> <b>BT Manager Server</b>  </p> <p> <filepath>btmanserver.exe </filepath>  </p> <p>Provides access to the Bluetooth Registry. </p> </li> <li id="GUID-32617F23-964F-5EE1-8742-25646D4BA933"><p> <b>EIR Client</b>  </p> <p> <filepath>eirclient.dll</filepath>  </p> <p>Provides ways of publishing information over the Bluetooth EIR mechanism. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-DD04585F-3D60-5CB2-8975-AE602B75740B_d0e655992_href.png" placement="inline"/></fig> </section> <section><title>Bluetooth Manager summary</title> <p>The Bluetooth Manager component provides the following: </p> <ul><li id="GUID-4F873B73-56D7-50A0-A613-E2F729F8BE2B"><p> <b>BT Device</b>  </p> <p> <filepath>btdevice.dll </filepath>  </p> <p>Provides a mechanism for discovering, setting and retreiving information about the various properties of a Bluetooth device. </p> </li> <li id="GUID-44EC161A-6BBD-5831-81C6-0F0C19C5F39A"><p> <b>BT Manager Client</b>  </p> <p> <filepath>btmanclient.dll</filepath>  </p> <p>Provides access to the Bluetooth Manager server. </p> </li> <li id="GUID-ECD90A67-CBDC-5AEA-8DA5-AA6CFD20432F"><p> <b>BT Manager Server</b>  </p> <p> <filepath>btmanserver.exe </filepath>  </p> <p>Provides access to the Bluetooth Registry. </p> </li> <li id="GUID-32617F23-964F-5EE1-8742-25646D4BA933"><p> <b>EIR Client</b>  </p> <p> <filepath>eirclient.dll</filepath>  </p> <p>Provides ways of publishing information over the Bluetooth EIR mechanism. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-97ACFC53-4B55-5880-988D-7C376D8AFB16.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-97ACFC53-4B55-5880-988D-7C376D8AFB16.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-97ACFC53-4B55-5880-988D-7C376D8AFB16"><title>Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Session Description Protocol (SDP) provides the users with a standard representation for media details, transport addresses, and session description metadata. This representation is independent of the method the information is transported. The SDP Codec subsystem enables its clients the SDP Codec API do the following: </p> <ul><li id="GUID-F23DAFF5-DEA1-5461-9D63-5DD2EB14B604"><p>encode SDP descriptions into an internal form </p> </li> <li id="GUID-4004AFE6-86E9-5B41-919A-44B28F0229FB"><p>decode the descriptions from an internal form </p> </li> <li id="GUID-5EB2D0EE-B445-55C1-B01F-0094191DF6DB"><p>set and get the SDP field values </p> </li> </ul> <section id="GUID-3391D293-B505-5A83-A65F-327EBB6DC8D1"><title>Architectural Relationships</title> <p>The calls to the SDP Codec API are synchronous. The SDP Codec API does not require capabilities and it cannot be extended. </p> </section> <section id="GUID-992D636B-1616-5406-9781-4AF7C5920E76"><title>SDP Codec API class structure</title> <p>The client uses some or all the <xref href="GUID-390AECC6-C8FF-34ED-8717-7BFCC4CF92BE.dita"><apiname>SDP Codec API</apiname></xref> classes during the handling of a SDP description. The interface classes are derived from <xref href="GUID-8F6FE089-E2A8-30F4-B67E-10F286347681.dita"><apiname>CBase</apiname></xref>. The client has a 'use' relationship with the SDP Codec API library. </p> <p>The following illustration shows the SDP Codec API class structure. </p> <fig id="GUID-32BE2AEF-3C5C-5A3E-9A3D-0A438C63AB90"><image href="GUID-51D6F328-82C4-5224-A51B-3EB9D4FF7B4C_d0e551859_href.png" placement="inline"/></fig> </section> <section id="GUID-43570589-DEDC-5C5C-B26B-E848E05DA782"><title>Memory used</title> <p>The amount of memory used by every header object of the SDP Codec API is equivalent to the memory used by the header as text. </p> </section> <section><title>See also</title> <ul><li id="GUID-A789B4B4-EBEC-5503-9F0F-B89243ACEB4B"><p> <xref scope="external" href="http://www.ietf.org/html.charters/mmusic-charter.html">Multiparty Multimedia Session Control (mmusic)</xref>  </p> </li> <li id="GUID-7F67EFC9-D5B5-5398-99BC-6FBBA06F63C3"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc2326.txt?number=2326"> Real Time Streaming Protocol (RTSP)</xref>  </p> </li> <li id="GUID-09246FFB-A8D0-59D6-9C70-31554115EDD2"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc3312.txt?number=3312">Integration of Resource Management and Session Initiation Protocol (SIP)</xref>  </p> </li> <li id="GUID-3CB30366-70AE-5EB6-A2C0-B1A56BAC4C5C"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc3388.txt?number=3388">Grouping of Media Lines in the Session Description Protocol (SDP)</xref>  </p> </li> <li id="GUID-5507546A-0BDB-5CB6-B9C3-A730E7D38875"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc3264.txt?number=3264">An Offer/Answer Model with the Session Description Protocol (SDP)</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-97ACFC53-4B55-5880-988D-7C376D8AFB16"><title>Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Session Description Protocol (SDP) provides the users with a standard representation for media details, transport addresses, and session description metadata. This representation is independent of the method the information is transported. The SDP Codec subsystem enables its clients the SDP Codec API do the following: </p> <ul><li id="GUID-F23DAFF5-DEA1-5461-9D63-5DD2EB14B604"><p>encode SDP descriptions into an internal form </p> </li> <li id="GUID-4004AFE6-86E9-5B41-919A-44B28F0229FB"><p>decode the descriptions from an internal form </p> </li> <li id="GUID-5EB2D0EE-B445-55C1-B01F-0094191DF6DB"><p>set and get the SDP field values </p> </li> </ul> <section id="GUID-3391D293-B505-5A83-A65F-327EBB6DC8D1"><title>Architectural Relationships</title> <p>The calls to the SDP Codec API are synchronous. The SDP Codec API does not require capabilities and it cannot be extended. </p> </section> <section id="GUID-992D636B-1616-5406-9781-4AF7C5920E76"><title>SDP Codec API class structure</title> <p>The client uses some or all the <xref href="GUID-390AECC6-C8FF-34ED-8717-7BFCC4CF92BE.dita"><apiname>SDP Codec API</apiname></xref> classes during the handling of a SDP description. The interface classes are derived from <xref href="GUID-8F6FE089-E2A8-30F4-B67E-10F286347681.dita"><apiname>CBase</apiname></xref>. The client has a 'use' relationship with the SDP Codec API library. </p> <p>The following illustration shows the SDP Codec API class structure. </p> <fig id="GUID-32BE2AEF-3C5C-5A3E-9A3D-0A438C63AB90"><image href="GUID-51D6F328-82C4-5224-A51B-3EB9D4FF7B4C_d0e559315_href.png" placement="inline"/></fig> </section> <section id="GUID-43570589-DEDC-5C5C-B26B-E848E05DA782"><title>Memory used</title> <p>The amount of memory used by every header object of the SDP Codec API is equivalent to the memory used by the header as text. </p> </section> <section><title>See also</title> <ul><li id="GUID-A789B4B4-EBEC-5503-9F0F-B89243ACEB4B"><p> <xref scope="external" href="http://www.ietf.org/html.charters/mmusic-charter.html">Multiparty Multimedia Session Control (mmusic)</xref>  </p> </li> <li id="GUID-7F67EFC9-D5B5-5398-99BC-6FBBA06F63C3"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc2326.txt?number=2326"> Real Time Streaming Protocol (RTSP)</xref>  </p> </li> <li id="GUID-09246FFB-A8D0-59D6-9C70-31554115EDD2"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc3312.txt?number=3312">Integration of Resource Management and Session Initiation Protocol (SIP)</xref>  </p> </li> <li id="GUID-3CB30366-70AE-5EB6-A2C0-B1A56BAC4C5C"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc3388.txt?number=3388">Grouping of Media Lines in the Session Description Protocol (SDP)</xref>  </p> </li> <li id="GUID-5507546A-0BDB-5CB6-B9C3-A730E7D38875"><p> <xref scope="external" href="http://www.ietf.org/rfc/rfc3264.txt?number=3264">An Offer/Answer Model with the Session Description Protocol (SDP)</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-97C0A5B1-99AE-5F71-9092-A6976E54AEA7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-97C0A5B1-99AE-5F71-9092-A6976E54AEA7" xml:lang="en"><title>How
-to initialise STRUCT RESOURCE members</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><i><codeph>&lt;struct-initialiser&gt;</codeph></i>
-</p>
-<p><b>struct-initialiser ::=</b>
-    </p>
-<p><i><codeph>&lt;struct-name&gt;</codeph></i><b> {</b> <i><codeph>&lt;struct-initialiser-item-list&gt;</codeph></i> <b>}</b> <i><codeph>&lt;struct-initialiser-item&gt;</codeph></i>
-</p>
-<p><b>struct-initialiser-item ::=</b>
-    </p>
-<p><i><codeph>&lt;member-name&gt; = &lt;initialiser&gt; ;</codeph></i></p>
-<p>To initialise a member of <codeph>STRUCT</codeph> type, give the <varname>struct-name</varname> with
-which you wish to initialise it, and then specify each member of that struct
-which you wish to initialise.</p>
-<p>The <varname>member-name</varname>s listed must be members of the <varname>struct-name</varname> struct.
-Each <varname>initialise</varname> must be of a type compatible with the member
-it is initialising.</p>
-<p><b>Example</b> </p>
-<p>Given the previously defined struct types,</p>
-<codeblock id="GUID-B7A47237-F871-5A07-B97B-11034F7019D1" xml:space="preserve">STRUCT STRINGCOUNT
- {
- BUF message;
- WORD num;
- }</codeblock>
-<codeblock id="GUID-562D9436-F734-5E07-B452-08BD40F08959" xml:space="preserve">STRUCT SAMPLE
- {
- WORD anynumber;
- STRUCT text; // should be a STRINGCOUNT 
- }</codeblock>
-<p>the following example shows how to define the struct within a resource:</p>
-<codeblock id="GUID-425AD6B0-750B-56C2-8643-2726904C7DB7" xml:space="preserve">RESOURCE SAMPLE show_how
- {
- anynumber=10;
- text=STRINGCOUNT
-  {
-  message="Hello"
-  num=5;
-  };
- }</codeblock>
-<p><b>Type safety</b> </p>
-<p>The compiler does not enforce type safety. Any struct can be used to initialise
-a member declared to be of struct type. Usually, however, the designer of
-the struct will have intended only one or a limited number of structs ever
-be used to initialise a member. You should ensure that you initialise struct
-members with the intended struct type.</p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-97C9A782-A7DE-480B-9DE0-97B213AAEDD0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-97C9A782-A7DE-480B-9DE0-97B213AAEDD0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,12 +23,12 @@
 and “Enter PIN code”, and is always aligned close to input field.</p>
 <fig id="GUID-F92C4319-A768-41A0-99E8-07CA89C4BB08">
 <title>Example of alpha-numeric input mode in portrait and landscape.</title>
-<image href="GUID-B2523978-4262-4E32-B50D-4818AC561B6D_d0e91869_href.png" placement="inline"/>
+<image href="GUID-B2523978-4262-4E32-B50D-4818AC561B6D_d0e96067_href.png" placement="inline"/>
 </fig>
 <p>If only number entry is enabled, the Query input displays number buttons.</p>
 <fig id="GUID-01C7366B-3342-4A0C-9112-16D32FECAE96">
 <title>Example of numeric input mode in portrait and landscape.</title>
-<image href="GUID-56E67157-08EE-414A-9EC5-ADAF27E0D36A_d0e91880_href.png" placement="inline"/>
+<image href="GUID-56E67157-08EE-414A-9EC5-ADAF27E0D36A_d0e96078_href.png" placement="inline"/>
 </fig>
 <p>In other data queries, the touch input is opened with touch down and release
 to the editor. In query input, the input is instantly available for immediate
--- a/Symbian3/PDK/Source/GUID-97F216EE-B7EA-4A8A-A038-83E1548AE254.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-97F216EE-B7EA-4A8A-A038-83E1548AE254.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,6 +19,6 @@
 stretching OFF) and <codeph>1</codeph> (list stretching ON).</note></p>
 <fig id="GUID-5E954C2C-5CCB-4270-98D3-1EB9C3B1B1B1">
 <title>Example image of list stretch</title>
-<image href="GUID-A780F684-0F67-4A7F-B766-E69A5223F917_d0e83345_href.png" placement="inline"/>
+<image href="GUID-A780F684-0F67-4A7F-B766-E69A5223F917_d0e87543_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-97F4C412-5831-5735-9209-D81B4634D4F3_d0e450086_href.png has changed
Binary file Symbian3/PDK/Source/GUID-97F4C412-5831-5735-9209-D81B4634D4F3_d0e455931_href.png has changed
--- a/Symbian3/PDK/Source/GUID-983C5DB9-85EF-541E-B494-19E3E617914A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-983C5DB9-85EF-541E-B494-19E3E617914A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 <p>The following diagram shows the idea:</p>
 <fig id="GUID-612A6C2C-D706-50BB-A6C4-F2B5639685F8">
 <title>Embedded store within stream</title>
-<image href="GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e581990_href.png" placement="inline"/>
+<image href="GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e631278_href.png" placement="inline"/>
 </fig>
 <p>An embedded store can contain an arbitrarily complex network of streams.
 As well as being easy to delete, this stream network can also be copied by
--- a/Symbian3/PDK/Source/GUID-983F0ABD-470C-51C3-B6AE-1B1AA55AB4A2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-983F0ABD-470C-51C3-B6AE-1B1AA55AB4A2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 from a file system to the media sub-system, as shown below: </p>
 <fig id="GUID-5034F500-1CC7-5A8A-B1C0-DB99FAF8FE93">
 <title>           File server extension architecture          </title>
-<image href="GUID-E36B0B87-7948-5288-9F4D-9A1F1EBDF972_d0e367379_href.png" placement="inline"/>
+<image href="GUID-E36B0B87-7948-5288-9F4D-9A1F1EBDF972_d0e373227_href.png" placement="inline"/>
 </fig>
 <p>All calls to the media sub-system from a mounted file system go through
 a "proxy" drive interface provided by the loaded extension (or extensions),
--- a/Symbian3/PDK/Source/GUID-984C2A0D-36BE-5A99-9D65-3F8791C669FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-984C2A0D-36BE-5A99-9D65-3F8791C669FF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 in a kernel extension, and the Variant DLL implements the code that is specific
 to the phone type. </p>
 <fig id="GUID-A42AFED6-372D-54A3-BC9D-FA99725464EF">
-<image href="GUID-71271D1C-C385-5687-8A90-46E8B590BB1E_d0e375395_href.png" placement="inline"/>
+<image href="GUID-71271D1C-C385-5687-8A90-46E8B590BB1E_d0e381239_href.png" placement="inline"/>
 </fig>
 <p>In the Base Porting Guide, we refer to the ASSP layer and the Variant Layer,
 where the ASSP layer contains the source code tailored to a range of different
--- a/Symbian3/PDK/Source/GUID-98EA7E2B-4AC6-55AE-985F-B5EE1E0A79E7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-98EA7E2B-4AC6-55AE-985F-B5EE1E0A79E7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 factory class must derive from <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> and <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref>,
 as shown in the following diagram. </p> <fig id="GUID-EFC66A6D-29E4-58FC-810C-A3BA276E0734">
 <title>              Render stage factory class diagram            </title>
-<image href="GUID-BFD09EE5-CCB3-5498-BAA6-86F537DE9155_d0e245061_href.png" placement="inline"/>
+<image href="GUID-BFD09EE5-CCB3-5498-BAA6-86F537DE9155_d0e251072_href.png" placement="inline"/>
 </fig> <p> <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> is a thin wrapper around the Symbian
 ECom functionality. </p> <p><b>The render stage itself </b> </p> <p>For each
 render stage plug-in, you must create a concrete render stage class that derives
Binary file Symbian3/PDK/Source/GUID-9901F6E2-0D36-59D6-A32A-D666C4F2DAAF_d0e107159_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9901F6E2-0D36-59D6-A32A-D666C4F2DAAF_d0e109602_href.png has changed
--- a/Symbian3/PDK/Source/GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD"><title>RTP overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Multimedia Protocols RTP (Real-Time Transport Protocol) component provides RTP communication services. This overview shows the usage of the RTP/RTCP protocol as defined in RFC 3550. </p> </section> <section><title>Required background</title> <p>The clients that make use of this API need to be familiar with <xref scope="external" href="http://www.faqs.org/ftp/rfc/rfc3550.pdf">RFC 3550</xref> standard. </p> </section> <section><title>Key concepts</title> <p>The component has the following key concepts: </p> <dl><dlentry><dt>RTP</dt> <dd><p>RTP provides end-to-end network transport services for data with real-time characteristics, such as interactive audio and video. It is built on top of the User Datagram Protocol (UDP). </p> <p>RTP contains two closely linked parts: </p> <ul><li id="GUID-B54B151C-BEBF-5747-9FD9-C46960E81153"><p> <b>RTP:</b> Real-Time Transport Protocol to carry data that has real-time properties. </p> </li> <li id="GUID-038C9C19-BF66-51B5-AF06-06B7DF132C0D"><p> <b>RTCP:</b> RTP Control Protocol to provide feedback on the quality of service being provided by RTP. </p> </li> </ul> </dd> </dlentry> <dlentry><dt>RTCP</dt> <dd><p>RTP Control Protocol used to provide feedback on the quality of service being provided by RTP. RTP and RTCP support transmission of the data and the control packets. </p> </dd> </dlentry> </dl> </section> <section><title>Architectural Relationship</title> <p>The RTP component of MM-protocols uses the following: </p> <ul><li id="GUID-E50A8973-7050-5986-9ED2-CB4B0955F446"><p>Comms-infras ESOCK  </p> </li> <li id="GUID-628BE20E-C415-52E0-B6CC-1DA781F6CF6B"><p>Networking INSOCK </p> </li> </ul> </section> <section><title>API summary</title> <p>The following are some of the main classes used for RTP communication. </p> <table id="GUID-589CE9B8-D2DF-5125-BC78-6261C6138DF0"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-97FC8566-E4AD-3881-8669-134798A88779.dita"><apiname>RRtpSession</apiname></xref>  </p> </entry> <entry><p>A handle to an RTP session that abstracts all RTP information going to and from an RTP socket, and its corresponding RTCP data. </p> </entry> </row> <row><entry><p> <xref href="GUID-2A2D5CCF-1B51-3B68-BE48-CF2125FEA65F.dita"><apiname>RRtpPacket</apiname></xref>  </p> </entry> <entry><p>A handle to an RTP packet used to access the packet through the interface provided by this handle. </p> </entry> </row> <row><entry><p> <xref href="GUID-0720D1BD-7F73-3EF6-80A6-17127EF17C91.dita"><apiname>RRtpSendPacket</apiname></xref>  </p> </entry> <entry><p>Derived from <xref href="GUID-2A2D5CCF-1B51-3B68-BE48-CF2125FEA65F.dita"><apiname>RRtpPacket</apiname></xref> and used as a handle to an RTP send packet. </p> </entry> </row> <row><entry><p> <xref href="GUID-3E4F47A8-0432-307A-B871-A2F7F3A7505F.dita"><apiname>RRtpReceivePacket</apiname></xref>  </p> </entry> <entry><p>Derived from <xref href="GUID-2A2D5CCF-1B51-3B68-BE48-CF2125FEA65F.dita"><apiname>RRtpPacket</apiname></xref> and used as a handle to an RTP receive packet. </p> </entry> </row> <row><entry><p> <xref href="GUID-3690BFA1-A4EA-34EA-AD63-5FCC14CB67A2.dita"><apiname>RRtpReceiveSource</apiname></xref>  </p> </entry> <entry><p>A handle to a receive stream. An object of this type represents the stream of data on a single SSRC and delivers the RTP packets and RTCP information in the order they arrive. </p> </entry> </row> <row><entry><p> <xref href="GUID-EF30A0A3-612A-362D-9AC5-07FD314E5CDC.dita"><apiname>RRtpSendSource</apiname></xref>  </p> </entry> <entry><p>A handle to a send stream, used to manage the creation and sending of packets. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following diagram shows the RTP classes and their relationships. </p> <fig id="GUID-BE272665-0B86-5F96-BB2D-53ADCCB1B620"><title>
              Class diagram for RTP classes 
-          </title> <image href="GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e544339_href.png" placement="inline"/></fig> </section> <section><title>Typical uses</title> <p>Any application requiring RTP as its transport protocol should use this API. RTP provides the following key services: </p> <ul><li id="GUID-7AD5E984-BD60-56A8-BDD6-2F64343B4027"><p>Payload-type identification </p> </li> <li id="GUID-CC6E6950-0A3C-54A8-8298-EBEB463536D4"><p>Sequence numbering </p> </li> <li id="GUID-9B2044AC-135E-5F9E-AF7D-E0DDED1F4FF9"><p>Time stamping </p> </li> <li id="GUID-FD863CED-3C19-5050-9E15-35758A9C18AB"><p>Delivery monitoring </p> </li> </ul> <p>The RTP API allows you to perform the following tasks: </p> <ol id="GUID-05A64980-7516-5D26-BFA0-DCD146132B40"><li id="GUID-7948F75D-8FB6-52B9-B24C-22875FC56764"><p><xref href="GUID-5287A403-1094-5682-A443-A6C2A04A1F23.dita">Creating and Managing an RTP session</xref>  </p> </li> <li id="GUID-6A5300CB-19FE-51E3-96A5-607C81EFD2CE"><p><xref href="GUID-9652782C-D5A7-584F-A61C-1340D49478A2.dita">Registering for and handling events</xref>  </p> </li> <li id="GUID-948EA33A-37BA-5233-BCC7-4066B4D2BB6F"><p><xref href="GUID-FBA52F3B-0A7A-5FE3-82CD-72F88788D432.dita">Accessing an RTP packet</xref>  </p> </li> <li id="GUID-B12DF03E-1117-5BE9-9776-B556429A042F"><p><xref href="GUID-D7A8E007-CCCD-5E4F-A7DE-4D474C864104.dita">Creating a send stream</xref>  </p> </li> <li id="GUID-F32FE481-F916-5428-8562-13B5AE73B974"><p><xref href="GUID-46047253-4471-502D-B48E-E1990E7F7962.dita">Sending an RTP packet</xref>  </p> </li> <li id="GUID-A5440B31-C0F2-567D-9647-4F8F224968C9"><p><xref href="GUID-A81854C9-25F1-5C3B-AF3F-ECB7CFA26677.dita">Creating receive stream</xref>  </p> </li> <li id="GUID-14432538-9217-5EA0-81F4-F3089DD0E5AA"><p> <xref href="GUID-765F43E2-39E8-53F5-881F-593F379623CA.dita">Sending and receiving non RTP-data</xref>  </p> </li> <li id="GUID-90AE2FC2-0ABA-5F40-A50F-7BED93BCE9F0"><p><xref href="GUID-0ACAFB87-0D45-5BAA-B40A-9A7DC1646B01.dita">Managing RTCP packets and reports</xref>  </p> </li> <li id="GUID-832ADC62-982E-5ED7-A270-74B708B706C6"><p><xref href="GUID-D5F57D81-6B59-5C7E-A2C8-A5E29873346B.dita">Managing send and receive reports</xref>  </p> </li> <li id="GUID-E07027C3-5F87-5F33-BB6B-5D5F03F8D0C2"><p> <xref href="GUID-7D1E2DBD-004B-5047-BDA5-21CD55D0A95C.dita">Securing RTP with SRTP</xref> </p> </li> </ol> <p> <b> Note:</b> Before using any of these services, a connection to the socket server must have been made and the socket must be open. </p> </section> <section><title>See also</title> <p><xref href="GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita">RTPExample: RTP packet streaming</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e551799_href.png" placement="inline"/></fig> </section> <section><title>Typical uses</title> <p>Any application requiring RTP as its transport protocol should use this API. RTP provides the following key services: </p> <ul><li id="GUID-7AD5E984-BD60-56A8-BDD6-2F64343B4027"><p>Payload-type identification </p> </li> <li id="GUID-CC6E6950-0A3C-54A8-8298-EBEB463536D4"><p>Sequence numbering </p> </li> <li id="GUID-9B2044AC-135E-5F9E-AF7D-E0DDED1F4FF9"><p>Time stamping </p> </li> <li id="GUID-FD863CED-3C19-5050-9E15-35758A9C18AB"><p>Delivery monitoring </p> </li> </ul> <p>The RTP API allows you to perform the following tasks: </p> <ol id="GUID-05A64980-7516-5D26-BFA0-DCD146132B40"><li id="GUID-7948F75D-8FB6-52B9-B24C-22875FC56764"><p><xref href="GUID-5287A403-1094-5682-A443-A6C2A04A1F23.dita">Creating and Managing an RTP session</xref>  </p> </li> <li id="GUID-6A5300CB-19FE-51E3-96A5-607C81EFD2CE"><p><xref href="GUID-9652782C-D5A7-584F-A61C-1340D49478A2.dita">Registering for and handling events</xref>  </p> </li> <li id="GUID-948EA33A-37BA-5233-BCC7-4066B4D2BB6F"><p><xref href="GUID-FBA52F3B-0A7A-5FE3-82CD-72F88788D432.dita">Accessing an RTP packet</xref>  </p> </li> <li id="GUID-B12DF03E-1117-5BE9-9776-B556429A042F"><p><xref href="GUID-D7A8E007-CCCD-5E4F-A7DE-4D474C864104.dita">Creating a send stream</xref>  </p> </li> <li id="GUID-F32FE481-F916-5428-8562-13B5AE73B974"><p><xref href="GUID-46047253-4471-502D-B48E-E1990E7F7962.dita">Sending an RTP packet</xref>  </p> </li> <li id="GUID-A5440B31-C0F2-567D-9647-4F8F224968C9"><p><xref href="GUID-A81854C9-25F1-5C3B-AF3F-ECB7CFA26677.dita">Creating receive stream</xref>  </p> </li> <li id="GUID-14432538-9217-5EA0-81F4-F3089DD0E5AA"><p> <xref href="GUID-765F43E2-39E8-53F5-881F-593F379623CA.dita">Sending and receiving non RTP-data</xref>  </p> </li> <li id="GUID-90AE2FC2-0ABA-5F40-A50F-7BED93BCE9F0"><p><xref href="GUID-0ACAFB87-0D45-5BAA-B40A-9A7DC1646B01.dita">Managing RTCP packets and reports</xref>  </p> </li> <li id="GUID-832ADC62-982E-5ED7-A270-74B708B706C6"><p><xref href="GUID-D5F57D81-6B59-5C7E-A2C8-A5E29873346B.dita">Managing send and receive reports</xref>  </p> </li> <li id="GUID-E07027C3-5F87-5F33-BB6B-5D5F03F8D0C2"><p> <xref href="GUID-7D1E2DBD-004B-5047-BDA5-21CD55D0A95C.dita">Securing RTP with SRTP</xref> </p> </li> </ol> <p> <b> Note:</b> Before using any of these services, a connection to the socket server must have been made and the socket must be open. </p> </section> <section><title>See also</title> <p><xref href="GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita">RTPExample: RTP packet streaming</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-993A732B-13F8-48B6-B0C5-7246FA6828DF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-993A732B-13F8-48B6-B0C5-7246FA6828DF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 in the figure below.</p>
 <fig id="GUID-3E08B03E-BE4C-481A-82BB-B7EB03BC806A">
 <title>Toolbar API class structure</title>
-<image href="GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e102650_href.png" placement="inline"/>
+<image href="GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e106670_href.png" placement="inline"/>
 </fig>
 <p><codeph>CAknToolbar</codeph> is the API main class that provides the most
 of the API functionality. The UI framework classes <codeph>CEikAppUiFactory</codeph>, <codeph>CAknView</codeph>,
Binary file Symbian3/PDK/Source/GUID-9955D228-75CE-45B3-9714-AF635D04E553_d0e84573_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9955D228-75CE-45B3-9714-AF635D04E553_d0e88771_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9971A0B9-B2D7-59D3-8834-FDDEEC57AC67.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9971A0B9-B2D7-59D3-8834-FDDEEC57AC67.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9971A0B9-B2D7-59D3-8834-FDDEEC57AC67"><title>How to use the SIP Profile API</title><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-D9ED74C5-20D0-5636-993B-06C05CD90E6A"><title>Protocols</title> <p>This section provides the information about the protocol and error handling related to the SIP Profile API: </p> <ul><li id="GUID-71AB3403-EAD0-5444-8B54-8F9A9F463942"><p>When you create a <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref> object, the client connects to the shared SIP Profile server. <b>Note</b>: If the server is not running, it is started by the API implementation. </p> <p>When the <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref> object is deleted, the corresponding connection to the server is closed. The server stops if it has no other users. </p> </li> <li id="GUID-35DDE98D-1135-5556-8C8B-0CD5F65CA642"><p>The profile data is transferred from the server to the client when a user retrieves a <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object through <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref>. </p> <p>When the client holds an instance of <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> in its memory, all events related to the corresponding profile use <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita"><apiname>MSIPProfileRegistryObserver</apiname></xref> callback functions to notify the client. The callback functions are implemented by the client. </p> <p> <b>Note</b>: A <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object is created each time a profile is retrieved. </p> </li> <li id="GUID-12B99D92-A992-5C77-8E3E-65472E1994AF"><p>When the client deletes the <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object, the client is not notified about events. </p> </li> <li id="GUID-B13A5C15-B9EB-5AEF-A490-C4295762D0F8"><p>The profile must be active before a <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object is used by the SIP Client API. Use the <xref href="GUID-F0663140-8AF3-3831-A741-483D276BF91C.dita#GUID-F0663140-8AF3-3831-A741-483D276BF91C/GUID-2CDFD2CB-C3C2-3765-9155-2899F76B0A40"><apiname>MSIPRegistrationContext::IsContextActive()</apiname></xref> function to check. A profile becomes active when it is enabled by the client and the state of the profile is <codeph>ERegistered</codeph>. <codeph>ERegistered</codeph> is an enum value of the <codeph>TSIPProfileState</codeph> enum defined in the class <xref href="GUID-F324C2F6-1336-361C-B270-EFBAA256C46A.dita"><apiname>CSIPProfileAgent</apiname></xref>. </p> </li> <li id="GUID-9B116C46-DE47-5838-9753-A7C05844F886"><p>All profiles are automatically registered when they are enabled. If a profile is not registered before being enabled, the registration status change is acknowledged through <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita"><apiname>MSIPProfileRegistryObserver</apiname></xref>. If the enabled profile is already registered, no additional registration or status change events are sent. </p> </li> <li id="GUID-5F49EEA6-523D-5080-92BA-344EDBE71C57"><p>When a profile is enabled and registered, the client can use it and the SIP Client API to create SIP sessions. An enabled profile cannot be removed from the system while it is used by the client. </p> </li> <li id="GUID-0E0CD639-0976-5B47-A0D1-CB84BFF759D0"><p>When a profile is not needed by the client, it is disabled. When you delete an instance of the profile the profile is disabled. </p> </li> </ul> <p>The following illustration shows use of the SIP Profile API. </p> <fig id="GUID-191B67CA-9715-5A3F-A571-1353BF69F5A4"><image href="GUID-269D6756-98B5-5928-9A83-261C3F729BCE_d0e550054_href.png" placement="inline"/></fig> </section> <section id="GUID-7DDA5B21-FC36-54DC-A717-0BF360DD961B"><title>Error handling</title> <p>The errors are indicated by return codes, by functions leaving, or by calling callback functions. If an error occurs during a synchronous operation initiated by the client, the called function leaves with a correct error code. </p> <p>If an error occurs during an asynchronous operation, the error is passed to the client through the callback function <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita#GUID-91663686-42B7-3C88-B773-3C5343CDCFCE/GUID-8CDFC758-2BA9-3262-9A98-D2C9EC6E65C0"><apiname>MSIPProfileRegistryObserver::ProfileRegistryErrorOccurred()</apiname></xref>. In this case, both the profile identifier and an error code are passed to the client. Any error passed to the client means that the indicated profile is not registered or enabled by the client. </p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-9971A0B9-B2D7-59D3-8834-FDDEEC57AC67"><title>How to use the SIP Profile API</title><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-D9ED74C5-20D0-5636-993B-06C05CD90E6A"><title>Protocols</title> <p>This section provides the information about the protocol and error handling related to the SIP Profile API: </p> <ul><li id="GUID-71AB3403-EAD0-5444-8B54-8F9A9F463942"><p>When you create a <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref> object, the client connects to the shared SIP Profile server. <b>Note</b>: If the server is not running, it is started by the API implementation. </p> <p>When the <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref> object is deleted, the corresponding connection to the server is closed. The server stops if it has no other users. </p> </li> <li id="GUID-35DDE98D-1135-5556-8C8B-0CD5F65CA642"><p>The profile data is transferred from the server to the client when a user retrieves a <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object through <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref>. </p> <p>When the client holds an instance of <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> in its memory, all events related to the corresponding profile use <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita"><apiname>MSIPProfileRegistryObserver</apiname></xref> callback functions to notify the client. The callback functions are implemented by the client. </p> <p> <b>Note</b>: A <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object is created each time a profile is retrieved. </p> </li> <li id="GUID-12B99D92-A992-5C77-8E3E-65472E1994AF"><p>When the client deletes the <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object, the client is not notified about events. </p> </li> <li id="GUID-B13A5C15-B9EB-5AEF-A490-C4295762D0F8"><p>The profile must be active before a <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object is used by the SIP Client API. Use the <xref href="GUID-F0663140-8AF3-3831-A741-483D276BF91C.dita#GUID-F0663140-8AF3-3831-A741-483D276BF91C/GUID-2CDFD2CB-C3C2-3765-9155-2899F76B0A40"><apiname>MSIPRegistrationContext::IsContextActive()</apiname></xref> function to check. A profile becomes active when it is enabled by the client and the state of the profile is <codeph>ERegistered</codeph>. <codeph>ERegistered</codeph> is an enum value of the <codeph>TSIPProfileState</codeph> enum defined in the class <xref href="GUID-F324C2F6-1336-361C-B270-EFBAA256C46A.dita"><apiname>CSIPProfileAgent</apiname></xref>. </p> </li> <li id="GUID-9B116C46-DE47-5838-9753-A7C05844F886"><p>All profiles are automatically registered when they are enabled. If a profile is not registered before being enabled, the registration status change is acknowledged through <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita"><apiname>MSIPProfileRegistryObserver</apiname></xref>. If the enabled profile is already registered, no additional registration or status change events are sent. </p> </li> <li id="GUID-5F49EEA6-523D-5080-92BA-344EDBE71C57"><p>When a profile is enabled and registered, the client can use it and the SIP Client API to create SIP sessions. An enabled profile cannot be removed from the system while it is used by the client. </p> </li> <li id="GUID-0E0CD639-0976-5B47-A0D1-CB84BFF759D0"><p>When a profile is not needed by the client, it is disabled. When you delete an instance of the profile the profile is disabled. </p> </li> </ul> <p>The following illustration shows use of the SIP Profile API. </p> <fig id="GUID-191B67CA-9715-5A3F-A571-1353BF69F5A4"><image href="GUID-269D6756-98B5-5928-9A83-261C3F729BCE_d0e557510_href.png" placement="inline"/></fig> </section> <section id="GUID-7DDA5B21-FC36-54DC-A717-0BF360DD961B"><title>Error handling</title> <p>The errors are indicated by return codes, by functions leaving, or by calling callback functions. If an error occurs during a synchronous operation initiated by the client, the called function leaves with a correct error code. </p> <p>If an error occurs during an asynchronous operation, the error is passed to the client through the callback function <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita#GUID-91663686-42B7-3C88-B773-3C5343CDCFCE/GUID-8CDFC758-2BA9-3262-9A98-D2C9EC6E65C0"><apiname>MSIPProfileRegistryObserver::ProfileRegistryErrorOccurred()</apiname></xref>. In this case, both the profile identifier and an error code are passed to the client. Any error passed to the client means that the indicated profile is not registered or enabled by the client. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9993D750-9116-55B2-812A-7A92C50F467F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9993D750-9116-55B2-812A-7A92C50F467F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,7 +62,7 @@
 </ul> <p>The following diagram illustrates the recognition of an OMA file
 with JPEG content. </p> <fig id="GUID-E0654D43-CA6D-54BA-98DF-45BFA67B4180">
 <title>              Apparc Recognizer for CAF            </title>
-<image href="GUID-212C33A7-19DE-5936-B78E-CB7357FAEB5B_d0e615631_href.png" placement="inline"/>
+<image href="GUID-212C33A7-19DE-5936-B78E-CB7357FAEB5B_d0e587737_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-5FCA124D-197D-46DA-B702-092E80B7F5DE"><title>Application registration files</title> <p>To use CAF content,
 applications must update their registration resource files (for example <filepath>AppName_reg.rss</filepath>)
--- a/Symbian3/PDK/Source/GUID-99AC84AE-C4C0-53AA-8984-51AE84EE7651.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-99AC84AE-C4C0-53AA-8984-51AE84EE7651.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 of available converters. If there is a converter that can do the conversion,
 then the framework assigns the request to that converter. </p> <p>The following
 diagram shows the File converter framework architecture. </p> <fig id="GUID-E4ECB2BD-53D8-53F7-B248-2D2EE5888F1E">
-<image href="GUID-C8938826-52F7-5040-B59C-3C06DAEB6F03_d0e174360_href.jpg" placement="inline"/>
+<image href="GUID-C8938826-52F7-5040-B59C-3C06DAEB6F03_d0e180428_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>API summary</title> <table id="GUID-82B5BE7F-1DE7-5FBA-9770-05D9B8A74E2F">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
Binary file Symbian3/PDK/Source/GUID-99C2E42F-1029-5E32-8446-CAAF29D733BA_d0e341803_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99C2E42F-1029-5E32-8446-CAAF29D733BA_d0e347754_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99C4FCCC-9E8B-51CC-85F8-F03BE18DF19E_d0e305215_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99C4FCCC-9E8B-51CC-85F8-F03BE18DF19E_d0e311207_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99CFB57F-87FB-5DF6-B8A3-DD8094FA5419_d0e230278_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99CFB57F-87FB-5DF6-B8A3-DD8094FA5419_d0e236273_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99F7E70F-2733-57B2-94F5-A0C0FF9219FE_d0e377954_href.png has changed
Binary file Symbian3/PDK/Source/GUID-99F7E70F-2733-57B2-94F5-A0C0FF9219FE_d0e383807_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9A38894D-98B8-5AFA-A36A-AC8B494EC2CC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9A38894D-98B8-5AFA-A36A-AC8B494EC2CC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 gamma function on the input value </p> </li>
 <li id="GUID-B1C92272-17F9-5520-AC5D-A55B0C11963C"><p>prints the output. </p> </li>
 </ol> </section>
-<section id="GUID-2638D79E-A3D2-5A08-AFC3-00AF68C3C194-GENID-1-12-1-13-1-1-5-1-3-1-11-1-8-1-3-2"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b6b7503f-d331-4664-a6c8-a3e72b1f6c5b.zip" scope="external"> libmexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b6b7503f-d331-4664-a6c8-a3e72b1f6c5b.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-2638D79E-A3D2-5A08-AFC3-00AF68C3C194-GENID-1-12-1-14-1-1-5-1-3-1-11-1-8-1-3-2"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b6b7503f-d331-4664-a6c8-a3e72b1f6c5b.zip" scope="external"> libmexample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b6b7503f-d331-4664-a6c8-a3e72b1f6c5b.html" scope="peer">browse</xref> to view the example code. </p> </section>
 <section id="GUID-C3619B7E-3AF5-58D1-99D1-45CADE74B54C"><title>Class
 summary</title> <p>The example shows the use of the following API: </p> <ul>
 <li id="GUID-3DF01930-3A0E-5645-8D7E-F70321CB2B31"><p> <xref href="GUID-D1B12DAA-B281-3D8C-9CFF-A2062EA72A0A.dita"><apiname>gamma(double)</apiname></xref> from the Standard C Maths support library (<filepath>libm.dll</filepath>). </p> </li>
@@ -33,8 +33,7 @@
 use the command line, open a command prompt, and set the current directory
 to the source code directory of the example. You can then build the
 example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
-build</userinput> </p> <p> <xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to
-use abld</xref> describe how to use the SBSv1 build tools. </p> </li>
+build</userinput> </p> </li>
 <li id="GUID-91962C9F-6048-588E-8100-352354DC49C9"><p>For the emulator,
 the example builds an executable called <filepath>libmexample.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
Binary file Symbian3/PDK/Source/GUID-9A4543B3-2A79-5604-AE11-5087507C6755_d0e363939_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9A4543B3-2A79-5604-AE11-5087507C6755_d0e369788_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9A9654C4-4D7F-485E-8253-B2DB25D3DB78.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9A9654C4-4D7F-485E-8253-B2DB25D3DB78.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,8 +13,8 @@
 <context id="GUID-56B00847-6F7D-49AB-AFA5-D5ACF0D2EC2F">       <p>This tutorial describes how a device creator creates a user-defined
 time zone using <codeph>CTzUserData</codeph>.</p>The high-level steps
 to create a user-defined time zone are described in Procedure section:</context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-6-1-2-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-6-1-2-2-1"><cmd>Create the
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-6-1-2-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-6-1-2-2-1"><cmd>Create the
 TZ rules object using <xref href="GUID-EA377928-E467-3761-B572-36AE27841ADC.dita#GUID-EA377928-E467-3761-B572-36AE27841ADC/GUID-6A1D18BB-D4B4-39E3-B4AF-C5736A152195"><apiname>CTzRules::NewL()</apiname></xref>.</cmd>
 </step>
 <step id="GUID-A0FB246B-6F3F-4E32-BCA4-3CF51CACBA3B"><cmd>Use the <xref href="GUID-C40593C4-D60C-39D5-8CB2-4B5D7BBE8ED4.dita#GUID-C40593C4-D60C-39D5-8CB2-4B5D7BBE8ED4/GUID-2E630EE3-1DDB-3F9D-A75B-2119E1B02EF8"><apiname>CTzUserNames::NewL()</apiname></xref> function to create a TZ names object.</cmd>
Binary file Symbian3/PDK/Source/GUID-9AA59C73-6603-5709-9392-68688785DAA0_d0e401582_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9AA59C73-6603-5709-9392-68688785DAA0_d0e407435_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9AB5481B-C321-56C9-937D-2397AA80DE8E_d0e512201_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9AB5481B-C321-56C9-937D-2397AA80DE8E_d0e519663_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-9AC6774A-41E9-5298-8696-0A317A09E1E9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9AC6774A-41E9-5298-8696-0A317A09E1E9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 and also with the Symbian platform: </p> <fig id="GUID-A29F100E-2726-501C-B141-BED577C50768">
 <title>              The Librt library interacting with P.I.P.S. and the Symbian
 platform           </title>
-<image href="GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e202405_href.png" placement="inline"/>
+<image href="GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e208412_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-572AF6E2-9F24-4CEB-BCF8-CCE7BCFE4E77"><title>APIs</title> <p>The following table is a comprehensive list
 of Librt APIs as per the <xref href="http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/librt.html" scope="external">LSB 3.1 specification</xref>: </p> <table id="GUID-843027AF-D604-5C35-9879-BE79121EE94D">
--- a/Symbian3/PDK/Source/GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 the other buttons. </p> <fig id="GUID-2664573F-C5E8-573F-9427-783074351585">
 <title> Driver communicates pointer state changes to the Window Server   
         </title>
-<image href="GUID-35521A99-3F1F-5EE1-8078-FFD8A298C0BD_d0e239685_href.png" placement="inline"/>
+<image href="GUID-35521A99-3F1F-5EE1-8078-FFD8A298C0BD_d0e245695_href.png" placement="inline"/>
 </fig> <p>For a complete list of pointer states, the events that can be sent
 by the driver, and the associated events that the Window Server sends to the
 client, see the <xref href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita#GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5/GUID-EC2B9C82-D678-5DFE-89A8-8CFCF5376244">Pointer
@@ -70,7 +70,7 @@
 the <b>closeness</b> of the pointer to the screen. <i>Down</i> is extended
 with substates describing <b>pressing</b>. </p> <fig id="GUID-54DA3BEC-A650-5223-8E46-5B68F414A909">
 <title> Extension of Up and Down states with substates            </title>
-<image href="GUID-4E1D4E5D-7CE6-5A93-9170-BEF2937FC953_d0e239799_href.png" placement="inline"/>
+<image href="GUID-4E1D4E5D-7CE6-5A93-9170-BEF2937FC953_d0e245809_href.png" placement="inline"/>
 </fig> <p>The Window Server generates the following events for changes of
 closeness and pressing: </p> <ul>
 <li id="GUID-72265325-882B-5B38-ABE7-EFDF05758B97"><p> <codeph>EExitCloseProximity</codeph>  </p> </li>
@@ -281,7 +281,7 @@
 transitions that are described in the table above. </p> <fig id="GUID-C39B447C-0908-5F9A-95EC-2F97E56E2C20">
 <title> Events sent from Window Server to client while the pointer traverses
 the full cycle of states.            </title>
-<image href="GUID-8F4C626F-3490-50BC-A97F-FD1972FFF65B_d0e240752_href.png" placement="inline"/>
+<image href="GUID-8F4C626F-3490-50BC-A97F-FD1972FFF65B_d0e246762_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext>Advanced
--- a/Symbian3/PDK/Source/GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -99,7 +99,7 @@
 the HAL group/function-id pair are used internally, and can only be accessed
 using the kernel side function <xref href="GUID-C6946ECB-775F-3EC2-A56F-78F25B9FBE3D.dita#GUID-C6946ECB-775F-3EC2-A56F-78F25B9FBE3D/GUID-DA115709-A225-3E2A-BCCD-6E2BB15979B9"><apiname>Kern::HalFunction()</apiname></xref> **. </p> <p>The
 following picture shows the general idea: </p> <fig id="GUID-95743ED4-8CEC-5BAD-A5C2-9FD16D0485FA">
-<image href="GUID-F50E1C81-E80F-5692-996B-3AC2BE995425_d0e411499_href.png" placement="inline"/>
+<image href="GUID-F50E1C81-E80F-5692-996B-3AC2BE995425_d0e417352_href.png" placement="inline"/>
 </fig> <p>**Technically, the user side function <codeph>UserSvr::HalFunction()</codeph> will
 achieve the same thing, but this is <i>internal to Symbian</i> and is <i>not
 intended for general use</i>. </p></section>
Binary file Symbian3/PDK/Source/GUID-9B123F74-DD52-5975-8DD7-80304A1D1D63_d0e459066_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9B123F74-DD52-5975-8DD7-80304A1D1D63_d0e464911_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2-master.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2_d0e42446_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-9B7BF729-7982-5DFC-AD3C-10D327CA2909.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-9B7BF729-7982-5DFC-AD3C-10D327CA2909" xml:lang="en"><title>CapSearch
-report - file format </title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Overview</title> <p>Once you have searched for a capability,
-or set of capabilities, the results are displayed in an HTML report.</p> <p><b>Introductory
-section</b> </p> <p>This section shows all the files and criteria that were
-used in the capability search, as listed below:</p> <ul>
-<li id="GUID-E73096AA-328C-5C02-865C-8AF7621625E5"><p>Name of ROM log file</p> </li>
-<li id="GUID-9F46FDE9-42CD-55B6-A940-1B6BE1159ABA"><p>Symbian Capability List</p> </li>
-<li id="GUID-F8CF5A9C-E2E9-50F7-9095-801A975B6CFE"><p>Search scope</p> </li>
-<li id="GUID-48149B4D-2A1E-5435-B668-CD0D0411A249"><p>Search criteria</p> </li>
-<li id="GUID-CDC55017-3B62-58D8-8590-92703E35915A"><p>Capabilities to be searched.</p> </li>
-</ul> <p><b>Results section</b> </p> <p>The results are listed as shown below,
-under a heading called "Binaries in ROM Log with Matching Capabilities":</p> <table id="GUID-3005C021-FC18-5F7A-AF94-68A557D837AD">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<tbody>
-<row>
-<entry><p><b>No.</b> </p> </entry>
-<entry><p>  <b>Binary</b> </p> </entry>
-<entry><p><b>Capabilities</b> </p> </entry>
-</row>
-<row>
-<entry><p>1</p> </entry>
-<entry><p>myAPP.exe</p> </entry>
-<entry><p>Cap1</p> <p>Cap2</p> <p>Cap3</p> <p>Cap4</p> <p>Cap5</p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-</conbody><related-links>
-<link href="GUID-49FEF50C-98C8-5789-881E-553164EF5517.dita"><linktext>How to use
-CapSearch</linktext></link>
-<link href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita"><linktext>CapCheck
-Guide</linktext></link>
-<link href="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita"><linktext>CapImportCheck
-Guide</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9B97E076-22CB-434A-B16A-E4CE3A859F05-master.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9B97E076-22CB-434A-B16A-E4CE3A859F05_d0e41292_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e447637_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e447746_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e453482_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e453591_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -55,7 +55,7 @@
 #endif // SYMBIAN_EXCLUDE_LOCATION
 
 #endif // __LBS_GPS_AGPS_ADAPTATION_PSY_IBY__
-</codeblock> </p> <p>The macros are used to copy one of three different ECom resource file to the ECom registry. The file that is copied can specify that the DLL contains two PSY implementations for A-GPS and autonomous GPS, or only one implementation for either A-GPS or autonomous GPS. </p> <p>The files <codeph>102869C7.cre</codeph> and <codeph>10285abc.cre</codeph> are Central Repository initialisation files that define the values specified by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to register the PSY implementations with the LBS subsystem. File <codeph>102869C7.cre</codeph> contains values for the GPS PSY implementation. File <codeph>10285abc.cre</codeph> contains values for the A-GPS PSY implementation. See <xref href="GUID-3319E01A-F500-5F5C-9798-351C6F3EC583.dita">Updating the GPS/A-GPS Central Repository Initialisation File</xref> for an explanation of values you may have to change in these files. </p> </li> <li id="GUID-C59B1242-38C5-5404-9D68-065E80085BED"><p>To install and configure the GPS/A-GPS PSY to support assisted GPS </p> <p>Use the macro <codeph>SYMBIAN_INCLUDE_LOCATION_AGPS_PM</codeph> when you build the ROM. </p> <p>The example below shows how to configure the GPS/A-GPS PSY for assisted GPS. Note that you may need to specify additional macros depending on which other optional LBS components you also want to install. </p> <p><codeblock id="GUID-4A98B688-13CA-5A04-AE90-916CA49BC442" xml:space="preserve">
+</codeblock> </p> <p>The macros are used to copy one of three different ECom resource file to the ECom registry. The file that is copied can specify that the DLL contains two PSY implementations for A-GPS and autonomous GPS, or only one implementation for either A-GPS or autonomous GPS. </p> <p>The files <codeph>102869C7.cre</codeph> and <codeph>10285abc.cre</codeph> are Central Repository initialisation files that define the values specified by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to register the PSY implementations with the LBS subsystem. File <codeph>102869C7.cre</codeph> contains values for the GPS PSY implementation. File <codeph>10285abc.cre</codeph> contains values for the A-GPS PSY implementation. See <xref href="GUID-3319E01A-F500-5F5C-9798-351C6F3EC583.dita">Updating the GPS/A-GPS Central Repository Initialisation File</xref> for an explanation of values you may have to change in these files. </p> </li> <li id="GUID-C59B1242-38C5-5404-9D68-065E80085BED"><p>To install and configure the GPS/A-GPS PSY to support assisted GPS </p> <p>Use the macro <codeph>SYMBIAN_INCLUDE_LOCATION_AGPS_PM</codeph> when you build the ROM. </p> <p>The example below shows how to configure the GPS/A-GPS PSY for assisted GPS. Note that you may need to specify additional macros depending on which other optional LBS components you also want to install. </p> <p><codeblock id="GUID-4A98B688-13CA-5A04-AE90-916CA49BC442" xml:space="preserve">
 buildrom lbs.oby 
 -DSYMBIAN_INCLUDE_LOCATION_API_VARIANT2
 -DSYMBIAN_INCLUDE_LOCATION_AGPS_PM
@@ -67,6 +67,6 @@
 START RESOURCE  ../data/10285abb.rss
 TARGETPATH /resource/plugins
 TARGET lbsgpsagpspsy.rsc
-</codeblock> <p>These commands compile and copy the ECom registration information from the resource source file <codeph>10285abb.rss</codeph>, which specifies both the A-GPS and GPS implementations in the library. Therefore on an emulator, the GPS/A-GPS PSY can be used for both A-GPS and autonomous GPS position fixes. </p> </section> </conbody><related-links><link href="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita"><linktext>GPS/A-GPS PSY Overview</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita"><linktext>LBS ROM
+</codeblock> <p>These commands compile and copy the ECom registration information from the resource source file <codeph>10285abb.rss</codeph>, which specifies both the A-GPS and GPS implementations in the library. Therefore on an emulator, the GPS/A-GPS PSY can be used for both A-GPS and autonomous GPS position fixes. </p> </section> </conbody><related-links><link href="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita"><linktext>GPS/A-GPS PSY Overview</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita"><linktext>LBS ROM
                 macros</linktext> </link> <link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>LBS
                 Integration and Configuration guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9BB849A2-8F69-580D-8A52-C7002D919521.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9BB849A2-8F69-580D-8A52-C7002D919521.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-9BB849A2-8F69-580D-8A52-C7002D919521"><title>Email Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Email collection provides support for sending and receiving emails using the individual email protocols, such as IMAP4, POP3 and SMTP, and also has support for parsing and generating plain and rich text, MIME and M-HTML format emails. </p> <section><title>Architecture</title> <p>The Email collection consists of a set of utilities and <xref href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita">MTMs</xref> for the POP3, IMAP4 and SMTP messaging protocols. </p> <fig id="GUID-3CF863C6-7627-55E4-951B-36BE4B4C43B9"><title>
              Email architecture 
-          </title> <image href="GUID-51B0D0A9-C9FA-59DA-82B1-5834980CB35D_d0e471208_href.jpg" placement="inline"/></fig> <dl><dlentry><dt>Autosend</dt> <dd><p>Autosend is an executable file that is executed by the POP3 and IMAP4 client MTMs if the send on next connection setting is set. This executable makes a request to the SMTP server MTM to send messages associated with the SMTP service related to the POP3 or IMAP4 service, wait for the operation to finish and then exit. </p> </dd> </dlentry> <dlentry><dt>Server MTM</dt> <dd><p>A Server MTM provides specific message type storage and transport. It interacts with the Message Server to store and manage entries and provide a transport mechanism. </p> </dd> </dlentry> <dlentry><dt>Email client MTMs</dt> <dd><p>Email client MTMs provide client-side APIs (<filepath>IMCM DLL</filepath>) for IMAP4, POP3 and SMTP. </p> <p>The email client MTMs are used directly by clients to access parts of email messages for display. The <xref href="GUID-323E701E-EA22-3CC8-AE84-C16880608D44.dita"><apiname>CImEmailMessage</apiname></xref> class provides the functionality used by clients to display email messages, including listing attachments, getting body text and resolving URIs in M-HTML messages. </p> </dd> </dlentry> <dlentry><dt>Email client utilities </dt> <dd><p>The email client MTM uses the email client utilities when they are requested to create, reply to and forward messages. The <xref href="GUID-3F7DC1AB-D13C-31E9-967B-526AD72CD498.dita"><apiname>CImEmailOperation</apiname></xref> class provides the functionality to perform these operations. Each email is represented by a parent message entry with child entries that represent MIME folders and MIME parts. Adding or deleting MIME parts involves navigating the tree of entries and inserting or removing entries as appropriate. </p> </dd> </dlentry> <dlentry><dt>Email server utilities</dt> <dd><p>Email server utilities are responsible for generating and parsing of RFC2822 format email messages and providing an API to wrap up a TCP/IP connection to a remote email server. </p> </dd> </dlentry> </dl> </section> <section id="GUID-0E61C259-29CC-5FE3-AD4D-B2755F62A015"><title>Description</title> <p>Email messages are represented in a common format whether they are being sent by SMTP and downloaded by POP3 or IMAP4. Messaging clients can use the email client MTMs to create and compose email messages with attachments and a <xref href="GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita#GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B/GUID-6E7D52CF-F18C-5C92-9DB2-611EDD018048">vCard</xref> signature. They can reply to or forward email messages. When connecting to a POP3 mailbox, just the header can be downloaded, or the entire message including attachments. However, when connecting to an IMAP4 mailbox, any or all of the following can be downloaded: </p> <ul><li id="GUID-4DBC9D2A-06F3-5282-A434-05AE87D82ABE"><p>the header </p> </li> <li id="GUID-BD0B15B3-713C-557B-9C01-2E73BB95DC7E"><p>the header and body text </p> </li> <li id="GUID-309E9C9C-EBB0-5363-847F-31986B64A10A"><p>the entire message including attachments </p> </li> <li id="GUID-98BFABA1-3706-5DE4-8990-AC29E249FAB7"><p>partial body text where the body text size limit is specified </p> </li> <li id="GUID-887FD8E3-BDEC-50E9-AA4B-3619DFF9CFA4"><p>download attachments if the attachment size is less then or equal to attachment size limit </p> </li> </ul> <p>Messaging clients can access any part of the message for display to the user. Messages can be moved or copied within folders on the local device and, for IMAP4 only, within the mailbox as well. </p> <p>Email client MTMs provide APIs that allow configuration information, such as secure or non-secure TCP/IP connection, username, password and message limits to be stored on the local device. Email client MTMs can be commanded to stay online during a client session, or connect and disconnect only when necessary. Operations such as moving, deleting, or sending a message while not connected can be queued for execution when the next connection to the subscriber's mailbox is established. </p> <p> <b>Note:</b> Email client MTMs are not responsible for any graphical or user interface associated functionality, such as rendering HTML or images, although they do provide access to images and HTML downloaded to the local device. </p> <p>For each email account a pair of services entries is created in the Message Store. For a POP3 account there will be an SMTP service and a POP3 service. For an IMAP4 account there will be an SMTP service and an IMAP4 service. These entries are used to store the settings for the email transport. Each of the service entry has its related ID that is set to the other member of the pair. The SMTP service is invisible, so that the user only sees the POP3 or IMAP4 service entry. Copying a message to the SMTP service causes the SMTP server MTM to attempt to send the message. The POP3 and IMAP4 MTMs provide functionality to synchronise with a remote email server by using the client MTM interface through the <xref href="GUID-0BD3DB31-2F8B-36B1-AF55-22E649D56164.dita"><apiname>InvokeAsync</apiname></xref> API. </p> <fig id="GUID-6BA2DAFE-B804-5D65-B350-5638DB31A366"><title>
+          </title> <image href="GUID-51B0D0A9-C9FA-59DA-82B1-5834980CB35D_d0e477044_href.jpg" placement="inline"/></fig> <dl><dlentry><dt>Autosend</dt> <dd><p>Autosend is an executable file that is executed by the POP3 and IMAP4 client MTMs if the send on next connection setting is set. This executable makes a request to the SMTP server MTM to send messages associated with the SMTP service related to the POP3 or IMAP4 service, wait for the operation to finish and then exit. </p> </dd> </dlentry> <dlentry><dt>Server MTM</dt> <dd><p>A Server MTM provides specific message type storage and transport. It interacts with the Message Server to store and manage entries and provide a transport mechanism. </p> </dd> </dlentry> <dlentry><dt>Email client MTMs</dt> <dd><p>Email client MTMs provide client-side APIs (<filepath>IMCM DLL</filepath>) for IMAP4, POP3 and SMTP. </p> <p>The email client MTMs are used directly by clients to access parts of email messages for display. The <xref href="GUID-323E701E-EA22-3CC8-AE84-C16880608D44.dita"><apiname>CImEmailMessage</apiname></xref> class provides the functionality used by clients to display email messages, including listing attachments, getting body text and resolving URIs in M-HTML messages. </p> </dd> </dlentry> <dlentry><dt>Email client utilities </dt> <dd><p>The email client MTM uses the email client utilities when they are requested to create, reply to and forward messages. The <xref href="GUID-3F7DC1AB-D13C-31E9-967B-526AD72CD498.dita"><apiname>CImEmailOperation</apiname></xref> class provides the functionality to perform these operations. Each email is represented by a parent message entry with child entries that represent MIME folders and MIME parts. Adding or deleting MIME parts involves navigating the tree of entries and inserting or removing entries as appropriate. </p> </dd> </dlentry> <dlentry><dt>Email server utilities</dt> <dd><p>Email server utilities are responsible for generating and parsing of RFC2822 format email messages and providing an API to wrap up a TCP/IP connection to a remote email server. </p> </dd> </dlentry> </dl> </section> <section id="GUID-0E61C259-29CC-5FE3-AD4D-B2755F62A015"><title>Description</title> <p>Email messages are represented in a common format whether they are being sent by SMTP and downloaded by POP3 or IMAP4. Messaging clients can use the email client MTMs to create and compose email messages with attachments and a <xref href="GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita#GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B/GUID-6E7D52CF-F18C-5C92-9DB2-611EDD018048">vCard</xref> signature. They can reply to or forward email messages. When connecting to a POP3 mailbox, just the header can be downloaded, or the entire message including attachments. However, when connecting to an IMAP4 mailbox, any or all of the following can be downloaded: </p> <ul><li id="GUID-4DBC9D2A-06F3-5282-A434-05AE87D82ABE"><p>the header </p> </li> <li id="GUID-BD0B15B3-713C-557B-9C01-2E73BB95DC7E"><p>the header and body text </p> </li> <li id="GUID-309E9C9C-EBB0-5363-847F-31986B64A10A"><p>the entire message including attachments </p> </li> <li id="GUID-98BFABA1-3706-5DE4-8990-AC29E249FAB7"><p>partial body text where the body text size limit is specified </p> </li> <li id="GUID-887FD8E3-BDEC-50E9-AA4B-3619DFF9CFA4"><p>download attachments if the attachment size is less then or equal to attachment size limit </p> </li> </ul> <p>Messaging clients can access any part of the message for display to the user. Messages can be moved or copied within folders on the local device and, for IMAP4 only, within the mailbox as well. </p> <p>Email client MTMs provide APIs that allow configuration information, such as secure or non-secure TCP/IP connection, username, password and message limits to be stored on the local device. Email client MTMs can be commanded to stay online during a client session, or connect and disconnect only when necessary. Operations such as moving, deleting, or sending a message while not connected can be queued for execution when the next connection to the subscriber's mailbox is established. </p> <p> <b>Note:</b> Email client MTMs are not responsible for any graphical or user interface associated functionality, such as rendering HTML or images, although they do provide access to images and HTML downloaded to the local device. </p> <p>For each email account a pair of services entries is created in the Message Store. For a POP3 account there will be an SMTP service and a POP3 service. For an IMAP4 account there will be an SMTP service and an IMAP4 service. These entries are used to store the settings for the email transport. Each of the service entry has its related ID that is set to the other member of the pair. The SMTP service is invisible, so that the user only sees the POP3 or IMAP4 service entry. Copying a message to the SMTP service causes the SMTP server MTM to attempt to send the message. The POP3 and IMAP4 MTMs provide functionality to synchronise with a remote email server by using the client MTM interface through the <xref href="GUID-0BD3DB31-2F8B-36B1-AF55-22E649D56164.dita"><apiname>InvokeAsync</apiname></xref> API. </p> <fig id="GUID-6BA2DAFE-B804-5D65-B350-5638DB31A366"><title>
              Email operation sequence diagram 
-          </title> <image href="GUID-6E2F23B0-4765-5E4E-9B15-9F1D0EC5C28B_d0e471337_href.jpg" placement="inline"/></fig> </section> <section><title>Components</title> <p>The Email collection constitutes the following components: </p> <ul><li id="GUID-EA99CD44-E4C6-5067-954C-363FD6841440"><p><xref href="GUID-AFF7DA70-E993-5943-A27A-266541922E2F.dita">IMAP4 MTM</xref>  </p> </li> <li id="GUID-DE41A457-509E-505A-8229-506AEA78F9B1"><p><xref href="GUID-EADCDE6F-127E-528C-B2E0-F13E5C7FD4EF.dita">POP3 MTM</xref> </p> </li> <li id="GUID-CC0575AC-F1BC-5983-B589-83C2D048B2AC"><p><xref href="GUID-3988C2DE-3FC5-5AF8-BB9F-499E7082F7D5.dita">SMTP MTM</xref>  </p> </li> </ul> </section> <section><title>Using Email</title> <p>Email client applications can use the following functionality provided by the Email collection to: </p> <ul><li id="GUID-9C57E57B-F5E7-5087-ABEA-16431C8E6919"><p>Store emails including MIME headers, RFC2822 headers, attachments, body text and encoding information in the Message Store. </p> </li> <li id="GUID-54CDD32C-FEFB-57D1-BEFD-50B30FD6A03E"><p>Manipulate email messages, for example, adding attachments and replying. </p> </li> <li id="GUID-9C3725B3-738F-540A-8E36-6482FDE15AEA"><p>Encapsulate the character converters, which are used to convert between standard character sets and Unicode. </p> </li> <li id="GUID-4D56BD8D-9B80-55B6-9EF7-DB9847E69459"><p>Store email settings in the central repository. </p> </li> <li id="GUID-68F54B38-09EF-5D9D-B844-930E33B38BE4"><p>Get progress information for email operations. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita"><linktext>Message Type Module</linktext> </link> <link href="GUID-8832AED4-6B9F-5B35-8211-0C6661CD6DCA.dita"><linktext>Email Tutorials</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-6E2F23B0-4765-5E4E-9B15-9F1D0EC5C28B_d0e477173_href.jpg" placement="inline"/></fig> </section> <section><title>Components</title> <p>The Email collection constitutes the following components: </p> <ul><li id="GUID-EA99CD44-E4C6-5067-954C-363FD6841440"><p><xref href="GUID-AFF7DA70-E993-5943-A27A-266541922E2F.dita">IMAP4 MTM</xref>  </p> </li> <li id="GUID-DE41A457-509E-505A-8229-506AEA78F9B1"><p><xref href="GUID-EADCDE6F-127E-528C-B2E0-F13E5C7FD4EF.dita">POP3 MTM</xref> </p> </li> <li id="GUID-CC0575AC-F1BC-5983-B589-83C2D048B2AC"><p><xref href="GUID-3988C2DE-3FC5-5AF8-BB9F-499E7082F7D5.dita">SMTP MTM</xref>  </p> </li> </ul> </section> <section><title>Using Email</title> <p>Email client applications can use the following functionality provided by the Email collection to: </p> <ul><li id="GUID-9C57E57B-F5E7-5087-ABEA-16431C8E6919"><p>Store emails including MIME headers, RFC2822 headers, attachments, body text and encoding information in the Message Store. </p> </li> <li id="GUID-54CDD32C-FEFB-57D1-BEFD-50B30FD6A03E"><p>Manipulate email messages, for example, adding attachments and replying. </p> </li> <li id="GUID-9C3725B3-738F-540A-8E36-6482FDE15AEA"><p>Encapsulate the character converters, which are used to convert between standard character sets and Unicode. </p> </li> <li id="GUID-4D56BD8D-9B80-55B6-9EF7-DB9847E69459"><p>Store email settings in the central repository. </p> </li> <li id="GUID-68F54B38-09EF-5D9D-B844-930E33B38BE4"><p>Get progress information for email operations. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita"><linktext>Message Type Module</linktext> </link> <link href="GUID-8832AED4-6B9F-5B35-8211-0C6661CD6DCA.dita"><linktext>Email Tutorials</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9BDD42FD-9D05-58D1-896B-AF6E8E5B51FE_d0e448146_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9BDD42FD-9D05-58D1-896B-AF6E8E5B51FE_d0e453991_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9BF177DF-9E59-5C30-95BA-70A8250579E0_d0e682448_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9BF177DF-9E59-5C30-95BA-70A8250579E0_d0e695275_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9BFF0271-F5C3-45B6-AD4D-9179107F300A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9BFF0271-F5C3-45B6-AD4D-9179107F300A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,9 +14,9 @@
 <p>OpenCProducerConsumerEx is a hybrid application that depicts solution for
 producer consumer problem using Open C. This application uses main() as an
 entry point for the application. It uses <codeph>libc</codeph> and <codeph>libpthread</codeph> </p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-13-1-2-2"><title>Download</title> <p>Click
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-13-1-2-2"><title>Download</title> <p>Click
 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b9259541-c444-400a-8f6e-8daaa5381a79.zip" scope="external">opencproducerconsumerex.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b9259541-c444-400a-8f6e-8daaa5381a79.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-13-1-2-3"><title>Design and
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-13-1-2-3"><title>Design and
 Implementation</title> <p>The following sections provide information about
 the implementation of the example. </p> <p><b>Capabilities</b> </p> The program
 capability is defined in: <filepath>ProducerConsumer.mmp</filepath> (EXE -
@@ -44,7 +44,7 @@
 (from pthread)</codeph> </p><p><codeph>console I/O APIs</codeph>  </p><p><codeph>File
 APIs of Symbian platform</codeph></p><p> <codeph>Threading APIs of Symbian
 platform</codeph></p></section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-13-1-2-4"><title>Building and
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-13-1-2-4"><title>Building and
 Using</title> To build the OpenCProducerConsumerEx application, go to the
 OpenCProducerConsumerEx\group directory and build the application. The definition
 for the whole application can be found in the<filepath> bld.inf</filepath>in
Binary file Symbian3/PDK/Source/GUID-9C2421E6-FA53-5E3C-B073-57FB9F3591DD_d0e460022_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9C2421E6-FA53-5E3C-B073-57FB9F3591DD_d0e465867_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,242 +1,197 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B" xml:lang="en">
-<title>Advanced Pointer Overview </title>
-<shortdesc>This is an overview of the Window Server extensions that
-support the use of advanced pointers. These extensions enable mobile
-devices to respond to events from multiple pointers, including their
-proximity and pressure. These extensions are available only in ScreenPlay. </shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p> <b>Variant</b>: <xref
-href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
->. <b>Target audience</b>: Application developers. </p>
-<section id="GUID-773C3275-F562-5428-A34C-7D54F10D4BC1"><title>Architecture</title
-> <p>In response to multiple pointer movements, an input driver generates
-a pointer event for each touch. The Window Server changes and delivers
-the pointer events to the client application, as shown in the following
-diagram. </p> <fig id="GUID-4A02299F-8401-5761-863C-91F0338731DA">
-<title>              Pointer events            </title>
-<image
-href="GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e239080_href.png"
-placement="inline"></image></fig> <p>Pointer-related events move from
-the driver to the application. The <xref
-href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
-></xref>, <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"
-><apiname>TWsEvent</apiname></xref> and <xref
-href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
-></xref> classes encapsulate the event information. </p> </section>
-<section><title>Key concepts/terms</title> <p>The following terms
-are introduced here and are used throughout the advanced pointer documentation: </p
-> <dl>
-<dlentry>
-<dt>Pointer</dt>
-<dd><p>A device that points at the screen, for example, a mouse, pen,
-finger, or touchpad. </p> </dd></dlentry>
-<dlentry>
-<dt>Multiple pointer support</dt>
-<dd><p>Handling more than one pointer at the same time. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Proximity</dt>
-<dd><p>Proximity in this context means the distance of the pointer
-from the mobile device. Sensors detect the value of the proximity
-of the pointer from the mobile device. </p> </dd></dlentry>
-<dlentry>
-<dt>Pressure</dt>
-<dd><p>Pressure in this context is a value that indicates the force
-applied to the mobile device by the pointer. Sensors detect the value
-of the pressure of the pointer on the mobile device. </p> </dd>
-</dlentry>
-</dl> </section>
-<section><title>Logical model of pointing devices</title> <p>A logical
-model is used to handle all of the different pointing devices correctly.
-In this logical model, the pointer is <b>performing an action</b> when
-any of the following scenarios occur: </p> <ul>
-<li id="GUID-3A57E7AE-A8FB-5C2B-AC54-4F60DDD35783"><p>An <codeph>EButton1Down</codeph
-> event is sent to the client. </p> </li>
-<li id="GUID-BBD5660A-2A72-5F14-9A28-D7F31761F963"><p> <codeph>EDrag</codeph
-> events are sent to the client (optional). </p> </li>
-<li id="GUID-54B774E8-6BD8-51EB-9854-9953F95AFBF5"><p>An <codeph>EButton1Up</codeph
-> event is sent to the client. </p> </li>
-</ul> <p>Pointing devices can be in one of the following states: </p
-> <table id="GUID-AAE663FE-E94F-556B-B635-93DDD6C27902">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>State</entry>
-<entry>Description</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <b>Out of range</b>  </p> </entry>
-<entry><p>Not detected by the device's sensors. </p> </entry>
-</row>
-<row>
-<entry><p> <b>Up</b>  </p> </entry>
-<entry><p>Detected by sensors, coordinates available, not performing
-an action. </p> </entry>
-</row>
-<row>
-<entry><p> <b>Down</b>  </p> </entry>
-<entry><p>Detected by sensors, coordinates available, performing an
-action (as defined above). </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The mapping between these states and physical actions
-performed by the user vary for different pointing device types (mouse,
-finger) and different phone models. Here are two example interpretations
-of physical pointing device states: </p> <ul>
-<li id="GUID-E01E8EC4-8535-5FD4-980E-214FC7542717"><p> <b>Mouse</b
->. An example interpretation by a driver of the physical state of
-a mouse is as follows: It is always in the <i>up</i> state except
-when the left button is pressed, when it is in the <i>down</i> state.
-It is never out of range. </p> </li>
-<li id="GUID-7CC705BF-FC6C-534B-B00B-0C07A6B9A856"><p> <b>Fingers
-with proximity support</b>. The following is an example interpretation
-of finger physical states when the device has proximity support (that
-is, it can measure the finger's proximity from the screen): </p> <ul>
-<li id="GUID-F4F27FC9-F4F3-5475-8DA5-771B804828CD"><p> <i>Out of range</i
-> when proximity > 10cm </p> </li>
-<li id="GUID-0B8F3832-24C1-5421-A224-5FFFC6EBA3F4"><p> <i>Up</i> when
-1cm &lt; proximity &lt;= 10cm </p> </li>
-<li id="GUID-CE65B2EC-AD8E-5B9D-A514-07EC73137518"><p> <i> Down</i
-> when proximity &lt;= 1cm </p> </li>
-</ul> <p>In this way the finger can perform actions (for example,
-press buttons, drag items) without touching the screen. </p> </li>
-</ul> </section>
-<section><title>Multiple pointers</title> <p>The system handles multiple
-pointers at the same time by identifying each one with a number and
-sending pointer events separately for each of them. A field (<codeph
->iPointerNumber</codeph>) in the pointer event classes (<xref
-href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
-></xref> and the <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname
-></xref> class which extends <xref
-href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
-></xref>) identifies the pointer for which the event occurred. The
-order and frequency of pointer events depends on the driver of the
-pointing device. </p> <p>On each phone there is a pool of available
-pointer numbers, ranging from 0 to <codeph>HALData::EPointerNumberOfPointers</codeph
-> - 1. Every time the driver detects a new pointer coming into the
-range of the device, the driver assigns a number from the pool. After
-the pointer goes out of the range of the device, the number no longer
-identifies that particular pointer and the driver sends <xref
-href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita#GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD/GUID-C7FB5C5F-B7E1-3738-B72D-1AD81699414F"
-><apiname>TRawEvent::EPointer3DOutOfRange</apiname></xref> with this
-pointer number. The number is then released back to the pool and may
-be reused to identify another pointer coming into the device's range. </p
-> </section>
-<section><title>Pressure and proximity</title> <p>The pressure of
-the pointer on the screen is represented as a positive integer. The
-proximity of the pointer to the screen is represented as a negative
-integer. It is up to the UI Platform to define units of pressure and
-proximity, which may be non-linear. In the <xref
-href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
-></xref> class, pressure and proximity are expressed in terms of the
-Z coordinate of the pointer. The definition of the Z coordinate is
-based on the assumption that the pointer is either hovering over the
-screen (proximity &lt; 0, pressure = 0) or touching the screen (proximity
-= 0, pressure >= 0): </p> <ul>
-<li id="GUID-21CB6F60-3076-5EBE-9900-D870C670FE5B"><p>If proximity
-&lt; 0 and pressure = 0 then the Z coordinate = proximity. </p> </li>
-<li id="GUID-B5EA992D-4F86-54E1-A64C-673691460945"><p>If proximity
-= 0 and pressure >= 0 then the Z coordinate = pressure. </p> </li>
-</ul> <fig id="GUID-FCE3CEAF-CCF3-5472-AC15-5DF5F092AA5E">
-<title>              Relationships between the pointer proximity,
-pressure and z              coordinate            </title>
-<image
-href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e239367_href.png"
-placement="inline"></image></fig> </section>
-<section><title>API summary</title> <table
-id="GUID-07002499-484E-500E-AC57-4089AB0197E8">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry>API</entry>
-<entry>Description</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita"
-><apiname>HALData</apiname></xref>  </p> </entry>
-<entry><p>Includes z coordinate, pressure precision and number of
-pointers. Also contains threshold values for proximity and pressure. </p
-> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"
-><apiname>TRawEvent</apiname></xref>  </p> </entry>
-<entry><p>Includes the pointer number and a structure for proximity
-and pressure data. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"
-><apiname>RWindowBase</apiname></xref>  </p> </entry>
-<entry><p>Enables advanced pointer events for the window. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"
-><apiname>TWsEvent</apiname></xref>  </p> </entry>
-<entry><p>Supports <codeph>TAdvancedPointerEvent</codeph> (derived
-from <codeph>TPointerEvent)</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"
-><apiname>TPointerEvent</apiname></xref>  </p> </entry>
-<entry><p>Includes event types for pressing and closeness. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"
-><apiname>TAdvancedPointerEvent</apiname></xref>  </p> </entry>
-<entry><p>Inherits from <codeph>TPointerEvent</codeph>. </p> <p>Provides
-capabilities for pressure, proximity and multiple pointers<?Pub Caret?>. </p
-> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"
-><apiname>RWsSession</apiname></xref>  </p> </entry>
-<entry><p>Provides get and set methods to manipulate threshold values
-for proximity and pressure. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-<section><title>Typical uses</title> <ul>
-<li id="GUID-CA055058-AAD6-5A89-BC7E-7B5E81FA8963"><p> <b>Enabling
-many pointers for a window</b>  </p> <p>Enables multiple pointers
-to act on one window. </p> </li>
-<li id="GUID-DBD49B85-207D-5722-8AE3-B00946899559"><p> <b>Enabling
-concurrent control of many objects</b>  </p> <p>Controls many objects
-on one or more windows with many pointers. </p> </li>
-<li id="GUID-AF442CD4-FDEC-5FF4-B8F9-6ED8CDB9E957"><p> <b>Getting
-z coordinates from TPointerEvent</b>  </p> <p>Reads the pressure and
-proximity values for a pointer. </p> </li>
-<li id="GUID-13E0E5DA-609A-52B3-A90A-9A84C3A8BF22"><p> <b>Pinch zooming</b
->  </p> <p>Enables the user to zoom in and out of data by using two
-fingers to pinch an area of the screen. Pinch zooming is normally
-used in web-page, map, picture, chart and control applications. </p
-> </li>
-<li id="GUID-C038F18F-94DE-5391-A1F8-BEF83274D143"><p> <b>Responding
-to high pressure events</b>  </p> <p>As the pointer state changes,
-the pressure value can be checked. When it passes over a threshold
-value, the Window Server responds appropriately to the client. </p
-> </li>
-</ul> </section>
-</conbody>
-<related-links>
-<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext
->Pointer States and Event                 Communication</linktext>
-</link>
-<link href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita"><linktext
->Advanced Pointer                 Tutorial</linktext></link>
-</related-links>
-</concept>
-<?Pub *0000011676?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B" xml:lang="en"><title>Advanced Pointer Overview </title><shortdesc>This is an overview of the Window Server extensions that
+support the use of advanced pointers. These extensions enable mobile
+devices to respond to events from multiple pointers, including their
+proximity and pressure. These extensions are available only in ScreenPlay. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p>
+<section id="GUID-773C3275-F562-5428-A34C-7D54F10D4BC1"><title>Architecture</title> <p>In response to multiple pointer movements, an input driver generates
+a pointer event for each touch. The Window Server changes and delivers
+the pointer events to the client application, as shown in the following
+diagram. </p> <fig id="GUID-4A02299F-8401-5761-863C-91F0338731DA">
+<title>              Pointer events            </title>
+<image href="GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e245056_href.png" placement="inline"/>
+</fig> <p>Pointer-related events move from the driver to the application.
+The <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref>, <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"><apiname>TWsEvent</apiname></xref> and <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> classes encapsulate the event information. </p> </section>
+<section id="GUID-64A10900-B3A6-4FC5-8CA9-41C850D8C305"><title>Key concepts/terms</title> <p>The following terms
+are introduced here and are used throughout the advanced pointer documentation: </p> <dl>
+<dlentry>
+<dt>Pointer</dt>
+<dd><p>A device that points at the screen, for example, a mouse, pen,
+finger, or touchpad. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Multiple pointer support</dt>
+<dd><p>Handling more than one pointer at the same time. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Proximity</dt>
+<dd><p>Proximity in this context means the distance of the pointer
+from the mobile device. Sensors detect the value of the proximity
+of the pointer from the mobile device. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Pressure</dt>
+<dd><p>Pressure in this context is a value that indicates the force
+applied to the mobile device by the pointer. Sensors detect the value
+of the pressure of the pointer on the mobile device. </p> </dd>
+</dlentry>
+</dl> </section>
+<section id="GUID-AAA291C4-03F7-492D-BEEA-C59DECDBECA9"><title>Logical model of pointing devices</title> <p>A logical
+model is used to handle all of the different pointing devices correctly.
+In this logical model, the pointer is <b>performing an action</b> when
+any of the following scenarios occur: </p> <ul>
+<li id="GUID-3A57E7AE-A8FB-5C2B-AC54-4F60DDD35783"><p>An <codeph>EButton1Down</codeph> event is sent to the client. </p> </li>
+<li id="GUID-BBD5660A-2A72-5F14-9A28-D7F31761F963"><p> <codeph>EDrag</codeph> events are sent to the client (optional). </p> </li>
+<li id="GUID-54B774E8-6BD8-51EB-9854-9953F95AFBF5"><p>An <codeph>EButton1Up</codeph> event is sent to the client. </p> </li>
+</ul> <p>Pointing devices can be in one of the following states: </p> <table id="GUID-AAE663FE-E94F-556B-B635-93DDD6C27902">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>State</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <b>Out of range</b>  </p> </entry>
+<entry><p>Not detected by the device's sensors. </p> </entry>
+</row>
+<row>
+<entry><p> <b>Up</b>  </p> </entry>
+<entry><p>Detected by sensors, coordinates available, not performing
+an action. </p> </entry>
+</row>
+<row>
+<entry><p> <b>Down</b>  </p> </entry>
+<entry><p>Detected by sensors, coordinates available, performing an
+action (as defined above). </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The mapping between these states and physical actions
+performed by the user vary for different pointing device types (mouse,
+finger) and different phone models. Here are two example interpretations
+of physical pointing device states: </p> <ul>
+<li id="GUID-E01E8EC4-8535-5FD4-980E-214FC7542717"><p> <b>Mouse</b>. An example interpretation by a driver of the physical state of
+a mouse is as follows: It is always in the <i>up</i> state except
+when the left button is pressed, when it is in the <i>down</i> state.
+It is never out of range. </p> </li>
+<li id="GUID-7CC705BF-FC6C-534B-B00B-0C07A6B9A856"><p> <b>Fingers
+with proximity support</b>. The following is an example interpretation
+of finger physical states when the device has proximity support (that
+is, it can measure the finger's proximity from the screen): </p> <ul>
+<li id="GUID-F4F27FC9-F4F3-5475-8DA5-771B804828CD"><p> <i>Out of range</i> when proximity &gt; 10cm </p> </li>
+<li id="GUID-0B8F3832-24C1-5421-A224-5FFFC6EBA3F4"><p> <i>Up</i> when
+1cm &lt; proximity &lt;= 10cm </p> </li>
+<li id="GUID-CE65B2EC-AD8E-5B9D-A514-07EC73137518"><p> <i> Down</i> when proximity &lt;= 1cm </p> </li>
+</ul> <p>In this way the finger can perform actions (for example,
+press buttons, drag items) without touching the screen. </p> </li>
+</ul> </section>
+<section id="GUID-F6E6E5E9-8037-46F2-A457-E8DEEFA28A1A"><title>Multiple pointers</title> <p>The system handles multiple
+pointers at the same time by identifying each one with a number and
+sending pointer events separately for each of them. A field (<codeph>iPointerNumber</codeph>) in the pointer event classes (<xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> and the <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> class which extends <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref>) identifies the pointer for which the event
+occurred. The order and frequency of pointer events depends on the
+driver of the pointing device. </p> <p>On each phone there is a pool
+of available pointer numbers, ranging from 0 to <codeph>HALData::EPointerNumberOfPointers</codeph> - 1. Every time the driver detects a new pointer coming into the
+range of the device, the driver assigns a number from the pool. After
+the pointer goes out of the range of the device, the number no longer
+identifies that particular pointer and the driver sends <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita#GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD/GUID-C7FB5C5F-B7E1-3738-B72D-1AD81699414F"><apiname>TRawEvent::EPointer3DOutOfRange</apiname></xref> with this pointer number. The number is then released back to the
+pool and may be reused to identify another pointer coming into the
+device's range. </p> </section>
+<section id="GUID-5F1F123B-F0D3-42E6-811B-E762D663DE59"><title>Pressure and proximity</title> <p>The pressure of
+the pointer on the screen is represented as a positive integer. The
+proximity of the pointer to the screen is represented as a negative
+integer. It is up to the UI Platform to define units of pressure and
+proximity, which may be non-linear. In the <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> class, pressure and proximity are expressed in terms of the Z coordinate
+of the pointer. The definition of the Z coordinate is based on the
+assumption that the pointer is either hovering over the screen (proximity
+&lt; 0, pressure = 0) or touching the screen (proximity = 0, pressure
+&gt;= 0): </p> <ul>
+<li id="GUID-21CB6F60-3076-5EBE-9900-D870C670FE5B"><p>If proximity
+&lt; 0 and pressure = 0 then the Z coordinate = proximity. </p> </li>
+<li id="GUID-B5EA992D-4F86-54E1-A64C-673691460945"><p>If proximity
+= 0 and pressure &gt;= 0 then the Z coordinate = pressure. </p> </li>
+</ul> <fig id="GUID-FCE3CEAF-CCF3-5472-AC15-5DF5F092AA5E">
+<title>              Relationships between the pointer proximity,
+pressure and z              coordinate            </title>
+<image href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e245362_href.png" placement="inline"/>
+</fig> </section>
+<section id="GUID-7F06F9CC-B77C-450B-B66C-02761E124A02"><title>API summary</title> <table id="GUID-07002499-484E-500E-AC57-4089AB0197E8">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita"><apiname>HALData</apiname></xref>  </p> </entry>
+<entry><p>Includes z coordinate, pressure precision and number of
+pointers. Also contains threshold values for proximity and pressure. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref>  </p> </entry>
+<entry><p>Includes the pointer number and a structure for proximity
+and pressure data. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname></xref>  </p> </entry>
+<entry><p>Enables advanced pointer events for the window. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"><apiname>TWsEvent</apiname></xref>  </p> </entry>
+<entry><p>Supports <codeph>TAdvancedPointerEvent</codeph> (derived
+from <codeph>TPointerEvent)</codeph>. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref>  </p> </entry>
+<entry><p>Includes event types for pressing and closeness. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref>  </p> </entry>
+<entry><p>Inherits from <codeph>TPointerEvent</codeph>. </p> <p>Provides
+capabilities for pressure, proximity and multiple pointers. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession</apiname></xref>  </p> </entry>
+<entry><p>Provides get and set methods to manipulate threshold values
+for proximity and pressure. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-0CB10AE9-87D6-4D4A-96BD-5AD4516F38A6"><title>Typical uses</title> <ul>
+<li id="GUID-CA055058-AAD6-5A89-BC7E-7B5E81FA8963"><p> <b>Enabling
+many pointers for a window</b>  </p> <p>Enables multiple pointers
+to act on one window. </p> </li>
+<li id="GUID-DBD49B85-207D-5722-8AE3-B00946899559"><p> <b>Enabling
+concurrent control of many objects</b>  </p> <p>Controls many objects
+on one or more windows with many pointers. </p> </li>
+<li id="GUID-AF442CD4-FDEC-5FF4-B8F9-6ED8CDB9E957"><p> <b>Getting
+z coordinates from TPointerEvent</b>  </p> <p>Reads the pressure and
+proximity values for a pointer. </p> </li>
+<li id="GUID-13E0E5DA-609A-52B3-A90A-9A84C3A8BF22"><p> <b>Pinch zooming</b>  </p> <p>Enables the user to zoom in and out of data by using two
+fingers to pinch an area of the screen. Pinch zooming is normally
+used in web-page, map, picture, chart and control applications. </p> </li>
+<li id="GUID-C038F18F-94DE-5391-A1F8-BEF83274D143"><p> <b>Responding
+to high pressure events</b>  </p> <p>As the pointer state changes,
+the pressure value can be checked. When it passes over a threshold
+value, the Window Server responds appropriately to the client. </p> </li>
+</ul> </section>
+</conbody><related-links>
+<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext>Pointer
+States and Event                 Communication</linktext></link>
+<link href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita"><linktext>Advanced
+Pointer                 Tutorial</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9C51D27D-BEDB-59D1-8F0E-8426B8FF2230.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9C51D27D-BEDB-59D1-8F0E-8426B8FF2230.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9C51D27D-BEDB-59D1-8F0E-8426B8FF2230"><title>Descriptors</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Descriptors are the classes that Symbian platform C++ uses to manage strings. They are fundamental to the Symbian platform, and an excellent example of the difference of approach between non-OO and OO designs. </p> <section><title>Overview</title> <p>In C, a string such as </p> <codeblock id="GUID-D12A339F-7ADE-5BDE-A8B3-59AB67E2BD8B" xml:space="preserve">char* hello="hello";</codeblock> <p>causes some memory to be set aside containing the six characters 'h', 'e', 'l', 'l', 'o', '\0'. A function such as <codeph>strlen()</codeph> works by scanning the bytes starting from the beginning, and counting until it reaches the trailing null character. If you wish to extend the string, you need to know how much memory is allocated to it. </p> <p>In Symbian platform C++ however, strings are managed using a family of classes called descriptors. The abstract descriptor classes define common interfaces for all descriptor classes. Buffer, pointer, and heap descriptor classes provide implementations of the abstract descriptor interfaces, and provide different methods of storing the data. </p> </section> <section><title>Abstract descriptors</title> <p>We can represent the basic requirements for strings by two abstract classes: <codeph>TDesC</codeph> and <codeph>TDes</codeph>. </p> <p> <codeph>TDesC</codeph> is a constant, or non-modifiable, descriptor. It has an address and a length. Using a class like this, you can do any manipulations to a string, provided they do not alter the data. As a consequence, the <codeph>TDesC</codeph> class has many non-modifying functions. </p> <p> <codeph>TDes</codeph> is a modifiable descriptor: it has, in addition, a maximum length. This allows the data to be manipulated, extended or contracted, provided it does not exceed the maximum length. As a consequence, <codeph>TDes</codeph> has many modifying functions which allow string manipulation. </p> <p>It is a fundamental aspect of descriptors that they do not allow modification to exceed the allocated length. Other classes are provided to allow this, for instance <codeph>CBufBase</codeph> and derived classes. If a <codeph>TDes</codeph> function causes overflow, a panic will occur. </p> <p>Because <codeph>TDesC</codeph> and <codeph>TDes</codeph> define all the functions needed to access and manipulate string and memory data, many functions take a <codeph>const TDesC&amp;</codeph> parameter if they need to access data, or a <codeph>TDes&amp;</codeph> parameter if they need to modify it. </p> </section> <section><title>Pointer descriptor</title> <p>The abstract descriptor classes have several implementations. The simplest are pointer descriptors. </p> <p> <codeph>TPtrC</codeph> just has length and address: its representation needs just two machine words. A <codeph>TPtrC</codeph> may be set up to describe any existing data. A <codeph>TPtr</codeph> adds a maximum length, and so may be used to describe a buffer which is perhaps only partially allocated. </p> <fig id="GUID-07AAB2BD-6645-5E19-A69D-C7BDD770FBF6"><image href="GUID-0268102D-D238-5C5E-818F-6ACC4A85B022_d0e8848_href.png" placement="inline"/></fig> <p> <codeph>TPtrC</codeph> and <codeph>TPtr</codeph> are somewhat like C <codeph>char*</codeph> pointers. But because the length is contained in the descriptor itself, there is no need to scan for trailing null characters, or to allocate room for them. </p> </section> <section><title>Buffer descriptors</title> <p>Buffer descriptors, <codeph>TBufC</codeph> and <codeph>TBuf</codeph>, contain their data as part of themselves, like <codeph>char[]</codeph> arrays in C. </p> <fig id="GUID-2D00C669-3E47-5352-9730-73035D059B15"><image href="GUID-356B54BB-E389-5562-A2D9-80A472EAC9A3_d0e8880_href.png" placement="inline"/></fig> <p>These descriptor classes exploit C++'s template mechanism, using an integer parameter to specify the length. </p> </section> <section><title>Heap descriptors</title> <p>Heap descriptors contain their data in heap cell. These are used when you do not know the length required for a buffer at build time, but decide it at run-time. This is like <codeph>(char*) malloc(length+1)</codeph> in C. </p> <p>The non-modifiable heap descriptor type, <codeph>HBufC</codeph>, is allocated on the heap. They are always referred to through an <codeph>HBufC*</codeph>, rather than an <codeph>HBufC</codeph> directly: </p> <fig id="GUID-C2909A73-C585-5A0B-B0B8-15BBB05EBCAE"><image href="GUID-C8D5B104-3F34-513B-BA08-5F2FEE60265C_d0e8909_href.png" placement="inline"/></fig> <p>The modifiable heap descriptor type, <codeph>RBuf</codeph>, can be created on the stack, but contains a pointer to data on the heap. This is similar to a <codeph>TPtr</codeph> pointer descriptor, but an <codeph>RBuf</codeph> owns the data that it points to, and is responsible for freeing the memory when it is closed. An <codeph>RBuf</codeph> object can allocate its own buffer, take ownership of a pre-existing section of allocated memory, or take ownership of a pre-existing heap descriptor. </p> <fig id="GUID-084AC324-8928-53FE-8CF5-75A544522AD8"><image href="GUID-DC37C3A9-B03F-5699-9E05-8ADD62C2FF04_d0e8927_href.png" placement="inline"/></fig> <p> <codeph>RBuf</codeph> is easier to use than <codeph>HBufC</codeph>, so should generally be preferred. <codeph>RBuf</codeph> was only introduced in version 8.0, however, so older code and APIs use <codeph>HBufC</codeph>. </p> </section> <section><title>Descriptor classes</title> <p>The complete descriptor class hierarchy is </p> <fig id="GUID-9FA30B6B-12C7-58CB-92B6-684053EE9FCD"><image href="GUID-7E7BCC57-E14F-56A4-B948-B9FB9E7AB598_d0e8953_href.png" placement="inline"/></fig> <p>It represents an elegant use of OO. The <codeph>TBufCBase</codeph> class is used as an implementation convenience, which is also a frequent OO idiom (though it should be used with caution). </p> <p>Versions of the descriptors classes are available that store 16-bit or 8-bit wide items. When using descriptors for strings, you should always use classes such as <codeph>TDes</codeph> etc. These classes are <codeph>typedef</codeph> ed to use the 16-bit implementations, such as <codeph>TDes16</codeph> etc. </p> <p>Because descriptors may contain any data, including nulls, they may also be used to refer to byte data and general buffers. In these contexts, you should use the 8-bit implementations, such as <codeph>TDes8</codeph>, directly. </p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-9C51D27D-BEDB-59D1-8F0E-8426B8FF2230"><title>Descriptors</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Descriptors are the classes that Symbian platform C++ uses to manage strings. They are fundamental to the Symbian platform, and an excellent example of the difference of approach between non-OO and OO designs. </p> <section><title>Overview</title> <p>In C, a string such as </p> <codeblock id="GUID-D12A339F-7ADE-5BDE-A8B3-59AB67E2BD8B" xml:space="preserve">char* hello="hello";</codeblock> <p>causes some memory to be set aside containing the six characters 'h', 'e', 'l', 'l', 'o', '\0'. A function such as <codeph>strlen()</codeph> works by scanning the bytes starting from the beginning, and counting until it reaches the trailing null character. If you wish to extend the string, you need to know how much memory is allocated to it. </p> <p>In Symbian platform C++ however, strings are managed using a family of classes called descriptors. The abstract descriptor classes define common interfaces for all descriptor classes. Buffer, pointer, and heap descriptor classes provide implementations of the abstract descriptor interfaces, and provide different methods of storing the data. </p> </section> <section><title>Abstract descriptors</title> <p>We can represent the basic requirements for strings by two abstract classes: <codeph>TDesC</codeph> and <codeph>TDes</codeph>. </p> <p> <codeph>TDesC</codeph> is a constant, or non-modifiable, descriptor. It has an address and a length. Using a class like this, you can do any manipulations to a string, provided they do not alter the data. As a consequence, the <codeph>TDesC</codeph> class has many non-modifying functions. </p> <p> <codeph>TDes</codeph> is a modifiable descriptor: it has, in addition, a maximum length. This allows the data to be manipulated, extended or contracted, provided it does not exceed the maximum length. As a consequence, <codeph>TDes</codeph> has many modifying functions which allow string manipulation. </p> <p>It is a fundamental aspect of descriptors that they do not allow modification to exceed the allocated length. Other classes are provided to allow this, for instance <codeph>CBufBase</codeph> and derived classes. If a <codeph>TDes</codeph> function causes overflow, a panic will occur. </p> <p>Because <codeph>TDesC</codeph> and <codeph>TDes</codeph> define all the functions needed to access and manipulate string and memory data, many functions take a <codeph>const TDesC&amp;</codeph> parameter if they need to access data, or a <codeph>TDes&amp;</codeph> parameter if they need to modify it. </p> </section> <section><title>Pointer descriptor</title> <p>The abstract descriptor classes have several implementations. The simplest are pointer descriptors. </p> <p> <codeph>TPtrC</codeph> just has length and address: its representation needs just two machine words. A <codeph>TPtrC</codeph> may be set up to describe any existing data. A <codeph>TPtr</codeph> adds a maximum length, and so may be used to describe a buffer which is perhaps only partially allocated. </p> <fig id="GUID-07AAB2BD-6645-5E19-A69D-C7BDD770FBF6"><image href="GUID-0268102D-D238-5C5E-818F-6ACC4A85B022_d0e8970_href.png" placement="inline"/></fig> <p> <codeph>TPtrC</codeph> and <codeph>TPtr</codeph> are somewhat like C <codeph>char*</codeph> pointers. But because the length is contained in the descriptor itself, there is no need to scan for trailing null characters, or to allocate room for them. </p> </section> <section><title>Buffer descriptors</title> <p>Buffer descriptors, <codeph>TBufC</codeph> and <codeph>TBuf</codeph>, contain their data as part of themselves, like <codeph>char[]</codeph> arrays in C. </p> <fig id="GUID-2D00C669-3E47-5352-9730-73035D059B15"><image href="GUID-356B54BB-E389-5562-A2D9-80A472EAC9A3_d0e9002_href.png" placement="inline"/></fig> <p>These descriptor classes exploit C++'s template mechanism, using an integer parameter to specify the length. </p> </section> <section><title>Heap descriptors</title> <p>Heap descriptors contain their data in heap cell. These are used when you do not know the length required for a buffer at build time, but decide it at run-time. This is like <codeph>(char*) malloc(length+1)</codeph> in C. </p> <p>The non-modifiable heap descriptor type, <codeph>HBufC</codeph>, is allocated on the heap. They are always referred to through an <codeph>HBufC*</codeph>, rather than an <codeph>HBufC</codeph> directly: </p> <fig id="GUID-C2909A73-C585-5A0B-B0B8-15BBB05EBCAE"><image href="GUID-C8D5B104-3F34-513B-BA08-5F2FEE60265C_d0e9031_href.png" placement="inline"/></fig> <p>The modifiable heap descriptor type, <codeph>RBuf</codeph>, can be created on the stack, but contains a pointer to data on the heap. This is similar to a <codeph>TPtr</codeph> pointer descriptor, but an <codeph>RBuf</codeph> owns the data that it points to, and is responsible for freeing the memory when it is closed. An <codeph>RBuf</codeph> object can allocate its own buffer, take ownership of a pre-existing section of allocated memory, or take ownership of a pre-existing heap descriptor. </p> <fig id="GUID-084AC324-8928-53FE-8CF5-75A544522AD8"><image href="GUID-DC37C3A9-B03F-5699-9E05-8ADD62C2FF04_d0e9049_href.png" placement="inline"/></fig> <p> <codeph>RBuf</codeph> is easier to use than <codeph>HBufC</codeph>, so should generally be preferred. <codeph>RBuf</codeph> was only introduced in version 8.0, however, so older code and APIs use <codeph>HBufC</codeph>. </p> </section> <section><title>Descriptor classes</title> <p>The complete descriptor class hierarchy is </p> <fig id="GUID-9FA30B6B-12C7-58CB-92B6-684053EE9FCD"><image href="GUID-7E7BCC57-E14F-56A4-B948-B9FB9E7AB598_d0e9075_href.png" placement="inline"/></fig> <p>It represents an elegant use of OO. The <codeph>TBufCBase</codeph> class is used as an implementation convenience, which is also a frequent OO idiom (though it should be used with caution). </p> <p>Versions of the descriptors classes are available that store 16-bit or 8-bit wide items. When using descriptors for strings, you should always use classes such as <codeph>TDes</codeph> etc. These classes are <codeph>typedef</codeph> ed to use the 16-bit implementations, such as <codeph>TDes16</codeph> etc. </p> <p>Because descriptors may contain any data, including nulls, they may also be used to refer to byte data and general buffers. In these contexts, you should use the 8-bit implementations, such as <codeph>TDes8</codeph>, directly. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9C54DAFB-843B-41A7-8E54-9B2A39F46527_d0e271538_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9C54DAFB-843B-41A7-8E54-9B2A39F46527_d0e277538_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9C57F0C6-E2E3-58A2-907D-924A7E22EA97-GENID-1-15-1-1-5-1-4-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-9C57F0C6-E2E3-58A2-907D-924A7E22EA97-GENID-1-15-1-1-5-1-4-1" xml:lang="en"><title>Resource
-compiler tool: rcomp</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-9C57F0C6-E2E3-58A2-907D-924A7E22EA97-GENID-1-15-1-1-5-1-4-1-2-1"><title>Purpose</title> <p>The
-resource compiler, <filepath>rcomp</filepath>, compiles source <filepath>rss</filepath> resource
-files into a <filepath>rsc</filepath> resource data file which can be used
-by applications, and a <filepath>rsg</filepath> resource header file. The
-operation of the resource compiler is usually wrapped in an <filepath>abld</filepath> batch
-file. That provides the most commonly used <filepath>rcomp</filepath> functionality,
-but does not provide some of the debugging options available directly through <filepath>rcomp</filepath>. </p><p><b>Note</b>:
-From Symbian^4 onwards, <filepath>rcomp</filepath> supports long strings and
-supplementary characters (not included in code point range of BMP) of the
-range <codeph>0x10000</codeph> to <codeph>0x10ffff</codeph> in rss files.</p> </section>
-<section id="GUID-C8BD2B09-0D01-4CE3-B575-0A076F1E926D"><title>Command line syntax</title><userinput>rcomp [—v] [—p] [—l]
-[—force] [—u] [—o <varname>DataOutputFile</varname>] [-{<varname>uid2</varname>,<varname>uid3</varname> }]
-[—h <varname>HeaderOutputFile</varname>] [—s <varname>SourceFileName</varname>]
-[—i <varname>BaseInputFileName</varname>]</userinput> <p><b>Arguments</b> </p> <table id="GUID-787D72D2-564C-569A-B7C4-B244DD46C87E">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>-v</codeph>  </p> </entry>
-<entry><p>verbose output. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-p</codeph>  </p> </entry>
-<entry><p>parser debugging </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-l</codeph>  </p> </entry>
-<entry><p>Check localisation comments </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-force</codeph>  </p> </entry>
-<entry><p>Emit warnings if the localisation comment tags are not present </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-u</codeph>  </p> </entry>
-<entry><p>generate Unicode resource binary </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-o</codeph>  <varname>DataOutputFile</varname>  </p> </entry>
-<entry><p>Specify full path and name for data output file <varname>DataOutputFile</varname>.
-If this is not specified, no data output file is created. </p> </entry>
-</row>
-<row>
-<entry><p>[-{<varname>uid2</varname>,<varname>uid3</varname> }] </p> </entry>
-<entry><p>Second and third UIDs for the resource file </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-h</codeph>  <varname>HeaderOutputFile</varname>  </p> </entry>
-<entry><p>Specify header output file <varname>HeaderOutputFile</varname>;
-this is the name only, and does not include the path. If this is not specified,
-no header output file is created. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-s</codeph>  <varname>SourceFileName</varname>  </p> </entry>
-<entry><p>Specify resource compiler source file <varname>SourceFileName</varname> (output
-of pre-processor <varname>BaseInputFileName</varname>.rpp). If not specified,
-or specified as <codeph>-s-</codeph>, source is read from the standard input. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>-i</codeph>  <varname>BaseInputFileName</varname>  </p> </entry>
-<entry><p>The file given to the pre-processor </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p><b>Output files</b> </p> <table id="GUID-2CF9D84F-B657-56FF-8AB3-DF14CE693ED5">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <varname>DataOutputFile</varname>  </p> </entry>
-<entry><p>The resource data referred to by the application at run-time. Note
-that the generated file can have any name. However, before the resource file
-can be used it must be renamed to have an extension <filepath>.rsc</filepath>. </p> </entry>
-</row>
-<row>
-<entry><p> <varname>HeaderOutputFile</varname>  </p> </entry>
-<entry><p>The generated header file, which contains <codeph>#define</codeph> statements
-for each resource defined in the source file. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9C5A4B75-1A58-568E-AAB4-B44B61586037-master.png has changed
Binary file Symbian3/PDK/Source/GUID-9C5A4B75-1A58-568E-AAB4-B44B61586037_d0e744170_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9C82D039-A561-5F29-B9CB-450FAF89F254_d0e462767_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9C82D039-A561-5F29-B9CB-450FAF89F254_d0e468612_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9C837724-B00E-58F4-8B71-53ECDBFF5CCE_d0e584060_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9C837724-B00E-58F4-8B71-53ECDBFF5CCE_d0e611954_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-9CB23B06-07E9-5927-AB79-D1FC28B42DFE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-9CB23B06-07E9-5927-AB79-D1FC28B42DFE" xml:lang="en"><title>Software Installation Framework</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Software Installation Framework (SIF) provides a uniform point of entry for software management on the phone. This is achieved by providing uniform interfaces for installing, uninstalling and upgrading software components. It does not replace legacy interfaces, such as the native software installer (SWI). However, it enables generic clients to use different installers without implementing new client APIs for each new installer. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9CC514E9-85C2-5F4B-9F3B-F9FA1F4CB20A_d0e381678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9CC514E9-85C2-5F4B-9F3B-F9FA1F4CB20A_d0e387531_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9CC5E096-74FB-59AB-BAB9-A5486B961B7D_d0e364015_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9CC5E096-74FB-59AB-BAB9-A5486B961B7D_d0e369864_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9CDB7D27-B4C9-593B-8C67-0335A868BAC0_d0e276776_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9CDB7D27-B4C9-593B-8C67-0335A868BAC0_d0e282776_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D182BE5-1BDA-5799-95B9-2DE25E7B3F12_d0e231768_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D182BE5-1BDA-5799-95B9-2DE25E7B3F12_d0e237763_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D2752D1-4153-5978-A7B8-4C3F860B6B87_d0e366272_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D2752D1-4153-5978-A7B8-4C3F860B6B87_d0e372120_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9D3637D4-43BD-51ED-B4BC-1F234F09E24B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9D3637D4-43BD-51ED-B4BC-1F234F09E24B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -182,7 +182,7 @@
         stack-&gt;AddToStack(*item);
         }</codeblock> <p>as the following shows:</p> <fig id="GUID-27C947C7-3035-54A4-BA6E-C701C3007DD6">
 <title>Example singly linked list</title>
-<image href="GUID-BF155E49-35AF-5BC1-80C5-8D6C68C464F8_d0e316625_href.png" placement="inline"/>
+<image href="GUID-BF155E49-35AF-5BC1-80C5-8D6C68C464F8_d0e322615_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-CB47362B-7068-45AD-9D60-7D93174ED858"><title>Removing elements
 from list</title> <p>The following code removes each <codeph>CItem</codeph> element
--- a/Symbian3/PDK/Source/GUID-9D4B8CDF-60D7-5952-AAAF-94A3C1E8908F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9D4B8CDF-60D7-5952-AAAF-94A3C1E8908F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-9D4B8CDF-60D7-5952-AAAF-94A3C1E8908F" xml:lang="en"><title>Architecture</title><shortdesc>Explains architecture of the User-Side Hardware Abstraction (HAL)
 component.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-38D3E959-F627-592D-A05F-9F907B6DB95C">
-<image href="GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e411208_href.png" placement="inline"/>
+<image href="GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e417061_href.png" placement="inline"/>
 </fig>
 <ul>
 <li id="GUID-47670BE0-64BD-53E8-A7EF-6735FC5C0DC5"><p>Specific items of hardware
Binary file Symbian3/PDK/Source/GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e549075_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e556531_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-9D6C086F-7621-5522-AE0B-81CBD5E99125.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9D6C086F-7621-5522-AE0B-81CBD5E99125.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,6 +13,6 @@
 void Scale(TRequestStatus* aRequestStatus, CFbsBitmap&amp; aBitmap, const TSize&amp; aDestinationSize, TBool aMaintainAspectRatio = ETrue);</codeblock> <p>If two <codeph>CFbsBitmap</codeph> objects are specified in the scale operation, the dimensions of the destination object are used as the rescaling factors, subject to the aspect ratio setting (described below). </p> <p>If only the one <codeph>CFbsBitmap</codeph> object is specified in the scale operation, the scaling factor is taken from <xref href="GUID-938244B2-5E1A-39F7-8ACA-E6DE4C44A313.dita"><apiname>TSize</apiname></xref> subject to the aspect ratio setting. </p> <p>The aspect ratio is maintained if <codeph>aMaintainAspectRatio</codeph> is <codeph>ETrue</codeph>. If the ratio is used, then the image is rescaled to the smaller of the horizontal and vertical scaling factors. This is best explained by use of an example. </p> <p>In this example, the source image is 50 pixels wide by 150 pixels high (an aspect ratio of 1:3), <codeph>aMaintainAspectRatio</codeph> is set to <codeph>ETrue</codeph>, and the proposed rescaling is to 75 pixels wide by 300 high. Applying this ratio to the smaller of the horizontal and vertical factors means using a new value for the larger rescaling factor so that the aspect ratio matches that of the source image. The smaller value is 75 pixels, the aspect ratio required is 1:3 so the larger value will be 75*3 which is 225. The image will be rescaled to 75 wide by 225 high. </p> </section> <section><title>Bitmap Transformation Example - Bitmap rotation</title> <p>There are two variants of the <xref href="GUID-2008D827-A84A-3170-A8BD-86002BA37979.dita#GUID-2008D827-A84A-3170-A8BD-86002BA37979/GUID-A655241C-5339-35E2-8BDE-EDAF13ECC87A"><apiname>CBitmapScaler::Rotate()</apiname></xref> function. The first performs a rotational action on an image contained in one <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> object and places the result in another object. The second variant performs a rotational action on an image contained in a <codeph>CFbsBitmap</codeph> object and places the result back in the same object. Valid rotational increments are specified in <xref href="GUID-D0835677-6790-3038-8893-83E7186F47E7.dita#GUID-D0835677-6790-3038-8893-83E7186F47E7/GUID-D89261A3-D59C-38BC-BF55-B0C758AC9C85"><apiname>CBitmapRotator::TRotationAngle</apiname></xref>. </p> <p>Note: <xref href="GUID-2008D827-A84A-3170-A8BD-86002BA37979.dita#GUID-2008D827-A84A-3170-A8BD-86002BA37979/GUID-A655241C-5339-35E2-8BDE-EDAF13ECC87A"><apiname>CBitmapScaler::Rotate()</apiname></xref> does not support user specified rotational angles. The only values allowed are those specified in <xref href="GUID-D0835677-6790-3038-8893-83E7186F47E7.dita#GUID-D0835677-6790-3038-8893-83E7186F47E7/GUID-D89261A3-D59C-38BC-BF55-B0C758AC9C85"><apiname>CBitmapRotator::TRotationAngle</apiname></xref>. </p> <codeblock id="GUID-4FF39951-1B71-5267-813B-32828EB4A73B" xml:space="preserve">void Rotate(TRequestStatus* aRequestStatus, CFbsBitmap&amp; aSrcBitmap, CFbsBitmap&amp; aTgtBitmap, TRotationAngle aAngle);
 
 void Rotate(TRequestStatus* aRequestStatus, CFbsBitmap&amp; aBitmap, TRotationAngle aAngle);
-</codeblock> <table id="GUID-A207445C-18A1-5BA0-9E98-2D1C8A3126E7"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><fig id="GUID-E8157802-DA4E-5C30-94CE-E91DCD632187"><image href="GUID-27529BB0-8034-56B0-82FA-3E4CFDEBC99A_d0e507096_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>ERotation90DegreesClockwise</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-FEF7BCE4-26B8-552A-9E86-C7F21AA8D88A"><image href="GUID-29F55D74-A206-5862-9C83-2C5045B2DB7F_d0e507111_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>ERotation180DegreesClockwise</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-A12CB5D1-599B-5F85-B879-610EA9CD2CF9"><image href="GUID-37888891-DFB2-5A93-9547-3B22410906BF_d0e507126_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>ERotation270DegreesClockwise</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-37EC2688-E3AC-51A4-86F9-95124DDF40F8"><image href="GUID-BA1071D5-E358-5B33-9204-CDCD0CECEF0A_d0e507141_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>EMirrorHorizontalAxis</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-DFFCC6D6-B7F7-5047-B93D-CF79B2D47F17"><image href="GUID-399F7F7D-3E8E-58BB-9925-9F34C561C39A_d0e507156_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>EMirrorVerticalAxis</codeph>  </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody><related-links><link href="GUID-88091838-03FC-550F-9A3D-DA70907EF955.dita"><linktext>Imaging Frameworks overview</linktext> </link> <link href="GUID-C0B39D73-0A3C-5289-A774-7BE590037404.dita"><linktext> Bitmap Transform Library
+</codeblock> <table id="GUID-A207445C-18A1-5BA0-9E98-2D1C8A3126E7"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><fig id="GUID-E8157802-DA4E-5C30-94CE-E91DCD632187"><image href="GUID-27529BB0-8034-56B0-82FA-3E4CFDEBC99A_d0e514558_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>ERotation90DegreesClockwise</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-FEF7BCE4-26B8-552A-9E86-C7F21AA8D88A"><image href="GUID-29F55D74-A206-5862-9C83-2C5045B2DB7F_d0e514573_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>ERotation180DegreesClockwise</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-A12CB5D1-599B-5F85-B879-610EA9CD2CF9"><image href="GUID-37888891-DFB2-5A93-9547-3B22410906BF_d0e514588_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>ERotation270DegreesClockwise</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-37EC2688-E3AC-51A4-86F9-95124DDF40F8"><image href="GUID-BA1071D5-E358-5B33-9204-CDCD0CECEF0A_d0e514603_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>EMirrorHorizontalAxis</codeph>  </p> </entry> </row> <row><entry><fig id="GUID-DFFCC6D6-B7F7-5047-B93D-CF79B2D47F17"><image href="GUID-399F7F7D-3E8E-58BB-9925-9F34C561C39A_d0e514618_href.png" placement="inline"/></fig> </entry> <entry><p> <codeph>EMirrorVerticalAxis</codeph>  </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody><related-links><link href="GUID-88091838-03FC-550F-9A3D-DA70907EF955.dita"><linktext>Imaging Frameworks overview</linktext> </link> <link href="GUID-C0B39D73-0A3C-5289-A774-7BE590037404.dita"><linktext> Bitmap Transform Library
                 Overview</linktext> </link> <link href="GUID-9D6C086F-7621-5522-AE0B-81CBD5E99125.dita"><linktext>Bitmap Transform Library Guide</linktext> </link> <link href="GUID-E6692CDA-9E24-57AE-9BC2-14D68D6480C3.dita"><linktext>Enhanced Features for Encoder and
                 Decoder Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9D6D07D3-A93C-5290-AC08-15750AD34802_d0e653465_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D6D07D3-A93C-5290-AC08-15750AD34802_d0e666292_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e377026_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e382870_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9D93F895-B975-4F2D-A2A3-817033EA5C12.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9D93F895-B975-4F2D-A2A3-817033EA5C12.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,14 +17,14 @@
 operations to shared memory and I/O. Since read and write operations cannot
 occur at the same time, the integrity of the data is maintained.</p><fig id="GUID-86081A73-848E-49A4-A663-77D681DC6784">
 <title>Shared Memory and I/O on a Single CPU System.</title>
-<image href="GUID-CFD41A5A-2FE2-47FE-8369-08E3C73CB9A5_d0e17025_href.png" placement="inline"/>
+<image href="GUID-CFD41A5A-2FE2-47FE-8369-08E3C73CB9A5_d0e18136_href.png" placement="inline"/>
 </fig><p>Figure 1 shows how shared memory and I/O is handled on a single CPU
 system. The CPU switches between threads (this is called a context switch).
 Because only one thread can be executed at once, read and write operations
 to shared memory and I/O cannot occur at the same time. Hence the integrity
 of the data can be maintained.</p><fig id="GUID-38C5602A-15EF-4162-962B-932B13CC8377">
 <title>Shared Memory and I/O on a Multi CPU System.</title>
-<image href="GUID-4AB3C821-25B5-4B5B-BC20-C8FA42D69802_d0e17034_href.png" placement="inline"/>
+<image href="GUID-4AB3C821-25B5-4B5B-BC20-C8FA42D69802_d0e18145_href.png" placement="inline"/>
 </fig><p>Figure 2 shows how shared memory and I/O is handled on a multi CPU
 system. In this system, it is possible that the read/write order will not
 be the one expected. This is due performance decisions made by the hardware
Binary file Symbian3/PDK/Source/GUID-9DCAB1DC-D085-576C-A0B9-713E3BF2CAD5_d0e281122_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9DCAB1DC-D085-576C-A0B9-713E3BF2CAD5_d0e287122_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9DCD62DF-C523-5D00-85CD-5AC82C9E9F02_d0e55155_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9DCD62DF-C523-5D00-85CD-5AC82C9E9F02_d0e59389_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9DD43E77-FB3D-5931-899B-F17198F726D0_d0e471489_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9DD43E77-FB3D-5931-899B-F17198F726D0_d0e477325_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9E0C8892-E67F-4DC9-8253-2F65611AD4C6_d0e94488_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9E0C8892-E67F-4DC9-8253-2F65611AD4C6_d0e98686_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9E12593C-38EF-5052-A2E8-0AB25EEFF4D0_d0e512297_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9E12593C-38EF-5052-A2E8-0AB25EEFF4D0_d0e519759_href.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1"><title>Password Based Encryption (PBE) example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita">PBE example code</xref>. </p> <section id="GUID-8EC8BE08-9961-487A-83C9-766B61C22BB7-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1-2-2"><title/><codeblock id="GUID-E9CCC5E6-FDB6-53A0-B7F3-85CFD57FE290-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1-2-2-2" xml:space="preserve">
+#include "e32std.h"
+#include "f32file.h"
+#include "s32file.h"
+#include "pbe.h"
+#include "pbedata.h"
+            </codeblock> <codeblock id="GUID-A6FDAAD3-8418-59BD-BE62-6F4C31F0F3CF-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1-2-2-3" xml:space="preserve">
+/*
+ * Class to demonstrate the use of the PBE API.
+ */
+class CPBEExample : public CBase
+         {
+public:
+         static CPBEExample* NewLC();
+         virtual ~CPBEExample();
+         
+         void WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+         HBufC8* ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+private:
+         CPBEExample();
+         void ConstructL();
+private:
+         RFs iFs;
+         };
+            </codeblock> <codeblock id="GUID-4F7B60AF-62C3-55B3-B1F9-3084D68A97AB-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1-2-2-4" xml:space="preserve">
+CPBEExample* CPBEExample::NewLC()
+         {
+         CPBEExample* self = new (ELeave) CPBEExample();
+         CleanupStack::PushL(self);
+         self-&gt;ConstructL();
+         return self;
+         }
+
+CPBEExample::CPBEExample()
+         {
+         }
+
+void CPBEExample::ConstructL()
+         {
+         User::LeaveIfError(iFs.Connect());
+         }
+
+CPBEExample::~CPBEExample()
+         {
+         iFs.Close();
+         }
+            </codeblock> <codeblock id="GUID-17DECEE0-FE01-5F1F-9143-02462DE3C418-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1-2-2-5" xml:space="preserve">
+LOCAL_D void RunPBEExampleL()
+         {
+         _LIT(KFilename, "c:\\pbe_example_data.dat");
+         _LIT8(KInputData, "This is the data to be encrypted");
+         _LIT(KPassword, "pa55w0rd");
+
+         CPBEExample* main = CPBEExample::NewLC();
+         main-&gt;WriteEncryptedDataL(KInputData, KFilename, KPassword);
+         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(KFilename, KPassword);
+         ASSERT(*outputData == KInputData);
+         CleanupStack::PopAndDestroy(2, main);
+         }
+            </codeblock> <codeblock id="GUID-589330F6-B593-5722-AD3B-73CA53BEDB76-GENID-1-12-1-26-1-1-11-1-1-6-1-5-1-4-1-2-2-6" xml:space="preserve">
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+         __UHEAP_MARK;
+         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+         TRAPD(error, RunPBEExampleL());
+         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
+         delete cleanup; // destroy clean-up stack
+         __UHEAP_MARKEND;
+         return 0;
+    }
+            </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1"><title>Password Based Encryption (PBE) example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita">PBE example code</xref>. </p> <section id="GUID-8EC8BE08-9961-487A-83C9-766B61C22BB7-GENID-1-12-1-26-1-1-9-1-12-1-4-1-2-2"><title/><codeblock id="GUID-E9CCC5E6-FDB6-53A0-B7F3-85CFD57FE290-GENID-1-12-1-26-1-1-9-1-12-1-4-1-2-2-2" xml:space="preserve">
+#include "e32std.h"
+#include "f32file.h"
+#include "s32file.h"
+#include "pbe.h"
+#include "pbedata.h"
+            </codeblock> <codeblock id="GUID-A6FDAAD3-8418-59BD-BE62-6F4C31F0F3CF-GENID-1-12-1-26-1-1-9-1-12-1-4-1-2-2-3" xml:space="preserve">
+/*
+ * Class to demonstrate the use of the PBE API.
+ */
+class CPBEExample : public CBase
+         {
+public:
+         static CPBEExample* NewLC();
+         virtual ~CPBEExample();
+         
+         void WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+         HBufC8* ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword);
+private:
+         CPBEExample();
+         void ConstructL();
+private:
+         RFs iFs;
+         };
+            </codeblock> <codeblock id="GUID-4F7B60AF-62C3-55B3-B1F9-3084D68A97AB-GENID-1-12-1-26-1-1-9-1-12-1-4-1-2-2-4" xml:space="preserve">
+CPBEExample* CPBEExample::NewLC()
+         {
+         CPBEExample* self = new (ELeave) CPBEExample();
+         CleanupStack::PushL(self);
+         self-&gt;ConstructL();
+         return self;
+         }
+
+CPBEExample::CPBEExample()
+         {
+         }
+
+void CPBEExample::ConstructL()
+         {
+         User::LeaveIfError(iFs.Connect());
+         }
+
+CPBEExample::~CPBEExample()
+         {
+         iFs.Close();
+         }
+            </codeblock> <codeblock id="GUID-17DECEE0-FE01-5F1F-9143-02462DE3C418-GENID-1-12-1-26-1-1-9-1-12-1-4-1-2-2-5" xml:space="preserve">
+LOCAL_D void RunPBEExampleL()
+         {
+         _LIT(KFilename, "c:\\pbe_example_data.dat");
+         _LIT8(KInputData, "This is the data to be encrypted");
+         _LIT(KPassword, "pa55w0rd");
+
+         CPBEExample* main = CPBEExample::NewLC();
+         main-&gt;WriteEncryptedDataL(KInputData, KFilename, KPassword);
+         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(KFilename, KPassword);
+         ASSERT(*outputData == KInputData);
+         CleanupStack::PopAndDestroy(2, main);
+         }
+            </codeblock> <codeblock id="GUID-589330F6-B593-5722-AD3B-73CA53BEDB76-GENID-1-12-1-26-1-1-9-1-12-1-4-1-2-2-6" xml:space="preserve">
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+         __UHEAP_MARK;
+         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+         TRAPD(error, RunPBEExampleL());
+         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
+         delete cleanup; // destroy clean-up stack
+         __UHEAP_MARKEND;
+         return 0;
+    }
+            </codeblock> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C"><title>Password Based Encryption (PBE) example support code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Below is the supporting code for the <xref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita">PBE example code</xref>. </p> <section id="GUID-8EC8BE08-9961-487A-83C9-766B61C22BB7"><title/><codeblock id="GUID-E9CCC5E6-FDB6-53A0-B7F3-85CFD57FE290" xml:space="preserve">
-#include "e32std.h"
-#include "f32file.h"
-#include "s32file.h"
-#include "pbe.h"
-#include "pbedata.h"
-            </codeblock> <codeblock id="GUID-A6FDAAD3-8418-59BD-BE62-6F4C31F0F3CF" xml:space="preserve">
-/*
- * Class to demonstrate the use of the PBE API.
- */
-class CPBEExample : public CBase
-         {
-public:
-         static CPBEExample* NewLC();
-         virtual ~CPBEExample();
-         
-         void WriteEncryptedDataL(const TDesC8&amp; aInput, const TDesC&amp; aFilename, const TDesC&amp; aPassword);
-         HBufC8* ReadEncryptedDataLC(const TDesC&amp; aFilename, const TDesC&amp; aPassword);
-private:
-         CPBEExample();
-         void ConstructL();
-private:
-         RFs iFs;
-         };
-            </codeblock> <codeblock id="GUID-4F7B60AF-62C3-55B3-B1F9-3084D68A97AB" xml:space="preserve">
-CPBEExample* CPBEExample::NewLC()
-         {
-         CPBEExample* self = new (ELeave) CPBEExample();
-         CleanupStack::PushL(self);
-         self-&gt;ConstructL();
-         return self;
-         }
-
-CPBEExample::CPBEExample()
-         {
-         }
-
-void CPBEExample::ConstructL()
-         {
-         User::LeaveIfError(iFs.Connect());
-         }
-
-CPBEExample::~CPBEExample()
-         {
-         iFs.Close();
-         }
-            </codeblock> <codeblock id="GUID-17DECEE0-FE01-5F1F-9143-02462DE3C418" xml:space="preserve">
-LOCAL_D void RunPBEExampleL()
-         {
-         _LIT(KFilename, "c:\\pbe_example_data.dat");
-         _LIT8(KInputData, "This is the data to be encrypted");
-         _LIT(KPassword, "pa55w0rd");
-
-         CPBEExample* main = CPBEExample::NewLC();
-         main-&gt;WriteEncryptedDataL(KInputData, KFilename, KPassword);
-         HBufC8* outputData = main-&gt;ReadEncryptedDataLC(KFilename, KPassword);
-         ASSERT(*outputData == KInputData);
-         CleanupStack::PopAndDestroy(2, main);
-         }
-            </codeblock> <codeblock id="GUID-589330F6-B593-5722-AD3B-73CA53BEDB76" xml:space="preserve">
-GLDEF_C TInt E32Main() // main function called by E32
-    {
-         __UHEAP_MARK;
-         CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
-         TRAPD(error, RunPBEExampleL());
-         __ASSERT_ALWAYS(!error,User::Panic(_L("pbe_example_code"),error));
-         delete cleanup; // destroy clean-up stack
-         __UHEAP_MARKEND;
-         return 0;
-    }
-            </codeblock> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9E3D71A2-34FA-5A66-B0B9-550816021D79_d0e583565_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9E3D71A2-34FA-5A66-B0B9-550816021D79_d0e632853_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9E705383-5D3F-45D9-82F7-EB76112F2800_d0e80498_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9E705383-5D3F-45D9-82F7-EB76112F2800_d0e84696_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9E9C00E1-00A2-5248-946B-D3AE182F44EC_d0e479333_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9E9C00E1-00A2-5248-946B-D3AE182F44EC_d0e485162_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,121 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1"><title>How to use the audio tone player utility</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Audio Tone Player, provided by the class <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref>, has an interface for generating the following tones on all audio capable devices. Using this class you can play the following tones: </p> <ul><li id="GUID-6F7555FF-A11D-5D34-9602-75E9B9F4E70E"><p>Single tone of a specified duration and frequency </p> </li> <li id="GUID-B99BA7D8-E58F-5206-AAEE-55D47DC0629B"><p>Dual Tone Multi Frequency (DTMF) strings </p> </li> <li id="GUID-97874FB6-0884-53D7-9667-EC96604DEF30"><p>Sequences of tones held in files or descriptors </p> </li> <li id="GUID-B4704DBA-54C9-5B74-B518-2F5EBA1396C9"><p>Predefined (fixed) sequences of tones held in any mobile equipment </p> </li> </ul> <p>Client applications such as ringtone applications, use <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> to generate the tones they produce. The tone player in turn uses MMF for playing sounds and is also credited for interfacing with the audio hardware. An active scheduler is needed for all the clients applications for the use of active objects and callbacks. </p> <section id="GUID-B86646DF-E472-556C-B9AF-F82CBAEE468A"><title>Using the tone player</title> <p>The tone player provides a simple interface to generate single and multiple tones. Once the tone player object has been constructed, multiple tones and tone sequences can be played without having to create new instances of the object. </p> <p>Using the tone player typically involves the following steps: </p> <fig id="GUID-BF7D8243-53BE-5AF8-B9EF-4E7DC202AA1F"><title>
-             Tone Player Utility 
-          </title> <image href="GUID-8ECEF376-CB27-52FC-A9DD-933ACC24FDDC_d0e515731_href.png" placement="inline"/></fig> <ol id="GUID-11853890-B5E8-5797-918B-A1105C35F5BC"><li id="GUID-C1ED28E3-AF25-562B-B2BC-E70F2790961C"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-B5EAD538-CB1F-556C-B38D-26A4327B6454">Constructing a tone player </xref>  </p> </li> <li id="GUID-ED14F3E0-7FCF-5B7C-B9B3-FCC048480302"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-60775FAF-EB16-5462-9EDD-B18E9831CB70">Preparing a tone player </xref>  </p> </li> <li id="GUID-657C713C-82D4-5579-ACBD-1DA372972012"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-BA2A90F5-C36C-547E-B415-C877C22F321A">Playing a tone </xref>  </p> </li> <li id="GUID-18F9686A-740F-582C-B4C7-547338231F28"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">Cancelling a tone </xref>  </p> </li> <li id="GUID-BB3FE6DE-FE3B-5E1E-A482-2359D638EE69"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-9D861D80-F6E4-577F-80AB-BD321D413764">Retrieving a custom interface </xref>  </p> </li> </ol> <p id="GUID-B5EAD538-CB1F-556C-B38D-26A4327B6454"><b>Constructing a tone player</b> </p> <p>The <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> object can be constructed using the <codeph>NewL()</codeph> member function. There are two versions of this constructor function: </p> <ul><li id="GUID-A395EF84-C992-57B2-9A7A-2F9EE94E4E1E"><p>create a tone player with default priority settings: </p> <codeblock id="GUID-C4C5F891-A369-5819-965E-D879941247D1" xml:space="preserve">static CMdaAudioToneUtility* NewL(MMdaAudioToneObserver&amp; aObserver, CMdaServer* aServer=NULL);</codeblock> </li> <li id="GUID-9152BA40-7543-5915-A508-1E98EAD288FD"><p>create a tone player with your own settings: </p> <codeblock id="GUID-F5D92EE4-66D5-5BA5-9328-113F2AD289A1" xml:space="preserve">static CMdaAudioToneUtility* NewL(MMdaAudioToneObserver&amp; aObserver, CMdaServer* aServer, TInt aPriority,
-TMdaPriorityPreference aPref=EMdaPriorityPreferenceTimeAndQuality); </codeblock> </li> </ul> <p>Both functions pass a reference of the <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita"><apiname>MMdaAudioToneObserver</apiname></xref> object to the tone player. The <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita"><apiname>MMdaAudioToneObserver</apiname></xref> is an observer interface to notifications from the member functions <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-60775FAF-EB16-5462-9EDD-B18E9831CB70">Prepare</xref>, <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-BA2A90F5-C36C-547E-B415-C877C22F321A">Play</xref>, and, <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">CancelPlay</xref> callback functions. </p> <p id="GUID-60775FAF-EB16-5462-9EDD-B18E9831CB70"><b>Preparing a tone player</b> </p> <p>Once the tone player object is created, it has to be prepared to play a tone or a DTMF string. use one of the following prepare member functions to get it ready for playing the corresponding tone. </p> <ul><li id="GUID-6B9AFA66-9748-5E38-A712-188A8CA6BA77"><p> <codeph> PrepareToPlayTone()</codeph> - to play a single tone of a fixed frequency (Hz) and duration (microseconds). For example: </p> <codeblock id="GUID-B6943FB2-A5E5-5A92-A0BC-31AC567FE647" xml:space="preserve">virtual void PrepareToPlayTone(TInt    aFrequency, const TTimeIntervalMicroSeconds&amp; aDuration);</codeblock> </li> <li id="GUID-28A30DA0-F52D-59E4-B05D-9A1D8CFBCE2A"><p> <codeph>PrepareToPlayDTMFString()</codeph> - to play a DTMF string held in a descriptor. For example: </p> <codeblock id="GUID-2D18C9CF-86CC-554C-9336-5C656EDD71E5" xml:space="preserve">virtual void PrepareToPlayDTMFString(const TDesC&amp; aDTMF);</codeblock> </li> <li id="GUID-0F67C0F8-E60F-5B42-9536-231FE9086AB7"><p> <codeph>PrepareToPlayFileSequence()</codeph> - to play a sequence of non-DTMF tones held in a file. For example: </p> <codeblock id="GUID-7BCD3441-7CA9-581B-96E0-D230FBF6A7E4" xml:space="preserve">virtual void PrepareToPlayFileSequence(const TDesC&amp; aFilename);</codeblock> </li> <li id="GUID-09048A04-0869-5208-B3BE-51217690527D"><p> <codeph>PrepareToPlayDesSequence()</codeph> - to play a sequence of non-DTMF tones held in a descriptor. For example: </p> <codeblock id="GUID-52063B5D-1131-5236-A06F-BFD67A09CF71" xml:space="preserve">virtual void PrepareToPlayDesSequence(const TDesC8&amp; aSequence);</codeblock> </li> <li id="GUID-6328FB13-16F3-51BC-9B13-F00E8B8532DB"><p> <codeph> PrepareToPlayFixedSequence()</codeph> - to play a sequence of non-DTMF tones stored on the mobile equipment. For example: </p> <codeblock id="GUID-839C7AFA-0D3E-5D05-BA0C-34CEF841D3F7" xml:space="preserve">virtual void PrepareToPlayFixedSequence(TInt aSequenceNumber); </codeblock> </li> <li id="GUID-EB7F1FA3-849F-5169-B88F-49512CD1E14C"><p> <codeph>PrepareToPlayDualTone()</codeph> - to play a dual tone. For example: </p> <codeblock id="GUID-FBE9AAAE-E188-58C9-8167-0B7049BCAB13" xml:space="preserve">void PrepareToPlayDualTone(TInt aFrequencyOne, TInt aFrequencyTwo, const TTimeIntervalMicroSeconds&amp; aDuration); </codeblock> <p>The two tones, aFrequencyOne and aFrequencyTwo, are measured in Hz, and the duration of the tone, aDuration, is measured in microseconds. </p> </li> </ul> <p>All the prepare member functions are asynchronous. In response to each, <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> creates a <codeph>CMMFToneConfig</codeph> derived object that stores the data for the type of tone to play. </p> <p>On completion of a prepare, the observer function <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita#GUID-A6D27F43-AC44-38EA-B16F-31A14390582E/GUID-6B3BF4AC-3E50-3927-A09F-E4E5DDD1AECA"><apiname>MMdaAudioToneObserver::MatoPrepareComplete()</apiname></xref> is called, indicating the success or failure of the prepare operation. If successful you can play the tone. </p> <p>You can cancel any prepare function using <xref href="GUID-D4BCECEA-A42F-372D-85D7-66762D2F7B0D.dita"><apiname>CancelPrepare()</apiname></xref> (the observer callback function is <i>not</i> called on completion of the cancel). </p> <p id="GUID-BA2A90F5-C36C-547E-B415-C877C22F321A"><b>Playing a tone</b> </p> <p>Once the player is prepared successfully, certain configurations can be done before playing the tone as listed below: </p> <ul><li id="GUID-6FAFAB95-55B7-5C74-BF0B-31962859DF32"><p> <xref href="GUID-657CDF11-EA74-3074-9872-412D2C26F3E6.dita"><apiname>Volume()</apiname></xref> and <xref href="GUID-171667CD-06F4-3DF5-A4E1-360422F362D2.dita"><apiname>SetVolume()</apiname></xref> - This retrieves the current volume settings and sets to a new value specified by the user respectively. </p> </li> <li id="GUID-F5BC6F5F-57C0-5BEC-9783-AF06358A59E2"><p> <xref href="GUID-C2B76645-A50F-3DFF-943B-4F3D5A33ED31.dita"><apiname>GetBalanceL()</apiname></xref> and <xref href="GUID-D1856981-6A17-3CD9-80B5-65781A803BA4.dita"><apiname>SetBalanceL()</apiname></xref> - This retrieves the current balance of the audio device and sets the audio balance specified by the user respectively.. </p> </li> <li id="GUID-06D4BAEF-52CF-5CD8-90A2-8163336B016F"><p> <xref href="GUID-A2BDF5F7-06F0-3788-905E-D53FC9C67446.dita"><apiname>SetPriority()</apiname></xref> - This sets the priority of the audio device. The priority is defined to arbitrate between multiple objects trying to access the controller at the same time. </p> </li> <li id="GUID-0109EFE3-8CA8-5E5A-B4F5-693E87BEEE0E"><p> <xref href="GUID-5B03528A-E19C-3782-95E0-179E0C03B349.dita"><apiname>SetVolumeRamp()</apiname></xref> - This defines the period over which the volume level is to rise (in microseconds) smoothly from zero to the specified volume level. A value of <codeph>0</codeph> causes the tone to be played at the <codeph>SetVolume()</codeph> level for the full duration of the playback. A value that is longer than the duration of the tone sequence means that the tone never reaches the specified volume. </p> <codeblock id="GUID-AB8860AD-2E15-5DF1-97B2-BA9BDA2D5D38" xml:space="preserve">virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds &amp;aRampDuration);</codeblock> </li> <li id="GUID-47A3F620-FA41-5A85-B9E4-3D8BA3D9251B"><p> <xref href="GUID-9BBB8929-42B9-3862-BEFF-D845D4EC8E4E.dita"><apiname>SetDTMFLengths() </apiname></xref> - This alters the duration of DTMF tone, the gaps between two DTMF tones, and the pauses in microseconds. </p> </li> <li id="GUID-5AC9A8EF-995D-5FD7-9AAD-309673819F33"><p> <xref href="GUID-CD5229CE-04B7-3CED-B997-688C9251D1B9.dita"><apiname>FixedSequenceCount() </apiname></xref> - This returns the number of available pre-defined tone sequences, the number always being greater than zero. </p> </li> <li id="GUID-A5118A3F-43BF-5A34-B552-C0B57937928B"><p> <xref href="GUID-ECB22EFB-F630-35FB-9153-6D130945412E.dita"><apiname>FixedSequenceName()</apiname></xref> - This returns the name of the specified fixed tone sequence. </p> </li> </ul> <p>Upon successful configuration, the Play() can be called as shown below. </p> <p> <codeph> Play()</codeph> - plays the tone, DTMF or tone sequence specified by the prepare statement. For example: </p> <codeblock id="GUID-D152802E-768B-5001-B362-05F7438B5106" xml:space="preserve">virtual void Play();</codeblock> <p>Here, the tone player uses the <xref href="GUID-E9006092-2ED1-3486-985A-0A4821FF90EC.dita"><apiname>Play()</apiname></xref> from the audio player utility to play the tone. </p> <p>This function is asynchronous. It retrieves the details of the type of tone to play from the previous <codeph>Prepare</codeph> statement. When the tone has been played to completion, the observer callback function <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita#GUID-A6D27F43-AC44-38EA-B16F-31A14390582E/GUID-65AAF2C6-FD4F-3365-99F7-FCD15287A1B9"><apiname>MMdaAudioToneObserver::MatoPlayComplete()</apiname></xref> is called, indicating the success or failure of the play operation. The play operation can be cancelled by calling the <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">CancelPlay()</xref> member function. </p> <p>Playing the tone or DTMF string can be customised using the following member functions as mentioned below: </p> <ul><li id="GUID-03F93CEA-1B61-5262-B720-2313E79662E6"><p> <codeph>SetRepeats()</codeph> - sets the number of times the tone sequence (plus an optional trailing silent period, measured in microseconds) is repeated during the play operation. For example: </p> <codeblock id="GUID-7B2A1D5A-BB07-5CAA-86F3-CF7C011A939A" xml:space="preserve">virtual void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds &amp;aTrailingSilence);</codeblock> <p>You can repeat the tone sequence indefinitely by setting <codeph>aRepeatNumberOfTimes</codeph> to <codeph>KMdaRepeatForever</codeph>. </p> </li> <li id="GUID-5E34283D-17EF-59FC-842E-AD54DF7659C4"><p> <codeph>State()</codeph> - returns the current state of the tone player (an enum): </p> <ul><li id="GUID-A997198F-F638-5071-9333-6835E24EB23B"><p> <codeph>EMdaAudioToneUtilityNotReady</codeph> - not prepared to play a tone </p> </li> <li id="GUID-CAF8DAEB-E147-5F08-B86C-E3C3735690EB"><p> <codeph>EMdaAudioToneUtilityPrepared</codeph> - prepared and ready to play a tone </p> </li> <li id="GUID-F10E01C6-F237-58E9-8213-423FEAAE3DDC"><p> <codeph>EMdaAudioToneUtilityPlaying</codeph> - currently playing a tone </p> </li> </ul> <p>For example: </p> <codeblock id="GUID-B2BB2135-C055-5A5E-B66B-63118DD7F654" xml:space="preserve">virtual TMdaAudioToneUtilityState State();</codeblock> </li> </ul> <p>To play another tone or sequence, either wait for <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita#GUID-A6D27F43-AC44-38EA-B16F-31A14390582E/GUID-65AAF2C6-FD4F-3365-99F7-FCD15287A1B9"><apiname>MMdaAudioToneObserver::MatoPlayComplete()</apiname></xref> callback to be issued when the current tone or DTMF string completes playing, or use <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">CancelPlay()</xref> and then issue the relevant prepare statement. The <xref href="GUID-E9006092-2ED1-3486-985A-0A4821FF90EC.dita"><apiname>Play()</apiname></xref> function following the prepare statement plays the tone or DTMF string based on the previously issued prepare statement. </p> <p id="GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED"><b>Cancelling a tone</b> </p> <p> <xref href="GUID-E5898C2C-12A4-3803-BB97-A9C3F3CDDDE4.dita"><apiname>CancelPlay()</apiname></xref> - cancels the tone, DTMF, or tone sequence currently playing. For example: </p> <codeblock id="GUID-5F4A763E-BB07-5ACC-BC6C-6EA78DC85A44" xml:space="preserve">virtual void CancelPlay();</codeblock> <p>The observer callback function is <i>not</i> called on completion of the cancel. </p> <p id="GUID-9D861D80-F6E4-577F-80AB-BD321D413764"><b>Retrieving a custom interface</b> </p> <p>To retrieve a custom interface to the underlying device, use the <codeph>CustomInterface()</codeph> member function. For example: </p> <codeblock id="GUID-AC62D116-853B-5216-9E22-FB9A68A53179" xml:space="preserve">IMPORT_C TAny *CustomInterface(TUid aInterfaceId);</codeblock> <p> <codeph>aInterfaceId</codeph> is the UID of the interface function required. </p> <p>The function returns a pointer to the interface implementation, or NULL if the device does not implement the interface requested. You must cast the return value to the correct type. </p> </section> <section><title>See Also</title> <p><xref href="GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita">How to use the audio player utility</xref>  </p> <p><xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita">How to use the audio convert utility</xref>  </p> <p><xref href="GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita">How to use audio recorder utility</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<concept id="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1" xml:lang="en"><title>How to use the audio tone player utility</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Audio Tone Player, provided by the class <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref>, has an interface for generating the following tones on all audio
+capable devices. Using this class you can play the following tones: </p>
+<ul>
+<li id="GUID-6F7555FF-A11D-5D34-9602-75E9B9F4E70E"><p>Single tone
+of a specified duration and frequency </p> </li>
+<li id="GUID-B99BA7D8-E58F-5206-AAEE-55D47DC0629B"><p>Dual Tone Multi
+Frequency (DTMF) strings </p> </li>
+<li id="GUID-97874FB6-0884-53D7-9667-EC96604DEF30"><p>Sequences of
+tones held in files or descriptors </p> </li>
+<li id="GUID-B4704DBA-54C9-5B74-B518-2F5EBA1396C9"><p>Predefined (fixed)
+sequences of tones held in any mobile equipment </p> </li>
+</ul>
+<p>Client applications such as ringtone applications, use <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> to generate the tones they produce.
+The tone player in turn uses MMF for playing sounds and is also credited
+for interfacing with the audio hardware. An active scheduler is needed
+for all the clients applications for the use of active objects and
+callbacks. </p>
+<section id="GUID-B86646DF-E472-556C-B9AF-F82CBAEE468A"><title>Using
+the tone player</title> <p>The tone player provides a simple interface
+to generate single and multiple tones. Once the tone player object
+has been constructed, multiple tones and tone sequences can be played
+without having to create new instances of the object. </p> <p>Using
+the tone player typically involves the following steps: </p> <fig id="GUID-BF7D8243-53BE-5AF8-B9EF-4E7DC202AA1F">
+<title>              Tone Player Utility            </title>
+<image href="GUID-8ECEF376-CB27-52FC-A9DD-933ACC24FDDC_d0e523193_href.png" placement="inline"/>
+</fig> <ol id="GUID-11853890-B5E8-5797-918B-A1105C35F5BC">
+<li id="GUID-C1ED28E3-AF25-562B-B2BC-E70F2790961C"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-B5EAD538-CB1F-556C-B38D-26A4327B6454">Constructing a tone player </xref>  </p> </li>
+<li id="GUID-ED14F3E0-7FCF-5B7C-B9B3-FCC048480302"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-60775FAF-EB16-5462-9EDD-B18E9831CB70">Preparing a tone player </xref>  </p> </li>
+<li id="GUID-657C713C-82D4-5579-ACBD-1DA372972012"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-BA2A90F5-C36C-547E-B415-C877C22F321A">Playing a tone </xref>  </p> </li>
+<li id="GUID-18F9686A-740F-582C-B4C7-547338231F28"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">Cancelling a tone </xref>  </p> </li>
+<li id="GUID-BB3FE6DE-FE3B-5E1E-A482-2359D638EE69"><p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-9D861D80-F6E4-577F-80AB-BD321D413764">Retrieving a custom interface </xref>  </p> </li>
+</ol> <p id="GUID-B5EAD538-CB1F-556C-B38D-26A4327B6454"><b>Constructing a tone
+player</b> </p> <p>The <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> object
+can be constructed using the <codeph>NewL()</codeph> member function.
+There are two versions of this constructor function: </p> <ul>
+<li id="GUID-A395EF84-C992-57B2-9A7A-2F9EE94E4E1E"><p>create a tone
+player with default priority settings: </p> <codeblock id="GUID-C4C5F891-A369-5819-965E-D879941247D1" xml:space="preserve">static CMdaAudioToneUtility* NewL(MMdaAudioToneObserver&amp; aObserver, CMdaServer* aServer=NULL);</codeblock> </li>
+<li id="GUID-9152BA40-7543-5915-A508-1E98EAD288FD"><p>create a tone
+player with your own settings: </p> <codeblock id="GUID-F5D92EE4-66D5-5BA5-9328-113F2AD289A1" xml:space="preserve">static CMdaAudioToneUtility* NewL(MMdaAudioToneObserver&amp; aObserver, CMdaServer* aServer, TInt aPriority,
+TMdaPriorityPreference aPref=EMdaPriorityPreferenceTimeAndQuality); </codeblock> </li>
+</ul> <p>Both functions pass a reference of the <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita"><apiname>MMdaAudioToneObserver</apiname></xref> object to the tone player. The <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita"><apiname>MMdaAudioToneObserver</apiname></xref> is an observer interface to notifications from the member functions <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-60775FAF-EB16-5462-9EDD-B18E9831CB70">Prepare</xref>, <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-BA2A90F5-C36C-547E-B415-C877C22F321A">Play</xref>, and, <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">CancelPlay</xref> callback functions. </p> <p id="GUID-60775FAF-EB16-5462-9EDD-B18E9831CB70"><b>Preparing a tone
+player</b> </p> <p>Once the tone player object is created, it has
+to be prepared to play a tone or a DTMF string. use one of the following
+prepare member functions to get it ready for playing the corresponding
+tone. </p> <ul>
+<li id="GUID-6B9AFA66-9748-5E38-A712-188A8CA6BA77"><p> <codeph> PrepareToPlayTone()</codeph> - to play a single tone of a fixed frequency (Hz) and duration (microseconds).
+For example: </p> <codeblock id="GUID-B6943FB2-A5E5-5A92-A0BC-31AC567FE647" xml:space="preserve">virtual void PrepareToPlayTone(TInt    aFrequency, const TTimeIntervalMicroSeconds&amp; aDuration);</codeblock> </li>
+<li id="GUID-28A30DA0-F52D-59E4-B05D-9A1D8CFBCE2A"><p> <codeph>PrepareToPlayDTMFString()</codeph> - to play a DTMF string held in a descriptor. For example: </p> <codeblock id="GUID-2D18C9CF-86CC-554C-9336-5C656EDD71E5" xml:space="preserve">virtual void PrepareToPlayDTMFString(const TDesC&amp; aDTMF);</codeblock> </li>
+<li id="GUID-0F67C0F8-E60F-5B42-9536-231FE9086AB7"><p> <codeph>PrepareToPlayFileSequence()</codeph> - to play a sequence of non-DTMF tones held in a file. For example: </p> <codeblock id="GUID-7BCD3441-7CA9-581B-96E0-D230FBF6A7E4" xml:space="preserve">virtual void PrepareToPlayFileSequence(const TDesC&amp; aFilename);</codeblock> </li>
+<li id="GUID-09048A04-0869-5208-B3BE-51217690527D"><p> <codeph>PrepareToPlayDesSequence()</codeph> - to play a sequence of non-DTMF tones held in a descriptor. For
+example: </p> <codeblock id="GUID-52063B5D-1131-5236-A06F-BFD67A09CF71" xml:space="preserve">virtual void PrepareToPlayDesSequence(const TDesC8&amp; aSequence);</codeblock> </li>
+<li id="GUID-6328FB13-16F3-51BC-9B13-F00E8B8532DB"><p> <codeph> PrepareToPlayFixedSequence()</codeph> - to play a sequence of non-DTMF tones stored on the mobile equipment.
+For example: </p> <codeblock id="GUID-839C7AFA-0D3E-5D05-BA0C-34CEF841D3F7" xml:space="preserve">virtual void PrepareToPlayFixedSequence(TInt aSequenceNumber); </codeblock> </li>
+<li id="GUID-EB7F1FA3-849F-5169-B88F-49512CD1E14C"><p> <codeph>PrepareToPlayDualTone()</codeph> - to play a dual tone. For example: </p> <codeblock id="GUID-FBE9AAAE-E188-58C9-8167-0B7049BCAB13" xml:space="preserve">void PrepareToPlayDualTone(TInt aFrequencyOne, TInt aFrequencyTwo, const TTimeIntervalMicroSeconds&amp; aDuration); </codeblock> <p>The two tones, aFrequencyOne and aFrequencyTwo, are measured
+in Hz, and the duration of the tone, aDuration, is measured in microseconds. </p> </li>
+</ul> <p>All the prepare member functions are asynchronous. In response
+to each, <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> creates a <codeph>CMMFToneConfig</codeph> derived object that stores the data for the
+type of tone to play. </p> <p>On completion of a prepare, the observer
+function <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita#GUID-A6D27F43-AC44-38EA-B16F-31A14390582E/GUID-6B3BF4AC-3E50-3927-A09F-E4E5DDD1AECA"><apiname>MMdaAudioToneObserver::MatoPrepareComplete()</apiname></xref> is called, indicating the success or failure of the prepare operation.
+If successful you can play the tone. </p> <p>You can cancel any prepare
+function using <xref href="GUID-D4BCECEA-A42F-372D-85D7-66762D2F7B0D.dita"><apiname>CancelPrepare()</apiname></xref> (the observer callback
+function is <i>not</i> called on completion of the cancel). </p> <p id="GUID-BA2A90F5-C36C-547E-B415-C877C22F321A"><b>Playing a tone</b> </p> <p>Once the player is prepared successfully, certain configurations
+can be done before playing the tone as listed below: </p> <ul>
+<li id="GUID-6FAFAB95-55B7-5C74-BF0B-31962859DF32"><p> <xref href="GUID-657CDF11-EA74-3074-9872-412D2C26F3E6.dita"><apiname>Volume()</apiname></xref> and <xref href="GUID-171667CD-06F4-3DF5-A4E1-360422F362D2.dita"><apiname>SetVolume()</apiname></xref> - This retrieves the current
+volume settings and sets to a new value specified by the user respectively. </p> </li>
+<li id="GUID-F5BC6F5F-57C0-5BEC-9783-AF06358A59E2"><p> <xref href="GUID-C2B76645-A50F-3DFF-943B-4F3D5A33ED31.dita"><apiname>GetBalanceL()</apiname></xref> and <xref href="GUID-D1856981-6A17-3CD9-80B5-65781A803BA4.dita"><apiname>SetBalanceL()</apiname></xref> - This retrieves the current
+balance of the audio device and sets the audio balance specified by
+the user respectively.. </p> </li>
+<li id="GUID-06D4BAEF-52CF-5CD8-90A2-8163336B016F"><p> <xref href="GUID-A2BDF5F7-06F0-3788-905E-D53FC9C67446.dita"><apiname>SetPriority()</apiname></xref> - This sets the priority of the audio device. The priority is defined
+to arbitrate between multiple objects trying to access the controller
+at the same time. </p> </li>
+<li id="GUID-0109EFE3-8CA8-5E5A-B4F5-693E87BEEE0E"><p> <xref href="GUID-5B03528A-E19C-3782-95E0-179E0C03B349.dita"><apiname>SetVolumeRamp()</apiname></xref> - This defines the period over which the volume level is to rise
+(in microseconds) smoothly from zero to the specified volume level.
+A value of <codeph>0</codeph> causes the tone to be played at the <codeph>SetVolume()</codeph> level for the full duration of the playback.
+A value that is longer than the duration of the tone sequence means
+that the tone never reaches the specified volume. </p> <codeblock id="GUID-AB8860AD-2E15-5DF1-97B2-BA9BDA2D5D38" xml:space="preserve">virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds &amp;aRampDuration);</codeblock> </li>
+<li id="GUID-47A3F620-FA41-5A85-B9E4-3D8BA3D9251B"><p> <xref href="GUID-9BBB8929-42B9-3862-BEFF-D845D4EC8E4E.dita"><apiname>SetDTMFLengths() </apiname></xref> - This alters the duration of DTMF tone, the gaps between two DTMF
+tones, and the pauses in microseconds. </p> </li>
+<li id="GUID-5AC9A8EF-995D-5FD7-9AAD-309673819F33"><p> <xref href="GUID-CD5229CE-04B7-3CED-B997-688C9251D1B9.dita"><apiname>FixedSequenceCount() </apiname></xref> - This returns the number of available pre-defined tone sequences,
+the number always being greater than zero. </p> </li>
+<li id="GUID-A5118A3F-43BF-5A34-B552-C0B57937928B"><p> <xref href="GUID-ECB22EFB-F630-35FB-9153-6D130945412E.dita"><apiname>FixedSequenceName()</apiname></xref> - This returns the name of the specified fixed tone sequence. </p> </li>
+</ul> <p>Upon successful configuration, the Play() can be called as
+shown below. </p> <p> <codeph> Play()</codeph> - plays the tone, DTMF
+or tone sequence specified by the prepare statement. For example: </p> <codeblock id="GUID-D152802E-768B-5001-B362-05F7438B5106" xml:space="preserve">virtual void Play();</codeblock> <p>Here, the tone player uses the <xref href="GUID-E9006092-2ED1-3486-985A-0A4821FF90EC.dita"><apiname>Play()</apiname></xref> from
+the audio player utility to play the tone. </p> <p>This function is
+asynchronous. It retrieves the details of the type of tone to play
+from the previous <codeph>Prepare</codeph> statement. When the tone
+has been played to completion, the observer callback function <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita#GUID-A6D27F43-AC44-38EA-B16F-31A14390582E/GUID-65AAF2C6-FD4F-3365-99F7-FCD15287A1B9"><apiname>MMdaAudioToneObserver::MatoPlayComplete()</apiname></xref> is called, indicating
+the success or failure of the play operation. The play operation can
+be cancelled by calling the <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">CancelPlay()</xref> member function. </p> <p>Playing the tone or
+DTMF string can be customised using the following member functions
+as mentioned below: </p> <ul>
+<li id="GUID-03F93CEA-1B61-5262-B720-2313E79662E6"><p> <codeph>SetRepeats()</codeph> - sets the number of times the tone sequence (plus an optional trailing
+silent period, measured in microseconds) is repeated during the play
+operation. For example: </p> <codeblock id="GUID-7B2A1D5A-BB07-5CAA-86F3-CF7C011A939A" xml:space="preserve">virtual void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds &amp;aTrailingSilence);</codeblock> <p>You can repeat the tone sequence indefinitely by setting <codeph>aRepeatNumberOfTimes</codeph> to <codeph>KMdaRepeatForever</codeph>. </p> </li>
+<li id="GUID-5E34283D-17EF-59FC-842E-AD54DF7659C4"><p> <codeph>State()</codeph> - returns the current state of the tone player (an enum): </p> <ul>
+<li id="GUID-A997198F-F638-5071-9333-6835E24EB23B"><p> <codeph>EMdaAudioToneUtilityNotReady</codeph> - not prepared to play a tone </p> </li>
+<li id="GUID-CAF8DAEB-E147-5F08-B86C-E3C3735690EB"><p> <codeph>EMdaAudioToneUtilityPrepared</codeph> - prepared and ready to play a tone </p> </li>
+<li id="GUID-F10E01C6-F237-58E9-8213-423FEAAE3DDC"><p> <codeph>EMdaAudioToneUtilityPlaying</codeph> - currently playing a tone </p> </li>
+</ul> <p>For example: </p> <codeblock id="GUID-B2BB2135-C055-5A5E-B66B-63118DD7F654" xml:space="preserve">virtual TMdaAudioToneUtilityState State();</codeblock> </li>
+</ul> <p>To play another tone or sequence, either wait for <xref href="GUID-A6D27F43-AC44-38EA-B16F-31A14390582E.dita#GUID-A6D27F43-AC44-38EA-B16F-31A14390582E/GUID-65AAF2C6-FD4F-3365-99F7-FCD15287A1B9"><apiname>MMdaAudioToneObserver::MatoPlayComplete()</apiname></xref> callback to be
+issued when the current tone or DTMF string completes playing, or
+use <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita#GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1/GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED">CancelPlay()</xref> and then issue the relevant prepare statement.
+The <xref href="GUID-E9006092-2ED1-3486-985A-0A4821FF90EC.dita"><apiname>Play()</apiname></xref> function following the prepare statement
+plays the tone or DTMF string based on the previously issued prepare
+statement. </p> <p id="GUID-0E2324A3-9290-56B4-BF68-A00FEF8B26ED"><b>Cancelling a tone</b> </p> <p> <xref href="GUID-E5898C2C-12A4-3803-BB97-A9C3F3CDDDE4.dita"><apiname>CancelPlay()</apiname></xref> - cancels the tone, DTMF,
+or tone sequence currently playing. For example: </p> <codeblock id="GUID-5F4A763E-BB07-5ACC-BC6C-6EA78DC85A44" xml:space="preserve">virtual void CancelPlay();</codeblock> <p>The observer callback function is <i>not</i> called on completion
+of the cancel. </p> <p id="GUID-9D861D80-F6E4-577F-80AB-BD321D413764"><b>Retrieving a custom
+interface</b> </p> <p>To retrieve a custom interface to the underlying
+device, use the <codeph>CustomInterface()</codeph> member function.
+For example: </p> <codeblock id="GUID-AC62D116-853B-5216-9E22-FB9A68A53179" xml:space="preserve">IMPORT_C TAny *CustomInterface(TUid aInterfaceId);</codeblock> <p> <codeph>aInterfaceId</codeph> is the UID of the interface function
+required. </p> <p>The function returns a pointer to the interface
+implementation, or NULL if the device does not implement the interface
+requested. You must cast the return value to the correct type. </p> </section>
+<section id="GUID-E2511DB8-AC9C-48ED-8877-37BFA7FB3647"><title>See
+Also</title> <p><xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita">How to use the audio convert utility</xref>  </p> </section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9F14FB98-D7CD-55C9-8D27-715642B8FFC3_d0e657106_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9F14FB98-D7CD-55C9-8D27-715642B8FFC3_d0e669933_href.png has changed
--- a/Symbian3/PDK/Source/GUID-9F22E663-8BC4-5502-879F-E6B790465E74.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-9F22E663-8BC4-5502-879F-E6B790465E74"><title>exportunfrozen</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>exportunfrozen</codeph> </p> <p>Use the <codeph>exportunfrozen</codeph> statement if unfrozen exports are to appear in the project’s import library. </p> <p>When it is used, the import library is created as a side-effect of linking so that all exported functions, even unfrozen ones, appear in the import library. This also means that import libraries for compatible ABIs are not created. </p> <p>If this is not used, you must supply a <filepath>.def</filepath> file with the frozen exports. </p> <p>Use of <codeph>exportunfrozen</codeph> is only recommended for the early stages of project development, when the Application Programming Interface is likely to be subject to change.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1713_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1717_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1841_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e1848_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9F6C46FF-1F5A-591C-B33F-29E9885973B3_d0e247524_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-9F6C46FF-1F5A-591C-B33F-29E9885973B3_d0e253535_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,77 +1,72 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08" xml:lang="en"><title>Defining
-localizable registration information</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-
-<p>You need to register your applications
-to make them visible to the application menu and to provide other information
-to the underlying system. To register, you need to provide a <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">registration
-resource file</xref> that contains the non-localized information for your
-application. You also need to provide the localizable registration information.
-The registration resource file is compiled during the build process and included
-in the <parmname>pkg</parmname> file used to make the  file used to make the <parmname>sis</parmname> installation
-file.</p>
-
-<p>Localizable registration information is defined in a <parmname>LOCALISABLE_APP_INFO</parmname> resource
-statement, which may be in a separate file or in the resource file for the
-GUI resources. For a discussion of the available options for where you can
-place this resource statement, see <xref href="GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita">Localisable
-icon/caption definition files</xref>.</p>
-<p>To define the localizable registration information:</p>
-<ol>
-<li id="GUID-A5E13549-C926-45ED-A081-165742AAF157"><p>Determine
-the requirements of your application, including deciding on whether the resource
-statement should be in its own file or part of the GUI resource file.</p>
-</li>
-<li id="GUID-B8106EC5-BDA0-4F59-B943-9B63895347EE"><p>Create a <parmname>LOCALISABLE_APP_INFO</parmname> resource.
-The data structure is declared in the <parmname>appinfo.rh</parmname> file
-in the <parmname>./epoc32/include</parmname> folder, as is the <parmname>CAPTION_AND_ICON_INFO</parmname> structure
-used in the resource. The syntax is as follows:</p>
-<itemgroup>
-<codeblock id="GUID-4A202ECA-380D-4FE2-AE41-3D1035F3FF7A" xml:space="preserve">RESOURCE  LOCALISABLE_APP_INFO r_name36
-    {
-	   short_caption = "";
-	   CAPTION_AND_ICON_INFO
-         {
-         caption = "";
-         number_of_icons =0;
-	   	   icon_file = "";
-	       };
-	   view_list[]; // VIEW_DATA
-	   group_name(KAppMaxGroupName) = "";
-	   }</codeblock>
-<p>where</p>
-<ul>
-<li><p><parmname>r_name36</parmname> is the resource name that uniquely
-identifies the RESOURCE statement in the application, and is used in the <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">registration resource file</xref>.</p>
-</li>
-<li><p><parmname>short_caption</parmname> indicates a shortened
-version of the caption used by some UIs when screen space is limited.</p>
-</li>
-<li><p><parmname>caption</parmname> indicates the caption used for
-the application on the grid and list menu.</p></li>
-<li><p><parmname>number_of_icons</parmname> indicates the number
-of icons used for the application in the menu.</p></li>
-<li><p><parmname>icon_file</parmname> indicates the name of the
-file that contains the icon, including the path but not the drive name.</p>
-</li>
-</ul>
-<p>For information on the other possible values, see <xref href="GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita">Localisable
-icon/caption definition files</xref>.</p>
-</itemgroup>
-</li>
-<li id="GUID-1F9CBCC9-B366-43E8-9ADB-E4AB6A255181"><p>Add the resource
-name of this resource to the <parmname>localisable_resource_id</parmname> in
-the registration resource file.</p></li>
-</ol>
-<p>For a commented example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08" xml:lang="en"><title>Defining localizable registration information</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+
+<p>You need to register your
+applications to make them visible to the application menu and to provide
+other information to the underlying system. To register, you need
+to provide a <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">registration resource file</xref> that contains the non-localized
+information for your application. You also need to provide the localizable
+registration information. The registration resource file is compiled
+during the build process and included in the <parmname>pkg</parmname> file used to make the  file used to make the <parmname>sis</parmname> installation file.</p>
+
+<p>Localizable registration information is defined in a <parmname>LOCALISABLE_APP_INFO</parmname> resource statement, which may be
+in a separate file or in the resource file for the GUI resources.
+For information on available options for where you can place this
+resource statement, see <b>Symbian^3 Tools Guide &gt; Building</b>.</p>
+<p>To define the localizable registration information:</p>
+<ol>
+<li id="GUID-A5E13549-C926-45ED-A081-165742AAF157"><p>Determine
+the requirements of your application, including deciding on whether
+the resource statement should be in its own file or part of the GUI
+resource file.</p></li>
+<li id="GUID-B8106EC5-BDA0-4F59-B943-9B63895347EE"><p>Create
+a <parmname>LOCALISABLE_APP_INFO</parmname> resource. The data structure
+is declared in the <parmname>appinfo.rh</parmname> file in the <parmname>./epoc32/include</parmname> folder, as is the <parmname>CAPTION_AND_ICON_INFO</parmname> structure used in the resource. The syntax is as follows:</p>
+<itemgroup>
+<codeblock id="GUID-4A202ECA-380D-4FE2-AE41-3D1035F3FF7A" xml:space="preserve">RESOURCE  LOCALISABLE_APP_INFO r_name36
+    {
+	   short_caption = "";
+	   CAPTION_AND_ICON_INFO
+         {
+         caption = "";
+         number_of_icons =0;
+	   	   icon_file = "";
+	       };
+	   view_list[]; // VIEW_DATA
+	   group_name(KAppMaxGroupName) = "";
+	   }</codeblock>
+<p>where</p>
+<ul>
+<li><p><parmname>r_name36</parmname> is the resource name
+that uniquely identifies the RESOURCE statement in the application,
+and is used in the <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">registration resource file</xref>.</p></li>
+<li><p><parmname>short_caption</parmname> indicates a shortened
+version of the caption used by some UIs when screen space is limited.</p>
+</li>
+<li><p><parmname>caption</parmname> indicates the caption
+used for the application on the grid and list menu.</p></li>
+<li><p><parmname>number_of_icons</parmname> indicates the
+number of icons used for the application in the menu.</p></li>
+<li><p><parmname>icon_file</parmname> indicates the name
+of the file that contains the icon, including the path but not the
+drive name.</p></li>
+</ul>
+<p>For information on Localisable icon, see <b>Symbian^3 Tools
+Guide &gt; Building</b>.</p>
+</itemgroup>
+</li>
+<li id="GUID-1F9CBCC9-B366-43E8-9ADB-E4AB6A255181"><p>Add
+the resource name of this resource to the <parmname>localisable_resource_id</parmname> in the registration resource file.</p></li>
+</ol>
+<p>For a commented example, see <xref href="GUID-6AD1DA34-EA3D-4EC9-A667-390507B4D6CB.dita">helloworldbasic.rss</xref>.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-9F9CE6B6-1B3D-50A6-8A94-BD391732EF2D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9F9CE6B6-1B3D-50A6-8A94-BD391732EF2D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 a 32-bit word also increase from low to high-order bit. </p> <fig id="GUID-7E3D8B96-2CC0-58C8-856D-21847782878E">
 <title>              Pixel address layout in memory for the EUidPixelFormatL_2
 format            </title>
-<image href="GUID-736BB5CF-0E2B-59FC-BC65-E52A7D12EC4A_d0e232725_href.png" placement="inline"/>
+<image href="GUID-736BB5CF-0E2B-59FC-BC65-E52A7D12EC4A_d0e238720_href.png" placement="inline"/>
 </fig> <p>The equivalent UID value is {0x102858EF}. </p> </section>
 <section id="GUID-A8A6123A-5766-4993-AEDB-D069831D9064"><title>EUidPixelFormatL_2</title> <p>This format has 2 bits per pixel.
 It is implicit in the code that pixel addresses within a byte increase from
@@ -30,7 +30,7 @@
 also increase from low to high-order bit. </p> <fig id="GUID-5D4C0942-42F8-5094-B376-DC4252816437">
 <title>              Pixel address layout in memory for the EUidPixelFormatL_2
 format            </title>
-<image href="GUID-CB7A54D9-C6C8-562A-8A52-4B17B37242AD_d0e232744_href.png" placement="inline"/>
+<image href="GUID-CB7A54D9-C6C8-562A-8A52-4B17B37242AD_d0e238739_href.png" placement="inline"/>
 </fig> <p>The equivalent UID value is {0x102858EE}. </p> </section>
 <section id="GUID-71CFCD00-7223-40CA-8A26-205792E3E7C7"><title>EUidPixelFormatL_4</title> <p>This format has 4 bit per pixel.
 It is implicit in the code that pixel addresses within a byte increase from
@@ -40,7 +40,7 @@
 also increase from low to high-order bit. </p> <fig id="GUID-6021C416-EAF0-5FAA-9181-13A0FB14D518">
 <title>              Pixel address layout in memory for the EUidPixelFormatL_4
 format            </title>
-<image href="GUID-65C997F4-3899-56B1-85DD-9425E06F128B_d0e232763_href.png" placement="inline"/>
+<image href="GUID-65C997F4-3899-56B1-85DD-9425E06F128B_d0e238758_href.png" placement="inline"/>
 </fig> <p>The equivalent UID value is {0x102858ED}. </p> </section>
 <section id="GUID-719B6262-9AC5-4372-A082-36E559FE7922"><title> EUidPixelFormatL_8</title> <p>This format has 8 bit per pixel.
 A little-endian architecture is implicit in the code, because conversions
@@ -50,7 +50,7 @@
 look up tables and monochrome bitmaps represent the 256 levels of gray directly. </p> <fig id="GUID-7047A561-981B-56B9-BCFD-5F2E4C757B79">
 <title>              Pixel address layout in memory for the EUidPixelFormatL_8
 format            </title>
-<image href="GUID-49F16A96-083E-5928-B939-75F2D11E2BF8_d0e232785_href.png" placement="inline"/>
+<image href="GUID-49F16A96-083E-5928-B939-75F2D11E2BF8_d0e238780_href.png" placement="inline"/>
 </fig> <p>The equivalent UID value is {0x102858EC}. </p> </section>
 </conbody><related-links>
 <link href="GUID-7E6DDDBB-FDE2-59ED-A932-AFD4D0BAC3E3.dita"><linktext>RGB     
Binary file Symbian3/PDK/Source/GUID-9FB3502C-B3DF-5FBC-972D-0D476D661954_d0e137706_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9FB3502C-B3DF-5FBC-972D-0D476D661954_d0e139955_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9FB82D95-F110-5D42-B39E-BCFAE574E18F_d0e107636_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9FB82D95-F110-5D42-B39E-BCFAE574E18F_d0e110079_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e41839_href.png has changed
Binary file Symbian3/PDK/Source/GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e46073_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0051B62-FC01-5693-9532-EDBDB25634AA_d0e459099_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0051B62-FC01-5693-9532-EDBDB25634AA_d0e464944_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e550989_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e558445_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e101389_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e79805_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e84003_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e95807_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e97310_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e99926_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A021A398-2FD0-5AAA-90B9-418996877600_d0e277947_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A021A398-2FD0-5AAA-90B9-418996877600_d0e283947_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A03FB1BF-F67B-519D-A904-74CA3F8375D9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A03FB1BF-F67B-519D-A904-74CA3F8375D9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 fonts and bitmaps.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-90579D09-2F46-5E98-B162-BD80932F3636">
 <title>         The Font and Bitmap Server collection</title>
-<image href="GUID-C33BAB87-9CFA-58F4-95B7-7A05AB529708_d0e257772_href.png" placement="inline"/>
+<image href="GUID-C33BAB87-9CFA-58F4-95B7-7A05AB529708_d0e263783_href.png" placement="inline"/>
 </fig>
 <p>The CBR package name for the Font and Bitmap Server component is <filepath>graphics_fbserv</filepath>. </p>
 </conbody><related-links>
--- a/Symbian3/PDK/Source/GUID-A049B0C2-5C30-5B07-AC4F-32A75046B60B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A049B0C2-5C30-5B07-AC4F-32A75046B60B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 of the data. The following drawing shows the layout of a <codeph>TBufC&lt;5&gt;</codeph> object
 initialised with the string of five characters representing the English word
 "Hello".</p> <fig id="GUID-12064B13-BA8E-5552-9907-AD4F28329A24">
-<image href="GUID-5971E713-9CA1-5D75-AE9F-2EF9CBDE39F4_d0e322350_href.png" placement="inline"/>
+<image href="GUID-5971E713-9CA1-5D75-AE9F-2EF9CBDE39F4_d0e328336_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-4FE409A2-F70B-4755-8C0F-E86799728550"><title>Modifiable buffer descriptor</title> <p>The data contained
 in a modifiable buffer descriptor can be both accessed and changed through
@@ -64,6 +64,6 @@
 that holds the maximum length of the data. The following drawing shows the
 layout of a <codeph>TBuf&lt;12&gt;</codeph> object initialised with the string
 of five characters representing the English word "Hello".</p> <fig id="GUID-1988349D-C4DF-5CA4-A913-D6E0AF4DB104">
-<image href="GUID-8D5FFAE9-7E8A-5144-B0CC-B56A34D42A3F_d0e322416_href.png" placement="inline"/>
+<image href="GUID-8D5FFAE9-7E8A-5144-B0CC-B56A34D42A3F_d0e328402_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-6-1-4-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-6-1-4-1" xml:lang="en"><title>How
-to stop a periodic timer</title><shortdesc>Describes how to stop a periodic timer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>To stop a periodic timer, call <codeph>Cancel()</codeph>. After the cancel,
-the <codeph>CPeriodic</codeph> may be started again, and so on until it is
-destroyed.</p>
-<codeblock id="GUID-2A0611B0-FBCE-5D1D-89F2-39502F68A7BF-GENID-1-12-1-17-1-1-9-1-4-1-22-1-6-1-4-1-3-2" xml:space="preserve">
-iPeriodic-&gt;Cancel();
-</codeblock>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-7-1-4-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-7-1-4-1" xml:lang="en"><title>How
-to stop a periodic timer</title><shortdesc>Describes how to stop a periodic timer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>To stop a periodic timer, call <codeph>Cancel()</codeph>. After the cancel,
-the <codeph>CPeriodic</codeph> may be started again, and so on until it is
-destroyed.</p>
-<codeblock id="GUID-2A0611B0-FBCE-5D1D-89F2-39502F68A7BF-GENID-1-12-1-17-1-1-9-1-4-1-22-1-7-1-4-1-3-2" xml:space="preserve">
-iPeriodic-&gt;Cancel();
-</codeblock>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-6-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-6-1-4-1" xml:lang="en"><title>How
+to stop a periodic timer</title><shortdesc>Describes how to stop a periodic timer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>To stop a periodic timer, call <codeph>Cancel()</codeph>. After the cancel,
+the <codeph>CPeriodic</codeph> may be started again, and so on until it is
+destroyed.</p>
+<codeblock id="GUID-2A0611B0-FBCE-5D1D-89F2-39502F68A7BF-GENID-1-12-1-18-1-1-9-1-4-1-22-1-6-1-4-1-3-2" xml:space="preserve">
+iPeriodic-&gt;Cancel();
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-7-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-7-1-4-1" xml:lang="en"><title>How
+to stop a periodic timer</title><shortdesc>Describes how to stop a periodic timer. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>To stop a periodic timer, call <codeph>Cancel()</codeph>. After the cancel,
+the <codeph>CPeriodic</codeph> may be started again, and so on until it is
+destroyed.</p>
+<codeblock id="GUID-2A0611B0-FBCE-5D1D-89F2-39502F68A7BF-GENID-1-12-1-18-1-1-9-1-4-1-22-1-7-1-4-1-3-2" xml:space="preserve">
+iPeriodic-&gt;Cancel();
+</codeblock>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A05B7A4D-EAE1-4E92-9337-8CA1CC5C0FAD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A05B7A4D-EAE1-4E92-9337-8CA1CC5C0FAD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -64,7 +64,7 @@
 The <i>secure time</i> can be set using System Static Functions API. </p></li>
 </ul></p></li>
 </ul><fig id="GUID-F470FE96-4BB5-489F-88F1-BDD6291BEB69">
-<image href="GUID-21562C58-896C-48B0-A574-975E1326A93A_d0e166696_href.jpg" placement="inline"/>
+<image href="GUID-21562C58-896C-48B0-A574-975E1326A93A_d0e172789_href.jpg" placement="inline"/>
 </fig></p><note>To make the WMDRM content
 fully functional, device creators must license the WMDRM porting kit from
 Microsoft and integrate it.</note>     </section>
--- a/Symbian3/PDK/Source/GUID-A05F0124-AE28-5088-8AFE-22956D1549AD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A05F0124-AE28-5088-8AFE-22956D1549AD"><title>noexportlibrary</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>noexportlibrary</codeph>  </p> <p>This stops the generation of a component's <filepath>.lib</filepath> file.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A071544E-FC8D-5912-99F9-8D651AA3BA07_d0e450789_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A071544E-FC8D-5912-99F9-8D651AA3BA07_d0e456634_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A0AF4BAE-E4C4-52BE-BB61-92DFE9422D8D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A0AF4BAE-E4C4-52BE-BB61-92DFE9422D8D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-A0AF4BAE-E4C4-52BE-BB61-92DFE9422D8D"><title>How to Develop a SIP Profile Agent Plug-in using the SIP Profile Agent API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A SIP Profile Agent plug-in is an ECOM plug-in that is used by the SIP Profile server to register the corresponding SIP profiles. For example, if the SIP Profile type is IETF, the profile server uses the IETF plug-in to register the profile. </p> <p>In the following illustration, the SIP Profile Agent plug-in implements interfaces, uses APIs, and inherits a class. </p> <p>The following steps describe how to develop a SIP Profile Agent plug-in. </p> <ol id="GUID-7EC57F82-9A98-5651-AC53-B9EE80BD4F6A"><li id="GUID-7B046198-3C5F-5111-A11A-3A8023A63659"><p>Derive a profile agent plug-in class from <xref href="GUID-F324C2F6-1336-361C-B270-EFBAA256C46A.dita"><apiname>CSIPProfileAgent</apiname></xref>, which provides an ECOM interface for SIP Profile Agent plug-ins. </p> </li> <li id="GUID-81288220-4895-5213-B522-75896DCF7E76"><p>Implement the following interfaces in the plug-in class: </p> <ul><li id="GUID-8190B7B7-0C28-5ADA-A2F2-A0AD5BE7982E"><p> <xref href="GUID-8E42520B-698F-3925-8F0F-6CD0F9745EF2.dita"><apiname>MSIPProfileAgentObserver</apiname></xref> - To receive notifications of profile registration, update and deregister events, and any errors reported while doing these tasks. </p> </li> <li id="GUID-1F4AE0B4-4E69-5E5D-B610-6C1839D56B61"><p> <xref href="GUID-EB6027F7-D166-3B2C-9AE2-F65457D128B5.dita"><apiname>MSIPProfileFSMUser</apiname></xref> - To receive profile state change notifications. </p> </li> <li id="GUID-DD164449-34E0-54FE-B685-6371D433C5B3"><p> <xref href="GUID-C6FF4A83-0097-3A82-B4ED-802E1FEA05D1.dita"><apiname>MSIPObserver</apiname></xref> - To receive SIP requests from the SIP connections that the user does no initialise. </p> </li> <li id="GUID-F1FED442-C5C3-50A5-9DE6-1EF035D44B70"><p> <xref href="GUID-64AD3756-2FEC-37CB-9A31-838738DEC03D.dita"><apiname>MSIPHttpDigestChallengeObserver2</apiname></xref> - To provide HTTP Digest authentication for SIP registrations when an instance of the <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> class is used. </p> </li> </ul> </li> <li id="GUID-8B3E553F-A92C-59CE-B959-CF13D43BD1AD"><p>Derive and implement the following classes in the profile context and connection context classes: </p> <ul><li id="GUID-446A39EF-12B7-56B1-A477-A0B2DDDF7BE7"><p>Implement the <xref href="GUID-6B6F73C9-1288-3F6F-B6A3-FD0AE39DE0E2.dita"><apiname>MSIPProfileContext</apiname></xref> interface in the profile context class to get and set the information about the profile when it is in a particular state. </p> </li> <li id="GUID-330406BA-8A73-56DC-867F-F5AA837BDA5C"><p>Implement the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita"><apiname>MSIPConnectionObserver</apiname></xref> interface in the connection context class to receive requests, responses, connection state notifications, and error notifications from the SIP stack. </p> </li> <li id="GUID-55F08A29-83C4-519C-8195-D8B15A6AD1B4"><p>Implement the <xref href="GUID-981869F9-0137-303F-9A55-DA18A89C72A7.dita"><apiname>MSIPProxyResolverObserver</apiname></xref> interface to receive notifications about the state of the asynchronous request to resolve proxy. </p> </li> <li id="GUID-FD500D85-05E7-53EF-87BB-9BF5DE8FF45E"><p>Derive the profile context and the connection context classes from <xref href="GUID-8F6FE089-E2A8-30F4-B67E-10F286347681.dita"><apiname>CBase</apiname></xref> to create the objects on the heap. </p> </li> </ul> </li> <li id="GUID-19B99A3A-D50D-55ED-B973-424DA488D20F"><p>Create instances of the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> and <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> classes, and monitor the states of CSIPConnection object. </p> <p> <b>Note:</b> SIP Profile registration is performed when the state of <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object is <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-2B88DB09-5C64-38AD-96D3-0095F2203EB7"><apiname>CSIPConnection::EActive</apiname></xref>. </p> </li> <li id="GUID-45896E47-490E-575A-887B-BC03E98059FA"><p>Create instances of the <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> class to perform SIP profile registrations. </p> </li> <li id="GUID-F757E38E-13A3-5AF6-A8BC-80B1AE1367CD"><p>Implement the SIP profile registration state machine. The state machine responds to the state changes to <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> instances and SIP profile registrations. </p> </li> </ol> <p>The following illustration shows the relationship between the SIP Profile Agent plug-in and other components used by it. </p> <fig id="GUID-4B5948A1-0355-5F5A-BA2E-0D24B37CEB4A"><title>
           SIP Profile Agent plug-in relationship diagram 
-        </title> <image href="GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e551490_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-11E73F76-46F7-573A-99AC-CC094CEB3A4F.dita"><linktext>SIP Profile
+        </title> <image href="GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e558946_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-11E73F76-46F7-573A-99AC-CC094CEB3A4F.dita"><linktext>SIP Profile
                 Agent overview</linktext> </link> <link href="GUID-E9AF73E8-DF31-5C5E-889E-96CCD4C4A46B.dita"><linktext>Example IETF
                 profile agent plug-in</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A0C0BEBA-1976-5D68-B4EF-C3727DF163A9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A0C0BEBA-1976-5D68-B4EF-C3727DF163A9" xml:lang="en"><title>Contacts
+Model API Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-4A72A286-5703-4A40-8364-D6C1824253F3"><title>Description</title> This
+C++ example is a simple application demonstrating the use of the Contacts
+Model API. It allows viewing contact items from the default contacts database.
+Each contact is shown using a custom text definition. New contacts can be
+imported from files that contain vCard items. A contact item can also be selected
+and exported to a file in the vCards format.</section>
+<section id="GUID-93C9EA26-A424-402C-BCD2-EF926B3B0263"><title>Download</title> <p>Click
+on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-fd278785-d876-48e1-952a-f57fe377549d.zip" scope="external">ContactsModel.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-fd278785-d876-48e1-952a-f57fe377549d.html" scope="peer">browse</xref> to view the example code. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A0E21681-F1EF-4E79-965A-040AC7D72A01.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A0E21681-F1EF-4E79-965A-040AC7D72A01.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -61,7 +61,7 @@
 to UTC.</p></li>
 </ul><p>The key classes involved are <codeph>CTzId</codeph>, <codeph>RTz</codeph> and <codeph>CTzConverter</codeph>.  </p><fig id="GUID-E9AB8158-B0A4-47FA-A9C2-23E697B04433">
 <title>Class diagram for Time zone Conversion</title>
-<image href="GUID-CE7DA679-D441-4843-A81B-2A60440B50E8_d0e183493_href.png" placement="inline"/>
+<image href="GUID-CE7DA679-D441-4843-A81B-2A60440B50E8_d0e189570_href.png" placement="inline"/>
 </fig><p><b> See also</b></p><ul>
 <li><p><xref href="GUID-DF4D7DFF-ECA9-40CF-9F3B-4BBC3F8162E4.dita">Converting
 between UTC and local time</xref></p></li>
Binary file Symbian3/PDK/Source/GUID-A10EAF58-6B9F-55A5-B3E4-3D4B91A93C41_d0e338925_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A10EAF58-6B9F-55A5-B3E4-3D4B91A93C41_d0e344897_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A1148010-887F-549D-9DA0-D36FF4661FFE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A1148010-887F-549D-9DA0-D36FF4661FFE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-A1148010-887F-549D-9DA0-D36FF4661FFE"><title>What are Access Points</title><shortdesc>This topic describes the concept of an <i>Access Point</i> in the Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>A Layer can make a service available to the Layer immediately above it. The service is called an Access Point. </p> <p>Each Layer except the highest Layer can have an Access Point. The highest Layer is called the Application Layer. The Communications Framework can limit the use of an Access Point to selected clients. </p> <p>The following diagram shows five Access Points. Each Access Point offers a service to the Layer above it. </p> <fig id="GUID-C002DF58-616A-5F4F-A0C7-5C66C6B9B597"><title>
           Access Points in the Communications Framework
-        </title> <image href="GUID-90076A13-E062-5A7B-BB0F-168F7C8A96DD_d0e106581_href.png" placement="inline"/></fig> <p>In this diagram the Link Layer has three bearers. Each bearer has an Access Point. An application or a Layer above the Link Layer does not need to know which bearer in the Link Layer is in use during the connection. The Communication Framework can replace the bearer with another bearer. The Communication Framework does not need to tell the application when the bearer changes. An application can continue to send and receive data when the change occurs. </p> <p>For example, consider an email application on a device. The device connects over a GPRS network. A short time later the device detects that a Wi-Fi connection is available. This event can occur if the device has moved from an office location to a coffee shop. The device can have a selection policy. The policy can state that the device switch to WiFi without the creation of a new connection. </p> <p>The selection policy contains a list of Access Points in order of priority. Device manufacturers, Network Operators and users can configure the order of priority. The priority can be based on items like available bandwidth and cost. An alternative to selection policy is the concept of connection preference. For example, a device connects with a specific bearer (for example, GPRS) unless the application changes the bearer explicitly. </p> <p>It is useful to note that an Internet Access Point (IAP) is a specialisation of the Access Point concept for a Link Layer. IAPs identify a service to be accessed through a concrete link-layer bearer. Each IAP has an associated Access Point with the same physical value. </p> </conbody><related-links><link href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-57197DDE-9DE0-5978-8F2F-D2E370489E3C"><linktext> IAP</linktext> </link> <link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-90076A13-E062-5A7B-BB0F-168F7C8A96DD_d0e109024_href.png" placement="inline"/></fig> <p>In this diagram the Link Layer has three bearers. Each bearer has an Access Point. An application or a Layer above the Link Layer does not need to know which bearer in the Link Layer is in use during the connection. The Communication Framework can replace the bearer with another bearer. The Communication Framework does not need to tell the application when the bearer changes. An application can continue to send and receive data when the change occurs. </p> <p>For example, consider an email application on a device. The device connects over a GPRS network. A short time later the device detects that a Wi-Fi connection is available. This event can occur if the device has moved from an office location to a coffee shop. The device can have a selection policy. The policy can state that the device switch to WiFi without the creation of a new connection. </p> <p>The selection policy contains a list of Access Points in order of priority. Device manufacturers, Network Operators and users can configure the order of priority. The priority can be based on items like available bandwidth and cost. An alternative to selection policy is the concept of connection preference. For example, a device connects with a specific bearer (for example, GPRS) unless the application changes the bearer explicitly. </p> <p>It is useful to note that an Internet Access Point (IAP) is a specialisation of the Access Point concept for a Link Layer. IAPs identify a service to be accessed through a concrete link-layer bearer. Each IAP has an associated Access Point with the same physical value. </p> </conbody><related-links><link href="GUID-387A8240-0765-52F2-98A4-8F9FC809E03E.dita#GUID-387A8240-0765-52F2-98A4-8F9FC809E03E/GUID-57197DDE-9DE0-5978-8F2F-D2E370489E3C"><linktext> IAP</linktext> </link> <link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,14 +1,22 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4" xml:lang="en"><title>Advanced Pointers </title><shortdesc>In ScreenPlay, the Window Server provides advanced pointer features, such as support for multiple pointers and proximity and pressure coordinates. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p> </conbody><related-links><link href="GUID-B58D3727-6E05-51C8-8EC2-52768A136BD5.dita"><linktext>Window Server
-                Client-Side Events Overview</linktext> </link> <link href="GUID-CD550DE7-D013-527B-BADE-5CB122C352C8.dita"><linktext>Pointer
-     Handling</linktext> </link> </related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4" xml:lang="en"><title>Advanced
+Pointers </title><shortdesc>In ScreenPlay, the Window Server provides advanced pointer
+features, such as support for multiple pointers and proximity and
+pressure coordinates. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p>
+</conbody><related-links>
+<link href="GUID-B58D3727-6E05-51C8-8EC2-52768A136BD5.dita"><linktext>Window
+Server                 Client-Side Events Overview</linktext></link>
+<link href="GUID-CD550DE7-D013-527B-BADE-5CB122C352C8.dita"><linktext>Pointer
+     Handling</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A12A6C54-7E9E-5ECD-A0BF-8F980160A0D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A12A6C54-7E9E-5ECD-A0BF-8F980160A0D2"><title>prj_platforms</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>prj_platforms</codeph> <varname>list_of_platforms</varname> </p> <p>In the <codeph>prj_platforms</codeph> section, list the platforms that the component supports.</p> <p>If the platforms section is not found, <filepath>bldmake</filepath> assumes the default build targets.</p> <p>Note, building for the MARM platform is no longer supported. If MARM is specified as a platform, it will be expanded to mean ARM4, ARMI and THUMB, but really these platforms should be listed explicitly, or the default relied upon.</p> <p>Specifying the pseudo-platform <codeph>DEFAULT</codeph> at the start of the list will cause any subsequent platforms to be added to the default list, unless these platforms are prefixed with a hyphen (-), in which case these platforms will be removed from the list. </p> <p>Platforms can be listed on several separate lines if required.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A15EDC87-A6EF-40D8-AA78-B52449465FEA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A15EDC87-A6EF-40D8-AA78-B52449465FEA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 <p>Use cases for the long-tap detector are shown in the figure below.</p>
 <fig id="GUID-1439445E-81AB-4AA4-86E0-00F53CD46D8F">
 <title>Touch UI utilities API use cases</title>
-<image href="GUID-B4834A49-587E-41AD-B0D3-0622B173B2AD_d0e103648_href.png" scale="70" placement="inline"/>
+<image href="GUID-B4834A49-587E-41AD-B0D3-0622B173B2AD_d0e107668_href.png" scale="70" placement="inline"/>
 </fig>
 <p>To use the Touch UI utilities long-tap detector in your application, implement
 the following use cases.</p>
--- a/Symbian3/PDK/Source/GUID-A188606F-4A8E-5A85-A241-E15219960EFA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A188606F-4A8E-5A85-A241-E15219960EFA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,119 +9,117 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A188606F-4A8E-5A85-A241-E15219960EFA" xml:lang="en"><title>Loader
-Overview</title><shortdesc>This topic describes the overview, purpose, key concepts and architecture
-of loader.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-A188606F-4A8E-5A85-A241-E15219960EFA" xml:lang="en"><title>Loader Overview</title><shortdesc>This topic describes the overview, purpose, key concepts
+and architecture of loader.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <ul>
 <li id="GUID-AE825AB3-3799-5A7A-A74D-D6E457A6997E"><p> <xref href="GUID-A188606F-4A8E-5A85-A241-E15219960EFA.dita#GUID-A188606F-4A8E-5A85-A241-E15219960EFA/GUID-E36370EC-CD5E-54AE-AD62-2BA3B70F5379">Purpose</xref>  </p> </li>
 <li id="GUID-9D2C951C-6092-53BB-BFA9-4D33230721FA"><p> <xref href="GUID-A188606F-4A8E-5A85-A241-E15219960EFA.dita#GUID-A188606F-4A8E-5A85-A241-E15219960EFA/GUID-89A8CABD-6B31-5D10-87F6-922CCFB83186">Key concepts</xref>  </p> </li>
 <li id="GUID-B21577D8-3B8B-596F-A3B6-6AC2538F6F28"><p> <xref href="GUID-A188606F-4A8E-5A85-A241-E15219960EFA.dita#GUID-A188606F-4A8E-5A85-A241-E15219960EFA/GUID-64154337-D706-5DE1-9319-4FEA6181EFC4">Architectural relationships</xref>  </p> </li>
 </ul>
-<section id="GUID-E36370EC-CD5E-54AE-AD62-2BA3B70F5379"><title>Purpose</title> <p>The
-loader makes EXEs and DLLs ready to run. </p> <p>The build tools compile the
-source code into an executable file. An executable file is called a binary.
-The build tools arrange the compiled code into EXEs and DLLs. The source code,
-header files and other information that defines an executable file is defined
-in an mmp file. The loader applies relocation information to the code and
-data sections of EXEs and DLLs. The loader also loads DLLs that are referred
-to by other EXEs and DLLs. EXEs and DLLs can then run in the process into
-which they are loaded. </p> </section>
-<section id="GUID-89A8CABD-6B31-5D10-87F6-922CCFB83186"><title>Key concepts</title> <p><b>The loader server</b> </p> <p>The Symbian platform loader is a server.
-The loader server has no public client interface. The client interface is
-internal to Symbian platform. Requests to load an EXE or a DLL are passed
-to the loader when you do the following: </p> <ul>
-<li id="GUID-5DFBB7F5-2F30-50C7-9144-3D6D85C0ACA1"><p>start a new process
-- a call to <xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita#GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695/GUID-DD214BA3-907E-3C7F-93C6-924A9A115A02"><apiname>RProcess::Create()</apiname></xref>  </p> </li>
-<li id="GUID-B88FC041-7643-5CA0-9796-A51E64CAA1DF"><p>load a DLL - a call
-to <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita#GUID-25327159-83D6-3507-B187-09EA4BB3727F/GUID-4F1B2717-D34F-32A4-B6E6-03D0533186A3"><apiname>RLibrary::Load()</apiname></xref>  </p> </li>
-<li id="GUID-A7578989-6BDB-5CEA-B3C3-0B5A08E57166"><p>load a logical device
-driver - a call to <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-AE0D51B7-7ADC-3C9F-ACAA-8F6D9EA0AEFA"><apiname>User::LoadLogicalDevice()</apiname></xref>. A logical
-device driver is a type of DLL. </p> </li>
-<li id="GUID-34DC54FE-FCEF-5F83-B205-9BA5B7140680"><p>load a physical device
-driver - a call to <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-A0F4BF4A-9C58-3E5E-88E1-6D98597DDA18"><apiname>User::LoadPhysicalDevice()</apiname></xref>. A physical
-device driver is a type of DLL. </p> </li>
-<li id="GUID-51318E5E-4534-589B-B4BD-92D73F832A6F"><p>load a file system -
-a call to <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-51353BE2-9133-39F5-83F3-A5DB88D858CA"><apiname>RFs::AddFileSystem()</apiname></xref>. A file system is a type
-of DLL. A call to <codeph>RFs::AddFileSystem()</codeph> requires DiskAdmin
+<section id="GUID-E36370EC-CD5E-54AE-AD62-2BA3B70F5379"><title>Purpose</title> <p>The loader makes EXEs and DLLs ready to run. </p> <p>The build
+tools compile the source code into an executable file. An executable
+file is called a binary. The build tools arrange the compiled code
+into EXEs and DLLs. The source code, header files and other information
+that defines an executable file is defined in an mmp file. The loader
+applies relocation information to the code and data sections of EXEs
+and DLLs. The loader also loads DLLs that are referred to by other
+EXEs and DLLs. EXEs and DLLs can then run in the process into which
+they are loaded. </p> </section>
+<section id="GUID-89A8CABD-6B31-5D10-87F6-922CCFB83186"><title>Key
+concepts</title> <p><b>The loader server</b> </p> <p>The Symbian platform loader is a
+server. The loader server has no public client interface. The client
+interface is internal to Symbian platform. Requests to load an EXE
+or a DLL are passed to the loader when you do the following: </p> <ul>
+<li id="GUID-5DFBB7F5-2F30-50C7-9144-3D6D85C0ACA1"><p>start a new
+process - a call to <xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita#GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695/GUID-DD214BA3-907E-3C7F-93C6-924A9A115A02"><apiname>RProcess::Create()</apiname></xref>  </p> </li>
+<li id="GUID-B88FC041-7643-5CA0-9796-A51E64CAA1DF"><p>load a DLL -
+a call to <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita#GUID-25327159-83D6-3507-B187-09EA4BB3727F/GUID-4F1B2717-D34F-32A4-B6E6-03D0533186A3"><apiname>RLibrary::Load()</apiname></xref>  </p> </li>
+<li id="GUID-A7578989-6BDB-5CEA-B3C3-0B5A08E57166"><p>load a logical
+device driver - a call to <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-AE0D51B7-7ADC-3C9F-ACAA-8F6D9EA0AEFA"><apiname>User::LoadLogicalDevice()</apiname></xref>. A logical device driver is a type of DLL. </p> </li>
+<li id="GUID-34DC54FE-FCEF-5F83-B205-9BA5B7140680"><p>load a physical
+device driver - a call to <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-A0F4BF4A-9C58-3E5E-88E1-6D98597DDA18"><apiname>User::LoadPhysicalDevice()</apiname></xref>. A physical device driver is a type of DLL. </p> </li>
+<li id="GUID-51318E5E-4534-589B-B4BD-92D73F832A6F"><p>load a file
+system - a call to <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-51353BE2-9133-39F5-83F3-A5DB88D858CA"><apiname>RFs::AddFileSystem()</apiname></xref>. A file
+system is a type of DLL. A call to <codeph>RFs::AddFileSystem()</codeph> requires DiskAdmin capability. See <xref href="GUID-99D8A4E8-BC4F-39FF-A3DF-832CF0411629.dita"><apiname>ECapabilityDiskAdmin</apiname></xref>. </p> </li>
+<li id="GUID-8394C231-341B-5EA6-B9C2-01F75685813D"><p>load a file
+server extension - call to <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-D45FD363-EEF9-3F77-8FA1-49270D8E89A0"><apiname>RFs::AddExtension()</apiname></xref>.
+A file server extension is a type of DLL. This function requires DiskAdmin
 capability. See <xref href="GUID-99D8A4E8-BC4F-39FF-A3DF-832CF0411629.dita"><apiname>ECapabilityDiskAdmin</apiname></xref>. </p> </li>
-<li id="GUID-8394C231-341B-5EA6-B9C2-01F75685813D"><p>load a file server extension
-- call to <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-D45FD363-EEF9-3F77-8FA1-49270D8E89A0"><apiname>RFs::AddExtension()</apiname></xref>. A file server extension
-is a type of DLL. This function requires DiskAdmin capability. See <xref href="GUID-99D8A4E8-BC4F-39FF-A3DF-832CF0411629.dita"><apiname>ECapabilityDiskAdmin</apiname></xref>. </p> </li>
-<li id="GUID-F1889916-80EB-55B6-BEAF-F66164F3838C"><p>load a locale - a call
-to <xref href="GUID-454ACAB5-1573-323C-820E-AF542B149D2A.dita#GUID-454ACAB5-1573-323C-820E-AF542B149D2A/GUID-9F04584E-DD0B-39CE-8666-88F67F3B83BF"><apiname>TExtendedLocale::LoadLocale()</apiname></xref>. </p> </li>
-</ul> <p><b>Version
-numbers</b> </p> <p><b>The
-reason for version numbers</b> </p> <p>More than one version of an EXE can
-exist on a device at the same time. More than one version of a DLL can exist
-on a device at the same time. A device can store versions of an EXE or DLL
-that are not compatible with an older version of that EXE or DLL. </p> <p>A
-version number is a set of two numbers. The loader uses these numbers to identify
-copies of the executable file. The two numbers are called the major version
-number and the minor version number. The build tools encode the two numbers
-into the header of the executable file. When a DLL is built, the version numbers
-are encoded into the import library. </p> <p><b>The
-structure of version information</b> </p> <p>DLLs are the most common users
-of versions. You assign new values to the version numbers of a DLL when you
-change the published API of the DLL. Symbian recommends the following procedure: </p> <ul>
-<li id="GUID-A3D6B7C6-E48E-5374-8EFE-29EB129FEE04"><p>change the minor version
-number if you make a change to a DLL that is backward compatible. An example
-is a new function in the DLL. </p> </li>
-<li id="GUID-F6813400-1E6A-58B9-8360-7FD364F2153A"><p>change the major version
-number if you make a change to a DLL that breaks an interface. An example
-is the removal of a function or a change to the signature of a function. An
-interface break is disruptive and must be prevented. </p> </li>
-</ul> <p>The major and minor version numbers are defined in the <filepath>.mmp</filepath> file
-that defines the source code, header files and other options that apply to
-the executable file. </p> <p>If you do not specify version numbers, the build
-tools apply the following default values: </p> <ul>
-<li id="GUID-CBF4D098-3A83-53E6-9E54-0A9B487D6E22"><p>Major version number
-: 10 </p> </li>
-<li id="GUID-46E7516E-988B-5F92-9877-FEE17D3F26A7"><p>Minor version number
-: 0 </p> </li>
-</ul> <p>The major version number and the minor version number are stored
-in the header of an EXE and DLL. The two numbers are stored in a single 32
-bit value. The high 16 bits hold the major version number. The low 16 bits
-hold the minor version number. </p> <p>When you build a DLL, the build tools
-encode the version numbers into the filename of the import library (the <filepath>.lib</filepath> file).
-The build tools also create an import library that does not have the version
-numbers encoded as part of the filename.The following example shows how the
-version numbers are encoded in the filename. The major version number is (decimal)
-11 and the minor version number is (decimal) 2. The version numbers in the
-filename are in hexadecimal. </p> <p> <filepath>abcdsrv{000B0002}.lib</filepath>  </p> <p>Notes: </p> <ul>
-<li id="GUID-7DC90016-5A54-5939-84B1-DDB0B2D4D9F5"><p>The left bracket and
-the right bracket are part of the name. </p> </li>
-<li id="GUID-BC291976-EB6D-59D2-8941-64F6ED3AC191"><p>The first four digits
-after the open bracket are the hexadecimal representation of the major version
-number. </p> </li>
-<li id="GUID-51590778-985F-5DCC-9191-E937B1058F51"><p>The second four digits
-are the hexadecimal representation of the minor version number. </p> </li>
-</ul> <p>The build tools do not encode the version numbers in the filename
-of the executable file. </p> <p><b>Loader
-search rules</b> </p> <p>EXEs and DLLs can exist on more than one drive. There
-can be more than one version of an EXE and more than one version of a DLL.
-The loader uses search rules to select the EXE and DLL to load. </p> <p>See <xref href="GUID-D8837969-74D0-5E17-AD42-3F10DD1FD5BF.dita">Loader search rules</xref>  </p> <p><b>Emulator</b> </p> <p>Version numbers are stored in import files for DLLs
-that run on devices and the emulator. Version numbers change how the loader
-functions on devices, but not in the emulator. You cannot encode the version
-numbers in the import library file name on the emulator. </p> <p><b>Tools support</b> </p> <p>Use the build tools to apply version numbers
-to EXEs and DLLs. You specify version numbers in the <filepath>.mmp</filepath> file
-that describes the EXE or DLL. </p> <p>See also <xref href="GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita">mmp
-file syntax</xref> and <xref href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita">Build
-tools guide</xref>. </p> </section>
+<li id="GUID-F1889916-80EB-55B6-BEAF-F66164F3838C"><p>load a locale
+- a call to <xref href="GUID-454ACAB5-1573-323C-820E-AF542B149D2A.dita#GUID-454ACAB5-1573-323C-820E-AF542B149D2A/GUID-9F04584E-DD0B-39CE-8666-88F67F3B83BF"><apiname>TExtendedLocale::LoadLocale()</apiname></xref>. </p> </li>
+</ul> <p><b>Version numbers</b> </p> <p><b>The reason for version numbers</b> </p> <p>More than one version
+of an EXE can exist on a device at the same time. More than one version
+of a DLL can exist on a device at the same time. A device can store
+versions of an EXE or DLL that are not compatible with an older version
+of that EXE or DLL. </p> <p>A version number is a set of two numbers.
+The loader uses these numbers to identify copies of the executable
+file. The two numbers are called the major version number and the
+minor version number. The build tools encode the two numbers into
+the header of the executable file. When a DLL is built, the version
+numbers are encoded into the import library. </p> <p><b>The structure of version information</b> </p> <p>DLLs are the
+most common users of versions. You assign new values to the version
+numbers of a DLL when you change the published API of the DLL. Symbian
+recommends the following procedure: </p> <ul>
+<li id="GUID-A3D6B7C6-E48E-5374-8EFE-29EB129FEE04"><p>change the minor
+version number if you make a change to a DLL that is backward compatible.
+An example is a new function in the DLL. </p> </li>
+<li id="GUID-F6813400-1E6A-58B9-8360-7FD364F2153A"><p>change the major
+version number if you make a change to a DLL that breaks an interface.
+An example is the removal of a function or a change to the signature
+of a function. An interface break is disruptive and must be prevented. </p> </li>
+</ul> <p>The major and minor version numbers are defined in the <filepath>.mmp</filepath> file that defines the source code, header files and
+other options that apply to the executable file. </p> <p>If you do
+not specify version numbers, the build tools apply the following default
+values: </p> <ul>
+<li id="GUID-CBF4D098-3A83-53E6-9E54-0A9B487D6E22"><p>Major version
+number : 10 </p> </li>
+<li id="GUID-46E7516E-988B-5F92-9877-FEE17D3F26A7"><p>Minor version
+number : 0 </p> </li>
+</ul> <p>The major version number and the minor version number are
+stored in the header of an EXE and DLL. The two numbers are stored
+in a single 32 bit value. The high 16 bits hold the major version
+number. The low 16 bits hold the minor version number. </p> <p>When
+you build a DLL, the build tools encode the version numbers into the
+filename of the import library (the <filepath>.lib</filepath> file).
+The build tools also create an import library that does not have the
+version numbers encoded as part of the filename.The following example
+shows how the version numbers are encoded in the filename. The major
+version number is (decimal) 11 and the minor version number is (decimal)
+2. The version numbers in the filename are in hexadecimal. </p> <p> <filepath>abcdsrv{000B0002}.lib</filepath>  </p> <p>Notes: </p> <ul>
+<li id="GUID-7DC90016-5A54-5939-84B1-DDB0B2D4D9F5"><p>The left bracket
+and the right bracket are part of the name. </p> </li>
+<li id="GUID-BC291976-EB6D-59D2-8941-64F6ED3AC191"><p>The first four
+digits after the open bracket are the hexadecimal representation of
+the major version number. </p> </li>
+<li id="GUID-51590778-985F-5DCC-9191-E937B1058F51"><p>The second four
+digits are the hexadecimal representation of the minor version number. </p> </li>
+</ul> <p>The build tools do not encode the version numbers in the
+filename of the executable file. </p> <p><b>Loader search rules</b> </p> <p>EXEs and DLLs can exist on more
+than one drive. There can be more than one version of an EXE and more
+than one version of a DLL. The loader uses search rules to select
+the EXE and DLL to load. </p> <p>See <xref href="GUID-D8837969-74D0-5E17-AD42-3F10DD1FD5BF.dita">Loader search rules</xref>  </p> <p><b>Emulator</b> </p> <p>Version numbers are stored in import files
+for DLLs that run on devices and the emulator. Version numbers change
+how the loader functions on devices, but not in the emulator. You
+cannot encode the version numbers in the import library file name
+on the emulator. </p> <p><b>Tools support</b> </p> <p>Use the build tools to apply version
+numbers to EXEs and DLLs. You specify version numbers in the <filepath>.mmp</filepath> file that describes the EXE or DLL. </p> <p>See also <uicontrol>MMP file syntax</uicontrol> in <uicontrol>Symbian Tools Guide &gt; Building
+ &gt; Symbian Build System (SBSv1) &gt; Build tools reference</uicontrol>.</p> </section>
 <section id="GUID-64154337-D706-5DE1-9319-4FEA6181EFC4"><title>Architectural
-relationships</title> <p>The loader is a server that runs in a separate thread
-in the file server process. The loader is built as part of the file server. </p> <p>The
-loader server starts when the file server starts. The file server starts after
-the kernel is loaded at system start. </p> <p>The loader runs on the user
-side, but calls the kernel for services that are not available to general
-applications. Examples of services are process creation and code segment creation.
-A code segment is an object that represents a piece of code loaded into RAM.
-A code segment also represents a piece of code that runs directly from ROM.
-The kernel services that the loader uses are protected. The file server process
-only is allowed to access these services. </p> <p>The following picture is
-an example of program flow. In this example, a client calls <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita#GUID-25327159-83D6-3507-B187-09EA4BB3727F/GUID-4F1B2717-D34F-32A4-B6E6-03D0533186A3"><apiname>RLibrary::Load()</apiname></xref>,
-which exists in <filepath>euser.dll</filepath>. Internal functions make client-server
-calls to the loader server. The loader server code exists in <filepath>efile.exe</filepath>.
-The loader server uses kernel services. </p> <fig id="GUID-5FCAE81A-19BC-5BE7-89D2-096A87735381">
-<image href="GUID-2735BDAF-295F-5F1E-8925-8F4212D95CD1_d0e365862_href.png" placement="inline"/>
+relationships</title> <p>The loader is a server that runs in a separate
+thread in the file server process. The loader is built as part of
+the file server. </p> <p>The loader server starts when the file server
+starts. The file server starts after the kernel is loaded at system
+start. </p> <p>The loader runs on the user side, but calls the kernel
+for services that are not available to general applications. Examples
+of services are process creation and code segment creation. A code
+segment is an object that represents a piece of code loaded into RAM.
+A code segment also represents a piece of code that runs directly
+from ROM. The kernel services that the loader uses are protected.
+The file server process only is allowed to access these services. </p> <p>The following picture is an example of program flow. In this
+example, a client calls <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita#GUID-25327159-83D6-3507-B187-09EA4BB3727F/GUID-4F1B2717-D34F-32A4-B6E6-03D0533186A3"><apiname>RLibrary::Load()</apiname></xref>, which
+exists in <filepath>euser.dll</filepath>. Internal functions make
+client-server calls to the loader server. The loader server code exists
+in <filepath>efile.exe</filepath>. The loader server uses kernel services. </p> <fig id="GUID-5FCAE81A-19BC-5BE7-89D2-096A87735381">
+<image href="GUID-2735BDAF-295F-5F1E-8925-8F4212D95CD1_d0e371710_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A1D2C673-3B91-403A-800B-5E1504FB19EE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A1D2C673-3B91-403A-800B-5E1504FB19EE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 your application around the Symbian Ecam camera utility. To make use of the
 device camera to capture an image, the application needs to repeat the steps
 described in the illustration below.</p>
-<fig id="GUID-65212152-6862-4990-9869-CF643B9A5845"><title>The steps required to capture a still image</title><image href="GUID-5FE10ECA-1FAB-4E4F-A1D9-67D379EE8CB3_d0e498128_href.png"/></fig>
+<fig id="GUID-65212152-6862-4990-9869-CF643B9A5845"><title>The steps required to capture a still image</title><image href="GUID-5FE10ECA-1FAB-4E4F-A1D9-67D379EE8CB3_d0e505590_href.png"/></fig>
 <p>Important implementation considerations include:</p>
 <ul>
 <li><p>The settings you can use in your application depend on what
--- a/Symbian3/PDK/Source/GUID-A1DBE03F-728E-4F31-BE74-5BDA3906C8DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A1DBE03F-728E-4F31-BE74-5BDA3906C8DD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 the visual appearance of the UI. Themes, also known as <i>skins</i>, only
 affect the visual appearance of the UI, the underlying architecture, interaction
 style, language settings, and general functionality are not affected.</p>
-<fig id="GUID-E0A0BDE6-1863-44E6-8158-B36DD6DD69FD"><title>Personalization through themes</title><image href="GUID-4C859177-7B45-4569-9E27-B207300A7A1C_d0e68219_href.png"/></fig>
+<fig id="GUID-E0A0BDE6-1863-44E6-8158-B36DD6DD69FD"><title>Personalization through themes</title><image href="GUID-4C859177-7B45-4569-9E27-B207300A7A1C_d0e72432_href.png"/></fig>
 <p> The Symbian platform provides an API to allow you to support themes
 in your applications. Although a mobile device based on the Symbian platform
 can contain several themes, mobile device users can only activate one theme
--- a/Symbian3/PDK/Source/GUID-A1F037FE-0D88-5108-B96E-4ADE6B3A4A3E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A1F037FE-0D88-5108-B96E-4ADE6B3A4A3E"><title>inflatecompresstarget</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>inflatecompresstarget</codeph> </p> <p>Use the <codeph>inflatecompresstarget</codeph> statement to specify that the target executable should be compressed. In detail, the code and data sections of the executable are compressed with the Deflate, Huffman+LZ77 algorithm. </p> <p>Compression allows the stored executable to use less space on the file system. The executable loader decompresses the file when it is loaded. </p> <p>See also <xref href="GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita">compresstarget</xref>. </p> <p>See also <xref href="GUID-A668442E-0768-5AF1-829B-A80864756A0B.dita">bytepaircompresstarget</xref>. </p> <p>See also <xref href="GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita">nocompresstarget</xref>. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A1F0D18B-5A89-58FC-9361-7B0A9786C826.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A1F0D18B-5A89-58FC-9361-7B0A9786C826.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,9 +10,9 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-A1F0D18B-5A89-58FC-9361-7B0A9786C826" xml:lang="en"><title>pdrstore: Creating a Printer Driver using pdr files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-A041DECA-21EB-462E-A503-ED794BEB8CF1"><title> Description</title> <p>This example demonstrates
-how to load printer driver information files and create a printer
-driver. The purpose of the PdrStore API is to: </p> <ul>
+<section id="GUID-A041DECA-21EB-462E-A503-ED794BEB8CF1"><title> Description</title> <p>This example demonstrates how to load printer driver information
+files and create a printer driver. The purpose of the PdrStore API
+is to: </p> <ul>
 <li id="GUID-4320D425-C6D3-5119-A7DF-9C75BA4FA66A"><p>Provide access
 to the printer driver information contained in <filepath>.pdr</filepath> files for applications to build a printer driver list </p> </li>
 <li id="GUID-7F7C199C-EC78-565B-8CF2-3ED6212035A5"><p>Load and create
@@ -21,7 +21,8 @@
 driver, then creates a session with the font and bitmap server. This
 is detailed in the following sections. </p> </section>
 <section id="GUID-F2FBFB59-3029-50FD-8854-E734D3ACF5C0"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-b4699e53-658f-4006-a903-12af723cc33f.zip" scope="external"> PDRStore.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-b4699e53-658f-4006-a903-12af723cc33f.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7C100FE7-38EB-4EE0-9D3C-C0D209FE6BAA"><title> Create a printer driver</title> <codeblock id="GUID-0ED8C6D9-81DF-52A6-8F7F-70D21449C1A1" xml:space="preserve">void CPdrExample::CreatePrinterDriver()</codeblock> <p>This function provides the following funtionality: </p> <ul>
+<section id="GUID-7C100FE7-38EB-4EE0-9D3C-C0D209FE6BAA"><title> Create
+a printer driver</title> <codeblock id="GUID-0ED8C6D9-81DF-52A6-8F7F-70D21449C1A1" xml:space="preserve">void CPdrExample::CreatePrinterDriver()</codeblock> <p>This function provides the following funtionality: </p> <ul>
 <li id="GUID-DA7ECFC7-7728-5A57-82B7-E0330ACBE71A"><p>Opens a printer
 driver information (<filepath>.pdr</filepath>) file using <xref href="GUID-812DCC89-1897-30FE-AD96-2A35DAF437D8.dita#GUID-812DCC89-1897-30FE-AD96-2A35DAF437D8/GUID-89C95254-2667-37CD-A9DC-0DEEC77A9C82"><apiname>CPrinterDriver::OpenPdrL(const TDesC&amp;)</apiname></xref>  </p> </li>
 <li id="GUID-CF237DFC-249B-5B44-8F5F-3011A75422E3"><p>Gets the total
@@ -30,10 +31,13 @@
 <li id="GUID-8363CBE3-D404-5805-A6FF-F14B5E65D0ED"><p>Creates a printer
 device using <xref href="GUID-812DCC89-1897-30FE-AD96-2A35DAF437D8.dita#GUID-812DCC89-1897-30FE-AD96-2A35DAF437D8/GUID-225235E0-2F06-3C7F-BB2E-83A932E410B6"><apiname>CPrinterDriver::CreatePrinterDeviceL(TInt)</apiname></xref>. </p> </li>
 </ul> </section>
-<section id="GUID-DE05838E-A239-4535-849C-0F4DA4289DB0"><title>Display the supported typefaces</title> <codeblock id="GUID-95133682-4612-50F6-94F3-7FA6F5EFA54C" xml:space="preserve">void CPdrExample::DisplayTypefaces()</codeblock> <p>Gets the list of supported typefaces using <xref href="GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714.dita#GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714/GUID-CA59407C-8F11-36F0-A31C-7E7F38F1B624"><apiname>CPrinterDevice::TypefaceSupport(TTypefaceSupport
+<section id="GUID-DE05838E-A239-4535-849C-0F4DA4289DB0"><title>Display
+the supported typefaces</title> <codeblock id="GUID-95133682-4612-50F6-94F3-7FA6F5EFA54C" xml:space="preserve">void CPdrExample::DisplayTypefaces()</codeblock> <p>Gets the list of supported typefaces using <xref href="GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714.dita#GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714/GUID-CA59407C-8F11-36F0-A31C-7E7F38F1B624"><apiname>CPrinterDevice::TypefaceSupport(TTypefaceSupport
 &amp;,TInt) const</apiname></xref> and displays them. </p> </section>
-<section id="GUID-4C6EDF7D-49BE-4309-9B83-654F2EA33C08"><title>Create a printer control</title> <codeblock id="GUID-FF996CFF-8CA3-581F-824C-B76EF8EA5006" xml:space="preserve">void CPdrExample::CreatePrinterControl()</codeblock> <p>Creates a printer control using <xref href="GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714.dita#GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714/GUID-CEB04B4E-78C8-33C1-B894-1C89C65BF8C4"><apiname>CPrinterDevice::CreateControlL()</apiname></xref>. </p> </section>
-<section id="GUID-6165F5D5-FBF6-4910-B241-F9D61A4FB5C3"><title>Preparing for printing</title> <codeblock id="GUID-2BE7956F-C976-583B-8E9A-01990D7B44E1" xml:space="preserve">void CPdrExample::PrintPages()</codeblock> <p>This function prepares the printer driver for printing the pages.
+<section id="GUID-4C6EDF7D-49BE-4309-9B83-654F2EA33C08"><title>Create
+a printer control</title> <codeblock id="GUID-FF996CFF-8CA3-581F-824C-B76EF8EA5006" xml:space="preserve">void CPdrExample::CreatePrinterControl()</codeblock> <p>Creates a printer control using <xref href="GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714.dita#GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714/GUID-CEB04B4E-78C8-33C1-B894-1C89C65BF8C4"><apiname>CPrinterDevice::CreateControlL()</apiname></xref>. </p> </section>
+<section id="GUID-6165F5D5-FBF6-4910-B241-F9D61A4FB5C3"><title>Preparing
+for printing</title> <codeblock id="GUID-2BE7956F-C976-583B-8E9A-01990D7B44E1" xml:space="preserve">void CPdrExample::PrintPages()</codeblock> <p>This function prepares the printer driver for printing the pages.
 It involves the following: </p> <ul>
 <li id="GUID-73362C6E-DEC0-5842-A76E-99247F34E567"><p>Gets the number
 of bands per page using <xref href="GUID-2E0F522C-2A42-3E2E-ADE8-43398BB86906.dita#GUID-2E0F522C-2A42-3E2E-ADE8-43398BB86906/GUID-6DD8081E-C801-3B80-83FB-E613A527A274"><apiname>CPrinterControl::BandsPerPage()</apiname></xref>  </p> </li>
@@ -47,11 +51,12 @@
 print process using <xref href="GUID-2E0F522C-2A42-3E2E-ADE8-43398BB86906.dita#GUID-2E0F522C-2A42-3E2E-ADE8-43398BB86906/GUID-6714C5BC-8458-339B-8BED-DA7BE95106E7"><apiname>CPrinterControl::QueueEndPrint(TRequestStatus
 &amp;)</apiname></xref> when no more bands are available. </p> </li>
 </ul> </section>
-<section id="GUID-E2DBE267-21AE-4D47-B520-AB78F01C0BC5"><title>Class Summary</title><p><xref href="GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714.dita"><apiname>CPrinterDevice</apiname></xref></p><p><xref href="GUID-2E0F522C-2A42-3E2E-ADE8-43398BB86906.dita"><apiname>CPrinterControl</apiname></xref></p><p><xref href="GUID-812DCC89-1897-30FE-AD96-2A35DAF437D8.dita"><apiname>CPrinterDriver</apiname></xref></p><p><xref href="GUID-DAD09DCF-3123-38B4-99E9-91FB24B92138.dita"><apiname>CGraphicsContext</apiname></xref></p></section>
-<section id="GUID-F887FECF-4B72-406D-B185-6BDEC8DFE622"><title>Usage</title> <p>This is a console application, so
-does not have a GUI. It builds an executable called <filepath>pdrstoreexample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian platform
-build process</xref> describes how to build this application. After
-launching the executable, depending on the emulator you are using,
-you may need to task away from the app launcher/shell screen to view
-the console. </p> </section>
+<section id="GUID-E2DBE267-21AE-4D47-B520-AB78F01C0BC5"><title>Class
+Summary</title><p><xref href="GUID-02E9DA67-8CC0-3785-B917-A14C8AA7E714.dita"><apiname>CPrinterDevice</apiname></xref></p><p><xref href="GUID-2E0F522C-2A42-3E2E-ADE8-43398BB86906.dita"><apiname>CPrinterControl</apiname></xref></p><p><xref href="GUID-812DCC89-1897-30FE-AD96-2A35DAF437D8.dita"><apiname>CPrinterDriver</apiname></xref></p><p><xref href="GUID-DAD09DCF-3123-38B4-99E9-91FB24B92138.dita"><apiname>CGraphicsContext</apiname></xref></p></section>
+<section id="GUID-F887FECF-4B72-406D-B185-6BDEC8DFE622"><title>Usage</title> <p>This is a console application, so does not have a GUI. It builds
+an executable called <filepath>pdrstoreexample.exe</filepath> in the
+standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for CodeWarrior). The Symbian platform build
+process describes how to build this application. After launching the
+executable, depending on the emulator you are using, you may need
+to task away from the app launcher/shell screen to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A2031A61-3319-4FBA-BC71-AC1327182053.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A2031A61-3319-4FBA-BC71-AC1327182053.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 and Standard Template Library Documentation</title><p>C++ IOStream library
 documentation can be found at <xref href="http://www.slac.stanford.edu/comp/unix/gnu-info/iostream_toc.html" scope="external">http://www.slac.stanford.edu/comp/unix/gnu-info/iostream_toc.html</xref>.</p><p>Similarly,
 Standard Template Library (STL) documentation can be found at <xref href="http://www.informatik.uni-freiburg.de/~danlee/fun/STL-doc/STL.html" scope="external">http://www.informatik.uni-freiburg.de/~danlee/fun/STL-doc/STL.html</xref>.</p></section>
-<section id="GUID-BF521201-7BE5-4AC5-8D35-1E15AC4887C7-GENID-1-12-1-13-1-1-9-1-5-1-3-2"><title>Changes to
+<section id="GUID-BF521201-7BE5-4AC5-8D35-1E15AC4887C7-GENID-1-12-1-14-1-1-9-1-5-1-3-2"><title>Changes to
 the MMP file</title><p><b>Add needed libraries used by the MMP file structure: </b></p><p>If
 developers want to use any of Standard C++ library, they must link to the
 corresponding library in the MMP file using the <codeph>LIBRARY</codeph> keyword.</p><p>If
@@ -53,7 +53,7 @@
 more stack space. The recommended stack size is 10K. To set the stack size
 to 10K add: </note><codeblock xml:space="preserve">EPOCSTACKSIZE 0x10000</codeblock><p>in the MMP
 file.</p></section>
-<section id="GUID-BF521201-7BE5-4AC5-8D35-1E15AC4887C7-GENID-1-12-1-13-1-1-9-1-5-1-3-3"><title>Example using <codeph>main()</codeph></title> 
+<section id="GUID-BF521201-7BE5-4AC5-8D35-1E15AC4887C7-GENID-1-12-1-14-1-1-9-1-5-1-3-3"><title>Example using <codeph>main()</codeph></title> 
      <p>A simple example using <codeph>main()</codeph> as an entry point is
 described below. The example writes a text to a console.</p><ul>
 <li><p>Modify the MMP file as mentioned before.</p></li>
--- a/Symbian3/PDK/Source/GUID-A25FE08D-F91E-5C77-969D-569941974E6E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A25FE08D-F91E-5C77-969D-569941974E6E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-A25FE08D-F91E-5C77-969D-569941974E6E" xml:lang="en"><title>LBS
 Integration and Configuration Guide Overview</title><shortdesc>This document gives an overview of how device creators integrate
 the LBS subsystem into their products. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-18-1-1-6-1-4-1-3-1"><title>Introduction</title> <p>A
+<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-19-1-1-6-1-4-1-3-1"><title>Introduction</title> <p>A
 device creator must complete a set of tasks to create a working LBS subsystem
 that can be used in a product. The precise configuration of the LBS subsystem
 depends on which features of LBS are required. </p> <p>The documents in this
@@ -21,7 +21,7 @@
 <section><title>Required background</title> <p>Read <xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS
 Architecture Overview</xref> for background information on the components
 of LBS on the Symbian platform. </p> </section>
-<section id="GUID-939FFCE6-1155-5539-8B04-8DB2A0980514-GENID-1-12-1-18-1-1-6-1-4-1-3-3"><title>LBS configurations</title> <p>There
+<section id="GUID-939FFCE6-1155-5539-8B04-8DB2A0980514-GENID-1-12-1-19-1-1-6-1-4-1-3-3"><title>LBS configurations</title> <p>There
 are two main LBS subsystem configurations that a device creator can build.
 Follow the links for more information on each of these. </p> <ol id="GUID-22BEA62D-8B74-5574-A40F-4CC256A46D9D">
 <li id="GUID-C06B3933-B761-548A-97F2-3484A31274C2"><p><xref href="GUID-A898867E-0C50-583E-979F-132504C24C9A.dita">Full
--- a/Symbian3/PDK/Source/GUID-A27A05A2-B161-54D2-92E0-8620B01BFD44.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A27A05A2-B161-54D2-92E0-8620B01BFD44"><title>Polymorphic DLL targettype summary</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The following table summarises the polymorphic DLL types to which the build tools give special support through the <codeph>targettype</codeph> keyword. Projects using one of these target types do not require a DEF file to specify the frozen exports: the build tools will assume the correct frozen exports for the type.</p> <table id="GUID-7ADE0A48-160D-5F33-913A-AEF56C119A46"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><tbody><row><entry><p><b>Description</b> </p> </entry> <entry><p><b>Target type</b> </p> </entry> <entry><p><b>UID2</b> </p> </entry> </row> <row><entry><p>animation</p> </entry> <entry><p>ani</p> </entry> <entry><p>0x10003b22</p> </entry> </row> <row><entry><p>file system</p> </entry> <entry><p>fsy</p> </entry> <entry><p>0x100039df</p> </entry> </row> <row><entry><p>ECom plug-in</p> </entry> <entry><p>PLUGIN</p> </entry> <entry><p>0x10009D8D</p> </entry> </row> <row><entry><p>front-end processor</p> </entry> <entry><p>fep</p> </entry> <entry><p>0x10005e32</p> </entry> </row> <row><entry><p>notifier for text window server</p> </entry> <entry><p>TEXTNOTIFIER2</p> </entry> <entry><p>0x101fe38b</p> </entry> </row> <row><entry><p>printer device</p> </entry> <entry><p>PDL</p> </entry> <entry><p>0x10003b1c</p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A29FD82C-B3CC-5862-8DAB-1398A61D8B1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A29FD82C-B3CC-5862-8DAB-1398A61D8B1F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,7 +62,7 @@
 <li id="GUID-B6E46736-A250-5064-B4F8-595A20025478"><p> <xref href="GUID-A29FD82C-B3CC-5862-8DAB-1398A61D8B1F.dita#GUID-A29FD82C-B3CC-5862-8DAB-1398A61D8B1F/GUID-B71BC486-18C2-5E71-965E-0881FBA9CE85">Managing HTTP digest security settings</xref>  </p> </li>
 </ul> <p id="GUID-581B8017-EAA0-59CB-A9CB-490370E0CEC9"><b> CSIP, MSIPObserver,
 CSIPConnection and MSIPConnectionObserver </b> </p> <fig id="GUID-0834012C-083F-5FA0-B29D-E3E852165528">
-<image href="GUID-4381EA7F-BE75-5B43-BE97-C97D71D04377_d0e546710_href.png" placement="inline"/>
+<image href="GUID-4381EA7F-BE75-5B43-BE97-C97D71D04377_d0e554166_href.png" placement="inline"/>
 </fig> <p>An application creates a single instance of the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> class,
 and implements the callback functions defined by <xref href="GUID-C6FF4A83-0097-3A82-B4ED-802E1FEA05D1.dita"><apiname>MSIPObserver</apiname></xref>.
 The <codeph>CSIP</codeph> uses the <codeph>MSIPObserver</codeph> functions.
@@ -76,14 +76,14 @@
 application can have many <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> objects, but each
 of them must have a different IAP. </p> <p id="GUID-0E726099-31C4-5DD4-9AEA-67765589F462"><b>Registration
 services</b> </p> <fig id="GUID-63E38B2E-975E-554C-8EDC-65B8BBA86838">
-<image href="GUID-E4543D60-A9D0-5121-9540-993BB15D3275_d0e546767_href.png" placement="inline"/>
+<image href="GUID-E4543D60-A9D0-5121-9540-993BB15D3275_d0e554223_href.png" placement="inline"/>
 </fig> <p>An existing <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> is required to create
 an instance of <codeph>CSIPRegistrationBinding</codeph>. The <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> class
 provides services for registration, updating the registration, and deregistration.
 This class also provides instructions to the SIP stack to automatically refresh
 the registration, and to query and set the outbound proxy used by the registration. </p> <p id="GUID-80CE8929-9DFD-5DCA-A929-662BD996223B"><b> SIP dialog
 associations</b> </p> <fig id="GUID-4870BE80-44B6-50F0-B77E-73FEAD136304">
-<image href="GUID-17D1489B-F7F7-5CA7-9F81-850AA9ACEFEB_d0e546792_href.png" placement="inline"/>
+<image href="GUID-17D1489B-F7F7-5CA7-9F81-850AA9ACEFEB_d0e554248_href.png" placement="inline"/>
 </fig> <p> <xref href="GUID-9841AF1A-B8CF-3BA1-8445-93064549AE8C.dita"><apiname>CSIPDialogAssocBase</apiname></xref> is the base class for SIP
 dialog associations, such as <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref>, <xref href="GUID-9539CAEE-28AE-3134-8415-EEBCBCDA4D18.dita"><apiname>CSIPSubscribeDialogAssoc</apiname></xref>, <xref href="GUID-2E7EF887-ED59-3E8A-B9A2-686DF879A16C.dita"><apiname>CSIPReferDialogAssoc</apiname></xref> and <xref href="GUID-72F96612-A95C-3066-BFF0-2E288C945A2A.dita"><apiname>CSIPNotifyDialogAssoc</apiname></xref>. The <xref href="GUID-9841AF1A-B8CF-3BA1-8445-93064549AE8C.dita"><apiname>CSIPDialogAssocBase</apiname></xref> class
 is used to obtain the associated SIP dialog, for the associated <xref href="GUID-382BC1BE-3CF3-3E81-B1FF-341EEF2B67EA.dita"><apiname>CSIPDialog</apiname></xref> instance,
@@ -104,7 +104,7 @@
 an application to define and send NOTIFY requests. </p> </li>
 </ul> <p id="GUID-B0D208E4-D1F9-5C5F-B937-11118E778074"><b>Sent and received
 network requests</b> </p> <fig id="GUID-2E0C9020-1863-5644-BF7E-62B4DB9104D2">
-<image href="GUID-F5A82F61-B93A-5652-93A4-B9CE877B4D4A_d0e546929_href.png" placement="inline"/>
+<image href="GUID-F5A82F61-B93A-5652-93A4-B9CE877B4D4A_d0e554385_href.png" placement="inline"/>
 </fig> <p>When a SIP request is sent to the network, the SIP Client API implementation
 creates a <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and returns it to
 the application. A <codeph>CSIPClientTransaction</codeph> object represents
@@ -122,7 +122,7 @@
 the transaction type. Some operations are only allowed when the transaction
 is in a certain state. <b>Note:</b> The SIP Client API creates instances of <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> and <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> and they cannot be created by the application. </p> <p id="GUID-0427709F-CD4B-5363-9377-10402B8A5819"><b>SIP
 message related classes</b> </p> <fig id="GUID-B99CF040-E91F-5281-8AAC-2151049C0EA8">
-<image href="GUID-6290D35A-7A41-5B9E-882A-E14F6D165ED7_d0e547006_href.png" placement="inline"/>
+<image href="GUID-6290D35A-7A41-5B9E-882A-E14F6D165ED7_d0e554462_href.png" placement="inline"/>
 </fig> <p>When a SIP request is sent to the network, the SIP Client API implementation
 creates a <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and returns it to
 the application. A <codeph>CSIPClientTransaction</codeph> object represents
@@ -140,7 +140,7 @@
 transaction type. Some operations are only allowed when the transaction is
 in a certain state. <b>Note:</b> The SIP Client API creates instances of <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> and <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> and they cannot be created by the application. </p> <p id="GUID-4E4FAFCA-0BF6-510C-B8E3-28A83936A154"><b> Automatically
 refreshing a SIP request</b> </p> <fig id="GUID-49ACB697-512C-5FCF-AD48-20D6AAB0FEFC">
-<image href="GUID-6B9E5B8D-E2F7-5972-ABFB-49F7F466EBBD_d0e547082_href.png" placement="inline"/>
+<image href="GUID-6B9E5B8D-E2F7-5972-ABFB-49F7F466EBBD_d0e554538_href.png" placement="inline"/>
 </fig> <p>The SIP stack automatically refreshes a SIP request using the <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object. <codeph>REGISTER</codeph>, <codeph>SUBSCRIBE</codeph> and a request outside the dialog are refreshed. After
 sending a refresh request, the application queries the state of the refresh
 from <codeph>CSIPRefresh</codeph>. </p> <p> <codeph>CSIPRefresh</codeph> provides
@@ -148,7 +148,7 @@
 dialog. The <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> and <xref href="GUID-9539CAEE-28AE-3134-8415-EEBCBCDA4D18.dita"><apiname>CSIPSubscribeDialogAssoc</apiname></xref> classes
 are used to update and terminate a refreshed <codeph>REGISTER</codeph> or <codeph>SUBSCRIBE</codeph>. </p> <p id="GUID-B71BC486-18C2-5E71-965E-0881FBA9CE85"><b> Managing HTTP digest security
 settings </b> </p> <fig id="GUID-7C296C1B-67E3-569F-A5E9-92A4F7922088">
-<image href="GUID-1704898B-7836-53C2-8743-F733836EDE7B_d0e547128_href.png" placement="inline"/>
+<image href="GUID-1704898B-7836-53C2-8743-F733836EDE7B_d0e554584_href.png" placement="inline"/>
 </fig> <p>An application must create an instance of the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> class
 to use <codeph>CSIPHttpDigest</codeph>. The <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> class
 manages HTTP digest security settings and contains only static functions. </p> </section>
Binary file Symbian3/PDK/Source/GUID-A2EFD9AD-F230-545C-8C5D-193F717B9FE2_d0e61750_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A2EFD9AD-F230-545C-8C5D-193F717B9FE2_d0e65984_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A2F691C8-9525-4028-BF82-70E9D50630C6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A2F691C8-9525-4028-BF82-70E9D50630C6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,8 +15,8 @@
 prompt the user to select the connection.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context id="GUID-0577782B-4D55-42BF-8028-8531DF343265">       <p>To prompt
 the user select the destination network:</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-7-1-5-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-7-1-5-1-3-2-1"><cmd>Start the connection
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-7-1-5-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-7-1-5-1-3-2-1"><cmd>Start the connection
 with <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-A299EA7A-29FD-30B4-A077-762200433627"><apiname>RConnection::Start(ECommDbDialogPrefPrompt)</apiname></xref>.  RConnection
 handle is returned to the application. </cmd>
 </step>
Binary file Symbian3/PDK/Source/GUID-A308643D-6EEA-5C41-BD9C-5DA76EE83BA6_d0e200369_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A308643D-6EEA-5C41-BD9C-5DA76EE83BA6_d0e206378_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e597123_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e615507_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e625017_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A328F9E3-7D91-594A-A589-E8CE5FA9227A_d0e296153_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A328F9E3-7D91-594A-A589-E8CE5FA9227A_d0e302145_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A3301ED7-8FD5-580B-B365-4BE12FF2F3AA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A3301ED7-8FD5-580B-B365-4BE12FF2F3AA"><title>source</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>source</codeph>  <varname>source-file-list</varname> </p> <p>Use the <codeph>source</codeph> statement to specify source files.</p> <p>Each <codeph>source</codeph> statement may specify an arbitrary number of source files. Each source file should be specified including its extension, e.g. <filepath>hello.cpp</filepath>. </p> <p>There may be an arbitrary number of <codeph>source</codeph> statements in the project description file relative to each <codeph>sourcepath</codeph>.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e1644_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e1648_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A36B7C77-F0F7-599A-83BC-26B4A80496BD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A36B7C77-F0F7-599A-83BC-26B4A80496BD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 diagram below illustrates the key relationships between the MIME Content Policy
 utility and the other subsystems: </p> <fig id="GUID-C81CE8AB-E02D-5D7D-931F-9FC5D3A26F3D">
 <title>              Class diagram of the MIME Content Policy            </title>
-<image href="GUID-E08D9F14-F50A-56C7-9D95-9306E540A02C_d0e167315_href.png" placement="inline"/>
+<image href="GUID-E08D9F14-F50A-56C7-9D95-9306E540A02C_d0e173408_href.png" placement="inline"/>
 </fig> <table id="GUID-AFE0184C-15E9-508D-A98A-988F3BAD5E3B">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
--- a/Symbian3/PDK/Source/GUID-A3B58436-07E4-565B-800B-86435D205461.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A3B58436-07E4-565B-800B-86435D205461.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 bottoms out when an entity which is already trusted is reached; that entity
 is usually self signed. This process is illustrated in the figure below: </p> <fig id="GUID-A0956B2A-B12F-58E1-9172-C1EDBBE593CE">
 <title>              Certificate chain            </title>
-<image href="GUID-EA5E9A07-587C-5E64-A157-1077AD9E56ED_d0e631967_href.png" placement="inline"/>
+<image href="GUID-EA5E9A07-587C-5E64-A157-1077AD9E56ED_d0e604073_href.png" placement="inline"/>
 </fig> <p>The set of certificates from an EE up to a trusted root CA certificate
 is called a <keyword>certificate chain</keyword>. Once a certificate chain
 has been constructed ,the EE's key pair at the start can be validated. </p> </section>
--- a/Symbian3/PDK/Source/GUID-A3E77067-7982-5803-A274-0C8F2562B483.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A3E77067-7982-5803-A274-0C8F2562B483" xml:lang="en"><title>Unified Trace Solution</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This guide provides a detailed overview of the Unified Trace solution, and guidelines on how to use it. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A3EBB297-1494-579C-83D5-8FDBBD01B674.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A3EBB297-1494-579C-83D5-8FDBBD01B674.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
     
 // blit only the piece of the bitmap indicated by bmpPieceRect
 TPoint pos(100,100);
-gc.BitBlt(pos, bitmap, bmpPieceRect);</codeblock> </section> <section id="GUID-22430013-D8A8-5A09-8DD9-D95A6EF00B2D"><title>Masked bitmap block transfer</title> <p>Masks can be used to select which parts of a bitmap are drawn by <codeph>CBitmapContext::BitBltMasked()</codeph>. </p> <p>Masks can be used to not display pixels of the source bitmap if their corresponding mask pixel is black, or, alternatively, where the mask is white (called an inverted mask). </p> <p>The following figure shows successively a source bitmap, a mask, and the outcome when they are blitted with <codeph>BitBltMasked()</codeph>. </p> <fig id="GUID-425B6A42-6B3B-5FE4-BDD6-59CD7E695C4A"><image href="GUID-D1E80B1B-FBFD-5FBC-981C-E2D04A02EF41_d0e263227_href.png" placement="inline"/></fig> <codeblock id="GUID-8D967F91-A768-5DA7-A7D7-D5CA2D40B8D9" xml:space="preserve">// Load the mask bitmap, just like any other
+gc.BitBlt(pos, bitmap, bmpPieceRect);</codeblock> </section> <section id="GUID-22430013-D8A8-5A09-8DD9-D95A6EF00B2D"><title>Masked bitmap block transfer</title> <p>Masks can be used to select which parts of a bitmap are drawn by <codeph>CBitmapContext::BitBltMasked()</codeph>. </p> <p>Masks can be used to not display pixels of the source bitmap if their corresponding mask pixel is black, or, alternatively, where the mask is white (called an inverted mask). </p> <p>The following figure shows successively a source bitmap, a mask, and the outcome when they are blitted with <codeph>BitBltMasked()</codeph>. </p> <fig id="GUID-425B6A42-6B3B-5FE4-BDD6-59CD7E695C4A"><image href="GUID-D1E80B1B-FBFD-5FBC-981C-E2D04A02EF41_d0e269227_href.png" placement="inline"/></fig> <codeblock id="GUID-8D967F91-A768-5DA7-A7D7-D5CA2D40B8D9" xml:space="preserve">// Load the mask bitmap, just like any other
 CFbsBitmap* maskBitmap = new (ELeave) CFbsBitmap();
 CleanupStack::PushL(maskBitmap);
 User::LeaveIfError(maskBitmap-&gt;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A3F8A323-EF4B-537F-A3D1-27A2048D5A11.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-A3F8A323-EF4B-537F-A3D1-27A2048D5A11"><title>Universal Software Install Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>USIF provides uniform standard interfaces for installing, registering, verifying, restoring and uninstalling software packages on a device, such as SIS files. </p> <section id="GUID-C173A2AB-C157-451B-96A8-02581C0F32F3"><title>Description</title> <p>USIF provides support for three areas of functionality: </p> <ul><li id="GUID-65FEEB4B-F17D-5325-9CAA-73FEFEC9F967"><p> <b>Install and Uninstall</b>: USIF provides a standard interfaces for installing, upgrading or uninstalling software components on a phone. Plug-in software installers can be created for different package formats </p> </li> <li id="GUID-4A22ABBB-5EDC-51C0-A0F0-C33592A0AE95"><p> <b>Transaction support</b>: USIF maintains the integrity of the file system by using atomic file system transactions during installation. Transactions are committed on success or rolled back on failure. </p> </li> <li id="GUID-115F6021-837E-58DD-8D10-A49A7781C368"><p> <b>Software component management registration</b>: This involves Software Component Registry (SCR) , which USIF uses to maintain a registry for managing of both native and non-native software packages installed on the phone. </p> </li> </ul> </section> <section id="GUID-B6242A22-0EBA-4ADC-9F32-83045E687C46"><title>Components</title> <p>USIF includes the following components: </p> <ul><li id="GUID-BA3F62D7-987D-59BD-90AE-606DBE3DB695"><p> <b>Software Installation Framework (SIF)</b>: The Software Installation Framework (SIF) provides a uniform API for managing installation, uninstallation or upgrading of software on a device phone. </p> </li> <li id="GUID-2F6F58CA-7DC0-5ACA-98EA-83F7221D03D7"><p> <b>Software Transaction Services (STS)</b>: Software Transaction Services (STS) help applications to maintain file system integrity during the installation. STS helps restoration of a file system if an installation gets interrupted or fails for any reason, such as battery drain or server crash. </p> </li> <li id="GUID-56A2D6B6-7F91-55FA-829C-860B3A829CDC"><p> <b>Software Component Registry (SCR)</b>: The Software Component Registry (SCR) is a unified registry for managing native components and packages (installed using SIS files), and non-native software packages, such as SIS installer and Python. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-016876C8-7E13-5A3E-9A15-992B7EEEEA38.dita"><linktext>SCR</linktext> </link> <link href="GUID-9CB23B06-07E9-5927-AB79-D1FC28B42DFE.dita"><linktext>SIF</linktext> </link> <link href="GUID-16406797-20EA-5469-B036-0B46B6162385.dita"><linktext>STS</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A40C75A2-59FF-5472-B279-8B5FBFF68794.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A40C75A2-59FF-5472-B279-8B5FBFF68794.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -50,7 +50,7 @@
 client application and the server-side CRP work together: </p> <fig id="GUID-DCD46D7C-575D-5F96-B9AF-118FEB6DA8DC">
 <title>              Figure 1: Relationship of a client application and the
 CRP            </title>
-<image href="GUID-C8AD9E54-F93D-5E04-A958-95934D29180B_d0e245295_href.png" placement="inline"/>
+<image href="GUID-C8AD9E54-F93D-5E04-A958-95934D29180B_d0e251306_href.png" placement="inline"/>
 </fig> <dl>
 <dlentry>
 <dt>Client UI application</dt>
--- a/Symbian3/PDK/Source/GUID-A4426CEC-80F1-53F4-8838-D069FA758ACD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A4426CEC-80F1-53F4-8838-D069FA758ACD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,49 +1,38 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A4426CEC-80F1-53F4-8838-D069FA758ACD" xml:lang="en"><title>FontsShell:
-fonts</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <b>Note: </b> This example is designed to work with TechView and there
-is no guarantee that it will work with other interfaces. </p>
-<section id="GUID-BA7FCDDA-EEBC-4F30-9231-F8BBD591B2C8"><title>Description</title> <p> <filepath>FontsShell</filepath> provides
-an application shell and two concrete controls. </p> <p> <codeph>CGraphicExampleControl</codeph> is
-a control class, derived from <codeph>CCoeControl</codeph>, which links the
-app shell to the particular controls. </p> <p> <codeph>CHelloControl</codeph> illustrates
-the drawing of text using a standard font. </p> <p> <codeph>CFontControl</codeph> illustrates
-the use of fonts. </p> </section>
-<section id="GUID-E921AEBD-1CF2-433F-A411-630F1BB0F813"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e6602c15-dd08-48ac-8e9a-9f6c0a47cd80.zip" scope="external">Fonts.zip</xref></p>Download some additional files required
-by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e6602c15-dd08-48ac-8e9a-9f6c0a47cd80.html" scope="peer">browse</xref> to view the example code. </p>View the additional
-files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>.  </section>
-<section id="GUID-C9EE4056-9EC4-4E07-B231-BCEC14A0CDE9"><title>Class Summary</title><p>By the hello control: </p><p><xref href="GUID-101762DC-E498-3325-88AB-B0FF17DC62B6.dita"><apiname>TRect </apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-2A12FE3B-47F2-3016-8161-A971CA506491.dita"><apiname>CFont</apiname></xref></p><p>By the fonts control: </p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-BC6BFC0A-B748-3545-8A14-D79F98338CBA.dita"><apiname>TTypefaceSupport</apiname></xref></p><p><xref href="GUID-052E4F6B-71C5-304C-B387-07A2F6F9900B.dita"><apiname>TFontSpec</apiname></xref></p><p><xref href="GUID-DDE4C9C0-7218-385E-B239-0DEFDE19FCCC.dita"><apiname>TZoomFactor</apiname></xref></p><p><xref href="GUID-4791F2C1-C351-3824-8784-3161F5B65DCA.dita"><apiname>MGraphicsDeviceMap</apiname></xref></p></section>
-<section id="GUID-A6F192DA-11E5-4897-B032-B0CA1F55CFB8"><title>Build</title> <p>The source code for this example application
-can be found in the directory: </p> <p> <filepath>examples\Graphics\Fonts</filepath>  </p> <p>This
-source code may be in the directory in which you installed the Symbian platform,
-or it may be in the <filepath>src\common\developerlibrary\</filepath> directory.
-The directory includes the two project files needed for building the example: <filepath>bld.inf</filepath> and
-the <filepath>.mmp</filepath> file. </p> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this application. For
-the emulator, an application called <filepath>FontsShell.exe</filepath> is
-created in <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath>. </p> </section>
-<section id="GUID-41DF9792-0202-4FF4-9661-3BA4A5952E92"><title>Usage</title> <ol id="GUID-DCDC0027-6DFA-55F7-90CB-2FEA09F27A5A">
-<li id="GUID-FB26843D-A42C-5725-B9E3-4F5DF55AC8B6"><p>Launch the emulator: </p> <p> <filepath>\epoc32\release\winscw\&lt;urel
-or udeb&gt;\EPOC.EXE</filepath>. </p> </li>
-<li id="GUID-29CD7693-CAE2-5FD2-9F60-D776A4C7AE98"><p>Click on <systemoutput>FONTSSHELL</systemoutput> to
-run the application. If using the <i>TechView</i> emulator, this will be in
-the <i>Extras</i> menu. </p> </li>
-<li id="GUID-5F43BCA0-8A25-5241-8C69-F3708F794E14"><p>The controls are listed
-on the menu <systemoutput>List of                 Programs</systemoutput>.
-Press the appropriate menu item to select a specific control. </p> </li>
-<li id="GUID-94E5BAF0-FC69-52BA-941C-C10ED6A74EF9"><p>Step through each phase
-of the example by pressing the space bar or by tapping on the window drawn
-by that example. </p> </li>
-</ol> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A4426CEC-80F1-53F4-8838-D069FA758ACD" xml:lang="en"><title>FontsShell: fonts</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> <b>Note: </b> This example is designed to work with TechView and
+there is no guarantee that it will work with other interfaces. </p>
+<section id="GUID-BA7FCDDA-EEBC-4F30-9231-F8BBD591B2C8"><title>Description</title> <p> <filepath>FontsShell</filepath> provides an application shell
+and two concrete controls. </p> <p> <codeph>CGraphicExampleControl</codeph> is a control class, derived from <codeph>CCoeControl</codeph>, which
+links the app shell to the particular controls. </p> <p> <codeph>CHelloControl</codeph> illustrates the drawing of text using a standard font. </p> <p> <codeph>CFontControl</codeph> illustrates the use of fonts. </p> </section>
+<section id="GUID-E921AEBD-1CF2-433F-A411-630F1BB0F813"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e6602c15-dd08-48ac-8e9a-9f6c0a47cd80.zip" scope="external">Fonts.zip</xref></p>Download some additional files
+required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e6602c15-dd08-48ac-8e9a-9f6c0a47cd80.html" scope="peer">browse</xref> to view the example code. </p>View the
+additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>.  </section>
+<section id="GUID-C9EE4056-9EC4-4E07-B231-BCEC14A0CDE9"><title>Class
+Summary</title><p>By the hello control: </p><p><xref href="GUID-101762DC-E498-3325-88AB-B0FF17DC62B6.dita"><apiname>TRect </apiname></xref></p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-2A12FE3B-47F2-3016-8161-A971CA506491.dita"><apiname>CFont</apiname></xref></p><p>By the fonts control: </p><p><xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref></p><p><xref href="GUID-BC6BFC0A-B748-3545-8A14-D79F98338CBA.dita"><apiname>TTypefaceSupport</apiname></xref></p><p><xref href="GUID-052E4F6B-71C5-304C-B387-07A2F6F9900B.dita"><apiname>TFontSpec</apiname></xref></p><p><xref href="GUID-DDE4C9C0-7218-385E-B239-0DEFDE19FCCC.dita"><apiname>TZoomFactor</apiname></xref></p><p><xref href="GUID-4791F2C1-C351-3824-8784-3161F5B65DCA.dita"><apiname>MGraphicsDeviceMap</apiname></xref></p></section>
+<section id="GUID-A6F192DA-11E5-4897-B032-B0CA1F55CFB8"><title>Build</title> <p>The source code for this example application can be found in
+the directory: </p> <p> <filepath>examples\Graphics\Fonts</filepath>  </p> <p>This source code may be in the directory in which you installed
+the Symbian platform, or it may be in the <filepath>src\common\developerlibrary\</filepath> directory. The directory includes the two project files needed for
+building the example: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> The Symbian build process describes
+how to build this application. For the emulator, an application called <filepath>FontsShell.exe</filepath> is created in <filepath>epoc32\release\winscw\&lt;udeb
+or urel&gt;\</filepath>. </p> </section>
+<section id="GUID-41DF9792-0202-4FF4-9661-3BA4A5952E92"><title>Usage</title> <ol id="GUID-DCDC0027-6DFA-55F7-90CB-2FEA09F27A5A">
+<li id="GUID-FB26843D-A42C-5725-B9E3-4F5DF55AC8B6"><p>Launch the emulator: </p> <p> <filepath>\epoc32\release\winscw\&lt;urel or udeb&gt;\EPOC.EXE</filepath>. </p> </li>
+<li id="GUID-29CD7693-CAE2-5FD2-9F60-D776A4C7AE98"><p>Click on <systemoutput>FONTSSHELL</systemoutput> to run the application. If using the <i>TechView</i> emulator, this will be in the <i>Extras</i> menu. </p> </li>
+<li id="GUID-5F43BCA0-8A25-5241-8C69-F3708F794E14"><p>The controls
+are listed on the menu <systemoutput>List of                 Programs</systemoutput>. Press the appropriate menu item to select a specific control. </p> </li>
+<li id="GUID-94E5BAF0-FC69-52BA-941C-C10ED6A74EF9"><p>Step through
+each phase of the example by pressing the space bar or by tapping
+on the window drawn by that example. </p> </li>
+</ol> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A4559463-7665-5733-9AEB-2316C991AE76_d0e608818_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A4559463-7665-5733-9AEB-2316C991AE76_d0e647980_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-A467E933-C4B4-5518-96D6-471E44B216B3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A467E933-C4B4-5518-96D6-471E44B216B3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-A467E933-C4B4-5518-96D6-471E44B216B3"><title> Advanced Pond Guide</title><shortdesc>This topic describes Comms ponds in more detail. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-504F0262-7142-5AE0-8E56-675028D7711B"><title>APIs</title> <p>The following diagram is a partial representation of the class relationships for <xref href="GUID-F5B96520-E8A6-3775-9059-DF5A1668043B.dita"><apiname>RCommsBufPond</apiname></xref>. </p> <fig id="GUID-ECAD1BBF-7319-53E5-9719-0BEEE52CFC0D"><title>
              Comms pond 
-          </title> <image href="GUID-581FB79B-2DB9-5AB8-AB32-997B05A62070_d0e137842_href.png" placement="inline"/></fig> <p> </p> <p>An <xref href="GUID-F5B96520-E8A6-3775-9059-DF5A1668043B.dita"><apiname>RCommsBufPond</apiname></xref> instance manages a number of memory pools. Each pool contains buffers of identical size. </p> <p>The Comms Data Plane uses chains of buffers to transfer data up and down the stack. For more information about buffers and chains, see <xref href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita">Comms Buffers (MBuf) and Comms Chains</xref>. </p> </section> <section id="GUID-7BA25CFC-91A4-5A72-A281-FE1CD89179A1"><title>Lifecycle</title> <ol id="GUID-FC7EDD22-6ADB-566F-9DD0-C2B001B86474"><li id="GUID-A0EA1F6F-2E8C-5A0E-AACB-AF799D3B6B27"><p> <codeph>c32start.exe</codeph> reads the pond configuration stored in the <codeph>c32start.ini</codeph> file (see <xref href="GUID-6FEE5676-8BFB-53E6-A652-7178295C342E.dita">Pond Configuration Reference</xref>). </p> </li> <li id="GUID-8DF535A1-CE52-575A-85A1-4A88DC275E6C"><p> <codeph>c32start.exe</codeph> provides the configuration information to the Root Server when initializing it. For more information about the C32 process, see <xref href="GUID-2FED5145-58E4-5560-8E52-6BD499EECE13.dita">Root Server</xref>. </p> </li> <li id="GUID-7D3ED0BE-2616-53A2-9F75-EA3FB491586B"><p>The Root Server creates the pond with the specified pools. </p> </li> <li id="GUID-B9989E00-6052-5D0E-B273-69FDF36C4A74"><p>The Root Server puts the pond handle in the TLS of each thread in <codeph>c32exe.exe</codeph> (see <xref href="GUID-F2E86FB3-C634-5CF9-87B2-EAB18BF25C4B.dita">TLS Look-up Reduction Tutorial</xref>). </p> </li> </ol> <fig id="GUID-7DB5C332-6F20-5C84-892A-FBEE2B7A6F25"><image href="GUID-6E3AF264-6149-51FA-BBA0-68E2DB679048_d0e137909_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita"><linktext>Overview</linktext> </link> <link href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita"><linktext>Comms Buffers (MBuf)
+          </title> <image href="GUID-581FB79B-2DB9-5AB8-AB32-997B05A62070_d0e140091_href.png" placement="inline"/></fig> <p> </p> <p>An <xref href="GUID-F5B96520-E8A6-3775-9059-DF5A1668043B.dita"><apiname>RCommsBufPond</apiname></xref> instance manages a number of memory pools. Each pool contains buffers of identical size. </p> <p>The Comms Data Plane uses chains of buffers to transfer data up and down the stack. For more information about buffers and chains, see <xref href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita">Comms Buffers (MBuf) and Comms Chains</xref>. </p> </section> <section id="GUID-7BA25CFC-91A4-5A72-A281-FE1CD89179A1"><title>Lifecycle</title> <ol id="GUID-FC7EDD22-6ADB-566F-9DD0-C2B001B86474"><li id="GUID-A0EA1F6F-2E8C-5A0E-AACB-AF799D3B6B27"><p> <codeph>c32start.exe</codeph> reads the pond configuration stored in the <codeph>c32start.ini</codeph> file (see <xref href="GUID-6FEE5676-8BFB-53E6-A652-7178295C342E.dita">Pond Configuration Reference</xref>). </p> </li> <li id="GUID-8DF535A1-CE52-575A-85A1-4A88DC275E6C"><p> <codeph>c32start.exe</codeph> provides the configuration information to the Root Server when initializing it. For more information about the C32 process, see <xref href="GUID-2FED5145-58E4-5560-8E52-6BD499EECE13.dita">Root Server</xref>. </p> </li> <li id="GUID-7D3ED0BE-2616-53A2-9F75-EA3FB491586B"><p>The Root Server creates the pond with the specified pools. </p> </li> <li id="GUID-B9989E00-6052-5D0E-B273-69FDF36C4A74"><p>The Root Server puts the pond handle in the TLS of each thread in <codeph>c32exe.exe</codeph> (see <xref href="GUID-F2E86FB3-C634-5CF9-87B2-EAB18BF25C4B.dita">TLS Look-up Reduction Tutorial</xref>). </p> </li> </ol> <fig id="GUID-7DB5C332-6F20-5C84-892A-FBEE2B7A6F25"><image href="GUID-6E3AF264-6149-51FA-BBA0-68E2DB679048_d0e140158_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita"><linktext>Overview</linktext> </link> <link href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita"><linktext>Comms Buffers (MBuf)
                 and Comms Chains</linktext> </link> <link href="GUID-6FEE5676-8BFB-53E6-A652-7178295C342E.dita"><linktext>Pond Configuration
                 Reference</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A4799558-AF8C-5E97-9B03-7D1C04FEC243.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A4799558-AF8C-5E97-9B03-7D1C04FEC243.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,7 +37,7 @@
 ...
 </codeblock> <p>The dotted line in the following diagram shows the effect
 of this:</p> <fig id="GUID-731954F6-D85E-5940-96A4-15AC6E3AA5F5">
-<image href="GUID-5BABDDEC-1D81-5847-9ADB-65DF8E404BFA_d0e332479_href.png" placement="inline"/>
+<image href="GUID-5BABDDEC-1D81-5847-9ADB-65DF8E404BFA_d0e338451_href.png" placement="inline"/>
 </fig> <p>Note that for process-relative handles, there is no need to use <codeph>Duplicate()</codeph>;
 the handle passed from thread A to thread B can be used directly.</p> </section>
 <section id="GUID-83BE173E-F73D-46A8-8267-A1055E486FE3"><title>Making specific handles from generic handles</title> <p>There
Binary file Symbian3/PDK/Source/GUID-A480F734-9EDF-5E29-AC96-039B71B22AC3_d0e375282_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A480F734-9EDF-5E29-AC96-039B71B22AC3_d0e381126_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A4B391F0-058F-5B51-8D28-6A7B5C4A1BB9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A4B391F0-058F-5B51-8D28-6A7B5C4A1BB9"><title>v5.1-v6.1 legacy Unicode resource format</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This page describes the resource file format introduced with the first Unicode version of Symbian OS, v5.1. This was based on the resource-file format used from the initial version of Symbian platform. The format uses no compression at all. </p> <p>Resource files in this format are generated by the resource compiler from v5.1 up to, but not including, Symbian OS v7.0. </p> <table id="GUID-C389837C-9CFD-5197-9C47-1F8C679190DF"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Number of bytes</b> </p> </entry> <entry><p> <b>Description</b> </p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores the file-position of the start of the resource index (see the last row of this table for a description of the resource index). </p> </entry> </row> <row><entry><p>2</p> </entry> <entry><p>This two-byte integer (in little-endian byte order) stores 1 + the size of the resource index in bytes. The addition of 1 was to distinguish this resource file format from an older, now obsolete, resource-file format. </p> </entry> </row> <row><entry><p>[any] </p> </entry> <entry><p>This contains the data for all the resources stored in order, one after another with no byte-padding between them. The binary data of each resource is laid out exactly as specified in the resource definition, with the exception that extra padding bytes (arbitrarily 0xab) are inserted in front of any Unicode text-string that would otherwise not be aligned on a two-byte boundary relative to the start of that resource’s data. </p> </entry> </row> <row><entry><p>(number_of_resources+1)*2 </p> </entry> <entry><p>This is the resource index which is a series of two-byte integers (in little-endian byte order), one for each resource in the resource file, each storing the file-position of that resource’s data (see row immediately above). </p> <p>This is followed by a two-byte integer (in little-endian byte order), which is the file-position one byte past the end of the last resource’s data. This is so that working out the length of a resource’s data is trivially done by subtracting the file-position stored in that resource’s index-entry from the file-position in the next index-entry. </p> <p>This last entry in the resource index, which stores the file-position one byte past the end of the last resource’s data, can also be thought of as storing the file-position of the start of the resource index. This means that resource files in this format have the same two-byte integer at the very start and at the very end of the file. </p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A4F3738C-CBFD-4151-9132-26FE05966715.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-A4F3738C-CBFD-4151-9132-26FE05966715" xml:lang="en"><title>CBA buttons</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-A84D5799-70F3-46CB-90B6-05A455B0499E"><title>Application with Options and Exit softkeys in portrait
-and landscape views</title><image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e95888_href.png"/></fig>
+and landscape views</title><image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e100007_href.png"/></fig>
 <p>The Symbian platform uses Control Button Area (CBA) resources to set
 the options in the control pane above the softkeys. CBA resources map the
 text that appears above the softkeys in the control pane with commands that
Binary file Symbian3/PDK/Source/GUID-A50BBBE2-2E23-5AEE-BF53-9EF54FD7F00E_d0e548459_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A50BBBE2-2E23-5AEE-BF53-9EF54FD7F00E_d0e555915_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e228191_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e234190_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A51C3E48-3ED0-519B-A128-C5175D7E175B_d0e394493_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A51C3E48-3ED0-519B-A128-C5175D7E175B_d0e400346_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A51E334E-F410-55A9-AB07-82F8A1D113B4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A51E334E-F410-55A9-AB07-82F8A1D113B4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -46,7 +46,7 @@
 the components. </p> <fig id="GUID-73E547BA-5AC2-5B10-8422-3B8BA28E2D40">
 <title>              The Graphics package in the Symbian Foundation System
 Model            </title>
-<image href="GUID-AC5ADA77-EBA1-597E-A6B7-80157E9DE2B2_d0e227282_href.png" placement="inline"/>
+<image href="GUID-AC5ADA77-EBA1-597E-A6B7-80157E9DE2B2_d0e233275_href.png" placement="inline"/>
 </fig>  </section>
 <section id="GUID-7164B04D-C0C6-47DA-9D70-E0924D68C462"><title>Technologies</title> <ul>
 <li id="GUID-BCA14E5B-B637-5A43-8A1E-4A945507CF35"><p>For information on the
--- a/Symbian3/PDK/Source/GUID-A5510456-A5EB-59EC-B146-74D58A118875.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A5510456-A5EB-59EC-B146-74D58A118875.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -50,7 +50,7 @@
 interface <xref href="GUID-E5ED4ACA-5EC4-3AE2-862A-AC204DCA83B5.dita"><apiname>CGPSSetClockBase</apiname></xref> is shown in figure 2. </p> <fig id="GUID-EEA7FD08-77F2-563F-BD94-DC74DC1A96DE">
 <title>              Figure 2. CGPSSetClockBase is the interface for LBS set
 clock plug-in              classes.            </title>
-<image href="GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e447637_href.png" placement="inline"/>
+<image href="GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e453482_href.png" placement="inline"/>
 </fig> <p>To create a set clock plug-in, licensees create a class that derives
 from <xref href="GUID-E5ED4ACA-5EC4-3AE2-862A-AC204DCA83B5.dita"><apiname>CGPSSetClockBase</apiname></xref> and package it as an ECom DLL. </p> <p>See <xref href="GUID-F0BDE1EC-5042-5328-9290-22BB2189F6B4.dita">How to implement a LBS set
 clock plug-in DLL </xref> for more information. </p> </section>
Binary file Symbian3/PDK/Source/GUID-A568F9D3-58E3-58D6-8A6E-4EC6BEC41A4D_d0e389992_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A568F9D3-58E3-58D6-8A6E-4EC6BEC41A4D_d0e395845_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A5693758-495B-598E-A514-24C48D459BB6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A5693758-495B-598E-A514-24C48D459BB6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 gc.DrawEllipse(ellipseRect);
 ...</codeblock> </section> <section><title>How to draw an arc</title> <p>An arc is drawn as a portion of an ellipse. As well as the ellipse rectangle, the call must specify the two points: the first defines one end of a line from the geometric center of the ellipse; the point of intersection between this line and the ellipse defines the start point of the arc. The second specified point acts in the same way for the end of the arc. </p> <fig id="GUID-ED34ADD7-004F-5BE6-822F-B5592E4F1A9A"><title>
              Arc construction 
-          </title> <image href="GUID-6A5D0445-5D53-5293-A501-136203C80BEE_d0e261097_href.png" placement="inline"/></fig> <p>The example code here shows how an arc is drawn in an anti-clockwise direction using <codeph>constructionPoint1</codeph> and <codeph>constructionPoint2</codeph> as the start to the end points. </p> <codeblock id="GUID-956A154F-EE60-5286-97BA-B05ABBA2C949" xml:space="preserve">...
+          </title> <image href="GUID-6A5D0445-5D53-5293-A501-136203C80BEE_d0e267106_href.png" placement="inline"/></fig> <p>The example code here shows how an arc is drawn in an anti-clockwise direction using <codeph>constructionPoint1</codeph> and <codeph>constructionPoint2</codeph> as the start to the end points. </p> <codeblock id="GUID-956A154F-EE60-5286-97BA-B05ABBA2C949" xml:space="preserve">...
 // draw an arc centered in the rectangle
 gc.DrawArc(ellipseRect,constructionPoint1,constructionPoint2);
 ...</codeblock> <p>You can reverse the pair of construction point arguments to draw the other half of the ellipse. The construction points and screen center are also drawn, with dotted construction lines: </p> <codeblock id="GUID-CAB960B4-66DC-5996-9D2E-094B0171BFB5" xml:space="preserve">...
@@ -42,7 +42,7 @@
 gc.Plot(screenCenterPoint);
 ...</codeblock> </section> <section><title>Drawing pie slices</title> <p>The example code here shows how two pie slices are drawn. A pie slice is the area bounded by: </p> <p>an arc as used above </p> <p>the straight line from the start point from the geometric center of the ellipse </p> <p>the straight line from the end point from the geometric center of the ellipse </p> <fig id="GUID-71C67896-8B38-5D1E-B34A-0425CF135915"><title>
              Pie slice construction 
-          </title> <image href="GUID-20B364FB-FC12-5EF1-B0EC-1A845693EFFD_d0e261138_href.png" placement="inline"/></fig> <p>Solid and patterned brush styles are used to fill the portions of the elliptical disc. </p> <ol id="GUID-8A734874-8E67-5ABF-9C65-308B136D25D4"><li id="GUID-31A563CE-3043-5713-9FBA-A42C6902F544"><p>Use <codeph>SetBrushStyle()</codeph> to set the brush style to solid. </p> </li> <li id="GUID-0F8D5C04-DD38-5B8A-9BAA-B2E9F9C53C1E"><p>Use <codeph>SetBrushColour()</codeph> to set the brush color to black. </p> </li> <li id="GUID-6EDBBFE4-640C-5E40-8AFE-8B0E99F843A3"><p>Use <codeph>DrawPie()</codeph> to draw a pie slice. </p> </li> <li id="GUID-5ADA6FF4-D9B8-5624-AE74-8C58FF06B624"><p>Use <codeph>SetBrushStyle()</codeph> to set the patterned brush style. </p> </li> <li id="GUID-FA09E650-1E1E-5565-8329-41490F77A974"><p>Use <codeph>DrawPie()</codeph> and reverse the pair of construction point arguments so that the two pie slices together form a whole ellipse. </p> </li> </ol> <codeblock id="GUID-79463D92-F260-52BD-BF5B-5917365E9C19" xml:space="preserve">...
+          </title> <image href="GUID-20B364FB-FC12-5EF1-B0EC-1A845693EFFD_d0e267147_href.png" placement="inline"/></fig> <p>Solid and patterned brush styles are used to fill the portions of the elliptical disc. </p> <ol id="GUID-8A734874-8E67-5ABF-9C65-308B136D25D4"><li id="GUID-31A563CE-3043-5713-9FBA-A42C6902F544"><p>Use <codeph>SetBrushStyle()</codeph> to set the brush style to solid. </p> </li> <li id="GUID-0F8D5C04-DD38-5B8A-9BAA-B2E9F9C53C1E"><p>Use <codeph>SetBrushColour()</codeph> to set the brush color to black. </p> </li> <li id="GUID-6EDBBFE4-640C-5E40-8AFE-8B0E99F843A3"><p>Use <codeph>DrawPie()</codeph> to draw a pie slice. </p> </li> <li id="GUID-5ADA6FF4-D9B8-5624-AE74-8C58FF06B624"><p>Use <codeph>SetBrushStyle()</codeph> to set the patterned brush style. </p> </li> <li id="GUID-FA09E650-1E1E-5565-8329-41490F77A974"><p>Use <codeph>DrawPie()</codeph> and reverse the pair of construction point arguments so that the two pie slices together form a whole ellipse. </p> </li> </ol> <codeblock id="GUID-79463D92-F260-52BD-BF5B-5917365E9C19" xml:space="preserve">...
 // draw a pie slice centered in the rectangle
 gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
 gc.SetBrushColor(black);
--- a/Symbian3/PDK/Source/GUID-A5756C5F-9C93-4949-8B60-03DCA1BAF683.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A5756C5F-9C93-4949-8B60-03DCA1BAF683.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -74,7 +74,7 @@
 </table>
 <fig id="GUID-AA0170E3-BBB2-478A-A9A1-24C48BCF917F">
 <title>Pop-up field</title>
-<image href="GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e84330_href.png" scale="40" placement="inline">
+<image href="GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e88528_href.png" scale="40" placement="inline">
 </image>
 </fig>
 <p>Any combination of these types is possible within one form.</p>
Binary file Symbian3/PDK/Source/GUID-A583E66D-D2ED-5C1C-AF2C-38060D926881_d0e458957_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A583E66D-D2ED-5C1C-AF2C-38060D926881_d0e464802_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A5E152B2-F15C-4809-A52A-BCDDBCD93255_d0e63987_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A5E152B2-F15C-4809-A52A-BCDDBCD93255_d0e68210_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A5ED089C-8831-5E25-AE7C-8E6F1C21D3BE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A5ED089C-8831-5E25-AE7C-8E6F1C21D3BE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,7 +62,7 @@
                              CSBGenericTransferType&amp; aGenericTransferType,
                              TBool aFinished
                             );</codeblock> <p> <b>Note</b>: For more information
-about creating snapshot transfer types, refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita">Creating
+about creating snapshot transfer types, refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita">Creating
 transfer types</xref> section. </p> </li>
 <li id="GUID-C5ED3083-8876-59CB-8D3C-CB404F1CCC71"><p>The backup server restores
 the public files. </p> <p>Similar to a backup, the Backup Engine does not
--- a/Symbian3/PDK/Source/GUID-A5F65344-BE05-5295-85BB-E8114505FB82.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A5F65344-BE05-5295-85BB-E8114505FB82.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -74,7 +74,7 @@
 and Durations</b> </p> <p>The following diagram illustrates the alarm sound
 play intervals: </p> <fig id="GUID-477088D0-57BD-58BF-91BC-BF05E3EF2162">
 <title>                 ALARM SOUND PLAY INTERVALS               </title>
-<image href="GUID-3E23788D-4D67-5E9B-961F-B67D7471BB71_d0e173143_href.png" placement="inline"/>
+<image href="GUID-3E23788D-4D67-5E9B-961F-B67D7471BB71_d0e179211_href.png" placement="inline"/>
 </fig> <p>Alarm play intervals define the toggling of alarm sound playing/stopping
 and alarm dialog show/hide when an alarm expires. It consists of a duration
 and an offset. The offset is the time, in minutes, from the beginning alarm
Binary file Symbian3/PDK/Source/GUID-A6033641-8050-55FF-86EA-FA4D3B273084_d0e450827_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6033641-8050-55FF-86EA-FA4D3B273084_d0e456672_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A6116E8B-9C4A-5B9E-AA8A-BE031408AA2F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A6116E8B-9C4A-5B9E-AA8A-BE031408AA2F" xml:lang="en"><title>Defining
-application icons, captions and properties</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Introduction</title> <p>This document describes the properties
-of an application that are defined in application registration files and in
-other related files. Various resource structs declared in <filepath>AppInfo.rh</filepath> are
-used to hold the definitions. </p> </section>
-<section id="GUID-33B76C7B-0A73-5890-9786-F18839309A4A"><title>Application
-icons</title> <p>Icons are used to represent applications and their associated
-document files in the system shell or application launcher. If the phone's
-UI supports embedding, icons may also be used to represent embedded documents. </p> <p>The
-source icon files may be <filepath>.bmp</filepath> bitmaps, or a vector graphics
-format. If bitmaps are used, they are built into a single <filepath>.mbm</filepath> file
-(Symbian platform multiple bitmap file) as part of the build process, see <xref href="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita">start bitmap</xref> for details.
-Different sizes of source bitmap should be supplied. The OS selects the most
-appropriate icon size for the UI's current zoom state. This avoids the need
-for the icon to be dynamically scaled when it is drawn at a different size.
-Scaling small bitmaps generally results in a loss of quality. The required
-icon sizes are specific to the UI. </p> <p>For each icon size, an image bitmap
-and a mask bitmap are needed. The mask should be black for the parts of the
-image that should be visible, and white for the transparent areas, where the
-background should appear instead. </p> <p>In addition to <filepath>.mbm</filepath> icon
-files, registration files also support vector graphics formats for instance <filepath>.svg</filepath>.
-If the icon file is a vector graphics format, the <codeph>number_of_icons</codeph> value
-in the <codeph>CAPTION_AND_ICON_INFO</codeph> struct is irrelevant. </p> <p>In
-either case, the name of the icon file is specified in the <codeph>LOCALISABLE_APP_INFO</codeph> resource. </p> <p><b>Localising
-icons </b> </p> <p>Some applications may need to localise their icons and
-captions. </p> <p>Icon filenames can be localised by defining them in <filepath>.rls</filepath> files.
-There should be one <filepath>.rls</filepath> file per language supported.
-In the <codeph>LOCALISABLE_APP_INFO</codeph> definition, the icon filenames
-should be referred to by their symbolic identifiers, rather than as the strings
-themselves. Conditional compilation statements are used in the resource file
-to include the appropriate <filepath>.rls</filepath> file. See <xref href="GUID-188F9462-F805-522A-84FF-770EAB045504.dita">an
-example registration file and icon/caption file</xref>. Captions are localised
-using the same technique. </p> </section>
-<section id="GUID-E8B8F865-D363-535C-A51B-EC66B8C76296"><title>Application
-captions</title> <p>An application's caption is the text displayed beside
-its icon. Typically it is the application's name. </p> <p>Captions are defined
-in the localisable icon/caption definition, which provides for short and long
-captions. The short caption may be used in situations where screen space is
-limited. Captions are localised in the same way as icon filenames, see above. </p> </section>
-<section><title>Filename</title> <p>Registration files must provide the filename,
-excluding path and extension of the application's executable. This is needed
-in order for the application architecture to be able to find and launch the
-application. The application architecture expects it to be located in <filepath>\sys\bin\</filepath> on
-the same drive as the registration file. </p> </section>
-<section><title>Attributes</title> <p>Registration files have an <codeph>attributes</codeph> field
-which is used to identify non-standard types of application. For instance, <codeph>KAppIsControlPanelItem</codeph> identifies
-control panel-type applications. Refer to the documentation for
-the targetted UI platform for other supported values. </p> </section>
-<section id="GUID-A28ABF97-3EF0-5554-8A66-C9EB1FF954B6"><title>Application
-properties</title> <p>The following properties can be defined in registration
-files. In C++ they can be retrieved using the <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref> class.
-Note that not all of these are supported by every UI. </p> <p><i>embeddability</i></p> <p>An
-application can have one of the following attributes: <codeph>KAppEmbeddable</codeph>, <codeph>KAppNotEmbeddable</codeph>,
-or <codeph>KAppEmbeddableOnly</codeph>. The other listed values (<codeph>KAppEmbeddableUiOrStandAlone</codeph> and <codeph>KAppEmbeddableUiNotStandAlone</codeph>) are not used. The default value is <codeph>KAppNotEmbeddable</codeph>.
-Embeddable applications appear in lists of embeddable applications, see for
-example <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-E0F9B1FA-976A-3A07-8A69-1713F81CE146"><apiname>RApaLsSession::GetEmbeddableApps()</apiname></xref>. A file with
-the property <codeph>KAppEmbeddableOnly</codeph> appears in the embeddable
-list, but not in the shell or application launcher. </p> <p><note><ul>
-<li id="GUID-13D03388-1689-5B82-8343-AF85AB597138"><p>document embedding may
-not be not supported by all UIs, </p> </li>
-<li id="GUID-54F48257-3849-5635-9430-C7968BAF42C9"><p>the embeddable and embeddable-only
-properties should only be set for file-based applications, in other words,
-applications that create embeddable documents. </p> </li>
-</ul></note> </p> <p><i>hidden</i></p> <p>Hidden applications run in the background.
-They are not shown to the user and do not appear in the application launcher
-or in the embeddable applications list. </p> <p>The default value is <codeph>KAppNotHidden</codeph>. </p> <p><i>newfile</i> </p> <p>This
-property indicates whether the application is document-based and supports
-the creation of new files. </p> <p>The default value is <codeph>KAppDoesNotSupportNewFile</codeph>. </p> <p><i>launch</i> </p> <p>Indicates
-whether the application will be launched in the foreground so that it takes
-focus, or in the background. </p> </section>
-<section><title>Default screen number</title> <p>This number identifies the
-screen on which the application is displayed. It can be omitted if the phone
-has a single screen. In v8.1b, the application can only ever appear on this
-screen; this may change in later releases. For the Symbian emulator, screen
-numbers are initialised in the window server initialisation file, <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini</xref>. </p> </section>
-<section id="GUID-500CEB11-DA89-5A6D-B0E5-E5C881030FCD"><title>UIDs</title> <p>Two
-UIDs must be specified in the source registration file: <codeph>UID2</codeph> and <codeph>UID3</codeph>. <codeph>UID2</codeph> always
-has the value <codeph>KUidAppRegistrationResourceFile</codeph>; <codeph>UID3</codeph> is
-the third UID of the application. </p> </section>
-<section id="GUID-2E24E9DA-4EBF-5CB5-96CB-112E7610227A"><title>MIME support</title> <p>Multipurpose
-Internet Mail Extensions, MIMEs, define a file format for transferring non-ASCII
-data, such as graphics, audio and fax, over the Internet. The <codeph>datatype_list</codeph> section
-lists the MIME types that the application supports, and the priority of support
-that each type is given. When a file is opened, Symbian platform launches
-the application which has the highest priority of support for the type of
-data in the file. </p> <p>There are four priority levels, of which only <codeph>EDataTypePriorityNormal</codeph> or <codeph>EDataTypePriorityLow</codeph> should normally be used. For example, a text editor is good at editing text/plain
-files, and would be given a priority of <codeph>EDataTypePriorityNormal</codeph> for
-that file type. A web browser is less good at handling text files, and would
-be assigned the lower priority <codeph>EDataTypePriorityLow</codeph>. So,
-either application can be launched to handle a text file, however if both
-applications are present, the text editor is launched in preference. </p> <p> <codeph>EDataTypePriorityHigh</codeph> should
-only be assigned under exceptional conditions, for instance if no other application
-could ever handle a particular MIME type as well. </p> <p> <codeph>EDataTypePriorityLastResort</codeph> should
-also be used sparingly. Text editors are terrible at displaying HTML, and
-would either have the priority <codeph>EDataTypePriorityLastResort</codeph>,
-or would not support the type at all. </p> <p>Given two applications with
-the same MIME type priority, Symbian platform arbitrarily launches one of
-them. </p> </section>
-<section><title>View-specific information</title> <p>For view-based applications,
-as an alternative to using an application-wide caption and icons, each view
-in the application can define its own icon and captions. This is so that specific
-application views can be launched directly from the phone's application launcher/shell.
-This feature may not be supported by all phone UIs. </p> <p>The following
-view-specific properties can be specified, using a <codeph>VIEW_DATA</codeph> resource
-struct, declared in <filepath>appinfo.rh</filepath>: </p> <ul>
-<li id="GUID-27E58734-77D5-5420-A0E5-E5635530913A"><p>The view's UID. </p> <p>This
-uniquely identifies the view within the application (in C++ this corresponds
-to <xref href="GUID-3DEA9A17-CB50-3DCD-87AC-0E91B377FB0E.dita#GUID-3DEA9A17-CB50-3DCD-87AC-0E91B377FB0E/GUID-2A49E3A5-815F-339C-AFB3-CB21D9AC53EB"><apiname>TVwsViewId::iViewUid</apiname></xref>). This must be specified. </p> </li>
-<li id="GUID-BA449839-7205-5997-99BF-CA0E23C6A796"><p>The screen mode that
-the view uses. </p> <p>A screen mode is a combination of screen rotation and
-screen size. Screen modes are identified by an index; the first one is zero.
-For the Symbian emulator, screen modes are initialised in the window server
-initialisation file, <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini</xref>.
-The default value is zero. </p> <p>For example, on phones that use a flip-down
-keypad, the screen mode changes when the flip is opened or closed. On such
-phones, there may be a flip open and flip closed version of each view. </p> </li>
-<li id="GUID-79366634-C36E-5FEC-B77A-01D594A9BDD2"><p>The number of icons
-for the view. </p> <p>The icons are contained in the icon file. If the icon
-file is a vector graphics format, the <codeph>number_of_icons</codeph> value
-is irrelevant. </p> </li>
-<li id="GUID-E79B5B73-7527-5EBA-922E-8787AA6D43AF"><p>The view's caption. </p> </li>
-</ul> <p>The view-specific information is defined in the <codeph>view_list</codeph> which
-is an array of <codeph>VIEW_DATA</codeph> structs, one for each view in the
-application. It can be accessed in C++ through the <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref> class,
-see for example <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-3687ED39-4D19-3C96-AAB4-FF6C977411BB"><apiname>RApaLsSession::GetAppViews()</apiname></xref>, and <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-FFB678A1-A717-3D0D-9996-858E77E0AB80"><apiname>RApaLsSession::GetAppViewIcon()</apiname></xref>. </p> </section>
-<section><title>Service list</title> <p>Server applications implement services
-on behalf of client applications, using a server. They are new in v9.0 and
-the motivation behind them is platform security. Because the client and the
-server applications run in separate processes, their memory areas and private
-data files are protected from each other. </p> <p>The service list is a list
-of services offered by a server application. Each entry in the list consists
-of a <codeph>uid</codeph>, which identifies the service, and the ID of another
-resource (<codeph>opaque_data</codeph>) that describes how the service is
-implemented. The latter is called opaque data because how it is used is up
-to the server application, not the UI framework. For example, it might contain
-the ID of a localised text resource for display in the UI, or the ID of a
-resource struct that allows client code to distinguish between different implementations
-of the service. </p> <p>The information defined in the service list can be
-retrieved using the <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref> class. For example, clients
-can find out which server applications implement a particular service by calling <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita#GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA/GUID-F5482751-DC3B-3C31-9BE4-6CFDF076E76A"><apiname>RApaLsSession::GetServiceImplementationsLC()</apiname></xref>. </p> <p>The opaque data may be non-localisable and therefore defined as a resource
-in the registration file, or localisable and therefore defined as a resource
-in the localisable icon/caption definition file, if one exists, or in the
-UI resource file. If the localisable icon/caption definition file is used,
-it must include a four character <codeph>NAME</codeph> and an <codeph>RSS_SIGNATURE</codeph> resource,
-like most other resource files, and as it would no longer be the only resource
-defined in the file, the <codeph>LOCALISABLE_APP_INFO</codeph> resource must
-be given an ID, which must be specified in the registration file's <codeph>localisable_resource_id</codeph> field. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1"><title>Weak and strong cryptography</title><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-468D6A12-8121-5B9D-B90B-E0058B6C76D4-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-1-1"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1/GUID-4DE8C7E7-E568-5FB3-B44E-D0E8FD01A22B-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-2">Introduction</xref>  </p> </li> <li id="GUID-4C1CA7A9-00C8-5E9C-8636-F75DA384FE57-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-1-2"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1/GUID-F542A25E-A152-58DD-AFA0-F9778F8EC8C6-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-3">Weak cryptography</xref>  </p> </li> <li id="GUID-70699AF8-7419-5CB0-92F4-2FF7AC71ECD4-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-1-3"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1/GUID-6309E669-E4C0-5E3C-8BB6-693F673D560D-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-4">Strong cryptography</xref>  </p> </li> <li id="GUID-0568AF73-E52A-5412-B7B0-8DE227584400-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-1-4"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1/GUID-FB7BC684-B087-597A-BB38-44F211E435C8-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-5">Build targets and variants</xref>  </p> </li> </ul> <section id="GUID-4DE8C7E7-E568-5FB3-B44E-D0E8FD01A22B-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-2"><title>Introduction</title> <p>The Cryptography library is provided in two separate builds, “weak” and “strong”, in order to comply with governmental export rules. These two builds are identical with the exception that the weak build rejects requests to apply an encryption scheme with key sizes greater than a size specified by the UK Government. </p> <p>Currently, symmetric algorithms with keys greater than 56 bits, and asymmetric with keys greater than 512 are deemed export controlled and are classed within Symbian as strong encryption. Keys of less than 56 and 512 bits respectively are classed as weak. Some algorithms – such as 3DES and AES cannot operate with weak keys, and are therefore strong-only algorithms. </p> <p>At present, two versions of the Cryptography library can be built: </p> <ul><li id="GUID-8AFD58E7-4AF8-51A3-B285-DB467203FF05-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-2-5-1"><p> <filepath>weak_cryptography.dll</filepath>  </p> </li> <li id="GUID-241F8D66-1B59-54E5-8116-84F22C69F73C-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-2-5-2"><p> <filepath>strong_cryptography.dll</filepath>  </p> </li> </ul> <p> <b>Clients always link against cryptography.dll</b>. </p> <p>The strong/weak libraries are interchangeable (link compatible) except that the weak one will fail at run-time if an attempt is made to employ keys that are larger than bounds laid down by UK export restrictions. </p> <p>On hardware, the version used is determined at ROM build time by including the appropriate version of the Cryptography library as <filepath>cryptography.dll</filepath>. On the emulator, the crypto switch sub-component supplies <filepath>cryptography.dll</filepath>, and this transparently forwards calls to the appropriate version of the Cryptography library. </p> <p>The strong and weak Cryptography APIs are identical. The <filepath>TCrypto</filepath> API allows higher level components to determine at run-time whether the Cryptography library supports full strength cryptography. See <xref href="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1.dita">How to find the cryptographic strength</xref>. </p> </section> <section id="GUID-F542A25E-A152-58DD-AFA0-F9778F8EC8C6-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-3"><title>Weak cryptography</title> <p>The weak version of the Cryptography library is the default one. This is the version that is exported to the <filepath>\epoc32</filepath> tree as <filepath>cryptography.dll</filepath>. This default version may be replaced with any of the other versions. See <xref href="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1.dita">How to change the cryptographic strength</xref> for instructions on how to do this. </p> <p>The default weak Cryptography library (<filepath>weak_cryptography.dll</filepath>) is limited as follows: </p> <ul><li id="GUID-C483912B-96E8-5C79-8E76-296C0DF5622A-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-3-4-1"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita">Symmetric algorithms</xref> (DES, RC2, ARC4) are limited to 56 bit key sizes. </p> </li> <li id="GUID-A73D5C8D-D2D5-5361-881C-117296125A70-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-3-4-2"><p>The 3DES symmetric algorithm is not supported since this requires key sizes greater than 56 bits. </p> </li> <li id="GUID-3E0EF0D4-3699-57F9-8ACD-924326BFAA11-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-3-4-3"><p> <xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita">Asymmetric algorithms</xref>, RSA and DSA, may be used for decryption using any key size, but encryption is limited to 512 bits. </p> </li> <li id="GUID-396CCE5C-BB27-5649-A1B2-21F5252F3B04-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-3-4-4"><p>DH is limited to 512 bits. </p> </li> </ul> <p>If attempts are made to use key lengths not supported by a weak crypto library then the library will return an error. </p> </section> <section id="GUID-6309E669-E4C0-5E3C-8BB6-693F673D560D-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-4"><title>Strong cryptography</title> <p>The strong Cryptography library supports any key length. </p> </section> <section id="GUID-FB7BC684-B087-597A-BB38-44F211E435C8-GENID-1-12-1-26-1-1-11-1-1-5-1-7-1-2-5"><title>Build targets and variants</title> <p>The two versions of the Cryptography library are available for different build targets and variants in: </p> <p> <filepath>&lt;your-SDK-path&gt;\src\generic\security\cryptalg\import\bin\&lt;target&gt;\&lt;variant&gt;\</filepath> </p> <p>Where <filepath>target</filepath> is one of the following build targets: <filepath>wins</filepath>, <filepath>winscw</filepath>, <filepath>winc</filepath>, <filepath>thumb</filepath>, <filepath>armi</filepath>, or <filepath>arm4</filepath>. And <filepath>variant</filepath> is either <filepath>udeb</filepath> or <filepath>urel</filepath>. </p> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1"><title>Weak and strong cryptography</title><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-468D6A12-8121-5B9D-B90B-E0058B6C76D4-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-1-1"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1/GUID-4DE8C7E7-E568-5FB3-B44E-D0E8FD01A22B-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-2">Introduction</xref>  </p> </li> <li id="GUID-4C1CA7A9-00C8-5E9C-8636-F75DA384FE57-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-1-2"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1/GUID-F542A25E-A152-58DD-AFA0-F9778F8EC8C6-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-3">Weak cryptography</xref>  </p> </li> <li id="GUID-70699AF8-7419-5CB0-92F4-2FF7AC71ECD4-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-1-3"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1/GUID-6309E669-E4C0-5E3C-8BB6-693F673D560D-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-4">Strong cryptography</xref>  </p> </li> <li id="GUID-0568AF73-E52A-5412-B7B0-8DE227584400-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-1-4"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1/GUID-FB7BC684-B087-597A-BB38-44F211E435C8-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-5">Build targets and variants</xref>  </p> </li> </ul> <section id="GUID-4DE8C7E7-E568-5FB3-B44E-D0E8FD01A22B-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-2"><title>Introduction</title> <p>The Cryptography library is provided in two separate builds, “weak” and “strong”, in order to comply with governmental export rules. These two builds are identical with the exception that the weak build rejects requests to apply an encryption scheme with key sizes greater than a size specified by the UK Government. </p> <p>Currently, symmetric algorithms with keys greater than 56 bits, and asymmetric with keys greater than 512 are deemed export controlled and are classed within Symbian as strong encryption. Keys of less than 56 and 512 bits respectively are classed as weak. Some algorithms – such as 3DES and AES cannot operate with weak keys, and are therefore strong-only algorithms. </p> <p>At present, two versions of the Cryptography library can be built: </p> <ul><li id="GUID-8AFD58E7-4AF8-51A3-B285-DB467203FF05-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-2-5-1"><p> <filepath>weak_cryptography.dll</filepath>  </p> </li> <li id="GUID-241F8D66-1B59-54E5-8116-84F22C69F73C-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-2-5-2"><p> <filepath>strong_cryptography.dll</filepath>  </p> </li> </ul> <p> <b>Clients always link against cryptography.dll</b>. </p> <p>The strong/weak libraries are interchangeable (link compatible) except that the weak one will fail at run-time if an attempt is made to employ keys that are larger than bounds laid down by UK export restrictions. </p> <p>On hardware, the version used is determined at ROM build time by including the appropriate version of the Cryptography library as <filepath>cryptography.dll</filepath>. On the emulator, the crypto switch sub-component supplies <filepath>cryptography.dll</filepath>, and this transparently forwards calls to the appropriate version of the Cryptography library. </p> <p>The strong and weak Cryptography APIs are identical. The <filepath>TCrypto</filepath> API allows higher level components to determine at run-time whether the Cryptography library supports full strength cryptography. See <xref href="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1.dita">How to find the cryptographic strength</xref>. </p> </section> <section id="GUID-F542A25E-A152-58DD-AFA0-F9778F8EC8C6-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-3"><title>Weak cryptography</title> <p>The weak version of the Cryptography library is the default one. This is the version that is exported to the <filepath>\epoc32</filepath> tree as <filepath>cryptography.dll</filepath>. This default version may be replaced with any of the other versions. See <xref href="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1.dita">How to change the cryptographic strength</xref> for instructions on how to do this. </p> <p>The default weak Cryptography library (<filepath>weak_cryptography.dll</filepath>) is limited as follows: </p> <ul><li id="GUID-C483912B-96E8-5C79-8E76-296C0DF5622A-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-3-4-1"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita">Symmetric algorithms</xref> (DES, RC2, ARC4) are limited to 56 bit key sizes. </p> </li> <li id="GUID-A73D5C8D-D2D5-5361-881C-117296125A70-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-3-4-2"><p>The 3DES symmetric algorithm is not supported since this requires key sizes greater than 56 bits. </p> </li> <li id="GUID-3E0EF0D4-3699-57F9-8ACD-924326BFAA11-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-3-4-3"><p> <xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita">Asymmetric algorithms</xref>, RSA and DSA, may be used for decryption using any key size, but encryption is limited to 512 bits. </p> </li> <li id="GUID-396CCE5C-BB27-5649-A1B2-21F5252F3B04-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-3-4-4"><p>DH is limited to 512 bits. </p> </li> </ul> <p>If attempts are made to use key lengths not supported by a weak crypto library then the library will return an error. </p> </section> <section id="GUID-6309E669-E4C0-5E3C-8BB6-693F673D560D-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-4"><title>Strong cryptography</title> <p>The strong Cryptography library supports any key length. </p> </section> <section id="GUID-FB7BC684-B087-597A-BB38-44F211E435C8-GENID-1-12-1-26-1-1-9-1-4-1-4-1-2-5"><title>Build targets and variants</title> <p>The two versions of the Cryptography library are available for different build targets and variants in: </p> <p> <filepath>&lt;your-SDK-path&gt;\src\generic\security\cryptalg\import\bin\&lt;target&gt;\&lt;variant&gt;\</filepath> </p> <p>Where <filepath>target</filepath> is one of the following build targets: <filepath>wins</filepath>, <filepath>winscw</filepath>, <filepath>winc</filepath>, <filepath>thumb</filepath>, <filepath>armi</filepath>, or <filepath>arm4</filepath>. And <filepath>variant</filepath> is either <filepath>udeb</filepath> or <filepath>urel</filepath>. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0"><title>Weak and strong cryptography</title><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-468D6A12-8121-5B9D-B90B-E0058B6C76D4"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0/GUID-4DE8C7E7-E568-5FB3-B44E-D0E8FD01A22B">Introduction</xref>  </p> </li> <li id="GUID-4C1CA7A9-00C8-5E9C-8636-F75DA384FE57"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0/GUID-F542A25E-A152-58DD-AFA0-F9778F8EC8C6">Weak cryptography</xref>  </p> </li> <li id="GUID-70699AF8-7419-5CB0-92F4-2FF7AC71ECD4"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0/GUID-6309E669-E4C0-5E3C-8BB6-693F673D560D">Strong cryptography</xref>  </p> </li> <li id="GUID-0568AF73-E52A-5412-B7B0-8DE227584400"><p> <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita#GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0/GUID-FB7BC684-B087-597A-BB38-44F211E435C8">Build targets and variants</xref>  </p> </li> </ul> <section id="GUID-4DE8C7E7-E568-5FB3-B44E-D0E8FD01A22B"><title>Introduction</title> <p>The Cryptography library is provided in two separate builds, “weak” and “strong”, in order to comply with governmental export rules. These two builds are identical with the exception that the weak build rejects requests to apply an encryption scheme with key sizes greater than a size specified by the UK Government. </p> <p>Currently, symmetric algorithms with keys greater than 56 bits, and asymmetric with keys greater than 512 are deemed export controlled and are classed within Symbian as strong encryption. Keys of less than 56 and 512 bits respectively are classed as weak. Some algorithms – such as 3DES and AES cannot operate with weak keys, and are therefore strong-only algorithms. </p> <p>At present, two versions of the Cryptography library can be built: </p> <ul><li id="GUID-8AFD58E7-4AF8-51A3-B285-DB467203FF05"><p> <filepath>weak_cryptography.dll</filepath>  </p> </li> <li id="GUID-241F8D66-1B59-54E5-8116-84F22C69F73C"><p> <filepath>strong_cryptography.dll</filepath>  </p> </li> </ul> <p> <b>Clients always link against cryptography.dll</b>. </p> <p>The strong/weak libraries are interchangeable (link compatible) except that the weak one will fail at run-time if an attempt is made to employ keys that are larger than bounds laid down by UK export restrictions. </p> <p>On hardware, the version used is determined at ROM build time by including the appropriate version of the Cryptography library as <filepath>cryptography.dll</filepath>. On the emulator, the crypto switch sub-component supplies <filepath>cryptography.dll</filepath>, and this transparently forwards calls to the appropriate version of the Cryptography library. </p> <p>The strong and weak Cryptography APIs are identical. The <filepath>TCrypto</filepath> API allows higher level components to determine at run-time whether the Cryptography library supports full strength cryptography. See <xref href="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E.dita">How to find the cryptographic strength</xref>. </p> </section> <section id="GUID-F542A25E-A152-58DD-AFA0-F9778F8EC8C6"><title>Weak cryptography</title> <p>The weak version of the Cryptography library is the default one. This is the version that is exported to the <filepath>\epoc32</filepath> tree as <filepath>cryptography.dll</filepath>. This default version may be replaced with any of the other versions. See <xref href="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9.dita">How to change the cryptographic strength</xref> for instructions on how to do this. </p> <p>The default weak Cryptography library (<filepath>weak_cryptography.dll</filepath>) is limited as follows: </p> <ul><li id="GUID-C483912B-96E8-5C79-8E76-296C0DF5622A"><p> <xref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita">Symmetric algorithms</xref> (DES, RC2, ARC4) are limited to 56 bit key sizes. </p> </li> <li id="GUID-A73D5C8D-D2D5-5361-881C-117296125A70"><p>The 3DES symmetric algorithm is not supported since this requires key sizes greater than 56 bits. </p> </li> <li id="GUID-3E0EF0D4-3699-57F9-8ACD-924326BFAA11"><p> <xref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita">Asymmetric algorithms</xref>, RSA and DSA, may be used for decryption using any key size, but encryption is limited to 512 bits. </p> </li> <li id="GUID-396CCE5C-BB27-5649-A1B2-21F5252F3B04"><p>DH is limited to 512 bits. </p> </li> </ul> <p>If attempts are made to use key lengths not supported by a weak crypto library then the library will return an error. </p> </section> <section id="GUID-6309E669-E4C0-5E3C-8BB6-693F673D560D"><title>Strong cryptography</title> <p>The strong Cryptography library supports any key length. </p> </section> <section id="GUID-FB7BC684-B087-597A-BB38-44F211E435C8"><title>Build targets and variants</title> <p>The two versions of the Cryptography library are available for different build targets and variants in: </p> <p> <filepath>&lt;your-SDK-path&gt;\src\generic\security\cryptalg\import\bin\&lt;target&gt;\&lt;variant&gt;\</filepath> </p> <p>Where <filepath>target</filepath> is one of the following build targets: <filepath>wins</filepath>, <filepath>winscw</filepath>, <filepath>winc</filepath>, <filepath>thumb</filepath>, <filepath>armi</filepath>, or <filepath>arm4</filepath>. And <filepath>variant</filepath> is either <filepath>udeb</filepath> or <filepath>urel</filepath>. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,12 +1,127 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01"><title>Reclaiming Free Space</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document discusses the benefits to be had, such as performance improvements, from performing a <b>compaction</b> operation. </p> <section><title>Purpose</title> <p>Database compaction frees up diskspace and improves overall performance when performing certain database operations. </p> </section> <section id="GUID-E7319024-5988-5398-8F77-FAD6F644D1DB"><title>Database compaction</title> <p>Databases using database compaction will experience a performance improvement for some operations, such as DELETE. There will also be a better trade-off between performance and disk usage. </p> <p>Legacy databases will be automatically migrated to use the new default free space reclaim policy when they are used with the 9.5 version of Symbian SQL. The migration takes place the first time the legacy database is opened with the new version of Symbian SQL. The database will be configured to use the default free space reclaim policy from then on. <b>Note</b>: Such migration will not be possible (or necessary) for databases that are on read-only media, but these databases will still be readable by Symbian SQL. </p> <p>Databases can be configured to use a free space reclaim policy of their choice. There are three modes of database compaction: </p> <ul><li id="GUID-7394A159-1BFA-53FF-ABBB-50D1DC8453F0"><p> <xref href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita#GUID-A64625D4-F101-5DB7-896B-F91A21BABE01/GUID-4AF5A27E-9793-5931-B2D0-3673B556DB6D">background</xref>, </p> </li> <li id="GUID-DCA4B080-B17B-5AFB-916A-9B84C1C3DC5E"><p> <xref href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita#GUID-A64625D4-F101-5DB7-896B-F91A21BABE01/GUID-CE6F567F-7300-574A-A180-E42786DC04DB">synchronous</xref>, </p> </li> <li id="GUID-72035C8D-9B12-5EDB-BD3D-59762DFB46B9"><p> <xref href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita#GUID-A64625D4-F101-5DB7-896B-F91A21BABE01/GUID-F9D40D87-B383-5EF5-9959-2A344436477A">manual</xref>. </p> </li> </ul> <p>The compaction mode is set when the database is created and cannot be changed later. Only the database creator can specify the compaction mode. This avoids the possibility of conflicting policy change requests by clients of shared databases. When a database compaction mode is not specified, background mode is the default mode. </p> <p id="GUID-4AF5A27E-9793-5931-B2D0-3673B556DB6D"><b>Background compaction</b> </p> <p>Compaction activities are deferred and scheduled by the server allowing client requests that delete records to complete more quickly. This mode offers clients no guarantees on when space will be reclaimed. When under high load the server will defer reclamation indefinitely. </p> <p>The server maintains an <xref href="GUID-4000D46C-29C0-3497-8E20-FFC908670EC8.dita"><apiname>EPriorityIdle</apiname></xref> active object for each open database that is set to background compaction mode. </p> <p>The amount of reclaimable disk space is retrieved after an SQL statement is executed on a database. If this value exceeds the compaction threshold then the database is marked as <i>dirty</i> by setting its active object as ready to run: </p> <ul><li id="GUID-93948590-87D5-541A-99FE-F166656E85B1"><p> The compaction threshold is a server-wide parameter that specifies the amount of reclaimable disk space (in bytes) that must exist in a database before the server compacts that database. A default value for this threshold is supplied by Symbian but device creators can override this in the server configuration file.  </p> </li> <li id="GUID-C5E412DF-E015-592D-8BF9-16D2E82E5514"><p>Each active object contains a <i>free pages</i> threshold that is derived from the compaction threshold. The <i>free pages</i> threshold is the number of pages that must be in the database for it to be marked as <i>dirty</i>. </p> </li> <li id="GUID-2B3A1FEB-C351-5CA9-870D-F87051A36476"><p>Each time a <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-6D2120DC-C193-3E2E-A802-B4CD180BDF11"><apiname>RSqlDatabase::Exec()</apiname></xref> or <xref href="GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A.dita#GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A/GUID-52E3CE72-D495-388F-8829-952E32F0F37D"><apiname>RSqlStatement::Exec()</apiname></xref> operation has been completed the number of free pages in the database is checked against the free pages threshold. If the threshold is met then the database is marked as <i>dirty</i>. </p> </li> </ul> <p>Whenever the Symbian SQL server is idle (not processing a client request) runnable idle active objects are processed that cause free space to be reclaimed from the dirty databases: </p> <ul><li id="GUID-D82FD580-ECDA-5449-BC40-C016723D7510"><p> Each active object reclaims no more pages from its database than the single reclaim limit. This limit is a server-wide parameter specifying the maximum number of free pages that the server will attempt to reclaim in one step and should be small enough to ensure that the server can remain responsive to client requests. An appropriate default value is supplied by Symbian but device creators can override this in the server configuration file.  </p> </li> <li id="GUID-84319C82-076C-5EA8-AF5D-F6D907678254"><p>Following the reclaim action an active object will again set itself as ready to run if the number of free pages following the reclaim meets the free pages threshold. </p> </li> <li id="GUID-F10B583B-F098-542D-9D6F-0F8A63A08CD0"><p>The idle priority active objects for background compaction continues to be processed until either: </p> <ul><li id="GUID-21EE7484-817C-5EEF-80F1-0600440FD74A"><p>there is no more free space left to reclaim, </p> </li> <li id="GUID-AA4694AB-D403-5807-9CC9-3608F9E86246"><p>a higher priority active object becomes ready to run. </p> </li> </ul> </li> </ul> <p><b>Scheduling of background compaction</b> </p> <p>The server’s active scheduler maintains a priority queue for servicing the active objects. The scheduling algorithm is such that following the successful execution of any active object's <codeph>RunL()</codeph>, the scheduler will reset to the beginning of the queue. This has two implications: </p> <ul><li id="GUID-CF778079-5E0F-5D74-9A8A-5DB69E4B5B00"><p>There is an implicit priority scheme among the active objects for background compaction – a database opened earlier will always be given priority over one opened later due to its location in the queue. </p> </li> <li id="GUID-9EECC098-FC0A-5DB7-8A88-FB59C826582E"><p>Compaction of a later database in the queue cannot begin until an earlier database has been fully compacted. This is because the active scheduler resets to the beginning of the queue following every active object execution. </p> </li> </ul> <p>With this lack of <i>fair scheduling</i> it is advised that certain situations are avoided: </p> <ul><li id="GUID-EAE8BC01-15F8-5A8E-99A6-48F4AB73AD68"><p>Background compaction is not intended to be an antidote for critical disk space rescue scenarios – a fairer scheduling algorithm may help but the system would already be in severe difficulties by this stage. </p> </li> <li id="GUID-D17C590B-31E4-582E-A07B-AA411B123BA2"><p>The compaction operation itself requires free disk space and thus would be inoperable in critically low disk space situations. Thus a fairer scheduling algorithm would not help here. </p> </li> <li id="GUID-80E5F115-4602-5B56-AEAC-B4490992101F"><p>background compaction is not designed to work efficiently when the server load is such that idle periods do not occur in sufficient quantity. </p> </li> </ul> <p id="GUID-CE6F567F-7300-574A-A180-E42786DC04DB"><b>Synchronous compaction</b> </p> <p>compaction occurs at the end of the client request. A request is not completed until compaction has finished. This mode is equivalent to the compaction profile of previous versions of Symbian SQL. </p> <p id="GUID-F9D40D87-B383-5EF5-9959-2A344436477A"><b>Manual compaction</b> </p> <p>No automatic compaction occurs. This mode is intended for clients that wish to manage compaction directly. </p> <p>Clients wishing to exercise direct control over database compaction may select manual mode. The server performs no automated compaction in manual mode. </p> <p>Clients can request database compaction with <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-6F94DDD2-2586-3DEC-B5E6-B74C3A7E6DB5"><apiname>RSqlDatabase::Compact()</apiname></xref>. The client can specify a limit to the number of bytes to reclaim. Compaction can be performed as either a synchronous or an asynchronous operation. <codeph>Compact()</codeph> can be called on either a “manual” or a “background” database (it can also be called on a “synchronous” database although this will have no effect). </p> <p>The database file size and the amount of reclaimable free space in the database can be retrieved with <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-F45D9371-F212-3D62-877A-3C31C4F49CA0"><apiname>RSqlDatabase::Size()</apiname></xref>. This API supports clients wishing to trigger compaction based on either absolute free space or a proportion of free space in the database. </p> </section> </conbody><related-links><link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL Overview</linktext> </link> <link><linktext/></link><link href="GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74.dita"><linktext>Handling Blobs</linktext> </link> </related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01" xml:lang="en"><title>Reclaiming Free Space</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This document discusses the benefits to be had, such as performance
+improvements, from performing a <b>compaction</b> operation. </p>
+<section id="GUID-9719243A-8391-4B2B-9462-65BF4F2755E7"><title>Purpose</title> <p>Database compaction frees up diskspace
+and improves overall performance when performing certain database
+operations. </p> </section>
+<section id="GUID-E7319024-5988-5398-8F77-FAD6F644D1DB"><title>Database
+compaction</title> <p>Databases using database compaction will experience
+a performance improvement for some operations, such as DELETE. There
+will also be a better trade-off between performance and disk usage. </p> <p>Legacy databases will be automatically migrated to use the new
+default free space reclaim policy when they are used with the 9.5
+version of Symbian SQL. The migration takes place the first time the
+legacy database is opened with the new version of Symbian SQL. The
+database will be configured to use the default free space reclaim
+policy from then on. <b>Note</b>: Such migration will not be possible
+(or necessary) for databases that are on read-only media, but these
+databases will still be readable by Symbian SQL. </p> <p>Databases
+can be configured to use a free space reclaim policy of their choice.
+There are three modes of database compaction: </p> <ul>
+<li id="GUID-7394A159-1BFA-53FF-ABBB-50D1DC8453F0"><p> <xref href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita#GUID-A64625D4-F101-5DB7-896B-F91A21BABE01/GUID-4AF5A27E-9793-5931-B2D0-3673B556DB6D">background</xref>, </p> </li>
+<li id="GUID-DCA4B080-B17B-5AFB-916A-9B84C1C3DC5E"><p> <xref href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita#GUID-A64625D4-F101-5DB7-896B-F91A21BABE01/GUID-CE6F567F-7300-574A-A180-E42786DC04DB">synchronous</xref>, </p> </li>
+<li id="GUID-72035C8D-9B12-5EDB-BD3D-59762DFB46B9"><p> <xref href="GUID-A64625D4-F101-5DB7-896B-F91A21BABE01.dita#GUID-A64625D4-F101-5DB7-896B-F91A21BABE01/GUID-F9D40D87-B383-5EF5-9959-2A344436477A">manual</xref>. </p> </li>
+</ul> <p>The compaction mode is set when the database is created and
+cannot be changed later. Only the database creator can specify the
+compaction mode. This avoids the possibility of conflicting policy
+change requests by clients of shared databases. When a database compaction
+mode is not specified, background mode is the default mode. </p> <p id="GUID-4AF5A27E-9793-5931-B2D0-3673B556DB6D"><b>Background compaction</b> </p> <p>Compaction activities are deferred and scheduled by the
+server allowing client requests that delete records to complete more
+quickly. This mode offers clients no guarantees on when space will
+be reclaimed. When under high load the server will defer reclamation
+indefinitely. </p> <p>The server maintains an <xref href="GUID-4000D46C-29C0-3497-8E20-FFC908670EC8.dita"><apiname>EPriorityIdle</apiname></xref> active object for each open database that is set to background compaction
+mode. </p> <p>The amount of reclaimable disk space is retrieved after
+an SQL statement is executed on a database. If this value exceeds
+the compaction threshold then the database is marked as <i>dirty</i> by setting its active object as ready to run: </p> <ul>
+<li id="GUID-93948590-87D5-541A-99FE-F166656E85B1"><p> The compaction
+threshold is a server-wide parameter that specifies the amount of
+reclaimable disk space (in bytes) that must exist in a database before
+the server compacts that database. A default value for this threshold
+is supplied by Symbian but device creators can override this in the
+server configuration file.  </p> </li>
+<li id="GUID-C5E412DF-E015-592D-8BF9-16D2E82E5514"><p>Each active
+object contains a <i>free pages</i> threshold that is derived from
+the compaction threshold. The <i>free pages</i> threshold is the number
+of pages that must be in the database for it to be marked as <i>dirty</i>. </p> </li>
+<li id="GUID-2B3A1FEB-C351-5CA9-870D-F87051A36476"><p>Each time a <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-6D2120DC-C193-3E2E-A802-B4CD180BDF11"><apiname>RSqlDatabase::Exec()</apiname></xref> or <xref href="GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A.dita#GUID-0176BF07-DF94-3259-8F90-DE030E35CE9A/GUID-52E3CE72-D495-388F-8829-952E32F0F37D"><apiname>RSqlStatement::Exec()</apiname></xref> operation has been completed the number of free pages in the database
+is checked against the free pages threshold. If the threshold is met
+then the database is marked as <i>dirty</i>. </p> </li>
+</ul> <p>Whenever the Symbian SQL server is idle (not processing a
+client request) runnable idle active objects are processed that cause
+free space to be reclaimed from the dirty databases: </p> <ul>
+<li id="GUID-D82FD580-ECDA-5449-BC40-C016723D7510"><p> Each active
+object reclaims no more pages from its database than the single reclaim
+limit. This limit is a server-wide parameter specifying the maximum
+number of free pages that the server will attempt to reclaim in one
+step and should be small enough to ensure that the server can remain
+responsive to client requests. An appropriate default value is supplied
+by Symbian but device creators can override this in the server configuration
+file.  </p> </li>
+<li id="GUID-84319C82-076C-5EA8-AF5D-F6D907678254"><p>Following the
+reclaim action an active object will again set itself as ready to
+run if the number of free pages following the reclaim meets the free
+pages threshold. </p> </li>
+<li id="GUID-F10B583B-F098-542D-9D6F-0F8A63A08CD0"><p>The idle priority
+active objects for background compaction continues to be processed
+until either: </p> <ul>
+<li id="GUID-21EE7484-817C-5EEF-80F1-0600440FD74A"><p>there is no
+more free space left to reclaim, </p> </li>
+<li id="GUID-AA4694AB-D403-5807-9CC9-3608F9E86246"><p>a higher priority
+active object becomes ready to run. </p> </li>
+</ul> </li>
+</ul> <p><b>Scheduling of background compaction</b> </p> <p>The server’s active
+scheduler maintains a priority queue for servicing the active objects.
+The scheduling algorithm is such that following the successful execution
+of any active object's <codeph>RunL()</codeph>, the scheduler will
+reset to the beginning of the queue. This has two implications: </p> <ul>
+<li id="GUID-CF778079-5E0F-5D74-9A8A-5DB69E4B5B00"><p>There is an
+implicit priority scheme among the active objects for background compaction
+– a database opened earlier will always be given priority over one
+opened later due to its location in the queue. </p> </li>
+<li id="GUID-9EECC098-FC0A-5DB7-8A88-FB59C826582E"><p>Compaction of
+a later database in the queue cannot begin until an earlier database
+has been fully compacted. This is because the active scheduler resets
+to the beginning of the queue following every active object execution. </p> </li>
+</ul> <p>With this lack of <i>fair scheduling</i> it is advised that
+certain situations are avoided: </p> <ul>
+<li id="GUID-EAE8BC01-15F8-5A8E-99A6-48F4AB73AD68"><p>Background compaction
+is not intended to be an antidote for critical disk space rescue scenarios
+– a fairer scheduling algorithm may help but the system would already
+be in severe difficulties by this stage. </p> </li>
+<li id="GUID-D17C590B-31E4-582E-A07B-AA411B123BA2"><p>The compaction
+operation itself requires free disk space and thus would be inoperable
+in critically low disk space situations. Thus a fairer scheduling
+algorithm would not help here. </p> </li>
+<li id="GUID-80E5F115-4602-5B56-AEAC-B4490992101F"><p>background compaction
+is not designed to work efficiently when the server load is such that
+idle periods do not occur in sufficient quantity. </p> </li>
+</ul> <p id="GUID-CE6F567F-7300-574A-A180-E42786DC04DB"><b>Synchronous compaction</b> </p> <p>compaction occurs at the end of the client request. A request
+is not completed until compaction has finished. This mode is equivalent
+to the compaction profile of previous versions of Symbian SQL. </p> <p id="GUID-F9D40D87-B383-5EF5-9959-2A344436477A"><b>Manual compaction</b> </p> <p>No automatic compaction occurs. This mode is intended for
+clients that wish to manage compaction directly. </p> <p>Clients wishing
+to exercise direct control over database compaction may select manual
+mode. The server performs no automated compaction in manual mode. </p> <p>Clients can request database compaction with <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-6F94DDD2-2586-3DEC-B5E6-B74C3A7E6DB5"><apiname>RSqlDatabase::Compact()</apiname></xref>. The client can specify a limit to the number of bytes to reclaim.
+Compaction can be performed as either a synchronous or an asynchronous
+operation. <codeph>Compact()</codeph> can be called on either a “manual”
+or a “background” database (it can also be called on a “synchronous”
+database although this will have no effect). </p> <p>The database
+file size and the amount of reclaimable free space in the database
+can be retrieved with <xref href="GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF.dita#GUID-4688F6B7-E1B0-37CF-BAA2-C6BD103D4FDF/GUID-F45D9371-F212-3D62-877A-3C31C4F49CA0"><apiname>RSqlDatabase::Size()</apiname></xref>. This
+API supports clients wishing to trigger compaction based on either
+absolute free space or a proportion of free space in the database. </p> </section>
+</conbody><related-links>
+<link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL
+Overview</linktext></link>
+<link href="GUID-4EE4E79E-F6D5-5F14-BA8D-4DD10D229B74.dita">
+<linktext>Handling Blobs</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A64C3667-E522-5B23-8679-35B06C609148_d0e590802_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A64C3667-E522-5B23-8679-35B06C609148_d0e618696_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6598739-2BB5-546E-931B-B202E3DD49E0_d0e430261_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6598739-2BB5-546E-931B-B202E3DD49E0_d0e436106_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A668442E-0768-5AF1-829B-A80864756A0B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A668442E-0768-5AF1-829B-A80864756A0B"><title>bytepaircompresstarget</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>bytepaircompresstarget</codeph>  </p> <p>Use the <codeph>bytepaircompresstarget</codeph> statement to specify that the target executable should be compressed using the bytepair algorithm. </p> <p>Bytepair compression allows faster decompression than the default Deflate, Huffman+LZ77 algorithm and supports demand paging by performing compression and decompression of code in independent 4kbyte pages. </p> <p>See also <xref href="GUID-A1F037FE-0D88-5108-B96E-4ADE6B3A4A3E.dita">inflatecompresstarget</xref>. </p> <p>See also <xref href="GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita">compresstarget</xref>. </p> <p>See also <xref href="GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita">nocompresstarget</xref>. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A67FFE7B-9573-543B-B3EA-0539278FE4AB_d0e258443_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A67FFE7B-9573-543B-B3EA-0539278FE4AB_d0e264452_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e100007_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e68131_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e72344_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e86749_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e90947_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e95888_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A6BA24CE-23EB-453E-9677-B5F425C1F255.ditamap	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A6BA24CE-23EB-453E-9677-B5F425C1F255.ditamap	Fri Jul 16 17:23:46 2010 +0100
@@ -3,7 +3,8 @@
 <!DOCTYPE bookmap PUBLIC "-//OASIS//DTD DITA BookMap//EN"
  "bookmap.dtd">
 <bookmap id="GUID-A6BA24CE-23EB-453E-9677-B5F425C1F255">
-<booktitle><mainbooktitle>Symbian Developer Library for Product Developers</mainbooktitle>
+<booktitle>
+<mainbooktitle>Symbian Developer Library for Product Developers</mainbooktitle>
 <booktitlealt>Symbian Developer Library for Product Developers</booktitlealt>
 </booktitle>
 <frontmatter id="GUID-C7A97897-1AA5-4DA2-94EF-E7B1C032429A">
@@ -78,6 +79,8 @@
 <topicref href="GUID-4D92E302-3145-4453-AFA1-F5C5BDF933F9.dita"
 id="GUID-625EB42F-0FD1-449D-9BF1-C069A982D5C5"></topicref>
 </topicref>
+<topicref href="GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita"
+id="GUID-61EA560A-8BFA-4EC6-A018-D991C80AF376"></topicref>
 </chapter>
 <chapter href="GUID-35D7EEFC-B2E4-5444-8875-2A24790E08C2.dita"
 id="GUID-2D09AAF9-7357-4165-AFA9-AF3831CDEEBE">
@@ -216,12 +219,30 @@
 id="GUID-BC943A7D-01A6-4DB8-81E9-29535616ECCD"></topicref>
 <topicref href="GUID-242D9F27-401B-4230-B3A6-11E2D9D3DE17.dita"
 id="GUID-1A389371-8B08-432B-99C2-F7E4E0083126"></topicref>
+<topicref href="GUID-821C254A-40C6-45F9-B2F9-2CF28CAEB8CC.dita"
+id="GUID-3C3AC2B6-0E88-4EDA-961C-D62B43B0CD6C"></topicref>
 <topicref href="GUID-16AED228-539F-4BF7-A7FD-9A01FF1A9A84.dita"
 id="GUID-D02053C4-DF05-4F27-A9BF-E2E4E2F27B7B"></topicref>
+<topicref href="GUID-16AB388A-ED3E-4901-857D-834072437D25.dita"
+id="GUID-6A44D8EF-B9FC-405E-B64D-7CED25EDC07C"></topicref>
 <topicref href="GUID-9D93F895-B975-4F2D-A2A3-817033EA5C12.dita"
 id="GUID-B606389D-56FF-41BC-871B-2C0C737DE574"></topicref>
 <topicref href="GUID-1F280171-A3F3-4129-8DBE-3B1C4D629C68.dita"
 id="GUID-AA2FEBCF-B8DD-4583-A3E9-4C5368578269"></topicref>
+<topicref href="GUID-860916D1-339F-4D4F-859D-DAE11F7C311E.dita"
+id="GUID-BDEC8B84-4627-40CD-92A1-BCDBF8564FAF"></topicref>
+</topicref>
+<topicref href="GUID-734588CA-5644-438A-9CC9-77ECBE0C1EEA.dita"
+id="GUID-8FA190CF-FB54-411C-9A3F-0004E63FE15E">
+<topicref href="GUID-50A38544-8B2A-422D-92AF-2E9358878CFE.dita"
+id="GUID-4FE6F991-8EE6-4FAC-9473-E32583BB21AA"></topicref>
+<topicref href="GUID-EC7DE823-BFAC-47E5-B7CC-154B11FE5D77.dita"
+id="GUID-1C31B981-3A20-4152-AD05-FF6ECE60A1B1"></topicref>
+</topicref>
+<topicref href="GUID-7FB63DAA-FBFD-4485-919F-5FEFBBC53B97.dita"
+id="GUID-A1B024D4-54BE-48BA-ABFC-483649A6F594">
+<topicref href="GUID-3D5974E9-0F6C-4BBE-AD41-C405DC286C09.dita"
+id="GUID-A4F87E7A-A73B-4CC5-8AE0-FCFAF0F34857"></topicref>
 </topicref>
 <topicref href="GUID-E55F9286-F586-4665-93D8-86F1E7BE2C7C.dita"
 id="GUID-18F7C660-1546-4E98-B7CB-DBA203BFBA37">
@@ -440,6 +461,55 @@
 </topicref>
 </topicref>
 </topicref>
+<topicref href="GUID-0B6222F1-F5A1-5E9A-B495-C68585C92022.dita"
+id="GUID-E1224F47-0B74-4E9F-A5F5-7CEFC7D5EDEB">
+<topicref href="GUID-A3F8A323-EF4B-537F-A3D1-27A2048D5A11.dita"
+id="GUID-D1B22701-3644-4579-825A-381ACD976C35"></topicref>
+<topicref href="GUID-9CB23B06-07E9-5927-AB79-D1FC28B42DFE.dita"
+id="GUID-981505C2-56F7-41A9-A862-91D5600EF8C7">
+<topicref href="GUID-34EF6527-14D0-5C8B-9E20-A3A3B3320054.dita"
+id="GUID-24BDAC27-15CF-4969-BE96-9E065D2AE3B0"></topicref>
+<topicref href="GUID-B2BD19A4-132E-5D5C-8870-04BADB6E7815.dita"
+id="GUID-FB37A9A2-F5DC-4584-A55A-0F943482062E">
+<topicref href="GUID-51EDBA17-41AF-58FB-A96F-D5A136F83977.dita"
+id="GUID-081A2365-4070-4132-BA2E-944659878AFD">
+<topicref href="GUID-743BFB3C-7B88-4A5C-A655-A50DEB45FC46.dita"
+id="GUID-232C688F-4149-4B6E-9899-F8F7C892ABF9"></topicref>
+<topicref href="GUID-969EA8CE-7B8C-458D-983B-837128F747E7.dita"
+id="GUID-FDB78886-DBBA-4FD3-878F-E78E53EC929E"></topicref>
+</topicref>
+<topicref href="GUID-92459911-6FD1-47D7-8FBD-63BB43106757.dita"
+id="GUID-BCC6499C-F18A-4F0A-B32C-33FFB3F402E0"></topicref>
+<topicref href="GUID-6A9E486A-6C1B-4E31-832A-FD39AF041817.dita"
+id="GUID-097A55AC-D73D-4D40-B0EA-72AED5293367"></topicref>
+<topicref href="GUID-FDA575AB-F5A5-4244-B47C-F1B1794F09F6.dita"
+id="GUID-2980E4C1-BA27-4B2C-9A0F-6ADB10557958"></topicref>
+<topicref href="GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042.dita"
+id="GUID-0C43B333-A126-4124-820B-96F52F5F2925"></topicref>
+</topicref>
+<topicref href="GUID-2AB7F53A-5EDF-574D-866D-EF2592881559.dita"
+id="GUID-ED4F5130-1F95-448A-BD87-9704C7BE9826"></topicref>
+</topicref>
+<topicref href="GUID-16406797-20EA-5469-B036-0B46B6162385.dita"
+id="GUID-DAE2310D-8FA3-4741-AEED-CD36CA9C9321">
+<topicref href="GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4.dita"
+id="GUID-7E24D3BE-DE63-4756-9EA9-94D890B679AC"></topicref>
+<topicref href="GUID-57BBF5C1-C08D-59FA-8F10-F180A82306A4.dita"
+id="GUID-994542C9-5A65-4C5B-AE8D-A9465C966D63"></topicref>
+</topicref>
+<topicref href="GUID-016876C8-7E13-5A3E-9A15-992B7EEEEA38.dita"
+id="GUID-88F94E1A-53C3-4A06-BD6B-AF7A335427ED">
+<topicref href="GUID-209F19E9-B61B-5758-B742-CA02B8BD5B02.dita"
+id="GUID-B0696BE8-FBEB-435B-A7CB-1B244C6327B7"></topicref>
+<topicref href="GUID-D82FBEF6-D5F1-409E-AD8C-1CA516F8D318.dita"
+id="GUID-785E152A-5BA0-4496-A0D4-3CCFAEDCFC03">
+<topicref href="GUID-33108CC9-3FF7-4076-A512-FB6F2F0BCC0D.dita"
+id="GUID-7561408F-BC2B-4BA1-A71B-9E6EBA487353"></topicref>
+<topicref href="GUID-D2605514-03F4-4A07-943B-E180341518D4.dita"
+id="GUID-5F0EB1D5-7AC8-4D79-8D29-757ACBA23722"></topicref>
+</topicref>
+</topicref>
+</topicref>
 </topicref>
 </topicgroup>
 <topicgroup id="GUID-985E4427-C44D-4746-9C44-9C40DA94BD49">
@@ -1656,58 +1726,6 @@
 </topicgroup>
 </topichead>
 </topichead>
-<topicref href="GUID-DD3783B2-B8ED-4CD4-AAF6-75EC8B53B8EF.dita"
-id="GUID-9A297D81-2483-4307-A0B4-DEF9D9C3C775">
-<topicgroup id="GUID-796DFD35-6BE3-48FB-8CFF-FD613483EE6E">
-<topicref href="GUID-6EF9F8EA-AD61-4AEA-9457-FE645EED2E4D.dita"
-id="GUID-5C797E9E-84EB-446B-89E8-F4A5808009D6">
-<topicref href="GUID-6067DF61-D32F-4029-ADCD-9E69CA564212.dita"
-id="GUID-64C958E5-E76B-445E-A2AE-9144314B9242"></topicref>
-<topicref href="GUID-04B044E7-5F10-47BC-B95F-27B62C2870E8.dita"
-id="GUID-18A5CB05-4BFB-4731-9A1E-9C0A37D7DF1E"></topicref>
-<topicref href="GUID-26435FE1-D912-4AA2-96EE-82B35DA231E6.dita"
-id="GUID-B51CA5B3-3677-4254-8345-28A622693D50"></topicref>
-<topicref href="GUID-6146A5BB-1AC1-48D4-9EB8-7FA4EC35BFF2.dita"
-id="GUID-6EB84ABC-DA1D-42AA-8BC0-D982D50DF3E0"></topicref>
-</topicref>
-</topicgroup>
-<topicref href="GUID-F5371A59-A637-4623-A2C0-9A8B8E5F3CFB.dita"
-id="GUID-78C6B864-7B72-4243-B599-E1A89D728F9E"></topicref>
-<topicgroup id="GUID-A095757E-E39E-4A03-833A-B793BF0591EB">
-<topicref href="GUID-EEF2F892-8900-475F-926B-A49D0D98C1C6.dita"
-id="GUID-EBDDDF1A-4920-463B-A923-E0DD5A9591BD">
-<topicref href="GUID-0BAE2D0E-604B-4A62-B5EB-AC68EAF7F589.dita"
-id="GUID-FE48E146-F5F8-46D8-8A26-A605119E2F8F"></topicref>
-<topicref href="GUID-72DE3EB1-1AF5-4157-8B99-A1C7143DAD2C.dita"
-id="GUID-9C21A75C-7C7A-4485-B5A0-9E8398F6FBD4"></topicref>
-<topicref href="GUID-ACF69260-D643-4709-8DAB-33FD92940F86.dita"
-id="GUID-17059B9C-E2BB-41EA-8A3E-66B3AE99DAC7"></topicref>
-<topicref href="GUID-D458A54E-0D19-479C-B628-001C704E1CB3.dita"
-id="GUID-69DF74CA-81BB-4FF5-AA4E-81B9BFA17F18"></topicref>
-</topicref>
-</topicgroup>
-<topicref href="GUID-644810EC-7D5E-4569-834B-C207447B88A3.dita"
-id="GUID-A38E7B52-9B9D-49DA-AC66-DF45E4A93D5F"></topicref>
-<topicgroup id="GUID-F4681B8E-B1C6-4BDC-A6CB-B793A3FEC78C">
-<topicref href="GUID-4067B0E6-9431-4325-95F7-78B143EED326.dita"
-id="GUID-8D780712-F018-4EC1-ACCA-56C9F8ABF6E1">
-<topicref href="GUID-2F264A2A-FA7A-4718-A6B6-9A764C1D1E0E.dita"
-id="GUID-AC3A71E4-2BF8-4410-9DC3-0182A986D0D5"></topicref>
-</topicref>
-</topicgroup>
-<topicref href="GUID-AE979B97-5610-42F3-99A7-5A3D66D3C2E6.dita"
-id="GUID-04304A6A-23BB-411F-B30D-A8C01737D49F"></topicref>
-<topicref href="GUID-685C3F33-1530-4984-B125-E4EF8EBB2EE8.dita"
-id="GUID-63588E70-F592-4632-990D-34684513FCFC">
-<topicref href="GUID-E8B0BDC7-714E-48EF-89F3-D8B7B34552ED.dita"
-id="GUID-6C0A5B35-8C70-4B9B-AF0A-03661FB7FD6A">
-<topicref href="GUID-2FDD1CAE-0FBF-4CC4-9C16-5AE4F538ED85.dita"
-id="GUID-478D4855-4DBB-43D1-B580-CD66B4F46FD3"></topicref>
-<topicref href="GUID-4352F2A7-2498-40AA-A335-4A8407497976.dita"
-id="GUID-46C4B86B-5613-4E07-BBF4-7482AC949322"></topicref>
-</topicref>
-</topicref>
-</topicref>
 </topicref>
 </topicgroup>
 <topicgroup id="GUID-E49D0763-657C-429A-B9BB-B1547CD04CF5">
@@ -1845,8 +1863,6 @@
 id="GUID-07673129-E9CE-4FBB-A75C-9330BB6D8F88"></topicref>
 <topicref href="GUID-ACE7D63F-9544-56DB-A72D-FFB0A35661EC.dita"
 id="GUID-5B1AE236-0F33-49C6-9D4E-571D8B452954"></topicref>
-<topicref href="GUID-504EB40B-AC98-5AB2-9263-185887C29A7E.dita"
-id="GUID-98584E4F-580B-4F12-8E9E-EA1D90F18F12"></topicref>
 <topicref href="GUID-E4874B22-474B-56D0-8A8A-C60411D3CBCB.dita"
 id="GUID-FFF080C6-4327-4BEC-AD86-A418447C6733"></topicref>
 <topicref href="GUID-9D56FF77-A20B-5BFB-8DE6-19CC4535DFED.dita"
@@ -2105,6 +2121,49 @@
 </topicref>
 </topicref>
 </topicgroup>
+<topicgroup id="GUID-FD2B499F-3966-40D7-8970-F2D0E7BB49CA">
+<topicref href="GUID-0522B178-0FD5-4416-B7FE-390749F7A13D.dita"
+id="GUID-1327B9C5-2C82-4962-A06D-30E6E5EA813F">
+<topicref href="GUID-3AF6CE70-DDBE-53F3-ABB6-7E78A300F14B.dita"
+id="GUID-0365E3EA-4974-43A4-A824-EF689E0A9B8C">
+<topicref href="GUID-40E64445-CBA3-59E4-A777-937609B311C9.dita"
+id="GUID-FAD24B62-5EE8-495A-A3B2-58E0DA4ACF5D"></topicref>
+<topicref href="GUID-12D1EE2F-AF1E-4C53-ADC8-D8BC205BD063.dita"
+id="GUID-9FAC7774-8025-4EA4-BD75-62561B867F3F">
+<topicref href="GUID-CF34D34E-FF17-5395-A1CD-768414E0B014.dita"
+id="GUID-ADA779A4-CF81-4692-935A-3906F72ED0CD"></topicref>
+<topicref href="GUID-36FD1F9A-FA1C-5822-A95F-720600E8F418.dita"
+id="GUID-2B962216-4FEA-4953-A44C-27A72C89BE31"></topicref>
+<topicref href="GUID-1361A508-D3DB-53F8-B1A1-34646F777B88.dita"
+id="GUID-981FA912-C65A-4AC2-B895-617D5C0CDEF3"></topicref>
+<topicref href="GUID-58ACE248-BF26-57BB-B5D2-C772FC046222.dita"
+id="GUID-CF6C70B5-AF81-4B0F-BE88-1687DA662711"></topicref>
+<topicref href="GUID-DCFD4CA0-6FB2-5339-BCFF-5B48E3E7E455.dita"
+id="GUID-EC080E73-7862-4887-81CD-DFF7D84CD610"></topicref>
+<topicref href="GUID-200BA7B9-70A1-5D15-8CFF-FBD18930757D.dita"
+id="GUID-D7454A11-C454-43BF-85F8-130169C5D29B"></topicref>
+<topicref href="GUID-0E226657-1A19-5601-B392-4E9A0BDB4014.dita"
+id="GUID-457A9CA7-619E-41B8-A920-9A2BA95AB0A0"></topicref>
+<topicref href="GUID-92156269-0645-54AB-9075-EE7708D333F4.dita"
+id="GUID-D42E845F-D47C-43D2-8E79-AA1CA1CB2BE5"></topicref>
+<topicref href="GUID-D541AD43-0832-57CB-BFB3-2FE386942F9B.dita"
+id="GUID-C7F8FA35-88B1-46AA-88F2-CFA2605051B4"></topicref>
+<topicref href="GUID-9E83A253-3C7F-58E9-94FE-EC127BE9C026.dita"
+id="GUID-2E6CB30F-BFCA-40B0-A61A-211D10165FBF"></topicref>
+<topicref href="GUID-62E1A29B-E95C-5E5B-969B-410A78114A3B.dita"
+id="GUID-8ABC6079-2179-4809-9C6A-C7DC054FA887"></topicref>
+<topicref href="GUID-358A2262-2C01-509D-AB33-665A9FFF8E04.dita"
+id="GUID-1D5E1861-28D9-4366-84FC-36456E74FC86"></topicref>
+<topicref href="GUID-49700B0C-AEDD-50EB-874E-45025CF474BE.dita"
+id="GUID-1E6B779C-1F7C-4672-8B6A-365A96DDA4C6"></topicref>
+<topicref href="GUID-215528EA-E12E-590A-9C17-394F36F2C268.dita"
+id="GUID-3DE67BB1-BDCA-4A9F-B4F9-597A7C85D9B7"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-A0C0BEBA-1976-5D68-B4EF-C3727DF163A9.dita"
+id="GUID-46340060-C257-45E0-886A-C1BB1E4280DB"></topicref>
+</topicref>
+</topicgroup>
 <topicgroup id="GUID-115BC50F-F303-4228-90AD-EBC4B96F1518">
 <topicref href="GUID-F8C8CE42-E7C9-5AFC-86BC-B78F677F1B05.dita"
 id="GUID-0944EF05-7348-43C9-9805-664E373ECA78">
@@ -2787,14 +2846,14 @@
 <topicref href="GUID-27CB7E85-8E6F-456B-8B90-55A605A0085E.dita"
 id="GUID-BC28621F-E042-4A86-8AAC-35E164A7A4C4"></topicref>
 <topicref
-href="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-5-1.dita"
+href="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-5-1.dita"
 id="GUID-33A88E7F-D93C-4E9A-A173-7818272BCB8C"></topicref>
 <topicref href="GUID-9A9654C4-4D7F-485E-8253-B2DB25D3DB78.dita"
 id="GUID-909D1DD1-3AF2-4275-9C3B-41F5E7676691"></topicref>
 <topicref href="GUID-E0D4EFAC-85E6-4EF6-B65C-1D1602E3A8FD.dita"
 id="GUID-0F9308F0-F190-4A90-AB49-FCDB09117528"></topicref>
 <topicref
-href="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-12-1-1-8-1-5-1-5-1.dita"
+href="GUID-1B93FFF8-5DDD-491F-86F5-5246B321D3C2-GENID-1-12-1-13-1-1-8-1-5-1-5-1.dita"
 id="GUID-D15393ED-1FE8-4E12-A6BE-1C09E2BA95A2"></topicref>
 </topicref>
 <topicref href="GUID-726E3025-173C-4A91-8959-49F11DACA92B.dita"
@@ -4564,8 +4623,7 @@
 id="GUID-258BC0EE-1FD7-4F36-A4C6-A09D5AE683A9"></topicref>
 <topicref href="GUID-4862EA2E-6BFE-5E11-B527-7EBA94BB0EA2.dita"
 id="GUID-D642BF04-F3E0-4B75-9ECF-4C90C387CB1B"></topicref>
-<topicref
-href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378-GENID-1-12-1-17-1-1-8-1-1-9-1-7-1-5-1-6-1-3-4.dita"
+<topicref href="GUID-6B9041F7-79A6-5CCA-9B4D-B8EF377FD378.dita"
 id="GUID-B2C22F4A-AA35-4DA4-8B12-71D50A4863FA"></topicref>
 <topicref href="GUID-E7C55048-5B7A-5BF2-B7F4-4D731659B88C.dita"
 id="GUID-79E4CDD2-1C99-417D-BB60-BCC1E18FE0FE"></topicref>
@@ -5327,7 +5385,7 @@
 <topicref href="GUID-E5B5C3CA-B256-5B29-AB90-590676444C85.dita"
 id="GUID-82303849-362C-4442-B279-8B1F3EAAF136"></topicref>
 <topicref
-href="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-6-1-4-1.dita"
+href="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-6-1-4-1.dita"
 id="GUID-57914096-DFC4-493F-9679-1014672D7206"></topicref>
 </topicref>
 <topicref href="GUID-B659AD98-FB73-5C3C-8E13-D2CDBD2B84A2.dita"
@@ -5335,7 +5393,7 @@
 <topicref href="GUID-078E6232-31FA-5582-84B8-F5E3E4B14A05.dita"
 id="GUID-882F02C3-FB19-4884-A6B9-ACC40E53A57E"></topicref>
 <topicref
-href="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-17-1-1-9-1-4-1-22-1-6-1-4-1.dita"
+href="GUID-A0531C8B-22F2-5FAE-9F37-92BACBBD9EEB-GENID-1-12-1-18-1-1-9-1-4-1-22-1-6-1-4-1.dita"
 id="GUID-AF9FBE99-86B3-44FB-8E2A-066252CE5144"></topicref>
 </topicref>
 </topicref>
@@ -6271,7 +6329,7 @@
 <topicref href="GUID-12DA697C-1BB0-489F-98E1-F9B81E4A2F4D.dita"
 id="GUID-445E0BB8-B74A-4711-A8DC-88257489FE8B"></topicref>
 <topicref
-href="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita"
+href="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita"
 id="GUID-B764F84A-665F-42DE-B9A3-8D148A4D87BF"></topicref>
 <topicref href="GUID-E6AF0678-A889-4155-931B-25C1E5445F46.dita"
 id="GUID-2F9FFCCB-4BD3-4293-949B-0A8551E0907F"></topicref>
@@ -6281,7 +6339,7 @@
 <topicref href="GUID-55629D12-06C9-412C-86FE-442577156A3B.dita"
 id="GUID-0581B3E4-EBCA-4563-A927-64EAB9F3F37F"></topicref>
 <topicref
-href="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita"
+href="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita"
 id="GUID-913C2198-E4C5-44D9-809F-551CB70BE9CD"></topicref>
 <topicref href="GUID-404B97F2-9115-4340-8CAC-EEE9F210055C.dita"
 id="GUID-E0A3D732-F29E-40E4-BCD3-8FE6B45C8D76"></topicref>
@@ -6438,11 +6496,11 @@
 <topicref href="GUID-2955A35E-1215-5C4A-9C24-0106FB75E295.dita"
 id="GUID-BF909297-F31B-432F-AA6F-8F8F62AD64B5"></topicref>
 <topicref
-href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"
+href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"
 id="GUID-5DB3EE2D-0563-4E6B-983E-046589EC89EA"></topicref>
 </topicref>
 <topicref
-href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"
+href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"
 id="GUID-C10BD971-2BB4-4EA7-99BD-D7FE3B69FFCE"></topicref>
 <topicref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita"
 id="GUID-EC76D443-5C3A-4E19-8E12-F295BA605160"></topicref>
@@ -6976,6 +7034,17 @@
 id="GUID-C6EBAE3A-28FD-4639-8A7F-87A4F0B05D19">
 <topicref href="GUID-E2252589-DCFB-5272-8FB3-701712D7F417.dita"
 id="GUID-18B4140A-D879-4D0B-811D-87EEAA6912EB"></topicref>
+<topicref href="GUID-81C19443-4925-4949-8473-44370C8ACE90.dita"
+id="GUID-1D45CFC9-62E3-404E-BAF0-0F53AD464439">
+<topicref href="GUID-919E32B1-1316-4B09-B668-E744E78B0B6E.dita"
+id="GUID-1AFD5879-1F47-4729-86D9-7B5565B23142"></topicref>
+<topicref chunk="by-topic"
+href="GUID-536DCEAF-3598-4D3E-A812-E266720F350D.dita"
+id="GUID-EF8B5807-7E28-4C4D-87EC-0CF96E98F643">
+<topicref href="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita"
+id="GUID-4B36407C-9928-46C9-88FF-CC7F4EF74473"></topicref>
+</topicref>
+</topicref>
 <topicref href="GUID-288C200C-760D-52A2-8FC7-E179E5FB1A2A.dita"
 id="GUID-B384CA7D-5721-45A9-A420-01F4A3CA14E2">
 <topicref href="GUID-21D0D9D5-B57F-5F16-A2AF-17BC00DC1B15.dita"
@@ -7240,10 +7309,6 @@
 id="GUID-AE31F011-3F05-42DC-8E3E-FF1A0DA51155">
 <topicref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita"
 id="GUID-8AD6DE6B-961D-4896-9F4D-14AF39E991A9"></topicref>
-<topicref href="GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita"
-id="GUID-A439F393-6887-45EE-9BBA-73BBC6FAFFA0"></topicref>
-<topicref href="GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita"
-id="GUID-D5794A97-FE58-4991-BF1F-D3C2B02016C5"></topicref>
 <topicref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita"
 id="GUID-5B6A4105-E568-422E-893F-1FE9212319BC"></topicref>
 </topicref>
@@ -7915,6 +7980,102 @@
 </topicref>
 <topicref href="GUID-82438A0F-819C-5CDC-81DC-A8BFE3AA4A6A.dita"
 id="GUID-E943B81D-0550-47C9-AE3B-BB7A2E41267A">
+<topicref
+href="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1.dita"
+id="GUID-BF7FE9C0-A5AA-412D-AC78-E9942E8EB268-GENID-1-12-1-24-1-1-8-1-4">
+<topicref
+href="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1.dita"
+id="GUID-689539BF-D0E9-4D72-900E-B7D4F2144775-GENID-1-12-1-24-1-1-8-1-4-1-4">
+<topicref
+href="GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1.dita"
+id="GUID-985BF5F9-750E-4715-8A60-C4BD8542E742-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4">
+<topicref
+href="GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1.dita"
+id="GUID-6DD83483-4294-477B-95E5-DD75E7B578E1-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3">
+</topicref>
+<topicref
+href="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1.dita"
+id="GUID-30782A3C-4E8E-4DD0-8B0B-49C9371285F5-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4">
+</topicref>
+</topicref>
+<topicref
+href="GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1.dita"
+id="GUID-6379A9FB-31B5-4ED2-A808-85E650B28A6C-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5">
+<topicref
+href="GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1.dita"
+id="GUID-5C27F971-7C32-438F-9D4F-37F98873FFD5-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3">
+</topicref>
+<topicref
+href="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita"
+id="GUID-5F455B5F-5830-41FC-A165-2B8235BC350A-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4">
+</topicref>
+<topicref
+href="GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1.dita"
+id="GUID-A505C4FA-2DC1-4C1F-B9C7-C4C4C293A165-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5">
+</topicref>
+</topicref>
+<topicref
+href="GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1.dita"
+id="GUID-5B0F86D9-47A3-4470-B386-80B7AD0E52BE-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6">
+<topicref
+href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita"
+id="GUID-953E748D-FE83-4FBD-8D17-05BCDAD92843-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4">
+</topicref>
+</topicref>
+<topicref
+href="GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1.dita"
+id="GUID-D80C8C3F-6C54-4B9E-AAB1-E017C420AE68-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7">
+</topicref>
+</topicref>
+</topicref>
+<topicref
+href="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1.dita"
+id="GUID-BF7FE9C0-A5AA-412D-AC78-E9942E8EB268-GENID-1-12-1-24-1-1-8-1-5">
+<topicref
+href="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1.dita"
+id="GUID-689539BF-D0E9-4D72-900E-B7D4F2144775-GENID-1-12-1-24-1-1-8-1-5-1-4">
+<topicref
+href="GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1.dita"
+id="GUID-985BF5F9-750E-4715-8A60-C4BD8542E742-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4">
+<topicref
+href="GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1.dita"
+id="GUID-6DD83483-4294-477B-95E5-DD75E7B578E1-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-3">
+</topicref>
+<topicref
+href="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1.dita"
+id="GUID-30782A3C-4E8E-4DD0-8B0B-49C9371285F5-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1-4">
+</topicref>
+</topicref>
+<topicref
+href="GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1.dita"
+id="GUID-6379A9FB-31B5-4ED2-A808-85E650B28A6C-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5">
+<topicref
+href="GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1.dita"
+id="GUID-5C27F971-7C32-438F-9D4F-37F98873FFD5-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3">
+</topicref>
+<topicref
+href="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita"
+id="GUID-5F455B5F-5830-41FC-A165-2B8235BC350A-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-4">
+</topicref>
+<topicref
+href="GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1.dita"
+id="GUID-A505C4FA-2DC1-4C1F-B9C7-C4C4C293A165-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5">
+</topicref>
+</topicref>
+<topicref
+href="GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1.dita"
+id="GUID-5B0F86D9-47A3-4470-B386-80B7AD0E52BE-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6">
+<topicref
+href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita"
+id="GUID-953E748D-FE83-4FBD-8D17-05BCDAD92843-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1-4">
+</topicref>
+</topicref>
+<topicref
+href="GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1.dita"
+id="GUID-D80C8C3F-6C54-4B9E-AAB1-E017C420AE68-GENID-1-12-1-24-1-1-8-1-5-1-4-1-7">
+</topicref>
+</topicref>
+</topicref>
 <topicref href="GUID-7821C498-70A2-5D3C-989A-58CEBAE9162B.dita"
 id="GUID-721FA7AF-9E61-4821-A985-60E530B9BD9F">
 <topicref href="GUID-5F1E5D73-27B5-5C08-848D-361AC2F15B96.dita"
@@ -7973,6 +8134,54 @@
 id="GUID-049291ED-D213-466C-A82F-41F3F3304981"></topicref>
 </topicref>
 </topicref>
+<topicref
+href="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1.dita"
+id="GUID-BF7FE9C0-A5AA-412D-AC78-E9942E8EB268-GENID-1-12-1-24-1-1-9">
+<topicref
+href="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1.dita"
+id="GUID-689539BF-D0E9-4D72-900E-B7D4F2144775-GENID-1-12-1-24-1-1-9-1-4">
+<topicref
+href="GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1.dita"
+id="GUID-985BF5F9-750E-4715-8A60-C4BD8542E742-GENID-1-12-1-24-1-1-9-1-4-1-4">
+<topicref
+href="GUID-01943C50-E3AB-5D5B-BC3D-B399C6BFD155-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-3-1.dita"
+id="GUID-6DD83483-4294-477B-95E5-DD75E7B578E1-GENID-1-12-1-24-1-1-9-1-4-1-4-1-3">
+</topicref>
+<topicref
+href="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1-4-1.dita"
+id="GUID-30782A3C-4E8E-4DD0-8B0B-49C9371285F5-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4">
+</topicref>
+</topicref>
+<topicref
+href="GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1.dita"
+id="GUID-6379A9FB-31B5-4ED2-A808-85E650B28A6C-GENID-1-12-1-24-1-1-9-1-4-1-5">
+<topicref
+href="GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1.dita"
+id="GUID-5C27F971-7C32-438F-9D4F-37F98873FFD5-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3">
+</topicref>
+<topicref
+href="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita"
+id="GUID-5F455B5F-5830-41FC-A165-2B8235BC350A-GENID-1-12-1-24-1-1-9-1-4-1-5-1-4">
+</topicref>
+<topicref
+href="GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1.dita"
+id="GUID-A505C4FA-2DC1-4C1F-B9C7-C4C4C293A165-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5">
+</topicref>
+</topicref>
+<topicref
+href="GUID-8367DC46-FB9C-554F-8DFF-5C0328F59EF6-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1.dita"
+id="GUID-5B0F86D9-47A3-4470-B386-80B7AD0E52BE-GENID-1-12-1-24-1-1-9-1-4-1-6">
+<topicref
+href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita"
+id="GUID-953E748D-FE83-4FBD-8D17-05BCDAD92843-GENID-1-12-1-24-1-1-9-1-4-1-6-1-4">
+</topicref>
+</topicref>
+<topicref
+href="GUID-2F7E988C-C90D-54BA-A4A2-8255EF82135D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-7-1.dita"
+id="GUID-D80C8C3F-6C54-4B9E-AAB1-E017C420AE68-GENID-1-12-1-24-1-1-9-1-4-1-7">
+</topicref>
+</topicref>
+</topicref>
 <topicref href="GUID-23F51525-FD4C-50E4-9C04-D1ACDD21A95F.dita"
 id="GUID-A3FB465D-AA2E-4D4A-8077-8692F555D87B">
 <topicref href="GUID-55C8AEBD-7BB2-524C-9AED-5DFFD42AAD25.dita"
@@ -8044,6 +8253,623 @@
 </topicref>
 </topicref>
 </topicgroup>
+<topicgroup id="GUID-D946CA29-9245-44E4-8B59-895A4C9EE281">
+<topicref href="GUID-F22B8035-CD08-4181-B03A-759E92CA967B.dita"
+id="GUID-FA3B6A11-FF8E-49BA-9E5A-E69B2B2467B0">
+<topicref href="GUID-F23BB1F1-CF90-597F-8410-34AB8B567501.dita"
+id="GUID-1B0E3D57-131F-4DF3-85B8-7C34260C8A4D">
+<topicref href="GUID-A1227CAE-EE08-5EAF-8D15-81465467C0C0.dita"
+id="GUID-53731E85-F541-4D23-99B3-87495AB22303"></topicref>
+<topicref href="GUID-F43E458D-6650-5BB0-871D-2E4EB1353C48.dita"
+id="GUID-2B2F6F61-781E-4813-AE96-A70C55BAE47E"></topicref>
+</topicref>
+<topicref href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita"
+id="GUID-70B17D27-0AE8-4065-B666-95923154C359">
+<topicref href="GUID-3A6BEF56-ADBF-543E-B70A-52195DE3E92A.dita"
+id="GUID-458D528A-4800-4791-9B5C-97FA83F6969E"></topicref>
+<topicref href="GUID-B82FBA26-6B34-4387-A5BC-758B74F37E5F.dita"
+id="GUID-842E7B84-465A-457C-BE65-70492BF7A9EC">
+<topicref href="GUID-335A4B77-20C4-52B9-88AA-58540269E321.dita"
+id="GUID-FA5D93F9-0CDE-4267-B9C4-5A2D03227B1A"></topicref>
+<topicref href="GUID-9B428B4E-83B7-5EE3-8D63-E2B0602D1D91.dita"
+id="GUID-A60D3F41-B0D0-4ED3-BA90-990D90B034DB"></topicref>
+<topicref href="GUID-CD8A3420-6C9B-5774-86FA-85CFE062C400.dita"
+id="GUID-E28C5263-07FC-4E9F-9B2F-F57146ED96BF"></topicref>
+<topicref href="GUID-62195532-3FD0-5A3B-90E6-D624C4A60594.dita"
+id="GUID-0451FEB7-D5B1-4FBB-91E9-9C2673EE14C2"></topicref>
+<topicref href="GUID-3987D040-27F7-5226-96AC-D578ECA4C0A2.dita"
+id="GUID-736B9C9E-6359-4959-95DA-ACB60DF1F758"></topicref>
+<topicref href="GUID-DA0F4990-DDC4-5B0A-A446-A3C8672DA95A.dita"
+id="GUID-F72F8F44-DC77-4DB6-9EB4-5795D8C571E3"></topicref>
+<topicref href="GUID-01299529-4390-5C16-8459-1D9C1B6F3EF3.dita"
+id="GUID-ECF03B79-BF7C-4E6B-A357-ABB8CE9C19A0"></topicref>
+<topicref href="GUID-6D29FF23-B034-5FE9-90C3-A62CD54D67D3.dita"
+id="GUID-8AA543F5-C34F-4EE1-8205-84EB541EB372"></topicref>
+<topicref href="GUID-7811C33D-96D3-5001-B4D3-92BF44F39B2C.dita"
+id="GUID-9CD9EFC3-4D4F-48FF-B94B-DC254391F9A0"></topicref>
+<topicref href="GUID-20DDA21D-B5DE-5D24-9E75-69C68EAF1782.dita"
+id="GUID-3D3AD723-E44F-4586-A000-FCC250D1A154"></topicref>
+</topicref>
+<topicref href="GUID-A60C4549-9FAA-496A-B743-D395A461B61F.dita"
+id="GUID-DD3A2B4E-704B-4C65-B27F-806B37F13452">
+<topicref href="GUID-3F21D4E3-6F1D-590D-A165-13380F8E98B5.dita"
+id="GUID-FEFD5662-EF22-46DC-B19C-BDF0EF3DDBFD"></topicref>
+<topicref href="GUID-131A9070-AF80-5BC5-91D2-0F1C7019ABF2.dita"
+id="GUID-CE7D2152-B208-439D-8229-94CEE7AD2462"></topicref>
+<topicref href="GUID-7BB38C3E-BEA9-545B-AEC2-5E9078D0B8A2.dita"
+id="GUID-3B37F9F3-F768-45A2-8E0D-3404D877D1AF"></topicref>
+<topicref href="GUID-8FDCABBB-AD6D-513D-9FBF-631DC1846D20.dita"
+id="GUID-A49A9A27-3839-4633-8C31-5DEE05C0047C"></topicref>
+<topicref href="GUID-710FADA2-7A6C-5D60-BCE5-8772071F2BD4.dita"
+id="GUID-1ECCA3BE-7A70-4FCF-AEEB-C9F5DE3F4B88"></topicref>
+<topicref href="GUID-3BDF7402-8AD6-57C7-849A-145E08EC7E86.dita"
+id="GUID-FA7A221F-2305-49E2-ABD3-58888F2B383F"></topicref>
+<topicref href="GUID-32F8114A-B7EF-5B0B-BD9B-0D3C5F09D7E6.dita"
+id="GUID-FED2B728-69DA-4463-B281-B506ABCFAD49"></topicref>
+<topicref href="GUID-0F1D1BC4-C8FB-55BE-83FE-DD604C4A9CA3.dita"
+id="GUID-302D0879-2CDA-4523-B45A-371D6029D8D8"></topicref>
+<topicref href="GUID-0A66A882-09C8-5BB6-89A2-87133BD63338.dita"
+id="GUID-4B278346-4229-410D-8DDD-9D3134B2C9F3"></topicref>
+</topicref>
+<topicref href="GUID-23F7E848-F4B0-5D37-8C30-E23BEDC77351.dita"
+id="GUID-27CD04E3-8EBF-4AF0-9FEA-ADCF9C8F85FA">
+<topicref href="GUID-579EF7F5-EA93-40D1-917F-95B966D1BAB2.dita"
+id="GUID-B8296515-B8F3-4EE5-8D26-C9B38204D517"></topicref>
+<topicref href="GUID-CA933F35-7508-5C98-9DB6-2492803A2183.dita"
+id="GUID-4A0A4659-6436-42A4-ADA6-9E028781E659"></topicref>
+<topicref href="GUID-BF8C56B7-1F39-502F-B9CA-81E9272CC945.dita"
+id="GUID-188F11E7-D6F8-4365-99E5-1C7C095172EF"></topicref>
+<topicref href="GUID-E3981A14-DD2C-5582-A250-C2AD358729FD.dita"
+id="GUID-6FF106F9-23C8-4DD2-A585-25EB9695E17D"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-34B36F04-D707-5357-8073-3B9FF7B95B22.dita"
+id="GUID-9C71A396-3599-4961-A7E5-349D2BB11660">
+<topicref href="GUID-06730728-30C5-51FD-BD37-FB62F2958D28.dita"
+id="GUID-D3ED738B-2D63-4C16-A468-DC91E5E10C54"></topicref>
+</topicref>
+<topicref href="GUID-6061361C-01F7-5BB1-87E1-46CBF9CCC44C.dita"
+id="GUID-AA85FFB0-57B2-4786-A0B5-2B70FC999EB3">
+<topicref href="GUID-49363088-CE0B-558D-8E86-48400E4F7C2F.dita"
+id="GUID-F7B959D6-C63F-48D3-9C1B-17F05A9E30AE"></topicref>
+</topicref>
+<topicref href="GUID-27E38FBB-F417-56C8-BFCF-B32215668902.dita"
+id="GUID-24210A19-0D21-4EF5-BB2E-5124E1D7B929">
+<topicref href="GUID-8D7AEB5A-9A88-5B6D-B6B0-7126A56AA495.dita"
+id="GUID-AF621141-67FA-454C-BBC5-AC3D448E7A06"></topicref>
+<topicref href="GUID-2A39CCBD-CADB-56B7-872A-1EC617AC7D93.dita"
+id="GUID-5CFD489C-5931-4D51-A986-3EB653F8903E"></topicref>
+<topicref href="GUID-082E47B3-8AAB-51B7-93F9-3C528B97D0A9.dita"
+id="GUID-3CB76CB0-03C0-4052-B49B-5C73BF3C2C94"></topicref>
+</topicref>
+<topicref href="GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB.dita"
+id="GUID-64AB7360-E13C-4165-97EB-CD25389742F4">
+<topicref href="GUID-F8E4D4AC-878A-52C5-A04D-9E116A0087D5.dita"
+id="GUID-BB4D9277-EB70-40E6-A07C-14DCEB700482"></topicref>
+<topicref href="GUID-BC67F13E-4B5A-5078-AE9B-826304BC14FD.dita"
+id="GUID-B09F44B6-7A17-4CE2-B073-66851164E2FD"></topicref>
+</topicref>
+</topicref>
+</topicgroup>
+<topicgroup id="GUID-6B89EEDD-DF01-4508-8F2A-2E4536A0DC20">
+<topicref href="GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita"
+id="GUID-81FE6296-A5EF-4069-BFC1-5ADD85AB48FB">
+<topicref href="GUID-BC191AA8-696F-51A2-801F-B3F952037F54.dita"
+id="GUID-8700FE0E-8762-44D0-AA4B-5365C740A2F4"></topicref>
+<topicref href="GUID-6F73ED8C-E259-5717-AB84-0C2933A866DA.dita"
+id="GUID-03A19A75-0451-47BE-85CB-EB97B4964AD7">
+<topicref href="GUID-FB2CAA46-8EBB-5F76-847C-F3B953C9D31C.dita"
+id="GUID-179A4E83-AC80-4508-B069-0DD22C906407"></topicref>
+<topicref href="GUID-911E9F7E-D0AD-55EC-A3F4-1D427F803780.dita"
+id="GUID-74CADC8D-2CFE-47A2-9EF3-714460475F06"></topicref>
+<topicref href="GUID-5C58F7D1-D672-5B6D-AD48-863EC68F7446.dita"
+id="GUID-BFD81FDB-B035-43D6-9D05-0A9F4698BA3A"></topicref>
+</topicref>
+<topicref href="GUID-BA362536-C9C9-5BA4-BEE3-0E1AD7FA45F1.dita"
+id="GUID-A28EE2E1-FEA3-4165-B85D-E13F0A63F897">
+<topicref href="GUID-5329AE68-39E0-55E7-9878-2D8FF9E29B21.dita"
+id="GUID-95A7A17B-FCEA-4E2B-B097-305272068CA5">
+<topicref href="GUID-1A5C7320-B017-5CD9-B3EA-1301CC08A762.dita"
+id="GUID-BC0AAD69-BF55-40FD-B59E-ADD2CDCB0D68"></topicref>
+<topicref href="GUID-66022FF4-3044-51E6-88CE-FE3B1283C0CB.dita"
+id="GUID-631EDBEE-E446-4D64-B9F8-625C3B8CCE04">
+<topicref href="GUID-6BE03135-6192-5520-AE8F-80BDB3187259.dita"
+id="GUID-DF806A31-D614-45C8-9FCA-09F068DC3F58"></topicref>
+<topicref href="GUID-4E838A77-C7B5-5B1F-93F5-F3577901914B.dita"
+id="GUID-4734154E-C745-407D-BC54-275CD0AD1FEE"></topicref>
+</topicref>
+<topicref href="GUID-B2089965-546C-5FF2-8596-13A2221E02E6.dita"
+id="GUID-4C38BE3E-0AF3-4FD2-A6A6-EF25682A6879">
+<topicref href="GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita"
+id="GUID-B8D8AC14-CE7F-4A75-988D-57FFA9291BBA"></topicref>
+<topicref href="GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita"
+id="GUID-4512D3AC-EB32-431D-8138-BE8E4D774BFC"></topicref>
+<topicref href="GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita"
+id="GUID-2A307384-62F7-4776-AFE2-2FAB39D03054"></topicref>
+<topicref href="GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita"
+id="GUID-D38B8430-A4C2-435F-8ECC-1F3053778ED3"></topicref>
+<topicref href="GUID-CCD3B91F-9E7F-5CE2-8AFC-4ABF787E5614.dita"
+id="GUID-151600CE-663F-480F-874E-645AEE1FE813"></topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-E6C91CF2-A616-5E52-8BB2-630C42C8D540.dita"
+id="GUID-AE6F8F97-E5FE-43C0-A44E-5D287FD3E9C1">
+<topicref href="GUID-E1488F64-D550-5AE6-8308-47690AFA2079.dita"
+id="GUID-572CA913-2D9D-4098-BFE0-2D1E100719A4"></topicref>
+<topicref href="GUID-986EBD34-DE90-59BA-8A5F-E6E48845F18E.dita"
+id="GUID-87B344C2-4A07-4132-ACC0-D4F2A0309A88"></topicref>
+<topicref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita"
+id="GUID-FF06ED20-C859-4966-BD5D-A8676505500F">
+<topicref href="GUID-84B6389A-55CC-53EB-8725-65F753FD7217.dita"
+id="GUID-20FA7397-9C02-4B8C-95EC-DBC1EEEB564B"></topicref>
+<topicref href="GUID-E6762A98-36A4-5860-B3F9-2AEBBCEAAB2A.dita"
+id="GUID-2CA1CAA3-D775-435E-BA56-D0A1151BCDB2">
+<topicref href="GUID-2071FA59-36AE-5779-BFF2-2A5DAED915EE.dita"
+id="GUID-518A73E4-350C-4410-BB6B-6A7A79A57D0B"></topicref>
+<topicref href="GUID-77578F7E-E6E0-5177-99B2-E586DD6DD0C6.dita"
+id="GUID-D9FDA8F5-010A-4370-8598-D10CFDDCDD9F"></topicref>
+<topicref href="GUID-5BD60B1B-CEB7-557A-A9DC-1BB64575F3E2.dita"
+id="GUID-BE17DC48-4187-40B5-AD82-49BBC35F3DEF"></topicref>
+<topicref href="GUID-9993D750-9116-55B2-812A-7A92C50F467F.dita"
+id="GUID-69EC19C9-2FC2-46E4-8798-35F6264D7ED9"></topicref>
+<topicref href="GUID-29677CD7-DC09-590E-85AC-FF563233A205.dita"
+id="GUID-67C1D1B1-87BB-45C7-A8A0-1DD7B36F9122"></topicref>
+<topicref href="GUID-B5CC77D2-5871-51D8-B359-77EFC081B423.dita"
+id="GUID-6D58E4FE-067A-4229-BAE8-DAC2697BC9D5"></topicref>
+<topicref href="GUID-B6912FE7-4C2A-5FC7-BDA8-702CA2C0214A.dita"
+id="GUID-C661840C-35E3-446D-9A7A-BB96D248CE04"></topicref>
+<topicref href="GUID-B9079564-5E52-5221-AA2D-8B2EC2D79D21.dita"
+id="GUID-A765E206-FE79-4C0A-8722-A518D3F4B96E"></topicref>
+</topicref>
+<topicref href="GUID-8F457DE7-DAC2-56DF-8D6D-76D86584CC79.dita"
+id="GUID-BBE06DCC-3579-4CB4-9A4E-7184B582D674">
+<topicref href="GUID-1B20D403-5FC9-5A61-9D2B-8ACB9D73423C.dita"
+id="GUID-42DCB634-5E0C-45A7-B6EB-EF889F7B8010"></topicref>
+<topicref href="GUID-4F722225-57E2-52DD-81EA-8DD97728B07E.dita"
+id="GUID-1AD524DE-DF3F-406B-B603-B67E75D2AA84">
+<topicref href="GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C.dita"
+id="GUID-8E1A15AC-72EC-472B-9841-7308B6F6B90B"></topicref>
+</topicref>
+<topicref href="GUID-920CF819-645B-5705-8017-C1FAD7C6ABAF.dita"
+id="GUID-A7DC78FF-8A85-49F1-82FF-7FED5C5E4108">
+<topicref href="GUID-7B5DBFBC-E67F-56F8-AFF8-DFF5019D707F.dita"
+id="GUID-1663813E-8571-432A-841F-F4EE760EED50"></topicref>
+<topicref href="GUID-E99E0092-5F1D-5715-945E-E83C307357C3.dita"
+id="GUID-BECE57F5-CEC0-4A4C-81F8-F8B22CFE45E2">
+<topicref href="GUID-AA9A960A-1070-46B3-BA9B-4D43ACFB5E32.dita"
+id="GUID-7A7A961B-74AC-4708-B94A-F4D38F87FA8C"></topicref>
+<topicref href="GUID-11761887-0C37-46E6-A7F6-E6F7FDE7C5A1.dita"
+id="GUID-9546A166-BE27-4363-91E9-6C609A1F53A4"></topicref>
+<topicref href="GUID-9477D9DC-7B89-4D60-A7DF-B89411379A52.dita"
+id="GUID-25B9E299-90E8-4B0F-B94C-FB840A5349A7"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-A137553F-3B5D-5116-A793-66BF257F42B4.dita"
+id="GUID-C6105518-FA2A-4459-AD08-273C785BB3E3"></topicref>
+</topicref>
+<topicref href="GUID-17721C5E-A2ED-5430-9025-523B94D70FBB.dita"
+id="GUID-730843CD-3F31-4EDF-8E18-99B178379EF5">
+<topicref href="GUID-AC2903B2-0C3A-5104-B2A2-866DDAAAE2A9.dita"
+id="GUID-8475217D-A5AE-4281-85D7-50ECCFD88276"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-AD61E913-9720-5F6B-8386-680384165E87.dita"
+id="GUID-7FC26B2D-155B-4855-8052-E711E4C63AA9">
+<topicref href="GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita"
+id="GUID-AE583E7E-9FE2-44BE-8D49-C18931F04E2D"></topicref>
+<topicref href="GUID-92FC3BBB-9C80-5665-8421-5C6A11BE4A5C.dita"
+id="GUID-25E5FBBA-5592-4FD2-9DF5-304A07153493">
+<topicref href="GUID-DD95C4FA-B044-5A0E-A556-C7171AEFED8E.dita"
+id="GUID-81702CDC-C64E-42E9-AF2E-F2637E4E31ED"></topicref>
+<topicref href="GUID-74D8A4FA-5AB9-5762-BCA6-7686FB5D35DE.dita"
+id="GUID-E3A0149B-9B56-4488-B43E-1495DFD7B038"></topicref>
+<topicref href="GUID-7CF8DC4A-1BD8-517F-9E96-AFB30EE8F938.dita"
+id="GUID-B2B4DDA7-284E-41A5-AEBB-8052FD2A9F34"></topicref>
+</topicref>
+<topicref href="GUID-4AAE6CC7-7F0B-51B7-8F6F-7E538841DF41.dita"
+id="GUID-40259406-8348-4D3D-AE7C-3A5285D6B2E6">
+<topicref href="GUID-6AEA1BCF-EF19-5F6A-9452-E1149C949727.dita"
+id="GUID-84A9DFF6-8461-4AAA-A4DC-35DA77851448">
+<topicref href="GUID-31FB604F-893D-4829-8C69-F7056C9A0F46.dita"
+id="GUID-F40630F9-236C-4905-BC93-7F9D5D2F33E8"></topicref>
+<topicref href="GUID-2A69B0EE-FA13-49C3-B4FE-50D0910FA37D.dita"
+id="GUID-8ADD08D1-D223-468B-A444-93F47CC7910A"></topicref>
+</topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-A40376B6-8B2B-551A-B72F-CFCADBC84BE7.dita"
+id="GUID-BD331CE9-8083-435D-BD8A-400663B825DE">
+<topicref href="GUID-8933D7D5-F84D-5BF2-BF2A-832DA183E26B.dita"
+id="GUID-71404B23-2AAE-4F1D-80C3-5B739FFBE0E8">
+<topicref href="GUID-2BB17FB4-07A9-52E3-A650-570A16FA771D.dita"
+id="GUID-CD230DF1-2F5F-47DC-A7CA-14B08D65273B"></topicref>
+<topicref href="GUID-9CB10936-3201-546D-BC81-B53293EE1933.dita"
+id="GUID-E242CC45-255E-4885-A657-05DAD6026877">
+<topicref href="GUID-362FF929-EC18-5FE9-8FB0-DAFF5D559725.dita"
+id="GUID-341A0319-8C5B-41D8-A79A-D39006BA7505"></topicref>
+<topicref href="GUID-6FCAB5DC-D3E9-5406-8B9E-E1B1CF18C73F.dita"
+id="GUID-0B4E50C5-E802-4EFA-875E-95EA98B15743"></topicref>
+<topicref href="GUID-7A91990F-6271-5EE5-859A-F66BC64CA154.dita"
+id="GUID-E8CEA7E7-E0BD-4AF3-BBAB-C6656934936D"></topicref>
+<topicref href="GUID-6849E256-6719-5788-BCB2-7557F09AAAD0.dita"
+id="GUID-D83BBCCE-45DE-4637-A195-77B313CA83F2"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-4B03733F-D84D-5A28-B772-2E256D86ABC7.dita"
+id="GUID-BD938D78-4DEE-4978-BE52-B9C83F1A1200">
+<topicref href="GUID-04FB9E08-DDFE-53B1-B8E1-687A1AEC4286.dita"
+id="GUID-DB00D96E-34D2-4A16-A8FB-C2D68AC3C31E"></topicref>
+<topicref href="GUID-B1B3C5E6-9F38-5A55-A30E-4C7591B446CC.dita"
+id="GUID-9A6198B9-DDCF-4CDA-BFCD-1DD148BF41A0"></topicref>
+<topicref href="GUID-7C96B363-7891-50D3-A40F-92B9CBC4624C.dita"
+id="GUID-5BB27E4A-87B0-468C-82FF-2B44B87CA0B8">
+<topicref href="GUID-9473F793-29ED-42ED-933B-A995E56E71CB.dita"
+id="GUID-37B238E4-B966-4336-A50F-C41C995F9835"></topicref>
+<topicref href="GUID-13BDBFA4-49FE-4D62-8B5F-BE3DF3ABAF3E.dita"
+id="GUID-A0F2777C-A4F6-4C2E-82F5-54231CB5C56C"></topicref>
+<topicref href="GUID-D8A18789-3A3E-4E4A-9D34-35F83BF71449.dita"
+id="GUID-A1026EC8-97AC-4994-8159-CF143550DF52"></topicref>
+</topicref>
+<topicref href="GUID-C119A79A-D705-50B3-B174-70F517947BBD.dita"
+id="GUID-BFFEC8C1-D62F-4B38-8ED4-4F2EB974C913"></topicref>
+<topicref href="GUID-6BD23C4F-CBF7-584D-81D9-EB8D14DC3081.dita"
+id="GUID-53B91569-D9D6-4DF7-A409-4CA13444C8B3">
+<topicref href="GUID-C83D7112-0CF4-588D-8A0C-D27AB387F4D3.dita"
+id="GUID-1CBF0E66-846A-4793-86B1-9EAA9BBC8D3E"></topicref>
+<topicref href="GUID-46D6DF29-38F7-5842-9FDD-82754AE8D9A0.dita"
+id="GUID-C05DC20B-2EB9-4A71-AD50-3CFEB1CFD2D6"></topicref>
+<topicref href="GUID-FF6F26C7-0037-5117-9232-6FAFFA152F0C.dita"
+id="GUID-72D9725E-B051-4162-A7FD-4FAE74F7C4EE"></topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-861D7EC2-63BD-5C71-AA48-A76C40D04E1F.dita"
+id="GUID-5D5109DC-E292-4A1D-A61A-8049F869D976">
+<topicref href="GUID-A6FF1073-AA55-588D-8DC1-0A8C16864891.dita"
+id="GUID-B7483813-8653-42F7-AD4D-7D43B8FD343C">
+<topicref href="GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita"
+id="GUID-D815DF0D-B36F-412B-8F63-92982D7CCD29"></topicref>
+<topicref href="GUID-B89AA86B-F7E9-50DF-9DA5-6D3A21469EA8.dita"
+id="GUID-1FD4AEF1-C230-4626-AA09-7BBCF308AEA1">
+<topicref href="GUID-064302D7-3598-57C2-89B7-CED294BE78AE.dita"
+id="GUID-B29253E5-53F4-450A-AA28-F50D12D1B7EA"></topicref>
+<topicref href="GUID-8D4F44CB-0B4D-51EE-A2D7-A1BBB3DD326A.dita"
+id="GUID-85067943-1B26-4580-BC50-724D1743BE2B"></topicref>
+<topicref href="GUID-44345B7F-77DE-5D00-BA0B-BFE40E664DA8.dita"
+id="GUID-99BE5EDE-08A9-4E59-AF5C-33DDDC2D896C"></topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref
+href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita"
+id="GUID-C191CF05-80C9-4CDE-9222-64CAAE873AF2">
+<topicref
+href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita"
+id="GUID-F9F9E6B6-CD66-4E32-93DA-DD50983342A0"></topicref>
+<topicref href="GUID-1E1B040A-1C18-4F62-95F9-CE0ECE39C430.dita"
+id="GUID-0C582CB0-D98F-425E-A836-08A3A9B316F3">
+<topicref
+href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita"
+id="GUID-29A13DB0-8EB9-4627-BECD-4267A71D5A5E"></topicref>
+<topicref
+href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita"
+id="GUID-2C963B20-7867-46F3-B8AA-9D00081F324D"></topicref>
+<topicref
+href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita"
+id="GUID-76BEAB4C-4A39-4E09-A2A9-B091EF57B256"></topicref>
+<topicref href="GUID-73491C1D-6C74-5434-B2F3-4AF416AE37B7.dita"
+id="GUID-F1BA3C4F-A326-468D-BBE8-D6A70601229C"></topicref>
+<topicref href="GUID-66BBA81D-2488-50B8-8822-43AAAA139DDE.dita"
+id="GUID-F6F1085A-206B-4B37-9D46-3B5B6FD42D6F"></topicref>
+<topicref
+href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita"
+id="GUID-9B8D7FDE-4748-46C6-B1B4-6C1038B80EF0"></topicref>
+</topicref>
+<topicref href="GUID-268E2151-C758-46BF-86EB-F7D6EE44DBCF.dita"
+id="GUID-C70260A5-8AA9-4334-ACFF-4B2876C1D1AC">
+<topicref
+href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita"
+id="GUID-C0AD5D5D-A557-4C22-AC72-CED6B066F2CA"></topicref>
+<topicref
+href="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita"
+id="GUID-BCBCA7D8-ABC3-464F-8185-BF3B8387B773"></topicref>
+<topicref
+href="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1.dita"
+id="GUID-3022653A-422F-4394-A85E-1A3F0105D7FE"></topicref>
+<topicref
+href="GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-9-1-5-1-7-1.dita"
+id="GUID-2973CB92-EA33-4625-8A18-CDA1903DD7C7"></topicref>
+<topicref
+href="GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-9-1-5-1-8-1.dita"
+id="GUID-BF22C527-E4E3-4053-9BD3-A110B5406CB8"></topicref>
+<topicref
+href="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1.dita"
+id="GUID-A825C19D-8A93-4E69-A1E2-EC8804857911"></topicref>
+<topicref
+href="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1.dita"
+id="GUID-CBF062A8-12EE-430E-8F92-E3DD42D80FEC"></topicref>
+<topicref
+href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita"
+id="GUID-C049954F-B99E-4C21-AE24-3B2AA8560923"></topicref>
+</topicref>
+<topicref
+href="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1.dita"
+id="GUID-B6FB1FAD-4AE3-4C48-ADE3-550E585E2C03"></topicref>
+<topicref href="GUID-D88AA184-6E22-5069-A249-5AD83F548C56.dita"
+id="GUID-DA6A1AA3-6D8C-4ABF-911B-9C03BF22F9A8"></topicref>
+<topicref href="GUID-0CD273A2-434C-52E0-B840-CCF24B2853B8.dita"
+id="GUID-E1978640-98F2-4BD5-93EA-B7DFEE4B0F37"></topicref>
+<topicref
+href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita"
+id="GUID-F6B0D940-4C97-4182-95A3-2B03653F843A"></topicref>
+<topicref
+href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita"
+id="GUID-830762EA-A28B-49EC-AD6E-CF3B4ED3D5A7"></topicref>
+<topicref
+href="GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-9-1-11-1.dita"
+id="GUID-294F7D23-FC8D-4469-858E-6FF91AAB191F"></topicref>
+<topicref
+href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita"
+id="GUID-674CCEFB-4394-40C7-B6A4-EEA2379DF70D">
+<topicref
+href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita"
+id="GUID-0ECBF13C-B1E6-4ED7-879D-1EC016CD268B"></topicref>
+<topicref
+href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita"
+id="GUID-85265CF6-3403-419A-B3AB-785E0D789E08"></topicref>
+<topicref
+href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita"
+id="GUID-F10539B3-9DC0-4A61-9DF8-0137D8F22DE9"></topicref>
+<topicref
+href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita"
+id="GUID-D68AF1FD-6FC1-469A-9089-8597ED2EC9CA"></topicref>
+<topicref
+href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita"
+id="GUID-4880B05A-3DD3-4B60-9B29-537C1D462CA4"></topicref>
+<topicref
+href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita"
+id="GUID-5D942423-3591-44BC-B050-BABA95846CE9"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-2663ED06-8C97-5867-B7F6-6167EBFEA223.dita"
+id="GUID-E97BFE2A-0608-471D-B812-EE5E4A15E60B">
+<topicref href="GUID-C3846503-BEFE-5539-B7ED-FD1915D38380.dita"
+id="GUID-A8DD14DB-3BC3-43A5-9D4D-82036F530DB0"></topicref>
+<topicref href="GUID-314992D7-F6E1-5335-9EDA-DE89E67CDF57.dita"
+id="GUID-8696FEBE-B0FC-406E-92C5-115114A470A1">
+<topicref href="GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita"
+id="GUID-C2A7BBB2-E976-41A7-AB11-D2DFDBA60297"></topicref>
+</topicref>
+<topicref href="GUID-C3290344-486B-554D-97FC-42DF48E150AA.dita"
+id="GUID-8B64EF1E-C4B8-4AB0-9A43-47AA9B66B336">
+<topicref href="GUID-AE96F25E-45A2-5C00-9F27-BB3E17C8E6E5.dita"
+id="GUID-8B6A4AF0-E001-42CC-8F67-E3332C094071"></topicref>
+<topicref href="GUID-69B005F8-9038-546F-8ADF-8499984A18E1.dita"
+id="GUID-2A400DE0-D2EF-41FC-BF88-E639CAB8F1A7">
+<topicref href="GUID-E326C00B-6E07-5902-AB19-F00D1761795C.dita"
+id="GUID-019B3E04-FAD8-4FEA-A551-420082AE96F5"></topicref>
+<topicref href="GUID-C93D021E-D99A-5839-AB54-3D8D7620214A.dita"
+id="GUID-B480F1BF-8AA0-48FE-ACD3-906E48E73A64"></topicref>
+<topicref href="GUID-C676C4E6-93AF-59E9-886D-74D59F154490.dita"
+id="GUID-C764BB21-D45F-4341-B1B3-EC4B591187BF"></topicref>
+<topicref href="GUID-A636C1B3-8AB2-52D7-BB19-4CC93F4BDD97.dita"
+id="GUID-5966D456-718E-4EDD-A23E-0DD09CFC6A45"></topicref>
+<topicref href="GUID-A3B58436-07E4-565B-800B-86435D205461.dita"
+id="GUID-48871D91-F0E9-48B9-AAD6-16C30A441545"></topicref>
+<topicref href="GUID-116AB921-B063-5CC2-962F-A74562F20EAE.dita"
+id="GUID-FC851EF5-3EF3-4C1F-9F89-8A72DB9D2986"></topicref>
+</topicref>
+<topicref href="GUID-39B459CD-8210-59B5-95F4-85CE36676735.dita"
+id="GUID-5AAF05A8-C6A6-4C89-BFB8-BF15BAAC4C2D">
+<topicref href="GUID-0F4DE9E0-4A98-5914-9AB1-DD6CE1A5A1F3.dita"
+id="GUID-CA61706B-4880-4342-97A8-606BC42020DB"></topicref>
+<topicref href="GUID-0010EB39-8C23-5453-BE96-4EFC520B6F81.dita"
+id="GUID-B6AB3D64-9307-47B7-BC1B-B331DAEFC217">
+<topicref href="GUID-037225BC-AC45-540E-A899-1B8AB9112D6E.dita"
+id="GUID-12F5AE98-89AC-4E32-AED7-20E40FE24CCF"></topicref>
+<topicref href="GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita"
+id="GUID-2D90018F-6231-4543-9C87-0DCF64E5550A"></topicref>
+</topicref>
+<topicref href="GUID-695FCEB8-EA04-5C1C-A197-648275BA0281.dita"
+id="GUID-B4B84B1D-A5BC-479E-844A-09DBAB1C76ED">
+<topicref href="GUID-C4389D60-2A8D-532D-9D92-E57B0CCD14CF.dita"
+id="GUID-918AB8C6-D7AD-4D97-985D-85294105E999"></topicref>
+<topicref href="GUID-6C6AED40-D5B3-5613-8F92-FD2CB711AE54.dita"
+id="GUID-C9F4B3E4-8114-4DF3-9EAA-3CE83AAEA302">
+<topicref href="GUID-A56D550A-BF08-5D9C-A64C-67E8654F449B.dita"
+id="GUID-0582C3A5-8250-4690-8514-71C5C50BBA2D"></topicref>
+<topicref href="GUID-384A25D6-EC89-576E-857F-D8D26292FED9.dita"
+id="GUID-F69D8DE0-9737-47EA-8842-82CA007F71A1"></topicref>
+<topicref href="GUID-389F1390-5752-5F2E-B2F6-724F9543BB35.dita"
+id="GUID-410DB305-54BE-41A9-8F42-3CFFD1636EB4">
+<topicref href="GUID-F6625E22-BFB2-5367-A1A8-916252999B78.dita"
+id="GUID-E76ABC24-DFB6-44C5-8954-353F7BCEDA68"></topicref>
+<topicref href="GUID-93069514-BC40-5E53-B126-F5C5C43C3D83.dita"
+id="GUID-4DEB13D3-28E8-4D5D-B73B-9D907E139128"></topicref>
+</topicref>
+<topicref href="GUID-6A770434-EF8A-5ECC-BB74-2E7FC4A9E360.dita"
+id="GUID-11CB09AB-8533-4783-B945-6F7584390C55"></topicref>
+<topicref href="GUID-98B0A83B-0064-598E-BE88-84305CA6A4F1.dita"
+id="GUID-7142807B-32AD-4324-8B6C-4F7CE3C675C6"></topicref>
+<topicref href="GUID-85EAD2EA-6ADB-5866-9784-5E2B30E661AF.dita"
+id="GUID-A51917A9-FE0E-4B35-8400-FB0CB68A70D7"></topicref>
+<topicref href="GUID-48B61662-0A11-4356-9882-7523B04FFD96.dita"
+id="GUID-E1272611-FC7B-461C-A1C6-1AB29D68188C"></topicref>
+<topicref href="GUID-F446E658-B717-5257-9C5C-442B07B19565.dita"
+id="GUID-90A21C12-FB47-4706-8651-124C302697AB"></topicref>
+<topicref href="GUID-60141F31-6061-5C65-809D-FE7A4F8414F7.dita"
+id="GUID-8BDA5F0D-282F-46F6-B841-837112E9A96C"></topicref>
+<topicref href="GUID-EFF8D1A1-00D5-5F96-8285-414DC0044AB8.dita"
+id="GUID-E34BD5D1-F8A9-434A-867B-E9188AD983E3"></topicref>
+<topicref href="GUID-1733B4E1-3264-58DF-957B-F5C0AE1E0644.dita"
+id="GUID-69EB2719-800B-4583-8C31-A21E44314D10"></topicref>
+</topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-A5DCCEB1-77DA-53C9-A1A3-07615DFCD403.dita"
+id="GUID-7F1026E5-1986-4266-B9FB-58E547CC2A4E">
+<topicref href="GUID-B8EF4291-18FE-572F-AAA1-CF7C491F4DA1.dita"
+id="GUID-8E80FE94-2999-4F75-B006-47AFA3106C75"></topicref>
+<topicref href="GUID-93C32496-036F-5000-B6FD-CAECAD21DEB8.dita"
+id="GUID-F306DAE0-BA2D-4520-B9AB-CAE9B37F9E04">
+<topicref href="GUID-9F1EF48F-8AA7-5235-B96C-4A02CAC0422F.dita"
+id="GUID-9C71DD5C-D882-4FFB-B959-8CDA8DF0CB1A"></topicref>
+<topicref href="GUID-8A80DD04-075D-5CF2-9A70-F6DDDD7D54BC.dita"
+id="GUID-EB9771A6-0F37-4A00-92FD-46EC632DA38C">
+<topicref href="GUID-F6C20181-0F03-5B8A-B548-C81FF8824503.dita"
+id="GUID-64048845-1B1A-4931-BF56-C720B02333DB"></topicref>
+<topicref href="GUID-88EC0D74-5595-5FA8-B7BA-B914CC8022FB.dita"
+id="GUID-A9EAF2B3-DFED-4DA6-A151-1E03F4125EE0"></topicref>
+<topicref href="GUID-6CDB86E4-89BB-5266-8CEC-7353B664D638.dita"
+id="GUID-D41CCF97-6C80-4FC0-A255-425518BFBECB"></topicref>
+<topicref href="GUID-DCC2060B-BFEC-5ECF-8154-5AE9C8513F75.dita"
+id="GUID-6CFEECA4-878D-4CB2-9553-AA9F795667FC"></topicref>
+<topicref
+href="GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-26-1-1-10-1-5-1-5-1-4-1-4-1-3-7.dita"
+id="GUID-61470433-B500-411D-8384-D3DB06241E60"></topicref>
+<topicref href="GUID-DF4A992B-E03B-57F5-9D5B-1C112FC16544.dita"
+id="GUID-DDCC596B-35BD-433C-A5B5-E16B0F75AECF"></topicref>
+</topicref>
+<topicref href="GUID-4462E8C8-CF27-5F3B-ACE3-4213DA6C377C.dita"
+id="GUID-3F37E998-A6FF-4845-ABCE-477272BF4B16"></topicref>
+</topicref>
+<topicref href="GUID-BD7B20B9-0C04-5F71-8562-246BB60AE769.dita"
+id="GUID-CD34171E-5598-4EC0-B250-424586BD64D7">
+<topicref href="GUID-AC2520A3-EB24-5BED-88D0-0D7D1C4D1C11.dita"
+id="GUID-131C007F-E87D-47B1-915C-C1ABCC97A0F6"></topicref>
+<topicref href="GUID-B1FE58B4-58CC-57CB-8BB2-43CD781BF41A.dita"
+id="GUID-A4A69565-6E35-47B0-981F-B2B3F3C4BC2D">
+<topicref href="GUID-33DC841A-D16E-5EEB-986C-CE6816B2EDB0.dita"
+id="GUID-5E438E68-DB56-40BC-B4A7-AB17084B5A79">
+<topicref href="GUID-62AE0683-642D-539A-A590-3D8210591BD9.dita"
+id="GUID-DFB31FD9-BC05-403F-BC1E-6B60A970AC47"></topicref>
+<topicref href="GUID-6DF71555-1AB0-5B50-9FEA-E775F3AFEF8B.dita"
+id="GUID-6DA45095-8D94-4F6D-A802-9617B67F7B86"></topicref>
+<topicref href="GUID-2E02B840-FF86-5535-BA0E-5C4C3B600E9B.dita"
+id="GUID-30953FF1-834E-4F75-A8DC-EDC7B0ACE3C6"></topicref>
+<topicref href="GUID-E90A22C7-0AD7-55C4-83BB-165E1AA1E296.dita"
+id="GUID-4222E24E-342C-4708-B720-1A6623B9409A"></topicref>
+</topicref>
+<topicref href="GUID-B757028A-97A6-5338-A20C-F2F29157367F.dita"
+id="GUID-B1E77EC0-4C5A-4579-804C-3FD93BAB16E4">
+<topicref href="GUID-19618D5C-CB35-5261-9F9A-61FF83748A75.dita"
+id="GUID-5102E4D6-45E8-4D76-A3CD-58F3B08740ED"></topicref>
+<topicref href="GUID-1F84C6C2-8925-5A87-87C5-7C9A73F04501.dita"
+id="GUID-B71A7BB3-A172-4B48-AD26-DDB5A7B37020"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-EA864824-91E3-5A08-A316-1CE50273EF50.dita"
+id="GUID-AFAFF4CB-BF9B-4E89-9A27-C44220280A50"></topicref>
+</topicref>
+</topicref>
+<topicref href="GUID-92025FE2-16B1-59FE-9967-6972F6E7D4CA.dita"
+id="GUID-E6062833-7DEC-49CE-9319-DD65BFAF8423">
+<topicref href="GUID-2800C486-2FB4-5C5C-990F-CC1A290F7E0C.dita"
+id="GUID-C8AA553B-D6E8-4821-B75E-4E2300072F1F"></topicref>
+</topicref>
+</topicref>
+<topicgroup id="GUID-4614963C-F34A-48F2-9A16-D20347451E95">
+<topicref href="GUID-B025C751-74E1-536C-85F8-668D05C5E80B.dita"
+id="GUID-B8C1FAD8-4C7B-4AA1-A7C5-404335B1A291">
+<topicref href="GUID-3596A468-DC46-51B1-BD88-B7665CB69E0E.dita"
+id="GUID-FD674F31-4632-4D0D-B19E-BB77720D1394">
+<topicref
+href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita"
+id="GUID-BD6A701B-396F-4DDE-A26A-355331363658"></topicref>
+<topicref href="GUID-AB0D05E8-A001-5361-A1FA-BBE4C5F7AAB8.dita"
+id="GUID-29EEE015-4195-4E46-8311-4085C4B557E7">
+<topicref
+href="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1.dita"
+id="GUID-E5CDE10F-22A3-4E95-80F9-C81236EEFD3E"></topicref>
+<topicref
+href="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1.dita"
+id="GUID-B2C39641-60CB-402E-9C4B-AF37701DC2A9"></topicref>
+<topicref
+href="GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98-GENID-1-12-1-26-1-1-9-1-5-1-8-1.dita"
+id="GUID-E25C87D0-A011-44B4-B2B2-402D0AE52EE0"></topicref>
+<topicref
+href="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita"
+id="GUID-CBCD8A03-D79C-4748-BFC5-4446F885BC25"></topicref>
+</topicref>
+<topicref
+href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita"
+id="GUID-C47AD47C-B466-46B3-AD11-7CE73284C838"></topicref>
+<topicref
+href="GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B-GENID-1-12-1-26-1-1-9-1-11-1.dita"
+id="GUID-23EDCDA3-1F7D-4199-9CA7-173B9B3DDE35"></topicref>
+</topicref>
+<topicref
+href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A-GENID-1-12-1-26-1-1-9-1.dita"
+id="GUID-F2109962-A00F-4CD1-8B7F-F250DCFDAF89"></topicref>
+<topicref href="GUID-48DB00D7-3807-5B4B-B4CE-D8C05B42CA6D.dita"
+id="GUID-C17216FB-58D2-46C1-8D5C-569EE6FEF02B">
+<topicref
+href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8-GENID-1-12-1-26-1-1-9-1-4-1-5-1.dita"
+id="GUID-F5BCF999-4FC5-461B-9CAC-AECAF93AAF39"></topicref>
+<topicref
+href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita"
+id="GUID-8AE548E0-C62F-4510-9834-6E04E082709B"></topicref>
+<topicref
+href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0-GENID-1-12-1-26-1-1-9-1-4-1-6-1.dita"
+id="GUID-1D92AC5F-8BE0-42A3-83D8-529B3D588E4D"></topicref>
+<topicref
+href="GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6-GENID-1-12-1-26-1-1-9-1-5-1-7-1.dita"
+id="GUID-B1F79908-BD91-4FC3-95F6-CEFFE966778E"></topicref>
+<topicref
+href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita"
+id="GUID-6A1F87A9-E33E-404F-9D57-C8FCECB7FD98"></topicref>
+<topicref
+href="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E-GENID-1-12-1-26-1-1-9-1-5-1-9-1.dita"
+id="GUID-3D7B54DA-21E7-4414-A60C-17D30F0B9916"></topicref>
+<topicref
+href="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1.dita"
+id="GUID-C9844533-3DEE-4237-A295-1D4F9181BCED"></topicref>
+<topicref
+href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita"
+id="GUID-8B29B992-CF6C-4E26-9633-46DA5D634A41"></topicref>
+<topicref href="GUID-3A41040A-7F0C-50A8-B623-FED7F82A5E62.dita"
+id="GUID-9A3EC086-8E01-4D52-8F7A-F38FBEAFF3D3"></topicref>
+</topicref>
+<topicref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita"
+id="GUID-D5A0C658-61E9-44B9-91F5-367E7E73871D">
+<topicref
+href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E-GENID-1-12-1-26-1-1-9-1-4-1-9-1.dita"
+id="GUID-A1D512C2-6042-4AF6-828C-8F3EDA0F5927"></topicref>
+<topicref
+href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita"
+id="GUID-4923DEA5-0AF0-4314-9141-53658168A6E3"></topicref>
+<topicref
+href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita"
+id="GUID-AF4A0D59-E083-456F-AB72-5532DD96EA93">
+<topicref
+href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC-GENID-1-12-1-26-1-1-9-1-12-1-3-1.dita"
+id="GUID-3D21AC05-DFEF-450C-8616-FC265BEDAA62"></topicref>
+<topicref
+href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C-GENID-1-12-1-26-1-1-9-1-12-1-4-1.dita"
+id="GUID-30C0C9F7-B3D9-4072-923E-9DA428009BB3"></topicref>
+<topicref
+href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita"
+id="GUID-A32D080E-F09E-445C-9C96-440060CD31F6"></topicref>
+<topicref
+href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562-GENID-1-12-1-26-1-1-9-1-12-1-6-1.dita"
+id="GUID-B023FED5-3E8F-47E4-B9E9-8C7D97A5F5A2"></topicref>
+<topicref
+href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636-GENID-1-12-1-26-1-1-9-1-12-1-7-1.dita"
+id="GUID-65BB7018-4B3F-4E5D-A0F6-B061CE28511A"></topicref>
+<topicref
+href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5-GENID-1-12-1-26-1-1-9-1-12-1-8-1.dita"
+id="GUID-AF4173F8-1DBD-4EF2-8FD4-5B4A59A1F189"></topicref>
+</topicref>
+<topicref href="GUID-06CB380C-A0F9-5AAE-B66E-AFCAABE9BA39.dita"
+id="GUID-52C45C24-A83F-4E84-8AB8-AF5B33F7CA55"></topicref>
+</topicref>
+</topicref>
+</topicgroup>
+</topicref>
+</topicgroup>
 <topicgroup id="GUID-19E55F69-461D-49B3-A6EA-9255A2EE5AF9">
 <topicref href="GUID-FBCBF8A0-7922-5881-A1C5-5DB41630E75A.dita"
 id="GUID-E990AC74-C34B-4572-B1CE-742EDE9C8CD4">
@@ -8051,14 +8877,14 @@
 <topicref href="GUID-7495B1C8-38B5-5A09-8231-25B3BBC09F51.dita"
 id="GUID-F1DEE648-991F-420A-A823-A2FD54F0FEE9">
 <topicref
-href="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-3-1.dita"
+href="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-3-1.dita"
 id="GUID-85BBB98A-5950-470A-900E-5A6D27BBE7BA"></topicref>
 <topicref href="GUID-037DFEEE-757A-5C0B-AAA7-62E3E39FAF30.dita"
 id="GUID-7D5885C7-C3F9-438A-9C10-1C487344CF9F"></topicref>
 <topicref href="GUID-0CA63AEB-9A80-51C6-AE7F-E747D6B3B789.dita"
 id="GUID-1319B317-8B81-4D4C-A9B7-D2FC003C9419">
 <topicref
-href="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-24-1-1-4-1-1-3-1.dita"
+href="GUID-67D0F837-65EE-54FE-B8D6-E5226CB9D8C9-GENID-1-12-1-27-1-1-4-1-1-3-1.dita"
 id="GUID-478D4DF2-37D0-40B0-9355-193B34DD078A"></topicref>
 <topicref href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"
 id="GUID-2D144B62-DE91-4506-BACD-B427A6381DD0"></topicref>
@@ -8563,140 +9389,6 @@
 </topicgroup>
 </topicref>
 </topicgroup>
-<topicgroup id="GUID-D946CA29-9245-44E4-8B59-895A4C9EE281">
-<topicref href="GUID-BE3B53A8-B06D-53C4-8FC0-85B3BA4F39EF.dita"
-id="GUID-47A11583-6B46-4E9E-BD8E-E5D8CF1781FC">
-<topicref href="GUID-F23BB1F1-CF90-597F-8410-34AB8B567501.dita"
-id="GUID-1B0E3D57-131F-4DF3-85B8-7C34260C8A4D">
-<topicref href="GUID-A1227CAE-EE08-5EAF-8D15-81465467C0C0.dita"
-id="GUID-53731E85-F541-4D23-99B3-87495AB22303"></topicref>
-<topicref href="GUID-F43E458D-6650-5BB0-871D-2E4EB1353C48.dita"
-id="GUID-2B2F6F61-781E-4813-AE96-A70C55BAE47E"></topicref>
-</topicref>
-<topicref href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita"
-id="GUID-70B17D27-0AE8-4065-B666-95923154C359">
-<topicref href="GUID-3A6BEF56-ADBF-543E-B70A-52195DE3E92A.dita"
-id="GUID-458D528A-4800-4791-9B5C-97FA83F6969E"></topicref>
-<topicref href="GUID-B82FBA26-6B34-4387-A5BC-758B74F37E5F.dita"
-id="GUID-842E7B84-465A-457C-BE65-70492BF7A9EC">
-<topicref href="GUID-335A4B77-20C4-52B9-88AA-58540269E321.dita"
-id="GUID-FA5D93F9-0CDE-4267-B9C4-5A2D03227B1A"></topicref>
-<topicref href="GUID-9B428B4E-83B7-5EE3-8D63-E2B0602D1D91.dita"
-id="GUID-A60D3F41-B0D0-4ED3-BA90-990D90B034DB"></topicref>
-<topicref href="GUID-CD8A3420-6C9B-5774-86FA-85CFE062C400.dita"
-id="GUID-E28C5263-07FC-4E9F-9B2F-F57146ED96BF"></topicref>
-<topicref href="GUID-62195532-3FD0-5A3B-90E6-D624C4A60594.dita"
-id="GUID-0451FEB7-D5B1-4FBB-91E9-9C2673EE14C2"></topicref>
-<topicref href="GUID-3987D040-27F7-5226-96AC-D578ECA4C0A2.dita"
-id="GUID-736B9C9E-6359-4959-95DA-ACB60DF1F758"></topicref>
-<topicref href="GUID-DA0F4990-DDC4-5B0A-A446-A3C8672DA95A.dita"
-id="GUID-F72F8F44-DC77-4DB6-9EB4-5795D8C571E3"></topicref>
-<topicref href="GUID-01299529-4390-5C16-8459-1D9C1B6F3EF3.dita"
-id="GUID-ECF03B79-BF7C-4E6B-A357-ABB8CE9C19A0"></topicref>
-<topicref href="GUID-6D29FF23-B034-5FE9-90C3-A62CD54D67D3.dita"
-id="GUID-8AA543F5-C34F-4EE1-8205-84EB541EB372"></topicref>
-<topicref href="GUID-7811C33D-96D3-5001-B4D3-92BF44F39B2C.dita"
-id="GUID-9CD9EFC3-4D4F-48FF-B94B-DC254391F9A0"></topicref>
-<topicref href="GUID-20DDA21D-B5DE-5D24-9E75-69C68EAF1782.dita"
-id="GUID-3D3AD723-E44F-4586-A000-FCC250D1A154"></topicref>
-</topicref>
-<topicref href="GUID-A60C4549-9FAA-496A-B743-D395A461B61F.dita"
-id="GUID-DD3A2B4E-704B-4C65-B27F-806B37F13452">
-<topicref href="GUID-3F21D4E3-6F1D-590D-A165-13380F8E98B5.dita"
-id="GUID-FEFD5662-EF22-46DC-B19C-BDF0EF3DDBFD"></topicref>
-<topicref href="GUID-131A9070-AF80-5BC5-91D2-0F1C7019ABF2.dita"
-id="GUID-CE7D2152-B208-439D-8229-94CEE7AD2462"></topicref>
-<topicref href="GUID-7BB38C3E-BEA9-545B-AEC2-5E9078D0B8A2.dita"
-id="GUID-3B37F9F3-F768-45A2-8E0D-3404D877D1AF"></topicref>
-<topicref href="GUID-8FDCABBB-AD6D-513D-9FBF-631DC1846D20.dita"
-id="GUID-A49A9A27-3839-4633-8C31-5DEE05C0047C"></topicref>
-<topicref href="GUID-710FADA2-7A6C-5D60-BCE5-8772071F2BD4.dita"
-id="GUID-1ECCA3BE-7A70-4FCF-AEEB-C9F5DE3F4B88"></topicref>
-<topicref href="GUID-3BDF7402-8AD6-57C7-849A-145E08EC7E86.dita"
-id="GUID-FA7A221F-2305-49E2-ABD3-58888F2B383F"></topicref>
-<topicref href="GUID-32F8114A-B7EF-5B0B-BD9B-0D3C5F09D7E6.dita"
-id="GUID-FED2B728-69DA-4463-B281-B506ABCFAD49"></topicref>
-<topicref href="GUID-0F1D1BC4-C8FB-55BE-83FE-DD604C4A9CA3.dita"
-id="GUID-302D0879-2CDA-4523-B45A-371D6029D8D8"></topicref>
-<topicref href="GUID-0A66A882-09C8-5BB6-89A2-87133BD63338.dita"
-id="GUID-4B278346-4229-410D-8DDD-9D3134B2C9F3"></topicref>
-</topicref>
-<topicref href="GUID-23F7E848-F4B0-5D37-8C30-E23BEDC77351.dita"
-id="GUID-27CD04E3-8EBF-4AF0-9FEA-ADCF9C8F85FA">
-<topicref href="GUID-579EF7F5-EA93-40D1-917F-95B966D1BAB2.dita"
-id="GUID-B8296515-B8F3-4EE5-8D26-C9B38204D517"></topicref>
-<topicref href="GUID-CA933F35-7508-5C98-9DB6-2492803A2183.dita"
-id="GUID-4A0A4659-6436-42A4-ADA6-9E028781E659"></topicref>
-<topicref href="GUID-BF8C56B7-1F39-502F-B9CA-81E9272CC945.dita"
-id="GUID-188F11E7-D6F8-4365-99E5-1C7C095172EF"></topicref>
-<topicref href="GUID-E3981A14-DD2C-5582-A250-C2AD358729FD.dita"
-id="GUID-6FF106F9-23C8-4DD2-A585-25EB9695E17D"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-3AF6CE70-DDBE-53F3-ABB6-7E78A300F14B.dita"
-id="GUID-0365E3EA-4974-43A4-A824-EF689E0A9B8C">
-<topicref href="GUID-40E64445-CBA3-59E4-A777-937609B311C9.dita"
-id="GUID-FAD24B62-5EE8-495A-A3B2-58E0DA4ACF5D"></topicref>
-<topicref href="GUID-12D1EE2F-AF1E-4C53-ADC8-D8BC205BD063.dita"
-id="GUID-9FAC7774-8025-4EA4-BD75-62561B867F3F">
-<topicref href="GUID-CF34D34E-FF17-5395-A1CD-768414E0B014.dita"
-id="GUID-ADA779A4-CF81-4692-935A-3906F72ED0CD"></topicref>
-<topicref href="GUID-36FD1F9A-FA1C-5822-A95F-720600E8F418.dita"
-id="GUID-2B962216-4FEA-4953-A44C-27A72C89BE31"></topicref>
-<topicref href="GUID-1361A508-D3DB-53F8-B1A1-34646F777B88.dita"
-id="GUID-981FA912-C65A-4AC2-B895-617D5C0CDEF3"></topicref>
-<topicref href="GUID-58ACE248-BF26-57BB-B5D2-C772FC046222.dita"
-id="GUID-CF6C70B5-AF81-4B0F-BE88-1687DA662711"></topicref>
-<topicref href="GUID-DCFD4CA0-6FB2-5339-BCFF-5B48E3E7E455.dita"
-id="GUID-EC080E73-7862-4887-81CD-DFF7D84CD610"></topicref>
-<topicref href="GUID-200BA7B9-70A1-5D15-8CFF-FBD18930757D.dita"
-id="GUID-D7454A11-C454-43BF-85F8-130169C5D29B"></topicref>
-<topicref href="GUID-0E226657-1A19-5601-B392-4E9A0BDB4014.dita"
-id="GUID-457A9CA7-619E-41B8-A920-9A2BA95AB0A0"></topicref>
-<topicref href="GUID-92156269-0645-54AB-9075-EE7708D333F4.dita"
-id="GUID-D42E845F-D47C-43D2-8E79-AA1CA1CB2BE5"></topicref>
-<topicref href="GUID-D541AD43-0832-57CB-BFB3-2FE386942F9B.dita"
-id="GUID-C7F8FA35-88B1-46AA-88F2-CFA2605051B4"></topicref>
-<topicref href="GUID-9E83A253-3C7F-58E9-94FE-EC127BE9C026.dita"
-id="GUID-2E6CB30F-BFCA-40B0-A61A-211D10165FBF"></topicref>
-<topicref href="GUID-62E1A29B-E95C-5E5B-969B-410A78114A3B.dita"
-id="GUID-8ABC6079-2179-4809-9C6A-C7DC054FA887"></topicref>
-<topicref href="GUID-358A2262-2C01-509D-AB33-665A9FFF8E04.dita"
-id="GUID-1D5E1861-28D9-4366-84FC-36456E74FC86"></topicref>
-<topicref href="GUID-49700B0C-AEDD-50EB-874E-45025CF474BE.dita"
-id="GUID-1E6B779C-1F7C-4672-8B6A-365A96DDA4C6"></topicref>
-<topicref href="GUID-215528EA-E12E-590A-9C17-394F36F2C268.dita"
-id="GUID-3DE67BB1-BDCA-4A9F-B4F9-597A7C85D9B7"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-34B36F04-D707-5357-8073-3B9FF7B95B22.dita"
-id="GUID-9C71A396-3599-4961-A7E5-349D2BB11660">
-<topicref href="GUID-06730728-30C5-51FD-BD37-FB62F2958D28.dita"
-id="GUID-D3ED738B-2D63-4C16-A468-DC91E5E10C54"></topicref>
-</topicref>
-<topicref href="GUID-6061361C-01F7-5BB1-87E1-46CBF9CCC44C.dita"
-id="GUID-AA85FFB0-57B2-4786-A0B5-2B70FC999EB3">
-<topicref href="GUID-49363088-CE0B-558D-8E86-48400E4F7C2F.dita"
-id="GUID-F7B959D6-C63F-48D3-9C1B-17F05A9E30AE"></topicref>
-</topicref>
-<topicref href="GUID-27E38FBB-F417-56C8-BFCF-B32215668902.dita"
-id="GUID-24210A19-0D21-4EF5-BB2E-5124E1D7B929">
-<topicref href="GUID-8D7AEB5A-9A88-5B6D-B6B0-7126A56AA495.dita"
-id="GUID-AF621141-67FA-454C-BBC5-AC3D448E7A06"></topicref>
-<topicref href="GUID-2A39CCBD-CADB-56B7-872A-1EC617AC7D93.dita"
-id="GUID-5CFD489C-5931-4D51-A986-3EB653F8903E"></topicref>
-<topicref href="GUID-082E47B3-8AAB-51B7-93F9-3C528B97D0A9.dita"
-id="GUID-3CB76CB0-03C0-4052-B49B-5C73BF3C2C94"></topicref>
-</topicref>
-<topicref href="GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB.dita"
-id="GUID-64AB7360-E13C-4165-97EB-CD25389742F4">
-<topicref href="GUID-F8E4D4AC-878A-52C5-A04D-9E116A0087D5.dita"
-id="GUID-BB4D9277-EB70-40E6-A07C-14DCEB700482"></topicref>
-<topicref href="GUID-BC67F13E-4B5A-5078-AE9B-826304BC14FD.dita"
-id="GUID-B09F44B6-7A17-4CE2-B073-66851164E2FD"></topicref>
-</topicref>
-</topicref>
-</topicgroup>
 <topicgroup id="GUID-F61B8D6B-9B08-47F4-8621-B5F94D0E8F7B">
 <topicref href="GUID-A0D4B6EC-8FA7-5FD9-AE5A-E811D876D585.dita"
 id="GUID-73BD95BE-8EB6-4F29-B451-7F8CC3F3B2BE">
@@ -8713,7 +9405,7 @@
 <topicref href="GUID-796916B2-8B23-5AD8-9DB8-8B0DA7868A62.dita"
 id="GUID-22733009-98AE-40A8-AD88-E472C7885209">
 <topicref
-href="GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-26-1-1-4-1-3-1-5-1-3-1.dita"
+href="GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-28-1-1-4-1-3-1-5-1-3-1.dita"
 id="GUID-24541B45-277C-4165-8C89-934372BDC3E5"></topicref>
 <topicref href="GUID-C579E24C-2B8E-5646-B307-7967F50A0B84.dita"
 id="GUID-532CDF72-DA70-43A0-8472-62FBBB6E378C"></topicref>
@@ -8733,7 +9425,7 @@
 <topicref href="GUID-A5ED089C-8831-5E25-AE7C-8E6F1C21D3BE.dita"
 id="GUID-33756261-B658-499C-A066-256B751F4EA5"></topicref>
 <topicref
-href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita"
+href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita"
 id="GUID-68682B92-5DA5-4C48-B3AD-C0B8089DE1E3"></topicref>
 </topicref>
 </topicref>
@@ -8833,403 +9525,6 @@
 </topicref>
 </topicref>
 </topicgroup>
-<topicgroup id="GUID-6B89EEDD-DF01-4508-8F2A-2E4536A0DC20">
-<topicref href="GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita"
-id="GUID-81FE6296-A5EF-4069-BFC1-5ADD85AB48FB">
-<topicref href="GUID-BC191AA8-696F-51A2-801F-B3F952037F54.dita"
-id="GUID-8700FE0E-8762-44D0-AA4B-5365C740A2F4"></topicref>
-<topicref href="GUID-6F73ED8C-E259-5717-AB84-0C2933A866DA.dita"
-id="GUID-03A19A75-0451-47BE-85CB-EB97B4964AD7">
-<topicref href="GUID-FB2CAA46-8EBB-5F76-847C-F3B953C9D31C.dita"
-id="GUID-179A4E83-AC80-4508-B069-0DD22C906407"></topicref>
-<topicref href="GUID-911E9F7E-D0AD-55EC-A3F4-1D427F803780.dita"
-id="GUID-74CADC8D-2CFE-47A2-9EF3-714460475F06"></topicref>
-<topicref href="GUID-5C58F7D1-D672-5B6D-AD48-863EC68F7446.dita"
-id="GUID-BFD81FDB-B035-43D6-9D05-0A9F4698BA3A"></topicref>
-</topicref>
-<topicref href="GUID-BA362536-C9C9-5BA4-BEE3-0E1AD7FA45F1.dita"
-id="GUID-A28EE2E1-FEA3-4165-B85D-E13F0A63F897">
-<topicref href="GUID-5329AE68-39E0-55E7-9878-2D8FF9E29B21.dita"
-id="GUID-95A7A17B-FCEA-4E2B-B097-305272068CA5">
-<topicref href="GUID-1A5C7320-B017-5CD9-B3EA-1301CC08A762.dita"
-id="GUID-BC0AAD69-BF55-40FD-B59E-ADD2CDCB0D68"></topicref>
-<topicref href="GUID-66022FF4-3044-51E6-88CE-FE3B1283C0CB.dita"
-id="GUID-631EDBEE-E446-4D64-B9F8-625C3B8CCE04">
-<topicref href="GUID-6BE03135-6192-5520-AE8F-80BDB3187259.dita"
-id="GUID-DF806A31-D614-45C8-9FCA-09F068DC3F58"></topicref>
-<topicref href="GUID-4E838A77-C7B5-5B1F-93F5-F3577901914B.dita"
-id="GUID-4734154E-C745-407D-BC54-275CD0AD1FEE"></topicref>
-</topicref>
-<topicref href="GUID-B2089965-546C-5FF2-8596-13A2221E02E6.dita"
-id="GUID-4C38BE3E-0AF3-4FD2-A6A6-EF25682A6879">
-<topicref href="GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita"
-id="GUID-B8D8AC14-CE7F-4A75-988D-57FFA9291BBA"></topicref>
-<topicref href="GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita"
-id="GUID-4512D3AC-EB32-431D-8138-BE8E4D774BFC"></topicref>
-<topicref href="GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita"
-id="GUID-2A307384-62F7-4776-AFE2-2FAB39D03054"></topicref>
-<topicref href="GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita"
-id="GUID-D38B8430-A4C2-435F-8ECC-1F3053778ED3"></topicref>
-<topicref href="GUID-CCD3B91F-9E7F-5CE2-8AFC-4ABF787E5614.dita"
-id="GUID-151600CE-663F-480F-874E-645AEE1FE813"></topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-E6C91CF2-A616-5E52-8BB2-630C42C8D540.dita"
-id="GUID-AE6F8F97-E5FE-43C0-A44E-5D287FD3E9C1">
-<topicref href="GUID-E1488F64-D550-5AE6-8308-47690AFA2079.dita"
-id="GUID-572CA913-2D9D-4098-BFE0-2D1E100719A4"></topicref>
-<topicref href="GUID-986EBD34-DE90-59BA-8A5F-E6E48845F18E.dita"
-id="GUID-87B344C2-4A07-4132-ACC0-D4F2A0309A88"></topicref>
-<topicref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita"
-id="GUID-FF06ED20-C859-4966-BD5D-A8676505500F">
-<topicref href="GUID-84B6389A-55CC-53EB-8725-65F753FD7217.dita"
-id="GUID-20FA7397-9C02-4B8C-95EC-DBC1EEEB564B"></topicref>
-<topicref href="GUID-E6762A98-36A4-5860-B3F9-2AEBBCEAAB2A.dita"
-id="GUID-2CA1CAA3-D775-435E-BA56-D0A1151BCDB2">
-<topicref href="GUID-2071FA59-36AE-5779-BFF2-2A5DAED915EE.dita"
-id="GUID-518A73E4-350C-4410-BB6B-6A7A79A57D0B"></topicref>
-<topicref href="GUID-77578F7E-E6E0-5177-99B2-E586DD6DD0C6.dita"
-id="GUID-D9FDA8F5-010A-4370-8598-D10CFDDCDD9F"></topicref>
-<topicref href="GUID-5BD60B1B-CEB7-557A-A9DC-1BB64575F3E2.dita"
-id="GUID-BE17DC48-4187-40B5-AD82-49BBC35F3DEF"></topicref>
-<topicref href="GUID-9993D750-9116-55B2-812A-7A92C50F467F.dita"
-id="GUID-69EC19C9-2FC2-46E4-8798-35F6264D7ED9"></topicref>
-<topicref href="GUID-29677CD7-DC09-590E-85AC-FF563233A205.dita"
-id="GUID-67C1D1B1-87BB-45C7-A8A0-1DD7B36F9122"></topicref>
-<topicref href="GUID-B5CC77D2-5871-51D8-B359-77EFC081B423.dita"
-id="GUID-6D58E4FE-067A-4229-BAE8-DAC2697BC9D5"></topicref>
-<topicref href="GUID-B6912FE7-4C2A-5FC7-BDA8-702CA2C0214A.dita"
-id="GUID-C661840C-35E3-446D-9A7A-BB96D248CE04"></topicref>
-<topicref href="GUID-B9079564-5E52-5221-AA2D-8B2EC2D79D21.dita"
-id="GUID-A765E206-FE79-4C0A-8722-A518D3F4B96E"></topicref>
-</topicref>
-<topicref href="GUID-8F457DE7-DAC2-56DF-8D6D-76D86584CC79.dita"
-id="GUID-BBE06DCC-3579-4CB4-9A4E-7184B582D674">
-<topicref href="GUID-1B20D403-5FC9-5A61-9D2B-8ACB9D73423C.dita"
-id="GUID-42DCB634-5E0C-45A7-B6EB-EF889F7B8010"></topicref>
-<topicref href="GUID-4F722225-57E2-52DD-81EA-8DD97728B07E.dita"
-id="GUID-1AD524DE-DF3F-406B-B603-B67E75D2AA84">
-<topicref href="GUID-09A760FD-4C2A-5F79-91F2-DCC25A63699C.dita"
-id="GUID-8E1A15AC-72EC-472B-9841-7308B6F6B90B"></topicref>
-</topicref>
-<topicref href="GUID-920CF819-645B-5705-8017-C1FAD7C6ABAF.dita"
-id="GUID-A7DC78FF-8A85-49F1-82FF-7FED5C5E4108">
-<topicref href="GUID-7B5DBFBC-E67F-56F8-AFF8-DFF5019D707F.dita"
-id="GUID-1663813E-8571-432A-841F-F4EE760EED50"></topicref>
-<topicref href="GUID-E99E0092-5F1D-5715-945E-E83C307357C3.dita"
-id="GUID-BECE57F5-CEC0-4A4C-81F8-F8B22CFE45E2">
-<topicref href="GUID-AA9A960A-1070-46B3-BA9B-4D43ACFB5E32.dita"
-id="GUID-7A7A961B-74AC-4708-B94A-F4D38F87FA8C"></topicref>
-<topicref href="GUID-11761887-0C37-46E6-A7F6-E6F7FDE7C5A1.dita"
-id="GUID-9546A166-BE27-4363-91E9-6C609A1F53A4"></topicref>
-<topicref href="GUID-9477D9DC-7B89-4D60-A7DF-B89411379A52.dita"
-id="GUID-25B9E299-90E8-4B0F-B94C-FB840A5349A7"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-A137553F-3B5D-5116-A793-66BF257F42B4.dita"
-id="GUID-C6105518-FA2A-4459-AD08-273C785BB3E3"></topicref>
-</topicref>
-<topicref href="GUID-17721C5E-A2ED-5430-9025-523B94D70FBB.dita"
-id="GUID-730843CD-3F31-4EDF-8E18-99B178379EF5">
-<topicref href="GUID-AC2903B2-0C3A-5104-B2A2-866DDAAAE2A9.dita"
-id="GUID-8475217D-A5AE-4281-85D7-50ECCFD88276"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-AD61E913-9720-5F6B-8386-680384165E87.dita"
-id="GUID-7FC26B2D-155B-4855-8052-E711E4C63AA9">
-<topicref href="GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita"
-id="GUID-AE583E7E-9FE2-44BE-8D49-C18931F04E2D"></topicref>
-<topicref href="GUID-92FC3BBB-9C80-5665-8421-5C6A11BE4A5C.dita"
-id="GUID-25E5FBBA-5592-4FD2-9DF5-304A07153493">
-<topicref href="GUID-DD95C4FA-B044-5A0E-A556-C7171AEFED8E.dita"
-id="GUID-81702CDC-C64E-42E9-AF2E-F2637E4E31ED"></topicref>
-<topicref href="GUID-74D8A4FA-5AB9-5762-BCA6-7686FB5D35DE.dita"
-id="GUID-E3A0149B-9B56-4488-B43E-1495DFD7B038"></topicref>
-<topicref href="GUID-7CF8DC4A-1BD8-517F-9E96-AFB30EE8F938.dita"
-id="GUID-B2B4DDA7-284E-41A5-AEBB-8052FD2A9F34"></topicref>
-</topicref>
-<topicref href="GUID-4AAE6CC7-7F0B-51B7-8F6F-7E538841DF41.dita"
-id="GUID-40259406-8348-4D3D-AE7C-3A5285D6B2E6">
-<topicref href="GUID-6AEA1BCF-EF19-5F6A-9452-E1149C949727.dita"
-id="GUID-84A9DFF6-8461-4AAA-A4DC-35DA77851448">
-<topicref href="GUID-31FB604F-893D-4829-8C69-F7056C9A0F46.dita"
-id="GUID-F40630F9-236C-4905-BC93-7F9D5D2F33E8"></topicref>
-<topicref href="GUID-2A69B0EE-FA13-49C3-B4FE-50D0910FA37D.dita"
-id="GUID-8ADD08D1-D223-468B-A444-93F47CC7910A"></topicref>
-</topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-A40376B6-8B2B-551A-B72F-CFCADBC84BE7.dita"
-id="GUID-BD331CE9-8083-435D-BD8A-400663B825DE">
-<topicref href="GUID-8933D7D5-F84D-5BF2-BF2A-832DA183E26B.dita"
-id="GUID-71404B23-2AAE-4F1D-80C3-5B739FFBE0E8">
-<topicref href="GUID-2BB17FB4-07A9-52E3-A650-570A16FA771D.dita"
-id="GUID-CD230DF1-2F5F-47DC-A7CA-14B08D65273B"></topicref>
-<topicref href="GUID-9CB10936-3201-546D-BC81-B53293EE1933.dita"
-id="GUID-E242CC45-255E-4885-A657-05DAD6026877">
-<topicref href="GUID-362FF929-EC18-5FE9-8FB0-DAFF5D559725.dita"
-id="GUID-341A0319-8C5B-41D8-A79A-D39006BA7505"></topicref>
-<topicref href="GUID-6FCAB5DC-D3E9-5406-8B9E-E1B1CF18C73F.dita"
-id="GUID-0B4E50C5-E802-4EFA-875E-95EA98B15743"></topicref>
-<topicref href="GUID-7A91990F-6271-5EE5-859A-F66BC64CA154.dita"
-id="GUID-E8CEA7E7-E0BD-4AF3-BBAB-C6656934936D"></topicref>
-<topicref href="GUID-6849E256-6719-5788-BCB2-7557F09AAAD0.dita"
-id="GUID-D83BBCCE-45DE-4637-A195-77B313CA83F2"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-4B03733F-D84D-5A28-B772-2E256D86ABC7.dita"
-id="GUID-BD938D78-4DEE-4978-BE52-B9C83F1A1200">
-<topicref href="GUID-04FB9E08-DDFE-53B1-B8E1-687A1AEC4286.dita"
-id="GUID-DB00D96E-34D2-4A16-A8FB-C2D68AC3C31E"></topicref>
-<topicref href="GUID-B1B3C5E6-9F38-5A55-A30E-4C7591B446CC.dita"
-id="GUID-9A6198B9-DDCF-4CDA-BFCD-1DD148BF41A0"></topicref>
-<topicref href="GUID-7C96B363-7891-50D3-A40F-92B9CBC4624C.dita"
-id="GUID-5BB27E4A-87B0-468C-82FF-2B44B87CA0B8">
-<topicref href="GUID-9473F793-29ED-42ED-933B-A995E56E71CB.dita"
-id="GUID-37B238E4-B966-4336-A50F-C41C995F9835"></topicref>
-<topicref href="GUID-13BDBFA4-49FE-4D62-8B5F-BE3DF3ABAF3E.dita"
-id="GUID-A0F2777C-A4F6-4C2E-82F5-54231CB5C56C"></topicref>
-<topicref href="GUID-D8A18789-3A3E-4E4A-9D34-35F83BF71449.dita"
-id="GUID-A1026EC8-97AC-4994-8159-CF143550DF52"></topicref>
-</topicref>
-<topicref href="GUID-C119A79A-D705-50B3-B174-70F517947BBD.dita"
-id="GUID-BFFEC8C1-D62F-4B38-8ED4-4F2EB974C913"></topicref>
-<topicref href="GUID-6BD23C4F-CBF7-584D-81D9-EB8D14DC3081.dita"
-id="GUID-53B91569-D9D6-4DF7-A409-4CA13444C8B3">
-<topicref href="GUID-C83D7112-0CF4-588D-8A0C-D27AB387F4D3.dita"
-id="GUID-1CBF0E66-846A-4793-86B1-9EAA9BBC8D3E"></topicref>
-<topicref href="GUID-46D6DF29-38F7-5842-9FDD-82754AE8D9A0.dita"
-id="GUID-C05DC20B-2EB9-4A71-AD50-3CFEB1CFD2D6"></topicref>
-<topicref href="GUID-FF6F26C7-0037-5117-9232-6FAFFA152F0C.dita"
-id="GUID-72D9725E-B051-4162-A7FD-4FAE74F7C4EE"></topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-861D7EC2-63BD-5C71-AA48-A76C40D04E1F.dita"
-id="GUID-5D5109DC-E292-4A1D-A61A-8049F869D976">
-<topicref href="GUID-A6FF1073-AA55-588D-8DC1-0A8C16864891.dita"
-id="GUID-B7483813-8653-42F7-AD4D-7D43B8FD343C">
-<topicref href="GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita"
-id="GUID-D815DF0D-B36F-412B-8F63-92982D7CCD29"></topicref>
-<topicref href="GUID-B89AA86B-F7E9-50DF-9DA5-6D3A21469EA8.dita"
-id="GUID-1FD4AEF1-C230-4626-AA09-7BBCF308AEA1">
-<topicref href="GUID-064302D7-3598-57C2-89B7-CED294BE78AE.dita"
-id="GUID-B29253E5-53F4-450A-AA28-F50D12D1B7EA"></topicref>
-<topicref href="GUID-8D4F44CB-0B4D-51EE-A2D7-A1BBB3DD326A.dita"
-id="GUID-85067943-1B26-4580-BC50-724D1743BE2B"></topicref>
-<topicref href="GUID-44345B7F-77DE-5D00-BA0B-BFE40E664DA8.dita"
-id="GUID-99BE5EDE-08A9-4E59-AF5C-33DDDC2D896C"></topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-5B112A34-1CBA-5B28-A941-27847FC1D30A.dita"
-id="GUID-C191CF05-80C9-4CDE-9222-64CAAE873AF2">
-<topicref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7.dita"
-id="GUID-F9F9E6B6-CD66-4E32-93DA-DD50983342A0"></topicref>
-<topicref href="GUID-1E1B040A-1C18-4F62-95F9-CE0ECE39C430.dita"
-id="GUID-0C582CB0-D98F-425E-A836-08A3A9B316F3">
-<topicref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita"
-id="GUID-29A13DB0-8EB9-4627-BECD-4267A71D5A5E"></topicref>
-<topicref href="GUID-712DF59D-FAE1-592E-82A6-4E323676F5B8.dita"
-id="GUID-2C963B20-7867-46F3-B8AA-9D00081F324D"></topicref>
-<topicref href="GUID-35E9F104-95F7-511F-B0C5-AB64BCA972D0.dita"
-id="GUID-76BEAB4C-4A39-4E09-A2A9-B091EF57B256"></topicref>
-<topicref href="GUID-73491C1D-6C74-5434-B2F3-4AF416AE37B7.dita"
-id="GUID-F1BA3C4F-A326-468D-BBE8-D6A70601229C"></topicref>
-<topicref href="GUID-66BBA81D-2488-50B8-8822-43AAAA139DDE.dita"
-id="GUID-F6F1085A-206B-4B37-9D46-3B5B6FD42D6F"></topicref>
-<topicref href="GUID-0C7CDC47-6B42-5A20-BED8-086DA81D272E.dita"
-id="GUID-9B8D7FDE-4748-46C6-B1B4-6C1038B80EF0"></topicref>
-</topicref>
-<topicref href="GUID-268E2151-C758-46BF-86EB-F7D6EE44DBCF.dita"
-id="GUID-C70260A5-8AA9-4334-ACFF-4B2876C1D1AC">
-<topicref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita"
-id="GUID-C0AD5D5D-A557-4C22-AC72-CED6B066F2CA"></topicref>
-<topicref href="GUID-5857377F-B90D-5149-9485-5919C12B8F13.dita"
-id="GUID-BCBCA7D8-ABC3-464F-8185-BF3B8387B773"></topicref>
-<topicref href="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625.dita"
-id="GUID-3022653A-422F-4394-A85E-1A3F0105D7FE"></topicref>
-<topicref href="GUID-4C9C236D-71A7-5A5D-8C1C-F574DA604AF6.dita"
-id="GUID-2973CB92-EA33-4625-8A18-CDA1903DD7C7"></topicref>
-<topicref href="GUID-1AA392CB-F638-5D35-993E-4A26D67A7C98.dita"
-id="GUID-BF22C527-E4E3-4053-9BD3-A110B5406CB8"></topicref>
-<topicref href="GUID-1D60BB43-4FF8-5632-A597-0DF00234F93E.dita"
-id="GUID-A825C19D-8A93-4E69-A1E2-EC8804857911"></topicref>
-<topicref href="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9.dita"
-id="GUID-CBF062A8-12EE-430E-8F92-E3DD42D80FEC"></topicref>
-<topicref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita"
-id="GUID-C049954F-B99E-4C21-AE24-3B2AA8560923"></topicref>
-</topicref>
-<topicref href="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2.dita"
-id="GUID-B6FB1FAD-4AE3-4C48-ADE3-550E585E2C03"></topicref>
-<topicref href="GUID-D88AA184-6E22-5069-A249-5AD83F548C56.dita"
-id="GUID-DA6A1AA3-6D8C-4ABF-911B-9C03BF22F9A8"></topicref>
-<topicref href="GUID-0CD273A2-434C-52E0-B840-CCF24B2853B8.dita"
-id="GUID-E1978640-98F2-4BD5-93EA-B7DFEE4B0F37"></topicref>
-<topicref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita"
-id="GUID-F6B0D940-4C97-4182-95A3-2B03653F843A"></topicref>
-<topicref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita"
-id="GUID-830762EA-A28B-49EC-AD6E-CF3B4ED3D5A7"></topicref>
-<topicref href="GUID-8AB9527A-1C7E-5D3A-9AB2-A3FA1F5A2D5B.dita"
-id="GUID-294F7D23-FC8D-4469-858E-6FF91AAB191F"></topicref>
-<topicref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D.dita"
-id="GUID-674CCEFB-4394-40C7-B6A4-EEA2379DF70D">
-<topicref href="GUID-3385079E-84F4-534F-B937-BD3A568D71BC.dita"
-id="GUID-0ECBF13C-B1E6-4ED7-879D-1EC016CD268B"></topicref>
-<topicref href="GUID-9E3ADEB4-C000-525D-B220-2BAFF5DC6B0C.dita"
-id="GUID-85265CF6-3403-419A-B3AB-785E0D789E08"></topicref>
-<topicref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita"
-id="GUID-F10539B3-9DC0-4A61-9DF8-0137D8F22DE9"></topicref>
-<topicref href="GUID-267D1E20-002E-53C7-8AE5-E063206C1562.dita"
-id="GUID-D68AF1FD-6FC1-469A-9089-8597ED2EC9CA"></topicref>
-<topicref href="GUID-36BCDD1F-3713-5DF0-8D8A-CF093694B636.dita"
-id="GUID-4880B05A-3DD3-4B60-9B29-537C1D462CA4"></topicref>
-<topicref href="GUID-7D53E323-CF8D-5C4D-ABCD-4D95C7A4A5B5.dita"
-id="GUID-5D942423-3591-44BC-B050-BABA95846CE9"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-2663ED06-8C97-5867-B7F6-6167EBFEA223.dita"
-id="GUID-E97BFE2A-0608-471D-B812-EE5E4A15E60B">
-<topicref href="GUID-C3846503-BEFE-5539-B7ED-FD1915D38380.dita"
-id="GUID-A8DD14DB-3BC3-43A5-9D4D-82036F530DB0"></topicref>
-<topicref href="GUID-314992D7-F6E1-5335-9EDA-DE89E67CDF57.dita"
-id="GUID-8696FEBE-B0FC-406E-92C5-115114A470A1">
-<topicref href="GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita"
-id="GUID-C2A7BBB2-E976-41A7-AB11-D2DFDBA60297"></topicref>
-</topicref>
-<topicref href="GUID-C3290344-486B-554D-97FC-42DF48E150AA.dita"
-id="GUID-8B64EF1E-C4B8-4AB0-9A43-47AA9B66B336">
-<topicref href="GUID-AE96F25E-45A2-5C00-9F27-BB3E17C8E6E5.dita"
-id="GUID-8B6A4AF0-E001-42CC-8F67-E3332C094071"></topicref>
-<topicref href="GUID-69B005F8-9038-546F-8ADF-8499984A18E1.dita"
-id="GUID-2A400DE0-D2EF-41FC-BF88-E639CAB8F1A7">
-<topicref href="GUID-E326C00B-6E07-5902-AB19-F00D1761795C.dita"
-id="GUID-019B3E04-FAD8-4FEA-A551-420082AE96F5"></topicref>
-<topicref href="GUID-C93D021E-D99A-5839-AB54-3D8D7620214A.dita"
-id="GUID-B480F1BF-8AA0-48FE-ACD3-906E48E73A64"></topicref>
-<topicref href="GUID-C676C4E6-93AF-59E9-886D-74D59F154490.dita"
-id="GUID-C764BB21-D45F-4341-B1B3-EC4B591187BF"></topicref>
-<topicref href="GUID-A636C1B3-8AB2-52D7-BB19-4CC93F4BDD97.dita"
-id="GUID-5966D456-718E-4EDD-A23E-0DD09CFC6A45"></topicref>
-<topicref href="GUID-A3B58436-07E4-565B-800B-86435D205461.dita"
-id="GUID-48871D91-F0E9-48B9-AAD6-16C30A441545"></topicref>
-<topicref href="GUID-116AB921-B063-5CC2-962F-A74562F20EAE.dita"
-id="GUID-FC851EF5-3EF3-4C1F-9F89-8A72DB9D2986"></topicref>
-</topicref>
-<topicref href="GUID-39B459CD-8210-59B5-95F4-85CE36676735.dita"
-id="GUID-5AAF05A8-C6A6-4C89-BFB8-BF15BAAC4C2D">
-<topicref href="GUID-0F4DE9E0-4A98-5914-9AB1-DD6CE1A5A1F3.dita"
-id="GUID-CA61706B-4880-4342-97A8-606BC42020DB"></topicref>
-<topicref href="GUID-0010EB39-8C23-5453-BE96-4EFC520B6F81.dita"
-id="GUID-B6AB3D64-9307-47B7-BC1B-B331DAEFC217">
-<topicref href="GUID-037225BC-AC45-540E-A899-1B8AB9112D6E.dita"
-id="GUID-12F5AE98-89AC-4E32-AED7-20E40FE24CCF"></topicref>
-<topicref href="GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita"
-id="GUID-2D90018F-6231-4543-9C87-0DCF64E5550A"></topicref>
-</topicref>
-<topicref href="GUID-695FCEB8-EA04-5C1C-A197-648275BA0281.dita"
-id="GUID-B4B84B1D-A5BC-479E-844A-09DBAB1C76ED">
-<topicref href="GUID-C4389D60-2A8D-532D-9D92-E57B0CCD14CF.dita"
-id="GUID-918AB8C6-D7AD-4D97-985D-85294105E999"></topicref>
-<topicref href="GUID-6C6AED40-D5B3-5613-8F92-FD2CB711AE54.dita"
-id="GUID-C9F4B3E4-8114-4DF3-9EAA-3CE83AAEA302">
-<topicref href="GUID-A56D550A-BF08-5D9C-A64C-67E8654F449B.dita"
-id="GUID-0582C3A5-8250-4690-8514-71C5C50BBA2D"></topicref>
-<topicref href="GUID-384A25D6-EC89-576E-857F-D8D26292FED9.dita"
-id="GUID-F69D8DE0-9737-47EA-8842-82CA007F71A1"></topicref>
-<topicref href="GUID-389F1390-5752-5F2E-B2F6-724F9543BB35.dita"
-id="GUID-410DB305-54BE-41A9-8F42-3CFFD1636EB4">
-<topicref href="GUID-F6625E22-BFB2-5367-A1A8-916252999B78.dita"
-id="GUID-E76ABC24-DFB6-44C5-8954-353F7BCEDA68"></topicref>
-<topicref href="GUID-93069514-BC40-5E53-B126-F5C5C43C3D83.dita"
-id="GUID-4DEB13D3-28E8-4D5D-B73B-9D907E139128"></topicref>
-</topicref>
-<topicref href="GUID-6A770434-EF8A-5ECC-BB74-2E7FC4A9E360.dita"
-id="GUID-11CB09AB-8533-4783-B945-6F7584390C55"></topicref>
-<topicref href="GUID-98B0A83B-0064-598E-BE88-84305CA6A4F1.dita"
-id="GUID-7142807B-32AD-4324-8B6C-4F7CE3C675C6"></topicref>
-<topicref href="GUID-85EAD2EA-6ADB-5866-9784-5E2B30E661AF.dita"
-id="GUID-A51917A9-FE0E-4B35-8400-FB0CB68A70D7"></topicref>
-<topicref href="GUID-48B61662-0A11-4356-9882-7523B04FFD96.dita"
-id="GUID-E1272611-FC7B-461C-A1C6-1AB29D68188C"></topicref>
-<topicref href="GUID-F446E658-B717-5257-9C5C-442B07B19565.dita"
-id="GUID-90A21C12-FB47-4706-8651-124C302697AB"></topicref>
-<topicref href="GUID-60141F31-6061-5C65-809D-FE7A4F8414F7.dita"
-id="GUID-8BDA5F0D-282F-46F6-B841-837112E9A96C"></topicref>
-<topicref href="GUID-EFF8D1A1-00D5-5F96-8285-414DC0044AB8.dita"
-id="GUID-E34BD5D1-F8A9-434A-867B-E9188AD983E3"></topicref>
-<topicref href="GUID-1733B4E1-3264-58DF-957B-F5C0AE1E0644.dita"
-id="GUID-69EB2719-800B-4583-8C31-A21E44314D10"></topicref>
-</topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-A5DCCEB1-77DA-53C9-A1A3-07615DFCD403.dita"
-id="GUID-7F1026E5-1986-4266-B9FB-58E547CC2A4E">
-<topicref href="GUID-B8EF4291-18FE-572F-AAA1-CF7C491F4DA1.dita"
-id="GUID-8E80FE94-2999-4F75-B006-47AFA3106C75"></topicref>
-<topicref href="GUID-93C32496-036F-5000-B6FD-CAECAD21DEB8.dita"
-id="GUID-F306DAE0-BA2D-4520-B9AB-CAE9B37F9E04">
-<topicref href="GUID-9F1EF48F-8AA7-5235-B96C-4A02CAC0422F.dita"
-id="GUID-9C71DD5C-D882-4FFB-B959-8CDA8DF0CB1A"></topicref>
-<topicref href="GUID-8A80DD04-075D-5CF2-9A70-F6DDDD7D54BC.dita"
-id="GUID-EB9771A6-0F37-4A00-92FD-46EC632DA38C">
-<topicref href="GUID-F6C20181-0F03-5B8A-B548-C81FF8824503.dita"
-id="GUID-64048845-1B1A-4931-BF56-C720B02333DB"></topicref>
-<topicref href="GUID-88EC0D74-5595-5FA8-B7BA-B914CC8022FB.dita"
-id="GUID-A9EAF2B3-DFED-4DA6-A151-1E03F4125EE0"></topicref>
-<topicref href="GUID-6CDB86E4-89BB-5266-8CEC-7353B664D638.dita"
-id="GUID-D41CCF97-6C80-4FC0-A255-425518BFBECB"></topicref>
-<topicref href="GUID-DCC2060B-BFEC-5ECF-8154-5AE9C8513F75.dita"
-id="GUID-6CFEECA4-878D-4CB2-9553-AA9F795667FC"></topicref>
-<topicref
-href="GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-27-1-1-10-1-5-1-5-1-4-1-4-1-3-7.dita"
-id="GUID-61470433-B500-411D-8384-D3DB06241E60"></topicref>
-<topicref href="GUID-DF4A992B-E03B-57F5-9D5B-1C112FC16544.dita"
-id="GUID-DDCC596B-35BD-433C-A5B5-E16B0F75AECF"></topicref>
-</topicref>
-<topicref href="GUID-4462E8C8-CF27-5F3B-ACE3-4213DA6C377C.dita"
-id="GUID-3F37E998-A6FF-4845-ABCE-477272BF4B16"></topicref>
-</topicref>
-<topicref href="GUID-BD7B20B9-0C04-5F71-8562-246BB60AE769.dita"
-id="GUID-CD34171E-5598-4EC0-B250-424586BD64D7">
-<topicref href="GUID-AC2520A3-EB24-5BED-88D0-0D7D1C4D1C11.dita"
-id="GUID-131C007F-E87D-47B1-915C-C1ABCC97A0F6"></topicref>
-<topicref href="GUID-B1FE58B4-58CC-57CB-8BB2-43CD781BF41A.dita"
-id="GUID-A4A69565-6E35-47B0-981F-B2B3F3C4BC2D">
-<topicref href="GUID-33DC841A-D16E-5EEB-986C-CE6816B2EDB0.dita"
-id="GUID-5E438E68-DB56-40BC-B4A7-AB17084B5A79">
-<topicref href="GUID-62AE0683-642D-539A-A590-3D8210591BD9.dita"
-id="GUID-DFB31FD9-BC05-403F-BC1E-6B60A970AC47"></topicref>
-<topicref href="GUID-6DF71555-1AB0-5B50-9FEA-E775F3AFEF8B.dita"
-id="GUID-6DA45095-8D94-4F6D-A802-9617B67F7B86"></topicref>
-<topicref href="GUID-2E02B840-FF86-5535-BA0E-5C4C3B600E9B.dita"
-id="GUID-30953FF1-834E-4F75-A8DC-EDC7B0ACE3C6"></topicref>
-<topicref href="GUID-E90A22C7-0AD7-55C4-83BB-165E1AA1E296.dita"
-id="GUID-4222E24E-342C-4708-B720-1A6623B9409A"></topicref>
-</topicref>
-<topicref href="GUID-B757028A-97A6-5338-A20C-F2F29157367F.dita"
-id="GUID-B1E77EC0-4C5A-4579-804C-3FD93BAB16E4">
-<topicref href="GUID-19618D5C-CB35-5261-9F9A-61FF83748A75.dita"
-id="GUID-5102E4D6-45E8-4D76-A3CD-58F3B08740ED"></topicref>
-<topicref href="GUID-1F84C6C2-8925-5A87-87C5-7C9A73F04501.dita"
-id="GUID-B71A7BB3-A172-4B48-AD26-DDB5A7B37020"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-EA864824-91E3-5A08-A316-1CE50273EF50.dita"
-id="GUID-AFAFF4CB-BF9B-4E89-9A27-C44220280A50"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-92025FE2-16B1-59FE-9967-6972F6E7D4CA.dita"
-id="GUID-E6062833-7DEC-49CE-9319-DD65BFAF8423">
-<topicref href="GUID-2800C486-2FB4-5C5C-990F-CC1A290F7E0C.dita"
-id="GUID-C8AA553B-D6E8-4821-B75E-4E2300072F1F"></topicref>
-</topicref>
-</topicref>
-</topicref>
-</topicgroup>
 <topicgroup id="GUID-EB2338AD-A71B-498D-A530-BD91447E42FE">
 <topicref href="GUID-4CF8E6BC-3E2A-5773-A296-6321573B967E.dita"
 id="GUID-28DD95A1-22A3-469E-82B9-AF61299AA137">
@@ -9390,9 +9685,9 @@
 </topicgroup>
 <topicgroup id="GUID-8C2086FC-BD71-4BE9-9594-AC48A71A272A">
 <topicref href="GUID-1DCA2F4D-ABE6-52A0-AC4E-5AAC1AB5909D.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-30-1">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-31-1">
 <topicref href="GUID-762A665F-43D0-53ED-B698-0CBD3AC46391.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-30-1-1-3">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-31-1-1-3">
 <topicref href="GUID-90644B52-69D7-595C-95E3-D6F7A30C060D.dita"
 id="GUID-BAC14B45-7C18-4709-86F8-765D8BF8CA72"></topicref>
 <topicref href="GUID-98B85D7F-7BD9-5056-A99F-0BC99D921B87.dita"
@@ -9404,7 +9699,7 @@
 </topicref>
 </topicref>
 <topicref href="GUID-B798C19D-4030-564A-A208-D84738259D72.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-30-1-1-3-1-7">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-31-1-1-3-1-7">
 <topicref href="GUID-416A3756-B5D5-5BCD-830E-2371C5F6B502.dita"
 id="GUID-A23E9571-BA80-40D9-BEAD-B1EF681A0024"></topicref>
 <topicref href="GUID-5042997F-4B8C-538D-B1E0-DD82F5283BB6.dita"
@@ -9446,7 +9741,7 @@
 <topicref href="GUID-06EDE5E8-04EA-5A74-ADE2-E5B8C49AB292.dita"
 id="GUID-2C18D42B-B958-4E2D-9710-1B19057F01A3"></topicref>
 <topicref href="GUID-E64C06D7-B138-5BCC-A814-3F9E2C517404.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-30-1-1-4-1-5">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-31-1-1-4-1-5">
 <topicref href="GUID-6F2BFFD4-9A2A-5EEC-87A2-3B60CB7F9CD5.dita"
 id="GUID-41E7E132-0329-4ED9-872D-EF79AF36D876"></topicref>
 <topicref href="GUID-5BE31242-78A2-584B-BF00-B7805C219E40.dita"
@@ -9477,7 +9772,7 @@
 </topicref>
 </topicref>
 <topicref href="GUID-E7ACEC20-27C9-5124-A46E-2812A64E3E4B.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-30-1-1-4-1-6">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-31-1-1-4-1-6">
 <topicref href="GUID-001F6216-48AE-57D4-8985-65CF77B26F19.dita"
 id="GUID-16D03442-BF28-4BF6-98CF-ABAF89CE5A2F"></topicref>
 <topicref href="GUID-93491DAE-4D2D-5F5F-97E7-91B265E9951E.dita"
@@ -9502,7 +9797,7 @@
 </topicref>
 </topicref>
 <topicref href="GUID-0584846D-D4D9-5093-8FE5-764CCFBA813F.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-30-1-1-4-1-7">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-31-1-1-4-1-7">
 <topicref href="GUID-66231EA2-BDEF-582D-A4B9-F356B590038D.dita"
 id="GUID-E5427493-BA6C-4CB3-A42F-93DFAACC87D4"></topicref>
 <topicref href="GUID-F4320746-68DF-50B6-817A-24E46DFBF77B.dita"
@@ -9614,7 +9909,7 @@
 <topicref href="GUID-82AF5F49-EE25-54C7-AEE9-D1F41BD5190F.dita"
 id="GUID-6E749BEC-C92E-463D-B97A-1CFCDEBDEF85">
 <topicref href="GUID-A25E730C-F34D-5464-BE78-650B3DEA4A88.dita"
-id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-32-1-1-3">
+id="GUID-4EA3767E-BC4E-4CFC-A371-BC1CC73AD6E9-GENID-1-12-1-33-1-1-3">
 <topicref href="GUID-0129AE17-B171-5CD5-8542-1DB738CBAB8B.dita"
 id="GUID-56006F41-8489-4AA0-802C-5C87E31A1C09">
 <topicref href="GUID-33D50AB9-AFA8-521F-8A85-031C24EA7D25.dita"
@@ -9848,470 +10143,6 @@
 </topicref>
 </topicgroup>
 </chapter>
-<chapter href="GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita"
-id="GUID-9CD95C3D-A4B3-49C3-9791-EE286997845D">
-<topicref href="GUID-AFF0B669-E0D8-5533-A105-0F5EBC6AF5E1.dita"
-id="GUID-0C97FFBE-7CA1-41DB-B880-BA5E9E995DFC"></topicref>
-<topicref href="GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4.dita"
-id="GUID-8F6FA5A4-DCA3-441B-AD61-E6D60BB8EF7E">
-<topicref href="GUID-28227926-2D5A-500C-B2BC-0EE6CC077DBE.dita"
-id="GUID-23F491F9-667D-486B-9A40-EEC16B38EA7F"></topicref>
-<topicref href="GUID-3527AAEE-210F-524B-A655-A65F1CE86C80.dita"
-id="GUID-593CF9D4-47ED-461A-AE5E-B3D79E0EAE23"></topicref>
-<topicref href="GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita"
-id="GUID-923ACCC0-A099-4AAA-B578-DA80718F5CB9"></topicref>
-<topicref href="GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C.dita"
-id="GUID-FF34C5BF-1E9C-430D-9ED9-02CBD4FF31DD">
-<topicref href="GUID-1BEA00A2-7934-5CF6-A838-44CCA4A28F35.dita"
-id="GUID-1F0869ED-476A-4530-BDEE-0E95A21F8EF5"></topicref>
-<topicref href="GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita"
-id="GUID-76E692D9-14AC-4BC4-B9A8-0E448625D6E7"></topicref>
-<topicref href="GUID-A6116E8B-9C4A-5B9E-AA8A-BE031408AA2F.dita"
-id="GUID-D7FF30D4-CE05-4967-9310-A21175739BF0"></topicref>
-<topicref href="GUID-188F9462-F805-522A-84FF-770EAB045504.dita"
-id="GUID-BA1527F7-2791-4451-A5AC-24E79D1967BA"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-687AFC9D-ADB7-5190-A535-C54B835825DD.dita"
-id="GUID-5DD895F9-8E4E-4CCB-94A3-A11D655BEF33">
-<topicref href="GUID-5FFBC0B0-FC6E-5D60-868B-064DBEB632E0.dita"
-id="GUID-C2AEB0E6-AEAE-4A9B-B275-16E55378DD25"></topicref>
-<topicref
-href="GUID-9C57F0C6-E2E3-58A2-907D-924A7E22EA97-GENID-1-15-1-1-5-1-4-1.dita"
-id="GUID-0A3958EC-287D-4770-A064-333E09F31156"></topicref>
-<topicref href="GUID-07C031C2-7FFC-5B0E-9691-E6E678E65C4B.dita"
-id="GUID-05CFBC8C-8F8B-41C1-AD0E-545110611B51">
-<topicref href="GUID-E80AA33B-E5E0-5F4B-9A7F-65B357F7161C.dita"
-id="GUID-706A0550-DF15-410F-B14A-B06513D05E9E"></topicref>
-<topicref href="GUID-C39CA508-86F7-5B99-9390-56980DD0EFFB.dita"
-id="GUID-12F5F8CD-CE2C-4AD9-B71A-054101C9387C"></topicref>
-<topicref href="GUID-10F1D390-2CB6-584B-B760-E6A6E1D8FDDA.dita"
-id="GUID-32C6B2D2-E718-416C-B937-1475CE2333F6"></topicref>
-<topicref href="GUID-F9605837-2209-500D-AB62-48A433489C5E.dita"
-id="GUID-6591B7B9-C2DC-423B-9EA8-2AE8B5978399"></topicref>
-<topicref href="GUID-383A617C-474B-509D-BA37-3515BCC5F1D1.dita"
-id="GUID-5DDCCD20-6CDD-4C3E-A96B-5B42201A966C"></topicref>
-<topicref href="GUID-11BF98BD-814A-5CB8-B83E-6D14F38F1783.dita"
-id="GUID-EB11187D-AE54-4C12-B987-AABBAAE8CF0F"></topicref>
-<topicref href="GUID-AECDAEBF-777A-579B-92F8-560FD7FF86E7.dita"
-id="GUID-5B82098D-C88E-404B-ADA2-59906768A92C"></topicref>
-<topicref href="GUID-32F00078-6084-5288-9D3F-9F8D70514799.dita"
-id="GUID-C9CA311F-22CA-4118-8B8A-A8CA1F95417E"></topicref>
-<topicref href="GUID-E932B20C-5155-530F-9669-6F5BB1F1AD41.dita"
-id="GUID-12160735-9644-41C4-9CBC-2E8CC74AA801"></topicref>
-<topicref href="GUID-89ADFC64-AF9F-51B1-AC5F-493897226270.dita"
-id="GUID-CDB4DAD9-AB9D-42CB-A835-8D007BDD70A0"></topicref>
-<topicref href="GUID-37057FD5-7ED0-5B18-9C28-39F6816D7627.dita"
-id="GUID-5762C0E1-A3DE-4485-85D6-2ABD81D00598"></topicref>
-<topicref href="GUID-914DD950-4332-5F23-B725-F4D330DB19EB.dita"
-id="GUID-CEF11941-BE6A-4964-9B2B-EEFEF8183F54"></topicref>
-</topicref>
-<topicref href="GUID-141633B8-A3D4-5BBB-97C5-3D928746ECE7.dita"
-id="GUID-464891BC-BC27-428D-86C8-AB37D6749AB1"></topicref>
-<topicref href="GUID-50FD71BF-2DDA-5E80-9904-82DC90FCE6DD.dita"
-id="GUID-CFC494E0-14DB-4A16-B6C8-368C15DD3B3B">
-<topicref href="GUID-0D619063-F2DB-53FC-A5E6-BC09AD915FA4.dita"
-id="GUID-26ABA92C-1FC2-4217-95CD-2148D765CF2F"></topicref>
-<topicref href="GUID-B6088C0A-20AE-5108-A28C-9CA884205493.dita"
-id="GUID-CDB7CE11-C55C-4C6E-AF9C-EEF955F9A77B"></topicref>
-<topicref href="GUID-7F9F0EB3-8F0E-55BB-9864-C80FE6FC1528.dita"
-id="GUID-94B65FE4-5786-411D-913D-7FD7391854E5"></topicref>
-<topicref href="GUID-36743EC8-5A64-5FF5-8632-56CBBD04EC12.dita"
-id="GUID-7DA9B977-276D-43E3-82FA-57C98CA0175E"></topicref>
-<topicref href="GUID-97C0A5B1-99AE-5F71-9092-A6976E54AEA7.dita"
-id="GUID-64622117-E4C6-4268-8454-80580FDAF8A3"></topicref>
-<topicref href="GUID-0142B290-DA6C-5574-83D7-7555D804D9B5.dita"
-id="GUID-F7146146-D056-4A4F-A93D-B7F8171FBA7E"></topicref>
-<topicref href="GUID-FFD56DA3-9301-5679-9209-A70CE63A34A2.dita"
-id="GUID-FB17596C-54BE-44E7-9286-4D77DD806CD1"></topicref>
-</topicref>
-<topicref href="GUID-F6780E5A-26DA-5453-B9BE-11039CFA4FFB.dita"
-id="GUID-9DFEE386-B31B-4D89-BA15-5BD0A51F54FA">
-<topicref href="GUID-66470976-7B8B-582B-B32B-4010C95052FF.dita"
-id="GUID-29B72B47-0794-4913-8D54-770A5AF26E5F"></topicref>
-<topicref href="GUID-9574041E-183D-5C3F-8429-A62323B97739.dita"
-id="GUID-EDB3D510-A85E-46A4-B70D-3D4EA4A912B5"></topicref>
-<topicref href="GUID-A4B391F0-058F-5B51-8D28-6A7B5C4A1BB9.dita"
-id="GUID-2E90F23E-4A0C-45FA-BB3B-9E55350402A4"></topicref>
-<topicref href="GUID-9444E57C-1C2F-5EAC-B162-25FC27BB9516.dita"
-id="GUID-A9B781A6-3ED9-4FAA-B66A-CA6B0928862C"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita"
-id="GUID-D535371B-A642-4B9E-AA02-0B9380F94C91">
-<topicref href="GUID-0BF25E2A-99B9-5558-B805-019430409518.dita"
-id="GUID-D38807AA-B44F-4D61-B1E2-40A81885B60A"></topicref>
-<topicref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita"
-id="GUID-C4C8F244-41A9-479C-B9FE-0F5D5CD1E5DA"></topicref>
-<topicref href="GUID-E08F6BA9-F1A9-50D5-8CBE-8304BBA24D1F.dita"
-id="GUID-13880765-CF2C-4422-8B29-55FE70CDF90D">
-<topicref href="GUID-FCE138BF-A471-5864-AE4C-8D89EF5F2BB9.dita"
-id="GUID-D213BE36-7813-4707-A9B2-A3CC9EF3A0BB"></topicref>
-<topicref href="GUID-B5576E47-CBB6-5E50-91BD-1CA1425EACE8.dita"
-id="GUID-380CAF93-A49B-4012-AB28-33E99C27595A"></topicref>
-<topicref href="GUID-049A089E-FF08-5706-8485-8C9A5A0BCF6F.dita"
-id="GUID-5911B66D-C8B6-499D-B8D8-A9C3C8F8B3F1"></topicref>
-<topicref href="GUID-2AD64552-440B-5439-885B-BE71DE0E8F1F.dita"
-id="GUID-F1786AA7-A9F5-4A4A-8A60-89419347C057"></topicref>
-<topicref href="GUID-30EB4252-4CBA-5174-9133-E79AC9AEAEBF.dita"
-id="GUID-5F88956A-FF4C-44D1-B7B7-A95723FEE9D4"></topicref>
-<topicref href="GUID-FA18838A-F0C6-5241-8913-BFB46571D908.dita"
-id="GUID-A2F21D7F-3667-45CE-97CA-40E84B8E766A"></topicref>
-<topicref href="GUID-D37576D8-1BD6-520B-9C69-60F2F89E4452.dita"
-id="GUID-1A55D5AF-9A70-440D-B408-77329C138710"></topicref>
-</topicref>
-<topicref href="GUID-763DCEF4-C960-58A2-99DC-7FFD3187BFD4.dita"
-id="GUID-6113FFE8-FAA0-4ACF-A8ED-0C384D085012">
-<topicref href="GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254.dita"
-id="GUID-C82C0EF0-3B03-4C3F-8028-8176C03E9AAD"></topicref>
-<topicref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita"
-id="GUID-D15A0830-183A-4340-B64A-35C57FD93763"></topicref>
-<topicref href="GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita"
-id="GUID-F0F53682-7E65-495F-A61E-13303AF5DAA9"></topicref>
-<topicref href="GUID-915A1B7D-10BB-5B4A-8C5E-99AD28375AD7.dita"
-id="GUID-9D883FA8-70D2-46C8-8D10-0693643205F5"></topicref>
-<topicref href="GUID-E48B708E-8B0B-5CF7-80D5-B55966387021.dita"
-id="GUID-7F16A95F-C7A7-42D6-89FB-E89FD4FBA006"></topicref>
-<topicref href="GUID-D173BE00-1DE7-53D0-BBEF-CBF7CACB0193.dita"
-id="GUID-EEBCE412-333D-42D0-9B54-CB8BF3664338"></topicref>
-<topicref href="GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita"
-id="GUID-618CB2EC-B50D-4217-84CA-712605697F63"></topicref>
-<topicref href="GUID-F21A1ABE-4844-54E2-83E0-4AD25E867A72.dita"
-id="GUID-0EFFA7F4-6CD4-4C63-A096-1BB3DFCC08ED"></topicref>
-<topicref href="GUID-33716081-180C-5DDB-A5D2-0EC61357250D.dita"
-id="GUID-CB3A8C55-6DD6-4550-9A2A-7844796433B4"></topicref>
-<topicref href="GUID-75AFF4B9-1F95-585E-9354-EAA6271251FA.dita"
-id="GUID-CC36747D-6D71-468D-AFD3-55F3C9A4A307"></topicref>
-<topicref href="GUID-E0284006-9173-5BC5-A899-E0873CA1AE1F.dita"
-id="GUID-D44BB8E1-000F-4B2A-B8FF-26AF45EA0DD7"></topicref>
-<topicref href="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita"
-id="GUID-87498047-1038-432A-8C34-7D3FD466E9E7"></topicref>
-<topicref href="GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0.dita"
-id="GUID-C922F189-790F-47F3-8493-29127E22BA42"></topicref>
-</topicref>
-<topicref href="GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36.dita"
-id="GUID-95315A47-CFC8-46B2-8FD9-5AA31A301C03">
-<topicref href="GUID-ADDF9C0F-32D3-5CB1-B3B5-2FAD3A4EC278.dita"
-id="GUID-B4F05A1E-7FBE-4075-AEE2-3C329268AF2A"></topicref>
-<topicref href="GUID-F79EE68F-FFC3-541E-AE3A-D7203034DA43.dita"
-id="GUID-1F3A418F-06FD-413B-B979-4F345F3433E6"></topicref>
-<topicref href="GUID-4406BDE0-8256-5F97-9FC5-BBFD11D9C4A3.dita"
-id="GUID-00C2EAAF-F434-4721-8A48-5868DCDF8DF3"></topicref>
-</topicref>
-<topicref href="GUID-594488FF-02C9-5066-85DB-5F88A754AE18.dita"
-id="GUID-529D036F-5648-4FBD-BE20-15E5644DBFB6">
-<topicref href="GUID-C762E5B4-A7E3-5CAD-B639-A31F5D1899D3.dita"
-id="GUID-CC98BDD2-4F34-4F29-A471-C4A1D93C34A6"></topicref>
-<topicref href="GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita"
-id="GUID-0E3B646A-4623-48AB-9E84-525A94C32978"></topicref>
-<topicref href="GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita"
-id="GUID-3D78D4E4-4C44-4218-8ED9-C6B9D649A13C"></topicref>
-<topicref href="GUID-A27A05A2-B161-54D2-92E0-8620B01BFD44.dita"
-id="GUID-448B014F-F311-486F-92D9-202CC2256351"></topicref>
-<topicref href="GUID-CF8287B9-2063-5316-A1BF-7DFC58FCDE30.dita"
-id="GUID-B384D25B-7E5F-41B6-B548-B5C62E6AB477"></topicref>
-</topicref>
-<topicref href="GUID-12D8C373-5199-5B89-9910-00F769AC164A.dita"
-id="GUID-1779B512-DFE4-44FF-AB75-7A7E6B6BC78F"></topicref>
-<topicref href="GUID-917413FC-0AC0-5768-B5AD-36BD2EDCB1FF.dita"
-id="GUID-34E52B35-D3B9-4F2B-8F68-72C8AD06B962"></topicref>
-<topicref href="GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita"
-id="GUID-0C3DF695-192B-4A54-A540-18697060D88B"></topicref>
-<topicref href="GUID-61459132-3AC2-55D3-AC28-D6FA689409E6.dita"
-id="GUID-C7B3FDC2-FBD1-4289-B41E-AA1BF7A1E103"></topicref>
-<topicref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita"
-id="GUID-6E3B160A-59DD-4F3D-8A5B-63AF086A59CD"></topicref>
-<topicref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita"
-id="GUID-98D1B711-B911-4C20-853C-0990338078AF"></topicref>
-<topicref href="GUID-8DB5E558-9774-5CC3-AF8C-6C50D9FE0496.dita"
-id="GUID-A05327D2-3C75-4443-8201-6DA855DFF228"></topicref>
-<topicref href="GUID-C07B506E-A1C8-537C-A7BF-DD7F449DF8A5.dita"
-id="GUID-3916AFBE-BB62-4EC3-B0E4-228D70D861E4"></topicref>
-<topicref href="GUID-201E6D4C-5F0F-5AA2-BC79-91E3C62C8971.dita"
-id="GUID-04BA9C83-E56A-4DA4-9016-18D434A678C6"></topicref>
-<topicref href="GUID-F9455FE8-5247-58D5-ACEF-52753B88444F.dita"
-id="GUID-7B8CA9E1-011D-4EC9-A3BE-76018A324972"></topicref>
-<topicref href="GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.dita"
-id="GUID-006C18C5-7751-46F7-AAA6-3F1CF3CAD92F"></topicref>
-<topicref href="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita"
-id="GUID-A40F9B5E-57BC-4D5D-A1E0-A01FEB841AF1"></topicref>
-<topicref href="GUID-AE3BE603-21ED-5DEA-B1E9-0F1ADBED06D0.dita"
-id="GUID-D14AE4DF-D3FF-449C-9D0B-5235C8290A75"></topicref>
-<topicref href="GUID-2C1DB75C-FB12-520C-85B1-57F1EDB61E3B.dita"
-id="GUID-8B88B4D2-806C-4641-ABD9-6658DDE81EA4"></topicref>
-<topicref href="GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.dita"
-id="GUID-49E89483-706A-4941-8C9C-81B6B2DB192C"></topicref>
-<topicref href="GUID-6025A68F-625B-570A-87D7-2C11E66044D4.dita"
-id="GUID-2256E4AF-E870-4E0C-AE64-85B000006637"></topicref>
-</topicref>
-<topicref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita"
-id="GUID-389F7E83-C387-47DC-B3AC-424524807268">
-<topicref href="GUID-28B9B737-AA79-5595-8DDE-7DD52402C0B9.dita"
-id="GUID-A80F5C8A-E813-47B6-A5CA-6B5674B17A14"></topicref>
-<topicref href="GUID-B1800856-3516-5D22-B1C5-556866CDDF46.dita"
-id="GUID-6D79C5F5-194F-4B33-AA70-1CA561ECC80B"></topicref>
-<topicref href="GUID-038747F2-E5A2-5739-BFF5-69B6BD0DCEB2.dita"
-id="GUID-44643F07-36AF-4D96-A539-FC4B9C152CF1">
-<topicref href="GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E.dita"
-id="GUID-E0888BCE-275A-40B6-9A0B-C47F37109F87"></topicref>
-<topicref href="GUID-3BCA55F8-3867-579B-8D81-C540A32A8462.dita"
-id="GUID-C813C1E4-BBDE-4D55-AC15-6C5D3756AA2B"></topicref>
-<topicref href="GUID-14A0FC93-2AD9-5B33-B423-2CCAD3C96B5F.dita"
-id="GUID-38A5508C-2705-4814-BE92-4563962D3FFE"></topicref>
-<topicref href="GUID-C2709212-FD91-5245-9A1D-0E8114D7B202.dita"
-id="GUID-630ECD4A-97A7-437E-B7FD-79F50E3F38A5"></topicref>
-<topicref href="GUID-DA793067-32DD-5D4D-A0E6-E05DF9047529.dita"
-id="GUID-1B8B6571-16CA-4DF0-9DF2-EDFEE71A253D"></topicref>
-<topicref href="GUID-8E7CCFD7-F820-596E-BACB-AE43878C6CD8.dita"
-id="GUID-E0AFA1E5-BAB2-4945-994F-74BAE7F019C5"></topicref>
-<topicref href="GUID-2AE024D5-B34B-5E7E-BC7E-8C45E80173C5.dita"
-id="GUID-C2CCF7D7-C7A6-45FF-91CB-56E5E50C1D2E"></topicref>
-<topicref href="GUID-4D4CB4DC-9B9A-5256-B949-C5E9F369D9C6.dita"
-id="GUID-DA980A49-28B4-46ED-967C-38E5043F999F"></topicref>
-<topicref href="GUID-DD7D33BD-0DDB-584C-9362-AEECFA1EA9A7.dita"
-id="GUID-01AF0C63-B27D-47EA-9C5D-6B102276AD38"></topicref>
-<topicref href="GUID-F13D4492-4E0C-5D7A-A30D-9E79F092CF72.dita"
-id="GUID-8BDDAC98-9EF6-4F4C-8AE1-368A381EF3CD"></topicref>
-<topicref href="GUID-6CB40FC5-5CBF-592C-B27D-29922C3815DC.dita"
-id="GUID-43FD2368-D9CC-4524-A4A8-1AC7BBEB9457"></topicref>
-<topicref href="GUID-3F1FF06E-4190-5AC7-86C6-6732B632BA1A.dita"
-id="GUID-8E827A06-A70D-44CD-AC67-21E488535411"></topicref>
-<topicref href="GUID-C5F4CF0F-EC1B-595D-8C95-41891CB5930D.dita"
-id="GUID-6767BCF9-9CF3-4548-ACAB-6034CB9688D3"></topicref>
-<topicref href="GUID-F9E10A82-88E9-57AA-AFEE-3C1A21BF05BC.dita"
-id="GUID-B8C3CF6C-D2DC-4094-B128-63F85327316D"></topicref>
-<topicref href="GUID-F4C3DDE1-F7D3-5256-BABD-34759DCA57BF.dita"
-id="GUID-A4DEB860-CB91-4EC9-B43E-9F645504A5E1"></topicref>
-<topicref href="GUID-F0923110-D5D9-56D7-8CBC-82CAE062BC1A.dita"
-id="GUID-75731C9E-71BE-48D5-9916-7A51BB3C40E4"></topicref>
-<topicref href="GUID-7971886A-8ED0-5924-9BC0-A163BA499888.dita"
-id="GUID-02A10985-A977-4A36-9230-3926E77412CF"></topicref>
-<topicref href="GUID-139E7235-4F23-5F0E-A969-6D7165AE5298.dita"
-id="GUID-EE0C39EA-9FF5-4878-8A5D-96A4113C6E72"></topicref>
-<topicref href="GUID-7A22FBD7-F306-578C-BD54-BCF74B7343CF.dita"
-id="GUID-636390E4-FBE0-4654-9EDE-ED8B0481C0D9"></topicref>
-<topicref href="GUID-8FF4D117-920A-5AFA-ABB3-C0101EE2B7AA.dita"
-id="GUID-90EAFBBE-DFE0-4E62-AEF3-B26EC3594806"></topicref>
-<topicref href="GUID-DDE06BD5-2515-59FD-B91F-4C78A768533D.dita"
-id="GUID-A85CF5D3-4AE4-4734-A7A4-F7BCF2F9DE30"></topicref>
-<topicref href="GUID-AD5C89AC-51CD-5CC0-961C-62F38E9BEA33.dita"
-id="GUID-526CFF72-253D-4A5B-BFE6-AC241BF6EA59"></topicref>
-<topicref href="GUID-2273C35F-C8FD-5321-BAE8-4995C5B374E5.dita"
-id="GUID-151E903B-AA41-45D5-B116-8E56D3E90B68"></topicref>
-<topicref href="GUID-023268BB-8C52-51A1-9E3B-4C7E265DFDAB.dita"
-id="GUID-C3745A37-2DEB-4765-9879-F93D9ED34611"></topicref>
-</topicref>
-<topicref href="GUID-7D3B5008-CB40-504D-90A8-92DE482977CA.dita"
-id="GUID-738C2604-8EFD-48BD-8DA1-A2CAF4F0938F">
-<topicref href="GUID-EDCBBB5E-FAAD-50A5-9EE4-B4F399B77CE9.dita"
-id="GUID-74D1F22C-271D-43C6-B7AD-B946CD055D7D"></topicref>
-<topicref href="GUID-3A05CD69-0AB6-5549-B18A-842F49C06874.dita"
-id="GUID-DF58D8FE-46FB-46E4-AC67-E23503B26385"></topicref>
-<topicref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita"
-id="GUID-EB199791-90C6-46B9-A8E3-C0A7E704B418"></topicref>
-<topicref href="GUID-5AF0B573-4351-5735-92A1-4F29BCF9A164.dita"
-id="GUID-F81D3432-200E-49A8-B95D-8F795558C3C0"></topicref>
-<topicref href="GUID-A12A6C54-7E9E-5ECD-A0BF-8F980160A0D2.dita"
-id="GUID-6FEDCFF6-BDA5-424F-B420-7FDBC043D98A"></topicref>
-<topicref href="GUID-B1C79738-0449-5C26-BA8A-4612C6BF652F.dita"
-id="GUID-01C8BD0C-ED2B-4AD0-8B73-86264A009829"></topicref>
-<topicref href="GUID-7FA5898D-8898-53CE-875E-1DE97BE02C81.dita"
-id="GUID-6690FDC7-0E71-4F8E-9C2C-A19C2C9DA7C3"></topicref>
-<topicref href="GUID-2C68AC8D-6767-5865-B684-CB627C20C6DC.dita"
-id="GUID-9D189C9E-855D-4BD8-B98C-1F530BABD93F"></topicref>
-<topicref href="GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita"
-id="GUID-308D98D5-3195-492D-8F13-BED849CB7800"></topicref>
-<topicref href="GUID-7A52BD40-E1C1-5C67-AAA0-1B79A34CF24C.dita"
-id="GUID-9C5F1486-339C-42E6-A116-7BAFFEF366CF"></topicref>
-<topicref href="GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9.dita"
-id="GUID-8A6E962B-07CA-439A-9E14-0A7AB599E85A"></topicref>
-</topicref>
-<topicref href="GUID-CAC07A47-1475-5152-83AA-E59FD3AFF321.dita"
-id="GUID-DB22F14A-973A-47B4-B5F6-050BBA7FA10A"></topicref>
-<topicref href="GUID-35DF14C7-62B6-51C0-8F4C-EF1B4A1173DD.dita"
-id="GUID-F17A10FF-B91F-4197-AF80-A3909BB8FAE4"></topicref>
-<topicref href="GUID-50F216D0-242A-5796-BDCC-7AAB28535458.dita"
-id="GUID-5ABACDE9-3B24-419A-8AED-5C99D0586C0D"></topicref>
-<topicref href="GUID-5986717C-C777-590D-8487-CB8ED488E975.dita"
-id="GUID-8FABA914-CF67-4188-AF0B-D7CAEF0B5708"></topicref>
-<topicref href="GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita"
-id="GUID-CE4D579D-5D83-4245-877D-02C6655E710C">
-<topicref href="GUID-B68FF699-923B-530E-A877-86507B1D42F1.dita"
-id="GUID-71FDFB26-714C-468E-BE49-70F647B72F76"></topicref>
-<topicref href="GUID-619A607D-CA89-5A98-887D-5B1D2A5F921C.dita"
-id="GUID-AA9AF5B8-79FF-48B0-9C15-22F890BBCD9E"></topicref>
-<topicref href="GUID-48BD628F-F47F-535B-B148-7425A6704FC2.dita"
-id="GUID-F400CED9-B0D6-47E1-8B44-70431A3E28BC"></topicref>
-<topicref href="GUID-947317B7-7E12-509B-9A16-F0604D7F8BA2.dita"
-id="GUID-355FE231-C519-4097-87C8-23910F28EC46"></topicref>
-<topicref href="GUID-E63AAE78-335F-5BD3-BECA-1709C3C7FB3F.dita"
-id="GUID-DD9CCA9B-6585-463C-9254-123407C35065"></topicref>
-<topicref href="GUID-A668442E-0768-5AF1-829B-A80864756A0B.dita"
-id="GUID-50CE2815-D367-4F74-8B56-3BABC42AD2CE"></topicref>
-<topicref href="GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644.dita"
-id="GUID-91B6436A-154B-40CD-95FD-CD8EEDF2B10E"></topicref>
-<topicref href="GUID-46B5E7B1-F0C2-5C1E-972A-C339E7515225.dita"
-id="GUID-BCD31B22-4D66-45F5-A2FC-B8AC08F15629"></topicref>
-<topicref href="GUID-5822CE94-C8AF-5F81-AB3F-E95B44265065.dita"
-id="GUID-E8CB7C24-0DD5-4608-8490-B4FB69A2FC56"></topicref>
-<topicref href="GUID-66C1F45B-FA94-5724-AD8F-371EAE92B7E9.dita"
-id="GUID-81A14573-35B6-4501-93F7-5BCB2C4BB8C2"></topicref>
-<topicref href="GUID-AF8280C0-20B2-5D68-BFF5-7D9D1CE989DD.dita"
-id="GUID-B0E11B8B-5B57-4792-83F3-552F01AFFF1F"></topicref>
-<topicref href="GUID-3BB6E558-017D-584A-BCB7-AB1DD80C5A90.dita"
-id="GUID-E1B9D4B9-B4FA-4EF5-8DC5-64CED1AD7BB4"></topicref>
-<topicref href="GUID-E71D8907-236E-5948-9594-E14E34A31DC8.dita"
-id="GUID-D665C587-661E-4B13-B6AC-9B2A9724BFFC"></topicref>
-<topicref href="GUID-6C1D941B-ADD1-5BD3-9045-53B66253316B.dita"
-id="GUID-7B980F77-3D62-428C-AFD6-4AF79A46F4A4"></topicref>
-<topicref href="GUID-432FF981-010F-540B-834F-FF924238AA2A.dita"
-id="GUID-5C8742D4-874D-4AE9-8CDD-AAF53D82290A"></topicref>
-<topicref href="GUID-BB0C4204-3C31-57D1-B1C5-6D2FCF571931.dita"
-id="GUID-AC2BEB6C-6EC3-49F8-A272-6E6978E32251"></topicref>
-<topicref href="GUID-A8ECAA53-9094-5C0A-8893-2757559C15F0.dita"
-id="GUID-0CBF02A5-6B4E-4FA6-A836-A6532A89E7BF"></topicref>
-<topicref href="GUID-74E94DC3-88C7-51BE-9354-C49B3A7A8B03.dita"
-id="GUID-42AA4EC1-D518-47E3-AB54-21F7EEB84E62"></topicref>
-<topicref href="GUID-9F22E663-8BC4-5502-879F-E6B790465E74.dita"
-id="GUID-F5363BB6-A261-4857-A2B7-E3C393BA6EA5"></topicref>
-<topicref href="GUID-6A783365-3CC3-5D7E-9F1C-D3585C4AE66C.dita"
-id="GUID-D3D0BCE9-9055-4751-A73A-1D53834EC1E2"></topicref>
-<topicref href="GUID-A1F037FE-0D88-5108-B96E-4ADE6B3A4A3E.dita"
-id="GUID-22546FEC-07FB-479C-9066-81DB7E708FF3"></topicref>
-<topicref href="GUID-7C4A8920-359F-5328-8D28-2AFBA25A6A9E.dita"
-id="GUID-1C881D1C-4F11-47A0-90CF-C70600D7375F"></topicref>
-<topicref href="GUID-36AA53D2-A117-5D80-A5B4-67EF865DC40E.dita"
-id="GUID-2B2B355F-85F2-48EC-99B4-3A37CE08C492"></topicref>
-<topicref href="GUID-567D36A2-1097-5D44-B1B2-896F0F812A32.dita"
-id="GUID-3C967120-1F66-43EC-B100-8DAD9042729F"></topicref>
-<topicref href="GUID-34DB27CB-9010-5B7F-A51E-0CA794147CAE.dita"
-id="GUID-B7D6EA1F-F8DE-4424-98F7-3F056478F2DE"></topicref>
-<topicref href="GUID-1879BEEB-9945-55F4-817E-8D6117055B1D.dita"
-id="GUID-07DEF2C9-32EB-450E-879B-11874756A5C3"></topicref>
-<topicref href="GUID-A05F0124-AE28-5088-8AFE-22956D1549AD.dita"
-id="GUID-7B5FA4F9-2931-4E3F-96A2-9A5CEC393D78"></topicref>
-<topicref href="GUID-D553D41C-D724-510A-A239-66CC158D6984.dita"
-id="GUID-187A6B34-8311-4D0C-92BA-821726CFD36A"></topicref>
-<topicref href="GUID-7226154E-2387-5D14-A009-2A1A60617970.dita"
-id="GUID-8C282E4E-5139-4F01-BF20-0BD098F608C1"></topicref>
-<topicref href="GUID-2393237A-E60F-5556-8657-B0AA6470225C.dita"
-id="GUID-6187FBD9-3B8F-43B7-8314-9EB47C7E29C9"></topicref>
-<topicref href="GUID-D76B1999-E118-585B-A6B4-8AE8CCCB6F8B.dita"
-id="GUID-EC486938-AC62-469B-B6D5-17E7B56EE39F"></topicref>
-<topicref href="GUID-E4BF80BE-17E9-5622-9E10-43C96EAC9754.dita"
-id="GUID-C6F22F4F-8C97-46E0-9645-CA8D0C8CDF04"></topicref>
-<topicref href="GUID-5512B80D-77E8-5DFB-BD97-EBC1C4360E90.dita"
-id="GUID-02B7FD1D-DE2D-4F85-9AA1-3CEFE0642D2F"></topicref>
-<topicref href="GUID-2FCB4609-1568-5B5F-AD9D-5A531B17A68F.dita"
-id="GUID-23B07069-CB38-4A7D-934D-C486FD3C38BD"></topicref>
-<topicref href="GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1.dita"
-id="GUID-36B93D9D-0D9E-4B67-AF11-89A474A1FCCD"></topicref>
-<topicref href="GUID-F03A323A-2FCC-5247-909F-4AB2701B1C45.dita"
-id="GUID-0D6C951B-DF10-4365-A056-5E9E01F8993E"></topicref>
-<topicref href="GUID-A3301ED7-8FD5-580B-B365-4BE12FF2F3AA.dita"
-id="GUID-AA7002D4-7E2F-4D23-BCE3-B8863D2A7A2E"></topicref>
-<topicref href="GUID-565074B2-53E2-54CD-A06B-7E044E66EBE8.dita"
-id="GUID-FF9ED03F-A148-4A5F-9C78-3CA3FA4321CD"></topicref>
-<topicref href="GUID-13AA46F9-7D5E-5BBE-8021-C9326121E605.dita"
-id="GUID-54E81EE9-6AAC-42BB-99C2-B36B2B5936D6"></topicref>
-<topicref href="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita"
-id="GUID-F0FEC023-09A4-48CF-8726-6AA1EFF57C4E"></topicref>
-<topicref href="GUID-E4A23972-CC2F-5773-B1A4-6123333D1F5E.dita"
-id="GUID-065CBA41-AC1F-44CA-95CA-A62F16D8C1FB"></topicref>
-<topicref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita"
-id="GUID-0EECF866-476D-4192-9066-3839B3D65043"></topicref>
-<topicref href="GUID-6D7F3D5C-BC1C-5657-993A-4D7E5712CAF5.dita"
-id="GUID-DF0ABD26-E86B-4CC2-9C19-5D15B79C974E"></topicref>
-<topicref href="GUID-16781448-75CB-5C11-B9E6-288BA3C0B43E.dita"
-id="GUID-A5854BBB-5EDA-4D5B-AE16-6776286A83E3"></topicref>
-<topicref href="GUID-809D428D-5BF6-57FF-952D-2FDF88E50833.dita"
-id="GUID-C0490FC3-3857-4AF8-BA9B-BEB8F4F6F76B"></topicref>
-<topicref href="GUID-B58D93D7-597C-5200-82ED-F434B297CAC9.dita"
-id="GUID-C6915FDB-DCA5-4D0A-A1F6-B3FBC410BD6D"></topicref>
-<topicref href="GUID-495C619C-1223-59C1-9B31-0F4031BAE4A9.dita"
-id="GUID-E873B114-B045-47BE-9A59-8D5F45572C0E"></topicref>
-<topicref href="GUID-AA9611C0-9AFC-530B-9B50-0D6E600C8D3E.dita"
-id="GUID-C83B6CD2-2FF6-4017-97AD-D6065D1DF55C"></topicref>
-<topicref href="GUID-5D4DA7CA-DAB8-51E6-B597-4E8B0AB56477.dita"
-id="GUID-75113D0A-5106-48F0-BA41-2F105CF698AA"></topicref>
-<topicref href="GUID-7681734D-1291-59A3-B226-BC58403FA8A0.dita"
-id="GUID-344F9630-D104-45D8-B820-6C3DD049933F"></topicref>
-<topicref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita"
-id="GUID-CDD90E9B-968B-4451-B1EC-763CFFBB27DB"></topicref>
-<topicref href="GUID-BFCFD93E-D591-50D2-8263-D13D08DD9F15.dita"
-id="GUID-D668F5B5-3BA4-4B73-B5D6-8600C65A613C"></topicref>
-<topicref href="GUID-751F057B-BF6D-5B28-A47A-3E99B25731CF.dita"
-id="GUID-C0651852-E6D3-41F2-97DB-45077706D1DE"></topicref>
-<topicref href="GUID-FAFDBFC2-BFFF-536C-A96D-8404C389DD0C.dita"
-id="GUID-5C4464B9-42C2-408C-8B54-F88E60B1312E"></topicref>
-<topicref href="GUID-52B2DFDD-063A-5ED4-9A0B-FB3346301482.dita"
-id="GUID-EBA9A4B9-D4CD-4BF6-9A3B-CAD40B7A0E8F"></topicref>
-<topicref href="GUID-50941508-B999-5FCC-B2B9-F29F5F2CA4C1.dita"
-id="GUID-BEF3D78E-DC77-4943-A9B2-7011F080B029"></topicref>
-<topicref href="GUID-535793F2-08F1-5B4E-AD32-783985C53124.dita"
-id="GUID-633BA0E3-2CF8-415D-ABB3-D58D0EA9C804"></topicref>
-<topicref href="GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5.dita"
-id="GUID-B59C1137-CD61-496E-976C-74399CB141D7"></topicref>
-<topicref href="GUID-D5358527-5E6F-5158-8BCB-F9D74DB9B354.dita"
-id="GUID-BA7C85D8-2C55-44DF-8DD9-F4E08A2C5C7A"></topicref>
-<topicref href="GUID-1A3E282E-ACC0-5F88-A759-3ED6106B02B4.dita"
-id="GUID-3683C81E-94D9-4185-AF81-2DFF0144D150"></topicref>
-</topicref>
-<topicref href="GUID-6C069F43-207C-5C6A-B9F6-3865BE8E70E8.dita"
-id="GUID-76D1B2B6-19A8-4988-813E-4B303D71DC86"></topicref>
-</topicref>
-<topicref href="GUID-E1EBBB56-4835-5048-9383-A9DB948E9541.dita"
-id="GUID-ED2E1288-1CC8-4C53-B404-8543875F2CCF">
-<topicref href="GUID-01F1C399-25F6-54E8-B48D-521187A63096.dita"
-id="GUID-97063729-BD79-4802-9368-B8F90BDE9CA1">
-<topicref href="GUID-87E45FA9-C1F9-5E4D-A5A1-25B62E508F35.dita"
-id="GUID-CD81EC40-91BF-4768-8C38-221A6E4CB172"></topicref>
-<topicref href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita"
-id="GUID-270E44C5-8CC2-4047-82CA-15239D7FE094">
-<topicref href="GUID-49FEF50C-98C8-5789-881E-553164EF5517.dita"
-id="GUID-D22D9B5D-A8B3-4C91-BC26-611476D5ED4E"></topicref>
-<topicref href="GUID-9B7BF729-7982-5DFC-AD3C-10D327CA2909.dita"
-id="GUID-B222DB77-55BF-47E9-B40E-F83A4AF073B3"></topicref>
-</topicref>
-<topicref href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita"
-id="GUID-05A7255B-E3BF-425A-8DD5-BCCF30340B41">
-<topicref href="GUID-50CA6507-18AF-58D7-8494-2FECF8FDBDF3.dita"
-id="GUID-A49A9F37-CE8B-476F-8CD6-B44C383A0CD9"></topicref>
-<topicref href="GUID-48326B53-0814-57B9-A744-78AA219D3480.dita"
-id="GUID-3C3B1441-8337-4DA5-A4DE-005272BB6821"></topicref>
-</topicref>
-<topicref href="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita"
-id="GUID-018DBC6A-EF5F-41F4-A750-885587AB11FD">
-<topicref href="GUID-1CCFBCD1-543F-5C53-A1E7-594591BB5905.dita"
-id="GUID-33370D83-F5C6-4B68-8281-C53CD3690AF4"></topicref>
-<topicref href="GUID-7387B16E-1978-5997-ACCB-BEBFD2609C86.dita"
-id="GUID-1CBD97F7-9342-4049-84CA-A40AFD265CB0"></topicref>
-</topicref>
-</topicref>
-<topicref href="GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita"
-id="GUID-A95EE2F7-CE83-4AEF-9CDD-9E5C6A6C4A05"></topicref>
-</topicref>
-<topicref href="GUID-A3E77067-7982-5803-A274-0C8F2562B483.dita"
-id="GUID-BD5AC112-7414-4F7A-9240-529600A1A7C3">
-<topicref href="GUID-11F63309-1C6B-52D4-A1A0-D7F3C64DE4F5.dita"
-id="GUID-DD9BD451-E315-48DB-A1CC-D8B14CB75629">
-<topicref href="GUID-17798BAC-F887-515F-B90E-CAAE81D8530F.dita"
-id="GUID-63A810CE-A39B-464C-8F28-E8FFABEC162B"></topicref>
-<topicref href="GUID-B95D96F5-6EA0-596C-BA06-F0703D3FCDFF.dita"
-id="GUID-4E8C18DE-1CD2-47CA-AAEC-D782C561220E"></topicref>
-<topicref href="GUID-5E861D2B-CEAA-55F4-90D8-206CB8EF835B.dita"
-id="GUID-EE369FC1-9C96-4986-8238-CD50CA4A3B28"></topicref>
-</topicref>
-<topicref href="GUID-715D065D-4FF7-55D0-882E-3B37F36369C4.dita"
-id="GUID-A99F1337-8D25-4905-BE8E-F93C243EFFE5"></topicref>
-<topicref href="GUID-67B311E5-5522-5367-BEC2-F5C9285AC99D.dita"
-id="GUID-C522E447-B569-4E47-B32E-D94C32754CC0"></topicref>
-<topicref href="GUID-AFB1F350-C5D3-5495-AE20-1AA6888B6FB1.dita"
-id="GUID-278179C9-70A9-41BF-A09B-D72F345EA44B"></topicref>
-<topicref href="GUID-D5984540-A411-52ED-B435-94C67F34ADD5.dita"
-id="GUID-A1247696-2B9E-4CF5-826C-3F80CFB68352"></topicref>
-</topicref>
-</chapter>
 <chapter href="GUID-1D0E418B-09D4-5A6E-A1A8-A46F9F9CF371.dita"
 id="GUID-C9AFCBA2-6169-42F1-981C-BAC65D00E535">
 <topicref href="GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita"
@@ -10320,4 +10151,4 @@
 id="GUID-01BA3966-A5C4-4829-846F-0D4FF01D72A6"></topicref>
 </chapter><?Pub Caret1?>
 </bookmap>
-<?Pub *0000564224?>
+<?Pub *0000551131?>
Binary file Symbian3/PDK/Source/GUID-A6C9E7DF-1ACF-4768-851E-350E3DADEC56_d0e85128_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6C9E7DF-1ACF-4768-851E-350E3DADEC56_d0e89326_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6DE13A9-BD2F-5F14-864E-BAEC9C52B9DD_d0e244749_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6DE13A9-BD2F-5F14-864E-BAEC9C52B9DD_d0e250760_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6E7C805-0515-5F3F-97DB-B5E1A84162B2_d0e445991_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6E7C805-0515-5F3F-97DB-B5E1A84162B2_d0e451836_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6EE8A2A-8B17-5D3A-A9B9-C8D25C92EA21_d0e586037_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6EE8A2A-8B17-5D3A-A9B9-C8D25C92EA21_d0e635325_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6F1F6AC-5D3C-5055-AEF1-B64671941BCB_d0e637948_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A6F1F6AC-5D3C-5055-AEF1-B64671941BCB_d0e650770_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A719FDFA-903B-5340-AA47-9E5B22DBB253_d0e228678_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A719FDFA-903B-5340-AA47-9E5B22DBB253_d0e234677_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A726509A-4016-5499-B5A0-F25F505E14C9_d0e230406_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A726509A-4016-5499-B5A0-F25F505E14C9_d0e236401_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e551490_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e558946_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A780F684-0F67-4A7F-B766-E69A5223F917_d0e83345_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A780F684-0F67-4A7F-B766-E69A5223F917_d0e87543_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A786DE92-B87E-5D8E-B61D-645BB42BC303_d0e276852_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A786DE92-B87E-5D8E-B61D-645BB42BC303_d0e282852_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e466594_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e472439_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e469977_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e475813_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A837D8F6-B9D3-5119-8C63-51772B388999" xml:lang="en"><title>Tools and
-Utilities</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The guide describe the tools for developing and building programs. </p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A849B353-76E5-5AD6-851A-AF18C66AED48.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A849B353-76E5-5AD6-851A-AF18C66AED48.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-A849B353-76E5-5AD6-851A-AF18C66AED48" xml:lang="en"><title>Generic
 Driver Support Overview</title><shortdesc>Generic driver related concepts in Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-17-1-1-13-1-4-1-3-1"><title>Architecture</title> <p>The
+<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-12-1-18-1-1-13-1-4-1-3-1"><title>Architecture</title> <p>The
 role of a generic device driver is to give a user-side application access
 to peripheral resources without exposing the operation of the underlying hardware.
 A device driver is effectively an add-on to the kernel, and implements a polymorphic
--- a/Symbian3/PDK/Source/GUID-A869BA79-5916-5B60-A02B-EF7D7CCA8C45.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A869BA79-5916-5B60-A02B-EF7D7CCA8C45.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-A869BA79-5916-5B60-A02B-EF7D7CCA8C45"><title>How to control Application Level Roaming for SIP Profiles</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Application Level Roaming (ALR) is a facility which allows a SIP Profile to switch between service providers by using Internet Access Points (IAPs). By default, all SIP clients allow the SIP profiles they are using to roam across IAPs. </p> <p>To restrict roaming for a SIP profile to a set of IAPs, configure the profile with a Service Network Access Point (SNAP) ID. A SNAP ID is a unique identifier for a set of IAPs. The SIP profile store must include the SNAP ID that can be used by the SIP profile while roaming. </p> <p>Use the <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita"><apiname>CSipProfileAlrController</apiname></xref> and <xref href="GUID-2034A76E-DF82-3E1B-810D-D98819C7C153.dita"><apiname>MSipProfileAlrObserver</apiname></xref> classes to control ALR. </p> <p>To register for ALR events, use an instance of the <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita"><apiname>CSipProfileAlrController</apiname></xref> class and implement the <xref href="GUID-2034A76E-DF82-3E1B-810D-D98819C7C153.dita"><apiname>MSipProfileAlrObserver</apiname></xref> interface to register for ALR events. When registered for the ALR event, the <xref href="GUID-2034A76E-DF82-3E1B-810D-D98819C7C153.dita"><apiname>MSipProfileAlrObserver</apiname></xref> interface notifies the client when a SIP profile used by the client tries to migrate to another IAP. Then the client can allow or disallow the migration request using the <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita#GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8/GUID-95B63021-C6C7-39AF-8D34-4D860A8E1772"><apiname>CSipProfileAlrController::AllowMigrationL()</apiname></xref> or <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita#GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8/GUID-735767B1-A2B4-3944-B960-C5E6C9A9ADFA"><apiname>CSipProfileAlrController::DisallowMigrationL()</apiname></xref> functions. </p> <p>The following illustration shows the call flow of enabling a SIP profile configured with a SNAP ID. </p> <fig id="GUID-CF28B128-D560-516D-BF6E-DA46ECB96DF2"><title>
           Call flow of enabling a SIP profile with a SNAP ID 
-        </title> <image href="GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e550989_href.png" placement="inline"/></fig> <p>When the SIP profile is registered with a SNAP ID, you can allow the SIP profile to migrate to another IAP within the SNAP. </p> <p>In the following illustration, the SIP profile is deregistered after migrating to another IAP. To use it again, you must register the profile again. </p> <p>The following illustration shows the call flow of SIP profile migration. </p> <fig id="GUID-CC95AEE1-EABD-5C36-BB2D-C2BC585C6769"><title>
+        </title> <image href="GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e558445_href.png" placement="inline"/></fig> <p>When the SIP profile is registered with a SNAP ID, you can allow the SIP profile to migrate to another IAP within the SNAP. </p> <p>In the following illustration, the SIP profile is deregistered after migrating to another IAP. To use it again, you must register the profile again. </p> <p>The following illustration shows the call flow of SIP profile migration. </p> <fig id="GUID-CC95AEE1-EABD-5C36-BB2D-C2BC585C6769"><title>
           Call flow of migrating a SIP profile to another IAP 
-        </title> <image href="GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e551004_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e558460_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A898867E-0C50-583E-979F-132504C24C9A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A898867E-0C50-583E-979F-132504C24C9A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,5 +12,5 @@
 <concept xml:lang="en" id="GUID-A898867E-0C50-583E-979F-132504C24C9A"><title>Full LBS on the Symbian Platform</title><shortdesc>This topic describes the steps necessary to configure the LBS subsystem on the Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Introduction</title> <p>In this configuration, LBS handles location requests from installed applications and privacy and location requests from the network. </p> <p>The subsystem does not rely on the device domestic OS to process location requests from the network. A Network Protocol Module handles privacy and location requests from the network, receives assistance data for A-GPS positioning and can be used for cell-based positioning. </p> <p>The Privacy Protocol Module is not included in this configuration. LBS is therefore able to process both privacy and location requests from the network. </p> </section> <section><title>Subsystem components</title> <p>Figure 1 shows the components and files (in green) that you may create or edit in order to create a working LBS subsystem. Figure 1 does not show all of the links and dependencies between the internal LBS subsystem components. </p> <fig id="GUID-2CF08071-4442-5734-B3A9-28C34997F0FB"><title>
              Figure 1. LBS subsystem components and files that can be created or
              modified by device creators 
-          </title> <image href="GUID-FEE01F5F-1F7E-569C-950E-7793DA8F26A2_d0e426920_href.png" placement="inline"/></fig> </section> <section><title>Integration and configuration tasks</title> <p>This section lists the tasks that may be required to build and configure a working LBS subsystem. Tasks are categorised as required or optional. </p> <ul><li id="GUID-66DFAD9E-7E37-5A58-9C63-5465E178B7A5"><p>[Required] <xref href="GUID-9369E1D6-6AF5-5E7E-B1D0-4ACBD8851E04.dita">Create a GPS/A-GPS Integration Module</xref> and configure an Integration Module .ini file. </p> <p>The A-GPS Integration Module is used by LBS to process location requests from the network. It can also be used to process location requests from installed applications if the GPS/A-GPS PSY is installed. </p> </li> <li id="GUID-94D91098-E443-5C48-B960-87650A90BEC6"><p>[Required] <xref href="GUID-ABA8D056-CFA0-5F1F-AF44-10F0989BB392.dita">Create a Privacy Handler</xref> (a Privacy Controller and/or Privacy Notifiers). </p> <p>A privacy handler is required to inform the user when privacy requests are received from the network. </p> </li> <li id="GUID-EDEC2254-473F-52C5-A0A7-9A4906550D27"><p>[Required] <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">Modify the LBS Default Administration Settings File</xref>  <filepath>1028224B.cre</filepath>. </p> <p>The default administration settings file contains central repository keys and values that define the initial LBS subsystem settings. </p> <p>You may need to change some of the values in the default file that is supplied with the Symbian platform. </p> </li> <li id="GUID-2522526E-5273-5486-A0F8-AEA20CEA15CA"><p>[Optional] <xref href="GUID-D151CA47-DA9C-57C1-873A-D6A86C2E5B45.dita">Create a Network Protocol Module</xref> and configure the Network Location Manager .ini file. </p> <p>A Network Protocol Module is required to handle location requests from the network, to receive A-GPS assistance data from the network and to use cell based positioning. </p> <p>This task is optional because you can use the Symbian platform SUPL Protocol Module instead of creating their own Network Protocol Module. </p> </li> <li id="GUID-506A9AA0-DDF4-51D4-84FC-397189454C11"><p>[Optional] <xref href="GUID-E6E34A4B-84CE-5C7E-9B7D-7A0FABFF1C96.dita">Create a Positioning Plug-in (PSY)</xref> to interface with integrated positioning hardware. </p> <p>This task is optional, because the Symbian Platform contains PSYs that you can use to integrate with external Bluetooth GPS hardware, the network and with an A-GPS Integration Module. </p> </li> <li id="GUID-94908414-4BA6-5F22-B16F-F9CEA97FEC19"><p>[Optional] <xref href="GUID-29DE87DA-617B-5DF7-9C49-C7113EC4147D.dita">Create an LBS Settings Application</xref>. </p> <p>Creating a settings application is only necessary if you want to give end users the ability to modify LBS settings at runtime. LBS provides the LBS Administration API and the Location Settings API to modify LBS settings at runtime. </p> </li> <li id="GUID-3EC91E0D-5934-5EA5-A6C0-2B74FB453051"><p>[Optional] <xref href="GUID-1FA0EA57-94DC-576F-B62F-AE52310AB446.dita">Modify the Quality Profile File</xref>. </p> <p>Changing this file is only necessary if you want to change the quality profile settings from the default values. </p> </li> <li id="GUID-B82CDB26-F976-56C4-97E7-15FE4962307B"><p>[Optional] Create applications to use the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> and the <xref href="GUID-90757A79-A001-52BF-81D9-CFA02FDDE1BE.dita">Transmit Location API</xref>. </p> <p>The Location Acquisition API can be used to create applications that use location data, such as navigation and location stamping applications. This API can be used by device creators and by third party application developers. </p> <p>The Transmit Location API can be used by device creators to develop applications (X3P application in figure 1) to send the mobile device's location to a contact or service. </p> </li> <li id="GUID-66264F47-240F-5372-BFBD-9EF927584DA1"><p>[Required] <xref href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita">Build a ROM</xref>  </p> </li> </ul> <p>The following documents give additional information about LBS configuration: </p> <ul><li id="GUID-7911CB9B-66FA-5970-A699-00DF8C850298"><p><xref href="GUID-CECA14A5-2BAA-5B49-B083-5D826A69E027.dita">LBS Root Process File</xref> describes the format and content of the file <filepath>10282266.cre</filepath> used by the LBS Root process to start and monitor the components of the LBS subsystem. </p> <p>Generally it should not be necessary to modify the file supplied with the Symbian platform to build this configuration. </p> </li> <li id="GUID-D6DA9694-A94F-5ADC-8F54-3833A94CA39A"><p><xref href="GUID-0503DFF5-EE48-5982-832F-0CE3817E457E.dita">Table of LBS Configuration Files</xref> gives a list of the LBS configuration files that you can modify. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>Integration
+          </title> <image href="GUID-FEE01F5F-1F7E-569C-950E-7793DA8F26A2_d0e432765_href.png" placement="inline"/></fig> </section> <section><title>Integration and configuration tasks</title> <p>This section lists the tasks that may be required to build and configure a working LBS subsystem. Tasks are categorised as required or optional. </p> <ul><li id="GUID-66DFAD9E-7E37-5A58-9C63-5465E178B7A5"><p>[Required] <xref href="GUID-9369E1D6-6AF5-5E7E-B1D0-4ACBD8851E04.dita">Create a GPS/A-GPS Integration Module</xref> and configure an Integration Module .ini file. </p> <p>The A-GPS Integration Module is used by LBS to process location requests from the network. It can also be used to process location requests from installed applications if the GPS/A-GPS PSY is installed. </p> </li> <li id="GUID-94D91098-E443-5C48-B960-87650A90BEC6"><p>[Required] <xref href="GUID-ABA8D056-CFA0-5F1F-AF44-10F0989BB392.dita">Create a Privacy Handler</xref> (a Privacy Controller and/or Privacy Notifiers). </p> <p>A privacy handler is required to inform the user when privacy requests are received from the network. </p> </li> <li id="GUID-EDEC2254-473F-52C5-A0A7-9A4906550D27"><p>[Required] <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">Modify the LBS Default Administration Settings File</xref>  <filepath>1028224B.cre</filepath>. </p> <p>The default administration settings file contains central repository keys and values that define the initial LBS subsystem settings. </p> <p>You may need to change some of the values in the default file that is supplied with the Symbian platform. </p> </li> <li id="GUID-2522526E-5273-5486-A0F8-AEA20CEA15CA"><p>[Optional] <xref href="GUID-D151CA47-DA9C-57C1-873A-D6A86C2E5B45.dita">Create a Network Protocol Module</xref> and configure the Network Location Manager .ini file. </p> <p>A Network Protocol Module is required to handle location requests from the network, to receive A-GPS assistance data from the network and to use cell based positioning. </p> <p>This task is optional because you can use the Symbian platform SUPL Protocol Module instead of creating their own Network Protocol Module. </p> </li> <li id="GUID-506A9AA0-DDF4-51D4-84FC-397189454C11"><p>[Optional] <xref href="GUID-E6E34A4B-84CE-5C7E-9B7D-7A0FABFF1C96.dita">Create a Positioning Plug-in (PSY)</xref> to interface with integrated positioning hardware. </p> <p>This task is optional, because the Symbian Platform contains PSYs that you can use to integrate with external Bluetooth GPS hardware, the network and with an A-GPS Integration Module. </p> </li> <li id="GUID-94908414-4BA6-5F22-B16F-F9CEA97FEC19"><p>[Optional] <xref href="GUID-29DE87DA-617B-5DF7-9C49-C7113EC4147D.dita">Create an LBS Settings Application</xref>. </p> <p>Creating a settings application is only necessary if you want to give end users the ability to modify LBS settings at runtime. LBS provides the LBS Administration API and the Location Settings API to modify LBS settings at runtime. </p> </li> <li id="GUID-3EC91E0D-5934-5EA5-A6C0-2B74FB453051"><p>[Optional] <xref href="GUID-1FA0EA57-94DC-576F-B62F-AE52310AB446.dita">Modify the Quality Profile File</xref>. </p> <p>Changing this file is only necessary if you want to change the quality profile settings from the default values. </p> </li> <li id="GUID-B82CDB26-F976-56C4-97E7-15FE4962307B"><p>[Optional] Create applications to use the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> and the <xref href="GUID-90757A79-A001-52BF-81D9-CFA02FDDE1BE.dita">Transmit Location API</xref>. </p> <p>The Location Acquisition API can be used to create applications that use location data, such as navigation and location stamping applications. This API can be used by device creators and by third party application developers. </p> <p>The Transmit Location API can be used by device creators to develop applications (X3P application in figure 1) to send the mobile device's location to a contact or service. </p> </li> <li id="GUID-66264F47-240F-5372-BFBD-9EF927584DA1"><p>[Required] <xref href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita">Build a ROM</xref>  </p> </li> </ul> <p>The following documents give additional information about LBS configuration: </p> <ul><li id="GUID-7911CB9B-66FA-5970-A699-00DF8C850298"><p><xref href="GUID-CECA14A5-2BAA-5B49-B083-5D826A69E027.dita">LBS Root Process File</xref> describes the format and content of the file <filepath>10282266.cre</filepath> used by the LBS Root process to start and monitor the components of the LBS subsystem. </p> <p>Generally it should not be necessary to modify the file supplied with the Symbian platform to build this configuration. </p> </li> <li id="GUID-D6DA9694-A94F-5ADC-8F54-3833A94CA39A"><p><xref href="GUID-0503DFF5-EE48-5982-832F-0CE3817E457E.dita">Table of LBS Configuration Files</xref> gives a list of the LBS configuration files that you can modify. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>Integration
                 and Configuration Guide Overview</linktext> </link> <link href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita"><linktext>LBS Architecture Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A89A50B6-2A3B-54E1-8157-6CC86AFE4A57_d0e584273_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A89A50B6-2A3B-54E1-8157-6CC86AFE4A57_d0e633561_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A8C80AA1-42CF-5866-B223-FCE1AEC9DF63_d0e512129_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A8C80AA1-42CF-5866-B223-FCE1AEC9DF63_d0e519591_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-A8ECAA53-9094-5C0A-8893-2757559C15F0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A8ECAA53-9094-5C0A-8893-2757559C15F0"><title>epocstacksize</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>epocstacksize</codeph>  <varname>stacksize</varname>  </p> <p>Use the <codeph>epocstacksize</codeph> statement to specify a stack size for your executable other than the default 8KB. </p> <p>The maximum stack size is 80KB. </p> <p>The size of the stack, in bytes, can be specified in decimal or hexadecimal format. Use of this statement will have no effect under the WINSCW/WINS platforms. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-A91C6359-E547-51AD-AA8C-45BCAFBA98AC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A91C6359-E547-51AD-AA8C-45BCAFBA98AC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,43 +1,41 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-A91C6359-E547-51AD-AA8C-45BCAFBA98AC" xml:lang="en"><title>Kernel Architecture
-(EKA2)</title><shortdesc>EKA2 is the principal Hardware and Kernel Services module. It manages
-the CPU and memory resources of a phone, and provides an architecture for
-device drivers to manage other hardware resources. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p id="GUID-B66850E3-11C9-58D6-ADB3-12ABBC1B792C"> The Kernel has a layered
-architecture so that it can be ported to different hardware. All base ports
-must implement a layer called the ASSP/Variant that provides essential hardware-specific
-services for the Kernel. </p>
-<p>The Kernel also allows additional layers called personality layers to be
-created that provide emulations of traditional real time operating systems.
-This allows applications that were written for those operating systems to
-be run on Symbian platform. </p>
-<p>The device driver architecture and the services that the Kernel provides
-to device drivers are described in the <xref href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita">Device
-Driver Guide</xref>. </p>
-</conbody><related-links>
-<link href="GUID-77DF7A6B-F01D-5B9F-9C7A-662A04ED8BE7.dita"><linktext>ASSP   Kernel
-Extension Overview</linktext></link>
-<link href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita"><linktext>Device  
-Driver Guide</linktext></link>
-<link href="GUID-C06CFF3E-23E9-5E0B-99A1-51B8ED95465F.dita"><linktext>USB Client
-  Driver</linktext></link>
-<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/1._Introducing_EKA2.dita">
-<linktext>Symbian OS Internals - Chapter 1 Introducing EKA2</linktext></link>
-<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/2._Hardware_for_Symbian_OS.dita">
-<linktext>Symbian OS Internals - Chapter 2 Hardware for Symbian OS</linktext>
-</link>
-<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/5._Kernel_Services.dita">
-<linktext>Symbian OS Internals - Chapter 5 Kernel Services</linktext></link>
-<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/7._Memory_Models.dita">
-<linktext>Symbian OS Internals - Chapter 7 Memory Model</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A91C6359-E547-51AD-AA8C-45BCAFBA98AC" xml:lang="en"><title>Kernel
+Architecture (EKA2)</title><shortdesc>EKA2 is the principal Hardware and Kernel Services module.
+It manages the CPU and memory resources of a phone, and provides an
+architecture for device drivers to manage other hardware resources. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p id="GUID-B66850E3-11C9-58D6-ADB3-12ABBC1B792C"> The Kernel has
+a layered architecture so that it can be ported to different hardware.
+All base ports must implement a layer called the ASSP/Variant that
+provides essential hardware-specific services for the Kernel. </p>
+<p>The Kernel also allows additional layers called personality layers
+to be created that provide emulations of traditional real time operating
+systems. This allows applications that were written for those operating
+systems to be run on Symbian platform. </p>
+<p>The device driver architecture and the services that the Kernel
+provides to device drivers are described in the <xref href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita">Device Driver Guide</xref>. </p>
+</conbody><related-links>
+<link href="GUID-77DF7A6B-F01D-5B9F-9C7A-662A04ED8BE7.dita"><linktext>ASSP
+  Kernel Extension Overview</linktext></link>
+<link href="GUID-0437DB4C-FC4E-51DC-BB4C-95C0B26834F5.dita"><linktext>Device
+  Driver Guide</linktext></link>
+<link href="GUID-C06CFF3E-23E9-5E0B-99A1-51B8ED95465F.dita"><linktext>USB
+Client   Driver</linktext></link>
+<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/1._Introducing_EKA2" scope="external"><linktext>Symbian OS Internals - Chapter 1 Introducing
+EKA2</linktext></link>
+<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/2._Hardware_for_Symbian_OS" scope="external"><linktext>Symbian OS Internals - Chapter 2 Hardware
+for Symbian OS</linktext></link>
+<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/5._Kernel_Services" scope="external"><linktext>Symbian OS Internals - Chapter 5 Kernel
+Services</linktext></link>
+<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/7._Memory_Models" scope="external"><linktext>Symbian OS Internals - Chapter 7 Memory
+Model</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A92CE0FF-113F-55BE-B5EF-7E5C629A4557_d0e210814_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A92CE0FF-113F-55BE-B5EF-7E5C629A4557_d0e216815_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-A947B5A8-9138-4FA2-B8D8-2850AEB2F38C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A947B5A8-9138-4FA2-B8D8-2850AEB2F38C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,9 +14,9 @@
 <p>Battery pane displays the remaining energy level of the battery, using
 a graphical indicator. It also acts as a charging indicator. The battery indicator
 is visible in all applications.</p>
-<fig id="GUID-D43D0210-84D8-4288-A2E8-13D43B861F7F">
+<fig id="GUID-2259AAFC-0A81-4723-B47C-41713FB9EFFB">
 <title>Battery pane</title>
-<image href="GUID-BC7AFCC5-0052-479E-99AE-F3F982ED1F84_d0e95236_href.png" placement="inline"/>
+<image href="GUID-4D82B904-71BF-4945-85ED-655AF8879FF9_d0e99434_href.png" scale="40" placement="inline"/>
 </fig>
 <p>The battery pane is not accessible
 to applications.</p>
Binary file Symbian3/PDK/Source/GUID-A950288B-D9D8-59E3-9F4C-0AEE2FC77E38_d0e477296_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-A950288B-D9D8-59E3-9F4C-0AEE2FC77E38_d0e483125_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-A95CDFDE-285F-5DE2-AADE-29B2B9663757.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-A95CDFDE-285F-5DE2-AADE-29B2B9663757.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A95CDFDE-285F-5DE2-AADE-29B2B9663757"><title>The object index</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>An object index is used to generate handle-numbers for reference counting objects. </p> <p>An object index is an instance of a <xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita"><apiname>CObjectIx</apiname></xref> class. </p> <p>An object index acts as a collector of reference counting objects but, unlike an object container, it does not act as a container for them. The difference is emphasised by the fact that removing a reference counting object from its object container causes that reference counting object to be <i>destroyed</i>, while removing it from an object index causes it to be <i>closed</i>. </p> <p>An object index can hold reference counting objects which belong to different object containers. The same reference counting object can also be added to an object index any number of times; each is regarded as a different instance of that object and each instance generates a different handle-number. </p> <p> <xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita#GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E/GUID-03EC7FEC-030F-3F4E-9FF1-669284626DF5"><apiname>CObjectIx::AddL()</apiname></xref> adds a reference counting object to an object index, and is the way in which a unique handle-number can be generated for that object. A handle-number is the way in which an object which is owned or managed by another thread or process can be identified. For example, on the server side, the object representing a thread (a <codeph>DThread</codeph>) maintains an object index for all objects which are open in that thread. Semaphores, mutexes and other threads are examples. Typically, user code running in that thread will have handles, <codeph>RHandleBase</codeph> derived types, open on those objects. </p> <p>The following drawing shows the idea. </p> <fig id="GUID-139E5A87-1E6E-5102-AE60-A707EFC5AD5D"><image href="GUID-6BA9989F-6D45-5D77-BC79-DE4B5DD35A6C_d0e346428_href.png" placement="inline"/></fig> <p>An object index is implemented as an array where each element of the array contains a pointer to the reference counting object. An object index can index up to 32,768 (0x8000) reference counting objects. </p> <p>See also: </p> <ul><li id="GUID-3BD162E5-C0A7-5D42-94E3-6E2A0468749A"><p> <xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita"><apiname>CObjectIx</apiname></xref> </p> </li> <li id="GUID-C7108AB5-3F32-5F1D-B15F-E6DBE5CF9809"><p> <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> </p> </li> <li id="GUID-00290334-9DA4-5FC0-874A-CD839027FD28"><p> <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> </p> </li> <li id="GUID-25EBCB93-A34E-57C3-BD33-B20398FD3CC0"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> </p> </li> </ul> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-A95CDFDE-285F-5DE2-AADE-29B2B9663757"><title>The object index</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>An object index is used to generate handle-numbers for reference counting objects. </p> <p>An object index is an instance of a <xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita"><apiname>CObjectIx</apiname></xref> class. </p> <p>An object index acts as a collector of reference counting objects but, unlike an object container, it does not act as a container for them. The difference is emphasised by the fact that removing a reference counting object from its object container causes that reference counting object to be <i>destroyed</i>, while removing it from an object index causes it to be <i>closed</i>. </p> <p>An object index can hold reference counting objects which belong to different object containers. The same reference counting object can also be added to an object index any number of times; each is regarded as a different instance of that object and each instance generates a different handle-number. </p> <p> <xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita#GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E/GUID-03EC7FEC-030F-3F4E-9FF1-669284626DF5"><apiname>CObjectIx::AddL()</apiname></xref> adds a reference counting object to an object index, and is the way in which a unique handle-number can be generated for that object. A handle-number is the way in which an object which is owned or managed by another thread or process can be identified. For example, on the server side, the object representing a thread (a <codeph>DThread</codeph>) maintains an object index for all objects which are open in that thread. Semaphores, mutexes and other threads are examples. Typically, user code running in that thread will have handles, <codeph>RHandleBase</codeph> derived types, open on those objects. </p> <p>The following drawing shows the idea. </p> <fig id="GUID-139E5A87-1E6E-5102-AE60-A707EFC5AD5D"><image href="GUID-6BA9989F-6D45-5D77-BC79-DE4B5DD35A6C_d0e352379_href.png" placement="inline"/></fig> <p>An object index is implemented as an array where each element of the array contains a pointer to the reference counting object. An object index can index up to 32,768 (0x8000) reference counting objects. </p> <p>See also: </p> <ul><li id="GUID-3BD162E5-C0A7-5D42-94E3-6E2A0468749A"><p> <xref href="GUID-70824EE4-9E01-3AC0-9318-4B521A1FDD5E.dita"><apiname>CObjectIx</apiname></xref> </p> </li> <li id="GUID-C7108AB5-3F32-5F1D-B15F-E6DBE5CF9809"><p> <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> </p> </li> <li id="GUID-00290334-9DA4-5FC0-874A-CD839027FD28"><p> <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> </p> </li> <li id="GUID-25EBCB93-A34E-57C3-BD33-B20398FD3CC0"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref> </p> </li> </ul> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A95FEDD4-106A-5E14-8B64-3E2882C76666_d0e347941_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A95FEDD4-106A-5E14-8B64-3E2882C76666_d0e353892_href.png has changed
--- a/Symbian3/PDK/Source/GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-A98F7AA2-A908-527E-9AEC-54DDD10A49C1"><title>secureid</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>secureid</codeph>  <varname>secureid</varname>  </p> <p>This keyword specifies the secure identifier of the executable. </p> <p>Each executable contains a secure identifier, which is guaranteed to be locally unique (i.e. in the phone where it is installed). </p> <p>The secure identifier (SID) may be used when verifying an executable's rights of access to system resources. It is also used to form the path name for an executable's private data area. </p> <p>The secureid need not be explicitly specified in the <filepath>.mmp</filepath> file, but if it is omitted, then the value of the UID3, specified elsewhere in the <filepath>.mmp</filepath> file, is used. If the UID3 is not specified, then the secureid will take the value <xref href="GUID-ADE2FE59-2086-3065-8668-D34618D666D2.dita"><apiname>KNullUID</apiname></xref>. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-A9BFB95C-E2B0-5CD0-8B39-C448E3C81400_d0e547572_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A9BFB95C-E2B0-5CD0-8B39-C448E3C81400_d0e555028_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A9E610B7-505C-41C4-9079-BC83C094982E_d0e13461_href.png has changed
Binary file Symbian3/PDK/Source/GUID-A9E610B7-505C-41C4-9079-BC83C094982E_d0e13560_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AA276F4E-D032-571E-9B76-BA2351C3F8B7_d0e606979_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-AA276F4E-D032-571E-9B76-BA2351C3F8B7_d0e646141_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-AA53650C-664C-53F0-8BE9-445677FC1FE2_d0e393841_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AA53650C-664C-53F0-8BE9-445677FC1FE2_d0e399694_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AA5DEEB2-0B13-5FA8-8494-EC2F5C654FEF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AA5DEEB2-0B13-5FA8-8494-EC2F5C654FEF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,56 +1,53 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-AA5DEEB2-0B13-5FA8-8494-EC2F5C654FEF" xml:lang="en"><title>CentRepExample:
-Using Central Repository for Persistent Storage</title><shortdesc>This example application demonstrates the usage of Central Repository
-API for persistent storage.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-E2129D18-6FBB-55B9-8D79-420EB2CF2401"><title>Description</title> <p>Several
-Symbian platform components have state and settings information that need
-to be persistent. There is also a global state that needs to persist, for
-example, default filenames, locale settings, user preferences. </p> <p>The
-CentRep example application first registers a group of settings with the central
-repository server. It uses <filepath>E80000AD.txt</filepath>, a UTF-16 format
-text file to initialise the repository. This text file contains access control
-structure and the initial content of the repository. It is recommended to
-convert the initialisation text file into a binary file using the central
-repository converter tool to speed up the execution. </p> <p>The application
-creates a <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita"><apiname>CRepository</apiname></xref> object using the <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-B8DD1F6F-5A03-30C7-A5B5-51053D9FBDD3"><apiname>CRepository::NewLC()</apiname></xref> method
-to access a repository using its UID. It resets the whole repository using <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-BA806B9D-C347-3722-886E-1290A4A0618A"><apiname>CRepository::Reset()</apiname></xref> method
-with the contents in the initialisation file. </p> <p>Each setting stored
-in the repository will have a unique key to identify the setting. This unique
-key is used to read and change the setting by calling the <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-AB3918A5-BA69-3EE8-89B4-51DD8A899AF5"><apiname>CRepository::Get()</apiname></xref> and <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-114079A1-A8CA-3FE7-8FAD-F5E61453FF6B"><apiname>CRepository::Set()</apiname></xref> methods
-respectively. The application moves these keys to a different location using <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-4F005B5F-2664-3F7C-848D-B6F93462F2F4"><apiname>CRepository::Move()</apiname></xref> method
-and deletes them from their original location. </p> <p>The application also
-creates another <codeph>CRepository</codeph> object to demonstrate that, at
-any given point a repository cannot be opened with <i>READ/WRITE</i> access
-by more than one client. In such situations, it is recommended to start a
-transaction before a write operation using <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-1F14EB0C-89CF-3A76-A678-5F6F86F50B32"><apiname>CRepository::StartTransaction()</apiname></xref> method.
-A transaction guarantees the consistency and persistence of all values read
-and written during the transaction. </p> <p>Finally, the application requests
-the central repository server to notify any changes to the original settings. </p><p><b>Related
-APIs</b></p><ul>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita"><apiname>CRepository</apiname></xref> - Provides access to a repository.</p></li>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-AB3918A5-BA69-3EE8-89B4-51DD8A899AF5"><apiname>CRepository::Get()</apiname></xref></p></li>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-4F005B5F-2664-3F7C-848D-B6F93462F2F4"><apiname>CRepository::Move()</apiname></xref></p></li>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-B8DD1F6F-5A03-30C7-A5B5-51053D9FBDD3"><apiname>CRepository::NewLC()</apiname></xref></p></li>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-BA806B9D-C347-3722-886E-1290A4A0618A"><apiname>CRepository::Reset()</apiname></xref></p></li>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-114079A1-A8CA-3FE7-8FAD-F5E61453FF6B"><apiname>CRepository::Set()</apiname></xref></p></li>
-<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-1F14EB0C-89CF-3A76-A678-5F6F86F50B32"><apiname>CRepository::StartTransaction()</apiname></xref></p></li>
-</ul> </section>
-<section id="GUID-3B353EAA-5FE4-426B-A0A5-6800CE0BC9E3"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e78b3d2c-7205-45ca-abe0-163e33a0fcc3.zip" scope="external">CentRepExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e78b3d2c-7205-45ca-abe0-163e33a0fcc3.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-DCCBE8DE-0BBD-5528-A460-E1645116DD4F"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian build process</xref> describes
-how to build an application. </p> <p>The <codeph>CentRepExample</codeph> builds
-an executable called <filepath>CentRepExample.exe</filepath> in the standard
-location (\epoc32\release\winscw\&lt;<i>build_variant</i> &gt; for CodeWarrior).
-After launching the executable, depending on the emulator you are using, you
-may need to task away from the app launcher/shell screen to view the console. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-AA5DEEB2-0B13-5FA8-8494-EC2F5C654FEF" xml:lang="en"><title>CentRepExample: Using Central Repository for Persistent Storage</title><shortdesc>This example application demonstrates the usage of Central
+Repository API for persistent storage.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-E2129D18-6FBB-55B9-8D79-420EB2CF2401"><title>Description</title> <p>Several Symbian platform components have state and settings information
+that need to be persistent. There is also a global state that needs
+to persist, for example, default filenames, locale settings, user
+preferences. </p> <p>The CentRep example application first registers
+a group of settings with the central repository server. It uses <filepath>E80000AD.txt</filepath>, a UTF-16 format text file to initialise
+the repository. This text file contains access control structure and
+the initial content of the repository. It is recommended to convert
+the initialisation text file into a binary file using the central
+repository converter tool to speed up the execution. </p> <p>The application
+creates a <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita"><apiname>CRepository</apiname></xref> object using the <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-B8DD1F6F-5A03-30C7-A5B5-51053D9FBDD3"><apiname>CRepository::NewLC()</apiname></xref> method to access a repository using
+its UID. It resets the whole repository using <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-BA806B9D-C347-3722-886E-1290A4A0618A"><apiname>CRepository::Reset()</apiname></xref> method with the contents in the initialisation file. </p> <p>Each
+setting stored in the repository will have a unique key to identify
+the setting. This unique key is used to read and change the setting
+by calling the <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-AB3918A5-BA69-3EE8-89B4-51DD8A899AF5"><apiname>CRepository::Get()</apiname></xref> and <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-114079A1-A8CA-3FE7-8FAD-F5E61453FF6B"><apiname>CRepository::Set()</apiname></xref> methods respectively. The application
+moves these keys to a different location using <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-4F005B5F-2664-3F7C-848D-B6F93462F2F4"><apiname>CRepository::Move()</apiname></xref> method and deletes them from their original location. </p> <p>The
+application also creates another <codeph>CRepository</codeph> object
+to demonstrate that, at any given point a repository cannot be opened
+with <i>READ/WRITE</i> access by more than one client. In such situations,
+it is recommended to start a transaction before a write operation
+using <xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-1F14EB0C-89CF-3A76-A678-5F6F86F50B32"><apiname>CRepository::StartTransaction()</apiname></xref> method. A
+transaction guarantees the consistency and persistence of all values
+read and written during the transaction. </p> <p>Finally, the application
+requests the central repository server to notify any changes to the
+original settings. </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita"><apiname>CRepository</apiname></xref> - Provides access to a repository.</p></li>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-AB3918A5-BA69-3EE8-89B4-51DD8A899AF5"><apiname>CRepository::Get()</apiname></xref></p></li>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-4F005B5F-2664-3F7C-848D-B6F93462F2F4"><apiname>CRepository::Move()</apiname></xref></p></li>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-B8DD1F6F-5A03-30C7-A5B5-51053D9FBDD3"><apiname>CRepository::NewLC()</apiname></xref></p></li>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-BA806B9D-C347-3722-886E-1290A4A0618A"><apiname>CRepository::Reset()</apiname></xref></p></li>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-114079A1-A8CA-3FE7-8FAD-F5E61453FF6B"><apiname>CRepository::Set()</apiname></xref></p></li>
+<li><p><xref href="GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78.dita#GUID-DEA618DF-D462-3B3E-A1E1-F21295AAFE78/GUID-1F14EB0C-89CF-3A76-A678-5F6F86F50B32"><apiname>CRepository::StartTransaction()</apiname></xref></p></li>
+</ul> </section>
+<section id="GUID-3B353EAA-5FE4-426B-A0A5-6800CE0BC9E3"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-e78b3d2c-7205-45ca-abe0-163e33a0fcc3.zip" scope="external">CentRepExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-e78b3d2c-7205-45ca-abe0-163e33a0fcc3.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-DCCBE8DE-0BBD-5528-A460-E1645116DD4F"><title>Build</title> <p>The Symbian build process describes how to build an application. </p> <p>The <codeph>CentRepExample</codeph> builds an
+executable called <filepath>CentRepExample.exe</filepath> in the standard
+location (\epoc32\release\winscw\&lt;<i>build_variant</i> &gt; for CodeWarrior).
+After launching the executable, depending on the emulator you are
+using, you may need to task away from the app launcher/shell screen
+to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AA820231-5C46-46A1-A310-ABBA45593B1F_d0e184679_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AA820231-5C46-46A1-A310-ABBA45593B1F_d0e190756_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AA9611C0-9AFC-530B-9B50-0D6E600C8D3E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-AA9611C0-9AFC-530B-9B50-0D6E600C8D3E" xml:lang="en"><title>systemresource</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><codeph>systemresource</codeph> <varname>resource-file-list</varname> </p>
-<p><note> From v9.0, platform security requires projects to
-specify the directory for the built resource. You need to use the </note> <xref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita">start resource</xref> syntax
-to do this..</p>
-<p>Use the <codeph>systemresource</codeph> statement to specify resource files
-for system components. </p>
-<p>The makefile will build the resource file into <filepath>epoc32\release\</filepath> <varname>platform</varname> <filepath>\</filepath> <varname>variant</varname> <filepath>\z\system\data\</filepath> for a WINSCW, WINS
-or WINC build. </p>
-<p>Each resource file should be given with its extension, e.g. <filepath>squash.rss</filepath>.</p>
-<p>If more than one language is specified with the <codeph>lang</codeph>,
-then each resource will be compiled multiple times, once for each language
-specified.</p>
-<p>For application projects, use the <codeph>resource</codeph> statement.</p>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-AB0D05E8-A001-5361-A1FA-BBE4C5F7AAB8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-AB0D05E8-A001-5361-A1FA-BBE4C5F7AAB8" xml:lang="en"><title>Using CryptoSPI</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e228209_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e234208_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734"><title>A-GPS Location Manager Overview</title><shortdesc>The A-GPS Location Manager is responsible for obtaining a location from A-GPS hardware. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The A-GPS Location Manager is used by the Location Server and the Network Request Handler. It loads an A-GPS Integration Module to obtain positions from A-GPS hardware. </p> </section> <section><title>Required background</title> <p>The reader should be familiar with the <xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS architecture</xref>. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Assisted GPS (A-GPS)</dt> <dd><p>A-GPS uses assistance data from the network to reduce the Time To First Fix (TTFF) </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>The A-GPS Location Manager is a process that runs as part of the LBS subsystem. It is responsible for obtaining a location from A-GPS hardware. </p> <p>The Location Server sends requests for location to the A-GPS Location Manager when the position quality criteria specified for an MO-LR (self locate) requires a GPS fix (or when no position quality criteria are specified). </p> <p>The Network Request Handler may send a request for location to the A-GPS Location Manager if the position quality criteria specified for an MT-LR or MO-LR (transmit to third party) requires a GPS fix. </p> <p>The A-GPS Location Manager obtains GPS data from GPS hardware through an A-GPS Integration Module. The A-GPS Location Manager also interacts with the Network Gateway to obtain assistance data from the network. </p> <fig id="GUID-691D4545-39EC-5785-9C23-4529094FF3C1"><title>
              Figure 1. A-GPS Location Manager.
-          </title> <image href="GUID-F322F81A-40D3-5365-A437-73B60DD31D5E_d0e448716_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The A-GPS Location Manager is an internal component of the LBS subsystem. It does not expose any published APIs. </p> </section> <section><title>Typical uses</title> <p>The A-GPS Location Manager is only used internally by the LBS subsystem. </p> </section> </conbody><related-links><link href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita"><linktext>A-GPS Location Data Source API</linktext> </link> <link href="GUID-B66A425F-3C65-5BF5-ADA2-E25EB7267681.dita"><linktext>A-GPS Reference Module</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-F322F81A-40D3-5365-A437-73B60DD31D5E_d0e454561_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The A-GPS Location Manager is an internal component of the LBS subsystem. It does not expose any published APIs. </p> </section> <section><title>Typical uses</title> <p>The A-GPS Location Manager is only used internally by the LBS subsystem. </p> </section> </conbody><related-links><link href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita"><linktext>A-GPS Location Data Source API</linktext> </link> <link href="GUID-B66A425F-3C65-5BF5-ADA2-E25EB7267681.dita"><linktext>A-GPS Reference Module</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-AB40C087-F5AF-5D73-82ED-B89BA2B702B9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AB40C087-F5AF-5D73-82ED-B89BA2B702B9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -45,7 +45,7 @@
 in the message store. Unlike many other MTMs, after OBEX tries to send a message,
 the message is deleted from the outbox whether the sending succeeds or fails. </p> <fig id="GUID-251B613E-3FF9-5219-A9FA-F6D82B77979D">
 <title>                 OBEX MTM class diagram               </title>
-<image href="GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e469977_href.jpg" placement="inline"/>
+<image href="GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e475813_href.jpg" placement="inline"/>
 </fig> <p><b>IR MTM</b> </p> <p>The generic OBEX MTM functionality is provided
 by the OBEX MTM DLLs, the IR MTM itself just sets up the parameters. The IR
 MTM supports non-standard OBEX transfer to maintain compatibility with older
Binary file Symbian3/PDK/Source/GUID-AB68F150-1005-54AE-8F71-A88949463FDD_d0e259440_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AB68F150-1005-54AE-8F71-A88949463FDD_d0e265449_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 <entry><p><b>CryptoSPI (Weak and Strong) APIs</b></p></entry>
 <entry><p>Provides a framework for implementing cryptographic algorithms,
 hash algorithms and random number generation. For more information,
-see <xref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7.dita">CryptoSPI
+see <xref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita">CryptoSPI
 Overview</xref>.</p></entry>
 </row>
 <row>
--- a/Symbian3/PDK/Source/GUID-AB9A3EA2-2B99-4502-A161-8EE5BF477D41.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AB9A3EA2-2B99-4502-A161-8EE5BF477D41.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 recorder utility of the Multimedia Framework (MMF) to develop your application.
 To make use of the onboard camera to capture a video clip, the application
 needs to repeat the steps described in the illustration below.</p>
-<fig id="GUID-FEDF24E9-1171-4814-B3C9-21B4E37003BB"><title>The steps required to capture a video clip</title><image href="GUID-141D8786-9987-4E5E-9395-484C87B323FB_d0e498445_href.png"/></fig>
+<fig id="GUID-FEDF24E9-1171-4814-B3C9-21B4E37003BB"><title>The steps required to capture a video clip</title><image href="GUID-141D8786-9987-4E5E-9395-484C87B323FB_d0e505907_href.png"/></fig>
 <p>Important implementation considerations include:</p>
 <ul>
 <li><p>Make sure you include the <codeph>VideoRecorder.h</codeph> and <codeph>mmfcontrollerpluginresolver.h</codeph> header
Binary file Symbian3/PDK/Source/GUID-ABA6144B-E861-5ABD-969E-03814BB2B38A_d0e232173_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ABA6144B-E861-5ABD-969E-03814BB2B38A_d0e238168_href.png has changed
--- a/Symbian3/PDK/Source/GUID-ABC01315-D65D-55EA-9D42-4DE6384D517D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ABC01315-D65D-55EA-9D42-4DE6384D517D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-ABC01315-D65D-55EA-9D42-4DE6384D517D"><title>Position data and info classes</title><shortdesc>This document describes the basic and extended classes that hold position data. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Location Acquisition API defines a set of position data classes. Some of these classes store the co-ordinates of a location fix and others store information about course and positioning satellites. The API also defines position info classes that wrap the position data classes. These classes are used to pass data across the Location Acquisition API. Figure 1 illustrates the position data and position info classes with some of the most important methods. </p> <fig id="GUID-F94FF72F-D6F3-5913-BAEF-CF6B682A27D6"><title>
           Figure 1 Position data and info classes 
-        </title> <image href="GUID-3B2957D0-4D1A-5289-BE2A-AC8CD34A54E6_d0e434972_href.png" placement="inline"/></fig> <section><title>The position data classes</title> <ul><li id="GUID-4C4B6DB7-B417-5505-8F02-B27102922E8D"><p> <xref href="GUID-DDCBA817-9D88-3332-ABD3-1DDC6E397851.dita"><apiname>TCoordinate</apiname></xref> is the base class for all the position data classes. It holds latitude, longitude and altitude data. All positioning modules must provide latitude and longitude information, but not all modules are guaranteed to provide altitude information. </p> </li> <li id="GUID-B8698831-583A-5527-A5F4-2FCB264CA97F"><p> <xref href="GUID-17A40F7C-E4CD-3F82-832A-AA8142973053.dita"><apiname>TLocality</apiname></xref> adds accuracy information to co-ordinates. </p> </li> <li id="GUID-87EC3A5C-FE30-5D79-9025-64153337CF85"><p> <xref href="GUID-AB9F288E-86C6-327A-9E53-2EA746416038.dita"><apiname>TPosition</apiname></xref> adds the time at which the location fix was obtained and also allows the average speed between two positions to be calculated. </p> </li> </ul> <p>There are two additional position data classes that are not part of this position data class inheritance hierarchy. </p> <ul><li id="GUID-CCE8AC41-C64D-5CB3-8297-4CB5E319080B"><p> <xref href="GUID-E66165C3-6391-39CF-BF88-99A61D69E6FA.dita"><apiname>TCourse</apiname></xref> holds bearing and current speed data. </p> </li> <li id="GUID-A214CDDF-8823-5F61-87C8-0537809A5F8F"><p> <xref href="GUID-5440B1A0-98B0-3689-AC0B-27D5A35BFDA1.dita"><apiname>TSatelliteData</apiname></xref> holds information on one of the satellites used to obtain the location fix. </p> </li> </ul> <p>Note that it is a position info object and not a position data object that is passed across the Location Acquisition API. Client applications extract the position data object from the wrapper position info object. </p> <p>See <xref href="GUID-AD7D9D39-6FF0-5811-9708-98538271BA0D.dita">Position data</xref> for a description of how the location data is represented inside the position data classes. </p> </section> <section><title>The position info classes</title> <p>Client applications use three position info classes that wrap the position data classes: </p> <ul><li id="GUID-E5BF9465-73F0-5F88-9D26-F74061DC14EB"><p> <xref href="GUID-D5B2E933-209D-3871-8E27-CC5C8855C745.dita"><apiname>TPositionInfo</apiname></xref> wraps a <xref href="GUID-AB9F288E-86C6-327A-9E53-2EA746416038.dita"><apiname>TPosition</apiname></xref> class </p> </li> <li id="GUID-C65D7549-456B-5AE1-B3E4-5ED7A0F1888A"><p> <xref href="GUID-B4CD3637-0FC6-38B8-AE89-C03EEC83C50D.dita"><apiname>TPositionCourseInfo</apiname></xref> wraps a <xref href="GUID-E66165C3-6391-39CF-BF88-99A61D69E6FA.dita"><apiname>TCourse</apiname></xref> class </p> </li> <li id="GUID-B333B4A1-3D91-5C4A-9711-836769CB4B59"><p> <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref> wraps a <xref href="GUID-5440B1A0-98B0-3689-AC0B-27D5A35BFDA1.dita"><apiname>TSatelliteData</apiname></xref> class </p> </li> </ul> <p>To get location information, a reference to an object of a class derived from <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref> is passed in a call to <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref> or <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-D9E0BC1D-7783-35BA-8D88-223576E4C85E"><apiname>RPositioner::GetLastKnownPosition()</apiname></xref>. The position info class hierarchy allows simple location information (<codeph>TPositionInfo</codeph>), course information (<codeph>TCourse</codeph> Info) or satellite information (<codeph>TSatelliteInfo</codeph>) to be obtained via the same calls to the Location Acquisition API. </p> <p><b>HPositionGenericInfo</b> </p> <p> <xref href="GUID-C0D87E5C-315E-37E6-829E-73F93E83748E.dita"><apiname>HPositionGenericInfo</apiname></xref> is an extended position info class that allocates memory on the heap. Applications can use the class to retrieve additional position information from positioning hardware that can provide it (such as NMEA strings provided by Bluetooth GPS hardware). </p> <p> <codeph>HPositionGenericInfo</codeph> is only supported by the Location Server <codeph>eposserver.exe</codeph>. It can only be used by applications that link with <filepath>lbs.lib</filepath>. Not all PSYs support this class. </p> </section> <section><title>See also</title> <p><xref href="GUID-AD7D9D39-6FF0-5811-9708-98538271BA0D.dita">Position data</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-3B2957D0-4D1A-5289-BE2A-AC8CD34A54E6_d0e440817_href.png" placement="inline"/></fig> <section><title>The position data classes</title> <ul><li id="GUID-4C4B6DB7-B417-5505-8F02-B27102922E8D"><p> <xref href="GUID-DDCBA817-9D88-3332-ABD3-1DDC6E397851.dita"><apiname>TCoordinate</apiname></xref> is the base class for all the position data classes. It holds latitude, longitude and altitude data. All positioning modules must provide latitude and longitude information, but not all modules are guaranteed to provide altitude information. </p> </li> <li id="GUID-B8698831-583A-5527-A5F4-2FCB264CA97F"><p> <xref href="GUID-17A40F7C-E4CD-3F82-832A-AA8142973053.dita"><apiname>TLocality</apiname></xref> adds accuracy information to co-ordinates. </p> </li> <li id="GUID-87EC3A5C-FE30-5D79-9025-64153337CF85"><p> <xref href="GUID-AB9F288E-86C6-327A-9E53-2EA746416038.dita"><apiname>TPosition</apiname></xref> adds the time at which the location fix was obtained and also allows the average speed between two positions to be calculated. </p> </li> </ul> <p>There are two additional position data classes that are not part of this position data class inheritance hierarchy. </p> <ul><li id="GUID-CCE8AC41-C64D-5CB3-8297-4CB5E319080B"><p> <xref href="GUID-E66165C3-6391-39CF-BF88-99A61D69E6FA.dita"><apiname>TCourse</apiname></xref> holds bearing and current speed data. </p> </li> <li id="GUID-A214CDDF-8823-5F61-87C8-0537809A5F8F"><p> <xref href="GUID-5440B1A0-98B0-3689-AC0B-27D5A35BFDA1.dita"><apiname>TSatelliteData</apiname></xref> holds information on one of the satellites used to obtain the location fix. </p> </li> </ul> <p>Note that it is a position info object and not a position data object that is passed across the Location Acquisition API. Client applications extract the position data object from the wrapper position info object. </p> <p>See <xref href="GUID-AD7D9D39-6FF0-5811-9708-98538271BA0D.dita">Position data</xref> for a description of how the location data is represented inside the position data classes. </p> </section> <section><title>The position info classes</title> <p>Client applications use three position info classes that wrap the position data classes: </p> <ul><li id="GUID-E5BF9465-73F0-5F88-9D26-F74061DC14EB"><p> <xref href="GUID-D5B2E933-209D-3871-8E27-CC5C8855C745.dita"><apiname>TPositionInfo</apiname></xref> wraps a <xref href="GUID-AB9F288E-86C6-327A-9E53-2EA746416038.dita"><apiname>TPosition</apiname></xref> class </p> </li> <li id="GUID-C65D7549-456B-5AE1-B3E4-5ED7A0F1888A"><p> <xref href="GUID-B4CD3637-0FC6-38B8-AE89-C03EEC83C50D.dita"><apiname>TPositionCourseInfo</apiname></xref> wraps a <xref href="GUID-E66165C3-6391-39CF-BF88-99A61D69E6FA.dita"><apiname>TCourse</apiname></xref> class </p> </li> <li id="GUID-B333B4A1-3D91-5C4A-9711-836769CB4B59"><p> <xref href="GUID-54AE0674-C49D-3329-8B77-3A58EFFC03D7.dita"><apiname>TPositionSatelliteInfo</apiname></xref> wraps a <xref href="GUID-5440B1A0-98B0-3689-AC0B-27D5A35BFDA1.dita"><apiname>TSatelliteData</apiname></xref> class </p> </li> </ul> <p>To get location information, a reference to an object of a class derived from <xref href="GUID-73D6F438-C270-33B9-974B-D4D1583E1738.dita"><apiname>TPositionInfoBase</apiname></xref> is passed in a call to <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref> or <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-D9E0BC1D-7783-35BA-8D88-223576E4C85E"><apiname>RPositioner::GetLastKnownPosition()</apiname></xref>. The position info class hierarchy allows simple location information (<codeph>TPositionInfo</codeph>), course information (<codeph>TCourse</codeph> Info) or satellite information (<codeph>TSatelliteInfo</codeph>) to be obtained via the same calls to the Location Acquisition API. </p> <p><b>HPositionGenericInfo</b> </p> <p> <xref href="GUID-C0D87E5C-315E-37E6-829E-73F93E83748E.dita"><apiname>HPositionGenericInfo</apiname></xref> is an extended position info class that allocates memory on the heap. Applications can use the class to retrieve additional position information from positioning hardware that can provide it (such as NMEA strings provided by Bluetooth GPS hardware). </p> <p> <codeph>HPositionGenericInfo</codeph> is only supported by the Location Server <codeph>eposserver.exe</codeph>. It can only be used by applications that link with <filepath>lbs.lib</filepath>. Not all PSYs support this class. </p> </section> <section><title>See also</title> <p><xref href="GUID-AD7D9D39-6FF0-5811-9708-98538271BA0D.dita">Position data</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-ABC23765-1553-5235-88C5-39D1DF0D7CA2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ABC23765-1553-5235-88C5-39D1DF0D7CA2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,20 +1,19 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-ABC23765-1553-5235-88C5-39D1DF0D7CA2" xml:lang="en"><title>Bootstrap</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Porting the existing bootstrap code from EKA1 to EKA2 is not possible.
-You will need to re-code the bootstrap for EKA2. </p>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-BE85E2A9-510E-5E8E-954F-1278E30D55CC.dita">Migration Tutorial
-EKA1 to Kernel Architecture 2</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-ABC23765-1553-5235-88C5-39D1DF0D7CA2" xml:lang="en"><title>Bootstrap</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Porting the existing bootstrap code from EKA1 to EKA2 is not possible.
+You will need to re-code the bootstrap for EKA2. </p>
+</conbody><related-links>
+<link href="GUID-BE85E2A9-510E-5E8E-954F-1278E30D55CC.dita">
+<linktext>Migration Tutorial EKA1 to Kernel Architecture 2</linktext>
+</link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-ABE77283-EED8-5A33-B574-3B771EF11086.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ABE77283-EED8-5A33-B574-3B771EF11086.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,49 +9,44 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-ABE77283-EED8-5A33-B574-3B771EF11086" xml:lang="en"><title>How
-to Use ULogger with Comms</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This tutorial summarises one approach for enabling, retrieving and post-processing
-the <xref href="GUID-B25AB5A9-52A6-50C2-8656-F8ADEE260FC9.dita">ULogger</xref> logs
-for Comms. ULogger is part of the Unified Trace framework which replaces other
-logging mechanisms for Symbian platform including Flogger and
-CDU. </p>
+<concept id="GUID-ABE77283-EED8-5A33-B574-3B771EF11086" xml:lang="en"><title>How to Use ULogger with Comms</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This tutorial summarizes one approach for enabling, retrieving
+and post-processing the ULogger logs for Comms. ULogger
+is part of the Unified Trace framework which replaces other logging
+mechanisms for Symbian platform including Flogger and CDU. </p>
 <p>The Unified Trace framework has greater flexibility and speed compared
 to Flogger and CDU. </p>
-<section id="GUID-6FF10945-4E25-4F91-BDA4-CC363EEC2480"><title>Introduction</title> <p>The Comms logging which has been migrated
-to ULogger is as follows: </p> <ul>
-<li id="GUID-677DDC92-E655-50AD-85A3-7B6817F9E12A"><p>Comms Framework Node
-messages - creation and destruction of Nodes and messages between Nodes. </p> </li>
-<li id="GUID-E496D531-2CF2-5042-8820-BC8CE75CE4C6"><p>Mesh Machine messages </p> </li>
-<li id="GUID-E4892E5F-845B-5672-AB90-944A8B7DAEBE"><p>data to support the
-SVG generation </p> </li>
-</ul> <p>This logging replaces some of what was logged through the "<codeph>LOG
-CFNode *</codeph> ", "<codeph>LOG Mesh *</codeph> " and "<codeph>LOG ESock
-*</codeph> " tags. In the case of the <codeph>ESock</codeph> tag, the logging
-which is written to ULogger is also written to CDU. </p> <p>This usage description
-assumes that the development tools already include ULogger support. </p>  </section>
-<section id="GUID-BB759C19-49DA-48EA-8550-11B897A2E768"><title>Procedure - Using ULogger</title> <p><b>Requirements</b></p> <p> 
-          For this tutorial, the code under observation must be run from <xref href="GUID-D90C86C6-B85D-5941-9919-3725A9FFD548.dita">EShell</xref>.          </p> <p> 
-          The following binaries must include logging:          </p> <ul>
-<li><p>                 <filepath>nodemessages.dll</filepath>            
-   </p> </li>
-<li><p>                 <filepath>meshmachine.dll</filepath>             
-  </p> </li>
-<li><p>                 <filepath>commsfw.dll</filepath>                </p> </li>
-<li><p>                 <filepath>serverden.dll</filepath>                </p> </li>
-<li><p>                 <filepath>esocksvr.dll</filepath>                </p> </li>
-</ul><p> To enable logging for a binary either use the UDEB version of the
- binary or rebuild the binary with the <codeph>SYMBIAN_TRACE_ENABLED</codeph> macro
-defined. </p></section>
+<section id="GUID-6FF10945-4E25-4F91-BDA4-CC363EEC2480"><title>Introduction</title> <p>The Comms logging which has been migrated to ULogger is as follows: </p> <ul>
+<li id="GUID-677DDC92-E655-50AD-85A3-7B6817F9E12A"><p>Comms Framework
+Node messages - creation and destruction of Nodes and messages between
+Nodes. </p> </li>
+<li id="GUID-E496D531-2CF2-5042-8820-BC8CE75CE4C6"><p>Mesh Machine
+messages </p> </li>
+<li id="GUID-E4892E5F-845B-5672-AB90-944A8B7DAEBE"><p>data to support
+the SVG generation </p> </li>
+</ul> <p>This logging replaces some of what was logged through the
+"<codeph>LOG CFNode *</codeph> ", "<codeph>LOG Mesh *</codeph> " and
+"<codeph>LOG ESock *</codeph> " tags. In the case of the <codeph>ESock</codeph> tag, the logging which is written to ULogger is also written to
+CDU. </p> <p>This usage description assumes that the development tools
+already include ULogger support. </p><p>Note: For more information,
+see <b>Symbian^3 Tools Guide &gt; Debugging</b>.</p>  </section>
+<section id="GUID-BB759C19-49DA-48EA-8550-11B897A2E768"><title>Procedure
+- Using ULogger</title> <p><b>Requirements</b></p> <p>For this tutorial,
+the code under observation must be run from <xref href="GUID-D90C86C6-B85D-5941-9919-3725A9FFD548.dita">EShell</xref>. </p><p>The following binaries must include logging:</p><ul>
+<li><p><filepath>nodemessages.dll</filepath></p> </li>
+<li><p><filepath>meshmachine.dll</filepath> </p> </li>
+<li><p><filepath>commsfw.dll</filepath></p> </li>
+<li><p><filepath>serverden.dll</filepath></p> </li>
+<li><p><filepath>esocksvr.dll</filepath></p> </li>
+</ul><p> To enable logging for a binary either use the UDEB version
+of the  binary or rebuild the binary with the <codeph>SYMBIAN_TRACE_ENABLED</codeph> macro defined. </p></section>
 <section id="GUID-72A353DC-CFD8-482E-B2E4-9CCCCD1C9BBA"><title>Steps</title> <ol>
-<li id="GUID-E3B09A4E-C87A-45F9-8DE6-653BA1A2E426"><p>                 <b>Start
-Eshell</b> - ULogger only supports asynchronous                 logging, so
-from EShell start a second instance of EShell.                </p> <codeblock xml:space="preserve">start eshell</codeblock> <p> 
-               This allows ULogger to be stopped even if the code under  
-              observation does not exit normally.                </p> </li>
-<li id="GUID-8A912D95-8D99-4D2A-9A5E-C51132924DAC"><p>                 <b>Set
-the ULogger Filters</b> - To allow Comms logging                 enable the
-following filters:                </p><table id="GUID-56D45DFD-FD08-4B16-AB72-E5DD51C888E1">
+<li id="GUID-E3B09A4E-C87A-45F9-8DE6-653BA1A2E426"><p><b>Start Eshell</b> - ULogger only supports asynchronous logging, so from EShell start
+a second instance of EShell. </p> <codeblock xml:space="preserve">start eshell</codeblock> <p>                 This allows ULogger to be stopped even if the
+code under observation does not exit normally. </p> </li>
+<li id="GUID-8A912D95-8D99-4D2A-9A5E-C51132924DAC"><p>           
+     <b>Set the ULogger Filters</b> - To allow Comms logging enable
+the following filters: </p><table id="GUID-56D45DFD-FD08-4B16-AB72-E5DD51C888E1">
 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
 <thead>
 <row>
@@ -62,22 +57,24 @@
 <tbody>
 <row>
 <entry> <p>                         194                        </p></entry>
-<entry> <p>                         Node Messages                        </p></entry>
+<entry> <p>                         Node Messages                
+       </p></entry>
 </row>
 <row>
 <entry> <p>                         195                        </p></entry>
-<entry> <p>                         Mesh Machine                        </p></entry>
+<entry> <p>                         Mesh Machine                 
+      </p></entry>
 </row>
 <row>
 <entry> <p>                         196                        </p></entry>
-<entry> <p>                         SVG Logging - provides extra logging so
-that 194 and 195                         can be displayed in an SVG file 
-                      </p></entry>
+<entry> <p>                         SVG Logging - provides extra logging
+so that 194 and 195                         can be displayed in an
+SVG file                        </p></entry>
 </row>
 </tbody>
 </tgroup>
-</table> <p>                 The following filter is also useful:        
-       </p> <table id="GUID-F2BA543D-0396-4552-9546-EF332B6BD747">
+</table> <p>                 The following filter is also useful:
+               </p> <table id="GUID-F2BA543D-0396-4552-9546-EF332B6BD747">
 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
 <thead>
 <row>
@@ -88,69 +85,66 @@
 <tbody>
 <row>
 <entry> <p>                         3</p></entry>
-<entry> <p>                         Kernel Thread ID's - Thread and process
-creation                        </p></entry>
+<entry> <p>                         Kernel Thread ID's - Thread and
+process creation                        </p></entry>
 </row>
 </tbody>
 </tgroup>
-</table> <p>                 Set these filters with the following command:
-               </p> <codeblock xml:space="preserve">ulogger -efv 194 195 3 196
- </codeblock> </li>
-<li id="GUID-72C31641-7F65-4AA8-83BB-752E7A6EE77E"><p>                 <b>Start
-ULogger</b> - The following command starts ULogger                 with the
-filter:                </p> <codeblock xml:space="preserve">
+</table> <p>Set these filters with the following command:</p> <codeblock xml:space="preserve">ulogger -efv 194 195 3 196
+</codeblock> </li>
+<li id="GUID-72C31641-7F65-4AA8-83BB-752E7A6EE77E"><p>           
+     <b>Start ULogger</b> - The following command starts ULogger 
+               with the filter:                </p> <codeblock xml:space="preserve">
  
 ulogger -rv</codeblock> </li>
-<li id="GUID-CEDCDC01-1E86-4A67-9822-D94370DAF5E8"><p>                 <b>Run
-the code under observation</b> - In the first Eshell                 session,
-run the code to be tested or debugged.                </p> </li>
-<li id="GUID-8EA473A7-6609-48C2-8E66-BA56D0178669"><p>                 <b>Stop
-ULogger</b> - To stop ULogger and generate the                 logs, use the
-command:                </p> <codeblock xml:space="preserve">ulogger -qv</codeblock> </li>
-<li id="GUID-AC7549F8-4010-45D6-8C76-9322C16C86A1"><p>                 <b>Process
-the binary logs into text</b> - The log file                 created by ULogger
-is in a binary format and is located in the                 <filepath>c:\logs</filepath> folder
-on the device.                </p> <p>                 To use the log file,
-the file must be converted to a text format.                             
-  </p> <p>                 The Comms software has a decoder to interpret the
-ULogger output                 for Comms. This decoder is an MS Windows-compatible
-application and is located                 in <filepath>…\os\commsfw\commsfwtools\</filepath>.
-               </p> <p>                 An example command to run the decoder
-is:                </p> <codeblock xml:space="preserve">utracedecoder - -message-def esockmessages.definition.txt ulogger.log &gt; log.txt</codeblock> <p> 
-               The decoder uses a definition file to decipher the binary data
-in                 the log, and the decoder has definition files configured
-for the current scope                 of Comms logging. This example uses
-the ESock messages definition file, which                 is located in  
-              <filepath>…\os\commsfw\commsfwtools\commstools\utracedecoder\data\esockmessages.definition.txt</filepath>.
-                               </p> <p>                 The output in log.txt
-contains an interpretation of the original                 binary logs.  
-             </p> </li>
-<li id="GUID-73E7C874-4487-492C-875C-642ECEBDF74F"><p>                 <b>Generating
-the SVG diagram</b> - The exchange of                 messages between Nodes
-can be rendered into a diagram.                </p> <p>                 From <filepath>…\os\commsfw\commsfwtools\commstools\svg</filepath> run
-                <filepath>parseit.bat</filepath> specifying the path to the
-generated log.txt file:                </p> <codeblock xml:space="preserve">parseit.bat /log M:\path_to_log_file\log.txt</codeblock><fig id="GUID-F6E85A8D-09B3-40A1-B3DC-5B968C3F1A4C">
+<li id="GUID-CEDCDC01-1E86-4A67-9822-D94370DAF5E8"><p>           
+     <b>Run the code under observation</b> - In the first Eshell 
+               session, run the code to be tested or debugged.   
+            </p> </li>
+<li id="GUID-8EA473A7-6609-48C2-8E66-BA56D0178669"><p>           
+     <b>Stop ULogger</b> - To stop ULogger and generate the      
+          logs, use the command:                </p> <codeblock xml:space="preserve">ulogger -qv</codeblock> </li>
+<li id="GUID-AC7549F8-4010-45D6-8C76-9322C16C86A1"><p>           
+     <b>Process the binary logs into text</b> - The log file     
+           created by ULogger is in a binary format and is located
+in the                 <filepath>c:\logs</filepath> folder on the
+device.                </p> <p>                 To use the log file,
+the file must be converted to a text format.                     
+          </p> <p>                 The Comms software has a decoder
+to interpret the ULogger output                 for Comms. This decoder
+is an MS Windows-compatible application and is located           
+     in <filepath>…\os\commsfw\commsfwtools\</filepath>.         
+      </p> <p>                 An example command to run the decoder
+is:                </p> <codeblock xml:space="preserve">utracedecoder - -message-def esockmessages.definition.txt ulogger.log &gt; log.txt</codeblock> <p>                 The decoder uses a definition file to decipher
+the binary data in                 the log, and the decoder has definition
+files configured for the current scope                 of Comms logging.
+This example uses the ESock messages definition file, which      
+          is located in                 <filepath>…\os\commsfw\commsfwtools\commstools\utracedecoder\data\esockmessages.definition.txt</filepath>.                                </p> <p>                 The output
+in log.txt contains an interpretation of the original            
+    binary logs.                </p> </li>
+<li id="GUID-73E7C874-4487-492C-875C-642ECEBDF74F"><p>           
+     <b>Generating the SVG diagram</b> - The exchange of         
+       messages between Nodes can be rendered into a diagram.    
+           </p> <p>                 From <filepath>…\os\commsfw\commsfwtools\commstools\svg</filepath> run                 <filepath>parseit.bat</filepath> specifying
+the path to the generated log.txt file:                </p> <codeblock xml:space="preserve">parseit.bat /log M:\path_to_log_file\log.txt</codeblock><fig id="GUID-F6E85A8D-09B3-40A1-B3DC-5B968C3F1A4C">
 <desc>Example SVG output from the Message Sequence Display Tool </desc>
-<image href="GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e109121_href.png" placement="inline"/>
+<image href="GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e111554_href.png" placement="inline"/>
 </fig> <p>                 Key to the SVG diagram:                </p> <ol>
-<li id="GUID-64C07144-E5BD-465E-915F-1A867AD62FAB"><p>                   
-   Vertical black lines are tagged with names to represent node          
-            lifetimes. For example: <codeph>IPCpr</codeph>               
-     </p> </li>
-<li id="GUID-4BEE656D-9DEB-402B-B3A9-3A5C822B5E99"><p>                   
-   Vertical lines forking from the node lifetime lines are               
-       MeshMachine activity lifetimes.                     </p> </li>
-<li id="GUID-BA5C28EF-856F-45CD-B6B8-AD1C0D663CA1"><p>                   
-   Black horizontal lines are message deliveries.                     </p> </li>
-<li id="GUID-61D41E05-7269-4A95-843D-E536141E56E0"><p>                   
-   Green horizontal lines are message postings.                     </p> </li>
-</ol> <p>                     New message types can be added to the definition
-files. See the documentation with the utracedecoder component.           
-     </p> </li>
+<li id="GUID-64C07144-E5BD-465E-915F-1A867AD62FAB"><p>           
+           Vertical black lines are tagged with names to represent
+node                       lifetimes. For example: <codeph>IPCpr</codeph>                     </p> </li>
+<li id="GUID-4BEE656D-9DEB-402B-B3A9-3A5C822B5E99"><p>           
+           Vertical lines forking from the node lifetime lines are
+                      MeshMachine activity lifetimes.            
+        </p> </li>
+<li id="GUID-BA5C28EF-856F-45CD-B6B8-AD1C0D663CA1"><p>           
+           Black horizontal lines are message deliveries.        
+            </p> </li>
+<li id="GUID-61D41E05-7269-4A95-843D-E536141E56E0"><p>           
+           Green horizontal lines are message postings.          
+          </p> </li>
+</ol> <p>                     New message types can be added to the
+definition files. See the documentation with the utracedecoder component.
+                </p> </li>
 </ol></section>
-</conbody><related-links>
-<link href="GUID-A3E77067-7982-5803-A274-0C8F2562B483.dita"><linktext>Unified Trace
-Solution</linktext></link>
-<link href="GUID-9006B4EE-194E-50FA-A803-F9EAA13E14AA.dita"><linktext>How to Use
-the ULogger Configuration File</linktext></link>
-</related-links></concept>
\ No newline at end of file
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-ABE7BC1A-C51B-5ADD-8568-87A81423B648_d0e304884_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ABE7BC1A-C51B-5ADD-8568-87A81423B648_d0e310876_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC3A531E-C6D7-5F04-B8FB-35B37FB01A14_d0e450100_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC3A531E-C6D7-5F04-B8FB-35B37FB01A14_d0e455945_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC3F5010-ECA6-4257-98B5-77FB26B4987F_d0e2262_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC3F5010-ECA6-4257-98B5-77FB26B4987F_d0e2272_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC5ADA77-EBA1-597E-A6B7-80157E9DE2B2_d0e227282_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC5ADA77-EBA1-597E-A6B7-80157E9DE2B2_d0e233275_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AC7069ED-8CA5-55FC-9DF6-595C0505C672.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AC7069ED-8CA5-55FC-9DF6-595C0505C672.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,4 +12,4 @@
 <concept xml:lang="en" id="GUID-AC7069ED-8CA5-55FC-9DF6-595C0505C672"><title>Positioning Module Status</title><shortdesc>This document describes positioning technology module status, which applications access through the Location Acquisition API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes Positioning Module status, which applications access through the Location Acquisition API. </p> </section> <section><title>Positioning Module status</title> <p>A Positioning Module has a <i>status</i> which is represented by a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> object. The status describes the low-level state of a Positioning Module, such as whether it is disabled, initialising, or ready to retrieve location data, as well as its data quality status. </p> <p>A change in Positioning Module status is indicated by a <i>status event</i>. Details of the event are held in a <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> object. Client applications can receive notification of status events from the location server. </p> <p>Figure 1 illustrates Positioning Module status and event classes. </p> <fig id="GUID-C17083CB-4252-547F-BAAC-4388A105FEC1"><title>
              Figure 1. TPositionModuleStatus and
              TPositionModuleStatusEvent classes 
-          </title> <image href="GUID-7D13B61C-0C9E-5098-87F0-BB9D741E9281_d0e435797_href.png" placement="inline"/></fig> <p><b>TPositionModuleStatus </b> </p> <p> <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> describes the status of a Positioning Module. An application gets information about a Positioning Module's current status by calling <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-676FAC1B-1989-3D3C-84A5-DF82B874D7A3"><apiname>RPositionServer::GetModuleStatus()</apiname></xref>. There are two status types - <i>device status</i> and <i>data quality status</i>. </p> <p><b>Device status </b> </p> <p>Device status is the status of the hardware device utilised by a Positioning Module, such as the chipset used by an A-GPS Positioning Module. </p> <p> <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-3702B7D3-EDE5-3FD9-B0D5-96C5FD4B32E6"><apiname>TPositionModuleStatus::DeviceStatus()</apiname></xref> returns the device status as a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-4C1E0860-4813-3B3F-A766-9F759ADC9E7C"><apiname>TPositionModuleStatus::TDeviceStatus</apiname></xref> value. The value returned can indicate a transient device status, such as whether the hardware is disabled, initialising, or ready. It can also indicate a more serious device error state. </p> <p><b>Data quality status </b> </p> <p>Data quality status describes the accuracy of the location data that a Positioning Module is able to provide at a point in time. </p> <p> <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-FE9B37E2-7302-3818-A5F1-95669500FB14"><apiname>TPositionModuleStatus::DataQualityStatus()</apiname></xref> returns the data quality status as a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-08F4C71A-86B1-3B4C-A6C4-E181E218C533"><apiname>TPositionModuleStatus::TDataQualityStatus</apiname></xref> value. This value indicates whether the quality of location data is normal (the ideal condition), partially degraded or completely degraded. Location data quality can become degraded because the mobile device has moved out of range of any base stations or is in a position where it cannot receive signals from positioning satellites. Note that loss of information quality does not indicate a device error, which would be flagged by a change in the device status. </p> </section> <section><title>Positioning Module status events</title> <p>When a Positioning Module's status changes, a Positioning Module status event occurs. </p> <p>There are three types of Positioning Module status events: </p> <ul><li id="GUID-0852F3C8-9301-53E8-8769-74387D8499F1"><p>Device status events </p> </li> <li id="GUID-21995DC6-54A5-5585-85D2-0B09E7008533"><p>Data quality status events </p> </li> <li id="GUID-66A5D75B-9E5D-588A-872D-CBF2D818A6DF"><p>System level events. These events indicate that a Positioning Module has been added or removed in the system. </p> </li> </ul> <p><b>TPositionModuleStatusEvent </b> </p> <p>An object of class <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> has two functions: </p> <ul><li id="GUID-3389C877-68DE-505E-BB83-F8977D0E1C6D"><p>As the object on which an application defines the types of Positioning Module status events for which it requests notification. These are set by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-132DB32E-6A60-3CEC-9445-146B82E6D9CC"><apiname>TPositionModuleStatusEvent::SetRequestedEvents()</apiname></xref> passing a <xref href="GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B.dita#GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B/GUID-65DC3D52-46D8-33C9-BC70-6289022419A1"><apiname>TPositionModuleStatusEventBase::TModuleEvent</apiname></xref> bitmask value as a parameter to define the combination of events </p> </li> <li id="GUID-4E812AE8-5342-58DA-9690-EFA7E575DA46"><p>As the object on which the location framework sets the type of events that have occurred. These are retrieved by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-56695C9E-B488-3F9A-ADB6-04BB33433BF3"><apiname>TPositionModuleStatusEvent::OccurredEvents()</apiname></xref> and checking the returned <xref href="GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B.dita#GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B/GUID-65DC3D52-46D8-33C9-BC70-6289022419A1"><apiname>TPositionModuleStatusEventBase::TModuleEvent</apiname></xref> value. </p> </li> </ul> <p><b>Event notification </b> </p> <p>An application calls <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-3AA81126-EB13-3F1B-9464-E86CC7769EB5"><apiname>RPositionServer::NotifyModuleStatusEvent()</apiname></xref> to receive notification of Positioning Module status changes, passing a reference to a <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> object on which it has set the requested events. An application also supplies a <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> object and optionally a <xref href="GUID-1104624D-88F7-36EE-9C9D-470346C10318.dita"><apiname>TPositionModuleId</apiname></xref> object if status changes from only one Positioning Module are required. </p> <p>When the status of a Positioning Module changes, the client application is notified. The <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> <codeph/> object that was supplied to the location server now also contains details of the events that have occurred and these are obtained by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-56695C9E-B488-3F9A-ADB6-04BB33433BF3"><apiname>TPositionModuleStatusEvent::OccurredEvents()</apiname></xref>. </p> <p>The Positioning Module status is obtained by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-7707E844-34A2-3454-88C9-0456382ACD40"><apiname>TPositionModuleStatusEvent::GetModuleStatus()</apiname></xref> providing a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> reference as a parameter. </p> <p>See <xref href="GUID-F5944819-2942-5ADA-A0AD-510D20BFBDEB.dita">How to Get Positioning Module Status Changes</xref> for an example. </p> </section> <section><title>Uses of Positioning Module status</title> <p>Quality status events are useful for applications that need to modify their behaviour based on the quality of location information that can be received. For example, an application may need to show a message when a user moves into an area where the accuracy of location information is degraded to a lower quality than is required because of distance from a base station or inability to receive satellite signals. </p> <p>Device status events and system Positioning Module events are most useful to software components that perform administrative operations, such as taking a Positioning Module online or offline. The events can be used to notify when such an administrative operation is complete. </p> <p>Device status events can also be used to keep a user informed as to the status of a particular Positioning Module. For example, a phone status bar could be updated to show that GPS is active when location information is being received. </p> </section> <section><title>See also</title> <p><xref href="GUID-BADAAC2D-8614-5036-95BC-3889457F7ED0.dita">Positioning Modules</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-7D13B61C-0C9E-5098-87F0-BB9D741E9281_d0e441642_href.png" placement="inline"/></fig> <p><b>TPositionModuleStatus </b> </p> <p> <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> describes the status of a Positioning Module. An application gets information about a Positioning Module's current status by calling <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-676FAC1B-1989-3D3C-84A5-DF82B874D7A3"><apiname>RPositionServer::GetModuleStatus()</apiname></xref>. There are two status types - <i>device status</i> and <i>data quality status</i>. </p> <p><b>Device status </b> </p> <p>Device status is the status of the hardware device utilised by a Positioning Module, such as the chipset used by an A-GPS Positioning Module. </p> <p> <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-3702B7D3-EDE5-3FD9-B0D5-96C5FD4B32E6"><apiname>TPositionModuleStatus::DeviceStatus()</apiname></xref> returns the device status as a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-4C1E0860-4813-3B3F-A766-9F759ADC9E7C"><apiname>TPositionModuleStatus::TDeviceStatus</apiname></xref> value. The value returned can indicate a transient device status, such as whether the hardware is disabled, initialising, or ready. It can also indicate a more serious device error state. </p> <p><b>Data quality status </b> </p> <p>Data quality status describes the accuracy of the location data that a Positioning Module is able to provide at a point in time. </p> <p> <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-FE9B37E2-7302-3818-A5F1-95669500FB14"><apiname>TPositionModuleStatus::DataQualityStatus()</apiname></xref> returns the data quality status as a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita#GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039/GUID-08F4C71A-86B1-3B4C-A6C4-E181E218C533"><apiname>TPositionModuleStatus::TDataQualityStatus</apiname></xref> value. This value indicates whether the quality of location data is normal (the ideal condition), partially degraded or completely degraded. Location data quality can become degraded because the mobile device has moved out of range of any base stations or is in a position where it cannot receive signals from positioning satellites. Note that loss of information quality does not indicate a device error, which would be flagged by a change in the device status. </p> </section> <section><title>Positioning Module status events</title> <p>When a Positioning Module's status changes, a Positioning Module status event occurs. </p> <p>There are three types of Positioning Module status events: </p> <ul><li id="GUID-0852F3C8-9301-53E8-8769-74387D8499F1"><p>Device status events </p> </li> <li id="GUID-21995DC6-54A5-5585-85D2-0B09E7008533"><p>Data quality status events </p> </li> <li id="GUID-66A5D75B-9E5D-588A-872D-CBF2D818A6DF"><p>System level events. These events indicate that a Positioning Module has been added or removed in the system. </p> </li> </ul> <p><b>TPositionModuleStatusEvent </b> </p> <p>An object of class <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> has two functions: </p> <ul><li id="GUID-3389C877-68DE-505E-BB83-F8977D0E1C6D"><p>As the object on which an application defines the types of Positioning Module status events for which it requests notification. These are set by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-132DB32E-6A60-3CEC-9445-146B82E6D9CC"><apiname>TPositionModuleStatusEvent::SetRequestedEvents()</apiname></xref> passing a <xref href="GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B.dita#GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B/GUID-65DC3D52-46D8-33C9-BC70-6289022419A1"><apiname>TPositionModuleStatusEventBase::TModuleEvent</apiname></xref> bitmask value as a parameter to define the combination of events </p> </li> <li id="GUID-4E812AE8-5342-58DA-9690-EFA7E575DA46"><p>As the object on which the location framework sets the type of events that have occurred. These are retrieved by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-56695C9E-B488-3F9A-ADB6-04BB33433BF3"><apiname>TPositionModuleStatusEvent::OccurredEvents()</apiname></xref> and checking the returned <xref href="GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B.dita#GUID-33ED1FC9-3B34-3AB5-A924-C361C712BD1B/GUID-65DC3D52-46D8-33C9-BC70-6289022419A1"><apiname>TPositionModuleStatusEventBase::TModuleEvent</apiname></xref> value. </p> </li> </ul> <p><b>Event notification </b> </p> <p>An application calls <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-3AA81126-EB13-3F1B-9464-E86CC7769EB5"><apiname>RPositionServer::NotifyModuleStatusEvent()</apiname></xref> to receive notification of Positioning Module status changes, passing a reference to a <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> object on which it has set the requested events. An application also supplies a <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> object and optionally a <xref href="GUID-1104624D-88F7-36EE-9C9D-470346C10318.dita"><apiname>TPositionModuleId</apiname></xref> object if status changes from only one Positioning Module are required. </p> <p>When the status of a Positioning Module changes, the client application is notified. The <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita"><apiname>TPositionModuleStatusEvent</apiname></xref> <codeph/> object that was supplied to the location server now also contains details of the events that have occurred and these are obtained by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-56695C9E-B488-3F9A-ADB6-04BB33433BF3"><apiname>TPositionModuleStatusEvent::OccurredEvents()</apiname></xref>. </p> <p>The Positioning Module status is obtained by calling <xref href="GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA.dita#GUID-6E827E6E-69EF-3EA3-95FF-9A0B38B689EA/GUID-7707E844-34A2-3454-88C9-0456382ACD40"><apiname>TPositionModuleStatusEvent::GetModuleStatus()</apiname></xref> providing a <xref href="GUID-F8376F62-46F2-3E7C-9536-920DB6FC6039.dita"><apiname>TPositionModuleStatus</apiname></xref> reference as a parameter. </p> <p>See <xref href="GUID-F5944819-2942-5ADA-A0AD-510D20BFBDEB.dita">How to Get Positioning Module Status Changes</xref> for an example. </p> </section> <section><title>Uses of Positioning Module status</title> <p>Quality status events are useful for applications that need to modify their behaviour based on the quality of location information that can be received. For example, an application may need to show a message when a user moves into an area where the accuracy of location information is degraded to a lower quality than is required because of distance from a base station or inability to receive satellite signals. </p> <p>Device status events and system Positioning Module events are most useful to software components that perform administrative operations, such as taking a Positioning Module online or offline. The events can be used to notify when such an administrative operation is complete. </p> <p>Device status events can also be used to keep a user informed as to the status of a particular Positioning Module. For example, a phone status bar could be updated to show that GPS is active when location information is being received. </p> </section> <section><title>See also</title> <p><xref href="GUID-BADAAC2D-8614-5036-95BC-3889457F7ED0.dita">Positioning Modules</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AC7830F9-C3FB-5117-B851-1D106AE400D4_d0e377757_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AC7830F9-C3FB-5117-B851-1D106AE400D4_d0e383610_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ACA2AFE8-4872-42FA-A871-34EB80197495_d0e190112_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ACA2AFE8-4872-42FA-A871-34EB80197495_d0e196181_href.png has changed
--- a/Symbian3/PDK/Source/GUID-ACA48BEE-FE73-5C47-B022-E50728CEDBEE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ACA48BEE-FE73-5C47-B022-E50728CEDBEE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -50,6 +50,6 @@
 <fig id="GUID-257F5F90-AC86-5029-81EB-5CBB16B8A1F9">
 <title>           The main classes involved in Sound Driver implementation.
          </title>
-<image href="GUID-8C9F26BC-2579-545C-9A86-9C45E06679F0_d0e408635_href.png" placement="inline"/>
+<image href="GUID-8C9F26BC-2579-545C-9A86-9C45E06679F0_d0e414488_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e654370_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ACC2777E-F555-58ED-82D0-6F8423FB3EA3_d0e667197_href.png has changed
--- a/Symbian3/PDK/Source/GUID-ACD9E338-DF75-5811-B696-C3900B498218.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ACD9E338-DF75-5811-B696-C3900B498218.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 Location Acquisition API. </p> <fig id="GUID-BE65E6CB-5286-5DFE-B50C-8C088960432B">
 <title>                 Figure 1. Location Acquisition API privacy classes.
               </title>
-<image href="GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e435419_href.png" placement="inline"/>
+<image href="GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e441264_href.png" placement="inline"/>
 </fig> <p>A requester is defined as an agent
 that requests location information. There are two requester types: </p> <ul>
 <li id="GUID-79C7473E-C3DD-5011-BE50-F8D1075E9B07"><p>Service requesters </p> <p>A
--- a/Symbian3/PDK/Source/GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,50 +1,45 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28" xml:lang="en"><title>Data
-caging</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Data caging means that the applications and the users have access only
-to certain areas of the file system. In practice the applications can access
-their own private folders and folders that are marked as open. It means, for
-example, that one application cannot access the private folder and data of
-another application. There are restricted file storage areas for system, private,
-and resource data.</p>
-<p>The file system has the following structure:</p>
-<ul>
-<li><p>The <codeph>\sys</codeph> folder is the restricted system
-area. You need <codeph>AllFiles</codeph> capability to read the content, and
-Trusted Computing Base (<codeph>TCB</codeph>) capability to modify the content.</p>
-<p>The subfolder <codeph>\sys\bin\</codeph> contains all binaries (<codeph>exe</codeph>, <codeph>dll</codeph>,
-etc.). All binaries must have a different name. An application can only be
-launched from this subfolder.</p></li>
-<li><p>The <parmname>\private\</parmname> folder includes folders
-for all applications.</p><p>The <codeph>\private\&lt;SID&gt;\</codeph> subfolder
-contains private data only to be accessed by the application itself. SID is
-determined by the <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">Secure
-Identifier</xref> of the process. Without any capabilities you can read and
-write only in the application's own directory. You need <codeph>AllFiles</codeph> capability
-to access all private directories. Backup software can read and write to this
-directory.</p><p>The <codeph>\private\&lt;SID&gt;\import\</codeph> subfolder
-is for resource files, such as registration files, that are not directly related
-to the application. You can write into this subfolder only after it is created
-and named correctly.</p><p>Application registration resource files should
-be installed in the <parmname>\private\10003a3f\import\apps</parmname> subfolder.</p>
-</li>
-<li><p>The <parmname>\resource</parmname> folder is for sharing
-resource files.  This data can be icons, bitmaps, and other material useful
-for all the applications. You do not need any capabilities to read these files.
-You need <codeph>TCB</codeph> capability to modify the content.</p><p>ECom
-registration resource files should be installed in the <parmname>\resource\plugins</parmname> subfolder.</p>
-</li>
-</ul>
-<p>For more information, see <xref href="GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita">File
-locations</xref>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28" xml:lang="en"><title>Data caging</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Data caging means that the applications and the users have access
+only to certain areas of the file system. In practice the applications
+can access their own private folders and folders that are marked as
+open. It means, for example, that one application cannot access the
+private folder and data of another application. There are restricted
+file storage areas for system, private, and resource data.</p>
+<p>The file system has the following structure:</p>
+<ul>
+<li><p>The <codeph>\sys</codeph> folder is the restricted
+system area. You need <codeph>AllFiles</codeph> capability to read
+the content, and Trusted Computing Base (<codeph>TCB</codeph>) capability
+to modify the content.</p><p>The subfolder <codeph>\sys\bin\</codeph> contains all binaries (<codeph>exe</codeph>, <codeph>dll</codeph>, etc.). All binaries must have a different name. An application
+can only be launched from this subfolder.</p></li>
+<li><p>The <parmname>\private\</parmname> folder includes
+folders for all applications.</p><p>The <codeph>\private\&lt;SID&gt;\</codeph> subfolder contains private data only to be accessed by the application
+itself. SID is determined by the <xref href="GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98.dita#GUID-3B6E25F7-C1A8-461F-97F7-421DB559BC98/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC652">Secure Identifier</xref> of the process. Without any capabilities
+you can read and write only in the application's own directory. You
+need <codeph>AllFiles</codeph> capability to access all private directories.
+Backup software can read and write to this directory.</p><p>The <codeph>\private\&lt;SID&gt;\import\</codeph> subfolder is for resource
+files, such as registration files, that are not directly related to
+the application. You can write into this subfolder only after it is
+created and named correctly.</p><p>Application registration
+resource files should be installed in the <parmname>\private\10003a3f\import\apps</parmname> subfolder.</p></li>
+<li><p>The <parmname>\resource</parmname> folder is for
+sharing resource files.  This data can be icons, bitmaps, and other
+material useful for all the applications. You do not need any capabilities
+to read these files. You need <codeph>TCB</codeph> capability to modify
+the content.</p><p>ECom registration resource files should be
+installed in the <parmname>\resource\plugins</parmname> subfolder.</p>
+</li>
+</ul>
+<p>For more information, see <xref href="GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita">File locations</xref>.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-ACF69260-D643-4709-8DAB-33FD92940F86.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-ACF69260-D643-4709-8DAB-33FD92940F86" xml:lang="en"><title>Hierarchical
-application structures</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>When browsing within a hierarchical application structure, the Symbian
-user interface offers direct access from one folder to another (sibling) folder
-in the same level. The Arrow left and Arrow right keys are used to accomplish
-this. The Navi pane displays the sibling folders as tabs.</p>
-<fig id="GUID-A99BF5A7-9D80-4CBA-A078-5992079E6728">
-<title>In this example, each displayed state is a folder containing a list
-of items. State 1 contains three folders (1-1, 1-2, 1-3). When the user has
-opened one of these, there is a possibility to move directly into the other
-two folders without first going back to state 1. Folder 1-1 contains two sub-folders
-and folder 1-2 contains one.</title>
-<image href="GUID-1248ED3E-438C-41E5-81D4-19FC721408BA_d0e105014_href.png" scale="70" placement="inline"/>
-</fig>
-<p>This additional navigation feature can be interpreted as a shortcut between
-sibling folders. For navigating hierarchical application structures, the basic
-navigation rules are applied, noticing the following:</p>
-<ul>
-<li><p>Moving from one folder to another has no effect on the function of
-the Back softkey in these views: from all of them, the Back function leads
-to the previous hierarchy level. </p></li>
-<li><p>The navigation shortcuts can only be applied when there is no other
-use for the Arrow left and Arrow right keys in the state.</p></li>
-</ul>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-AD2BD987-E097-5E1F-A914-B91CFB706D51.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AD2BD987-E097-5E1F-A914-B91CFB706D51.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -84,7 +84,7 @@
 static TInt User::GetDesParameter(TInt aSlot, TDes16&amp; aDes);
     </codeblock> <fig id="GUID-D9CD78E1-6813-5F68-9883-F1F6DC04C92A">
 <title>Environment slots</title>
-<image href="GUID-ABE7BC1A-C51B-5ADD-8568-87A81423B648_d0e304884_href.png" placement="inline"/>
+<image href="GUID-ABE7BC1A-C51B-5ADD-8568-87A81423B648_d0e310876_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-7F6B118C-0911-5979-8420-475985DB884B"><title> Passing a
 file handle and a subsession</title> <p>File server session handles and file
Binary file Symbian3/PDK/Source/GUID-AD4F041B-4115-5ABE-8909-44156621DF72_d0e450036_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AD4F041B-4115-5ABE-8909-44156621DF72_d0e455881_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AD5C89AC-51CD-5CC0-961C-62F38E9BEA33.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-AD5C89AC-51CD-5CC0-961C-62F38E9BEA33"><title>-verbose</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option pipes to STDOUT the calls to tools that a particular build step is making, and can be useful in determining exactly where an error occurs during the build process.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e185940_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e192017_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e100921_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e96842_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADB3FA27-1DC0-4A04-A443-A174EDADF49D_d0e68026_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADB3FA27-1DC0-4A04-A443-A174EDADF49D_d0e72239_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADC9B349-3CE4-5017-B437-A7F8890C7F0F_d0e271514_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADC9B349-3CE4-5017-B437-A7F8890C7F0F_d0e277514_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ADCDEFF9-4B1D-5E46-A63B-808192123E15_d0e210520_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-ADCDEFF9-4B1D-5E46-A63B-808192123E15_d0e216521_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-ADDF9C0F-32D3-5CB1-B3B5-2FAD3A4EC278.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-ADDF9C0F-32D3-5CB1-B3B5-2FAD3A4EC278"><title>Overview of GUI app building</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A Symbian platform GUI application has several components: </p> <ul><li id="GUID-49172324-8711-537E-8125-0BE7BCBAB06C"><p>an application executable, which is an EXE that uses the GUI framework </p> </li> <li id="GUID-822B7EB4-C8B1-5ABF-B7E3-DD9D8836E427"><p>a registration file, which contains non-localisable information </p> </li> <li id="GUID-D5D76B63-F909-5518-ADE6-A11FBC746625"><p>optional localisable information, provided by one or more localisable resource files and icon files </p> </li> </ul> <p>To appear on the shell, a GUI application (e.g. <filepath>AppName.exe</filepath>) must be located in the <filepath>sys\bin</filepath> directory. Applications built into the ROM must provide their registration files (e.g. <filepath>AppName_reg.rsc</filepath>) in the <filepath>\private\10003a3f\apps</filepath> directory, whilst applications installed via Software Install must provide their registration files in <filepath>\private\10003a3f\import\apps</filepath>. Resource files (e.g. <filepath>AppName.rss</filepath> and <filepath>AppName_loc.rss</filepath>) should be located in the <filepath>resource\apps</filepath> directory. </p> <p>For further information on TARGETPATHs see this <xref href="GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita#GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E/GUID-C8E8AB80-4EE5-5593-8981-4A91A0111419">table</xref>. </p> <p>The following pages discuss the special configuration issues associated with building for GUI application targets. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-AE3BE603-21ED-5DEA-B1E9-0F1ADBED06D0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-AE3BE603-21ED-5DEA-B1E9-0F1ADBED06D0"><title>Build-time variants</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>It is a common requirement to be able to build more than one variant of a program from a single set of source code. For example, you might have evaluation and full variants of a program that are identical in most respects, but which differ in a few features; or might want to build a program for more than one platform, with some features being present on platform but not on the other. </p> <p>A traditional way to handle this requirement is to use the pre-preprocessor to conditionally include sections of code depending on whether a macro is set or not. For example: </p> <codeblock id="GUID-28BD78C2-15CB-52F8-8725-E9A7692AA8DF" xml:space="preserve">#ifdef MY_FLAG
-    // code that is compiled if MY_FLAG exists
-#else
- // code that is compiled if MY_FLAG doesn't exists
-#endif</codeblock> <p>Note that this is not always the best approach, as it can make code difficult to read and maintain. Alternative approaches to consider can include: </p> <ul><li id="GUID-2556ADBE-D6F5-53A2-A00D-8ACE7C26ACC5"><p>run-time detection: e.g. unless a file with a registration key is present, restrict the available options to those for the evaluation version </p> </li> <li id="GUID-B632DA8E-2AAF-548B-B527-EF31B5A1C9CC"><p>plug-in architectures: e.g. if you want to write a program that runs on platforms that may or may not have Bluetooth, then isolate all Bluetooth code in a plug-in that can be dynamically loaded at run-time if appropriate </p> </li> </ul> <p>However, if conditional compilation is needed, you can configure the build tools to read a file that defines the macros to use. To do this: </p> <ul><li id="GUID-EBDB484D-4C1C-5384-BB3D-BEB781DB0983"><p>create a file that defines the macros as <filepath>#define</filepath> statements. By Symbian platform convention, such files should have an <filepath>.hrh</filepath> extension. The file can be anywhere on the same drive as the <filepath>epoc32\</filepath> directory. </p> </li> <li id="GUID-5AD4F8EC-0BF1-56E3-8EAB-46C0DF929789"><p>create a sub-directory of <filepath>epoc32\tools\</filepath> called <filepath>variant\</filepath>, and create in it a text file called <filepath>variant.cfg</filepath>. The file must specify the full path to the <filepath>.hrh</filepath> macro file. Perl-type comments (marked with #) are also allowed. </p> </li> </ul> <p>When you use <filepath>bldmake</filepath> or <filepath>abld</filepath> on the command line, the build tools look for the <filepath>variant.cfg</filepath> file, and set any macros defined in the specified file. By adding/removing/changing the <filepath>variant.cfg</filepath> file in your build environment, you can alter which macros are set, and so how your project is built. </p> <p>For IDE builds, the macros are set when the IDE project file is created, and not changed unless you recreate the IDE project file. </p> <p>Note that you can use the macros in bld.inf and .mmp files as well as in C++ files: this allows you to conditionally specify projects, source files, etc. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AE53C15E-0C0F-5726-BBA4-E7DCDA7F48B4_d0e379991_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AE53C15E-0C0F-5726-BBA4-E7DCDA7F48B4_d0e385844_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AE69AA42-E633-5B7A-BAA1-6896950E0E19_d0e682417_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AE69AA42-E633-5B7A-BAA1-6896950E0E19_d0e695244_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,65 +1,50 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4" xml:lang="en">
-<title>Touch UI</title>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>When designing a Symbian application, the UI must be designed so
-that all tasks can be performed with touch. Therefore, the design
-must not rely on hardware keys (except for turning the power ON and
-OFF).  </p>
-<p>The touch UI in the Symbian platform involves various specific
-touch components, component and UI behavior changes, layout changes
-and additions to the <xref
-href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">user experience</xref
->. The main differences or additions in touch UI include the following:</p>
-<ul>
-<li><p>Resistive touch screen (HW).</p><p> For more information, see <xref
-href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications
-for touch UI</xref></p></li>
-<li><p>Capacitive touch screen (HW). </p><p>For more information,
-see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing
-applications for touch UI</xref></p></li>
-<li><p>Single ta<?Pub Caret?>p. For more information, see <xref
-href="GUID-F66AC845-58B8-4029-AE04-C283226B7C12.dita">Single tap</xref
->.</p></li>
-<li><p>Multiple touch.</p><p>For more information, see <xref
-href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref
->.</p></li>
-<li><p>Touch gestures.</p><p>For more information, see <xref
-href="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita">Touch gestures</xref
->.</p></li>
-<li><p>Toolbar component in touch UI</p><p>For more information, see <xref
-href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref
->.</p></li>
-<li><p>Touch input component (virtual keyboard, hand-writing recognition
-and virtual ITU-T) </p><p>For more information, see <xref
-href="GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita">Text input</xref
->.</p></li>
-<li><p>Stylus pop-up menu component </p><p>For more information, see <xref
-href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus pop-up
-menu</xref>.</p></li>
-<li><p>On-screen dialer application </p></li>
-<li><p>Additional touch functionality to some components (for example,
-Preview pop-up) </p><p>For more information, see <xref
-href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview pop-up</xref
->.</p></li>
-<li><p>Touch-enabled components</p><p>For more information, see <xref
-href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support
-for UI components</xref>.</p></li>
-</ul>
-<p>There are two generic layouts for touch UI -portrait orientation
-and landscape orientation, see the following figure. The <xref
-href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status pane</xref
-> in Touch UI has three variants: extended, flat and small.</p>
-<fig id="GUID-81426DEE-7FBB-48C1-AB46-BCFF3944699C">
-<title>Default Symbian Touch UI layouts for portrait and landscape</title>
-<image href="GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e96842_href.png"
-placement="inline"></image></fig>
-</conbody>
-</concept>
-<?Pub *0000003177?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4" xml:lang="en"><title>Touch UI</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>When designing a Symbian application, the UI must be designed so
+that all tasks can be performed with touch. Therefore, the design
+must not rely on hardware keys (except for turning the power ON and
+OFF).  </p>
+<p>The touch UI in the Symbian platform involves various specific
+touch components, component and UI behavior changes, layout changes
+and additions to the <xref href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">user experience</xref>. The main differences or additions in touch UI include the following:</p>
+<ul>
+<li><p>Resistive touch screen (HW).</p><p> For more information, see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications
+for touch UI</xref></p></li>
+<li><p>Capacitive touch screen (HW). </p><p>For more information,
+see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing
+applications for touch UI</xref></p></li>
+<li><p>Single tap. For more information, see <xref href="GUID-F66AC845-58B8-4029-AE04-C283226B7C12.dita">Single tap</xref>.</p></li>
+<li><p>Multiple touch.</p><p>For more information, see <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref>.</p></li>
+<li><p>Touch gestures.</p><p>For
+more information, see <xref href="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita">Touch gestures</xref>.</p></li>
+<li><p>Toolbar component in touch UI</p><p>For more information, see <xref href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref>.</p></li>
+<li><p>Touch input component (virtual keyboard, hand-writing recognition
+and virtual ITU-T) </p><p>For
+more information, see <xref href="GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita">Text
+input</xref>.</p></li>
+<li><p>Stylus pop-up menu component </p><p>For more information, see <xref href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus
+pop-up menu</xref>.</p></li>
+<li><p>On-screen dialer application </p></li>
+<li><p>Additional touch functionality to some components (for example,
+Preview pop-up) </p><p>For more
+information, see <xref href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview
+pop-up</xref>.</p></li>
+<li><p>Touch-enabled components</p><p>For more information, see <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support for UI components</xref>.</p></li>
+</ul>
+<p>There are two generic layouts for touch UI -portrait orientation
+and landscape orientation, see the following figure. The <xref href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status pane</xref> in Touch UI has three variants: extended, flat and small.</p>
+<fig id="GUID-81426DEE-7FBB-48C1-AB46-BCFF3944699C">
+<title>Default Symbian Touch UI layouts for portrait and landscape</title>
+<image href="GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e100921_href.png" placement="inline"/>
+</fig>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e202405_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e208412_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AE8D314A-5381-5576-9B17-94BA029A7FEA_d0e490421_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-AE8D314A-5381-5576-9B17-94BA029A7FEA_d0e496239_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-AE96F25E-45A2-5C00-9F27-BB3E17C8E6E5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AE96F25E-45A2-5C00-9F27-BB3E17C8E6E5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -97,7 +97,7 @@
 <section><title>Architecture</title> <p>The following diagram shows the basic
 architecture of the Certificate and Key Management component. The blocks in
 blue are internal to the component. </p> <fig id="GUID-4532D14E-A9FE-595C-8B75-4FA2AE57B8EA">
-<image href="GUID-5BB017AA-46AE-5461-9184-98CE7FA898B9_d0e630975_href.jpg" placement="inline"/>
+<image href="GUID-5BB017AA-46AE-5461-9184-98CE7FA898B9_d0e603081_href.jpg" placement="inline"/>
 </fig> <p>The various blocks in the basic architecture diagram of the Certificate
 and Key Management component are explained as follows: </p> <ul>
 <li id="GUID-0FCBBCA0-CD31-51AB-84D1-93994EAC54E2"><p> <b>Client Application</b>:
--- a/Symbian3/PDK/Source/GUID-AE979B97-5610-42F3-99A7-5A3D66D3C2E6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-AE979B97-5610-42F3-99A7-5A3D66D3C2E6" xml:lang="en"><title>Sensor
-interaction</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The following types of interaction are enabled by using the sensors on
-the device:</p>
-<ol>
-<li id="GUID-3EA00C46-70FB-4C6F-8B9D-B766FA8C0692"><p>Tapping the device (for
-example, double tap) to perform a given function.<note> Tapping interaction
-is not recommended for touch devices since the tap might also be interpreted
-as a touch action if you tap on the touch screen area.</note></p></li>
-<li id="GUID-BB715BEE-CB95-4F0E-9676-8CDE8D525C02"><p>Changing the screen
-orientation on the device from portrait to landscape as the device is rotated.</p></li>
-<li id="GUID-69332FF5-EDD2-4EA9-8569-A72BE7DA9961"><p>Silencing an incoming
-call when the device orientation is changed from screen down (for example
-on a table) to screen up and back again).</p></li>
-<li id="GUID-FF0D8D87-D2A9-4206-A6A4-98EDE1A0BAA0"><p>Changing application
-settings based on the ambient light conditions, e.g. bright sunshine or night
-time.</p></li>
-<li id="GUID-D3B06257-1088-43A5-9D2E-513971297EAE"><p>In a map application,
-changing the orientation of a map based on the device's compass orientation.</p></li>
-<li id="GUID-2414DEDE-D503-4798-AA6C-B5F8D85BB147"><p>Allowing movement gestures,
-such as device rotation, to trigger an action.</p></li>
-<li id="GUID-1B8F18AC-08C3-4F6D-8A91-7EAE8CFADD5B"><p>Trigger an action when
-the device comes in close proximity to the user's hand or head.</p></li>
-</ol>
-<p>The supported sensor interactions are configurable on the device. The users
-should be given the option to set their desired interactions.</p>
-<p>Apart from sensing actions, the device can give tactile (vibrating) feedback
-to acknowledge that the interaction has been successful.</p>
-<section id="GUID-4C7164D8-5EAB-45D1-AD32-1DAD8B1F8AC0"><title>Using
-sensor interaction in applications</title><p>The APIs to use for sensor interaction
-are the Sensor channel API and the Sensor definitions API. </p><p>For implementation
-information and description of the APIs, see the <xref href="GUID-2F3883C4-7286-42E4-9196-2F3304298405.dita">API
-specification</xref> for the sensor APIs.</p><p>Sensors channels come in three
-types based on the kind of data that is delivered on the sensor channel: event,
-status, and continuous data. For more information, see <xref href="GUID-7A487E17-8772-4037-8234-A99929476ED7.dita">Definitions
-for the sensor APIs</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AEBB7F5D-E18E-4E1F-ADE0-C984084AC108_d0e14295_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AEBB7F5D-E18E-4E1F-ADE0-C984084AC108_d0e14394_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AECDAEBF-777A-579B-92F8-560FD7FF86E7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-AECDAEBF-777A-579B-92F8-560FD7FF86E7" xml:lang="en"><title>NAME
-statement</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;name-statement&gt;
-name-statement ::= 
-NAME &lt;short-name&gt;</codeblock>
-<p>Use this statement to ensure that the resources in the file have a unique
-ID so that an application can use multiple resource files without resource
-ID conflict.</p>
-<p>This statement must be the first non-comment statement in the file.</p>
-<p>The <varname>short-name</varname> must be between one and four alphabetic
-characters long and be unique (no other file may use the same one). For the
-sake of consistency this constant should be in upper case although lower case
-is allowed (and will be converted to upper case by the compiler). This <varname>short-name</varname> is
-then converted into a number and shifted onto the leading 20 bits of the resource
-ID, leaving the bottom 12 bits for the number of the resource in the file.
-This allows a maximum of 4095 resources to be defined in a source file.</p>
-<p>Since the <codeph>NAME</codeph> statement maps all resource IDs within
-the file onto 32-bit numbers, only <codeph>LLINK</codeph> s may be used for
-resource references in that file. Using the <codeph>NAME</codeph> statement
-in a resource file means that any attempt to use a <codeph>LINK</codeph> will
-generate an error.</p>
-<example><p>With <codeph>NAME</codeph> set to <codeph>AAAA</codeph>,
-if this resource is the first resource in the file</p><codeblock id="GUID-42436ADC-996A-5D24-BC6B-8072DF8F271F" xml:space="preserve">RESOURCE STRING one
- {
- wd=5;
- }</codeblock><p>the first entry in the generated header file will be</p><codeblock id="GUID-707F02E8-CD7D-54BB-B11D-FB3B46876DF5" xml:space="preserve">#define ONE 0x04FD8001</codeblock><p>04FD8
-is the leading 20 bits for all IDs in the file and 001 is the reference of
-that resource within the file.</p></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-AF8280C0-20B2-5D68-BFF5-7D9D1CE989DD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-AF8280C0-20B2-5D68-BFF5-7D9D1CE989DD"><title>debuglibrary</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>debuglibrary</codeph>  <varname>filename-list</varname> </p> <p>Use the <codeph>debuglibrary</codeph> statement to specify the libraries that are only required in debug builds.</p> <p>Any number of files may be specified, and there may be many <codeph>debuglibrary</codeph> statements. Specify the entire filename, e.g. <filepath>euser.lib</filepath>.</p> <p>The keyword indicates libraries which are only required in debug builds; this situation can arise when complex functions are called from <codeph>__ASSERT_DEBUG()</codeph> macros, for example in the <codeph>TSwizzleCBase</codeph> constructor which calls a function in <filepath>estor.lib</filepath>.</p> <p><filepath>makmake</filepath> constructs two lists of libraries, one for debug builds and the other for release builds. The <codeph>library</codeph> keyword contributes to both lists, but the <codeph>debuglibrary</codeph> keyword only contributes to the debug list. There is no support for libraries which are only used in release builds.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AF91088E-CCE3-5D51-B2E4-09621B4BF506_d0e594398_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-AF91088E-CCE3-5D51-B2E4-09621B4BF506_d0e622292_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-AFAD0F36-330B-50BD-B810-85BE7FA21179.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AFAD0F36-330B-50BD-B810-85BE7FA21179.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,7 +33,7 @@
 the physical path of the file: </p> <p> <codeph>K:/ws/direct/direct.mmp</codeph>  </p> <p>gives
 the following URI file: </p> <p> <codeph>///k/ws/direct/direct.mmp</codeph>  </p> <p>The
 screen output from this example is: </p> <fig id="GUID-2E1622EE-F5BF-57AD-9D1A-49FA6A0450E6">
-<image href="GUID-ADCDEFF9-4B1D-5E46-A63B-808192123E15_d0e210520_href.jpg" placement="inline"/>
+<image href="GUID-ADCDEFF9-4B1D-5E46-A63B-808192123E15_d0e216521_href.jpg" placement="inline"/>
 </fig> <p id="GUID-FBCF247C-5660-5A72-B837-AFAC9E51FF60"><b>Modifying a URI</b> </p> <codeblock id="GUID-8B77F94A-4DCC-5798-A2A6-DC778272D12B" xml:space="preserve">void CExampleInetProtUtil::ModifyUriComponents();</codeblock> <p>Modifies
 URI components, which involves: </p> <ol id="GUID-505AE129-749E-540C-BAB2-5A079EC29B6B">
 <li id="GUID-C4DF42D7-D9BE-5557-A138-B60444172631"><p>Adding URI components,
@@ -45,18 +45,18 @@
 <li id="GUID-151867C7-8F3C-57FB-A2BE-2622CB16813C"><p>port: <codeph>8080</codeph>  </p> </li>
 </ul> <p>to get the complete URI: </p> <p> <codeph>http://waterlang.org:8080/main_page.html</codeph>  </p> <p>The
 screen output from this example is: </p> <fig id="GUID-C43845C7-9458-546F-A625-857BF63E21A0">
-<image href="GUID-6740A668-33A2-52B1-9416-E9F21591D16C_d0e210589_href.jpg" placement="inline"/>
+<image href="GUID-6740A668-33A2-52B1-9416-E9F21591D16C_d0e216590_href.jpg" placement="inline"/>
 </fig> </li>
 <li id="GUID-E1E71C35-8D25-5F50-ADCD-5441FECEDF67"><p>Removing the specific
 URI component(s) from a constructed URI. For example, the above URI with the
 port number removed: </p> <p> <codeph>http://waterlang.org/main_page.html</codeph>  </p> <p>The
 screen output from this example is: </p> <fig id="GUID-8658720B-DD49-5BF8-B016-0C1FD970E982">
-<image href="GUID-817D677C-2422-52B1-8D44-D15A0351FDC6_d0e210608_href.jpg" placement="inline"/>
+<image href="GUID-817D677C-2422-52B1-8D44-D15A0351FDC6_d0e216609_href.jpg" placement="inline"/>
 </fig> </li>
 </ol> <p id="GUID-DBB7553C-0334-55CB-A5DE-9A233E88780E"><b>Resolving a URI</b> </p> <codeblock id="GUID-3782F8CB-BA3D-5F9E-AB48-4596DC2E024E" xml:space="preserve">void CExampleInetProtUtil::ResolveUri();</codeblock> <p>Resolves
 the URI, which involves creation of an absolute <xref href="GUID-9D22BBBA-2DF2-36D2-BD07-5DE56F8541AA.dita"><apiname>CUri</apiname></xref> object
 from a given reference URI. </p> <p>The screen output from this example is: </p> <fig id="GUID-10AC8723-7DAE-5DC9-A568-C3011B9DB040">
-<image href="GUID-FB12481D-B3F6-5901-A0DC-DF92BCED3B18_d0e210633_href.jpg" placement="inline"/>
+<image href="GUID-FB12481D-B3F6-5901-A0DC-DF92BCED3B18_d0e216634_href.jpg" placement="inline"/>
 </fig> <p id="GUID-C3DE7478-80E4-5E05-90F9-C32E8C2624B2"><b>Parsing a URI</b> </p> <codeblock id="GUID-48E262B6-D776-5158-8FFD-1F8C43F9710B" xml:space="preserve">void CExampleInetProtUtil::ParseUri();</codeblock> <p>Parses
 the URI into its components (as given in <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2396.txt" scope="external">RFC2396</xref>). The five URI components are: </p> <ul>
 <li id="GUID-C3E34C3E-82A4-5410-A054-5D05F0E52942"><p>scheme </p> </li>
@@ -65,21 +65,21 @@
 <li id="GUID-7ED0DC97-4A46-5307-B2F8-C5BA41AE7C1A"><p>query </p> </li>
 <li id="GUID-2910FC88-DB70-534C-8289-25A4D3DE83E2"><p>fragment. </p> </li>
 </ul> <p>The screen output from this example is: </p> <fig id="GUID-403B3926-A0E1-57A8-ADEF-1ECE198876D1">
-<image href="GUID-C31DA918-8DEA-5816-B0A6-4AE90B06DD0D_d0e210683_href.jpg" placement="inline"/>
+<image href="GUID-C31DA918-8DEA-5816-B0A6-4AE90B06DD0D_d0e216684_href.jpg" placement="inline"/>
 </fig> <p id="GUID-F8F98700-948D-542C-9B39-6DE3E257C3F3"><b>Validating a URI</b> </p> <codeblock id="GUID-294998AC-0125-52C0-82EF-C76729E0122C" xml:space="preserve">void CExampleInetProtUtil::ValidateUriComponents();</codeblock> <p>Validates
 a given URI. This function is usually used for URIs with SIP as the scheme. </p> <p>The
 screen output from this example is: </p> <fig id="GUID-16B862C4-804F-5751-ACE4-4C3DDC388617">
-<image href="GUID-71B31715-3B6A-50F0-86C1-8F7F76985802_d0e210702_href.jpg" placement="inline"/>
+<image href="GUID-71B31715-3B6A-50F0-86C1-8F7F76985802_d0e216703_href.jpg" placement="inline"/>
 </fig> <p id="GUID-B196045B-6DAF-561F-950C-5CDFB8B854A6"><b>Extracting URI
 components</b> </p> <codeblock id="GUID-5FBD44E5-F6B9-55C9-BA71-B350B291C666" xml:space="preserve">void CExampleInetProtUtil::ExtractUriComponents();</codeblock> <p>Extracts
 URI components from the given URI. </p> <p>The screen output from this example
 is: </p> <fig id="GUID-C5AB909C-05DF-5570-A343-B7DD1A8B9EB2">
-<image href="GUID-E2455472-49FA-5492-B7CB-2C33BD830591_d0e210721_href.jpg" placement="inline"/>
+<image href="GUID-E2455472-49FA-5492-B7CB-2C33BD830591_d0e216722_href.jpg" placement="inline"/>
 </fig> <p id="GUID-D30B9D97-7ADE-58EA-9AC0-8DC2095BCBEC"><b>Retrieving a filename
 from a URI</b> </p> <codeblock id="GUID-87962D71-02C6-5553-AB4A-51B3AECC837D" xml:space="preserve">void CExampleInetProtUtil::RetrieveFileName();</codeblock> <p>Extracts
 the actual physical location of the file from its URI. </p> <p>The screen
 output from this example is: </p> <fig id="GUID-45C9AE9D-DBB4-53C3-A547-AB8713039796">
-<image href="GUID-C4D0F943-442D-5F3B-BB5E-6B52C33ABBC6_d0e210740_href.jpg" placement="inline"/>
+<image href="GUID-C4D0F943-442D-5F3B-BB5E-6B52C33ABBC6_d0e216741_href.jpg" placement="inline"/>
 </fig> <p id="GUID-20375BA7-F367-5E12-9DC6-F9BDF4146E8A"><b>Adding and removing
 delimiters from a URI</b> </p> <codeblock id="GUID-A8A9773C-4657-5A21-8C40-6E4DAEC49850" xml:space="preserve">void CExampleInetProtUtil::ModifyDelimiter();</codeblock> <p>Adds the delimiters to and removes the delimiters from a URI. Before
 doing this ensure that: </p> <ul>
@@ -88,16 +88,16 @@
 <li id="GUID-F1482980-93FC-5D5D-A89F-1D16A5F46AAE"><p>the URI has already
 been parsed. </p> </li>
 </ul> <p>The screen output from this example is: </p> <fig id="GUID-A7E7FD6F-3A1D-578A-85FE-7F3F771EE046">
-<image href="GUID-236C0D1D-AC4C-5C08-9089-1AC59881CD39_d0e210776_href.jpg" placement="inline"/>
+<image href="GUID-236C0D1D-AC4C-5C08-9089-1AC59881CD39_d0e216777_href.jpg" placement="inline"/>
 </fig> <p id="GUID-363D45CC-AC6E-5397-B825-086919FCBF50"><b>Removing whitespace
 from a URI</b> </p> <codeblock id="GUID-A3A5053B-B12E-509B-98C7-9EE7095A9E57" xml:space="preserve">void CExampleInetProtUtil::WhiteSpaceRemover();</codeblock> <p>Removes
 the whitespace from the given URI and returns the number of white spaces that
 were removed. </p> <p>The screen output from this example is: </p> <fig id="GUID-0EC52CDC-5D6B-58F1-A817-0674CF66535A">
-<image href="GUID-F740BA72-B00E-5D98-BD0F-5937F60460BC_d0e210795_href.jpg" placement="inline"/>
+<image href="GUID-F740BA72-B00E-5D98-BD0F-5937F60460BC_d0e216796_href.jpg" placement="inline"/>
 </fig> <p id="GUID-EC077086-FC68-50ED-8BCC-AFBD58205186"><b>Escape encoding
 and decoding a URI</b> </p> <codeblock id="GUID-C62B11E9-0FE4-5CF4-A96A-5DB0E4E82A33" xml:space="preserve">void CExampleInetProtUtil::EscapeEncodeDecode();</codeblock> <p>Escape encodes the characters in a given URI as escape triplets and decodes
 it to the original one. </p> <p>The screen output from this example is: </p> <fig id="GUID-0AC8D213-9857-56A1-9DC6-E6FBE137B608">
-<image href="GUID-A92CE0FF-113F-55BE-B5EF-7E5C629A4557_d0e210814_href.jpg" placement="inline"/>
+<image href="GUID-A92CE0FF-113F-55BE-B5EF-7E5C629A4557_d0e216815_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>Class Summary</title><p><xref href="GUID-E6F8C94C-C74C-329B-BB11-E06F0E83A4BB.dita"><apiname>CUri8</apiname></xref></p><p><xref href="GUID-EB2EEEF1-705B-334D-A4B0-3D0C4CBE2DA1.dita"><apiname>TUriParser8</apiname></xref></p><p><xref href="GUID-9CC256C4-D4A2-3534-9B3C-2FBF1AAE5F51.dita"><apiname>EscapeUtils</apiname></xref></p><p><xref href="GUID-B647B6DA-5FF1-3C11-9ACD-E4A5E70F3596.dita"><apiname>TDelimitedParserBase8</apiname></xref></p><p><xref href="GUID-9FC0E63B-1927-30B0-8A97-E9CB1010FFEE.dita"><apiname>InetProtTextUtils</apiname></xref></p></section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-AFB1F350-C5D3-5495-AE20-1AA6888B6FB1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-AFB1F350-C5D3-5495-AE20-1AA6888B6FB1" xml:lang="en"><title>How
-to Insert Trace Points in a Component </title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Trace points can be added manually to trace specific-required events in
-the source code or component at build time. </p>
-<p>To instrument a component, the Instrumentor can use the methods given in
-the <filepath>epoc32/include/e32utrace.h</filepath> file. The UTrace API provides
-some basic information for each trace, but the Symbian developer has to define
-the payload of the trace. It is recommended the Instrumentor is consistent
-whilst adding traces in order to help the Trace Collector parse the trace
-output once it is on the host. For example, being consistent while formatting
-an Object ID or Object Name. </p>
-</conbody><related-links>
-<link href="GUID-D5984540-A411-52ED-B435-94C67F34ADD5.dita"><linktext>How to enable
-tracing</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-AFC49653-78E6-5639-911C-E02AEB08AFFC_d0e228632_href.png has changed
Binary file Symbian3/PDK/Source/GUID-AFC49653-78E6-5639-911C-E02AEB08AFFC_d0e234631_href.png has changed
--- a/Symbian3/PDK/Source/GUID-AFE7F3DA-6D61-5A4C-A08F-C998C8805A06.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AFE7F3DA-6D61-5A4C-A08F-C998C8805A06.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,7 +37,7 @@
 requests the resolved client to connect to the SIP implementation. </p> <fig id="GUID-750221F0-A98E-5C47-B804-5A6CDD16B2E9">
 <title>              Call flow of resolving a target client implementation
 using              CSIPResolvedClient2            </title>
-<image href="GUID-8EF8CDD3-9FFE-5C39-8303-67A661C67F6B_d0e552887_href.jpg" placement="inline"/>
+<image href="GUID-8EF8CDD3-9FFE-5C39-8303-67A661C67F6B_d0e560343_href.jpg" placement="inline"/>
 </fig> <p>The target clients must implement the <xref href="GUID-30BC7BC4-0FBE-3C60-A2E4-2E5AE206C61E.dita"><apiname>CSIPResolvedClient2</apiname></xref> interface
 to receive SIP requests including SIP dialogs and enable the client resolution
 mechanism. <b/><b>Note</b>: The channel UIDs must be unique across all
--- a/Symbian3/PDK/Source/GUID-AFF0B669-E0D8-5533-A105-0F5EBC6AF5E1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-AFF0B669-E0D8-5533-A105-0F5EBC6AF5E1"><title>List of Symbian tools</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section provides links to the documentation for the tools provided with Symbian platform. Note that these lists are not exhaustive. </p> <p> <b>Note:</b> Additional tools for integrating and customising software to produce a Symbian-based platform or phone are supplied as part of Platform Developer Toolkit (PDT). The tools include Symbian Build System v2 (SBSv2), API Usage Report Analysis (AURA), Code Database (CDB), Component Based Release (CBR), EmulatorBuild, Symbian Test Automation Tool (STAT), Test Execute Framework (TEF), TestDriver, Use Case Controller (UCC) and WinTAP. Documentation for these tools is supplied with the PDT. </p> <section><title>Application development tools</title> <p>The application development tools help to speed up development of Symbian platform applications. </p> <table id="GUID-297995D9-2C57-5FAF-8BA3-A4B4DD0D197A"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Name</entry> <entry>Description</entry> <entry>Reference</entry> </row> </thead> <tbody><row><entry><p>Application Resource Tools </p> </entry> <entry><p>Tools for building resource files. </p> </entry> <entry><p><xref href="GUID-617A7B7E-DF91-5757-B473-D2E0B665F5E4.dita">Application resource tools guide</xref>  </p> </entry> </row> <row><entry><p>Build Tools </p> </entry> <entry><p>Tools used to build Symbian platform programs. </p> </entry> <entry><p><xref href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita">Build tools guide</xref>  </p> </entry> </row> </tbody> </tgroup> </table> <p>In addition to these, the Symbian Build System v2 (SBSv2) provides tools for building Symbian platform and applications developed for Symbian platform. For more information about SBSv2, see <i>Symbian Build System v2</i> provided with PDT. </p> </section> <section><title> Analysis tools</title> <table id="GUID-5D9F7579-4456-56AA-896D-82504906BBF1"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Name</entry> <entry>Description</entry> <entry>Reference</entry> </row> </thead> <tbody><row><entry><p>Capability Management tools </p> </entry> <entry><p>Allows you to compare the capabilities of binaries that are developed against Symbian platform. </p> </entry> <entry><p><xref href="GUID-01F1C399-25F6-54E8-B48D-521187A63096.dita">Capability Management tools</xref>  </p> </entry> </row> <row><entry><p>Set capability test tool </p> </entry> <entry><p>Allows you to make a copy of an executable and assign different capabilities to it. </p> </entry> <entry><p><xref href="GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita">Set Capability Test tool</xref>  </p> </entry> </row> </tbody> </tgroup> </table> <p>In addition to these, Symbian provides more analysis tools as part of the PDT. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B015C4A3-469E-5AC4-B9B9-A24AF7444E65.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B015C4A3-469E-5AC4-B9B9-A24AF7444E65.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 is no exposure to Message Server APIs on the client-side. The SendAs Server
 encapsulates the Message Server completely. </p> <fig id="GUID-4B2E7B20-8C11-5E21-ABA1-AA01129A32DC">
 <title>              SendAs architecture            </title>
-<image href="GUID-27EC3C5B-175C-5D27-874C-43D46AA44C08_d0e490238_href.png" placement="inline"/>
+<image href="GUID-27EC3C5B-175C-5D27-874C-43D46AA44C08_d0e496056_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-24801AA6-6CDE-584F-A233-F7B68C1C59E3"><title>SendAs Server</title> <p>The <xref href="GUID-BA7B9BA6-B840-5182-90B0-A4914592A40D.dita">SendAs Server</xref> maintains
 all SendAs entries and controls the access to a Message Store. It allows client
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-B025C751-74E1-536C-85F8-668D05C5E80B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B025C751-74E1-536C-85F8-668D05C5E80B" xml:lang="en"><title>Cryptography
+API guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Cryptography API provides cryptographic services to the user software
+through a standard Symbian platform interface. </p>
+<p>In Symbian^3, a component called CryptoSPI has been introduced. CryptoSPI
+manages the selection and loading of cryptographic algorithms. It also provides
+a framework that allows device manufactures to implement additional
+cryptographic algorithms as plug-ins. The legacy libraries (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>) are still supported. </p>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 UI to function as designed in mobile devices with different screen resolutions
 or orientations. For example, in the figure below, the UI scales to fit both
 portrait and landscape orientations.</p>
-<fig id="GUID-D889D539-AD96-4E67-A52A-EC14FF98E299"><title>Scaling</title><image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e68131_href.png"/></fig>
+<fig id="GUID-D889D539-AD96-4E67-A52A-EC14FF98E299"><title>Scaling</title><image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e72344_href.png"/></fig>
 <p>When you enable scaling in your application, you allow your application
 to support the different display sizes, resolutions, and layouts for different
 devices based on the Symbian platform. The Symbian platform provides APIs
Binary file Symbian3/PDK/Source/GUID-B0391618-0681-5E4E-94BE-C0E24B862AEF_d0e315291_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B0391618-0681-5E4E-94BE-C0E24B862AEF_d0e321281_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B0449B60-B78E-5CC1-8FAF-E5EE24D88EB2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B0449B60-B78E-5CC1-8FAF-E5EE24D88EB2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-B0449B60-B78E-5CC1-8FAF-E5EE24D88EB2"><title>Advanced Audio Adaptation Framework Technology Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides additional information about the Advanced Audio Adaptation Framework. </p> <section><title>Purpose</title> <p>The Advanced Audio Adaptation Framework (A3F) provides a common interface for accessing audio resources, playing tones, and configuring audio for playing and recording. </p> </section> <section><title>Understanding A3F</title> <p>A3F functionality is provided by the <xref href="GUID-C4AD7B75-9027-3F62-889C-ADEF5E6DBC73.dita"><apiname>CAudioContextFactory</apiname></xref> class. <xref href="GUID-C4AD7B75-9027-3F62-889C-ADEF5E6DBC73.dita"><apiname>CAudioContextFactory</apiname></xref> is responsible for creating audio contexts. The Audio Context API (<xref href="GUID-67BE95B2-BE4A-32AF-8BDF-92FD8FBE6DC3.dita"><apiname>MAudioContext</apiname></xref>) maintains all audio components created in a context, where audio components are instances of the <xref href="GUID-C5B1FE01-DCFC-3CA5-931B-E371AEC918A6.dita"><apiname>MAudioStream</apiname></xref> and <xref href="GUID-0536EF5D-3DA6-3F30-A404-52FE9E21B359.dita"><apiname>MAudioProcessingUnit</apiname></xref> classes. </p> <p>An <xref href="GUID-0536EF5D-3DA6-3F30-A404-52FE9E21B359.dita"><apiname>MAudioProcessingUnit</apiname></xref> is created in a context by giving the type of the processing unit such as codec and source sink. <xref href="GUID-0536EF5D-3DA6-3F30-A404-52FE9E21B359.dita"><apiname>MAudioProcessingUnit</apiname></xref> allows extension interfaces to set additional audio processing unit settings. </p> <p>The Audio Stream API (<xref href="GUID-C5B1FE01-DCFC-3CA5-931B-E371AEC918A6.dita"><apiname>MAudioStream</apiname></xref>) is an audio component that links together processing units into an audio stream. <xref href="GUID-C5B1FE01-DCFC-3CA5-931B-E371AEC918A6.dita"><apiname>MAudioStream</apiname></xref> manages the audio processing state requested by the client and interacts with the audio processing units added to the stream. <xref href="GUID-C5B1FE01-DCFC-3CA5-931B-E371AEC918A6.dita"><apiname>MAudioStream</apiname></xref> provides runtime control over a stream's (composite) behaviour and lifetime management of the entities in a stream (whether the state of the stream is uninitialized, initialized, idle, primed, active or dead). For more information, see <xref href="GUID-B0449B60-B78E-5CC1-8FAF-E5EE24D88EB2.dita#GUID-B0449B60-B78E-5CC1-8FAF-E5EE24D88EB2/GUID-28D6AB9C-8F4F-573A-853D-726138249390">Stream States</xref>. </p> <p>The Audio Context API allows a grouping notion for multimedia allocations. <xref href="GUID-67BE95B2-BE4A-32AF-8BDF-92FD8FBE6DC3.dita"><apiname>MAudioContext</apiname></xref> groups component actions made inside a context. This means any allocation or loss of resources which occurs in any single audio component affects all of the components grouped in the context. </p> <p id="GUID-C13977B1-D855-5D46-913C-15059421C225"><b>The Commit Cycle</b> </p> <p>Changes made to an audio stream are handled in a transactional manner. If changes fail to be applied, then any other changes made to the stream are considered to fail also. The application of changes is dependent on a successful commit cycle. If there is a failure, a “rollback" mechanism is executed and the stream states are reverted to their previous state. </p> <p>The client requests changes through various <codeph>Set()</codeph> calls and then calls the <xref href="GUID-67BE95B2-BE4A-32AF-8BDF-92FD8FBE6DC3.dita#GUID-67BE95B2-BE4A-32AF-8BDF-92FD8FBE6DC3/GUID-7011BDC1-C4D8-3BB5-9B7C-8729FADCE67E"><apiname>MAudioContext::Commit()</apiname></xref> function. The platform-specific implementation then decides whether the <codeph>Commit()</codeph> request is allowed, possibly dictates new values if needed, and then applies the changes. If successful, the client is informed through callbacks. If there is a need to modify the context because resources are needed in another context, then the platform-specific implementation can take the resources by pre-empting the context. In this case, the client is informed about the pre-emption. </p> <p>The following diagram shows this behaviour: </p> <fig id="GUID-18D00361-18E7-5A5C-B8C0-115E1D2DF29F"><title>
                 A3F Commit / Pre-emption Cycle 
-             </title> <image href="GUID-F68FF4C2-F9DB-5935-9027-9BEC006D031F_d0e538236_href.png" placement="inline"/></fig> <p><b>Observers</b> </p> <p>Most of the A3F API functions are asynchronous. For example, the functions <codeph>Foo()</codeph> or <codeph>SetFoo()</codeph> are followed with <codeph>FooComplete(Tint aError)</codeph> or <codeph>FooSet(Tint aError)</codeph>. </p> <p>The following A3F observers are defined: </p> <ul><li id="GUID-11C7E019-8628-533E-ACAB-E7A7C4893C65"><p> <xref href="GUID-3336EC2B-4FB8-3FD0-A702-0CB50DE059B4.dita"><apiname>MAudioContextObserver</apiname></xref>  </p> <p>Informs with <codeph>ContextEvent()</codeph> about the commit cycle. Note that <codeph>ContextEvent()</codeph> is in the same thread context as the A3F client. </p> </li> <li id="GUID-1E628CBE-641F-54B2-B144-FFEC88AB2ECF"><p> <xref href="GUID-D2075F61-F6FA-3FAE-9FBB-20CEFE81334C.dita"><apiname>MAudioStreamObserver</apiname></xref>  </p> <p>Informs with <codeph>StateEvent()</codeph> about state changes </p> </li> <li id="GUID-611327B3-9278-5793-9BE2-072B898A5245"><p> <xref href="GUID-805E421D-9143-326D-9455-FF40205AA70A.dita"><apiname>MAudioCodecObserver</apiname></xref>  </p> <p>Informs about completion of setters and getters. </p> </li> <li id="GUID-CD6FC1B2-B581-5CD2-9355-8B3AF8681680"><p> <xref href="GUID-B235174E-E8AC-36EE-8BCC-F466EEB8E720.dita"><apiname>MAudioGainControlObserver</apiname></xref>  </p> <p>Informs about changes in gain or changes in maximum gain values. </p> </li> <li id="GUID-A46EF843-AD06-583E-8E1E-712CC0341421"><p> <xref href="GUID-C070F06A-E77A-3477-90A2-C2E38B0E823C.dita"><apiname>MAudioProcessingUnitObserver</apiname></xref>  </p> <p>Informs about any additional errors in audio processing units. </p> </li> <li id="GUID-178B9281-35A8-519A-A01A-920134606A87"><p> <xref href="GUID-BC675A52-D3B5-3F97-B986-8643A8FEFE59.dita"><apiname>MMMFAudioDataConsumer</apiname></xref>  </p> <p>Informs about recorded buffer to be ready for storing. Also informs the client if there is a buffer to be ignored. </p> </li> <li id="GUID-8F5E2944-DB55-5601-B150-490919C98C4E"><p> <xref href="GUID-5F500DE3-5253-326C-B94A-1CBD7C83C082.dita"><apiname>MMMFAudioDataSupplier</apiname></xref>  </p> <p>Informs about new buffer ready to be filled with audio data. Also informs the client if any requested buffer should be ignored. </p> </li> </ul> <p id="GUID-28D6AB9C-8F4F-573A-853D-726138249390"><b>Stream States</b> </p> <p>Clients using A3F should be aware that requested audio resources can be lost at any time while they are being used. A client with a higher importance can cause requests for resources to be denied or available resources to become unavailable. In these cases, the commit cycle informs the client through pre-emption events and the resulted stream state is usually demoted to the highest non-disturbing state. </p> <p>The possible audio stream states are described in the following table: </p> <table id="GUID-33D9A149-C1CF-52F0-87E1-234CF93F677E"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>State</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>EUninitialized</codeph>  </p> </entry> <entry><p>This is the state of the chain before it is initialized. However, the settings in the logical chain cannot be related to the adaptation because no adaptation has been selected yet. </p> </entry> </row> <row><entry><p> <codeph>EInitialized</codeph>  </p> </entry> <entry><p>This state is set after a successful initialization request. </p> <p>The physical adaptation has been selected but may not be fully allocated. </p> <p>There should be no externally visible buffers allocated at this point </p> <p> <b>Note</b>: For zero copy and shared chunk buffers, a stream in the <codeph>EInitialized</codeph> state should not require buffer consumption. This is an important issue if the base port only has 16 addressable chunks per process. </p> <p>In terms of DevSound compatibility, some custom interfaces are available at this point (although others may require further construction before they are available). </p> </entry> </row> <row><entry><p> <codeph>EIdle</codeph>  </p> </entry> <entry><p>All the chain resources are allocated. However, no processing time (other than that expended to put the chain into the <codeph>EIdle</codeph> state) is consumed in this phase. </p> <p>In the <codeph>EIdle</codeph> state, any existing allocated buffers continue to exist. </p> <p>The codec is allocated in terms of hardware memory consumption. </p> <p>A stream in the <codeph>EIdle</codeph> state can be ‘mid-file position’. There is no implied reset of position or runtime settings (that is, time played) by returning to <codeph>EIdle</codeph>. </p> </entry> </row> <row><entry><p> <codeph>EPrimed</codeph>  </p> </entry> <entry><p>This state is the same as <codeph>EIdle</codeph> but the stream can consume processing time by filling its buffers. The purpose of this state is to prepare a stream such that it is ready to play in as short a time as possible (for example, low-latency for audio chains which can be pre-buffered). </p> <p>Note that once the buffer is full, the stream may continue to use some processing time. </p> <p>There will not be an automatic transition to the <codeph>EIdle</codeph> state when the buffer is full. If such behaviour is desired, the client must request it. </p> <p>There will not be an automatic transition to <codeph>EActive</codeph> when the buffer is full. If such behaviour is desired, the client must request it. </p> </entry> </row> <row><entry><p> <codeph>EActive</codeph>  </p> </entry> <entry><p>The chain has the resources as <codeph>EIdle</codeph> and <codeph>EPrimed</codeph> but also has started to process the actions requested by the client. </p> <p> <b>Note:</b> A chain can be in the <codeph>EActive</codeph> state and performing a wide range of operations. However the semantics are that it is processing the stream and that it is consuming both processing and memory resources. </p> </entry> </row> <row><entry><p> <codeph>EDead</codeph>  </p> </entry> <entry><p>The stream can no longer function due to a fatal error. The logical chain still exists, but any physical resources should be reclaimed by the adaptation. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following diagram shows the stream states: </p> <fig id="GUID-1FA73F08-1C43-57AA-AEFA-DDEDD9464DDA"><title>
+             </title> <image href="GUID-F68FF4C2-F9DB-5935-9027-9BEC006D031F_d0e545696_href.png" placement="inline"/></fig> <p><b>Observers</b> </p> <p>Most of the A3F API functions are asynchronous. For example, the functions <codeph>Foo()</codeph> or <codeph>SetFoo()</codeph> are followed with <codeph>FooComplete(Tint aError)</codeph> or <codeph>FooSet(Tint aError)</codeph>. </p> <p>The following A3F observers are defined: </p> <ul><li id="GUID-11C7E019-8628-533E-ACAB-E7A7C4893C65"><p> <xref href="GUID-3336EC2B-4FB8-3FD0-A702-0CB50DE059B4.dita"><apiname>MAudioContextObserver</apiname></xref>  </p> <p>Informs with <codeph>ContextEvent()</codeph> about the commit cycle. Note that <codeph>ContextEvent()</codeph> is in the same thread context as the A3F client. </p> </li> <li id="GUID-1E628CBE-641F-54B2-B144-FFEC88AB2ECF"><p> <xref href="GUID-D2075F61-F6FA-3FAE-9FBB-20CEFE81334C.dita"><apiname>MAudioStreamObserver</apiname></xref>  </p> <p>Informs with <codeph>StateEvent()</codeph> about state changes </p> </li> <li id="GUID-611327B3-9278-5793-9BE2-072B898A5245"><p> <xref href="GUID-805E421D-9143-326D-9455-FF40205AA70A.dita"><apiname>MAudioCodecObserver</apiname></xref>  </p> <p>Informs about completion of setters and getters. </p> </li> <li id="GUID-CD6FC1B2-B581-5CD2-9355-8B3AF8681680"><p> <xref href="GUID-B235174E-E8AC-36EE-8BCC-F466EEB8E720.dita"><apiname>MAudioGainControlObserver</apiname></xref>  </p> <p>Informs about changes in gain or changes in maximum gain values. </p> </li> <li id="GUID-A46EF843-AD06-583E-8E1E-712CC0341421"><p> <xref href="GUID-C070F06A-E77A-3477-90A2-C2E38B0E823C.dita"><apiname>MAudioProcessingUnitObserver</apiname></xref>  </p> <p>Informs about any additional errors in audio processing units. </p> </li> <li id="GUID-178B9281-35A8-519A-A01A-920134606A87"><p> <xref href="GUID-BC675A52-D3B5-3F97-B986-8643A8FEFE59.dita"><apiname>MMMFAudioDataConsumer</apiname></xref>  </p> <p>Informs about recorded buffer to be ready for storing. Also informs the client if there is a buffer to be ignored. </p> </li> <li id="GUID-8F5E2944-DB55-5601-B150-490919C98C4E"><p> <xref href="GUID-5F500DE3-5253-326C-B94A-1CBD7C83C082.dita"><apiname>MMMFAudioDataSupplier</apiname></xref>  </p> <p>Informs about new buffer ready to be filled with audio data. Also informs the client if any requested buffer should be ignored. </p> </li> </ul> <p id="GUID-28D6AB9C-8F4F-573A-853D-726138249390"><b>Stream States</b> </p> <p>Clients using A3F should be aware that requested audio resources can be lost at any time while they are being used. A client with a higher importance can cause requests for resources to be denied or available resources to become unavailable. In these cases, the commit cycle informs the client through pre-emption events and the resulted stream state is usually demoted to the highest non-disturbing state. </p> <p>The possible audio stream states are described in the following table: </p> <table id="GUID-33D9A149-C1CF-52F0-87E1-234CF93F677E"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>State</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>EUninitialized</codeph>  </p> </entry> <entry><p>This is the state of the chain before it is initialized. However, the settings in the logical chain cannot be related to the adaptation because no adaptation has been selected yet. </p> </entry> </row> <row><entry><p> <codeph>EInitialized</codeph>  </p> </entry> <entry><p>This state is set after a successful initialization request. </p> <p>The physical adaptation has been selected but may not be fully allocated. </p> <p>There should be no externally visible buffers allocated at this point </p> <p> <b>Note</b>: For zero copy and shared chunk buffers, a stream in the <codeph>EInitialized</codeph> state should not require buffer consumption. This is an important issue if the base port only has 16 addressable chunks per process. </p> <p>In terms of DevSound compatibility, some custom interfaces are available at this point (although others may require further construction before they are available). </p> </entry> </row> <row><entry><p> <codeph>EIdle</codeph>  </p> </entry> <entry><p>All the chain resources are allocated. However, no processing time (other than that expended to put the chain into the <codeph>EIdle</codeph> state) is consumed in this phase. </p> <p>In the <codeph>EIdle</codeph> state, any existing allocated buffers continue to exist. </p> <p>The codec is allocated in terms of hardware memory consumption. </p> <p>A stream in the <codeph>EIdle</codeph> state can be ‘mid-file position’. There is no implied reset of position or runtime settings (that is, time played) by returning to <codeph>EIdle</codeph>. </p> </entry> </row> <row><entry><p> <codeph>EPrimed</codeph>  </p> </entry> <entry><p>This state is the same as <codeph>EIdle</codeph> but the stream can consume processing time by filling its buffers. The purpose of this state is to prepare a stream such that it is ready to play in as short a time as possible (for example, low-latency for audio chains which can be pre-buffered). </p> <p>Note that once the buffer is full, the stream may continue to use some processing time. </p> <p>There will not be an automatic transition to the <codeph>EIdle</codeph> state when the buffer is full. If such behaviour is desired, the client must request it. </p> <p>There will not be an automatic transition to <codeph>EActive</codeph> when the buffer is full. If such behaviour is desired, the client must request it. </p> </entry> </row> <row><entry><p> <codeph>EActive</codeph>  </p> </entry> <entry><p>The chain has the resources as <codeph>EIdle</codeph> and <codeph>EPrimed</codeph> but also has started to process the actions requested by the client. </p> <p> <b>Note:</b> A chain can be in the <codeph>EActive</codeph> state and performing a wide range of operations. However the semantics are that it is processing the stream and that it is consuming both processing and memory resources. </p> </entry> </row> <row><entry><p> <codeph>EDead</codeph>  </p> </entry> <entry><p>The stream can no longer function due to a fatal error. The logical chain still exists, but any physical resources should be reclaimed by the adaptation. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following diagram shows the stream states: </p> <fig id="GUID-1FA73F08-1C43-57AA-AEFA-DDEDD9464DDA"><title>
                 A3F State Machine 
-             </title> <image href="GUID-D2DCBC1F-91B8-5F81-AAE8-546AE3EB1E29_d0e538554_href.png" placement="inline"/></fig> </section> <section><title>A3F Tutorials</title> <p>The following tutorials are provided to help you create A3F solutions: </p> <ul><li id="GUID-EC27BD5D-A1DB-53E7-87F1-4A0AD6280F8B"><p><xref href="GUID-931207BE-3561-562D-8F67-0FB52CFF83CD.dita">Audio Component Framework Tutorial</xref>  </p> </li> <li id="GUID-4BBFA92A-F174-57A6-B512-9F0D56C0EA6D"><p><xref href="GUID-2A543E1C-F3DE-59EF-8A43-1B655F367FBC.dita">Audio Processing Tutorial</xref>  </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-4AAABD77-C08E-5EE2-A02A-3B412EA6D23F.dita">Advanced Audio Adaptation Framework Overview</xref> </p> <p><xref href="GUID-174D98FF-6782-564E-9FDF-1AE32F770591.dita">Sound Device Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+             </title> <image href="GUID-D2DCBC1F-91B8-5F81-AAE8-546AE3EB1E29_d0e546014_href.png" placement="inline"/></fig> </section> <section><title>A3F Tutorials</title> <p>The following tutorials are provided to help you create A3F solutions: </p> <ul><li id="GUID-EC27BD5D-A1DB-53E7-87F1-4A0AD6280F8B"><p><xref href="GUID-931207BE-3561-562D-8F67-0FB52CFF83CD.dita">Audio Component Framework Tutorial</xref>  </p> </li> <li id="GUID-4BBFA92A-F174-57A6-B512-9F0D56C0EA6D"><p><xref href="GUID-2A543E1C-F3DE-59EF-8A43-1B655F367FBC.dita">Audio Processing Tutorial</xref>  </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-4AAABD77-C08E-5EE2-A02A-3B412EA6D23F.dita">Advanced Audio Adaptation Framework Overview</xref> </p> <p><xref href="GUID-174D98FF-6782-564E-9FDF-1AE32F770591.dita">Sound Device Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B05B61B8-1217-441F-BAFA-C209C8F123C5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B05B61B8-1217-441F-BAFA-C209C8F123C5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 UI, and a floating toolbar which can also be used in non-touch UIs.</p>
 <fig id="GUID-65384C58-D95F-4E3F-A3E8-41B2FBA237BB">
 <title>Fixed toolbar, floating toolbar, and toolbar extension</title>
-<image href="GUID-F1EFB7C3-BC06-4822-BA37-06B02BECE80A_d0e102540_href.png" scale="90" placement="inline"/>
+<image href="GUID-F1EFB7C3-BC06-4822-BA37-06B02BECE80A_d0e106560_href.png" scale="90" placement="inline"/>
 </fig>
 <p>The fixed toolbar doesn’t have focus, whereas the floating toolbar owns
 the focus and it can be used also with navigation and selection keys. By default,
Binary file Symbian3/PDK/Source/GUID-B0797210-4EE3-557B-A5A6-D215D030BA0E_d0e228063_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B0797210-4EE3-557B-A5A6-D215D030BA0E_d0e234062_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,9 +10,9 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693"><title>How to use the SIP Client API</title><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-DC93FFFF-1981-5EA1-9B88-E3CC56CCCEB7"><title>Protocols</title> <p>The following sections describe how to do the following: </p> <ul><li id="GUID-7E5B3D7B-45E4-543A-8219-A5C1C0D25913"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-AFD6AB5D-1B1B-53CB-ABC7-4585D9A91CE8">Starting the SIP Client</xref>  </p> </li> <li id="GUID-39810F58-A7EB-5F1C-96C6-4A2E62B263EB"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-42784C1C-600A-53AE-9AEB-463EBF34C636">Closing SIP Client</xref>  </p> </li> <li id="GUID-544748CF-463C-546B-A291-08D1C2887C01"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-AC90094E-BF4E-5C2B-81B2-EF9BF5603BA2"> Sending a SIP request</xref>  </p> </li> <li id="GUID-F71538DD-111C-5DFE-88A3-2E025E05429C"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-5E5EC61F-5AB3-55F6-9AB0-463D5D0876DA">Receiving a SIP request</xref>  </p> </li> <li id="GUID-CC881957-ACE4-597F-85B4-1859886B61E7"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-820D689F-6404-5E40-AAC2-A45ABECDBADC">Receiving a SIP request and creating a session</xref>  </p> </li> <li id="GUID-5FBBC17B-D4B7-51F3-8560-13F6730010B6"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-109B933C-1063-577F-9A58-BA809869A0DF">Registration</xref>  </p> </li> <li id="GUID-8E35F949-CC67-546C-9899-3A2C1BF8BBC1"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-E683488B-B7EA-5215-8476-8C39950AC21B">Creating a dialog with INVITE</xref>  </p> </li> <li id="GUID-3246EFA2-48AB-5D54-9E5C-E8095886FCCD"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-E4E6E0C2-7B0F-51AA-B1E3-282E8F728EDC"> Generating a '100 SIP response'</xref>  </p> </li> <li id="GUID-6E4E101D-8638-5AD8-B105-D5FD5D9ED6E5"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-C1ED4FC7-5DEB-5C5B-AE82-549D4577A9A9">Responding to a CANCEL request</xref>  </p> </li> <li id="GUID-010BA345-B521-54AC-8208-B0C5969BA87D"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-CB27D3C3-D28B-5081-B201-8C10DE60CF25">Sending a SIP request and responding to a HTTP Digest challenge</xref>  </p> </li> <li id="GUID-4A8CF777-7379-5AF6-90A9-B15480B2E67E"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-B882D001-CDE9-579F-8DDE-C087D8707C2E">Notification of a failed refresh</xref>  </p> </li> <li id="GUID-79F2A3B3-2CC0-52ED-903B-3D4855E4A274"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-DDD7FDBD-FBC9-5111-BE71-A71E6CCEFB2A">Error handling</xref>  </p> </li> <li id="GUID-AB416C57-9986-54AD-BB8A-7240D8FBCD7D"><p><xref href="GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693.dita#GUID-B0EF8500-0A49-5EA8-B7FF-8149E5F03693/GUID-0FC8038A-64AE-5E98-A9F9-ADBC6F05DF2B">Refreshing a Connection</xref>  </p> </li> </ul> </section> <section id="GUID-AFD6AB5D-1B1B-53CB-ABC7-4585D9A91CE8"><title>Starting the SIP Client</title> <p>To start the SIP Client: </p> <ol id="GUID-62B966F0-272C-5A03-9364-7685412436B0"><li id="GUID-626ACA6E-6CA9-5A3C-8582-EDEE7AE823D0"><p>Create an instance of the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> class. The <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> class creates a <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> object and implements the callback functions defined by <xref href="GUID-C6FF4A83-0097-3A82-B4ED-802E1FEA05D1.dita"><apiname>MSIPObserver</apiname></xref>. The <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> object connects the client to a shared server. </p> <p> <b>Note:</b> The server is started if it is not active. This may take a short time while the server side resources are created and initialised. </p> </li> <li id="GUID-BEE4CC97-50C6-5681-ACEB-180CA59B0CD3"><p>Create an instance of the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> class to use an IAP. The <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> class must implement the callback functions defined by <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita"><apiname>MSIPConnectionObserver</apiname></xref>. The <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> class creates <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object. The <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object forms a sub-session between the client and the server. </p> </li> <li id="GUID-1B0B51F8-37DF-5495-AEEC-F49A6C7EE947"><p>Call the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-7F3A8623-2989-3CCE-BF0C-BA4717D29D64"><apiname>CSIPConnection::NewL()</apiname></xref> function to create an active connection. The <codeph>CSIPConnection::EActive</codeph> state indicates that the object can be used to send SIP messages and create registrations and dialogs. The current state is asked by calling <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-A1A6D679-936C-3156-BA7D-5CBC3E2DEF7F"><apiname>CSIPConnection::State()</apiname></xref>. The <codeph>MSIPConnectionObserver::ConnectionStateChanged(CSIPConnection::
-                EActive)</codeph> callback function is called. </p> </li> </ol> <p>The following illustration shows the sequence of events involved in starting the SIP Client API. </p> <fig id="GUID-86E80D26-544B-587A-B2FD-B15CF44E47B4"><image href="GUID-15CAB5AF-CAA5-5D1B-9236-7874BF944484_d0e547506_href.png" placement="inline"/></fig> </section> <section id="GUID-42784C1C-600A-53AE-9AEB-463EBF34C636"><title>Closing the SIP Client</title> <p>To close the SIP Client: </p> <ul><li id="GUID-9FA5F4F3-9403-5256-9B80-939042BB2A8A"><p>Delete the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> object to close the connection to the SIP server. </p> </li> <li id="GUID-2C9F26A2-D5D1-585A-87C8-222A57D05F2F"><p>Delete the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object to close the sub-session between the client and the server. </p> </li> <li id="GUID-78A46553-52E1-57E3-BB0A-AEC70FC36F0F"><p>When the connection has been closed, operations on objects that depend on the connection fail with the <codeph>KErrSIPResourceNotAvailable</codeph> error code. </p> </li> </ul> <p>For example, if an application has <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> and <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> objects, and it deletes the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object, then subsequent attempts to use the <codeph>CSIPRegistrationBinding</codeph> object fails. This is because <codeph>CSIPRegistrationBinding</codeph> cannot communicate with the server side of the SIP stack without the <codeph>CSIPConnection</codeph> object. </p> <p>The following illustration shows the order for deleting SIP Client API objects. </p> <fig id="GUID-5C5F0C8E-76BD-56CC-AA9E-BECF035D1A9F"><image href="GUID-A9BFB95C-E2B0-5CD0-8B39-C448E3C81400_d0e547572_href.png" placement="inline"/></fig> </section> <section id="GUID-AC90094E-BF4E-5C2B-81B2-EF9BF5603BA2"><title> Sending a SIP request</title> <p>To send a SIP request: </p> <ul><li id="GUID-C92F9ADF-1BF5-5057-8851-0940E67A3C6A"><p>Create a <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> object and enter the required fields of the request. </p> </li> <li id="GUID-E69DA3E7-5C13-5D10-BD82-1D37AEE0EE8A"><p>Call the <codeph>CSIPConnection::SendRequestL(CSIPRequestElements*)</codeph> function to take control of the <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> objects and communicate the request to the server side of the SIP stack. </p> <p> <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname> CSIPConnection</apiname></xref> creates a <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and returns it to the application. </p> </li> </ul> <p> <b>Note:</b>  <codeph>SendRequestL()</codeph> starts the server side processing of sending the MESSAGE request. This task takes time as address resolving and socket operations are done only after the <codeph>SendRequestL()</codeph> call is returned. If an error occurs after <codeph>SendRequestL()</codeph> returns, then the error is communicated to the application through one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref> callback functions. An example of such a failure is failure to resolve the address. When <codeph>SendRequestL()</codeph> returns, the MESSAGE request is not yet sent to the network, and is being processed on the server side of the SIP stack. </p> <p>After <codeph>SendRequestL()</codeph> returns and the sending of a MESSAGE request is in progress on the shared server, there is no way for the application to cancel that operation. This also applies to other operation types. However the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita#GUID-059F9C3A-EA04-3295-912F-50444F073CE7/GUID-8F7BF1A8-75C4-39A1-BCB3-4E1F7CDE59CC"><apiname>CSIPClientTransaction::CancelL()</apiname></xref> function is used to send a CANCEL request after the application sends an INVITE request. </p> <p>When the SIP response is received from the server side, the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object: </p> <ol id="GUID-0DB00054-27E8-57BF-8BB0-7F8231C7627B"><li id="GUID-D207CF42-5B04-5625-8CF8-4EEAD3451542"><p>creates a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to represent the SIP response </p> </li> <li id="GUID-7131D953-EFF6-5D31-B20F-64B56C968368"><p>attaches it to the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object </p> </li> <li id="GUID-72C682B2-05BE-58ED-B743-0554C9476CC2"><p>notifies the application through a call to one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-EE7CC7B8-CC03-3814-9177-CFBFBB043426"><apiname>MSIPConnectionObserver:: IncomingResponse()</apiname></xref> callback functions. </p> </li> </ol> <p>The application determines the kind of response received by accessing the <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object through <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. As the response is provisional, the application does not delete the <codeph>CSIPClientTransaction</codeph> object. A '200 response' is received later, and the application then deletes the <codeph>CSIPClientTransaction</codeph> object. </p> <p>Then, create a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to represent the SIP response, attach it to <codeph>CSIPClientTransaction</codeph> and notify the application with <codeph>MSIPConnectionObserver::
-          IncomingResponse</codeph>. </p> <p>The following illustration shows the sequence of events involved in sending a MESSAGE request and receiving two responses to it. </p> <fig id="GUID-6724EF0B-9B98-5225-BABA-3967A5065711"><image href="GUID-7712BAB3-5F48-5A28-9EA9-104D8B4A0431_d0e547718_href.png" placement="inline"/></fig> </section> <section id="GUID-5E5EC61F-5AB3-55F6-9AB0-463D5D0876DA"><title>Receiving a SIP request</title> <p>A standalone SIP request is received through an existing <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object. The <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> creates <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> and <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> objects before notifying the application through the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-2DF68D26-9787-3D00-B86F-1999D20E4981"><apiname>MSIPConnectionObserver::IncomingRequest()</apiname></xref> callback function. The <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> and <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> represent the incoming SIP request </p> <p>The <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> object is passed to the <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> object through the callback function. The application retrieves information about the request from the <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> object. </p> <p>To send a response, the application creates a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object and passes it to <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita#GUID-7E54C95E-5155-30B1-8169-A59778774403/GUID-2D5A77B6-114D-3A22-B622-5342BF235B67"><apiname>CSIPServerTransaction::SendResponseL()</apiname></xref>. This passes the response to the server side for further processing. When <codeph>SendResponseL()</codeph> is returned, the application no longer needs the <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> object and deletes it. </p> <p>The following illustration shows the sequence of events involved in receiving a MESSAGE request and sending a response to it. </p> <fig id="GUID-8C9A8944-1150-52E2-A031-BA65F16191F4"><image href="GUID-1158BDD3-69F7-5892-9887-FAE30110E33C_d0e547793_href.png" placement="inline"/></fig> </section> <section id="GUID-820D689F-6404-5E40-AAC2-A45ABECDBADC"><title>Receiving a SIP request and creating a session</title> <p>The SIP stack receives a SIP INVITE request from the network acting as a User Agent Server (UAS) and creates an invite server transaction for the received request. The SIP stack sends a '100 SIP response' to the remote UA. After comparing the received request with the stored application capabilities, the SIP stack routes the received INVITE request to the chosen application. </p> <p>The application creates a <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> object and the SIP stack creates an instance of <xref href="GUID-382BC1BE-3CF3-3E81-B1FF-341EEF2B67EA.dita"><apiname>CSIPDialog</apiname></xref>. The application sends a '200 SIP response' to the remote UA. The remote UA acknowledges the '200 SIP' response with ACK and creates a SIP session is between the local and remote UA. </p> <p>The following illustration shows the sequence of events involved in receiving a SIP request and creating a SIP dialog. </p> <fig id="GUID-8A8D96E1-99DC-5F11-847A-9D407212CA6E"><image href="GUID-C64D200D-32A9-5F50-ACF1-4D93DDD0B0A4_d0e547818_href.png" placement="inline"/></fig> </section> <section id="GUID-109B933C-1063-577F-9A58-BA809869A0DF"><title>Registration</title> <p>An application creates a <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object to initiate a registration. It then creates a <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> object, passing <codeph>CSIPRefresh</codeph> to it. </p> <p> <b>Note:</b> It is not mandatory to create a <codeph>CSIPRefresh</codeph> object. It is required if the registration is to be refreshed by the SIP stack. </p> <p>After the <codeph>CSIPRegistrationBinding</codeph> object exists, the application initiates the registration process by calling <codeph>RegisterL()</codeph> on the <codeph>CSIPRegistrationBinding</codeph> object. <codeph/>  <codeph>CSIPRegistrationBinding</codeph> forms a REGISTER request and communicates it to the server side of the SIP stack, it instantiates the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and returns it to the application. </p> <p>When the '200 SIP response' is received from the server side, <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> creates the <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to contain the response, and then routes the response to <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref>. <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> attaches the response to <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. The application is informed about the response through one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-7DE6337F-4EAA-3AE4-B573-1F7E59EDCFE5"><apiname>MSIPConnectionObserver::IncomingResponse()</apiname></xref> callback functions. </p> <p>The application does not require the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and can delete it. The <codeph>IsContextActive()</codeph> finds out if the registration is successful. </p> <p>The following illustration shows the sequence of events involved in registering with a refresh and receiving a '200 OK response'. </p> <fig id="GUID-7F489E97-2ADE-5753-A03B-5600E4BD1C55"><image href="GUID-02521DB0-53C4-55D5-856F-BD478E134B73_d0e547910_href.png" placement="inline"/></fig> </section> <section id="GUID-45BEF04F-64A3-5B29-8CE4-8B1F5CA0E64F"><title>Configuring the registration</title> <p>When registering an SIP connection, applications have two options to configure the registration : outbound proxy caching and expiration value removal. To set each of these options, call <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita#GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4/GUID-B3C68013-AF24-3529-8595-5CC9497F2E98"><apiname>CSIPRegistrationBinding::SetProperty()</apiname></xref> with the corresponding property constant, as explained below. </p> <p>The SIP stack resolves the IP address of the outbound proxy during registration. The default behavior is to resolve the address again for each SIP message sent using this registration context. However, you can also cache the address to optimise network traffic. If you set <xref href="GUID-9A7A7547-76EB-3CC7-9C3D-7F1C08A160D0.dita"><apiname>KSIPCacheOutboundProxyIP</apiname></xref> property to <codeph>ETrue</codeph>, the SIP stack reuses the proxy address that was resolved during registration. The proxy address is refreshed by successful REGISTER transactions, which always perform a DNS query. </p> <p>By default, the SIP stack sends the expiration value in the REGISTER request. In the '200 OK' answer to a REGISTER message, the registrar returns an expiration value that may be different from the value that was sent. The SIP stack validates the returned expiration value against the minimum and maximum expiration values: if the returned expiration value is out of range, the SIP stack uses the minimum value or the maximum value. </p> <ul><li id="GUID-478291AE-D709-5AF1-AE4A-F1C115F8BE7C"><p>The minimum expiration value is 30 seconds, to reduce network activity and battery consumption. </p> </li> <li id="GUID-A0C7C631-F4CF-5CC0-BAA7-236C939E87C8"><p>The maximum expiration value is the expiration value that you specify for the REGISTER request. By default, the maximum expiration value is 3600 seconds, to protect the application from DOS attacks that provide '200 OK' responses with a very high expiration value. </p> </li> </ul> <p>If you set <xref href="GUID-C0920ECB-95CC-3152-8D6F-C4751AA8271E.dita"><apiname>KSIPSendWithExpires</apiname></xref> to <codeph>EFalse</codeph>, the SIP stack does not send the application's expiration value in the REGISTER message. </p> </section> <section id="GUID-E683488B-B7EA-5215-8476-8C39950AC21B"><title>Creating a dialog with INVITE</title> <p>To create a dialog with INVITE an application creates <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> and <xref href="GUID-77CFD812-7238-3B84-80FF-475BD73C3506.dita"><apiname>CSIPMessageElements</apiname></xref> objects. The application must enter the relevant SIP headers in the <xref href="GUID-77CFD812-7238-3B84-80FF-475BD73C3506.dita"><apiname>CSIPMessageElements </apiname></xref> object before passing it to <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> using the <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita#GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8/GUID-D587F38B-3631-3399-9A82-04EA473E7694"><apiname>CSIPInviteDialogAssoc::SendInviteL()</apiname></xref> function. </p> <p> <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> then forms an INVITE request and communicates it to the server side of the SIP stack. It then creates a <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object, and returns it to the application. </p> <p>When the server sends '180 response', the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> creates a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to contain the response, and then routes the response to <xref href="GUID-382BC1BE-3CF3-3E81-B1FF-341EEF2B67EA.dita"><apiname>CSIPDialog</apiname></xref>. <codeph>CSIPDialog</codeph> attaches the response to <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. The application is informed about the receipt of the '180 response' through a call to one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-EE7CC7B8-CC03-3814-9177-CFBFBB043426"><apiname>MSIPConnectionObserver:: IncomingResponse()</apiname></xref> callback functions. </p> <p>When the '200 response' is received, processing similar to '180 response' occurs. Then the application responds by sending an ACK request. This is done by invoking the <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita#GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8/GUID-DBA0B06D-EC23-3458-9397-402E6CA17106"><apiname>CSIPInviteDialogAssoc::SendAckL()</apiname></xref> function, which forms the ACK request and sends it to the server side of the SIP stack. </p> <p>The INVITE request might fork at a proxy, so the server side of the SIP stack waits for several possible responses. When the forking is does not happen, the server side of the SIP stack sends an <codeph>InviteCompleted</codeph> event. The SIP Client API forwards the <codeph>InviteCompleted</codeph> event to the application, indicating that the application can now delete the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. </p> <p>The following figure shows the sequence of events involved in sending an INVITE, receiving a response and sending an ACK. </p> <fig id="GUID-3AE23155-63D4-5948-855E-9D44F48E4D11"><image href="GUID-C8D04D54-D391-5505-9E80-596589410179_d0e548048_href.png" placement="inline"/></fig> </section> <section id="GUID-E4E6E0C2-7B0F-51AA-B1E3-282E8F728EDC"><title> Generating a '100 SIP response'</title> <p>The SIP stack generates a '100 response' automatically when it receives an <codeph>INVITE</codeph> request from the network. Applications are not allowed to send '100 responses'. </p> </section> <section id="GUID-C1ED4FC7-5DEB-5C5B-AE82-549D4577A9A9"><title>Responding to a CANCEL request</title> <p>When the SIP stack receives a CANCEL request from the network, it automatically responds to it. CANCEL requests are never passed to an application. </p> <p>If the SIP stack: </p> <ul><li id="GUID-05B62303-9453-5E42-8E2A-6D50A5857312"><p>does not find a matching transaction for a CANCEL request, it automatically generates a '481 response'. </p> </li> <li id="GUID-69DBD19D-1871-57C5-AF95-8858A92BE6C5"><p>finds a matching transaction for a CANCEL request, it automatically generates a '200 response'. </p> </li> <li id="GUID-C806FF70-7EBD-5D06-989E-971E2E7589DD"><p>finds a matching INVITE server transaction that is in the <codeph>Proceeding</codeph> state (that is a final response is not yet sent), it also automatically generates a '487 response' to the INVITE transaction. </p> </li> </ul> <p>After these actions are complete, the SIP stack informs the application by calling the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-500F0C1D-6FCF-32DB-B9CC-4F7CEC1A9053"><apiname>MSIPConnectionObserver::InviteCanceled()</apiname></xref> callback function. </p> </section> <section id="GUID-CB27D3C3-D28B-5081-B201-8C10DE60CF25"><title>Sending a SIP request and responding to a HTTP Digest challenge</title> <p>A SIP server in the signalling chain challenges any SIP request initiated by the application with an HTTP Digest challenge by responding with a '401 SIP response', '407 SIP response' or a '494 SIP response'. The responses contain details of the challenge. These responses are never passed directly to the application. Instead, they are passed to the application through a call to the callback function <xref href="GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF.dita#GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF/GUID-D12ED59B-FF9F-3AAD-9740-1108B1091421"><apiname>MSIPHttpDigestChallengeObserver::ChallengeReceived()</apiname></xref>. </p> <p>To enable an application to respond to a challenge, it must: </p> <ul><li id="GUID-69B100E7-A67F-5F0C-B886-1B0FAE9DBEB4"><p>create a <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> object </p> </li> <li id="GUID-A58199C3-57A0-536F-8EC2-76A29F3003DA"><p>provide an implementation of the callback function <xref href="GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF.dita#GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF/GUID-D12ED59B-FF9F-3AAD-9740-1108B1091421"><apiname>MSIPHttpDigestChallengeObserver::ChallengeReceived()</apiname></xref> . </p> </li> </ul> <p>The application can either accept or reject the challenge: </p> <ul><li id="GUID-8EFD6F96-73E8-594E-9971-95DB3DA5B5ED"><p>If it accepts the challenge, the callback function must call <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita#GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D/GUID-FBDFE260-789F-3FB1-9884-D958B82E3734"><apiname>CSIPHttpDigest::SetCredentialsL()</apiname></xref>, specifying the username, password, and the realm passed to the callback function. </p> <p>Then, SIP stack re-sends the original SIP request with the HTTP Digest response. </p> </li> <li id="GUID-C1A1BCCC-7E0C-5B4F-A0D9-EDC52F081D59"><p>If it rejects the challenge, the callback function must call <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita#GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D/GUID-2F3A2A6D-B825-30A5-A133-EEBBFCD3F52B"><apiname>CSIPHttpDigest::IgnoreChallenge()</apiname></xref>, specifying the realm passed to the callback function. </p> <p>Then, SIP stack calls the callback function <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref>, by passing the error code <xref href="GUID-FF8BB656-99F5-369E-A6CE-56684D329AD5.dita"><apiname>KErrSIPForbidden</apiname></xref>. </p> </li> </ul> <p>If an application does not want to receive the HTTP Digest challenge then it must not create a <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> object. In this event, the SIP stack calls the callback function <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref>, passing the error code <xref href="GUID-FF8BB656-99F5-369E-A6CE-56684D329AD5.dita"><apiname>KErrSIPForbidden</apiname></xref>. </p> <p> <b>Note:</b>  </p> <ul><li id="GUID-A028B39A-292E-5556-B4A0-AF801F6131F3"><p>If an application uses the SIP Profile Agent for SIP registration, the SIP Profile Agent handles the HTTP Digest challenges related to the registration procedure according to the SIP profile information. </p> </li> <li id="GUID-19A777A8-E8D0-54F4-A59E-53550B6A802C"><p>The SIP stack maintains a HTTP Digest cache which stores username and password pairs for realms. If the username and password have been configured for a proxy, or if the application has already provided them after being asked through a <xref href="GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF.dita#GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF/GUID-D12ED59B-FF9F-3AAD-9740-1108B1091421"><apiname>MSIPHttpDigestChallengeObserver::ChallengeReceived()</apiname></xref> call, then the SIP stack uses them to answer subsequent challenges for a matching realm automatically. </p> <p>For example, if the application uses a SIP Profile whose proxy is configured with HTTP Digest passwords and then sends an INVITE, it does not need to provide the passwords for the proxy as the SIP stack gets it from the HTTP Digest cache. </p> </li> </ul> </section> <section id="GUID-B882D001-CDE9-579F-8DDE-C087D8707C2E"><title>Notification of a failed refresh</title> <p>The following example shows how an application is notified when a refresh request within a dialog terminates after an error occurs. In this example the application sends a SUBSCRIBE request with refresh, and receives a <codeph>2xx</codeph> class response. The SIP stack periodically sends a refreshed SUBSCRIBE message. After successfully refreshed SUBSCRIBE requests, the remote server responds with a '481 response', and the application receives the following callback: </p> <codeblock id="GUID-A7F94C80-1224-5A70-B757-98FFAAD92B3B" xml:space="preserve">MSIPConnectionObserver::ErrorOccured(TInt aError, CSIPDialogAssocBase&amp; aDialogAssoc)</codeblock> <p>If the value of <codeph>aError</codeph> is <xref href="GUID-D711A918-6BCE-3A6A-988C-1B1917CD19A6.dita"><apiname>KErrSIPTerminatedWithResponse</apiname></xref>, then the actual SIP response causing the refresh to end can be found as follows: </p> <ul><li id="GUID-76291322-B9F0-55D3-A019-73A9040F2652"><p>Check that <codeph>aDialogAssoc.Type()</codeph> returns <codeph>"SUBSCRIBE"</codeph>. </p> </li> <li id="GUID-52B18DCF-2308-52A9-AB13-5920042C2E5D"><p>Call the function with the following signature to get the refresh instance (<xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object): </p> <codeblock id="GUID-F0E7DFDA-506F-5377-9F87-CE9775436133" xml:space="preserve">const CSIPRefresh* CSIPSubscribeDialogAssoc::SIPRefresh() const</codeblock> </li> <li id="GUID-6AB4677A-19F9-5CD3-8DAB-E1A242A98D54"><p>Use the <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object to get the associated transaction by calling the following function: </p> <codeblock id="GUID-D4889AC1-1281-5367-B19B-2136AE9DA707" xml:space="preserve">const CSIPClientTransaction* CSIPRefresh::SIPTransaction() const</codeblock> <p> <b>Note:</b> The returned <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object is not similar to the one returned from the call to <codeph>SendSubscribeL(),</codeph> that the application originally used to send the SUBSCRIBE request. </p> </li> <li id="GUID-D1B61B14-7B99-59EA-9FDD-5ECEB839C4DA"><p>Call the following function to get the SIP response: </p> <codeblock id="GUID-04849100-2F81-5B03-9B1A-2797AF7F96DD" xml:space="preserve">const CSIPResponseElements* CSIPClientTransaction::ResponseElements() const</codeblock> </li> </ul> </section> <section id="GUID-DDD7FDBD-FBC9-5111-BE71-A71E6CCEFB2A"><title>Error handling</title> <p>Errors are passed to an application by calling the callback functions or by leaving. For more information, see <xref href="GUID-E5A83EF3-948B-5729-A2CD-3644E803520B.dita">Cleanup support overview</xref>. If an error occurs during the synchronous part of an operation is initiated by the application, functions leave with an error code. If an error occurs during the asynchronous processing stage, the error is passed to the application through one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref> callback functions. </p> <p>There are several overloaded variants of <codeph>ErrorOccured()</codeph> functions. Each of them takes the error code and reference to the SIP Client API object that encountered the error: </p> <ul><li id="GUID-2734ECF0-1751-5AB8-BFE3-425965D01CF0"><p>A call to the variants of <codeph>ErrorOccured()</codeph> taking a <xref href="GUID-93256B64-49C9-37F1-9A4E-72C521759749.dita"><apiname>CSIPTransactionBase</apiname></xref> or <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> parameter means that transaction has entered the state <xref href="GUID-8E445232-29A0-3EED-94C3-43BFDD328358.dita#GUID-8E445232-29A0-3EED-94C3-43BFDD328358/GUID-288F503D-3EEA-3B4B-8D31-B58E3777F875"><apiname>CTransactionBase::ETerminated</apiname></xref>. </p> </li> <li id="GUID-C45D4A2D-F175-542B-92BF-211E1673F3F1"><p>A call to the variant of <codeph>ErrorOccured()</codeph> taking a <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> parameter means that the registration context is no longer active, that is <codeph>CSIPRegistrationBinding::IsContextActive() == EFalse</codeph>. </p> <p>If the registration was being refreshed, then the refresh has also ended and its state is <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita#GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3/GUID-EFEDCA93-E338-32A1-B005-8BA316B3C172"><apiname>CSIPRefresh::ETerminated</apiname></xref>. </p> </li> </ul> <p>If the callback function <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-27DE00DC-5572-3B55-B92B-5325794EE663"><apiname>MSIPConnectionObserver::ConnectionStateChanged()</apiname></xref> is called and the <codeph>aState</codeph> parameter is either <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-68DD22DC-67E4-387B-BBE9-B9B96D9C9016"><apiname>CSIPConnection::EInactive</apiname></xref> or <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-5963A947-BD5C-3B34-9D10-2CB5DC413774"><apiname>CSIPConnection::EUnavailable</apiname></xref>, then all dialogs, registrations, and standalone transactions using the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> are terminated. </p> <p>To avoid an overload of callback calls in this type of situation, calls to <codeph>ErrorOccured()</codeph> for the individual dialog, registration and transaction objects are not sent to the application. </p> <p>When the connection state changes, the <codeph>MSIPConnectionObserver::ConnectionStateChanged()</codeph> callback function does not provide a reason. Call <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-B9D5319D-D569-3D4A-AF73-66F057ACF88D"><apiname>CSIPConnection::GetConnectionError()</apiname></xref> to get details about the connection error that caused the change. </p> </section> <section id="GUID-0FC8038A-64AE-5E98-A9F9-ADBC6F05DF2B"><title>Refreshing a Connection</title> <p>To refresh a connection, do the following steps: </p> <ol id="GUID-368431B7-E9FB-56E7-A45F-01B686DBECAA"><li id="GUID-97E972C7-E839-5942-A487-48A9FD1EEC0E"><p>Start the connection on the desired IAP. </p> </li> <li id="GUID-35157131-E6EA-5EB2-8773-33832C45F46E"><p>Monitor the status of the connection using the <xref href="GUID-64C272AA-5727-3AB9-A131-68303E5A75D6.dita#GUID-64C272AA-5727-3AB9-A131-68303E5A75D6/GUID-7984D221-06F6-3F4B-B373-11C96D0A17F3"><apiname>MSIPConnectionObserver::ConnectionStateChanged(CSIPConnection::TState
-                aState)</apiname></xref> function. </p> </li> <li id="GUID-85CDAB12-933A-5748-B2B8-33971F58B7B4"><p>If the connection is inactive, notify the <codeph>EInactive</codeph> state to the application through <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-27DE00DC-5572-3B55-B92B-5325794EE663"><apiname>MSIPConnectionObserver::ConnectionStateChanged()</apiname></xref> function that is, if <xref href="GUID-8239C16D-74EC-3B97-ADB0-B6AE57D30C89.dita#GUID-8239C16D-74EC-3B97-ADB0-B6AE57D30C89/GUID-3380638E-B5BA-3C88-82CB-9E52385F6A38"><apiname>(CSIPConnection::TState == EInactive)</apiname></xref>, then send a <xref href="GUID-7FBF47FB-7D1F-3F20-BBCA-A195BB540D67.dita"><apiname>RefreshConnection()</apiname></xref> function to make it active. </p> <p> <b>Note:</b> This requires a bearer monitor on that IAP to which a refresh request is sent. </p> </li> <li id="GUID-49A770C0-0992-5D27-B8A6-4D68E4B90E09"><p>Any changes to the state of the connection is notified through <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-27DE00DC-5572-3B55-B92B-5325794EE663"><apiname>MSIPConnectionObserver::ConnectionStateChanged()</apiname></xref>. </p> </li> </ol> <p>The following sequence diagram shows how a client refreshes a connection. </p> <fig id="GUID-B3D9E694-31F8-59AA-A722-BE6F9C0D5E89"><image href="GUID-A50BBBE2-2E23-5AEE-BF53-9EF54FD7F00E_d0e548459_href.jpg" placement="inline"/></fig> <p>The following example code describes how to refresh a connection. </p> <codeblock id="GUID-B14ADDEF-1E3C-5B21-8426-4D0FE65FBC28" xml:space="preserve">// It is assumed that the connection is started and is in an Inactive state that is, 
+                EActive)</codeph> callback function is called. </p> </li> </ol> <p>The following illustration shows the sequence of events involved in starting the SIP Client API. </p> <fig id="GUID-86E80D26-544B-587A-B2FD-B15CF44E47B4"><image href="GUID-15CAB5AF-CAA5-5D1B-9236-7874BF944484_d0e554962_href.png" placement="inline"/></fig> </section> <section id="GUID-42784C1C-600A-53AE-9AEB-463EBF34C636"><title>Closing the SIP Client</title> <p>To close the SIP Client: </p> <ul><li id="GUID-9FA5F4F3-9403-5256-9B80-939042BB2A8A"><p>Delete the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> object to close the connection to the SIP server. </p> </li> <li id="GUID-2C9F26A2-D5D1-585A-87C8-222A57D05F2F"><p>Delete the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object to close the sub-session between the client and the server. </p> </li> <li id="GUID-78A46553-52E1-57E3-BB0A-AEC70FC36F0F"><p>When the connection has been closed, operations on objects that depend on the connection fail with the <codeph>KErrSIPResourceNotAvailable</codeph> error code. </p> </li> </ul> <p>For example, if an application has <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> and <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> objects, and it deletes the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object, then subsequent attempts to use the <codeph>CSIPRegistrationBinding</codeph> object fails. This is because <codeph>CSIPRegistrationBinding</codeph> cannot communicate with the server side of the SIP stack without the <codeph>CSIPConnection</codeph> object. </p> <p>The following illustration shows the order for deleting SIP Client API objects. </p> <fig id="GUID-5C5F0C8E-76BD-56CC-AA9E-BECF035D1A9F"><image href="GUID-A9BFB95C-E2B0-5CD0-8B39-C448E3C81400_d0e555028_href.png" placement="inline"/></fig> </section> <section id="GUID-AC90094E-BF4E-5C2B-81B2-EF9BF5603BA2"><title> Sending a SIP request</title> <p>To send a SIP request: </p> <ul><li id="GUID-C92F9ADF-1BF5-5057-8851-0940E67A3C6A"><p>Create a <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> object and enter the required fields of the request. </p> </li> <li id="GUID-E69DA3E7-5C13-5D10-BD82-1D37AEE0EE8A"><p>Call the <codeph>CSIPConnection::SendRequestL(CSIPRequestElements*)</codeph> function to take control of the <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> objects and communicate the request to the server side of the SIP stack. </p> <p> <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname> CSIPConnection</apiname></xref> creates a <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and returns it to the application. </p> </li> </ul> <p> <b>Note:</b>  <codeph>SendRequestL()</codeph> starts the server side processing of sending the MESSAGE request. This task takes time as address resolving and socket operations are done only after the <codeph>SendRequestL()</codeph> call is returned. If an error occurs after <codeph>SendRequestL()</codeph> returns, then the error is communicated to the application through one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref> callback functions. An example of such a failure is failure to resolve the address. When <codeph>SendRequestL()</codeph> returns, the MESSAGE request is not yet sent to the network, and is being processed on the server side of the SIP stack. </p> <p>After <codeph>SendRequestL()</codeph> returns and the sending of a MESSAGE request is in progress on the shared server, there is no way for the application to cancel that operation. This also applies to other operation types. However the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita#GUID-059F9C3A-EA04-3295-912F-50444F073CE7/GUID-8F7BF1A8-75C4-39A1-BCB3-4E1F7CDE59CC"><apiname>CSIPClientTransaction::CancelL()</apiname></xref> function is used to send a CANCEL request after the application sends an INVITE request. </p> <p>When the SIP response is received from the server side, the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object: </p> <ol id="GUID-0DB00054-27E8-57BF-8BB0-7F8231C7627B"><li id="GUID-D207CF42-5B04-5625-8CF8-4EEAD3451542"><p>creates a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to represent the SIP response </p> </li> <li id="GUID-7131D953-EFF6-5D31-B20F-64B56C968368"><p>attaches it to the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object </p> </li> <li id="GUID-72C682B2-05BE-58ED-B743-0554C9476CC2"><p>notifies the application through a call to one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-EE7CC7B8-CC03-3814-9177-CFBFBB043426"><apiname>MSIPConnectionObserver:: IncomingResponse()</apiname></xref> callback functions. </p> </li> </ol> <p>The application determines the kind of response received by accessing the <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object through <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. As the response is provisional, the application does not delete the <codeph>CSIPClientTransaction</codeph> object. A '200 response' is received later, and the application then deletes the <codeph>CSIPClientTransaction</codeph> object. </p> <p>Then, create a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to represent the SIP response, attach it to <codeph>CSIPClientTransaction</codeph> and notify the application with <codeph>MSIPConnectionObserver::
+          IncomingResponse</codeph>. </p> <p>The following illustration shows the sequence of events involved in sending a MESSAGE request and receiving two responses to it. </p> <fig id="GUID-6724EF0B-9B98-5225-BABA-3967A5065711"><image href="GUID-7712BAB3-5F48-5A28-9EA9-104D8B4A0431_d0e555174_href.png" placement="inline"/></fig> </section> <section id="GUID-5E5EC61F-5AB3-55F6-9AB0-463D5D0876DA"><title>Receiving a SIP request</title> <p>A standalone SIP request is received through an existing <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object. The <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> creates <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> and <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> objects before notifying the application through the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-2DF68D26-9787-3D00-B86F-1999D20E4981"><apiname>MSIPConnectionObserver::IncomingRequest()</apiname></xref> callback function. The <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> and <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> represent the incoming SIP request </p> <p>The <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> object is passed to the <xref href="GUID-19FB031A-CFA7-3C67-A627-CFF501060AA5.dita"><apiname>CSIPRequestElements</apiname></xref> object through the callback function. The application retrieves information about the request from the <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> object. </p> <p>To send a response, the application creates a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object and passes it to <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita#GUID-7E54C95E-5155-30B1-8169-A59778774403/GUID-2D5A77B6-114D-3A22-B622-5342BF235B67"><apiname>CSIPServerTransaction::SendResponseL()</apiname></xref>. This passes the response to the server side for further processing. When <codeph>SendResponseL()</codeph> is returned, the application no longer needs the <xref href="GUID-7E54C95E-5155-30B1-8169-A59778774403.dita"><apiname>CSIPServerTransaction</apiname></xref> object and deletes it. </p> <p>The following illustration shows the sequence of events involved in receiving a MESSAGE request and sending a response to it. </p> <fig id="GUID-8C9A8944-1150-52E2-A031-BA65F16191F4"><image href="GUID-1158BDD3-69F7-5892-9887-FAE30110E33C_d0e555249_href.png" placement="inline"/></fig> </section> <section id="GUID-820D689F-6404-5E40-AAC2-A45ABECDBADC"><title>Receiving a SIP request and creating a session</title> <p>The SIP stack receives a SIP INVITE request from the network acting as a User Agent Server (UAS) and creates an invite server transaction for the received request. The SIP stack sends a '100 SIP response' to the remote UA. After comparing the received request with the stored application capabilities, the SIP stack routes the received INVITE request to the chosen application. </p> <p>The application creates a <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> object and the SIP stack creates an instance of <xref href="GUID-382BC1BE-3CF3-3E81-B1FF-341EEF2B67EA.dita"><apiname>CSIPDialog</apiname></xref>. The application sends a '200 SIP response' to the remote UA. The remote UA acknowledges the '200 SIP' response with ACK and creates a SIP session is between the local and remote UA. </p> <p>The following illustration shows the sequence of events involved in receiving a SIP request and creating a SIP dialog. </p> <fig id="GUID-8A8D96E1-99DC-5F11-847A-9D407212CA6E"><image href="GUID-C64D200D-32A9-5F50-ACF1-4D93DDD0B0A4_d0e555274_href.png" placement="inline"/></fig> </section> <section id="GUID-109B933C-1063-577F-9A58-BA809869A0DF"><title>Registration</title> <p>An application creates a <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object to initiate a registration. It then creates a <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> object, passing <codeph>CSIPRefresh</codeph> to it. </p> <p> <b>Note:</b> It is not mandatory to create a <codeph>CSIPRefresh</codeph> object. It is required if the registration is to be refreshed by the SIP stack. </p> <p>After the <codeph>CSIPRegistrationBinding</codeph> object exists, the application initiates the registration process by calling <codeph>RegisterL()</codeph> on the <codeph>CSIPRegistrationBinding</codeph> object. <codeph/>  <codeph>CSIPRegistrationBinding</codeph> forms a REGISTER request and communicates it to the server side of the SIP stack, it instantiates the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and returns it to the application. </p> <p>When the '200 SIP response' is received from the server side, <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> creates the <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to contain the response, and then routes the response to <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref>. <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> attaches the response to <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. The application is informed about the response through one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-7DE6337F-4EAA-3AE4-B573-1F7E59EDCFE5"><apiname>MSIPConnectionObserver::IncomingResponse()</apiname></xref> callback functions. </p> <p>The application does not require the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object and can delete it. The <codeph>IsContextActive()</codeph> finds out if the registration is successful. </p> <p>The following illustration shows the sequence of events involved in registering with a refresh and receiving a '200 OK response'. </p> <fig id="GUID-7F489E97-2ADE-5753-A03B-5600E4BD1C55"><image href="GUID-02521DB0-53C4-55D5-856F-BD478E134B73_d0e555366_href.png" placement="inline"/></fig> </section> <section id="GUID-45BEF04F-64A3-5B29-8CE4-8B1F5CA0E64F"><title>Configuring the registration</title> <p>When registering an SIP connection, applications have two options to configure the registration : outbound proxy caching and expiration value removal. To set each of these options, call <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita#GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4/GUID-B3C68013-AF24-3529-8595-5CC9497F2E98"><apiname>CSIPRegistrationBinding::SetProperty()</apiname></xref> with the corresponding property constant, as explained below. </p> <p>The SIP stack resolves the IP address of the outbound proxy during registration. The default behavior is to resolve the address again for each SIP message sent using this registration context. However, you can also cache the address to optimise network traffic. If you set <xref href="GUID-9A7A7547-76EB-3CC7-9C3D-7F1C08A160D0.dita"><apiname>KSIPCacheOutboundProxyIP</apiname></xref> property to <codeph>ETrue</codeph>, the SIP stack reuses the proxy address that was resolved during registration. The proxy address is refreshed by successful REGISTER transactions, which always perform a DNS query. </p> <p>By default, the SIP stack sends the expiration value in the REGISTER request. In the '200 OK' answer to a REGISTER message, the registrar returns an expiration value that may be different from the value that was sent. The SIP stack validates the returned expiration value against the minimum and maximum expiration values: if the returned expiration value is out of range, the SIP stack uses the minimum value or the maximum value. </p> <ul><li id="GUID-478291AE-D709-5AF1-AE4A-F1C115F8BE7C"><p>The minimum expiration value is 30 seconds, to reduce network activity and battery consumption. </p> </li> <li id="GUID-A0C7C631-F4CF-5CC0-BAA7-236C939E87C8"><p>The maximum expiration value is the expiration value that you specify for the REGISTER request. By default, the maximum expiration value is 3600 seconds, to protect the application from DOS attacks that provide '200 OK' responses with a very high expiration value. </p> </li> </ul> <p>If you set <xref href="GUID-C0920ECB-95CC-3152-8D6F-C4751AA8271E.dita"><apiname>KSIPSendWithExpires</apiname></xref> to <codeph>EFalse</codeph>, the SIP stack does not send the application's expiration value in the REGISTER message. </p> </section> <section id="GUID-E683488B-B7EA-5215-8476-8C39950AC21B"><title>Creating a dialog with INVITE</title> <p>To create a dialog with INVITE an application creates <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> and <xref href="GUID-77CFD812-7238-3B84-80FF-475BD73C3506.dita"><apiname>CSIPMessageElements</apiname></xref> objects. The application must enter the relevant SIP headers in the <xref href="GUID-77CFD812-7238-3B84-80FF-475BD73C3506.dita"><apiname>CSIPMessageElements </apiname></xref> object before passing it to <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> using the <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita#GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8/GUID-D587F38B-3631-3399-9A82-04EA473E7694"><apiname>CSIPInviteDialogAssoc::SendInviteL()</apiname></xref> function. </p> <p> <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita"><apiname>CSIPInviteDialogAssoc</apiname></xref> then forms an INVITE request and communicates it to the server side of the SIP stack. It then creates a <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object, and returns it to the application. </p> <p>When the server sends '180 response', the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> creates a <xref href="GUID-13F32052-70BE-3B4D-9F8B-DF2DABB896B0.dita"><apiname>CSIPResponseElements</apiname></xref> object to contain the response, and then routes the response to <xref href="GUID-382BC1BE-3CF3-3E81-B1FF-341EEF2B67EA.dita"><apiname>CSIPDialog</apiname></xref>. <codeph>CSIPDialog</codeph> attaches the response to <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. The application is informed about the receipt of the '180 response' through a call to one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-EE7CC7B8-CC03-3814-9177-CFBFBB043426"><apiname>MSIPConnectionObserver:: IncomingResponse()</apiname></xref> callback functions. </p> <p>When the '200 response' is received, processing similar to '180 response' occurs. Then the application responds by sending an ACK request. This is done by invoking the <xref href="GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8.dita#GUID-B4A2FBBD-2B5F-3E64-800D-C4E9203679A8/GUID-DBA0B06D-EC23-3458-9397-402E6CA17106"><apiname>CSIPInviteDialogAssoc::SendAckL()</apiname></xref> function, which forms the ACK request and sends it to the server side of the SIP stack. </p> <p>The INVITE request might fork at a proxy, so the server side of the SIP stack waits for several possible responses. When the forking is does not happen, the server side of the SIP stack sends an <codeph>InviteCompleted</codeph> event. The SIP Client API forwards the <codeph>InviteCompleted</codeph> event to the application, indicating that the application can now delete the <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref>. </p> <p>The following figure shows the sequence of events involved in sending an INVITE, receiving a response and sending an ACK. </p> <fig id="GUID-3AE23155-63D4-5948-855E-9D44F48E4D11"><image href="GUID-C8D04D54-D391-5505-9E80-596589410179_d0e555504_href.png" placement="inline"/></fig> </section> <section id="GUID-E4E6E0C2-7B0F-51AA-B1E3-282E8F728EDC"><title> Generating a '100 SIP response'</title> <p>The SIP stack generates a '100 response' automatically when it receives an <codeph>INVITE</codeph> request from the network. Applications are not allowed to send '100 responses'. </p> </section> <section id="GUID-C1ED4FC7-5DEB-5C5B-AE82-549D4577A9A9"><title>Responding to a CANCEL request</title> <p>When the SIP stack receives a CANCEL request from the network, it automatically responds to it. CANCEL requests are never passed to an application. </p> <p>If the SIP stack: </p> <ul><li id="GUID-05B62303-9453-5E42-8E2A-6D50A5857312"><p>does not find a matching transaction for a CANCEL request, it automatically generates a '481 response'. </p> </li> <li id="GUID-69DBD19D-1871-57C5-AF95-8858A92BE6C5"><p>finds a matching transaction for a CANCEL request, it automatically generates a '200 response'. </p> </li> <li id="GUID-C806FF70-7EBD-5D06-989E-971E2E7589DD"><p>finds a matching INVITE server transaction that is in the <codeph>Proceeding</codeph> state (that is a final response is not yet sent), it also automatically generates a '487 response' to the INVITE transaction. </p> </li> </ul> <p>After these actions are complete, the SIP stack informs the application by calling the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-500F0C1D-6FCF-32DB-B9CC-4F7CEC1A9053"><apiname>MSIPConnectionObserver::InviteCanceled()</apiname></xref> callback function. </p> </section> <section id="GUID-CB27D3C3-D28B-5081-B201-8C10DE60CF25"><title>Sending a SIP request and responding to a HTTP Digest challenge</title> <p>A SIP server in the signalling chain challenges any SIP request initiated by the application with an HTTP Digest challenge by responding with a '401 SIP response', '407 SIP response' or a '494 SIP response'. The responses contain details of the challenge. These responses are never passed directly to the application. Instead, they are passed to the application through a call to the callback function <xref href="GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF.dita#GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF/GUID-D12ED59B-FF9F-3AAD-9740-1108B1091421"><apiname>MSIPHttpDigestChallengeObserver::ChallengeReceived()</apiname></xref>. </p> <p>To enable an application to respond to a challenge, it must: </p> <ul><li id="GUID-69B100E7-A67F-5F0C-B886-1B0FAE9DBEB4"><p>create a <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> object </p> </li> <li id="GUID-A58199C3-57A0-536F-8EC2-76A29F3003DA"><p>provide an implementation of the callback function <xref href="GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF.dita#GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF/GUID-D12ED59B-FF9F-3AAD-9740-1108B1091421"><apiname>MSIPHttpDigestChallengeObserver::ChallengeReceived()</apiname></xref> . </p> </li> </ul> <p>The application can either accept or reject the challenge: </p> <ul><li id="GUID-8EFD6F96-73E8-594E-9971-95DB3DA5B5ED"><p>If it accepts the challenge, the callback function must call <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita#GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D/GUID-FBDFE260-789F-3FB1-9884-D958B82E3734"><apiname>CSIPHttpDigest::SetCredentialsL()</apiname></xref>, specifying the username, password, and the realm passed to the callback function. </p> <p>Then, SIP stack re-sends the original SIP request with the HTTP Digest response. </p> </li> <li id="GUID-C1A1BCCC-7E0C-5B4F-A0D9-EDC52F081D59"><p>If it rejects the challenge, the callback function must call <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita#GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D/GUID-2F3A2A6D-B825-30A5-A133-EEBBFCD3F52B"><apiname>CSIPHttpDigest::IgnoreChallenge()</apiname></xref>, specifying the realm passed to the callback function. </p> <p>Then, SIP stack calls the callback function <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref>, by passing the error code <xref href="GUID-FF8BB656-99F5-369E-A6CE-56684D329AD5.dita"><apiname>KErrSIPForbidden</apiname></xref>. </p> </li> </ul> <p>If an application does not want to receive the HTTP Digest challenge then it must not create a <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> object. In this event, the SIP stack calls the callback function <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref>, passing the error code <xref href="GUID-FF8BB656-99F5-369E-A6CE-56684D329AD5.dita"><apiname>KErrSIPForbidden</apiname></xref>. </p> <p> <b>Note:</b>  </p> <ul><li id="GUID-A028B39A-292E-5556-B4A0-AF801F6131F3"><p>If an application uses the SIP Profile Agent for SIP registration, the SIP Profile Agent handles the HTTP Digest challenges related to the registration procedure according to the SIP profile information. </p> </li> <li id="GUID-19A777A8-E8D0-54F4-A59E-53550B6A802C"><p>The SIP stack maintains a HTTP Digest cache which stores username and password pairs for realms. If the username and password have been configured for a proxy, or if the application has already provided them after being asked through a <xref href="GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF.dita#GUID-FA0A893D-E3E3-33F8-9C63-B2A6A2A053EF/GUID-D12ED59B-FF9F-3AAD-9740-1108B1091421"><apiname>MSIPHttpDigestChallengeObserver::ChallengeReceived()</apiname></xref> call, then the SIP stack uses them to answer subsequent challenges for a matching realm automatically. </p> <p>For example, if the application uses a SIP Profile whose proxy is configured with HTTP Digest passwords and then sends an INVITE, it does not need to provide the passwords for the proxy as the SIP stack gets it from the HTTP Digest cache. </p> </li> </ul> </section> <section id="GUID-B882D001-CDE9-579F-8DDE-C087D8707C2E"><title>Notification of a failed refresh</title> <p>The following example shows how an application is notified when a refresh request within a dialog terminates after an error occurs. In this example the application sends a SUBSCRIBE request with refresh, and receives a <codeph>2xx</codeph> class response. The SIP stack periodically sends a refreshed SUBSCRIBE message. After successfully refreshed SUBSCRIBE requests, the remote server responds with a '481 response', and the application receives the following callback: </p> <codeblock id="GUID-A7F94C80-1224-5A70-B757-98FFAAD92B3B" xml:space="preserve">MSIPConnectionObserver::ErrorOccured(TInt aError, CSIPDialogAssocBase&amp; aDialogAssoc)</codeblock> <p>If the value of <codeph>aError</codeph> is <xref href="GUID-D711A918-6BCE-3A6A-988C-1B1917CD19A6.dita"><apiname>KErrSIPTerminatedWithResponse</apiname></xref>, then the actual SIP response causing the refresh to end can be found as follows: </p> <ul><li id="GUID-76291322-B9F0-55D3-A019-73A9040F2652"><p>Check that <codeph>aDialogAssoc.Type()</codeph> returns <codeph>"SUBSCRIBE"</codeph>. </p> </li> <li id="GUID-52B18DCF-2308-52A9-AB13-5920042C2E5D"><p>Call the function with the following signature to get the refresh instance (<xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object): </p> <codeblock id="GUID-F0E7DFDA-506F-5377-9F87-CE9775436133" xml:space="preserve">const CSIPRefresh* CSIPSubscribeDialogAssoc::SIPRefresh() const</codeblock> </li> <li id="GUID-6AB4677A-19F9-5CD3-8DAB-E1A242A98D54"><p>Use the <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita"><apiname>CSIPRefresh</apiname></xref> object to get the associated transaction by calling the following function: </p> <codeblock id="GUID-D4889AC1-1281-5367-B19B-2136AE9DA707" xml:space="preserve">const CSIPClientTransaction* CSIPRefresh::SIPTransaction() const</codeblock> <p> <b>Note:</b> The returned <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> object is not similar to the one returned from the call to <codeph>SendSubscribeL(),</codeph> that the application originally used to send the SUBSCRIBE request. </p> </li> <li id="GUID-D1B61B14-7B99-59EA-9FDD-5ECEB839C4DA"><p>Call the following function to get the SIP response: </p> <codeblock id="GUID-04849100-2F81-5B03-9B1A-2797AF7F96DD" xml:space="preserve">const CSIPResponseElements* CSIPClientTransaction::ResponseElements() const</codeblock> </li> </ul> </section> <section id="GUID-DDD7FDBD-FBC9-5111-BE71-A71E6CCEFB2A"><title>Error handling</title> <p>Errors are passed to an application by calling the callback functions or by leaving. For more information, see <xref href="GUID-E5A83EF3-948B-5729-A2CD-3644E803520B.dita">Cleanup support overview</xref>. If an error occurs during the synchronous part of an operation is initiated by the application, functions leave with an error code. If an error occurs during the asynchronous processing stage, the error is passed to the application through one of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-E4E56635-42BB-351A-8356-DB12B5BE24CC"><apiname>MSIPConnectionObserver::ErrorOccured()</apiname></xref> callback functions. </p> <p>There are several overloaded variants of <codeph>ErrorOccured()</codeph> functions. Each of them takes the error code and reference to the SIP Client API object that encountered the error: </p> <ul><li id="GUID-2734ECF0-1751-5AB8-BFE3-425965D01CF0"><p>A call to the variants of <codeph>ErrorOccured()</codeph> taking a <xref href="GUID-93256B64-49C9-37F1-9A4E-72C521759749.dita"><apiname>CSIPTransactionBase</apiname></xref> or <xref href="GUID-059F9C3A-EA04-3295-912F-50444F073CE7.dita"><apiname>CSIPClientTransaction</apiname></xref> parameter means that transaction has entered the state <xref href="GUID-8E445232-29A0-3EED-94C3-43BFDD328358.dita#GUID-8E445232-29A0-3EED-94C3-43BFDD328358/GUID-288F503D-3EEA-3B4B-8D31-B58E3777F875"><apiname>CTransactionBase::ETerminated</apiname></xref>. </p> </li> <li id="GUID-C45D4A2D-F175-542B-92BF-211E1673F3F1"><p>A call to the variant of <codeph>ErrorOccured()</codeph> taking a <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> parameter means that the registration context is no longer active, that is <codeph>CSIPRegistrationBinding::IsContextActive() == EFalse</codeph>. </p> <p>If the registration was being refreshed, then the refresh has also ended and its state is <xref href="GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3.dita#GUID-3C166C85-6E17-323B-9CD3-B3E2836DC1C3/GUID-EFEDCA93-E338-32A1-B005-8BA316B3C172"><apiname>CSIPRefresh::ETerminated</apiname></xref>. </p> </li> </ul> <p>If the callback function <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-27DE00DC-5572-3B55-B92B-5325794EE663"><apiname>MSIPConnectionObserver::ConnectionStateChanged()</apiname></xref> is called and the <codeph>aState</codeph> parameter is either <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-68DD22DC-67E4-387B-BBE9-B9B96D9C9016"><apiname>CSIPConnection::EInactive</apiname></xref> or <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-5963A947-BD5C-3B34-9D10-2CB5DC413774"><apiname>CSIPConnection::EUnavailable</apiname></xref>, then all dialogs, registrations, and standalone transactions using the <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> are terminated. </p> <p>To avoid an overload of callback calls in this type of situation, calls to <codeph>ErrorOccured()</codeph> for the individual dialog, registration and transaction objects are not sent to the application. </p> <p>When the connection state changes, the <codeph>MSIPConnectionObserver::ConnectionStateChanged()</codeph> callback function does not provide a reason. Call <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-B9D5319D-D569-3D4A-AF73-66F057ACF88D"><apiname>CSIPConnection::GetConnectionError()</apiname></xref> to get details about the connection error that caused the change. </p> </section> <section id="GUID-0FC8038A-64AE-5E98-A9F9-ADBC6F05DF2B"><title>Refreshing a Connection</title> <p>To refresh a connection, do the following steps: </p> <ol id="GUID-368431B7-E9FB-56E7-A45F-01B686DBECAA"><li id="GUID-97E972C7-E839-5942-A487-48A9FD1EEC0E"><p>Start the connection on the desired IAP. </p> </li> <li id="GUID-35157131-E6EA-5EB2-8773-33832C45F46E"><p>Monitor the status of the connection using the <xref href="GUID-64C272AA-5727-3AB9-A131-68303E5A75D6.dita#GUID-64C272AA-5727-3AB9-A131-68303E5A75D6/GUID-7984D221-06F6-3F4B-B373-11C96D0A17F3"><apiname>MSIPConnectionObserver::ConnectionStateChanged(CSIPConnection::TState
+                aState)</apiname></xref> function. </p> </li> <li id="GUID-85CDAB12-933A-5748-B2B8-33971F58B7B4"><p>If the connection is inactive, notify the <codeph>EInactive</codeph> state to the application through <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-27DE00DC-5572-3B55-B92B-5325794EE663"><apiname>MSIPConnectionObserver::ConnectionStateChanged()</apiname></xref> function that is, if <xref href="GUID-8239C16D-74EC-3B97-ADB0-B6AE57D30C89.dita#GUID-8239C16D-74EC-3B97-ADB0-B6AE57D30C89/GUID-3380638E-B5BA-3C88-82CB-9E52385F6A38"><apiname>(CSIPConnection::TState == EInactive)</apiname></xref>, then send a <xref href="GUID-7FBF47FB-7D1F-3F20-BBCA-A195BB540D67.dita"><apiname>RefreshConnection()</apiname></xref> function to make it active. </p> <p> <b>Note:</b> This requires a bearer monitor on that IAP to which a refresh request is sent. </p> </li> <li id="GUID-49A770C0-0992-5D27-B8A6-4D68E4B90E09"><p>Any changes to the state of the connection is notified through <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita#GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4/GUID-27DE00DC-5572-3B55-B92B-5325794EE663"><apiname>MSIPConnectionObserver::ConnectionStateChanged()</apiname></xref>. </p> </li> </ol> <p>The following sequence diagram shows how a client refreshes a connection. </p> <fig id="GUID-B3D9E694-31F8-59AA-A722-BE6F9C0D5E89"><image href="GUID-A50BBBE2-2E23-5AEE-BF53-9EF54FD7F00E_d0e555915_href.jpg" placement="inline"/></fig> <p>The following example code describes how to refresh a connection. </p> <codeblock id="GUID-B14ADDEF-1E3C-5B21-8426-4D0FE65FBC28" xml:space="preserve">// It is assumed that the connection is started and is in an Inactive state that is, 
 // (CSIPConnection::TState == EInactive)
 
 // Refresh the IAP ID of the connection by sending a Refresh Request to the Bearer monitor of the IAP
--- a/Symbian3/PDK/Source/GUID-B1254526-3C72-59E7-88C0-667FC051379F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B1254526-3C72-59E7-88C0-667FC051379F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B1254526-3C72-59E7-88C0-667FC051379F"><title>Extended SMS Converter</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Extended SMS Converter uses the lossy mechanism to extend the alphabet of the standard converter. It maps a wider set of input character codes, including commonly-used Eastern European Unicode characters, to the standard 7-bit alphabet. This section describes the Extended SMS Converter and the alphabet it supports. </p> <section><title>Introduction</title> <p>Languages supported by this converter include Croatian, Czech, Estonian, Hungarian, Icelandic, Latvian, Lithuanian, Polish, Romanian, Serbian, Slovak, Slovenian, Turkish, Portuguese and Spanish. This converter is identified by the <codeph>KCharacterSetIdentifierExtendedSms7Bit</codeph> UID, which is defined in the <filepath>charconv.h</filepath> file. </p> <p>Any undefined Unicode is converted to a question mark (?)–GSM code <codeph>0x37</codeph>. Any code outside GSM <codeph>0x00</codeph> ~<codeph>0x7F</codeph> is converted to the Unicode replacement character <codeph>0xFFFD</codeph>. </p> </section> <section><title>Alphabet</title> <p>The highlighted boxes in Figure 1 illustrate the alphabet of the extended SMS converter: </p> <ul><li id="GUID-8FA8C1B0-6D40-5081-8D55-6EC36A42E7EB"><p>GSM 7-bit default alphabet </p> </li> <li id="GUID-2AA234D6-0592-5AEE-93B2-2CE9833E7AED"><p>GSM 7-bit default alphabet extension table </p> </li> <li id="GUID-189BB933-8DAC-5B20-B57B-90D4864FE362"><p>Extra lossy conversions–exclude 9 characters listed in Table 2 </p> </li> <li id="GUID-EEC2BFAC-81D4-5588-B56A-9A7509CEAD26"><p>Extended lossy conversions–shown as Lossy Characters 2 in Figure 1. </p> </li> </ul> <p>Figure 1 </p> <fig id="GUID-B2B055C3-132F-50D2-A071-AAF782E052E5"><image href="GUID-7A6342C7-DED3-5BE0-AB1C-F2C7BC57D1D2_d0e661760_href.png" placement="inline"/></fig> <p>Table 1 lists the extra lossy conversions supported by this converter in addition to those supported by the standard converter. </p> <p>Table 1 </p> <table id="GUID-5CDD01C1-99D0-502A-A4E3-7C9514289424"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Character</b>  </p> </entry> <entry><p> <b>Unicode</b>  </p> </entry> <entry><p> <b>GSM</b>  </p> </entry> <entry><p> <b>Converted Character</b>  </p> </entry> </row> <row><entry><p>Ώ GREEK CAPITAL LETTER OMEGA WITH TONOS </p> </entry> <entry><p>U+038F </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>(NO-BREAK SPACE) </p> </entry> <entry><p>U+00A0 </p> </entry> <entry><p>0x20 </p> </entry> <entry><p>(SPACE) </p> </entry> </row> <row><entry><p>« LEFT-POINTING DOUBLE ANGLE QUOTATION MARK * </p> </entry> <entry><p>U+00AB </p> </entry> <entry><p>0x22 </p> </entry> <entry><p>" QUOTATION MARK </p> </entry> </row> <row><entry><p>» RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK * </p> </entry> <entry><p>U+00BB </p> </entry> <entry><p>0x22 </p> </entry> <entry><p>" QUOTATION MARK </p> </entry> </row> <row><entry><p>` GRAVE ACCENT </p> </entry> <entry><p>U+0060 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>´ ACUTE ACCENT </p> </entry> <entry><p>U+00B4 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>΄ GREEK TONOS </p> </entry> <entry><p>U+0384 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>΅ GREEK DIALYTIKA TONOS </p> </entry> <entry><p>U+0385 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>× MULTIPLICATION SIGN </p> </entry> <entry><p>U+00D7 </p> </entry> <entry><p>0x2A </p> </entry> <entry><p>* ASTERISK </p> </entry> </row> <row><entry><p>¸ CEDILLA </p> </entry> <entry><p>U+00B8 </p> </entry> <entry><p>0x2C </p> </entry> <entry><p>, COMMA </p> </entry> </row> <row><entry><p>SOFT HYPHEN </p> </entry> <entry><p>U+00AD </p> </entry> <entry><p>0x2D </p> </entry> <entry><p>- HYPHEN-MINUS </p> </entry> </row> <row><entry><p>· MIDDLE DOT </p> </entry> <entry><p>U+00B7 </p> </entry> <entry><p>0x2E </p> </entry> <entry><p>. FULL STOP </p> </entry> </row> <row><entry><p>÷ DIVISION SIGN </p> </entry> <entry><p>U+00F7 </p> </entry> <entry><p>0x2F </p> </entry> <entry><p>/ SOLIDUS </p> </entry> </row> <row><entry><p>¹ SUPERSCRIPT ONE </p> </entry> <entry><p>U+00B9 </p> </entry> <entry><p>0x31 </p> </entry> <entry><p>1 DIGIT ONE </p> </entry> </row> <row><entry><p>² SUPERSCRIPT TWO </p> </entry> <entry><p>U+00B2 </p> </entry> <entry><p>0x32 </p> </entry> <entry><p>2 DIGIT TWO </p> </entry> </row> <row><entry><p>³ SUPERSCRIPT THREE </p> </entry> <entry><p>U+00B3 </p> </entry> <entry><p>0x33 </p> </entry> <entry><p>3 DIGIT THREE </p> </entry> </row> <row><entry><p>; GREEK QUESTION MARK (Erotimatiko) </p> </entry> <entry><p>U+037E </p> </entry> <entry><p>0x3B </p> </entry> <entry><p>; SEMICOLON </p> </entry> </row> <row><entry><p>Ā LATIN CAPITAL LETTER A WITH MACRON </p> </entry> <entry><p>U+0100 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ă LATIN CAPITAL LETTER A WITH BREVE </p> </entry> <entry><p>U+0102 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ą LATIN CAPITAL LETTER A WITH OGONEK </p> </entry> <entry><p>U+0104 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ć LATIN CAPITAL LETTER C WITH ACUTE </p> </entry> <entry><p>U+0106 </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX </p> </entry> <entry><p>U+0108 </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE </p> </entry> <entry><p>U+010A </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Č LATIN CAPITAL LETTER C WITH CARON </p> </entry> <entry><p>U+010C </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Ð LATIN CAPITAL LETTER ETH (Icelandic) </p> </entry> <entry><p>U+00D0 </p> </entry> <entry><p>0x44 </p> </entry> <entry><p>D LATIN CAPITAL LETTER D </p> </entry> </row> <row><entry><p>Ď LATIN CAPITAL LETTER D WITH CARON </p> </entry> <entry><p>U+010E </p> </entry> <entry><p>0x44 </p> </entry> <entry><p>D LATIN CAPITAL LETTER D </p> </entry> </row> <row><entry><p>Đ LATIN CAPITAL LETTER D WITH STROKE </p> </entry> <entry><p>U+0110 </p> </entry> <entry><p>0x44 </p> </entry> <entry><p>D LATIN CAPITAL LETTER D </p> </entry> </row> <row><entry><p>Ē LATIN CAPITAL LETTER E WITH MACRON </p> </entry> <entry><p>U+0112 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ĕ LATIN CAPITAL LETTER E WITH BREVE </p> </entry> <entry><p>U+0114 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ė LATIN CAPITAL LETTER E WITH DOT ABOVE </p> </entry> <entry><p>U+0116 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ę LATIN CAPITAL LETTER E WITH OGONEK </p> </entry> <entry><p>U+0118 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ě LATIN CAPITAL LETTER E WITH CARON </p> </entry> <entry><p>U+011A </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX </p> </entry> <entry><p>U+011C </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ğ LATIN CAPITAL LETTER G WITH BREVE </p> </entry> <entry><p>U+011E </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ġ LATIN CAPITAL LETTER G WITH DOT ABOVE </p> </entry> <entry><p>U+0120 </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ģ LATIN CAPITAL LETTER G WITH CEDILLA </p> </entry> <entry><p>U+0122 </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX </p> </entry> <entry><p>U+0124 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Ħ LATIN CAPITAL LETTER H WITH STROKE </p> </entry> <entry><p>U+0126 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Ĩ LATIN CAPITAL LETTER I WITH TILDE </p> </entry> <entry><p>U+0128 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ī LATIN CAPITAL LETTER I WITH MACRON </p> </entry> <entry><p>U+012A </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ĭ LATIN CAPITAL LETTER I WITH BREVE </p> </entry> <entry><p>U+012C </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Į LATIN CAPITAL LETTER I WITH OGONEK </p> </entry> <entry><p>U+012E </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>İ LATIN CAPITAL LETTER I WITH DOT ABOVE </p> </entry> <entry><p>U+0130 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX </p> </entry> <entry><p>U+0134 </p> </entry> <entry><p>0x4A </p> </entry> <entry><p>J LATIN CAPITAL LETTER J </p> </entry> </row> <row><entry><p>Ķ LATIN CAPITAL LETTER K WITH CEDILLA </p> </entry> <entry><p>U+0136 </p> </entry> <entry><p>0x4B </p> </entry> <entry><p>K LATIN CAPITAL LETTER K </p> </entry> </row> <row><entry><p>Ĺ LATIN CAPITAL LETTER L WITH ACUTE </p> </entry> <entry><p>U+0139 </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ļ LATIN CAPITAL LETTER L WITH CEDILLA </p> </entry> <entry><p>U+013B </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ľ LATIN CAPITAL LETTER L WITH CARON </p> </entry> <entry><p>U+013D </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ŀ LATIN CAPITAL LETTER L WITH MIDDLE DOT </p> </entry> <entry><p>U+013F </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ł LATIN CAPITAL LETTER L WITH STROKE </p> </entry> <entry><p>U+0141 </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ń LATIN CAPITAL LETTER N WITH ACUTE </p> </entry> <entry><p>U+0143 </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ņ LATIN CAPITAL LETTER N WITH CEDILLA </p> </entry> <entry><p>U+0145 </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ň LATIN CAPITAL LETTER N WITH CARON </p> </entry> <entry><p>U+0147 </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ŋ LATIN CAPITAL LETTER ENG (Sami) </p> </entry> <entry><p>U+014A </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ō LATIN CAPITAL LETTER O WITH MACRON </p> </entry> <entry><p>U+014C </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ŏ LATIN CAPITAL LETTER O WITH BREVE </p> </entry> <entry><p>U+014E </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Œ LATIN CAPITAL LIGATURE OE </p> </entry> <entry><p>U+0152 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ŕ LATIN CAPITAL LETTER R WITH ACUTE </p> </entry> <entry><p>U+0154 </p> </entry> <entry><p>0x52 </p> </entry> <entry><p>R LATIN CAPITAL LETTER R </p> </entry> </row> <row><entry><p>Ŗ LATIN CAPITAL LETTER R WITH CEDILLA </p> </entry> <entry><p>U+0156 </p> </entry> <entry><p>0x52 </p> </entry> <entry><p>R LATIN CAPITAL LETTER R </p> </entry> </row> <row><entry><p>Ř LATIN CAPITAL LETTER R WITH CARON </p> </entry> <entry><p>U+0158 </p> </entry> <entry><p>0x52 </p> </entry> <entry><p>R LATIN CAPITAL LETTER R </p> </entry> </row> <row><entry><p>Ś LATIN CAPITAL LETTER S WITH ACUTE </p> </entry> <entry><p>U+015A </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX </p> </entry> <entry><p>U+015C </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Ş LATIN CAPITAL LETTER S WITH CEDILLA * </p> </entry> <entry><p>U+015E </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Š LATIN CAPITAL LETTER S WITH CARON </p> </entry> <entry><p>U+0160 </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Þ LATIN CAPITAL LETTER THORN (Icelandic) </p> </entry> <entry><p>U+00DE </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ţ LATIN CAPITAL LETTER T WITH CEDILLA * </p> </entry> <entry><p>U+0162 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ť LATIN CAPITAL LETTER T WITH CARON </p> </entry> <entry><p>U+0164 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ŧ LATIN CAPITAL LETTER T WITH STROKE </p> </entry> <entry><p>U+0166 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ũ LATIN CAPITAL LETTER U WITH TILDE </p> </entry> <entry><p>U+0168 </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ū LATIN CAPITAL LETTER U WITH MACRON </p> </entry> <entry><p>U+016A </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ŭ LATIN CAPITAL LETTER U WITH BREVE </p> </entry> <entry><p>U+016C </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ů LATIN CAPITAL LETTER U WITH RING ABOVE </p> </entry> <entry><p>U+016E </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ų LATIN CAPITAL LETTER U WITH OGONEK </p> </entry> <entry><p>U+0172 </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ŵ LATIN CAPITAL LETTER W WITH CIRCUMFLEX </p> </entry> <entry><p>U+0174 </p> </entry> <entry><p>0x57 </p> </entry> <entry><p>W LATIN CAPITAL LETTER W </p> </entry> </row> <row><entry><p>Ŷ LATIN CAPITAL LETTER Y WITH CIRCUMFLEX </p> </entry> <entry><p>U+0176 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS </p> </entry> <entry><p>U+0178 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ź LATIN CAPITAL LETTER Z WITH ACUTE </p> </entry> <entry><p>U+0179 </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE </p> </entry> <entry><p>U+017B </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>Ž LATIN CAPITAL LETTER Z WITH CARON </p> </entry> <entry><p>U+017D </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>Ö LATIN CAPITAL LETTER O WITH DIAERESIS </p> </entry> <entry><p>U+00D6 </p> </entry> <entry><p>0x5C </p> </entry> <entry><p>Ö LATIN CAPITAL LETTER O WITH DIAERESIS </p> </entry> </row> <row><entry><p>Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0150 </p> </entry> <entry><p>0x5C </p> </entry> <entry><p>Ö LATIN CAPITAL LETTER O WITH DIAERESIS </p> </entry> </row> <row><entry><p>Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0170 </p> </entry> <entry><p>0x5E </p> </entry> <entry><p>Ü LATIN CAPITAL LETTER U WITH DIAERESIS </p> </entry> </row> <row><entry><p>ā LATIN SMALL LETTER A WITH MACRON </p> </entry> <entry><p>U+0101 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ă LATIN SMALL LETTER A WITH BREVE </p> </entry> <entry><p>U+0103 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ą LATIN SMALL LETTER A WITH OGONEK </p> </entry> <entry><p>U+0105 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ª FEMININE ORDINAL INDICATOR </p> </entry> <entry><p>U+00AA </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ć LATIN SMALL LETTER C WITH ACUTE </p> </entry> <entry><p>U+0107 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX </p> </entry> <entry><p>U+0109 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>ċ LATIN SMALL LETTER C WITH DOT ABOVE </p> </entry> <entry><p>U+010B </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>č LATIN SMALL LETTER C WITH CARON </p> </entry> <entry><p>U+010D </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>¢ CENT SIGN </p> </entry> <entry><p>U+00A2 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>© COPYRIGHT SIGN </p> </entry> <entry><p>U+00A9 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>ð LATIN SMALL LETTER ETH (Icelandic) </p> </entry> <entry><p>U+00F0 </p> </entry> <entry><p>0x64 </p> </entry> <entry><p>d LATIN SMALL LETTER D </p> </entry> </row> <row><entry><p>ď LATIN SMALL LETTER D WITH CARON </p> </entry> <entry><p>U+010F </p> </entry> <entry><p>0x64 </p> </entry> <entry><p>d LATIN SMALL LETTER D </p> </entry> </row> <row><entry><p>đ LATIN SMALL LETTER D WITH STROKE </p> </entry> <entry><p>U+0111 </p> </entry> <entry><p>0x64 </p> </entry> <entry><p>d LATIN SMALL LETTER D </p> </entry> </row> <row><entry><p>ē LATIN SMALL LETTER E WITH MACRON </p> </entry> <entry><p>U+0113 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ĕ LATIN SMALL LETTER E WITH BREVE </p> </entry> <entry><p>U+0115 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ė LATIN SMALL LETTER E WITH DOT ABOVE </p> </entry> <entry><p>U+0117 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ę LATIN SMALL LETTER E WITH OGONEK </p> </entry> <entry><p>U+0119 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ě LATIN SMALL LETTER E WITH CARON </p> </entry> <entry><p>U+011B </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX </p> </entry> <entry><p>U+011D </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ğ LATIN SMALL LETTER G WITH BREVE </p> </entry> <entry><p>U+011F </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ġ LATIN SMALL LETTER G WITH DOT ABOVE </p> </entry> <entry><p>U+0121 </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ģ LATIN SMALL LETTER G WITH CEDILLA </p> </entry> <entry><p>U+0123 </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX </p> </entry> <entry><p>U+0125 </p> </entry> <entry><p>0x68 </p> </entry> <entry><p>h LATIN SMALL LETTER H </p> </entry> </row> <row><entry><p>ħ LATIN SMALL LETTER H WITH STROKE </p> </entry> <entry><p>U+0127 </p> </entry> <entry><p>0x68 </p> </entry> <entry><p>h LATIN SMALL LETTER H </p> </entry> </row> <row><entry><p>ĩ LATIN SMALL LETTER I WITH TILDE </p> </entry> <entry><p>U+0129 </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ī LATIN SMALL LETTER I WITH MACRON </p> </entry> <entry><p>U+012B </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ĭ LATIN SMALL LETTER I WITH BREVE </p> </entry> <entry><p>U+012D </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>į LATIN SMALL LETTER I WITH OGONEK </p> </entry> <entry><p>U+012F </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ı LATIN SMALL LETTER DOTLESS I </p> </entry> <entry><p>U+0131 </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX </p> </entry> <entry><p>U+0135 </p> </entry> <entry><p>0x6A </p> </entry> <entry><p>j LATIN SMALL LETTER J </p> </entry> </row> <row><entry><p>ķ LATIN SMALL LETTER K WITH CEDILLA </p> </entry> <entry><p>U+0137 </p> </entry> <entry><p>0x6B </p> </entry> <entry><p>k LATIN SMALL LETTER K </p> </entry> </row> <row><entry><p>ĸ LATIN SMALL LETTER KRA (Greenlandic) </p> </entry> <entry><p>U+0138 </p> </entry> <entry><p>0x6B </p> </entry> <entry><p>k LATIN SMALL LETTER K </p> </entry> </row> <row><entry><p>ĺ LATIN SMALL LETTER L WITH ACUTE </p> </entry> <entry><p>U+013A </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ļ LATIN SMALL LETTER L WITH CEDILLA </p> </entry> <entry><p>U+013C </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ľ LATIN SMALL LETTER L WITH CARON </p> </entry> <entry><p>U+013E </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ŀ LATIN SMALL LETTER L WITH MIDDLE DOT </p> </entry> <entry><p>U+0140 </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ł LATIN SMALL LETTER L WITH STROKE </p> </entry> <entry><p>U+0142 </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ń LATIN SMALL LETTER N WITH ACUTE </p> </entry> <entry><p>U+0144 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ņ LATIN SMALL LETTER N WITH CEDILLA </p> </entry> <entry><p>U+0146 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ň LATIN SMALL LETTER N WITH CARON </p> </entry> <entry><p>U+0148 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ʼn LATIN SMALL LETTER N PRECEDED BY APOSTROPHE </p> </entry> <entry><p>U+0149 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p> ŋ LATIN SMALL LETTER ENG (Sami) </p> </entry> <entry><p>U+014B </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ō LATIN SMALL LETTER O WITH MACRON </p> </entry> <entry><p>U+014D </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ŏ LATIN SMALL LETTER O WITH BREVE </p> </entry> <entry><p>U+014F </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>° DEGREE SIGN </p> </entry> <entry><p>U+00B0 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>º MASCULINE ORDINAL INDICATOR </p> </entry> <entry><p>U+00BA </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>œ LATIN SMALL LIGATURE OE </p> </entry> <entry><p>U+0153 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ŕ LATIN SMALL LETTER R WITH ACUTE </p> </entry> <entry><p>U+0155 </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>ŗ LATIN SMALL LETTER R WITH CEDILLA </p> </entry> <entry><p>U+0157 </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>ř LATIN SMALL LETTER R WITH CARON </p> </entry> <entry><p>U+0159 </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>® REGISTERED SIGN </p> </entry> <entry><p>U+00AE </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>ś LATIN SMALL LETTER S WITH ACUTE </p> </entry> <entry><p>U+015B </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX </p> </entry> <entry><p>U+015D </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>ş LATIN SMALL LETTER S WITH CEDILLA * </p> </entry> <entry><p>U+015F </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>š LATIN SMALL LETTER S WITH CARON </p> </entry> <entry><p>U+0161 </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>þ LATIN SMALL LETTER THORN (Icelandic) </p> </entry> <entry><p>U+00FE </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ţ LATIN SMALL LETTER T WITH CEDILLA * </p> </entry> <entry><p>U+0163 </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ť LATIN SMALL LETTER T WITH CARON </p> </entry> <entry><p>U+0165 </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ŧ LATIN SMALL LETTER T WITH STROKE </p> </entry> <entry><p>U+0167 </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ũ LATIN SMALL LETTER U WITH TILDE </p> </entry> <entry><p>U+0169 </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ū LATIN SMALL LETTER U WITH MACRON </p> </entry> <entry><p>U+016B </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ŭ LATIN SMALL LETTER U WITH BREVE </p> </entry> <entry><p>U+016D </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ů LATIN SMALL LETTER U WITH RING ABOVE </p> </entry> <entry><p>U+016F </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ų LATIN SMALL LETTER U WITH OGONEK </p> </entry> <entry><p>U+0173 </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>µ MICRO SIGN </p> </entry> <entry><p>U+00B5 </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ŵ LATIN SMALL LETTER W WITH CIRCUMFLEX </p> </entry> <entry><p>U+0175 </p> </entry> <entry><p>0x77 </p> </entry> <entry><p>w LATIN SMALL LETTER W </p> </entry> </row> <row><entry><p>ŷ LATIN SMALL LETTER Y WITH CIRCUMFLEX </p> </entry> <entry><p>U+0177 </p> </entry> <entry><p>0x79 </p> </entry> <entry><p>y LATIN SMALL LETTER Y </p> </entry> </row> <row><entry><p>ź LATIN SMALL LETTER Z WITH ACUTE </p> </entry> <entry><p>U+017A </p> </entry> <entry><p>0x7A </p> </entry> <entry><p>z LATIN SMALL LETTER Z </p> </entry> </row> <row><entry><p> ż LATIN SMALL LETTER Z WITH DOT ABOVE </p> </entry> <entry><p>U+017C </p> </entry> <entry><p>0x7A </p> </entry> <entry><p>z LATIN SMALL LETTER Z </p> </entry> </row> <row><entry><p>ž LATIN SMALL LETTER Z WITH CARON </p> </entry> <entry><p>U+017E </p> </entry> <entry><p>0x7A </p> </entry> <entry><p>z LATIN SMALL LETTER Z </p> </entry> </row> <row><entry><p>ő LATIN SMALL LETTER O WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0151 </p> </entry> <entry><p>0x7C </p> </entry> <entry><p>ö LATIN SMALL LETTER O WITH DIAERESIS </p> </entry> </row> <row><entry><p>ű LATIN SMALL LETTER U WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0171 </p> </entry> <entry><p>0x7E </p> </entry> <entry><p>ü LATIN SMALL LETTER U WITH DIAERESIS </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 2 lists the 9 characters in Lossy Character 1 supported by Standard SMS Converter but not by Extended SMS Converter. </p> <p>Table 2 </p> <table id="GUID-B6A56A5A-12EB-5AA0-9541-E7916F6509C6"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Character</b>  </p> </entry> <entry><p> <b>Unicode</b>  </p> </entry> <entry><p> <b>GSM</b>  </p> </entry> <entry><p> <b>Converted Character</b>  </p> </entry> </row> <row><entry><p>ϕ GREEK PHI SYMBOL </p> </entry> <entry><p>0x03D5 </p> </entry> <entry><p>0x12 </p> </entry> <entry><p>Φ GREEK CAPITAL LETTER PHI </p> </entry> </row> <row><entry><p>Ω OHM SIGN </p> </entry> <entry><p>0x2126 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>∏ N-ARY PRODUCT </p> </entry> <entry><p>0x220F </p> </entry> <entry><p>0x16 </p> </entry> <entry><p>Π GREEK CAPITAL LETTER PI </p> </entry> </row> <row><entry><p>∑ N-ARY SUMMATION </p> </entry> <entry><p>0x2211 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>ϑ GREEK THETA SYMBOL </p> </entry> <entry><p>0x03D1 </p> </entry> <entry><p>0x19 </p> </entry> <entry><p>Θ GREEK CAPITAL LETTER THETA </p> </entry> </row> <row><entry><p>ϐ GREEK BETA SYMBOL </p> </entry> <entry><p>0x03D0 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>ϒ GREEK UPSILON WITH HOOK SYMBOL </p> </entry> <entry><p>0x03D2 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϓ GREEK UPSILON WITH ACUTE AND HOOK SYMBOL </p> </entry> <entry><p>0x03D3 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϔ GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL </p> </entry> <entry><p>0x03D4 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>See also</title> <p><xref href="GUID-0BC9A9A1-DB99-5095-8390-E1C1B04D0080.dita">SMS Encodings and Converters Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-B1254526-3C72-59E7-88C0-667FC051379F"><title>Extended SMS Converter</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Extended SMS Converter uses the lossy mechanism to extend the alphabet of the standard converter. It maps a wider set of input character codes, including commonly-used Eastern European Unicode characters, to the standard 7-bit alphabet. This section describes the Extended SMS Converter and the alphabet it supports. </p> <section><title>Introduction</title> <p>Languages supported by this converter include Croatian, Czech, Estonian, Hungarian, Icelandic, Latvian, Lithuanian, Polish, Romanian, Serbian, Slovak, Slovenian, Turkish, Portuguese and Spanish. This converter is identified by the <codeph>KCharacterSetIdentifierExtendedSms7Bit</codeph> UID, which is defined in the <filepath>charconv.h</filepath> file. </p> <p>Any undefined Unicode is converted to a question mark (?)–GSM code <codeph>0x37</codeph>. Any code outside GSM <codeph>0x00</codeph> ~<codeph>0x7F</codeph> is converted to the Unicode replacement character <codeph>0xFFFD</codeph>. </p> </section> <section><title>Alphabet</title> <p>The highlighted boxes in Figure 1 illustrate the alphabet of the extended SMS converter: </p> <ul><li id="GUID-8FA8C1B0-6D40-5081-8D55-6EC36A42E7EB"><p>GSM 7-bit default alphabet </p> </li> <li id="GUID-2AA234D6-0592-5AEE-93B2-2CE9833E7AED"><p>GSM 7-bit default alphabet extension table </p> </li> <li id="GUID-189BB933-8DAC-5B20-B57B-90D4864FE362"><p>Extra lossy conversions–exclude 9 characters listed in Table 2 </p> </li> <li id="GUID-EEC2BFAC-81D4-5588-B56A-9A7509CEAD26"><p>Extended lossy conversions–shown as Lossy Characters 2 in Figure 1. </p> </li> </ul> <p>Figure 1 </p> <fig id="GUID-B2B055C3-132F-50D2-A071-AAF782E052E5"><image href="GUID-7A6342C7-DED3-5BE0-AB1C-F2C7BC57D1D2_d0e674587_href.png" placement="inline"/></fig> <p>Table 1 lists the extra lossy conversions supported by this converter in addition to those supported by the standard converter. </p> <p>Table 1 </p> <table id="GUID-5CDD01C1-99D0-502A-A4E3-7C9514289424"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Character</b>  </p> </entry> <entry><p> <b>Unicode</b>  </p> </entry> <entry><p> <b>GSM</b>  </p> </entry> <entry><p> <b>Converted Character</b>  </p> </entry> </row> <row><entry><p>Ώ GREEK CAPITAL LETTER OMEGA WITH TONOS </p> </entry> <entry><p>U+038F </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>(NO-BREAK SPACE) </p> </entry> <entry><p>U+00A0 </p> </entry> <entry><p>0x20 </p> </entry> <entry><p>(SPACE) </p> </entry> </row> <row><entry><p>« LEFT-POINTING DOUBLE ANGLE QUOTATION MARK * </p> </entry> <entry><p>U+00AB </p> </entry> <entry><p>0x22 </p> </entry> <entry><p>" QUOTATION MARK </p> </entry> </row> <row><entry><p>» RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK * </p> </entry> <entry><p>U+00BB </p> </entry> <entry><p>0x22 </p> </entry> <entry><p>" QUOTATION MARK </p> </entry> </row> <row><entry><p>` GRAVE ACCENT </p> </entry> <entry><p>U+0060 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>´ ACUTE ACCENT </p> </entry> <entry><p>U+00B4 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>΄ GREEK TONOS </p> </entry> <entry><p>U+0384 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>΅ GREEK DIALYTIKA TONOS </p> </entry> <entry><p>U+0385 </p> </entry> <entry><p>0x27 </p> </entry> <entry><p>' APOSTROPHE </p> </entry> </row> <row><entry><p>× MULTIPLICATION SIGN </p> </entry> <entry><p>U+00D7 </p> </entry> <entry><p>0x2A </p> </entry> <entry><p>* ASTERISK </p> </entry> </row> <row><entry><p>¸ CEDILLA </p> </entry> <entry><p>U+00B8 </p> </entry> <entry><p>0x2C </p> </entry> <entry><p>, COMMA </p> </entry> </row> <row><entry><p>SOFT HYPHEN </p> </entry> <entry><p>U+00AD </p> </entry> <entry><p>0x2D </p> </entry> <entry><p>- HYPHEN-MINUS </p> </entry> </row> <row><entry><p>· MIDDLE DOT </p> </entry> <entry><p>U+00B7 </p> </entry> <entry><p>0x2E </p> </entry> <entry><p>. FULL STOP </p> </entry> </row> <row><entry><p>÷ DIVISION SIGN </p> </entry> <entry><p>U+00F7 </p> </entry> <entry><p>0x2F </p> </entry> <entry><p>/ SOLIDUS </p> </entry> </row> <row><entry><p>¹ SUPERSCRIPT ONE </p> </entry> <entry><p>U+00B9 </p> </entry> <entry><p>0x31 </p> </entry> <entry><p>1 DIGIT ONE </p> </entry> </row> <row><entry><p>² SUPERSCRIPT TWO </p> </entry> <entry><p>U+00B2 </p> </entry> <entry><p>0x32 </p> </entry> <entry><p>2 DIGIT TWO </p> </entry> </row> <row><entry><p>³ SUPERSCRIPT THREE </p> </entry> <entry><p>U+00B3 </p> </entry> <entry><p>0x33 </p> </entry> <entry><p>3 DIGIT THREE </p> </entry> </row> <row><entry><p>; GREEK QUESTION MARK (Erotimatiko) </p> </entry> <entry><p>U+037E </p> </entry> <entry><p>0x3B </p> </entry> <entry><p>; SEMICOLON </p> </entry> </row> <row><entry><p>Ā LATIN CAPITAL LETTER A WITH MACRON </p> </entry> <entry><p>U+0100 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ă LATIN CAPITAL LETTER A WITH BREVE </p> </entry> <entry><p>U+0102 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ą LATIN CAPITAL LETTER A WITH OGONEK </p> </entry> <entry><p>U+0104 </p> </entry> <entry><p>0x41 </p> </entry> <entry><p>A LATIN CAPITAL LETTER A </p> </entry> </row> <row><entry><p>Ć LATIN CAPITAL LETTER C WITH ACUTE </p> </entry> <entry><p>U+0106 </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX </p> </entry> <entry><p>U+0108 </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE </p> </entry> <entry><p>U+010A </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Č LATIN CAPITAL LETTER C WITH CARON </p> </entry> <entry><p>U+010C </p> </entry> <entry><p>0x43 </p> </entry> <entry><p>C LATIN CAPITAL LETTER C </p> </entry> </row> <row><entry><p>Ð LATIN CAPITAL LETTER ETH (Icelandic) </p> </entry> <entry><p>U+00D0 </p> </entry> <entry><p>0x44 </p> </entry> <entry><p>D LATIN CAPITAL LETTER D </p> </entry> </row> <row><entry><p>Ď LATIN CAPITAL LETTER D WITH CARON </p> </entry> <entry><p>U+010E </p> </entry> <entry><p>0x44 </p> </entry> <entry><p>D LATIN CAPITAL LETTER D </p> </entry> </row> <row><entry><p>Đ LATIN CAPITAL LETTER D WITH STROKE </p> </entry> <entry><p>U+0110 </p> </entry> <entry><p>0x44 </p> </entry> <entry><p>D LATIN CAPITAL LETTER D </p> </entry> </row> <row><entry><p>Ē LATIN CAPITAL LETTER E WITH MACRON </p> </entry> <entry><p>U+0112 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ĕ LATIN CAPITAL LETTER E WITH BREVE </p> </entry> <entry><p>U+0114 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ė LATIN CAPITAL LETTER E WITH DOT ABOVE </p> </entry> <entry><p>U+0116 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ę LATIN CAPITAL LETTER E WITH OGONEK </p> </entry> <entry><p>U+0118 </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ě LATIN CAPITAL LETTER E WITH CARON </p> </entry> <entry><p>U+011A </p> </entry> <entry><p>0x45 </p> </entry> <entry><p>E LATIN CAPITAL LETTER E </p> </entry> </row> <row><entry><p>Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX </p> </entry> <entry><p>U+011C </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ğ LATIN CAPITAL LETTER G WITH BREVE </p> </entry> <entry><p>U+011E </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ġ LATIN CAPITAL LETTER G WITH DOT ABOVE </p> </entry> <entry><p>U+0120 </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ģ LATIN CAPITAL LETTER G WITH CEDILLA </p> </entry> <entry><p>U+0122 </p> </entry> <entry><p>0x47 </p> </entry> <entry><p>G LATIN CAPITAL LETTER G </p> </entry> </row> <row><entry><p>Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX </p> </entry> <entry><p>U+0124 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Ħ LATIN CAPITAL LETTER H WITH STROKE </p> </entry> <entry><p>U+0126 </p> </entry> <entry><p>0x48 </p> </entry> <entry><p>H LATIN CAPITAL LETTER H </p> </entry> </row> <row><entry><p>Ĩ LATIN CAPITAL LETTER I WITH TILDE </p> </entry> <entry><p>U+0128 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ī LATIN CAPITAL LETTER I WITH MACRON </p> </entry> <entry><p>U+012A </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ĭ LATIN CAPITAL LETTER I WITH BREVE </p> </entry> <entry><p>U+012C </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Į LATIN CAPITAL LETTER I WITH OGONEK </p> </entry> <entry><p>U+012E </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>İ LATIN CAPITAL LETTER I WITH DOT ABOVE </p> </entry> <entry><p>U+0130 </p> </entry> <entry><p>0x49 </p> </entry> <entry><p>I LATIN CAPITAL LETTER I </p> </entry> </row> <row><entry><p>Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX </p> </entry> <entry><p>U+0134 </p> </entry> <entry><p>0x4A </p> </entry> <entry><p>J LATIN CAPITAL LETTER J </p> </entry> </row> <row><entry><p>Ķ LATIN CAPITAL LETTER K WITH CEDILLA </p> </entry> <entry><p>U+0136 </p> </entry> <entry><p>0x4B </p> </entry> <entry><p>K LATIN CAPITAL LETTER K </p> </entry> </row> <row><entry><p>Ĺ LATIN CAPITAL LETTER L WITH ACUTE </p> </entry> <entry><p>U+0139 </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ļ LATIN CAPITAL LETTER L WITH CEDILLA </p> </entry> <entry><p>U+013B </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ľ LATIN CAPITAL LETTER L WITH CARON </p> </entry> <entry><p>U+013D </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ŀ LATIN CAPITAL LETTER L WITH MIDDLE DOT </p> </entry> <entry><p>U+013F </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ł LATIN CAPITAL LETTER L WITH STROKE </p> </entry> <entry><p>U+0141 </p> </entry> <entry><p>0x4C </p> </entry> <entry><p>L LATIN CAPITAL LETTER L </p> </entry> </row> <row><entry><p>Ń LATIN CAPITAL LETTER N WITH ACUTE </p> </entry> <entry><p>U+0143 </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ņ LATIN CAPITAL LETTER N WITH CEDILLA </p> </entry> <entry><p>U+0145 </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ň LATIN CAPITAL LETTER N WITH CARON </p> </entry> <entry><p>U+0147 </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ŋ LATIN CAPITAL LETTER ENG (Sami) </p> </entry> <entry><p>U+014A </p> </entry> <entry><p>0x4E </p> </entry> <entry><p>N LATIN CAPITAL LETTER N </p> </entry> </row> <row><entry><p>Ō LATIN CAPITAL LETTER O WITH MACRON </p> </entry> <entry><p>U+014C </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ŏ LATIN CAPITAL LETTER O WITH BREVE </p> </entry> <entry><p>U+014E </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Œ LATIN CAPITAL LIGATURE OE </p> </entry> <entry><p>U+0152 </p> </entry> <entry><p>0x4F </p> </entry> <entry><p>O LATIN CAPITAL LETTER O </p> </entry> </row> <row><entry><p>Ŕ LATIN CAPITAL LETTER R WITH ACUTE </p> </entry> <entry><p>U+0154 </p> </entry> <entry><p>0x52 </p> </entry> <entry><p>R LATIN CAPITAL LETTER R </p> </entry> </row> <row><entry><p>Ŗ LATIN CAPITAL LETTER R WITH CEDILLA </p> </entry> <entry><p>U+0156 </p> </entry> <entry><p>0x52 </p> </entry> <entry><p>R LATIN CAPITAL LETTER R </p> </entry> </row> <row><entry><p>Ř LATIN CAPITAL LETTER R WITH CARON </p> </entry> <entry><p>U+0158 </p> </entry> <entry><p>0x52 </p> </entry> <entry><p>R LATIN CAPITAL LETTER R </p> </entry> </row> <row><entry><p>Ś LATIN CAPITAL LETTER S WITH ACUTE </p> </entry> <entry><p>U+015A </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX </p> </entry> <entry><p>U+015C </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Ş LATIN CAPITAL LETTER S WITH CEDILLA * </p> </entry> <entry><p>U+015E </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Š LATIN CAPITAL LETTER S WITH CARON </p> </entry> <entry><p>U+0160 </p> </entry> <entry><p>0x53 </p> </entry> <entry><p>S LATIN CAPITAL LETTER S </p> </entry> </row> <row><entry><p>Þ LATIN CAPITAL LETTER THORN (Icelandic) </p> </entry> <entry><p>U+00DE </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ţ LATIN CAPITAL LETTER T WITH CEDILLA * </p> </entry> <entry><p>U+0162 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ť LATIN CAPITAL LETTER T WITH CARON </p> </entry> <entry><p>U+0164 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ŧ LATIN CAPITAL LETTER T WITH STROKE </p> </entry> <entry><p>U+0166 </p> </entry> <entry><p>0x54 </p> </entry> <entry><p>T LATIN CAPITAL LETTER T </p> </entry> </row> <row><entry><p>Ũ LATIN CAPITAL LETTER U WITH TILDE </p> </entry> <entry><p>U+0168 </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ū LATIN CAPITAL LETTER U WITH MACRON </p> </entry> <entry><p>U+016A </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ŭ LATIN CAPITAL LETTER U WITH BREVE </p> </entry> <entry><p>U+016C </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ů LATIN CAPITAL LETTER U WITH RING ABOVE </p> </entry> <entry><p>U+016E </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ų LATIN CAPITAL LETTER U WITH OGONEK </p> </entry> <entry><p>U+0172 </p> </entry> <entry><p>0x55 </p> </entry> <entry><p>U LATIN CAPITAL LETTER U </p> </entry> </row> <row><entry><p>Ŵ LATIN CAPITAL LETTER W WITH CIRCUMFLEX </p> </entry> <entry><p>U+0174 </p> </entry> <entry><p>0x57 </p> </entry> <entry><p>W LATIN CAPITAL LETTER W </p> </entry> </row> <row><entry><p>Ŷ LATIN CAPITAL LETTER Y WITH CIRCUMFLEX </p> </entry> <entry><p>U+0176 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS </p> </entry> <entry><p>U+0178 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>Ź LATIN CAPITAL LETTER Z WITH ACUTE </p> </entry> <entry><p>U+0179 </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE </p> </entry> <entry><p>U+017B </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>Ž LATIN CAPITAL LETTER Z WITH CARON </p> </entry> <entry><p>U+017D </p> </entry> <entry><p>0x5A </p> </entry> <entry><p>Z LATIN CAPITAL LETTER Z </p> </entry> </row> <row><entry><p>Ö LATIN CAPITAL LETTER O WITH DIAERESIS </p> </entry> <entry><p>U+00D6 </p> </entry> <entry><p>0x5C </p> </entry> <entry><p>Ö LATIN CAPITAL LETTER O WITH DIAERESIS </p> </entry> </row> <row><entry><p>Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0150 </p> </entry> <entry><p>0x5C </p> </entry> <entry><p>Ö LATIN CAPITAL LETTER O WITH DIAERESIS </p> </entry> </row> <row><entry><p>Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0170 </p> </entry> <entry><p>0x5E </p> </entry> <entry><p>Ü LATIN CAPITAL LETTER U WITH DIAERESIS </p> </entry> </row> <row><entry><p>ā LATIN SMALL LETTER A WITH MACRON </p> </entry> <entry><p>U+0101 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ă LATIN SMALL LETTER A WITH BREVE </p> </entry> <entry><p>U+0103 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ą LATIN SMALL LETTER A WITH OGONEK </p> </entry> <entry><p>U+0105 </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ª FEMININE ORDINAL INDICATOR </p> </entry> <entry><p>U+00AA </p> </entry> <entry><p>0x61 </p> </entry> <entry><p>a LATIN SMALL LETTER A </p> </entry> </row> <row><entry><p>ć LATIN SMALL LETTER C WITH ACUTE </p> </entry> <entry><p>U+0107 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX </p> </entry> <entry><p>U+0109 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>ċ LATIN SMALL LETTER C WITH DOT ABOVE </p> </entry> <entry><p>U+010B </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>č LATIN SMALL LETTER C WITH CARON </p> </entry> <entry><p>U+010D </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>¢ CENT SIGN </p> </entry> <entry><p>U+00A2 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>© COPYRIGHT SIGN </p> </entry> <entry><p>U+00A9 </p> </entry> <entry><p>0x63 </p> </entry> <entry><p>c LATIN SMALL LETTER C </p> </entry> </row> <row><entry><p>ð LATIN SMALL LETTER ETH (Icelandic) </p> </entry> <entry><p>U+00F0 </p> </entry> <entry><p>0x64 </p> </entry> <entry><p>d LATIN SMALL LETTER D </p> </entry> </row> <row><entry><p>ď LATIN SMALL LETTER D WITH CARON </p> </entry> <entry><p>U+010F </p> </entry> <entry><p>0x64 </p> </entry> <entry><p>d LATIN SMALL LETTER D </p> </entry> </row> <row><entry><p>đ LATIN SMALL LETTER D WITH STROKE </p> </entry> <entry><p>U+0111 </p> </entry> <entry><p>0x64 </p> </entry> <entry><p>d LATIN SMALL LETTER D </p> </entry> </row> <row><entry><p>ē LATIN SMALL LETTER E WITH MACRON </p> </entry> <entry><p>U+0113 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ĕ LATIN SMALL LETTER E WITH BREVE </p> </entry> <entry><p>U+0115 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ė LATIN SMALL LETTER E WITH DOT ABOVE </p> </entry> <entry><p>U+0117 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ę LATIN SMALL LETTER E WITH OGONEK </p> </entry> <entry><p>U+0119 </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ě LATIN SMALL LETTER E WITH CARON </p> </entry> <entry><p>U+011B </p> </entry> <entry><p>0x65 </p> </entry> <entry><p>e LATIN SMALL LETTER E </p> </entry> </row> <row><entry><p>ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX </p> </entry> <entry><p>U+011D </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ğ LATIN SMALL LETTER G WITH BREVE </p> </entry> <entry><p>U+011F </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ġ LATIN SMALL LETTER G WITH DOT ABOVE </p> </entry> <entry><p>U+0121 </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ģ LATIN SMALL LETTER G WITH CEDILLA </p> </entry> <entry><p>U+0123 </p> </entry> <entry><p>0x67 </p> </entry> <entry><p>g LATIN SMALL LETTER G </p> </entry> </row> <row><entry><p>ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX </p> </entry> <entry><p>U+0125 </p> </entry> <entry><p>0x68 </p> </entry> <entry><p>h LATIN SMALL LETTER H </p> </entry> </row> <row><entry><p>ħ LATIN SMALL LETTER H WITH STROKE </p> </entry> <entry><p>U+0127 </p> </entry> <entry><p>0x68 </p> </entry> <entry><p>h LATIN SMALL LETTER H </p> </entry> </row> <row><entry><p>ĩ LATIN SMALL LETTER I WITH TILDE </p> </entry> <entry><p>U+0129 </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ī LATIN SMALL LETTER I WITH MACRON </p> </entry> <entry><p>U+012B </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ĭ LATIN SMALL LETTER I WITH BREVE </p> </entry> <entry><p>U+012D </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>į LATIN SMALL LETTER I WITH OGONEK </p> </entry> <entry><p>U+012F </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ı LATIN SMALL LETTER DOTLESS I </p> </entry> <entry><p>U+0131 </p> </entry> <entry><p>0x69 </p> </entry> <entry><p>i LATIN SMALL LETTER I </p> </entry> </row> <row><entry><p>ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX </p> </entry> <entry><p>U+0135 </p> </entry> <entry><p>0x6A </p> </entry> <entry><p>j LATIN SMALL LETTER J </p> </entry> </row> <row><entry><p>ķ LATIN SMALL LETTER K WITH CEDILLA </p> </entry> <entry><p>U+0137 </p> </entry> <entry><p>0x6B </p> </entry> <entry><p>k LATIN SMALL LETTER K </p> </entry> </row> <row><entry><p>ĸ LATIN SMALL LETTER KRA (Greenlandic) </p> </entry> <entry><p>U+0138 </p> </entry> <entry><p>0x6B </p> </entry> <entry><p>k LATIN SMALL LETTER K </p> </entry> </row> <row><entry><p>ĺ LATIN SMALL LETTER L WITH ACUTE </p> </entry> <entry><p>U+013A </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ļ LATIN SMALL LETTER L WITH CEDILLA </p> </entry> <entry><p>U+013C </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ľ LATIN SMALL LETTER L WITH CARON </p> </entry> <entry><p>U+013E </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ŀ LATIN SMALL LETTER L WITH MIDDLE DOT </p> </entry> <entry><p>U+0140 </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ł LATIN SMALL LETTER L WITH STROKE </p> </entry> <entry><p>U+0142 </p> </entry> <entry><p>0x6C </p> </entry> <entry><p>l LATIN SMALL LETTER L </p> </entry> </row> <row><entry><p>ń LATIN SMALL LETTER N WITH ACUTE </p> </entry> <entry><p>U+0144 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ņ LATIN SMALL LETTER N WITH CEDILLA </p> </entry> <entry><p>U+0146 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ň LATIN SMALL LETTER N WITH CARON </p> </entry> <entry><p>U+0148 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ʼn LATIN SMALL LETTER N PRECEDED BY APOSTROPHE </p> </entry> <entry><p>U+0149 </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p> ŋ LATIN SMALL LETTER ENG (Sami) </p> </entry> <entry><p>U+014B </p> </entry> <entry><p>0x6E </p> </entry> <entry><p>n LATIN SMALL LETTER N </p> </entry> </row> <row><entry><p>ō LATIN SMALL LETTER O WITH MACRON </p> </entry> <entry><p>U+014D </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ŏ LATIN SMALL LETTER O WITH BREVE </p> </entry> <entry><p>U+014F </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>° DEGREE SIGN </p> </entry> <entry><p>U+00B0 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>º MASCULINE ORDINAL INDICATOR </p> </entry> <entry><p>U+00BA </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>œ LATIN SMALL LIGATURE OE </p> </entry> <entry><p>U+0153 </p> </entry> <entry><p>0x6F </p> </entry> <entry><p>o LATIN SMALL LETTER O </p> </entry> </row> <row><entry><p>ŕ LATIN SMALL LETTER R WITH ACUTE </p> </entry> <entry><p>U+0155 </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>ŗ LATIN SMALL LETTER R WITH CEDILLA </p> </entry> <entry><p>U+0157 </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>ř LATIN SMALL LETTER R WITH CARON </p> </entry> <entry><p>U+0159 </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>® REGISTERED SIGN </p> </entry> <entry><p>U+00AE </p> </entry> <entry><p>0x72 </p> </entry> <entry><p>r LATIN SMALL LETTER R </p> </entry> </row> <row><entry><p>ś LATIN SMALL LETTER S WITH ACUTE </p> </entry> <entry><p>U+015B </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX </p> </entry> <entry><p>U+015D </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>ş LATIN SMALL LETTER S WITH CEDILLA * </p> </entry> <entry><p>U+015F </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>š LATIN SMALL LETTER S WITH CARON </p> </entry> <entry><p>U+0161 </p> </entry> <entry><p>0x73 </p> </entry> <entry><p>s LATIN SMALL LETTER S </p> </entry> </row> <row><entry><p>þ LATIN SMALL LETTER THORN (Icelandic) </p> </entry> <entry><p>U+00FE </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ţ LATIN SMALL LETTER T WITH CEDILLA * </p> </entry> <entry><p>U+0163 </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ť LATIN SMALL LETTER T WITH CARON </p> </entry> <entry><p>U+0165 </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ŧ LATIN SMALL LETTER T WITH STROKE </p> </entry> <entry><p>U+0167 </p> </entry> <entry><p>0x74 </p> </entry> <entry><p>t LATIN SMALL LETTER T </p> </entry> </row> <row><entry><p>ũ LATIN SMALL LETTER U WITH TILDE </p> </entry> <entry><p>U+0169 </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ū LATIN SMALL LETTER U WITH MACRON </p> </entry> <entry><p>U+016B </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ŭ LATIN SMALL LETTER U WITH BREVE </p> </entry> <entry><p>U+016D </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ů LATIN SMALL LETTER U WITH RING ABOVE </p> </entry> <entry><p>U+016F </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ų LATIN SMALL LETTER U WITH OGONEK </p> </entry> <entry><p>U+0173 </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>µ MICRO SIGN </p> </entry> <entry><p>U+00B5 </p> </entry> <entry><p>0x75 </p> </entry> <entry><p>u LATIN SMALL LETTER U </p> </entry> </row> <row><entry><p>ŵ LATIN SMALL LETTER W WITH CIRCUMFLEX </p> </entry> <entry><p>U+0175 </p> </entry> <entry><p>0x77 </p> </entry> <entry><p>w LATIN SMALL LETTER W </p> </entry> </row> <row><entry><p>ŷ LATIN SMALL LETTER Y WITH CIRCUMFLEX </p> </entry> <entry><p>U+0177 </p> </entry> <entry><p>0x79 </p> </entry> <entry><p>y LATIN SMALL LETTER Y </p> </entry> </row> <row><entry><p>ź LATIN SMALL LETTER Z WITH ACUTE </p> </entry> <entry><p>U+017A </p> </entry> <entry><p>0x7A </p> </entry> <entry><p>z LATIN SMALL LETTER Z </p> </entry> </row> <row><entry><p> ż LATIN SMALL LETTER Z WITH DOT ABOVE </p> </entry> <entry><p>U+017C </p> </entry> <entry><p>0x7A </p> </entry> <entry><p>z LATIN SMALL LETTER Z </p> </entry> </row> <row><entry><p>ž LATIN SMALL LETTER Z WITH CARON </p> </entry> <entry><p>U+017E </p> </entry> <entry><p>0x7A </p> </entry> <entry><p>z LATIN SMALL LETTER Z </p> </entry> </row> <row><entry><p>ő LATIN SMALL LETTER O WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0151 </p> </entry> <entry><p>0x7C </p> </entry> <entry><p>ö LATIN SMALL LETTER O WITH DIAERESIS </p> </entry> </row> <row><entry><p>ű LATIN SMALL LETTER U WITH DOUBLE ACUTE </p> </entry> <entry><p>U+0171 </p> </entry> <entry><p>0x7E </p> </entry> <entry><p>ü LATIN SMALL LETTER U WITH DIAERESIS </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 2 lists the 9 characters in Lossy Character 1 supported by Standard SMS Converter but not by Extended SMS Converter. </p> <p>Table 2 </p> <table id="GUID-B6A56A5A-12EB-5AA0-9541-E7916F6509C6"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Character</b>  </p> </entry> <entry><p> <b>Unicode</b>  </p> </entry> <entry><p> <b>GSM</b>  </p> </entry> <entry><p> <b>Converted Character</b>  </p> </entry> </row> <row><entry><p>ϕ GREEK PHI SYMBOL </p> </entry> <entry><p>0x03D5 </p> </entry> <entry><p>0x12 </p> </entry> <entry><p>Φ GREEK CAPITAL LETTER PHI </p> </entry> </row> <row><entry><p>Ω OHM SIGN </p> </entry> <entry><p>0x2126 </p> </entry> <entry><p>0x15 </p> </entry> <entry><p>Ω GREEK CAPITAL LETTER OMEGA </p> </entry> </row> <row><entry><p>∏ N-ARY PRODUCT </p> </entry> <entry><p>0x220F </p> </entry> <entry><p>0x16 </p> </entry> <entry><p>Π GREEK CAPITAL LETTER PI </p> </entry> </row> <row><entry><p>∑ N-ARY SUMMATION </p> </entry> <entry><p>0x2211 </p> </entry> <entry><p>0x18 </p> </entry> <entry><p>Σ GREEK CAPITAL LETTER SIGMA </p> </entry> </row> <row><entry><p>ϑ GREEK THETA SYMBOL </p> </entry> <entry><p>0x03D1 </p> </entry> <entry><p>0x19 </p> </entry> <entry><p>Θ GREEK CAPITAL LETTER THETA </p> </entry> </row> <row><entry><p>ϐ GREEK BETA SYMBOL </p> </entry> <entry><p>0x03D0 </p> </entry> <entry><p>0x42 </p> </entry> <entry><p>B LATIN CAPITAL LETTER B </p> </entry> </row> <row><entry><p>ϒ GREEK UPSILON WITH HOOK SYMBOL </p> </entry> <entry><p>0x03D2 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϓ GREEK UPSILON WITH ACUTE AND HOOK SYMBOL </p> </entry> <entry><p>0x03D3 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> <row><entry><p>ϔ GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL </p> </entry> <entry><p>0x03D4 </p> </entry> <entry><p>0x59 </p> </entry> <entry><p>Y LATIN CAPITAL LETTER Y </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>See also</title> <p><xref href="GUID-0BC9A9A1-DB99-5095-8390-E1C1B04D0080.dita">SMS Encodings and Converters Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B12AAA82-0534-5FBB-B9BA-33056B988575_d0e583638_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B12AAA82-0534-5FBB-B9BA-33056B988575_d0e632926_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B12EEEF5-311B-49F8-A2DA-D6EF6A705071_d0e80983_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B12EEEF5-311B-49F8-A2DA-D6EF6A705071_d0e85181_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B131AE10-B9B1-53D2-8CAA-A9045957D6F9_d0e315462_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B131AE10-B9B1-53D2-8CAA-A9045957D6F9_d0e321452_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B1362BCE-8043-5183-B287-8381A87555B9_d0e449125_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B1362BCE-8043-5183-B287-8381A87555B9_d0e454970_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B14B3D67-B0D5-54B6-AAE4-D4486D019498.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B14B3D67-B0D5-54B6-AAE4-D4486D019498.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,8 +25,9 @@
 <li id="GUID-5022B224-8620-5AB8-B8C7-F95296DC7A14"><p>How to request
 a change to a system state, with and without notification </p> </li>
 </ul> </section>
-<section id="GUID-878E4690-1F02-5C15-8B4E-F53E8EA8719D-GENID-1-12-1-10-1-1-7-1-5-1-6-1-3-2"><title>Download</title><p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-77c0248d-dda5-4b56-9d5a-eda76091bca2.zip" scope="external">ssmanager.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-77c0248d-dda5-4b56-9d5a-eda76091bca2.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-BD0B6948-73B3-4814-A8F4-BEF86DBE589E"><title>Class Summary</title><ul>
+<section id="GUID-878E4690-1F02-5C15-8B4E-F53E8EA8719D-GENID-1-12-1-11-1-1-7-1-5-1-6-1-3-2"><title>Download</title><p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-77c0248d-dda5-4b56-9d5a-eda76091bca2.zip" scope="external">ssmanager.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-77c0248d-dda5-4b56-9d5a-eda76091bca2.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-BD0B6948-73B3-4814-A8F4-BEF86DBE589E"><title>Class
+Summary</title><ul>
 <li><p><xref href="GUID-60E6220E-5B9B-3D4E-A95F-B7AD6DB8AF68.dita"><apiname>TSsmSwp</apiname></xref></p></li>
 <li><p><xref href="GUID-CEBD45FB-5E0E-3EBA-B134-545B7F82EBEC.dita"><apiname>TSsmStateTransition</apiname></xref></p></li>
 <li><p><xref href="GUID-76D2A5E8-BC64-3528-BED6-499E52CF8B2B.dita"><apiname>CSsmSystemWideProperty</apiname></xref></p></li>
@@ -68,7 +69,7 @@
 <li id="GUID-4F412BA5-3A79-5688-BD95-A3C384981FC1"><p> <filepath>dummybackup.exe</filepath>: The dummy application which is launched when the system state changes
 to 'backup'. It just prints a series of statements to the console. </p> </li>
 </ul> </section>
-<section id="GUID-DEFCF4B9-452A-5EAF-ABD3-BC4F6FBD528B-GENID-1-12-1-10-1-1-7-1-5-1-6-1-3-5"><title>Building
+<section id="GUID-DEFCF4B9-452A-5EAF-ABD3-BC4F6FBD528B-GENID-1-12-1-11-1-1-7-1-5-1-6-1-3-5"><title>Building
 and configuring</title> <p>To build the example: </p> <ul>
 <li id="GUID-BCB63B67-BA41-5BE6-B80A-3DE0A0211A96"><p>The example
 builds the following binaries </p> <p> <filepath>ssmanager.exe</filepath>  </p> <p> <filepath>ssm.state.policy.0004.dll</filepath>  </p> <p> <filepath>ssm.state.policy.0005.dll</filepath>  </p> <p> <filepath>ssm.swp.policy.dummy.diskstatus.dll</filepath>  </p> <p> <filepath>ssm.state.policy.0001.dll</filepath>  </p> <p> <filepath>dummybackup.exe</filepath>  </p> </li>
@@ -79,8 +80,7 @@
 use the command line, open a command prompt, and set the current directory
 to the source code directory of the example. You can then build the
 example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
-build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to
-use abld</xref> describe how to use the SBSv1 build tools. </p> </li>
+build</userinput> </p> </li>
 <li id="GUID-53F53A62-94CE-5412-AD52-CC00D4A44053"><p>For the emulator,
 the example builds <filepath>ssmanager.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
Binary file Symbian3/PDK/Source/GUID-B16E3A7D-FF14-559A-BF86-2A1A1A584CDC_d0e561253_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B16E3A7D-FF14-559A-BF86-2A1A1A584CDC_d0e569929_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e596642_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e615026_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e624536_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B1800856-3516-5D22-B1C5-556866CDDF46.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B1800856-3516-5D22-B1C5-556866CDDF46" xml:lang="en"><title>bldmake
-command syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <filepath>bldmake</filepath> tool processes the component description
-file (<filepath>bld.inf</filepath>) in the current directory and generates
-the batch file <filepath>abld.bat</filepath> and several build batch makefiles
-(<filepath>.make</filepath>). The makefiles are used by <filepath>abld</filepath> to
-perform the various stages of building the component. </p>
-<p><b>Invocation syntax </b> </p>
-<p> <codeph>bldmake</codeph> [ <codeph>options</codeph> ] <codeph>command</codeph> [ <codeph>platform</codeph> ] </p>
-<p>Details of <varname>command</varname> and <varname>options</varname> are
-given in the following tables: </p>
-<p><b>Command </b> </p>
-<table id="GUID-36F68EE0-3993-55A3-8FE8-B0AA83865FCE">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry><b>Command</b></entry>
-<entry><b>Description</b></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>bldfiles</codeph>  </p> </entry>
-<entry><p>Creates abld and the project makefiles. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>clean</codeph>  </p> </entry>
-<entry><p>Removes all files created by bldmake. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>inf</codeph>  </p> </entry>
-<entry><p>Displays basic <filepath>bld.inf</filepath> syntax. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>plat</codeph>  </p> </entry>
-<entry><p>Displays a list of the supported platforms, and the macros defined
-for each for the preprocessing of <codeph>prj_mmpfiles</codeph> and <codeph>prj_testmmpfiles</codeph> sections
-of bld.inf files. </p> <p>If a platform name is given, just the macros for
-that platform are displayed: for example, <codeph>bldmake plat thumb</codeph>. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p><b>Options </b> </p>
-<table id="GUID-4BBBDC0A-652C-5079-B581-11CF52CBD9C7">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<thead>
-<row>
-<entry><b>Options</b></entry>
-<entry><b>Description</b></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>-v</codeph>  </p> </entry>
-<entry><p>Instructs <filepath>bldmake</filepath> to print progress messages. </p> <p>Only
-error messages are printed by default. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph> -k</codeph> or <codeph>-keepgoing </codeph>  </p> </entry>
-<entry><p>Instructs <filepath>bldmake</filepath> to continue with the process
-even if the files specified in <xref href="GUID-EDCBBB5E-FAAD-50A5-9EE4-B4F399B77CE9.dita">bld.inf
-file</xref> are missing. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p><b>Platform </b> </p>
-<p>Defines the target for which to create the makefiles. If not specified,
-all the default targets are assumed. </p>
-<p>For v9.1, the default targets are WINSCW, GCCXML, ARMV5, and CW_IDE. </p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B1C79738-0449-5C26-BA8A-4612C6BF652F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B1C79738-0449-5C26-BA8A-4612C6BF652F"><title>prj_testexports</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>prj_testexports</codeph> </p> <p>  <varname>source_file_1</varname>  <varname>[destination_file]</varname>  </p> <p>  <varname>source_file_n</varname>  <varname>[destination_file]</varname>  </p> <p>In the <codeph>prj_testexports</codeph> section, list the files to be copied from the source directories to the releasables’ directories for use with test programs.</p> <p>Specify each file on a separate line. </p> <p>Note that:</p> <ul><li id="GUID-0208BB0E-D639-586B-B74D-38448A6CAB13"><p>If the source file is listed with a relative path, the path will be considered relative to the directory containing the <filepath>bld.inf</filepath> file. </p> </li> <li id="GUID-DC28ABF4-E2FA-560A-A5EA-31E3AB58D9BA"><p>If a destination file is not specified, the source file will be copied to the directory containing the <filepath>bld.inf</filepath> file. </p> </li> <li id="GUID-FBB7DB9F-B73A-5281-A843-0A3761130ADA"><p>If a relative path is specified with the destination file, the path will be considered relative to directory containing the <filepath>bld.inf</filepath> file.</p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -58,7 +58,7 @@
 enabling display change event notifications (<codeph>EEventDisplayChanged</codeph>).
 The following diagram shows the class hierarchy. </p> <fig id="GUID-F9D95387-151F-5725-8BDD-C44A3D333A97">
 <title> Display control class diagram            </title>
-<image href="GUID-68E3609C-3429-5B1C-B8D9-C0EBBACEF357_d0e235540_href.png" placement="inline"/>
+<image href="GUID-68E3609C-3429-5B1C-B8D9-C0EBBACEF357_d0e241513_href.png" placement="inline"/>
 </fig> <p>For a diagram of the <xref href="GUID-7ED11E23-6E13-36D4-BB10-8AE9E745C560.dita"><apiname>TDisplayConfiguration</apiname></xref> class
 hierarchy, see the <xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common
 Graphics Headers Component Overview</xref>. </p> <p>Once you have obtained
@@ -169,7 +169,7 @@
 so that the virtual keyboard can be drawn within the full UI area but outside
 of the application's extent. </p> <fig id="GUID-55BD49C6-9A51-53A7-A587-29A151FACF6B">
 <title> Display mapping class diagram            </title>
-<image href="GUID-7293765E-2B1E-5F0D-B6A8-0E48729DC365_d0e235688_href.png" placement="inline"/>
+<image href="GUID-7293765E-2B1E-5F0D-B6A8-0E48729DC365_d0e241661_href.png" placement="inline"/>
 </fig> <p> </p> <p>The <xref href="GUID-BA6FEFAE-8891-3286-A38F-2EA522D7A27E.dita"><apiname>MDisplayMapping</apiname></xref> interface is very
 flexible. UIDs are used to signify the application UI coordinate space, the
 full UI space, the composition/display coordinate space (which may be a different
@@ -184,7 +184,7 @@
 rectangle represents the display area and the inner one represents the application
 space (screen mode). </p> <fig id="GUID-6935A7BE-C651-5582-8E2A-11A18CDD531F">
 <title>Display area and application extent            </title>
-<image href="GUID-09142C26-0AFA-510E-836D-010EE07A1549_d0e235717_href.png" placement="inline"/>
+<image href="GUID-09142C26-0AFA-510E-836D-010EE07A1549_d0e241690_href.png" placement="inline"/>
 </fig> <p>The display resolution is 1280 x 720, the application size is 176
 x 208 and a virtual resolution of 426 x 240 has been introduced, which gives
 a scaling factor of three in each direction. All pixels are approximately
--- a/Symbian3/PDK/Source/GUID-B1D63E7B-81EB-5F75-96C3-789E5C3E4C03.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B1D63E7B-81EB-5F75-96C3-789E5C3E4C03.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -207,7 +207,7 @@
 the text as shown:</p>
 <fig id="GUID-10DC05B0-64A2-52D0-ABC6-ACD231F402C4">
 <title/>
-<image href="GUID-03AC137D-173A-558C-A2F3-9522870AC43C_d0e315969_href.png" placement="inline"/>
+<image href="GUID-03AC137D-173A-558C-A2F3-9522870AC43C_d0e321959_href.png" placement="inline"/>
 </fig>
 <p>The following code destroys the list elements and the <codeph>CXy</codeph> object
 containing the list header and iterator:</p>
--- a/Symbian3/PDK/Source/GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95" xml:lang="en"><title>Build tools guide</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B21A4858-162A-50F1-8F88-4259B7F7238E_d0e144206_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B21A4858-162A-50F1-8F88-4259B7F7238E_d0e146455_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B2523978-4262-4E32-B50D-4818AC561B6D_d0e91869_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B2523978-4262-4E32-B50D-4818AC561B6D_d0e96067_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B2539DB1-FA06-5900-A859-547D3381E361_d0e447945_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B2539DB1-FA06-5900-A859-547D3381E361_d0e453790_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B26A4743-F331-5AC3-A40A-28B14B785857.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B26A4743-F331-5AC3-A40A-28B14B785857.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -91,8 +91,7 @@
 use the command line, open a command prompt, and set the current directory
 to the source code directory of the example. You can then build the
 example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
-build</userinput> </p> <p> <xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to
-use abld</xref> describe how to use the SBSv1 build tools. </p> </li>
+build</userinput> </p> </li>
 <li id="GUID-F470E492-C920-58E0-860C-5CCE24B0C7F4"><p>For the emulator,
 the example builds an executable called <filepath>searchsortexample.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb                
 or urel&gt;\</filepath> folder. </p> </li>
@@ -100,7 +99,7 @@
 <section id="GUID-B72B706B-BB9F-5A0D-A36A-03135FE99E5C"><title>Running
 the example</title> <p> <filepath>searchsortexample.exe</filepath> takes user input from the console. The menu for the current example
 is as shown below: </p> <fig id="GUID-53020118-A1E3-56C3-AA81-9CED04533E27">
-<image href="GUID-656E2E4F-D7C5-5FDC-B1E6-DFA5970BB3F0_d0e488785_href.jpg" placement="inline"/>
+<image href="GUID-656E2E4F-D7C5-5FDC-B1E6-DFA5970BB3F0_d0e494606_href.jpg" placement="inline"/>
 </fig> <p>The user input is handled by <codeph>CKeyReader::RunL()</codeph>. </p> <p>For simple and combined non-iterative search-sort, the
 user provides the following inputs: 1) the text in the "To" field
 to search for, 2) whether case sensitivity is on of off, 3) whether
Binary file Symbian3/PDK/Source/GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e1661_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e1665_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-B2BD19A4-132E-5D5C-8870-04BADB6E7815.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B2BD19A4-132E-5D5C-8870-04BADB6E7815" xml:lang="en"><title>SIF Tutorial</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-4-1" xml:lang="en"><title>Concepts</title><shortdesc>This section describes the architecture and interface of the Secure
+Sockets.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-4-1" xml:lang="en"><title>Concepts</title><shortdesc>This section describes the architecture and interface of the Secure
+Sockets.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-9-1-4-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B2D72405-590C-5AC5-9435-69D22528435D-GENID-1-12-1-24-1-1-9-1-4-1-4-1" xml:lang="en"><title>Concepts</title><shortdesc>This section describes the architecture and interface of the Secure
+Sockets.</shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B2E63B13-7B72-5CBF-ACD0-1F2D2E1EEF19_d0e228689_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B2E63B13-7B72-5CBF-ACD0-1F2D2E1EEF19_d0e234688_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B2F5537B-3F47-5172-8DFA-185CC1CAAD22.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B2F5537B-3F47-5172-8DFA-185CC1CAAD22.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,5 +9,5 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B2F5537B-3F47-5172-8DFA-185CC1CAAD22"><title>MTP USB Transport Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian supports USB as one of the MTP transport modes. The implementation uses the USB Still Image Capture Device Class v1.0 and is compatible with MTP Enhanced Specification v0.95. This section describes the components and how they are used to establish a connection between a host PC and a Symbian device. </p> <section><title>Architecture</title> <p>The two important components of the MTP over USB implementation are the USB Still Image Class Controller and the USB MTP Transport Plug-in: </p> <ul><li id="GUID-8BC23C79-02DB-5478-876C-647C8E4268E3"><p> <b> USB Still Image Class Controller</b>. This Ecom plug-in is loaded by the USB Manager. It helps the MTP Framework to start MTP services, such as loading the USB MTP Transport plug-in and setting up the connection between a Symbian device and a host. </p> </li> <li id="GUID-9679F961-BC75-5706-BC95-7F2D5DEF9DCB"><p> <b>USB MTP Transport Plug-in</b>. This Ecom plug-in is loaded by the MTP framework. It interacts with the USB Stack for data transfer. </p> </li> </ul> <p>The USB Manager and the USB Stack are components of <xref href="GUID-DD13AA8E-BDAD-57EC-81EC-49C8D6D30A86.dita">Symbian Shortlink Services</xref>. They are responsible for setting up and managing USB connections for different USB devices. </p> <p>MTP over USB can be initiated in two ways: </p> <p> <b>Using the Symbian USB Manager</b>  </p> <fig id="GUID-E46895A4-8DCC-5E80-B024-609ED1CC32B3"><image href="GUID-94D270B4-B1CB-53A0-BC60-8B8C64BDF98A_d0e610920_href.jpg" placement="inline"/></fig> <ol id="GUID-09D421B7-1579-5B24-BE0C-1D034ABA626F"><li id="GUID-C62279DC-C4DD-529E-AF39-5649ADE5A7D4"><p>When a user application requests USB MTP services, the USB Manager loads the USB Still Image Controller plug-in. For more information about how to enable MTP over USB using the USB Manager, see <xref href="GUID-9EC375CD-A021-5DD0-93A9-748AC80356EE.dita">Enabling MTP over USB</xref>. </p> </li> <li id="GUID-BDF9247F-5904-5427-948F-9AFBF8038CE3"><p>The USB Still Image Class Controller calls the MTP Client API to send the <codeph>StartTransport</codeph> command to the MTP Framework. </p> </li> <li id="GUID-586D82E9-59A3-5225-A66A-AC0009DE6EE7"><p>The MTP Framework loads the USB MTP Transport plug-in. </p> </li> <li id="GUID-1A94C75D-3386-5F1D-9C8A-DD3B77F41198"><p>The USB MTP Transport plug-in calls the USB Stack API to establish the connection between the host PC (initiator) and the Symbian device (responder). </p> </li> <li id="GUID-7D1EDA4C-1571-54BF-89AC-F961E7CD0245"><p>Once the connection is established, requests and responses can be issued and media object data can be transferred between the host PC and the Symbian device. </p> <p>If the connection is active and the MTP Framework receives a request for another transport connection the default behaviour is to reject the request, however this behaviour is configurable. For more information about multiple connections, see <xref href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita">Configuring Multiple Transport</xref>. </p> <p> </p> </li> </ol> <p> <b>Using a user application</b>  </p> <fig id="GUID-B9CF75C9-F85C-54AD-9B4F-C0C2E0EB8B86"><image href="GUID-58135EB2-5DFF-599A-B17C-B1DD60B4A750_d0e610971_href.jpg" placement="inline"/></fig> <p>You can write your own application to enable MTP over USB without using the USB Manager. The MTP framework presents a standard Symbian client server interface. Your application calls the MTP Client API. The MTP Framework then loads the USB MTP Transport plug-in. </p> <p>For more information about how to enable MTP over USB through a user application, see <xref href="GUID-9EC375CD-A021-5DD0-93A9-748AC80356EE.dita">Enabling MTP over USB</xref>. </p> </section> </conbody><related-links><link href="GUID-9EC375CD-A021-5DD0-93A9-748AC80356EE.dita"><linktext>Enabling MTP over USB</linktext> </link> <link href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita"><linktext>Configuring Multiple
+<concept xml:lang="en" id="GUID-B2F5537B-3F47-5172-8DFA-185CC1CAAD22"><title>MTP USB Transport Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian supports USB as one of the MTP transport modes. The implementation uses the USB Still Image Capture Device Class v1.0 and is compatible with MTP Enhanced Specification v0.95. This section describes the components and how they are used to establish a connection between a host PC and a Symbian device. </p> <section><title>Architecture</title> <p>The two important components of the MTP over USB implementation are the USB Still Image Class Controller and the USB MTP Transport Plug-in: </p> <ul><li id="GUID-8BC23C79-02DB-5478-876C-647C8E4268E3"><p> <b> USB Still Image Class Controller</b>. This Ecom plug-in is loaded by the USB Manager. It helps the MTP Framework to start MTP services, such as loading the USB MTP Transport plug-in and setting up the connection between a Symbian device and a host. </p> </li> <li id="GUID-9679F961-BC75-5706-BC95-7F2D5DEF9DCB"><p> <b>USB MTP Transport Plug-in</b>. This Ecom plug-in is loaded by the MTP framework. It interacts with the USB Stack for data transfer. </p> </li> </ul> <p>The USB Manager and the USB Stack are components of <xref href="GUID-DD13AA8E-BDAD-57EC-81EC-49C8D6D30A86.dita">Symbian Shortlink Services</xref>. They are responsible for setting up and managing USB connections for different USB devices. </p> <p>MTP over USB can be initiated in two ways: </p> <p> <b>Using the Symbian USB Manager</b>  </p> <fig id="GUID-E46895A4-8DCC-5E80-B024-609ED1CC32B3"><image href="GUID-94D270B4-B1CB-53A0-BC60-8B8C64BDF98A_d0e650074_href.jpg" placement="inline"/></fig> <ol id="GUID-09D421B7-1579-5B24-BE0C-1D034ABA626F"><li id="GUID-C62279DC-C4DD-529E-AF39-5649ADE5A7D4"><p>When a user application requests USB MTP services, the USB Manager loads the USB Still Image Controller plug-in. For more information about how to enable MTP over USB using the USB Manager, see <xref href="GUID-9EC375CD-A021-5DD0-93A9-748AC80356EE.dita">Enabling MTP over USB</xref>. </p> </li> <li id="GUID-BDF9247F-5904-5427-948F-9AFBF8038CE3"><p>The USB Still Image Class Controller calls the MTP Client API to send the <codeph>StartTransport</codeph> command to the MTP Framework. </p> </li> <li id="GUID-586D82E9-59A3-5225-A66A-AC0009DE6EE7"><p>The MTP Framework loads the USB MTP Transport plug-in. </p> </li> <li id="GUID-1A94C75D-3386-5F1D-9C8A-DD3B77F41198"><p>The USB MTP Transport plug-in calls the USB Stack API to establish the connection between the host PC (initiator) and the Symbian device (responder). </p> </li> <li id="GUID-7D1EDA4C-1571-54BF-89AC-F961E7CD0245"><p>Once the connection is established, requests and responses can be issued and media object data can be transferred between the host PC and the Symbian device. </p> <p>If the connection is active and the MTP Framework receives a request for another transport connection the default behaviour is to reject the request, however this behaviour is configurable. For more information about multiple connections, see <xref href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita">Configuring Multiple Transport</xref>. </p> <p> </p> </li> </ol> <p> <b>Using a user application</b>  </p> <fig id="GUID-B9CF75C9-F85C-54AD-9B4F-C0C2E0EB8B86"><image href="GUID-58135EB2-5DFF-599A-B17C-B1DD60B4A750_d0e650125_href.jpg" placement="inline"/></fig> <p>You can write your own application to enable MTP over USB without using the USB Manager. The MTP framework presents a standard Symbian client server interface. Your application calls the MTP Client API. The MTP Framework then loads the USB MTP Transport plug-in. </p> <p>For more information about how to enable MTP over USB through a user application, see <xref href="GUID-9EC375CD-A021-5DD0-93A9-748AC80356EE.dita">Enabling MTP over USB</xref>. </p> </section> </conbody><related-links><link href="GUID-9EC375CD-A021-5DD0-93A9-748AC80356EE.dita"><linktext>Enabling MTP over USB</linktext> </link> <link href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita"><linktext>Configuring Multiple
                 Transports</linktext> </link> <link href="GUID-DE2E64A5-417A-538C-904B-6D498BB55273.dita"><linktext>USB Manager</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,9 +12,9 @@
 <concept xml:lang="en" id="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726"><title>Network Privacy API</title><shortdesc>The Network Privacy API is an interface through which the LBS subsystem can receive and respond to privacy requests when it is built to include the <codeph>Privacy
         Protocol Module</codeph>. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Introduction</title> <p>The Network Privacy API supports device creators who wish to use the Symbian LBS subsystem to handle only privacy requests but not to perform position fix calculations. </p> <p>The Network Privacy API is intended to be used to process privacy requests received from the network. To process multiple privacy requests from local applications, it is recommended that the Privacy Request API be used. </p> </section> <section><title>Description</title> <p>The Network Privacy API is implemented on the client-side by the Network Privacy Client DLL. This DLL is the interface to the Privacy Protocol Module. </p> <p>The Network Privacy API does not guarantee performance in low memory conditions for which a privacy request may fail. For this reason the Privacy Protocol Module must not be used when there is a need to support emergency services privacy requests from the network (MT-LR or NI-LR). A Protocol Module that handles location requests must be used if emergency services requests must be supported. </p> <p>Figure 1 shows the Network Privacy Client DLL in the context of the LBS subsystem. The most important points to note are: </p> <ul><li id="GUID-7C4EBECC-F64C-5A5C-908C-F3F3A452B43B"><p>The Network Privacy Client DLL exposes the Network Privacy API which is described in this document. The DLL is used to send privacy requests into the Symbian LBS subsystem from a component running in the licensee's domestic OS (outside of the Symbian platform). </p> </li> <li id="GUID-3AE2940E-C6B2-5512-99DB-0F9EFC42D2C0"><p>The Network Privacy Client DLL connects to a server implementation in the Privacy Protocol Module. </p> </li> <li id="GUID-1B984C37-C187-5927-9660-1C5C7F232F0C"><p>A device creator does not create their own implementation of the Network Privacy Client DLL or the Privacy Protocol Module. A device creator chooses to build a ROM containing the Privacy Protocol Module and the Network Privacy Client DLL. See <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> for more information about building and configuring the LBS subsystem. </p> </li> <li id="GUID-AA6B5EB8-5F24-5747-9311-0A79DC13E2CD"><p>To use the Network Privacy API a device creator must implement some kind of client process in their domestic operating system which uses the Network Privacy API. </p> <p>The Network Privacy API client process must implement the API observer interface to receive privacy responses. The client process, and not Symbian LBS is responsible for sending these privacy responses to the network. </p> </li> </ul> <fig id="GUID-707F7508-95E6-5700-A39C-3DE5DF745F51"><title>
              Figure 1. The Network Privacy API and the Privacy Protocol Module. 
-          </title> <image href="GUID-1B07A953-D652-59A7-8863-32875955B837_d0e449475_href.png" placement="inline"/></fig> </section> <section><title/></section> <example><title>Network Privacy Client DLL responsibilities</title> <p>The Network Privacy Client DLL communicates with the Privacy Protocol Module via standard Symbian client-server IPC calls. The DLL performs <i>two</i> distinct functions: </p> <ol id="GUID-C6EC3041-31A5-53CC-BF07-60D3BA52E20D"><li id="GUID-F1E9C4FD-C3C0-5F34-9943-786F119EF8FB"><p>It starts up the LBS subsystem if it is not already running when the first privacy request is received via the Network Privacy API. <xref href="GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita">Network Privacy API reference</xref> contains sequences describe startup and shutdown behaviour. </p> </li> <li id="GUID-06FD4BCA-BA94-5AFD-9399-817EBE6AC040"><p>It packages the Network Privacy API, which forwards privacy requests from a licensee client process into the Symbian LBS subsystem. Privacy responses returned from a Privacy Controller or Privacy Notifiers are returned to the client. </p> </li> </ol> </example> <section><title>Network Privacy API description</title> <p>Figure 2 shows the classes of the Network Privacy API. </p> <fig id="GUID-77AA24D8-875F-5447-B9F6-BFC5A0F8A7A3"><title>
+          </title> <image href="GUID-1B07A953-D652-59A7-8863-32875955B837_d0e455320_href.png" placement="inline"/></fig> </section> <section><title/></section> <example><title>Network Privacy Client DLL responsibilities</title> <p>The Network Privacy Client DLL communicates with the Privacy Protocol Module via standard Symbian client-server IPC calls. The DLL performs <i>two</i> distinct functions: </p> <ol id="GUID-C6EC3041-31A5-53CC-BF07-60D3BA52E20D"><li id="GUID-F1E9C4FD-C3C0-5F34-9943-786F119EF8FB"><p>It starts up the LBS subsystem if it is not already running when the first privacy request is received via the Network Privacy API. <xref href="GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita">Network Privacy API reference</xref> contains sequences describe startup and shutdown behaviour. </p> </li> <li id="GUID-06FD4BCA-BA94-5AFD-9399-817EBE6AC040"><p>It packages the Network Privacy API, which forwards privacy requests from a licensee client process into the Symbian LBS subsystem. Privacy responses returned from a Privacy Controller or Privacy Notifiers are returned to the client. </p> </li> </ol> </example> <section><title>Network Privacy API description</title> <p>Figure 2 shows the classes of the Network Privacy API. </p> <fig id="GUID-77AA24D8-875F-5447-B9F6-BFC5A0F8A7A3"><title>
              Figure 2. Network Privacy API classes 
-          </title> <image href="GUID-EFC72FB6-5FA0-537C-978D-50FC67A6F857_d0e449518_href.png" placement="inline"/></fig> <p>The following table lists the classes and types that define the Network Privacy API. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Network Privacy API has <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-2BB6D675-FE67-57CA-95E8-424DA0C2196A"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-F5E959D8-3457-3385-9978-96FDD917D767.dita"><apiname>CPosNetworkPrivacy</apiname></xref>  </p> </entry> <entry><p>Main interface class of the Network Privacy API </p> </entry> <entry><p> <filepath>EPos_CPosNetworkPrivacy.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-9A3406EF-3FEF-3F6F-9CB1-DFC1D09782B6.dita"><apiname>MPosVerificationObserver</apiname></xref>  </p> </entry> <entry><p>Observer class to be implemented by an API client </p> </entry> <entry><p> <filepath>EPos_MPosVerificationObserver.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-B747E435-087F-3130-8847-25B83067F404.dita"><apiname>CPosNetworkPrivacyRequestInfo</apiname></xref>  </p> </entry> <entry><p>Abstract base class for privacy request information </p> </entry> <entry><p> <filepath>EPos_CPosNetworkPrivacyRequestInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-32DA9EFC-D11D-3A56-A70E-045F7F0E849A.dita"><apiname>CPosGSMPrivacyRequestInfo</apiname></xref>  </p> </entry> <entry><p>Request info class for requests from a GSM network </p> </entry> <entry><p> <filepath>EPos_CPosGSMPrivacyRequestInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-1C0102CD-2F1C-3E8C-9357-06CFED618936.dita"><apiname>CPosSUPLPrivacyRequestInfo</apiname></xref>  </p> </entry> <entry><p>Request info class for requests received via SUPL </p> </entry> <entry><p> <filepath>EPos_CPosSUPLPrivacyRequestInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-0B022E16-132F-3B4F-B598-C5B83BA91E39.dita"><apiname>TPosNetworkPrivacyPanic</apiname></xref>  </p> </entry> <entry><p>Panic codes used by the API </p> </entry> <entry><p> <filepath>EPos_NetworkPrivacyPanic.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Libraries</title> <p>The Network Privacy API is packaged in <filepath>eposnwprv.dll</filepath>. Clients link to <filepath>eposnwprv.lib</filepath>. </p> </section> <section><title>Capabilities</title> <p>To use the Network Privacy API a client requires the following capabilities: <codeph>Location</codeph>, <codeph>NetworkServices</codeph> and <codeph>ReadDeviceData</codeph>. </p> <p>To maintain backwards compatibility with existing clients of the Network Privacy API the alternative capability <codeph>CommDD</codeph> is also supported. However, new clients should be created to have the three capabilities listed above. </p> </section> <section><title>LBS configuration</title> <p>The Network Privacy API is only available when the Privacy Protocol Module is included in an LBS subsystem. See <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> for details about how to build a ROM image that supports the Network Privacy API. </p> <p><b>Multiple simultaneous privacy requests</b> </p> <p>The LBS subsystem can be configured to handle multiple simultaneous privacy requests from the Network Privacy API. The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-6D5954C5-3B6A-3BAA-AB75-D1ECE90BAEDB.dita"><apiname>KLbsSettingMaximumExternalLocateRequests</apiname></xref> defines the maximum number of privacy requests that can be handled simultaneously by the LBS subsystem. </p> <p>If an additional privacy request is sent into the LBS subsystem such that the total number of requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>, the additional request is always rejected i.e. the LBS subsystem calls <xref href="GUID-9A3406EF-3FEF-3F6F-9CB1-DFC1D09782B6.dita#GUID-9A3406EF-3FEF-3F6F-9CB1-DFC1D09782B6/GUID-D1BDF319-CCFD-33CB-8779-CF56849BAA5B"><apiname>MPosVerificationObserver::HandleVerifyComplete()</apiname></xref> with <codeph>aCompletionCode = KErrAccessDenied.</codeph>  </p> <p><b>Maximum number of API sessions</b> </p> <p>The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-8C74590B-658A-384F-B260-50DEB0263646.dita"><apiname>KLbsSettingPrivacyMaxNetworkSessions</apiname></xref> defines the maximum number of concurrent sessions allowed with the Network Privacy API. </p> <p><b>Session timeouts</b> </p> <p>The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-F725725F-195A-33E8-A804-AB48689F2003.dita"><apiname>KLbsSettingPrivacyConnectionTimeout</apiname></xref> controls the connection timeout for sessions using the Network Privacy API. This value can be overriden by an API client by calling <xref href="GUID-F5E959D8-3457-3385-9978-96FDD917D767.dita#GUID-F5E959D8-3457-3385-9978-96FDD917D767/GUID-73993FA4-ABB9-3126-AADF-97BCBC64FBAC"><apiname>CPosNetworkPrivacy::SetConnectionTimeout()</apiname></xref>. </p> <p><b>LBS shutdown delay</b> </p> <p>The LBS subsystem is transient when it is built to include a Privacy Protocol Module and the Network Privacy API. The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-6DBF0A21-011D-38B2-BEF5-824C2A77871F.dita"><apiname>KLbsSettingPrivacyShutdownDelay</apiname></xref> sets the delay between closure of the last client connection and LBS subsystem shutdown. </p> </section> </conbody><related-links><link href="GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita"><linktext>Network
+          </title> <image href="GUID-EFC72FB6-5FA0-537C-978D-50FC67A6F857_d0e455363_href.png" placement="inline"/></fig> <p>The following table lists the classes and types that define the Network Privacy API. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Network Privacy API has <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-2BB6D675-FE67-57CA-95E8-424DA0C2196A"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-F5E959D8-3457-3385-9978-96FDD917D767.dita"><apiname>CPosNetworkPrivacy</apiname></xref>  </p> </entry> <entry><p>Main interface class of the Network Privacy API </p> </entry> <entry><p> <filepath>EPos_CPosNetworkPrivacy.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-9A3406EF-3FEF-3F6F-9CB1-DFC1D09782B6.dita"><apiname>MPosVerificationObserver</apiname></xref>  </p> </entry> <entry><p>Observer class to be implemented by an API client </p> </entry> <entry><p> <filepath>EPos_MPosVerificationObserver.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-B747E435-087F-3130-8847-25B83067F404.dita"><apiname>CPosNetworkPrivacyRequestInfo</apiname></xref>  </p> </entry> <entry><p>Abstract base class for privacy request information </p> </entry> <entry><p> <filepath>EPos_CPosNetworkPrivacyRequestInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-32DA9EFC-D11D-3A56-A70E-045F7F0E849A.dita"><apiname>CPosGSMPrivacyRequestInfo</apiname></xref>  </p> </entry> <entry><p>Request info class for requests from a GSM network </p> </entry> <entry><p> <filepath>EPos_CPosGSMPrivacyRequestInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-1C0102CD-2F1C-3E8C-9357-06CFED618936.dita"><apiname>CPosSUPLPrivacyRequestInfo</apiname></xref>  </p> </entry> <entry><p>Request info class for requests received via SUPL </p> </entry> <entry><p> <filepath>EPos_CPosSUPLPrivacyRequestInfo.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-0B022E16-132F-3B4F-B598-C5B83BA91E39.dita"><apiname>TPosNetworkPrivacyPanic</apiname></xref>  </p> </entry> <entry><p>Panic codes used by the API </p> </entry> <entry><p> <filepath>EPos_NetworkPrivacyPanic.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Libraries</title> <p>The Network Privacy API is packaged in <filepath>eposnwprv.dll</filepath>. Clients link to <filepath>eposnwprv.lib</filepath>. </p> </section> <section><title>Capabilities</title> <p>To use the Network Privacy API a client requires the following capabilities: <codeph>Location</codeph>, <codeph>NetworkServices</codeph> and <codeph>ReadDeviceData</codeph>. </p> <p>To maintain backwards compatibility with existing clients of the Network Privacy API the alternative capability <codeph>CommDD</codeph> is also supported. However, new clients should be created to have the three capabilities listed above. </p> </section> <section><title>LBS configuration</title> <p>The Network Privacy API is only available when the Privacy Protocol Module is included in an LBS subsystem. See <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> for details about how to build a ROM image that supports the Network Privacy API. </p> <p><b>Multiple simultaneous privacy requests</b> </p> <p>The LBS subsystem can be configured to handle multiple simultaneous privacy requests from the Network Privacy API. The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-6D5954C5-3B6A-3BAA-AB75-D1ECE90BAEDB.dita"><apiname>KLbsSettingMaximumExternalLocateRequests</apiname></xref> defines the maximum number of privacy requests that can be handled simultaneously by the LBS subsystem. </p> <p>If an additional privacy request is sent into the LBS subsystem such that the total number of requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>, the additional request is always rejected i.e. the LBS subsystem calls <xref href="GUID-9A3406EF-3FEF-3F6F-9CB1-DFC1D09782B6.dita#GUID-9A3406EF-3FEF-3F6F-9CB1-DFC1D09782B6/GUID-D1BDF319-CCFD-33CB-8779-CF56849BAA5B"><apiname>MPosVerificationObserver::HandleVerifyComplete()</apiname></xref> with <codeph>aCompletionCode = KErrAccessDenied.</codeph>  </p> <p><b>Maximum number of API sessions</b> </p> <p>The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-8C74590B-658A-384F-B260-50DEB0263646.dita"><apiname>KLbsSettingPrivacyMaxNetworkSessions</apiname></xref> defines the maximum number of concurrent sessions allowed with the Network Privacy API. </p> <p><b>Session timeouts</b> </p> <p>The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-F725725F-195A-33E8-A804-AB48689F2003.dita"><apiname>KLbsSettingPrivacyConnectionTimeout</apiname></xref> controls the connection timeout for sessions using the Network Privacy API. This value can be overriden by an API client by calling <xref href="GUID-F5E959D8-3457-3385-9978-96FDD917D767.dita#GUID-F5E959D8-3457-3385-9978-96FDD917D767/GUID-73993FA4-ABB9-3126-AADF-97BCBC64FBAC"><apiname>CPosNetworkPrivacy::SetConnectionTimeout()</apiname></xref>. </p> <p><b>LBS shutdown delay</b> </p> <p>The LBS subsystem is transient when it is built to include a Privacy Protocol Module and the Network Privacy API. The <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS Administration</xref> setting <xref href="GUID-6DBF0A21-011D-38B2-BEF5-824C2A77871F.dita"><apiname>KLbsSettingPrivacyShutdownDelay</apiname></xref> sets the delay between closure of the last client connection and LBS subsystem shutdown. </p> </section> </conbody><related-links><link href="GUID-746866CE-809A-5598-BA60-2947763E5EE9.dita"><linktext>Network
                 Privacy API Reference</linktext> </link> <link href="GUID-6526C440-34EA-50C2-B550-2C655DCC2ED8.dita"><linktext>Network
                 Privacy API Tutorial</linktext> </link> <link href="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita"><linktext>Privacy
                 Protocol Module Overview</linktext> </link> <link href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita"><linktext>Privacy
Binary file Symbian3/PDK/Source/GUID-B30D6027-EB0F-578F-9B2F-AFC2DFD27E39_d0e393768_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B30D6027-EB0F-578F-9B2F-AFC2DFD27E39_d0e399621_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B3166752-9B99-5669-8AB4-078164144AA1_d0e218927_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B3166752-9B99-5669-8AB4-078164144AA1_d0e224947_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B32EA1DE-5E64-5A70-8333-B9F462F25C08_d0e231618_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B32EA1DE-5E64-5A70-8333-B9F462F25C08_d0e237613_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B32ED85A-913E-5C06-AEEB-1E2D6EF4CECF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B32ED85A-913E-5C06-AEEB-1E2D6EF4CECF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-B32ED85A-913E-5C06-AEEB-1E2D6EF4CECF"><title>Drawing a Rounded Rectangle</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic provides an example that demonstrates how to draw a rounded rectangle using <codeph>DrawRoundRect()</codeph>. The dimensions of each corner (corner size and corner height) are given by a <codeph>TSize</codeph> argument. </p> <fig id="GUID-F54B5E46-9C2A-50DF-BAA9-222BD8EEF283"><title>
           Rounded rectangle construction 
-        </title> <image href="GUID-2ED8BB5F-27CA-5DD3-BA0F-5773AE14A8CC_d0e261218_href.png" placement="inline"/></fig> <codeblock id="GUID-50D54618-4C7E-57D1-90BE-8A92CD5F4161" xml:space="preserve">...
+        </title> <image href="GUID-2ED8BB5F-27CA-5DD3-BA0F-5773AE14A8CC_d0e267227_href.png" placement="inline"/></fig> <codeblock id="GUID-50D54618-4C7E-57D1-90BE-8A92CD5F4161" xml:space="preserve">...
 // draw a rectangle with rounded corners, centered in the rectangle
 TSize cornerSize(20,20); // set up the size of a rounded cornerSize
 gc.DrawRoundRect(box,cornerSize);
Binary file Symbian3/PDK/Source/GUID-B34485AB-FA14-5453-A2B2-EB85055E62A4_d0e244605_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B34485AB-FA14-5453-A2B2-EB85055E62A4_d0e250616_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B35A70D2-1BC8-51DE-95BF-F315DB394582.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B35A70D2-1BC8-51DE-95BF-F315DB394582.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -52,7 +52,7 @@
 it is the writable data stored in RAM, for example user stacks and heaps.
 In this case, the data is moved to a backing store. </p> </li>
 </ul> <fig id="GUID-FDD6829A-DAF9-5752-9C3F-2338625054FA">
-<image href="GUID-3FE9C184-1880-51E1-B045-3C2EA4BE204A_d0e310011_href.png" placement="inline"/>
+<image href="GUID-3FE9C184-1880-51E1-B045-3C2EA4BE204A_d0e316002_href.png" placement="inline"/>
 </fig> <p>The diagram above shows the basic operations involved in demand
 paging: </p> <ol id="GUID-598BA3E8-7BB9-585D-913B-5453D8500CBF">
 <li id="GUID-E65CC155-049D-5351-9A01-5FCDA3263FAB"><p>The processor wants
--- a/Symbian3/PDK/Source/GUID-B3760707-2810-4CD9-82C7-6A40DE638D36.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B3760707-2810-4CD9-82C7-6A40DE638D36.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,6 +18,6 @@
 opened.</p>
 <fig id="GUID-F40CE011-C433-4D9B-9705-C7DFE86BEBE8">
 <title>Submenu indicators: radio buttons</title>
-<image href="GUID-6820BB9E-F0B9-4493-A4C3-686238527C9B_d0e88577_href.png" placement="inline"/>
+<image href="GUID-6820BB9E-F0B9-4493-A4C3-686238527C9B_d0e92775_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B39483E2-15FC-5214-8B45-58BBB68A7841_d0e536764_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B39483E2-15FC-5214-8B45-58BBB68A7841_d0e544224_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B3F6FC45-3BF0-5F92-8325-44C705BA47AE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B3F6FC45-3BF0-5F92-8325-44C705BA47AE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -115,7 +115,7 @@
 <section id="GUID-1C4372C8-DFC8-5989-AC10-5A12F661AE70"><title>BTF_RamBanks</title> <p><b>What the function should do</b> </p> <p>This function should return a
 pointer to a list of RAM banks that are present. </p> <p>The list should be
 a sequence of two-word entries. Each entry has the following format: </p> <fig id="GUID-3B76398A-AE4C-563B-BB52-3701983D01B4">
-<image href="GUID-921AF7A3-C711-5979-877B-4B6D977888E8_d0e285569_href.png" placement="inline"/>
+<image href="GUID-921AF7A3-C711-5979-877B-4B6D977888E8_d0e291561_href.png" placement="inline"/>
 </fig> <p>The list is terminated by an entry that has a zero MAXSIZE. </p> <p>Of
 the 32 flag bits, only one is currently defined; all undefined flags should
 be zero. Flag 0, which is bit 0 of the first word is the <codeph>RAM_VERBATIM</codeph> flag
@@ -182,7 +182,7 @@
 bootstrap is found to be running in RAM; in this case it is assumed that all
 XIP code is in RAM. </p> <p>The list should be a sequence of four-word entries.
 Each entry has the following format: </p> <fig id="GUID-35A65482-24F6-5F9A-83B8-ED490F651A9A">
-<image href="GUID-4E6520E8-4BF1-55D1-B643-81B8D2816D1D_d0e285809_href.png" placement="inline"/>
+<image href="GUID-4E6520E8-4BF1-55D1-B643-81B8D2816D1D_d0e291801_href.png" placement="inline"/>
 </fig> <p>The list is terminated by a zero value four-word entry. </p> <p>Only
 the first, second and fourth words of each entry are actually used by the
 rest of the bootstrap. The third is there mainly to support autodetection
Binary file Symbian3/PDK/Source/GUID-B409C23A-F89E-5D30-B172-1F39C3F6A57F_d0e76888_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B409C23A-F89E-5D30-B172-1F39C3F6A57F_d0e81101_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4241F5D-5F06-53C4-9F1E-BB7B5DD780B0_d0e55045_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4241F5D-5F06-53C4-9F1E-BB7B5DD780B0_d0e59279_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B452DBD8-F9EB-4DAB-9D0C-3B11D7C360F4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B452DBD8-F9EB-4DAB-9D0C-3B11D7C360F4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 indicator is placed above the text setting field top right corner.</p>
 <fig id="GUID-2D4B2873-4B7A-452C-A37C-0ACC7E02380E">
 <title>Text setting pop-up</title>
-<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e92147_href.png" placement="inline"/>
+<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e96345_href.png" placement="inline"/>
 </fig>
 <table id="GUID-4F77253E-5688-4642-98DD-04CB7FCF38E1-GENID-1-12-1-7-1-1-5-1-16-1-4-1-2-3"><title>Default
 touch events when editing text in a text setting pop-up</title>
Binary file Symbian3/PDK/Source/GUID-B459E37A-BECE-5087-9827-C93310890674_d0e482708_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B459E37A-BECE-5087-9827-C93310890674_d0e488537_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4653180-46EB-58A8-B2A8-0DD2C3D30FE7_d0e277089_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4653180-46EB-58A8-B2A8-0DD2C3D30FE7_d0e283089_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B46C54AD-268C-58A0-B244-134C4D8BDFE1_d0e25164_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B46C54AD-268C-58A0-B244-134C4D8BDFE1_d0e27131_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B474D319-1E03-57EC-A8F1-2E8D32CD8092_d0e230071_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B474D319-1E03-57EC-A8F1-2E8D32CD8092_d0e236066_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B479BE8B-5CAD-57C2-9E21-DEB9E64E25EE_d0e489187_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B479BE8B-5CAD-57C2-9E21-DEB9E64E25EE_d0e495008_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4834A49-587E-41AD-B0D3-0622B173B2AD_d0e103648_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4834A49-587E-41AD-B0D3-0622B173B2AD_d0e107668_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B48F7684-76E6-51C1-B85A-08A1F1EBD807_d0e110825_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B48F7684-76E6-51C1-B85A-08A1F1EBD807_d0e113248_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B495BE4E-6567-5141-A857-31EF12B19362_d0e464089_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B495BE4E-6567-5141-A857-31EF12B19362_d0e469934_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4E5F308-DC7A-5547-8948-9DDCBC104918_d0e524993_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B4E5F308-DC7A-5547-8948-9DDCBC104918_d0e532453_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,9 +11,9 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72"><title>Comms Buffers (MBuf) ans Comms Chains</title><shortdesc>This topic describes Comms buffers (MBuf) and Comms chains. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-2290A2C1-C15B-5767-8BA5-0109457715AA"><title>APIs</title> <p>The following diagram is a partial representation of the class hierarchy for <codeph>RMBuf</codeph>. </p> <fig id="GUID-129D60A5-5FAB-52B1-BDD8-7B40F0038DD0"><title>
              Comms buffer 
-          </title> <image href="GUID-4119C4BD-ABBF-524B-B649-0F39EF58A7FB_d0e137619_href.png" placement="inline"/></fig> <p>For more information about these classes, see the following table and the reference documentation: </p> <table id="GUID-BC77F10C-E6C7-5447-A61F-63671B5F0FEC"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-E0ADB108-D3B2-3670-907D-2AE595BECE3F.dita"><apiname>RMBuf</apiname></xref>  </p> </entry> <entry><p>Representation of a shared buffer designed to carry packets within the Comms Data Plane. </p> <p>It includes Comms metadata (such as the offset, the size and the type of the data within the buffer) and links to the next buffer in the buffer chain. </p> <p>Part of the API is located in the parent class : <xref href="GUID-4FB33BFE-DCF7-3B77-A447-F9C049DF86CB.dita"><apiname>RCommsBuf</apiname></xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-F024208C-ED19-3301-85C1-53F397C9910F.dita"><apiname>RMBufChain</apiname></xref>  </p> </entry> <entry><p>Chain of <codeph>RMBuf</codeph> objects. </p> <p>Part of the API is located in the parent class : <xref href="GUID-107ADE6D-7AFF-3B07-9606-BCA33A3B63EF.dita"><apiname>RCommsBufChain</apiname></xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-5EBCD46C-5E07-5DB1-90D9-6A5CA3E36C0B"><title> Buffer layout</title> <p>The following diagram shows the contents of a Comms buffer and the location of the metadata. The metadata is at the end so that the device drivers can ignore the metadata and write their payload at the beginning of the buffer. </p> <fig id="GUID-6598A097-0453-5499-9507-2419DF73C023"><title>
+          </title> <image href="GUID-4119C4BD-ABBF-524B-B649-0F39EF58A7FB_d0e139868_href.png" placement="inline"/></fig> <p>For more information about these classes, see the following table and the reference documentation: </p> <table id="GUID-BC77F10C-E6C7-5447-A61F-63671B5F0FEC"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-E0ADB108-D3B2-3670-907D-2AE595BECE3F.dita"><apiname>RMBuf</apiname></xref>  </p> </entry> <entry><p>Representation of a shared buffer designed to carry packets within the Comms Data Plane. </p> <p>It includes Comms metadata (such as the offset, the size and the type of the data within the buffer) and links to the next buffer in the buffer chain. </p> <p>Part of the API is located in the parent class : <xref href="GUID-4FB33BFE-DCF7-3B77-A447-F9C049DF86CB.dita"><apiname>RCommsBuf</apiname></xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-F024208C-ED19-3301-85C1-53F397C9910F.dita"><apiname>RMBufChain</apiname></xref>  </p> </entry> <entry><p>Chain of <codeph>RMBuf</codeph> objects. </p> <p>Part of the API is located in the parent class : <xref href="GUID-107ADE6D-7AFF-3B07-9606-BCA33A3B63EF.dita"><apiname>RCommsBufChain</apiname></xref>. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-5EBCD46C-5E07-5DB1-90D9-6A5CA3E36C0B"><title> Buffer layout</title> <p>The following diagram shows the contents of a Comms buffer and the location of the metadata. The metadata is at the end so that the device drivers can ignore the metadata and write their payload at the beginning of the buffer. </p> <fig id="GUID-6598A097-0453-5499-9507-2419DF73C023"><title>
              Comms buffer contents 
-          </title> <image href="GUID-9FB3502C-B3DF-5FBC-972D-0D476D661954_d0e137706_href.png" placement="inline"/></fig> <p>The metadata contains information about the payload: its length and offset, the type of data it contains, and references to the pond and the pool where the buffer's memory is located. Whenever you perform an operation on an MBuf, the chain or the pond update the metadata. </p> <p>The offset at the beginning of the buffer is an important optimisation when sending data downwards through the Comms Data Plane. Leaving enough space for the protocol headers enables Comms Framework components to prepend their data to the payload without requesting a new MBuf and its addition to the front of the buffer chain. Therefore, you should always define a pool according to the biggest packet that the bottom of the stack may receive : for example, 1518 bytes for Ethernet packets. </p> <p>The following diagram is an example illustrating how the Comms Data Plane removes the headers from the payload (on the way up the stack) or prepend header to the payload (on the way down): </p> <fig id="GUID-17B63072-ED95-5626-88D0-80AF8790B5CE"><title>
+          </title> <image href="GUID-9FB3502C-B3DF-5FBC-972D-0D476D661954_d0e139955_href.png" placement="inline"/></fig> <p>The metadata contains information about the payload: its length and offset, the type of data it contains, and references to the pond and the pool where the buffer's memory is located. Whenever you perform an operation on an MBuf, the chain or the pond update the metadata. </p> <p>The offset at the beginning of the buffer is an important optimisation when sending data downwards through the Comms Data Plane. Leaving enough space for the protocol headers enables Comms Framework components to prepend their data to the payload without requesting a new MBuf and its addition to the front of the buffer chain. Therefore, you should always define a pool according to the biggest packet that the bottom of the stack may receive : for example, 1518 bytes for Ethernet packets. </p> <p>The following diagram is an example illustrating how the Comms Data Plane removes the headers from the payload (on the way up the stack) or prepend header to the payload (on the way down): </p> <fig id="GUID-17B63072-ED95-5626-88D0-80AF8790B5CE"><title>
              Header manipulation example 
-          </title> <image href="GUID-32D39AB1-D1B0-5F44-8226-0777B8010C7D_d0e137721_href.png" placement="inline"/></fig> <p>For simplified code corresponding to this diagram, see <xref href="GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita">Data Access Example</xref>. </p> </section> </conbody><related-links><link href="GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita"><linktext>Overview</linktext> </link> <link href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita"><linktext>Shared Buffers</linktext> </link> <link href="GUID-A467E933-C4B4-5518-96D6-471E44B216B3.dita"><linktext>Advanced Pond
+          </title> <image href="GUID-32D39AB1-D1B0-5F44-8226-0777B8010C7D_d0e139970_href.png" placement="inline"/></fig> <p>For simplified code corresponding to this diagram, see <xref href="GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita">Data Access Example</xref>. </p> </section> </conbody><related-links><link href="GUID-55E4D84B-1B90-5BA4-9CE0-6D26EA208F13.dita"><linktext>Overview</linktext> </link> <link href="GUID-65C49B47-6C63-536E-9B31-1FFA518A63F1.dita"><linktext>Shared Buffers</linktext> </link> <link href="GUID-A467E933-C4B4-5518-96D6-471E44B216B3.dita"><linktext>Advanced Pond
                 Guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B51A9A1F-8E80-4DF6-904A-7BD1A8976BBB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B51A9A1F-8E80-4DF6-904A-7BD1A8976BBB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,8 +31,9 @@
 programs</xref></p><p/><p/><p><xref href="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita">Symbian C++ Quick Start</xref></p><p><xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going Beyond Hello: A Tutorial for
 Symbian C++ Applications</xref></p></entry>
 <entry><p>The Application Layer provides application user interfaces
-and application engines.</p><p><xref href="GUID-1A43A45B-80AE-56A0-A94C-64BA75519C67.dita">Messaging Applications</xref></p><p><xref href="GUID-F23BB1F1-CF90-597F-8410-34AB8B567501.dita">PIM</xref></p><p/><p>The Middleware Layer provides application services,
-including UI frameworks and high level communications.</p><p><xref href="GUID-772F9CC3-71B3-53F0-9307-91D35B133810.dita">Application Installation</xref></p><p><xref href="GUID-377F7C19-C799-45CE-9ADA-4BB884B422BA.dita">Browsing and downloading</xref></p><p><xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita">Classic UI</xref></p><p><xref href="GUID-58035B49-2EAE-5144-B226-28AF2EDD62E7.dita">Generic Application
+and application engines.</p><p><xref href="GUID-0522B178-0FD5-4416-B7FE-390749F7A13D.dita">Contacts</xref></p><p><xref href="GUID-1A43A45B-80AE-56A0-A94C-64BA75519C67.dita">Messaging
+Applications</xref></p><p><xref href="GUID-F22B8035-CD08-4181-B03A-759E92CA967B.dita">Organizer</xref></p><p/><p>The Middleware Layer provides application services, including
+UI frameworks and high level communications.</p><p><xref href="GUID-772F9CC3-71B3-53F0-9307-91D35B133810.dita">Application Installation</xref></p><p><xref href="GUID-377F7C19-C799-45CE-9ADA-4BB884B422BA.dita">Browsing and downloading</xref></p><p><xref href="GUID-94005A46-B4C6-4A30-A8E8-1B9C2D583D50.dita">Classic UI</xref></p><p><xref href="GUID-58035B49-2EAE-5144-B226-28AF2EDD62E7.dita">Generic Application
 Support</xref></p><p><xref href="GUID-4CEB52EC-8F08-53B7-A900-AF163316D442.dita">Messaging Middleware</xref></p><p><xref href="GUID-6425B722-4095-56E3-9198-70BA3E06C617.dita">Multimedia
 Protocols</xref></p></entry>
 </row>
@@ -71,8 +72,7 @@
 <entry><p>These documents help you write better and safer programs.</p><p><xref href="GUID-87D1F36A-A3BB-5385-BDF3-211AC31097E9.dita">Performance considerations</xref></p> <p><xref href="GUID-AB3D07E6-83C9-4948-A13F-75A65498F444.dita">Security</xref></p><p><xref href="GUID-629EAA30-ED77-4CA9-91ED-36C818D7B4F4.dita">SMP</xref></p></entry>
 <entry><p>These links take you to full lists of packages and tools
 described in the library.</p><p><xref href="GUID-32E29020-1956-461A-B79A-1492E06049E7.dita">Symbian Guide</xref></p><p><xref href="GUID-A34D1674-8BFC-450B-805E-2D1F509F7BCF.dita">API
-Specifications</xref></p><p><xref href="GUID-C0498002-7CD9-4B2D-B1F9-FB0908C4C1A5.dita">Reference</xref></p><p><xref href="GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita">Tools and
-Utilities</xref></p></entry>
+Specifications</xref></p><p><xref href="GUID-C0498002-7CD9-4B2D-B1F9-FB0908C4C1A5.dita">Reference</xref></p><p><draft-comment time="2010-07-09T10:03" translate="no"><xref href="GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita">Tools and Utilities</xref></draft-comment></p></entry>
 </row>
 </tbody>
 </tgroup>
--- a/Symbian3/PDK/Source/GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,73 +1,65 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27" xml:lang="en"><title>Compilation
-and Build Process on Symbian Platform</title><shortdesc>This article discusses a few basic things about the compilation
-and build process in Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <codeph>bldmake</codeph> tool processes the component description file <filepath>bld.inf</filepath> in
-the current directory and generates the batch file <filepath>abld.bat</filepath> and
-several build batch <codeph>makefiles</codeph> (<filepath>.make</filepath>)
-. The <codeph>makefiles</codeph> are used by <codeph>abld</codeph> to carry
-out the various stages of building the component. </p>
-<p>The basic usage of <codeph>abld</codeph> command is:</p>
-<codeblock xml:space="preserve">abld command[options][platform][build][program]</codeblock>
-<p>This enables the programmer to build for different platforms with varied
-specifications. The parameter command specifies which action to perform to
-the <codeph>abld</codeph> tool. The actions can be build, clean, <codeph>cleanexport</codeph> and
-so on. The parameter options includes <codeph>–c</codeph>, <codeph>-w</codeph> and
-so on, these enable the user to check for the presence of releasables. The
-parameter platform specifies the platform for which the project will be built.
-The platform can be <codeph>WINSCW</codeph>, <codeph>GCCE</codeph>, <codeph>GCCXML</codeph>, <codeph>EDG</codeph>, <codeph>ARMV5</codeph>, <codeph>VS6</codeph>, <codeph>CW_IDE</codeph> or <codeph>VS2003</codeph>. The parameter
-build specifies whether to build for debug (<codeph>udeb</codeph>) or release
-(<codeph>urel</codeph>) version. Finally the parameter program specifies which
-project definition file or mmp file to build. If left unspecified, all the
-MMP files mentioned in the <filepath>bld.inf</filepath> file are built. For
-more information, see <xref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita">Build
-tools reference</xref>.</p>
-<p>The example below demonstrates the use of <codeph>bldmake</codeph>:</p>
-<codeblock xml:space="preserve">bldmake bldfiles</codeblock>
-<p>The <cmdname>abld build</cmdname> command compiles and links the target.</p>
-<codeblock xml:space="preserve">abld build</codeblock>
-<p>The <cmdname>abld freeze</cmdname> command freezes the project export.
-This is needed only for DLLs. </p>
-<codeblock xml:space="preserve">abld freeze</codeblock>
-<section id="GUID-CF5D3059-BDC4-407D-83D5-7C8DE9F5C3E7">       <title>Creating
-PKG file and Installation file for the target</title><p>A package (PKG) file
-is a text file containing items or statements that define the information
-required by the installation (SIS) file creation utility <codeph>makesis</codeph>.
-The PKG file format can be broken down into the following items:</p><ul>
-<li><p>Languages</p></li>
-<li><p>Language code table</p></li>
-<li><p>Package-header</p></li>
-<li><p>Vendor</p></li>
-<li><p>Logo</p></li>
-<li><p>Package-signature</p></li>
-<li><p>Package-body</p></li>
-<li><p>Dependency</p></li>
-<li><p>Properties </p></li>
-</ul><p>For more information on PKG files, see <xref href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita">PKG
-File Format</xref>.</p><p>The <cmdname>makesis</cmdname> utility creates software
-installation packages (SIS files) based on the information and the file locations
-on the source PC or target phone, defined in a package (PKG) file.</p><p>For
-example, consider the code snippet given below:</p><codeblock xml:space="preserve">makesis somefile.pkg</codeblock><p>The
-code goes through the PKG file and by default creates somefile.sis in the
-directory where the PKG file is present. </p><p>For more information on the <cmdname>makesis</cmdname> utility,
-see <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref>.</p><p>After
-creating the SIS file it, has to be signed using <cmdname>signsis</cmdname> to
-install it on the phone. <cmdname>signsis</cmdname> is a Symbian supplied
-tool to digitally sign software installation (SIS) files using a specified
-certificate and private key. For example consider the code snippet given below:</p><codeblock xml:space="preserve">signsis somefile.sis somefile.sisx rd.cer rd-key.pem</codeblock><p>The parameter<filepath> somefile.sis</filepath> gives, the path to the
-SIS file which is to be signed. The second parameter, <filepath>somefile.sisx</filepath> specifies
-the name of the resultant signed SIS file. The third parameter, <filepath>rd.cer</filepath> specifies
-the path to the certificate file and the last parameter, <filepath>rd-key.pem</filepath> specifies
-the path to the file containing the private key. </p><p>For more information
-on <cmdname>signsis</cmdname>, see <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref>.</p></section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B51EA0DA-5BCE-4A8C-A7A7-1FE096F7FF27" xml:lang="en"><title>Compilation and Build Process on Symbian Platform</title><shortdesc>This article discusses a few basic things about the compilation
+and build process in Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The <codeph>bldmake</codeph> tool processes the component description
+file <filepath>bld.inf</filepath> in the current directory and generates
+the batch file <filepath>abld.bat</filepath> and several build batch <codeph>makefiles</codeph> (<filepath>.make</filepath>) . The <codeph>makefiles</codeph> are used by <codeph>abld</codeph> to carry out the various stages
+of building the component. </p>
+<p>The basic usage of <codeph>abld</codeph> command is:</p>
+<codeblock xml:space="preserve">abld command[options][platform][build][program]</codeblock>
+<p>This enables the programmer to build for different platforms with
+varied specifications. The parameter command specifies which action
+to perform to the <codeph>abld</codeph> tool. The actions can be build,
+clean, <codeph>cleanexport</codeph> and so on. The parameter options
+includes <codeph>–c</codeph>, <codeph>-w</codeph> and so on, these
+enable the user to check for the presence of releasables. The parameter
+platform specifies the platform for which the project will be built.
+The platform can be <codeph>WINSCW</codeph>, <codeph>GCCE</codeph>, <codeph>GCCXML</codeph>, <codeph>EDG</codeph>, <codeph>ARMV5</codeph>, <codeph>VS6</codeph>, <codeph>CW_IDE</codeph> or <codeph>VS2003</codeph>. The parameter build specifies whether to build for debug (<codeph>udeb</codeph>) or release (<codeph>urel</codeph>) version. Finally
+the parameter program specifies which project definition file or mmp
+file to build. If left unspecified, all the MMP files mentioned in
+the <filepath>bld.inf</filepath> file are built. For more information,
+see <b>Symbian^3 Tools Guide &gt; Building</b>.</p>
+<p>The example below demonstrates the use of <codeph>bldmake</codeph>:</p>
+<codeblock xml:space="preserve">bldmake bldfiles</codeblock>
+<p>The <cmdname>abld build</cmdname> command compiles and links the
+target.</p>
+<codeblock xml:space="preserve">abld build</codeblock>
+<p>The <cmdname>abld freeze</cmdname> command freezes the project
+export. This is needed only for DLLs. </p>
+<codeblock xml:space="preserve">abld freeze</codeblock>
+<section id="GUID-CF5D3059-BDC4-407D-83D5-7C8DE9F5C3E7">       <title>Creating PKG file and Installation file for the target</title><p>A package (PKG) file is a text file containing items or statements
+that define the information required by the installation (SIS) file
+creation utility <codeph>makesis</codeph>. The PKG file format can
+be broken down into the following items:</p><ul>
+<li><p>Languages</p></li>
+<li><p>Language code table</p></li>
+<li><p>Package-header</p></li>
+<li><p>Vendor</p></li>
+<li><p>Logo</p></li>
+<li><p>Package-signature</p></li>
+<li><p>Package-body</p></li>
+<li><p>Dependency</p></li>
+<li><p>Properties </p></li>
+</ul><p>For more information on PKG files, see <xref href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita">PKG File Format</xref>.</p><p>The <cmdname>makesis</cmdname> utility creates software installation
+packages (SIS files) based on the information and the file locations
+on the source PC or target phone, defined in a package (PKG) file.</p><p>For example, consider the code snippet given below:</p><codeblock xml:space="preserve">makesis somefile.pkg</codeblock><p>The code goes through the PKG
+file and by default creates somefile.sis in the directory where the
+PKG file is present. </p><p>For more information on the <cmdname>makesis</cmdname> utility, see <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref>.</p><p>After creating the SIS file it, has to be signed
+using <cmdname>signsis</cmdname> to install it on the phone. <cmdname>signsis</cmdname> is a Symbian supplied tool to digitally sign software
+installation (SIS) files using a specified certificate and private
+key. For example consider the code snippet given below:</p><codeblock xml:space="preserve">signsis somefile.sis somefile.sisx rd.cer rd-key.pem</codeblock><p>The parameter<filepath> somefile.sis</filepath> gives, the path to
+the SIS file which is to be signed. The second parameter, <filepath>somefile.sisx</filepath> specifies the name of the resultant signed
+SIS file. The third parameter, <filepath>rd.cer</filepath> specifies
+the path to the certificate file and the last parameter, <filepath>rd-key.pem</filepath> specifies the path to the file containing the
+private key. </p><p>For more information on <cmdname>signsis</cmdname>, see <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref>.</p></section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B526BA3A-14E4-53B4-9382-437475A1C8A4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B526BA3A-14E4-53B4-9382-437475A1C8A4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B526BA3A-14E4-53B4-9382-437475A1C8A4" xml:lang="en"><title>Patchable Constants</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>From version 9.3 of Symbian OS, DLLs can export certain constants. These
-are referred to as patchable constants, and you can change their values when
-the DLLs from which they are exported are incorporated into a ROM image. </p>
-<p>This gives you the ability to create a variety of ROM images with constants
-of different values without the need to change any source code nor to rebuild
-the DLLs. </p>
-<p>You change the value of a constant when you build your ROM image by adding
-the patchdata keyword into your <filepath>.oby</filepath> file. </p>
-<p>See : <xref href="GUID-49397CFD-955A-5DF6-9251-368C44224966.dita">Build tools
-reference</xref> and <xref href="GUID-7FF363B0-B05F-5490-8D9C-59061B905381.dita">How
-to build ROMs with variants</xref>. </p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B526BA3A-14E4-53B4-9382-437475A1C8A4" xml:lang="en"><title>Patchable
+Constants</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>From version 9.3 of Symbian OS, DLLs can export certain constants.
+These are referred to as patchable constants, and you can change their
+values when the DLLs from which they are exported are incorporated
+into a ROM image. </p>
+<p>This gives you the ability to create a variety of ROM images with
+constants of different values without the need to change any source
+code nor to rebuild the DLLs. </p>
+<p>You change the value of a constant when you build your ROM image
+by adding the patchdata keyword into your <filepath>.oby</filepath> file. </p>
+<p>See : Symbian^3 Tools Guide &gt; Building. </p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B541BD01-29BE-4CB7-9420-ABEE0BDC9BA4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B541BD01-29BE-4CB7-9420-ABEE0BDC9BA4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,8 +14,8 @@
 resource file must be the same as that of the executable with <filepath>.rss</filepath> extension.
 All the registration resource structure types are defined in <codeph>RegistryInfo.rh</codeph>.
 This file has to be included in the registration resource file.  </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-4-1-5-1-4-1-5-1-4-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-4-1-5-1-4-1-5-1-4-1-3-1-1"><cmd>Define a single <codeph>REGISTRY_INFO</codeph> resource.
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-8-1-4-1-5-1-4-1-5-1-4-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-8-1-4-1-5-1-4-1-5-1-4-1-3-1-1"><cmd>Define a single <codeph>REGISTRY_INFO</codeph> resource.
  </cmd>
 </step>
 <step id="GUID-0711500A-DB15-4AF2-86E7-07751B7D0CE6"><cmd>Set the dll_uid
--- a/Symbian3/PDK/Source/GUID-B5576E47-CBB6-5E50-91BD-1CA1425EACE8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B5576E47-CBB6-5E50-91BD-1CA1425EACE8"><title>Microsoft Visual Studio support</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Microsoft Visual Studio IDE can be used to compile and debug applications built for Symbian OS v9.2 and above. The two versions of Visual Studio supported are: </p> <ul><li id="GUID-4D09A2B0-BB9A-55A1-B52E-31E0B109AF92"><p>Visual Studio 6 </p> </li> <li id="GUID-50BB739A-A7BE-56E5-BDC4-2B567BE1C560"><p>Visual Studio .NET 2003 </p> </li> </ul> <p>In summary, the steps for using Visual Studio are: </p> <ul><li id="GUID-DF940813-C534-5AE6-9694-C1269FD00D3D"><p>Make sure that your program has a <xref href="GUID-7D3B5008-CB40-504D-90A8-92DE482977CA.dita">bld.inf file</xref> and a <xref href="GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita">mmp</xref> project file. </p> </li> <li id="GUID-8EF5BC4A-5B7D-59AE-9C90-36474A64C6EB"><p>Use the Symbian platform <xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">abld</xref> command to create a Visual Studio project file from the <filepath>mmp</filepath> file. </p> </li> <li id="GUID-18A4779C-B284-5E8F-9648-797200F9B9F2"><p>Open the created Visual Studio project file in the IDE, and build, run, and debug the program from there. </p> </li> </ul> <p>The underlying compiler used for the Visual Studio support is the Nokia x86 standalone compiler, version 3.2.3. This compiler is provided on Symbian platform kits in the <filepath>epoc32</filepath> tree under <filepath>epoc32/tools/nokia_compiler/</filepath>. Note that the C++ compiler supplied with Microsoft Visual Studio itself is <i>not</i> used. </p> <p>The Visual Studio support uses the operating system binaries that are created for the <filepath>winscw</filepath> platform. Support is provided by the introduction of two build targets, called <codeph>vs6</codeph> and <codeph>vs2003</codeph>. </p> <section id="GUID-0446B041-DA7A-5B3E-9BBE-DE15B64CFC14"><title>Microsoft Visual C++ 6</title> <p>To use Visual C++ 6: </p> <ol id="GUID-A37F5384-7F3C-5F37-9B35-C24680DB5F8C"><li id="GUID-7BBFD685-6959-5B46-9776-0786B7E696A4"><p>Start a command line prompt </p> </li> <li id="GUID-069A3C30-8C4F-5271-9310-2205B3A204F2"><p>Run the Visual Studio environment configuration batch file, <filepath>vsvars32.bat</filepath>, which is part of your Visual Studio installation. This ensures that the necessary Visual Studio environment variables are set up. </p> </li> <li id="GUID-F535FA4C-9297-56F7-AF64-E12561DC11AC"><p>Change directory to the directory that contains your program's <filepath>bld.inf</filepath> file, and use the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld makefile vs6 [project-name]</userinput> </p> <p>The <codeph>vs6</codeph> argument here specifies to the tools that Visual C++ 6 project files should be produced. The project name is optional. If it is not mentioned, Visual Studio project files are created for all projects specified in the <filepath>bld.inf</filepath> file. </p> </li> </ol> <p>These commands creates a Visual C++ workspace (<filepath>.dsw</filepath>) file generated under the kit's <filepath>epoc32\build\&lt;SOURCE_PATH&gt;\&lt;PROJECT_NAME&gt;\WINSCW</filepath> directory. For example, if the kit is installed in <codeph>\Symbian\9.2\</codeph>, and the project is <filepath>helloworld</filepath>, then the <filepath>.dsw</filepath> file is created in the directory <filepath>\Symbian\9.2\epoc32\build\src\helloworld\helloworld\winscw</filepath>. </p> <p>The workspace can then be opened in the IDE, and the project built and debugged from there. </p> <p>To both build the project and create the workspace, use the commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld build vs6 [udeb | urel] [project-name]</userinput> </p> <p>The <codeph>vs6</codeph> platform can optionally be added to the <xref href="GUID-A12A6C54-7E9E-5ECD-A0BF-8F980160A0D2.dita">prj_platforms</xref> section in the <codeph>bld.inf</codeph> file. If this is done, <filepath>abld</filepath> commands will use the <codeph>vs6</codeph> target without it being explicity specified. </p> </section> <section id="GUID-6BAD5FE2-04E6-5477-8D3A-66ED2FCCB4CE"><title>Microsoft Visual Studio .NET2003</title> <p>To use Visual Studio .NET2003: </p> <ol id="GUID-C797613A-E6CD-5FDF-923C-68692EE40B79"><li id="GUID-09F71472-F96E-5B63-ACB0-87CDD318843E"><p>Start a command line prompt </p> </li> <li id="GUID-E34B1487-FECD-5793-ADF3-9F9ECC556FC1"><p>Run the Visual Studio environment configuration batch file, <filepath>vsvars32.bat</filepath>, which is part of your Visual Studio installation. This ensures that the necessary Visual Studio environment variables are set up. </p> </li> <li id="GUID-4F706853-59EC-5FC3-935F-22B513235758"><p>Change directory to the directory that contains your program's <filepath>bld.inf</filepath> file, and use the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld makefile vs2003 [project-name]</userinput> </p> <p>The <codeph>vs2003</codeph> argument here specifies to the tools that Visual Studio .NET2003 files should be produced. The project name is optional. If it is not mentioned, Visual Studio files are created for all projects specified in the <filepath>bld.inf</filepath> file. </p> </li> </ol> <p>These commands create a Visual Studio solution file (<filepath>.sln</filepath>) file generated under the kit's <filepath>epoc32\build\&lt;SOURCE_PATH&gt;\&lt;PROJECT_NAME&gt;\WINSCW</filepath> directory. For example, if the kit is installed in <codeph>\Symbian\9.2\</codeph>, and the project is <filepath>helloworld</filepath>, then the <filepath>.sln</filepath> file is created in the directory <filepath>\Symbian\9.2\epoc32\build\src\helloworld\helloworld\winscw</filepath>. </p> <p>The solution file can then be opened in the IDE, and the project built and debugged from there. </p> <p>To both build the project and create the workspace, use the commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld build vs2003 [udeb | urel] [project-name]</userinput> </p> <p>The <codeph>vs2003</codeph> platform can optionally be added to the <xref href="GUID-A12A6C54-7E9E-5ECD-A0BF-8F980160A0D2.dita">prj_platforms</xref> section in the <codeph>bld.inf</codeph> file. If this is done, <filepath>abld</filepath> commands will use the <codeph>vs2003</codeph> target without it being explictly specified. </p> </section> <section><title>Limitations</title> <ol id="GUID-B9E5639E-442E-568A-8AB6-E53C70FE2CBC"><li id="GUID-6896FE67-3A30-5F28-B6B1-CDDF738213A9"><p>If you add a source file into the project directly from Visual Studio, the source file is <i>not</i> included in the build process. You must add the source file to the <filepath>mmp</filepath> project file, and then repeat the <filepath>abld makefile</filepath> step to recreate the workspace. </p> </li> <li id="GUID-16C95FA9-66DE-5845-B2DC-B0F556A5E655"><p>There is no Edit-And-Continue support on the makefile project when debugging. This means that if you edit a file while debugging, you will have to exit the debugging session, rebuild the project, and then restart debugging session. </p> </li> <li id="GUID-AF48237B-41E5-595A-BEFC-C2CA9E8503AC"><p>If the project produces an EXE, and that EXE already exists, then when the debugger is started, Visual Studio doesn't call Make to check if all targets are up-to-date, but directly starts the program. So, to ensure that all targets are up-to-date during a debug session, a build should be done first before using the debugger. </p> </li> <li id="GUID-9C6CE751-C237-5869-A0C4-E8BA02C9DC02"><p>In .NET2003, a problem sometimes seen is that the Build
-                Solution command doesn't build the projects included in that solution, while the Build &lt;project name&gt; command builds correctly. This occurs when the Visual Studio program <filepath>uuidgen.exe</filepath> is not available in the path. Executing <filepath>vsvars32.bat</filepath> usually sets up the appropriate path. </p> </li> </ol> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B563AC07-A54B-50E2-A3B2-821E8BC2C863.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B563AC07-A54B-50E2-A3B2-821E8BC2C863.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 CDirScan</title><shortdesc>This topic describes about setting up the scan and
 parsing path.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <section id="GUID-838F2F37-69AE-49B6-970E-FFF29B93709E"><title>Setting up the scan using SetScanDataL()</title> <fig id="GUID-CC897DCB-73B0-53A4-B1AA-351DF18F0AE0">
-<image href="GUID-3F172A97-8B96-5E1B-854C-F198D1334D2A_d0e361991_href.png" placement="inline"/>
+<image href="GUID-3F172A97-8B96-5E1B-854C-F198D1334D2A_d0e367839_href.png" placement="inline"/>
 </fig> <p>Taking the above directory structure, if <codeph>SetScanData()</codeph> is
 called as follows:</p> <codeblock id="GUID-B6CEF818-9044-58B9-BEBF-EB05BE6F89A9" xml:space="preserve">_LIT(KDirText,"C:\\TopDir\\");
 ...
Binary file Symbian3/PDK/Source/GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e1757_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e1762_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B58D3727-6E05-51C8-8EC2-52768A136BD5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B58D3727-6E05-51C8-8EC2-52768A136BD5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 <section id="GUID-BC5A4EC6-12CA-4E35-8E05-3FCDDC2AF8E9"><title>Window server event types</title> <p>The Window Server generates
 events of three different classes, as shown in the following diagram. </p> <fig id="GUID-04CE3E9E-2DB3-5771-B00F-532A57A74E5B">
 <title>              Window server event types            </title>
-<image href="GUID-8D046AD9-1D28-52AE-8B69-2CBF6441F733_d0e237727_href.png" placement="inline"/>
+<image href="GUID-8D046AD9-1D28-52AE-8B69-2CBF6441F733_d0e243700_href.png" placement="inline"/>
 </fig> <table id="GUID-5390256E-7A53-58D4-B698-9AD199182515">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <thead>
--- a/Symbian3/PDK/Source/GUID-B58D93D7-597C-5200-82ED-F434B297CAC9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B58D93D7-597C-5200-82ED-F434B297CAC9"><title>strictdepend</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>strictdepend</codeph> </p> <p>If your project’s dependencies may differ with the variant, use the <codeph>strictdepend</codeph> statement.</p> <p>Without this statement, dependencies will be evaluated for one variant, and then used for all. </p> <p>With <codeph>strictdepend</codeph>, dependencies are evaluated explicitly—a sometimes lengthy process—for each variant.</p> <p>Use <codeph>strictdepend</codeph> if, for instance, you conditionally include a header file, e.g.</p> <codeblock id="GUID-A3FD318E-0006-54A4-ADA4-419B13041B35" xml:space="preserve">#if defined(_DEBUG)
-include &lt;debug.h&gt;
-#endif</codeblock> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B5CC77D2-5871-51D8-B359-77EFC081B423.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B5CC77D2-5871-51D8-B359-77EFC081B423.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -25,7 +25,7 @@
 Object Attributes</xref>. </p> <p>The content and meta-data may also be arranged
 in a hierachy with container objects grouping content objects together. A
 typical archive can have a complex structure as the example shown below: </p> <fig id="GUID-13E44820-5D67-580F-BC0D-26A935EB1F72">
-<image href="GUID-4B7410B2-849B-5E89-97BF-E06613F600CB_d0e615877_href.png" placement="inline"/>
+<image href="GUID-4B7410B2-849B-5E89-97BF-E06613F600CB_d0e587983_href.png" placement="inline"/>
 </fig> <p>In this scenario, the file itself can be considered as the top level
 container. All other content, containers and meta-data are nested inside.
 In an archive file, applications can quickly search for the content objects
--- a/Symbian3/PDK/Source/GUID-B5DE1C86-2B16-4B22-887F-7079E54A8ED6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B5DE1C86-2B16-4B22-887F-7079E54A8ED6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,7 +13,7 @@
 Symbian UI application architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The following image illustrates the components of the traditional architecture
 approach.</p>
-<fig id="GUID-F38DBC9C-31C0-4E4F-934C-38BA4A4B649F"><title>Traditional Symbian UI application architecture classes</title><image href="GUID-DA2C605B-6CCF-4039-BD02-DD4BDA003C97_d0e69055_href.png"/></fig>
+<fig id="GUID-F38DBC9C-31C0-4E4F-934C-38BA4A4B649F"><title>Traditional Symbian UI application architecture classes</title><image href="GUID-DA2C605B-6CCF-4039-BD02-DD4BDA003C97_d0e73268_href.png"/></fig>
 <p>Symbian platform applications that follow the traditional Symbian UI
 application architecture require:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-B6088C0A-20AE-5108-A28C-9CA884205493.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B6088C0A-20AE-5108-A28C-9CA884205493"><title>Resource initialisation punctuation</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A semicolon must follow <i>all</i> member initialisations. For longer, more complicated resources deciding where semicolons must be placed may become confusing. As shown in the following example, array lists are separated by commas and terminated without a semi-colon. Similarly, resources are not terminated by a semi-colon.</p> <codeblock id="GUID-3A6DD81D-7C2A-5B41-9AE1-4B31F9F3BAA1" xml:space="preserve">RESOURCE DIALOG example_dialog
-    {
-    title="Example";
-    topsection=DLAY_SECTION
-        {
-        control_list=
-            {
-            ACLIST
-                {
-                butlist_flags=BUTLIST_HORIZONTAL;
-                rid=R_HCIL_BUTTONS_OK_CANCEL;
-                },    // array member so comma needed
-            ACLIST
-                {
-                butlist_flags=BUTLIST_HORIZONTAL;
-                rid=R_HCIL_BUTTONS_OK_CANCEL;
-                } // last item in array so nothing needed
-            }; // end of struct member control_list so ‘;’ needed
-        };  // end of struct member topsection so ‘;’ needed
-    }   // end of resource so nothing needed</codeblock> <p>The rules to remember are as follows:</p> <table id="GUID-D3314534-0BD3-568A-96A2-9B822CEA4B47"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p><b>Type of entity</b> </p> </entry> <entry><p><b>Punctuation needed after closing }</b> </p> </entry> </row> <row><entry><p>resource</p> </entry> <entry><p>nothing</p> </entry> </row> <row><entry><p>array member (not last one)</p> </entry> <entry><p>,</p> </entry> </row> <row><entry><p>last array member</p> </entry> <entry><p>nothing</p> </entry> </row> <row><entry><p>struct member</p> </entry> <entry><p>;</p> </entry> </row> </tbody> </tgroup> </table> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -55,7 +55,7 @@
 the root stream.</p>
 <fig id="GUID-D45A96E3-5900-5817-8B32-8AA74E3DE584">
 <title>Streams linked in a store</title>
-<image href="GUID-DE5FC074-75C1-5833-83B2-D25396F52732_d0e581278_href.png" placement="inline"/>
+<image href="GUID-DE5FC074-75C1-5833-83B2-D25396F52732_d0e630566_href.png" placement="inline"/>
 </fig>
 <p>Direct file stores are encapsulated by the <codeph>CDirectFileStore</codeph> class. </p>
 </conbody><related-links>
--- a/Symbian3/PDK/Source/GUID-B68FF699-923B-530E-A877-86507B1D42F1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B68FF699-923B-530E-A877-86507B1D42F1"><title>mmp file syntax overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A <filepath>.mmp</filepath> project definition file specifies the properties of a project in a platform and compiler independent way. The <filepath>makmake</filepath> tool converts project definition files into makefiles for particular platforms. The <filepath>abld</filepath> tool wraps calls to <filepath>makmake</filepath>, and can be more convenient to use than <filepath>makmake</filepath> directly. </p> <p>A project definition file has extension <filepath>.mmp</filepath>. </p> <p>Note that: </p> <ul><li id="GUID-5796376B-2834-5C3D-BF27-B987C87B6222"><p>Each statement occupies a single line. </p> </li> <li id="GUID-310510D2-B28C-5069-A98F-A19A6E7A86F3"><p>Use the C++ style comment syntax for comments. </p> </li> <li id="GUID-9AF3002F-9175-5F7E-B6A2-8443994954F1"><p>A trailing backslash is used to indicate a line continuation. Therefore, specify directories without their trailing backslash, for example: Do <codeph>SYSTEMINCLUDE \epoc32\include</codeph>, rather than <codeph>SYSTEMINCLUDE
-             \epoc32\include\</codeph>  </p> </li> </ul> <section><title>Example:</title> <p>An example of an <filepath>.mmp</filepath> file called <filepath>hello.mmp</filepath>: </p> <codeblock id="GUID-26AF80DF-870D-5638-8875-F9085C525EA0" xml:space="preserve">TARGET        HelloWorld.exe
-TARGETTYPE    exe
-UID           0x100039CE 0x10004299
-TARGETPATH                \sys\bin
-VENDORID               0x70000001
-SOURCEPATH    .
-SOURCE        HelloWorld_Main.cpp
-SOURCE        HelloWorld_Application.cpp
-SOURCE        HelloWorld_Document.cpp
-SOURCE        HelloWorld_AppUi.cpp
-SOURCE        HelloWorld_AppView.cpp
-USERINCLUDE   .
-SYSTEMINCLUDE \epoc32\include
-
-START RESOURCE    HelloWorld.rss
-HEADER
-TARGETPATH        \resource\apps
-end
-
-START RESOURCE    HelloWorld_reg.rss
-TARGETPATH        \private\10003a3f\apps
-END
-
-LIBRARY       euser.lib apparc.lib cone.lib eikcore.lib
-</codeblock> </section> <section><title>See also</title> <p> <xref href="GUID-8DB5E558-9774-5CC3-AF8C-6C50D9FE0496.dita">Using makmake</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B" xml:lang="en"><title>How
-to use abld</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <filepath>abld.bat</filepath> batch file is used to control all aspects
-of building a project. It is created in the current directory by the <filepath>bldmake</filepath> tool
-from a component description file <filepath>bld.inf</filepath>. </p>
-<p>The syntax reference for this tool exhaustively lists all of the possible
-build operations which can be performed using <filepath>abld</filepath>. The
-tool's flexibility obscures the fact that most Symbian developers will only
-need to use two commands: one for cleaning up all files created in a previous
-build, and another for building the current project. </p>
-<section><title>Cleaning</title> <p>Cleaning removes all the intermediate
-files created during compilation, and all the executables and import libraries
-created by the linker. The simplest invocation of this operation deletes the
-files for all platforms, and projects belonging to the component. </p> <p><userinput>abld
-clean</userinput> </p> <p>It is also possible to specify the platform and
-build variant to be cleaned. </p> </section>
-<section><title>Building</title> <p> <filepath>abld</filepath> builds projects
-based on the makefiles created by <filepath>bldmake</filepath> from the component
-information file and project files. </p> <p>The simplest invocation of this
-command builds the project for all possible build variants: </p> <p><userinput>abld
-build</userinput> </p> <p>However building for a platform can take some time,
-and it is usual to only specify the platform required. For example, to build
-the debug version on the WINSCW platform specify: </p> <p><userinput>abld
-build winscw udeb</userinput> </p> <p>or to build the release version for
-ARMV5 use: </p> <p><userinput>abld build armv5 urel</userinput> </p><note>The <codeph>build</codeph> command
-combines the other <filepath>abld</filepath> commands: <codeph>export</codeph>, <codeph>makefile</codeph>, <codeph>library</codeph>, <codeph>resource</codeph>, <codeph>target</codeph> and <codeph>final</codeph>, which are carried out
-in turn. </note> <p><b>See also </b> </p> <p><xref href="GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E.dita">Abld
-syntax</xref> </p><p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">Using
-bldmake</xref> </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B6F0C909-6E58-584E-9270-8066337FCE0F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B6F0C909-6E58-584E-9270-8066337FCE0F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 and also shows aspects of the relationship between the constituent parts.
 In this case, the client is the MultiMediaCard driver, although in general
 this could be some other device driver. </p><fig id="GUID-FF02FE34-4E77-42DE-89BC-4D789E6A310D">
-<image href="GUID-6597A895-37D5-51D1-86B3-E74F6E845899_d0e398103_href.png" placement="inline"/>
+<image href="GUID-6597A895-37D5-51D1-86B3-E74F6E845899_d0e403956_href.png" placement="inline"/>
 </fig> <p>The session is used to pass commands either to the entire stack,
 i.e. a broadcast command, or to individual cards in the stack. </p> <p>The
 session provides access to the stack of cards, via a pointer to a stack object,
--- a/Symbian3/PDK/Source/GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321"><title>start bitmap</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>start bitmap</codeph>  <varname>target-file</varname> </p> <p>[<codeph>targetpath</codeph>  <varname>targetpath</varname>] </p> <p>[<codeph>header</codeph>] </p> <p>[<codeph>sourcepath</codeph>  <varname>sourcepath</varname>] </p> <p> <codeph>source</codeph>  <varname>color-depth</varname> <varname>source-bitmap-list</varname> </p> <p> <codeph>end</codeph> </p> <p>A <codeph>start bitmap</codeph> section specifies how to compile bitmap (<filepath>.bmp</filepath>) files into a Symbian platform format multi-bitmap (<filepath>.mbm</filepath>) file. </p> <p>The <varname>target-file</varname> to be produced should be given with its extension, e.g. <filepath>squash.mbm</filepath>. </p> <p>If a target path is specified, that path will be interpreted as a location on the emulated <filepath>z:</filepath> drive; otherwise, the target file will be built into the same directory as the application. </p> <p>If the <codeph>header</codeph> keyword is supplied in the section, a bitmap header will be generated in directory <filepath>epoc32\include</filepath>, e.g. <filepath>squash.mbg</filepath>. </p> <p>Multiple <codeph>sourcepath</codeph> and <codeph>source</codeph> statements can be specified. Source bitmaps specified with each <codeph>source</codeph> statement will be expected to exist in the directory specified with the latest <codeph>sourcepath</codeph> statement above it. </p> <p>Just a single colour-depth must be specified for all the source bitmaps within a single <codeph>source</codeph> statement, and must be of the form [<codeph>c</codeph>]<varname>digit</varname>,<varname>digit</varname>, where the optional <codeph>c</codeph> denotes whether the bitmap is a colour bitmap and the digits represent the colour-depth of the bitmap and the bitmap mask respectively. It is recommended that the mask has a colour depth of 1 bit per pixel, to minimise memory usage. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 relationship between the components is : </p> <fig id="GUID-CA8AE056-6988-5611-BFE0-9999C0F02FF7">
 <title>              Architecture of the feature management system       
     </title>
-<image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e568722_href.png" placement="inline"/>
+<image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618018_href.png" placement="inline"/>
 </fig><p>  Feature Manager Client is not supplied with all versions of Symbian
 Platform. Feature Discovery, which is always supplied, provides a subset of
 the functionality of Feature Manager Client and offers superior performance
--- a/Symbian3/PDK/Source/GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,212 +1,185 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1" xml:lang="en"><title>dynamicarray:
-Using Dynamic Arrays</title><shortdesc>This example application demonstrates how to construct and use
-dynamic arrays.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> The example includes both simple dynamic arrays and extended dynamic arrays.
-You are likely to use simple dynamic arrays often. Extended dynamic arrays
-are combinations of element properties and storage types. </p>
-<p>The example implements the following operations for the <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita"><apiname>RArray</apiname></xref> and <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita"><apiname>RPointerArray</apiname></xref> classes: </p>
-<ul>
-<li id="GUID-B97ECA5C-C85B-5FFE-85C8-5CF63B1E28BE"><p>Appends elements </p> </li>
-<li id="GUID-94B944CD-E9E2-5C4D-AACB-9E132A042D9E"><p>Inserts elements </p> </li>
-<li id="GUID-C08769D8-4921-53BE-A07C-08ADE237D05F"><p>Accesses elements </p> </li>
-<li id="GUID-CB9EE059-E64B-5178-962F-1B21569581DF"><p>Removes elements </p> </li>
-<li id="GUID-FFD58188-D8E0-5B53-8E59-91911186C7CB"><p>Finds elements (in various
-ways) </p> </li>
-<li id="GUID-6ADD8D2B-9B4E-52C5-838E-DA0F3D646390"><p>Sorts array </p> </li>
-<li id="GUID-BF05324F-470C-5DE6-8BAD-E842D7C2BBC8"><p>Destroys the array </p> </li>
-</ul>
-<section id="GUID-C469AD45-C916-48B9-A621-944D8FE0B625"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a0e27f39-b574-424f-af5c-8e764d4e3aa0.zip" scope="external">DynamicArrays.zip</xref></p><p>Download some additional files
-required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref></p><p>View the source code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a0e27f39-b574-424f-af5c-8e764d4e3aa0.html" scope="peer">browse </xref> . View the additional files:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">browse</xref>.</p> </section>
-<section id="GUID-B7551573-B14D-45A9-9F29-39033C2058EC"><title>Description</title> <p>This
-example demonstrates how to construct and use the following types of dynamic
-arrays: </p> <p><b>CArrayFixFlat</b> </p> <p>This example uses the <xref href="GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3.dita"><apiname>CArrayFixFlat</apiname></xref> array
-class to create an array of objects. These objects are of fixed length and
-are stored in a flat buffer. </p> <p>The following operations are performed
-on this array: </p> <ul>
-<li id="GUID-98A1051E-C6A9-5A4D-9AC0-6421E7D2B972"><p> <b>Append elements:</b> The
-example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-B4C14DDC-78BF-3A11-9A7C-6B7F948CE162"><apiname>CArrayFix::AppendL()</apiname></xref> function to append
-objects to the array. </p> </li>
-<li id="GUID-EC85E528-D19E-5E93-B3D7-09A5E4920335"><p> <b>Insert elements:</b> The
-example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-C6A1753D-E8A6-39CA-ACCA-42192A7B1BA3"><apiname>CArrayFix::InsertL()</apiname></xref> function to insert
-objects into the array at the specified position. </p> </li>
-<li id="GUID-2572C5EC-A0AF-59AE-A165-A47741C035B1"><p> <b>Remove elements:</b> The
-example uses the <xref href="GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF.dita#GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF/GUID-3B6B91EE-B89F-3BA9-8F07-5036A347A6DE"><apiname>CArrayFixBase::Delete()</apiname></xref> function to delete
-objects from the array. </p> </li>
-<li id="GUID-437DB73D-A4CB-573C-B75F-1E56A667F196"><p> <b>Sort elements:</b> The
-example defines an array key to sort the array using the <xref href="GUID-5BC09594-7D9F-3B3F-95B0-7828A756537B.dita"><apiname>TKeyArrayFix</apiname></xref> class.
-The <xref href="GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF.dita#GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF/GUID-B62662E3-F359-3A16-8C61-38A9E2EC7A56"><apiname>CArrayFixBase::Sort()</apiname></xref> function is used to sort the
-array using this array key. </p> </li>
-<li id="GUID-3EF730BC-B9DC-5906-ACE5-EC57DB8FDF46"><p> <b>Swap two elements:</b> The
-example implements the <xref href="GUID-04117018-A42A-3D49-9EA3-D1D7A7785B0A.dita#GUID-04117018-A42A-3D49-9EA3-D1D7A7785B0A/GUID-22AB214D-552D-3F5B-9A04-E620453FFD08"><apiname>TSwap::Swap()</apiname></xref> function through the <codeph>CMySwap</codeph> class.
-The <codeph>CMySwap::Swap()</codeph> function is used to swap two elements
-of the array. </p> </li>
-<li id="GUID-58714E19-49E6-528B-A462-F88BCB0063A3"><p> <b>Find an element:</b> The
-example implements the <codeph>TKeyElementFix</codeph> class. This class is
-a <xref href="GUID-0756A649-486C-3CE5-9F1E-467E008A63C7.dita"><apiname>TKey</apiname></xref> derived class. It overrides the <xref href="GUID-0756A649-486C-3CE5-9F1E-467E008A63C7.dita#GUID-0756A649-486C-3CE5-9F1E-467E008A63C7/GUID-EE6812EB-9E48-303D-88B7-B0D49581E9B1"><apiname>TKey::At()</apiname></xref> function.
-The <codeph>TKeyElementFix::At()</codeph> function gets a pointer to the key
-of a specified array element. This function is used by the <xref href="GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3.dita#GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3/GUID-D5FB0842-E883-3977-95EB-EA2D0189A429"><apiname>CArrayFixFlat::Find()</apiname></xref> function
-to find an element in the array. </p> </li>
-</ul> <p><b>CArrayPtrFlat</b> </p> <p>This example uses the <xref href="GUID-FCE7D958-96AA-346D-8D22-0EF24B9DB7CC.dita"><apiname>CArrayPtrFlat</apiname></xref> array
-class to create an array of pointers to <codeph>CBase</codeph> derived objects. </p> <p>The
-following operations are performed on this array: </p> <ul>
-<li id="GUID-291A9D24-E360-59A5-9856-D727920E06A3"><p> <b>Append elements:</b> The
-example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-B4C14DDC-78BF-3A11-9A7C-6B7F948CE162"><apiname>CArrayFix::AppendL()</apiname></xref> function to append
-objects to the array. </p> </li>
-<li id="GUID-17E609B9-837D-528B-A4EC-983AFCCC9D55"><p> <b>Insert elements:</b> The
-example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-C6A1753D-E8A6-39CA-ACCA-42192A7B1BA3"><apiname>CArrayFix::InsertL()</apiname></xref> function to insert
-objects into the array at the specified position. </p> </li>
-<li id="GUID-CC2A6E70-76E1-5029-B409-09EE2ADFCF0D"><p> <b>Remove elements:</b> The
-example uses the <xref href="GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF.dita#GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF/GUID-3B6B91EE-B89F-3BA9-8F07-5036A347A6DE"><apiname>CArrayFixBase::Delete()</apiname></xref> function to delete
-objects from the array. </p> </li>
-</ul> <p><b>CArrayVarFlat</b> </p> <p>This example uses the <xref href="GUID-5BC7EAFE-FC9C-3E86-BFDC-FDE9FE086D53.dita"><apiname>CArrayVarFlat</apiname></xref> array
-class to create an array of objects. These objects are of different lengths.
-Pointers to these elements are maintained in a flat dynamic buffer. </p> <p>The
-following operations are performed on this array: </p> <ul>
-<li id="GUID-D44919CC-40CF-5BE9-8228-633B752E83BE"><p> <b>Append elements:</b> The
-example uses the <xref href="GUID-C2430ABF-D276-3F70-A18B-7059F3099BF1.dita#GUID-C2430ABF-D276-3F70-A18B-7059F3099BF1/GUID-8C5D0DD4-880F-357C-92F5-C4750EF3F0CA"><apiname>CArrayVar::AppendL()</apiname></xref> function to append
-objects to the array. </p> </li>
-<li id="GUID-DE339118-3311-5603-8925-9C540E2E3B5F"><p> <b>Sort elements:</b> The
-example defines an array key to sort the array using the <xref href="GUID-03CE0E0B-3731-338A-87E4-49B669AD4EBC.dita"><apiname>TKeyArrayVar</apiname></xref> class.
-The <xref href="GUID-1BA1D5FF-BE4A-3EA5-9784-ADEA1B81EF39.dita#GUID-1BA1D5FF-BE4A-3EA5-9784-ADEA1B81EF39/GUID-9E6E6A98-12F0-3D18-A9A2-5AECEE597FCD"><apiname>CArrayVarBase::Sort()</apiname></xref> function is used to sort the
-array using this array key. </p> </li>
-</ul> <p><b>CArrayPakFlat</b> </p> <p>This example uses the <xref href="GUID-4D6E6B46-32B5-34AD-BD8A-84BF6B2B7C81.dita"><apiname>CArrayPakFlat</apiname></xref> array
-class to create an array of objects. These objects are of variable lengths.
-These are stored in a flat buffer. Each element is preceded by its length
-information. </p> <p>The following operations are performed on this array: </p> <ul>
-<li id="GUID-DC8D9F36-DD53-52CB-B28B-585EF92A4F6E"><p> <b>Append elements:</b> The
-example uses the <xref href="GUID-899495E6-C20E-3614-A3A9-C49A7916E5E7.dita#GUID-899495E6-C20E-3614-A3A9-C49A7916E5E7/GUID-2AA0BFE1-E86D-3E4C-99C0-116A4D23458E"><apiname>CArrayPak::AppendL()</apiname></xref> function to append
-objects to the array. </p> </li>
-<li id="GUID-CC45322E-DD5A-5A59-99C5-E5EC5F50102F"><p> <b>Find an element:</b> The
-example defines an array key to find an element in the array using the <xref href="GUID-F3BF9485-BA32-36A4-9B39-FC51E28F5A24.dita"><apiname>TKeyArrayPak</apiname></xref> class.
-The <xref href="GUID-800D79F0-D735-3AC5-BDFD-F1E7B8C37B99.dita#GUID-800D79F0-D735-3AC5-BDFD-F1E7B8C37B99/GUID-A52664B1-8E1F-3570-92EC-E7EEEA26F204"><apiname>CArrayPakBase::Find()</apiname></xref> function is used to find an element
-in the array. </p> </li>
-</ul> <p><b>RArray</b> </p> <p>This example constructs a simple dynamic array
-called <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita"><apiname>RArray</apiname></xref>. It is an efficient array of fixed length
-objects. The elements of this array are the instances of another class, so
-this is specified as a template parameter <codeph>T</codeph>. </p> <p>This
-example shows the following operations to this array: </p> <ul>
-<li id="GUID-C70C80B2-E102-5B25-AE9C-9A81FF8A98EB"><p> <b>Append elements:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Appends the objects into the array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-91876009-5DB6-3EC3-A666-C641DFD9F6AC"><apiname>RArray::AppendL()</apiname></xref>.</p></li>
-<li><p>Displays the number of objects and prints each object present in the
-array.</p></li>
-</ul> </li>
-<li id="GUID-6DE66AF3-ECD0-599C-9BE0-CE56FAAE8DEB"><p> <b>Insert elements:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Inserts the objects at a specified position using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-16727B8A-AFFB-3980-AD43-5F48FDE6636F"><apiname>RArray::InsertL()</apiname></xref>.</p></li>
-<li><p>Passes the position of the object to the second parameter of <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-16727B8A-AFFB-3980-AD43-5F48FDE6636F"><apiname>RArray::InsertL()</apiname></xref>. </p></li>
-<li><p>Inserts objects in the beginning, middle, and at the end of the array. </p></li>
-<li><p>Displays the number of objects and prints each object present in the
-array. </p></li>
-</ul> </li>
-<li id="GUID-4D341B6F-68F2-5111-9016-DF394371E9D9"><p> <b>Access elements:</b> The
-example accesses each object in the array and display into the console. </p> </li>
-<li id="GUID-1BC1A5E9-2C9D-56C3-BD68-ABF6887A6611"><p> <b>Remove elements:</b> The
-example removes an object at a specific position from the array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-1DB4CB58-EFC8-3A83-9F37-19269C6C2C3B"><apiname>RArray::Remove()</apiname></xref>. </p> </li>
-<li id="GUID-9A8AE90E-5FBC-546E-8486-B49E9C102ADE"><p> <b>Find elements:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Finds the first object in the array that matches the specified object
-using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-3E855FCF-DF2C-3466-86F8-DD1EB6E29276"><apiname>RArray::Find()</apiname></xref>.</p></li>
-<li><p>Finds the last object in the array that matches the specified object
-using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-C6D7018E-764D-3F22-B2AC-9DD440803E29"><apiname>RArray::FindReverse()</apiname></xref>. </p></li>
-<li><p>Finds the object using a binary search technique in the array, which
-matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-DCB1F823-9EF6-34DB-8355-2BC2EF26FE7C"><apiname>RArray::FindInSignedKeyOrder()</apiname></xref>.
-It assumes that the existing objects within the array are in signed key order.</p></li>
-<li><p>Finds the object using a binary search technique in the array, which
-matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-0E388DD6-B45D-3446-8962-A0EDBD342638"><apiname>RArray::FindInUnsignedKeyOrder()</apiname></xref>.
-It assumes that the existing objects within the array are in unsigned key
-order. </p></li>
-<li><p>Finds the object using a binary search technique in the array, which
-matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-A18066A7-E8D1-3639-A1A3-28FC305530AC"><apiname>RArray::SpecificFindInSignedKeyOrder()</apiname></xref>.
-It passes the mode as the second parameter of this API to find the first,
-last, or any match in case of multiple matches. It assumes that the existing
-objects within the array are in signed key order.</p></li>
-<li><p>Finds the object using a binary search technique in the array, which
-matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-A2A443D0-0BC5-3918-8F4D-02EE8631DFA5"><apiname>RArray::SpecificFindInUnsignedKeyOrder()</apiname></xref>.
-It passes the mode as the second parameter of this API to find the first,
-last, or any match in case of multiple matches. It assumes that the existing
-objects within the array are in unsigned key order.</p></li>
-</ul> </li>
-<li id="GUID-BCE082EF-B079-5CCD-A05D-E75673D41F6A"><p> <b>Sort elements:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Constructs two arrays of 64-bit signed integer type objects. </p></li>
-<li><p>Appends random objects to the first array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-B765D192-0DFD-3C6C-9CC2-DF9127CCBCD1"><apiname>RArray::Append()</apiname></xref>. </p></li>
-<li><p>Inserts the data present in the first array to the second array.</p></li>
-<li><p>Sorts the element of second array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-1341082A-2B94-39A8-9392-C7579703448B"><apiname>RArray::sort()</apiname></xref>.</p></li>
-</ul> </li>
-<li id="GUID-0C4013C6-FF11-5EF5-997D-FC700B0EA074"><p> <b>Destroy the array:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Destroys the array using delete operator. </p></li>
-<li><p>Closes the array and removes all the memory allocated to the array
-using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-03B4185C-48D1-3006-850C-3FEC64624652"><apiname>RArray::Close()</apiname></xref>.</p></li>
-</ul> </li>
-</ul> <p><b>RPointerArray</b> </p> <p>This example constructs a simple dynamic
-array of pointers to objects called <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita"><apiname>RPointerArray</apiname></xref>. It is
-an efficient pointer array of fixed-length objects. The elements of this array
-are the instances of another class so this is specified as a template parameter <codeph>T</codeph>. </p> <p>This
-example shows the following operations to this array: </p> <ul>
-<li id="GUID-407A782D-D24C-57F1-9186-EA282BAED7DE"><p> <b>Append elements:</b> The
-example performs the following steps: <ul>
-<li><p>Appends the object pointers into the array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-E68CDC4B-4F61-38CA-8B15-18316FB3E474"><apiname>RPointerArray::AppendL()</apiname></xref>.</p></li>
-<li><p>Displays the number of object pointers and prints each object pointer
-present in the array. </p></li>
-</ul> </p></li>
-<li id="GUID-F912B096-C0D2-54AB-83BC-5EF5AE27056D"><p> <b>Insert elements:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Inserts the objects pointer at a specified position using <xref href="GUID-DB067403-726B-3DCF-B1D9-F51CB2003608.dita#GUID-DB067403-726B-3DCF-B1D9-F51CB2003608/GUID-F93DF5F8-3FEF-3688-8734-CBB14E6359ED"><apiname>RpointerArray::InsertL()</apiname></xref>. </p></li>
-<li><p>Passes the position of the object pointer to the second parameter of <xref href="GUID-DB067403-726B-3DCF-B1D9-F51CB2003608.dita#GUID-DB067403-726B-3DCF-B1D9-F51CB2003608/GUID-F93DF5F8-3FEF-3688-8734-CBB14E6359ED"><apiname>RpointerArray::InsertL()</apiname></xref>. </p></li>
-<li><p>Inserts object pointer at the beginning, in the middle, and at the
-end of the array. </p></li>
-<li><p>Displays the number of object pointers and prints each object pointer
-present in the array. </p></li>
-</ul> </li>
-<li id="GUID-EA24F055-BEE4-59D3-AE73-0050D234B210"><p> <b>Access elements:</b> The
-example accesses each object pointer in the array and displays it to the console. </p> </li>
-<li id="GUID-07DEA041-3DA6-50F0-A741-B35BCE2A8F5E"><p> <b>Remove elements:</b> The
-example removes an object pointer at a specific position from the array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-EC933901-F350-3A6E-8685-A67CA37A1E11"><apiname>RPointerArray::Remove()</apiname></xref>. </p> </li>
-<li id="GUID-FA180B99-1F67-59ED-A3D0-72301D9C8715"><p> <b>Find elements:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Finds the first object pointer in the array that matches the specified
-object using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-8A9FDFE2-36DF-3761-9954-F109772AF61A"><apiname>RPointerArray::Find()</apiname></xref>. </p></li>
-<li><p>Finds the last object pointer in the array that matches the specified
-object using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-C5A21601-1A65-3511-ABD6-A8FFD980557A"><apiname>RPointerArray::FindReverse()</apiname></xref>. </p></li>
-<li><p>Finds the object pointer in the array that matches the specified object
-pointer, using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-A481AF4B-3E62-3C1F-B5D7-8AF728FDF669"><apiname>RPointerArray::FindInAddressOrder()</apiname></xref>. It
-assumes that object pointers in the array are in address order. </p></li>
-</ul> </li>
-<li id="GUID-04A741B2-2B7B-582C-A3EB-9826D55A2E09"><p> <b>Sort elements:</b> The
-example performs the following steps: </p><ul>
-<li><p>Constructs two arrays of <codeph>TAny</codeph> pointer objects. </p></li>
-<li><p>Appends random objects to the first pointer array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-C58AEACF-A227-365B-BFA8-90EFA488ED41"><apiname>RPointerArray::Append()</apiname></xref>. </p></li>
-<li><p>Inserts the data present in the first pointer array to the second pointer
-array. </p></li>
-<li><p>Sorts the element of the second pointer array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-46A0EC17-43BA-33B8-B24C-7D30F5726668"><apiname>RPointerArray::sort()</apiname></xref>. </p></li>
-</ul> </li>
-<li id="GUID-2B2521B2-815E-5798-8258-76B812BA42B5"><p> <b>Destroy the array:</b> The
-example performs the following steps: </p> <ul>
-<li><p>Destroys and resets the pointer array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-5F92DA38-9A3C-3D78-9E8B-F0341025F73C"><apiname>RPointerArray::ResetAnddestroy()</apiname></xref>. </p></li>
-<li><p>Closes the pointer array and removes all the memory allocated to the
-array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-B96DA352-0983-31F3-BF46-EE30122F27B5"><apiname>RPointerArray::Close()</apiname></xref>. </p></li>
-</ul> </li>
-</ul> </section>
-<section id="GUID-232031B9-5964-45FC-A497-1FBC6FB068B1"><title>Class summary</title><p> <xref href="GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3.dita"><apiname>CArrayFixFlat </apiname></xref>  <xref href="GUID-FCE7D958-96AA-346D-8D22-0EF24B9DB7CC.dita"><apiname>CArrayPtrFlat </apiname></xref> <xref href="GUID-5BC7EAFE-FC9C-3E86-BFDC-FDE9FE086D53.dita"><apiname>CArrayVarFlat </apiname></xref>  <xref href="GUID-4D6E6B46-32B5-34AD-BD8A-84BF6B2B7C81.dita"><apiname>CArrayPakFlat </apiname></xref>  <xref href="GUID-04117018-A42A-3D49-9EA3-D1D7A7785B0A.dita"><apiname>TSwap </apiname></xref> <xref href="GUID-5BC09594-7D9F-3B3F-95B0-7828A756537B.dita"><apiname>TKeyArrayFix </apiname></xref>  <xref href="GUID-03CE0E0B-3731-338A-87E4-49B669AD4EBC.dita"><apiname>TKeyArrayVar </apiname></xref>  <xref href="GUID-F3BF9485-BA32-36A4-9B39-FC51E28F5A24.dita"><apiname>TKeyArrayPak </apiname></xref> <xref href="GUID-0756A649-486C-3CE5-9F1E-467E008A63C7.dita"><apiname>TKey </apiname></xref>  <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita"><apiname>RArray </apiname></xref>  <xref href="GUID-C028C373-CE25-3832-855E-17FB738721CF.dita"><apiname>TLinearOrder </apiname></xref>  <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita"><apiname>RPointerArray</apiname></xref>  </p></section>
-<section id="GUID-7F5416FD-580C-4CD5-8167-DB6C546B75A4"><title>Build</title> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref> describes
-how to build this example. </p> <p>For the emulator, the example builds an
-executable file called <filepath>DynamicArrays.exe</filepath> in the standard
-location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for
-CodeWarrior) directory. After launching the executable file, depending on
-the emulator you are using, you can task away from the application launcher
-or shell screen to view the console. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1" xml:lang="en"><title>dynamicarray: Using Dynamic Arrays</title><shortdesc>This example application demonstrates how to construct
+and use dynamic arrays.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> The example includes both simple dynamic arrays and extended dynamic
+arrays. You are likely to use simple dynamic arrays often. Extended
+dynamic arrays are combinations of element properties and storage
+types. </p>
+<p>The example implements the following operations for the <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita"><apiname>RArray</apiname></xref> and <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita"><apiname>RPointerArray</apiname></xref> classes: </p>
+<ul>
+<li id="GUID-B97ECA5C-C85B-5FFE-85C8-5CF63B1E28BE"><p>Appends elements </p> </li>
+<li id="GUID-94B944CD-E9E2-5C4D-AACB-9E132A042D9E"><p>Inserts elements </p> </li>
+<li id="GUID-C08769D8-4921-53BE-A07C-08ADE237D05F"><p>Accesses elements </p> </li>
+<li id="GUID-CB9EE059-E64B-5178-962F-1B21569581DF"><p>Removes elements </p> </li>
+<li id="GUID-FFD58188-D8E0-5B53-8E59-91911186C7CB"><p>Finds elements
+(in various ways) </p> </li>
+<li id="GUID-6ADD8D2B-9B4E-52C5-838E-DA0F3D646390"><p>Sorts array </p> </li>
+<li id="GUID-BF05324F-470C-5DE6-8BAD-E842D7C2BBC8"><p>Destroys the
+array </p> </li>
+</ul>
+<section id="GUID-C469AD45-C916-48B9-A621-944D8FE0B625"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a0e27f39-b574-424f-af5c-8e764d4e3aa0.zip" scope="external">DynamicArrays.zip</xref></p><p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref></p><p>View the source
+code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a0e27f39-b574-424f-af5c-8e764d4e3aa0.html" scope="peer">browse </xref> . View the additional files:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">browse</xref>.</p> </section>
+<section id="GUID-B7551573-B14D-45A9-9F29-39033C2058EC"><title>Description</title> <p>This example demonstrates how to construct and use the following
+types of dynamic arrays: </p> <p><b>CArrayFixFlat</b> </p> <p>This
+example uses the <xref href="GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3.dita"><apiname>CArrayFixFlat</apiname></xref> array class to create
+an array of objects. These objects are of fixed length and are stored
+in a flat buffer. </p> <p>The following operations are performed on
+this array: </p> <ul>
+<li id="GUID-98A1051E-C6A9-5A4D-9AC0-6421E7D2B972"><p> <b>Append elements:</b> The example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-B4C14DDC-78BF-3A11-9A7C-6B7F948CE162"><apiname>CArrayFix::AppendL()</apiname></xref> function
+to append objects to the array. </p> </li>
+<li id="GUID-EC85E528-D19E-5E93-B3D7-09A5E4920335"><p> <b>Insert elements:</b> The example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-C6A1753D-E8A6-39CA-ACCA-42192A7B1BA3"><apiname>CArrayFix::InsertL()</apiname></xref> function
+to insert objects into the array at the specified position. </p> </li>
+<li id="GUID-2572C5EC-A0AF-59AE-A165-A47741C035B1"><p> <b>Remove elements:</b> The example uses the <xref href="GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF.dita#GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF/GUID-3B6B91EE-B89F-3BA9-8F07-5036A347A6DE"><apiname>CArrayFixBase::Delete()</apiname></xref> function
+to delete objects from the array. </p> </li>
+<li id="GUID-437DB73D-A4CB-573C-B75F-1E56A667F196"><p> <b>Sort elements:</b> The example defines an array key to sort the array using the <xref href="GUID-5BC09594-7D9F-3B3F-95B0-7828A756537B.dita"><apiname>TKeyArrayFix</apiname></xref> class. The <xref href="GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF.dita#GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF/GUID-B62662E3-F359-3A16-8C61-38A9E2EC7A56"><apiname>CArrayFixBase::Sort()</apiname></xref> function is used to sort the array using this array key. </p> </li>
+<li id="GUID-3EF730BC-B9DC-5906-ACE5-EC57DB8FDF46"><p> <b>Swap two
+elements:</b> The example implements the <xref href="GUID-04117018-A42A-3D49-9EA3-D1D7A7785B0A.dita#GUID-04117018-A42A-3D49-9EA3-D1D7A7785B0A/GUID-22AB214D-552D-3F5B-9A04-E620453FFD08"><apiname>TSwap::Swap()</apiname></xref> function through the <codeph>CMySwap</codeph> class. The <codeph>CMySwap::Swap()</codeph> function is used to swap two elements of
+the array. </p> </li>
+<li id="GUID-58714E19-49E6-528B-A462-F88BCB0063A3"><p> <b>Find an
+element:</b> The example implements the <codeph>TKeyElementFix</codeph> class. This class is a <xref href="GUID-0756A649-486C-3CE5-9F1E-467E008A63C7.dita"><apiname>TKey</apiname></xref> derived class. It
+overrides the <xref href="GUID-0756A649-486C-3CE5-9F1E-467E008A63C7.dita#GUID-0756A649-486C-3CE5-9F1E-467E008A63C7/GUID-EE6812EB-9E48-303D-88B7-B0D49581E9B1"><apiname>TKey::At()</apiname></xref> function. The <codeph>TKeyElementFix::At()</codeph> function gets a pointer to the key
+of a specified array element. This function is used by the <xref href="GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3.dita#GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3/GUID-D5FB0842-E883-3977-95EB-EA2D0189A429"><apiname>CArrayFixFlat::Find()</apiname></xref> function to find an element in the
+array. </p> </li>
+</ul> <p><b>CArrayPtrFlat</b> </p> <p>This example uses the <xref href="GUID-FCE7D958-96AA-346D-8D22-0EF24B9DB7CC.dita"><apiname>CArrayPtrFlat</apiname></xref> array class to create an array of pointers
+to <codeph>CBase</codeph> derived objects. </p> <p>The following operations
+are performed on this array: </p> <ul>
+<li id="GUID-291A9D24-E360-59A5-9856-D727920E06A3"><p> <b>Append elements:</b> The example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-B4C14DDC-78BF-3A11-9A7C-6B7F948CE162"><apiname>CArrayFix::AppendL()</apiname></xref> function
+to append objects to the array. </p> </li>
+<li id="GUID-17E609B9-837D-528B-A4EC-983AFCCC9D55"><p> <b>Insert elements:</b> The example uses the <xref href="GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585.dita#GUID-79EFD210-2C4F-31E5-83CD-DC9FE54FD585/GUID-C6A1753D-E8A6-39CA-ACCA-42192A7B1BA3"><apiname>CArrayFix::InsertL()</apiname></xref> function
+to insert objects into the array at the specified position. </p> </li>
+<li id="GUID-CC2A6E70-76E1-5029-B409-09EE2ADFCF0D"><p> <b>Remove elements:</b> The example uses the <xref href="GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF.dita#GUID-B0159EFA-B76E-3C59-8B35-42CC93DAF0FF/GUID-3B6B91EE-B89F-3BA9-8F07-5036A347A6DE"><apiname>CArrayFixBase::Delete()</apiname></xref> function
+to delete objects from the array. </p> </li>
+</ul> <p><b>CArrayVarFlat</b> </p> <p>This example uses the <xref href="GUID-5BC7EAFE-FC9C-3E86-BFDC-FDE9FE086D53.dita"><apiname>CArrayVarFlat</apiname></xref> array class to create an array of objects.
+These objects are of different lengths. Pointers to these elements
+are maintained in a flat dynamic buffer. </p> <p>The following operations
+are performed on this array: </p> <ul>
+<li id="GUID-D44919CC-40CF-5BE9-8228-633B752E83BE"><p> <b>Append elements:</b> The example uses the <xref href="GUID-C2430ABF-D276-3F70-A18B-7059F3099BF1.dita#GUID-C2430ABF-D276-3F70-A18B-7059F3099BF1/GUID-8C5D0DD4-880F-357C-92F5-C4750EF3F0CA"><apiname>CArrayVar::AppendL()</apiname></xref> function
+to append objects to the array. </p> </li>
+<li id="GUID-DE339118-3311-5603-8925-9C540E2E3B5F"><p> <b>Sort elements:</b> The example defines an array key to sort the array using the <xref href="GUID-03CE0E0B-3731-338A-87E4-49B669AD4EBC.dita"><apiname>TKeyArrayVar</apiname></xref> class. The <xref href="GUID-1BA1D5FF-BE4A-3EA5-9784-ADEA1B81EF39.dita#GUID-1BA1D5FF-BE4A-3EA5-9784-ADEA1B81EF39/GUID-9E6E6A98-12F0-3D18-A9A2-5AECEE597FCD"><apiname>CArrayVarBase::Sort()</apiname></xref> function is used to sort the array using this array key. </p> </li>
+</ul> <p><b>CArrayPakFlat</b> </p> <p>This example uses the <xref href="GUID-4D6E6B46-32B5-34AD-BD8A-84BF6B2B7C81.dita"><apiname>CArrayPakFlat</apiname></xref> array class to create an array of objects.
+These objects are of variable lengths. These are stored in a flat
+buffer. Each element is preceded by its length information. </p> <p>The following operations are performed on this array: </p> <ul>
+<li id="GUID-DC8D9F36-DD53-52CB-B28B-585EF92A4F6E"><p> <b>Append elements:</b> The example uses the <xref href="GUID-899495E6-C20E-3614-A3A9-C49A7916E5E7.dita#GUID-899495E6-C20E-3614-A3A9-C49A7916E5E7/GUID-2AA0BFE1-E86D-3E4C-99C0-116A4D23458E"><apiname>CArrayPak::AppendL()</apiname></xref> function
+to append objects to the array. </p> </li>
+<li id="GUID-CC45322E-DD5A-5A59-99C5-E5EC5F50102F"><p> <b>Find an
+element:</b> The example defines an array key to find an element in
+the array using the <xref href="GUID-F3BF9485-BA32-36A4-9B39-FC51E28F5A24.dita"><apiname>TKeyArrayPak</apiname></xref> class. The <xref href="GUID-800D79F0-D735-3AC5-BDFD-F1E7B8C37B99.dita#GUID-800D79F0-D735-3AC5-BDFD-F1E7B8C37B99/GUID-A52664B1-8E1F-3570-92EC-E7EEEA26F204"><apiname>CArrayPakBase::Find()</apiname></xref> function is used to find an element
+in the array. </p> </li>
+</ul> <p><b>RArray</b> </p> <p>This example constructs a simple dynamic
+array called <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita"><apiname>RArray</apiname></xref>. It is an efficient array of
+fixed length objects. The elements of this array are the instances
+of another class, so this is specified as a template parameter <codeph>T</codeph>. </p> <p>This example shows the following operations to
+this array: </p> <ul>
+<li id="GUID-C70C80B2-E102-5B25-AE9C-9A81FF8A98EB"><p> <b>Append elements:</b> The example performs the following steps: </p> <ul>
+<li><p>Appends the objects into the array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-91876009-5DB6-3EC3-A666-C641DFD9F6AC"><apiname>RArray::AppendL()</apiname></xref>.</p></li>
+<li><p>Displays the number of objects and prints each object present
+in the array.</p></li>
+</ul> </li>
+<li id="GUID-6DE66AF3-ECD0-599C-9BE0-CE56FAAE8DEB"><p> <b>Insert elements:</b> The example performs the following steps: </p> <ul>
+<li><p>Inserts the objects at a specified position using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-16727B8A-AFFB-3980-AD43-5F48FDE6636F"><apiname>RArray::InsertL()</apiname></xref>.</p></li>
+<li><p>Passes the position of the object to the second parameter of <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-16727B8A-AFFB-3980-AD43-5F48FDE6636F"><apiname>RArray::InsertL()</apiname></xref>. </p></li>
+<li><p>Inserts objects in the beginning, middle, and at the end of
+the array. </p></li>
+<li><p>Displays the number of objects and prints each object present
+in the array. </p></li>
+</ul> </li>
+<li id="GUID-4D341B6F-68F2-5111-9016-DF394371E9D9"><p> <b>Access elements:</b> The example accesses each object in the array and display into the
+console. </p> </li>
+<li id="GUID-1BC1A5E9-2C9D-56C3-BD68-ABF6887A6611"><p> <b>Remove elements:</b> The example removes an object at a specific position from the array
+using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-1DB4CB58-EFC8-3A83-9F37-19269C6C2C3B"><apiname>RArray::Remove()</apiname></xref>. </p> </li>
+<li id="GUID-9A8AE90E-5FBC-546E-8486-B49E9C102ADE"><p> <b>Find elements:</b> The example performs the following steps: </p> <ul>
+<li><p>Finds the first object in the array that matches the specified
+object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-3E855FCF-DF2C-3466-86F8-DD1EB6E29276"><apiname>RArray::Find()</apiname></xref>.</p></li>
+<li><p>Finds the last object in the array that matches the specified
+object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-C6D7018E-764D-3F22-B2AC-9DD440803E29"><apiname>RArray::FindReverse()</apiname></xref>. </p></li>
+<li><p>Finds the object using a binary search technique in the array,
+which matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-DCB1F823-9EF6-34DB-8355-2BC2EF26FE7C"><apiname>RArray::FindInSignedKeyOrder()</apiname></xref>. It assumes that the existing objects within the array are in signed
+key order.</p></li>
+<li><p>Finds the object using a binary search technique in the array,
+which matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-0E388DD6-B45D-3446-8962-A0EDBD342638"><apiname>RArray::FindInUnsignedKeyOrder()</apiname></xref>. It assumes that the existing objects within the array are in unsigned
+key order. </p></li>
+<li><p>Finds the object using a binary search technique in the array,
+which matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-A18066A7-E8D1-3639-A1A3-28FC305530AC"><apiname>RArray::SpecificFindInSignedKeyOrder()</apiname></xref>. It passes the mode as the second parameter of this API to find
+the first, last, or any match in case of multiple matches. It assumes
+that the existing objects within the array are in signed key order.</p></li>
+<li><p>Finds the object using a binary search technique in the array,
+which matches the specified object using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-A2A443D0-0BC5-3918-8F4D-02EE8631DFA5"><apiname>RArray::SpecificFindInUnsignedKeyOrder()</apiname></xref>. It passes the mode as the second parameter of this API to find
+the first, last, or any match in case of multiple matches. It assumes
+that the existing objects within the array are in unsigned key order.</p></li>
+</ul> </li>
+<li id="GUID-BCE082EF-B079-5CCD-A05D-E75673D41F6A"><p> <b>Sort elements:</b> The example performs the following steps: </p> <ul>
+<li><p>Constructs two arrays of 64-bit signed integer type objects. </p></li>
+<li><p>Appends random objects to the first array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-B765D192-0DFD-3C6C-9CC2-DF9127CCBCD1"><apiname>RArray::Append()</apiname></xref>. </p></li>
+<li><p>Inserts the data present in the first array to the second array.</p></li>
+<li><p>Sorts the element of second array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-1341082A-2B94-39A8-9392-C7579703448B"><apiname>RArray::sort()</apiname></xref>.</p></li>
+</ul> </li>
+<li id="GUID-0C4013C6-FF11-5EF5-997D-FC700B0EA074"><p> <b>Destroy
+the array:</b> The example performs the following steps: </p> <ul>
+<li><p>Destroys the array using delete operator. </p></li>
+<li><p>Closes the array and removes all the memory allocated to the
+array using <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita#GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707/GUID-03B4185C-48D1-3006-850C-3FEC64624652"><apiname>RArray::Close()</apiname></xref>.</p></li>
+</ul> </li>
+</ul> <p><b>RPointerArray</b> </p> <p>This example constructs a simple
+dynamic array of pointers to objects called <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita"><apiname>RPointerArray</apiname></xref>. It is an efficient pointer array of fixed-length objects. The elements
+of this array are the instances of another class so this is specified
+as a template parameter <codeph>T</codeph>. </p> <p>This example shows
+the following operations to this array: </p> <ul>
+<li id="GUID-407A782D-D24C-57F1-9186-EA282BAED7DE"><p> <b>Append elements:</b> The example performs the following steps: <ul>
+<li><p>Appends the object pointers into the array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-E68CDC4B-4F61-38CA-8B15-18316FB3E474"><apiname>RPointerArray::AppendL()</apiname></xref>.</p></li>
+<li><p>Displays the number of object pointers and prints each object
+pointer present in the array. </p></li>
+</ul> </p></li>
+<li id="GUID-F912B096-C0D2-54AB-83BC-5EF5AE27056D"><p> <b>Insert elements:</b> The example performs the following steps: </p> <ul>
+<li><p>Inserts the objects pointer at a specified position using <xref href="GUID-DB067403-726B-3DCF-B1D9-F51CB2003608.dita#GUID-DB067403-726B-3DCF-B1D9-F51CB2003608/GUID-F93DF5F8-3FEF-3688-8734-CBB14E6359ED"><apiname>RpointerArray::InsertL()</apiname></xref>. </p></li>
+<li><p>Passes the position of the object pointer to the second parameter
+of <xref href="GUID-DB067403-726B-3DCF-B1D9-F51CB2003608.dita#GUID-DB067403-726B-3DCF-B1D9-F51CB2003608/GUID-F93DF5F8-3FEF-3688-8734-CBB14E6359ED"><apiname>RpointerArray::InsertL()</apiname></xref>. </p></li>
+<li><p>Inserts object pointer at the beginning, in the middle, and
+at the end of the array. </p></li>
+<li><p>Displays the number of object pointers and prints each object
+pointer present in the array. </p></li>
+</ul> </li>
+<li id="GUID-EA24F055-BEE4-59D3-AE73-0050D234B210"><p> <b>Access elements:</b> The example accesses each object pointer in the array and displays
+it to the console. </p> </li>
+<li id="GUID-07DEA041-3DA6-50F0-A741-B35BCE2A8F5E"><p> <b>Remove elements:</b> The example removes an object pointer at a specific position from
+the array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-EC933901-F350-3A6E-8685-A67CA37A1E11"><apiname>RPointerArray::Remove()</apiname></xref>. </p> </li>
+<li id="GUID-FA180B99-1F67-59ED-A3D0-72301D9C8715"><p> <b>Find elements:</b> The example performs the following steps: </p> <ul>
+<li><p>Finds the first object pointer in the array that matches the
+specified object using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-8A9FDFE2-36DF-3761-9954-F109772AF61A"><apiname>RPointerArray::Find()</apiname></xref>. </p></li>
+<li><p>Finds the last object pointer in the array that matches the
+specified object using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-C5A21601-1A65-3511-ABD6-A8FFD980557A"><apiname>RPointerArray::FindReverse()</apiname></xref>. </p></li>
+<li><p>Finds the object pointer in the array that matches the specified
+object pointer, using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-A481AF4B-3E62-3C1F-B5D7-8AF728FDF669"><apiname>RPointerArray::FindInAddressOrder()</apiname></xref>. It assumes that object pointers in the array are in address order. </p></li>
+</ul> </li>
+<li id="GUID-04A741B2-2B7B-582C-A3EB-9826D55A2E09"><p> <b>Sort elements:</b> The example performs the following steps: </p><ul>
+<li><p>Constructs two arrays of <codeph>TAny</codeph> pointer objects. </p></li>
+<li><p>Appends random objects to the first pointer array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-C58AEACF-A227-365B-BFA8-90EFA488ED41"><apiname>RPointerArray::Append()</apiname></xref>. </p></li>
+<li><p>Inserts the data present in the first pointer array to the
+second pointer array. </p></li>
+<li><p>Sorts the element of the second pointer array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-46A0EC17-43BA-33B8-B24C-7D30F5726668"><apiname>RPointerArray::sort()</apiname></xref>. </p></li>
+</ul> </li>
+<li id="GUID-2B2521B2-815E-5798-8258-76B812BA42B5"><p> <b>Destroy
+the array:</b> The example performs the following steps: </p> <ul>
+<li><p>Destroys and resets the pointer array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-5F92DA38-9A3C-3D78-9E8B-F0341025F73C"><apiname>RPointerArray::ResetAnddestroy()</apiname></xref>. </p></li>
+<li><p>Closes the pointer array and removes all the memory allocated
+to the array using <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita#GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F/GUID-B96DA352-0983-31F3-BF46-EE30122F27B5"><apiname>RPointerArray::Close()</apiname></xref>. </p></li>
+</ul> </li>
+</ul> </section>
+<section id="GUID-232031B9-5964-45FC-A497-1FBC6FB068B1"><title>Class
+summary</title><p> <xref href="GUID-12C65B99-553E-35CA-B36F-2F77BFC972B3.dita"><apiname>CArrayFixFlat </apiname></xref>  <xref href="GUID-FCE7D958-96AA-346D-8D22-0EF24B9DB7CC.dita"><apiname>CArrayPtrFlat </apiname></xref> <xref href="GUID-5BC7EAFE-FC9C-3E86-BFDC-FDE9FE086D53.dita"><apiname>CArrayVarFlat </apiname></xref>  <xref href="GUID-4D6E6B46-32B5-34AD-BD8A-84BF6B2B7C81.dita"><apiname>CArrayPakFlat </apiname></xref>  <xref href="GUID-04117018-A42A-3D49-9EA3-D1D7A7785B0A.dita"><apiname>TSwap </apiname></xref> <xref href="GUID-5BC09594-7D9F-3B3F-95B0-7828A756537B.dita"><apiname>TKeyArrayFix </apiname></xref>  <xref href="GUID-03CE0E0B-3731-338A-87E4-49B669AD4EBC.dita"><apiname>TKeyArrayVar </apiname></xref>  <xref href="GUID-F3BF9485-BA32-36A4-9B39-FC51E28F5A24.dita"><apiname>TKeyArrayPak </apiname></xref> <xref href="GUID-0756A649-486C-3CE5-9F1E-467E008A63C7.dita"><apiname>TKey </apiname></xref>  <xref href="GUID-FAEBF321-6B08-3041-A01F-B1E7282D0707.dita"><apiname>RArray </apiname></xref>  <xref href="GUID-C028C373-CE25-3832-855E-17FB738721CF.dita"><apiname>TLinearOrder </apiname></xref>  <xref href="GUID-AAA13D1F-1BD7-3331-BB8C-11FA2795B53F.dita"><apiname>RPointerArray</apiname></xref>  </p></section>
+<section id="GUID-7F5416FD-580C-4CD5-8167-DB6C546B75A4"><title>Build</title> <p> The Symbian build process describes how to build this example. </p> <p>For the emulator, the example builds an executable
+file called <filepath>DynamicArrays.exe</filepath> in the standard
+location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior) directory. After launching the executable file,
+depending on the emulator you are using, you can task away from the
+application launcher or shell screen to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B7542EA6-6188-5A3D-A287-0766F7B42DC0_d0e584186_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7542EA6-6188-5A3D-A287-0766F7B42DC0_d0e612080_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B756AB28-A0EA-5AA3-86E3-CCFFCD642F08.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B756AB28-A0EA-5AA3-86E3-CCFFCD642F08.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 <p>A link is represented by the templated class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBRecordLink&lt;T&gt;</apiname></xref>.
 The template parameter defines the type of record to which the link refers. </p>
 <fig id="GUID-0DFAC1B1-F79B-5C11-8EF3-13E70DBC5984">
-<image href="GUID-0FF61B9C-8B0D-5369-B0DA-29AA169B4308_d0e110036_href.png" placement="inline"/>
+<image href="GUID-0FF61B9C-8B0D-5369-B0DA-29AA169B4308_d0e112459_href.png" placement="inline"/>
 </fig>
 <p>A link is a public data member of a class. The class defines the structure
 of record. This record is the 'parent' record of the linked record. For example,
--- a/Symbian3/PDK/Source/GUID-B77702FA-7385-51A0-986F-7667669CBDB2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B77702FA-7385-51A0-986F-7667669CBDB2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,10 +12,10 @@
 <concept id="GUID-B77702FA-7385-51A0-986F-7667669CBDB2" xml:lang="en"><title>Guide to Optimising Performance</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>This document highlights areas to investigate as part of a system-wide
 performance optimization process. </p>
-<section id="GUID-4B3CF640-15D0-462B-8E64-C002115DDF90"><title>Introduction</title> <p>During development much attention
-is devoted to functionality. It is typically only at the later stages
-of development that performance (speed, RAM use, power consumption)
-becomes an issue. This is inevitable for many good reasons. </p> <ul>
+<section id="GUID-4B3CF640-15D0-462B-8E64-C002115DDF90"><title>Introduction</title> <p>During development much attention is devoted to functionality.
+It is typically only at the later stages of development that performance
+(speed, RAM use, power consumption) becomes an issue. This is inevitable
+for many good reasons. </p> <ul>
 <li id="GUID-32A6D5A9-4A2C-5EC0-B602-98C0B14A9487"><p>Performance
 cannot be easily or usefully assessed until a device or system nears
 completion. </p> </li>
@@ -35,8 +35,8 @@
 to producing high-performance products. </p> <p>The Symbian Developer
 Library is full of advice on how to write fast and efficient code
 and how to configure your software and hardware for optimized performance. </p> </section>
-<section id="GUID-7AAFD9F5-6AFD-42C6-8872-F67EA380C7EB"><title>Objectives</title> <p>Performance improvement or optimization
-may be described as achieving some or all of the following: </p> <ul>
+<section id="GUID-7AAFD9F5-6AFD-42C6-8872-F67EA380C7EB"><title>Objectives</title> <p>Performance improvement or optimization may be described as achieving
+some or all of the following: </p> <ul>
 <li id="GUID-62821E16-8F93-5C56-ADD7-B1D1ACA08AFB"><p>Increased execution
 speed. Applications and processes perform or appear to perform tasks
 in less time. </p> </li>
@@ -49,17 +49,17 @@
 <li id="GUID-4554E6D0-76D7-589F-924A-9724074F8A0F"><p>Reduced power
 consumption. </p> </li>
 </ul> </section>
-<section id="GUID-A332DB15-D2A3-4596-95ED-5045DE2EA378"><title>Assessment and Measurement</title> <p>Making changes
-to functioning code is a time consuming and high-risk activity. Before
-making any changes, therefore, you must be confident that you are
-likely to have a significant beneficial impact and that you will be
-able to measure and quantify it. </p> <p>The Symbian platform includes
-tools and supports techniques that enable you to analyze, monitor
-and measure the performance of your system or device. </p> <p>The
-Symbian Platform Sampling Profiler </p> <p><xref href="GUID-BB174A7C-9B72-55C8-8C8A-F5FB14AB3607.dita">Hardware Debugging
-Tools</xref>  </p> <p><xref href="GUID-A3E77067-7982-5803-A274-0C8F2562B483.dita">General purpose logging
-(UTRACE)</xref>  </p> </section>
-<section id="GUID-863D9195-62F8-455E-89C2-AD1D912066A4"><title>Actions and Activities</title> <p><b>Configuration</b> </p> <p>The Symbian platform and many of its
+<section id="GUID-A332DB15-D2A3-4596-95ED-5045DE2EA378"><title>Assessment
+and Measurement</title> <p>Making changes to functioning code is a
+time consuming and high-risk activity. Before making any changes,
+therefore, you must be confident that you are likely to have a significant
+beneficial impact and that you will be able to measure and quantify
+it. </p> <p>The Symbian platform includes tools and supports techniques
+that enable you to analyze, monitor and measure the performance of
+your system or device. </p> <p>The Symbian Platform Sampling Profiler </p> <p><xref href="GUID-BB174A7C-9B72-55C8-8C8A-F5FB14AB3607.dita">Hardware
+Debugging Tools</xref>  </p> <p>General purpose logging (UTRACE)  </p> </section>
+<section id="GUID-863D9195-62F8-455E-89C2-AD1D912066A4"><title>Actions
+and Activities</title> <p><b>Configuration</b> </p> <p>The Symbian platform and many of its
 components support various build-time configuration parameters. These
 include settings in configuration and initialization files, macro
 definitions and patchable constant values. </p> <p><xref href="GUID-7E401451-16EB-515B-88B2-4D0D2D6C7A57.dita">Adjustable Performance
@@ -70,10 +70,10 @@
 of inefficient code is executed repeatedly. By identifying where bottlenecks
 exist you target specific areas of code that have a significant impact
 on performance. </p> <p><xref href="GUID-49645D0A-AEA4-5D61-A6F3-633D80DCFD5B.dita">Application Performance</xref>  </p> <p><xref href="GUID-12FF05BE-F06E-58F0-909D-05CB6F7FA03E.dita">Code Efficiency</xref>  </p> </section>
-<section id="GUID-F2E2E586-E2F8-4EC2-987A-F38ED2771F14"><title>Further Reading</title> <p>The following documents,
-located in other sections of the library, discuss performance and
-optimization issues relating to particular components of the operating
-system. </p> <ul>
+<section id="GUID-F2E2E586-E2F8-4EC2-987A-F38ED2771F14"><title>Further
+Reading</title> <p>The following documents, located in other sections
+of the library, discuss performance and optimization issues relating
+to particular components of the operating system. </p> <ul>
 <li id="GUID-EF06353C-E907-507E-8468-DC373D6E89AB"><p>Calendar: <xref href="GUID-94AC5E9C-146D-5FE7-B7B6-44AA139A6012.dita">Speeding up Agenda
 Application Start-up How-To Document, in the Agenda Model engineering
 documents section</xref>  </p> </li>
Binary file Symbian3/PDK/Source/GUID-B77F8AA2-969A-59CC-908E-CEC486247B2F_d0e450865_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B77F8AA2-969A-59CC-908E-CEC486247B2F_d0e456710_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e267145_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e273145_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -50,7 +50,7 @@
 as the <i>Transport</i>. </p> <fig id="GUID-5467DE40-01FB-5D50-BB6D-866D5C425ADA">
 <title>              Separation of Data Flows and Control in the Comms Architecture
            </title>
-<image href="GUID-69847989-624F-5119-8AC0-3D95D72AF076_d0e106396_href.png" placement="inline"/>
+<image href="GUID-69847989-624F-5119-8AC0-3D95D72AF076_d0e108839_href.png" placement="inline"/>
 </fig> <p>In fact the Comms Architecture actually divides the area marked
 Control above into two areas, <i>Control</i> and <i>Management</i>. This is
 the reason that this Comms Architecture is also known as the <i>Three-Plane
@@ -77,7 +77,7 @@
 the same              protocols.            </title>
 <desc><p>In this example IP and TCP are used in three different stacks. A
 combination of these Stacks could be running concurrently. </p> </desc>
-<image href="GUID-FBBC7F0D-FD4B-58B7-BEAC-B68EEBD19ACF_d0e106444_href.png" placement="inline"/>
+<image href="GUID-FBBC7F0D-FD4B-58B7-BEAC-B68EEBD19ACF_d0e108887_href.png" placement="inline"/>
 </fig> <p>Each stack requires a configuration that details how these protocols
 find and work with each other; the protocols themselves need to know how to
 talk with the other protocols. To allow flexibility, each protocol must avoid
@@ -97,7 +97,7 @@
 <title>              The Comms Architecture shown in the scope of a complete
 protocol              stack and the end-to-end path between the applications
 on each device.            </title>
-<image href="GUID-26399981-1E45-5578-851E-D234295F3B05_d0e106461_href.png" placement="inline"/>
+<image href="GUID-26399981-1E45-5578-851E-D234295F3B05_d0e108904_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-1BAC904D-F705-5416-A0F6-3D5FA3B10A7E"><title>Performance</title> <p>A
 key requirement of the Comms Architecture is the performance of data transfer.
Binary file Symbian3/PDK/Source/GUID-B7CC7993-7D71-5237-AF39-2BB63789BACB_d0e277152_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7CC7993-7D71-5237-AF39-2BB63789BACB_d0e283152_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7D1D1ED-932C-4A17-AE80-EDF163FC789A_d0e81413_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7D1D1ED-932C-4A17-AE80-EDF163FC789A_d0e85611_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7E55764-C137-4877-9083-63ACEAF30BE5_d0e86006_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7E55764-C137-4877-9083-63ACEAF30BE5_d0e90204_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B7E5C7C1-E02F-575C-981B-E14DA10C63D2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B7E5C7C1-E02F-575C-981B-E14DA10C63D2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,5 +10,5 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-B7E5C7C1-E02F-575C-981B-E14DA10C63D2"><title>Architecture</title><shortdesc>This topic describes the architecture of the Root Server and the C32exe process.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <fig id="GUID-0C913075-CD53-5834-8F3F-077AA8556C4B"><title>Figure 1 - The architecture of Root Server and
-      the C32exe process</title> <image href="GUID-B7F3F71A-2E05-58A5-98B2-0C62C65286D1_d0e139043_href.png" placement="inline"/></fig> <p>Figure 1 shows that the Root Server is a thread in the C32 process. The Root Server provider a Client library which other applications can use to request services of the Root Server. This client library is the only interaction the Root Server has outside the C32 process.</p> <p>The Root Server contains the functionality to manage the MBufs and Bindings of the C32 process. The Root Server creates Comms Provider Modules within the C32 process only. These Comms Provider Modules may have client libraries outside the C32 process. For example, the Socket Server Comms Provider Module loads <filepath>esocksvr.dll</filepath>. The <codeph>esocksvr</codeph> DLL has a client library <filepath>esock.lib</filepath> which applications use to request services from the Socket Server.</p> <p>Figure 2 shows the C32 process and Root Server with some example Comms Provider Modules and the Comms Configurator using the Root Server client API.</p> <fig id="GUID-4FC93F03-ABE7-5519-A665-32C968AA66C8"><title>Figure 2 - Comms Process with example CPMs
-      loaded</title> <image href="GUID-51E0F9C6-CFAF-5113-8516-30045B1269C7_d0e139067_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+      the C32exe process</title> <image href="GUID-B7F3F71A-2E05-58A5-98B2-0C62C65286D1_d0e141292_href.png" placement="inline"/></fig> <p>Figure 1 shows that the Root Server is a thread in the C32 process. The Root Server provider a Client library which other applications can use to request services of the Root Server. This client library is the only interaction the Root Server has outside the C32 process.</p> <p>The Root Server contains the functionality to manage the MBufs and Bindings of the C32 process. The Root Server creates Comms Provider Modules within the C32 process only. These Comms Provider Modules may have client libraries outside the C32 process. For example, the Socket Server Comms Provider Module loads <filepath>esocksvr.dll</filepath>. The <codeph>esocksvr</codeph> DLL has a client library <filepath>esock.lib</filepath> which applications use to request services from the Socket Server.</p> <p>Figure 2 shows the C32 process and Root Server with some example Comms Provider Modules and the Comms Configurator using the Root Server client API.</p> <fig id="GUID-4FC93F03-ABE7-5519-A665-32C968AA66C8"><title>Figure 2 - Comms Process with example CPMs
+      loaded</title> <image href="GUID-51E0F9C6-CFAF-5113-8516-30045B1269C7_d0e141316_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B7E7E6D6-7824-505C-BA0B-B7861897E78F_d0e375726_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7E7E6D6-7824-505C-BA0B-B7861897E78F_d0e381570_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7F3F71A-2E05-58A5-98B2-0C62C65286D1_d0e139043_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B7F3F71A-2E05-58A5-98B2-0C62C65286D1_d0e141292_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B80E3FB0-C26F-52A8-B4DE-0A219B974ABC_d0e260256_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B80E3FB0-C26F-52A8-B4DE-0A219B974ABC_d0e266265_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -484,7 +484,7 @@
 and associating it with each of the controls. The class that implements the
 hit-test region must implement the MCoeControlHitTest interface. </p> <fig id="GUID-5C856964-8553-543A-B7E2-8D5DCA9BF52C">
 <title>              Hit-test region example            </title>
-<image href="GUID-CF34E1C9-48E5-5B91-A48E-C68E647116A0_d0e75526_href.png" placement="inline"/>
+<image href="GUID-CF34E1C9-48E5-5B91-A48E-C68E647116A0_d0e79739_href.png" placement="inline"/>
 </fig> <codeblock id="GUID-D2AF9CEB-3072-5239-A157-D19852076CEF" xml:space="preserve">
 class MCoeControlHitTest
         ...
--- a/Symbian3/PDK/Source/GUID-B87B9E01-F5EB-40F6-A580-A7E46869AE39.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B87B9E01-F5EB-40F6-A580-A7E46869AE39.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 The Email Framework includes a common message store service which can be used
 by the plug-ins. The Email Server is a background process handling mailbox-related
 events. </p><fig id="GUID-2E1FBBC6-1440-4ADC-8AC6-41EF8565FD4F">
-<image href="GUID-60890859-C8B7-4677-962A-B5AE73D42F86_d0e105451_href.jpg" placement="inline"/>
+<image href="GUID-60890859-C8B7-4677-962A-B5AE73D42F86_d0e107894_href.jpg" placement="inline"/>
 </fig><p> In the above diagram components shown in blue color are provided
 by Symbian platform, components shown in grey color are internal, and components
 in yellow color are thirdy-party applications.</p>     </section>
--- a/Symbian3/PDK/Source/GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-B89575A8-5F36-59FA-9FA3-48E2985E54C9"><title>Dispatch Layer</title><shortdesc>This topic describes the dispatch layer of the Common TSY. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The dispatch layer is a shim between the Common TSY and the Licensee TSY. The dispatch layer is implemented by the library <codeph>ctsydispatcher.dll</codeph>. </p> <p>The dispatch layer provides: </p> <ul><li id="GUID-D5446064-895F-5348-B1F4-DEE76FC69155"><p>An interface based on the functional units of the common TSY. </p> </li> <li id="GUID-AE93688F-11BD-5E3D-969F-693364276329"><p>Packing and unpacking of the messages between the Common TSY and the Licensee TSY </p> </li> <li id="GUID-8A475921-152F-5EC5-97A6-20CEC26F8C60"><p>Simple input and output parameters for the Licensee TSY </p> </li> <li id="GUID-8F99EF64-16A1-5BFC-8CA3-145DF45222C7"><p>Call-back functions for the Licensee TSY to send the updates and status messages to the Common TSY. </p> </li> </ul> <section><title>Message Manager </title> <p>The messages from the CTSY are passed to the dispatch layer by the <xref href="GUID-5C84AC6D-36A5-3439-990A-CD781990755F.dita"><apiname>CMmMessageManagerBase</apiname></xref> functions. </p> </section> <section><title>Message Router</title> <p>The message router receives the request messages from the CTSY and forwards them to the appropriate dispatcher. The dispatch layer contains many dispatcher classes based on the functional units. </p> </section> <section id="GUID-162746DD-E2E2-548F-8026-5C4281BF0CC5"><title>Dispatcher Classes</title> <p>The Common TSY with the dispatch layer decreases the time to develop a Licensee TSY. The dispatch layer contains the <xref href="GUID-A833178C-8682-3BE0-B8E2-704D38B43260.dita"><apiname>CMessageRouter</apiname></xref> and provides the factory class <xref href="GUID-C174E22A-FDDE-3221-96F8-7D4857685765.dita"><apiname>CLtsyFactoryV1</apiname></xref>. The dispatch layer also contains the dispatchers. </p> <p>The main role of the dispatcher is to handle the messages between the message router and the LTSY. The factory class is responsible for creating the required handlers. The dispatcher is responsible for packing the call-back messages from the LTSY and unpacking the messages from the message router for passage to the LTSY. There is a dispatcher class for each functional unit such as SMS, Phone or Cell Broadcast. The following table describes the dispatcher class for each functional unit: </p> <table id="GUID-F56DA6FA-4BC0-5D20-959F-D2EED10DD437"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Functional Unit</entry> <entry>Dispatcher class name</entry> </row> </thead> <tbody><row><entry><p>Call Control </p> </entry> <entry><p> <xref href="GUID-F8259252-D4AA-3CDD-A5BA-A989CE2D0DED.dita"><apiname>CCallControlDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Phone </p> </entry> <entry><p> <xref href="GUID-1A334DF3-7F9F-3AA0-A9B0-1BD8FDDAB266.dita"><apiname>CPhoneDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Security </p> </entry> <entry><p> <xref href="GUID-F749FCEE-5329-3153-B098-E72169A11E9E.dita"><apiname>CSecurityDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Cell Broadcast </p> </entry> <entry><p> <xref href="GUID-CBB02AC5-7B2B-35F6-BA63-E7FD5817043E.dita"><apiname>CCellBroadcastDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Own Number Phonebook Store </p> </entry> <entry><p> <xref href="GUID-BDADFE44-05BB-39A2-88B4-5D25D7292D6A.dita"><apiname>CPhonebookOnDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Phonebook store </p> </entry> <entry><p> <xref href="GUID-91FEED1E-4427-373E-906E-B821793793E9.dita"><apiname>CPhonebookDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Emergency Number Phonebook Store </p> </entry> <entry><p> <xref href="GUID-CDB57F73-06A5-308E-B575-E54DA042A648.dita"><apiname>CPhonebookEnDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>SIM </p> </entry> <entry><p> <xref href="GUID-E0B6CFCC-7698-300A-8B47-71A41E73F764.dita"><apiname>CSimDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>SMS </p> </entry> <entry><p> <xref href="GUID-CC30E7AD-B999-36BE-B34A-656796E35981.dita"><apiname>CSmsDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Multiparty Call </p> </entry> <entry><p> <xref href="GUID-DC362538-01D4-3C04-9078-190878B155A5.dita"><apiname>CCallControlMultipartyDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Supplementary Services </p> </entry> <entry><p> <xref href="GUID-110285FA-074E-37AF-961E-3E398313ADF2.dita"><apiname>CSupplementaryServicesDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>Packet Data Services </p> </entry> <entry><p> <xref href="GUID-A92D9B8B-9CE5-3A2F-AF3E-F47257D3D68A.dita"><apiname>CPacketServicesDispatcher</apiname></xref>  </p> </entry> </row> <row><entry><p>SIM Application Toolkit </p> </entry> <entry><p> <xref href="GUID-FE2C28F2-7F09-3F9A-A8B8-887B66408D74.dita"><apiname>CSatDispatcher</apiname></xref>  </p> </entry> </row> </tbody> </tgroup> </table> <fig id="GUID-19D474AD-4B7B-5160-AA33-3EDD37D73C1B"><title>
              Example Sequence flow between the CTSY Dispatcher and LTSY 
-          </title> <image href="GUID-BCD83E02-9645-530C-8BD9-CCA1B8756842_d0e54862_href.png" placement="inline"/></fig> <p> <xref href="GUID-E6BE8260-066E-3E95-856A-7CE50D955E71.dita"><apiname>CCtsyDispatcherCallback</apiname></xref> class provides the methods to the LTSY to send the status and service complete messages to the CTSY. </p> </section> <section><title>CTSY Requests</title> <ol id="GUID-68B4FB4D-7206-5117-ADF0-E8DAF841B421"><li id="GUID-F7BBA32A-A15D-5F27-9640-9367C425CADA"><p>The dispatch layer provides the interface between the CTSY and LTSY. </p> </li> <li id="GUID-C38905CD-9823-54C4-AD09-40943E951568"><p>The telephony client requests the services from the telephony server. </p> <p>The telephony applications request the telephony services like request for a voice call, data call or a fax call. </p> </li> <li id="GUID-768ECE92-7F5A-5A58-AF97-BB1D45FB1C88"><p>The telephony server sends the request to the CTSY. </p> </li> <li id="GUID-8AF0F109-51A2-5781-9A6A-8663FBDE76B2"><p>The CTSY sends the requests to the dispatch layer. </p> </li> <li id="GUID-A4A5ACBD-AE49-5293-AAC4-B07052EFF067"><p>The dispatch layer unpacks the request message and calls the methods in the LTSY to service the telephony client request. </p> </li> </ol> <p>The LTSY must implement the interfaces of the dispatch layer to accept the client requests. The implementation depends on the baseband design. If a telephony client request is not available or not implemented in the device <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref> or a similar error is returned to the clients. </p> <p>The functions calls to the LTSY have a standard convention: </p> <codeblock id="GUID-6A379B2B-D4D1-5828-BE9C-3164BFF09A52" xml:space="preserve">TInt Handle&lt;FuncDesc&gt;&lt;Type&gt;(&lt;arg list&gt;); </codeblock> <ul><li id="GUID-4C4BC6B3-CC3E-5810-B2D0-DF39A6381807"><p> <xref href="GUID-7A2A43EC-6125-3BFE-834B-23C37F7B40D5.dita"><apiname>TInt</apiname></xref> is the return code </p> </li> <li id="GUID-90C415B6-4094-593F-9CFD-B45CF72C9A76"><p> <codeph>FuncDec</codeph> describes the function call </p> </li> <li id="GUID-D6FD8D94-E9B0-5493-AF10-4C6FA5B79AFB"><p> <codeph>Type</codeph> is <b>Sync</b> for synchronous calls or <b>Req</b> for asynchronous request messages. </p> </li> </ul> </section> <section><title>Call-back Functions</title> <p>The <xref href="GUID-E6BE8260-066E-3E95-856A-7CE50D955E71.dita"><apiname>CCtsyDispatcherCallback</apiname></xref> class functions provide the interface for the LTSY to communicate with the dispatch layer. A pointer to this instance is passed to the LTSY. All <codeph>Req</codeph> type calls from the dispatch layer must be accompanied by a call-back function call. The call-back functions are called by the LTSY to notify completion of a request or to update a status. The dispatch layer packs the request messages with the data. The data contains the request command parameters from the telephony server client. An example of a request command is to dial a number. </p> <p>The call-back functions have a standard name convention: </p> <codeblock id="GUID-DF7213F5-C6F0-56F1-9BFC-1EFD9A2C86CA" xml:space="preserve">void Callback&lt;FuncDesc&gt;&lt;Type&gt;(&lt;arg list&gt;); </codeblock> <ul><li id="GUID-95B95C7D-D575-592C-81F5-7B08D06809F7"><p> <codeph>FuncDesc</codeph> is the description of the call-back function such as <codeph>GetHomeNetwork</codeph>. </p> </li> <li id="GUID-37EB2A20-1003-5D27-AEB2-96F234FDC6B7"><p> <codeph>Type</codeph> is either <b>Comp</b> or <b>Ind</b>. <codeph/>  </p> <p> <codeph>Comp</codeph> is used in the call-back functions that notify a request is complete. <codeph>Ind</codeph> is used in the call-back functions that notify events to the CTSY. The call-back function with <codeph>IND</codeph> prefix are unsolicited. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-BCD83E02-9645-530C-8BD9-CCA1B8756842_d0e59096_href.png" placement="inline"/></fig> <p> <xref href="GUID-E6BE8260-066E-3E95-856A-7CE50D955E71.dita"><apiname>CCtsyDispatcherCallback</apiname></xref> class provides the methods to the LTSY to send the status and service complete messages to the CTSY. </p> </section> <section><title>CTSY Requests</title> <ol id="GUID-68B4FB4D-7206-5117-ADF0-E8DAF841B421"><li id="GUID-F7BBA32A-A15D-5F27-9640-9367C425CADA"><p>The dispatch layer provides the interface between the CTSY and LTSY. </p> </li> <li id="GUID-C38905CD-9823-54C4-AD09-40943E951568"><p>The telephony client requests the services from the telephony server. </p> <p>The telephony applications request the telephony services like request for a voice call, data call or a fax call. </p> </li> <li id="GUID-768ECE92-7F5A-5A58-AF97-BB1D45FB1C88"><p>The telephony server sends the request to the CTSY. </p> </li> <li id="GUID-8AF0F109-51A2-5781-9A6A-8663FBDE76B2"><p>The CTSY sends the requests to the dispatch layer. </p> </li> <li id="GUID-A4A5ACBD-AE49-5293-AAC4-B07052EFF067"><p>The dispatch layer unpacks the request message and calls the methods in the LTSY to service the telephony client request. </p> </li> </ol> <p>The LTSY must implement the interfaces of the dispatch layer to accept the client requests. The implementation depends on the baseband design. If a telephony client request is not available or not implemented in the device <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref> or a similar error is returned to the clients. </p> <p>The functions calls to the LTSY have a standard convention: </p> <codeblock id="GUID-6A379B2B-D4D1-5828-BE9C-3164BFF09A52" xml:space="preserve">TInt Handle&lt;FuncDesc&gt;&lt;Type&gt;(&lt;arg list&gt;); </codeblock> <ul><li id="GUID-4C4BC6B3-CC3E-5810-B2D0-DF39A6381807"><p> <xref href="GUID-7A2A43EC-6125-3BFE-834B-23C37F7B40D5.dita"><apiname>TInt</apiname></xref> is the return code </p> </li> <li id="GUID-90C415B6-4094-593F-9CFD-B45CF72C9A76"><p> <codeph>FuncDec</codeph> describes the function call </p> </li> <li id="GUID-D6FD8D94-E9B0-5493-AF10-4C6FA5B79AFB"><p> <codeph>Type</codeph> is <b>Sync</b> for synchronous calls or <b>Req</b> for asynchronous request messages. </p> </li> </ul> </section> <section><title>Call-back Functions</title> <p>The <xref href="GUID-E6BE8260-066E-3E95-856A-7CE50D955E71.dita"><apiname>CCtsyDispatcherCallback</apiname></xref> class functions provide the interface for the LTSY to communicate with the dispatch layer. A pointer to this instance is passed to the LTSY. All <codeph>Req</codeph> type calls from the dispatch layer must be accompanied by a call-back function call. The call-back functions are called by the LTSY to notify completion of a request or to update a status. The dispatch layer packs the request messages with the data. The data contains the request command parameters from the telephony server client. An example of a request command is to dial a number. </p> <p>The call-back functions have a standard name convention: </p> <codeblock id="GUID-DF7213F5-C6F0-56F1-9BFC-1EFD9A2C86CA" xml:space="preserve">void Callback&lt;FuncDesc&gt;&lt;Type&gt;(&lt;arg list&gt;); </codeblock> <ul><li id="GUID-95B95C7D-D575-592C-81F5-7B08D06809F7"><p> <codeph>FuncDesc</codeph> is the description of the call-back function such as <codeph>GetHomeNetwork</codeph>. </p> </li> <li id="GUID-37EB2A20-1003-5D27-AEB2-96F234FDC6B7"><p> <codeph>Type</codeph> is either <b>Comp</b> or <b>Ind</b>. <codeph/>  </p> <p> <codeph>Comp</codeph> is used in the call-back functions that notify a request is complete. <codeph>Ind</codeph> is used in the call-back functions that notify events to the CTSY. The call-back function with <codeph>IND</codeph> prefix are unsolicited. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B8BCC4F0-7F55-4728-B7EA-3280CA822C91.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B8BCC4F0-7F55-4728-B7EA-3280CA822C91.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 pop-up menu.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-69B92ECC-A4D7-4B17-A5EB-AED6E545DB93">
 <title>Stylus pop-up menu displayed</title>
-<image href="GUID-FD21D8B1-EB37-409A-9158-19DBBF1A67B7_d0e101081_href.png" scale="75" placement="inline"/>
+<image href="GUID-FD21D8B1-EB37-409A-9158-19DBBF1A67B7_d0e105166_href.png" scale="75" placement="inline"/>
 </fig>
 <p>A stylus pop up menu (<codeph>CAknStylusPopUpMenu</codeph>, defined in <codeph>AknStylusPopUpMenu.h</codeph>)
 is a floating menu component that contains stylus-specific menu content. As
--- a/Symbian3/PDK/Source/GUID-B8C3E562-EE45-47F2-BC00-F6C10ADD3026.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B8C3E562-EE45-47F2-BC00-F6C10ADD3026.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,47 +1,47 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B8C3E562-EE45-47F2-BC00-F6C10ADD3026" xml:lang="en"><title>Definitions</title><prolog><metadata><keywords/></metadata></prolog><conbody><table id="GUID-4D35808B-97EE-4D2F-87FC-17480BFAC0FC">
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<tbody>
-<row>
-<entry>Area registry based feedback</entry>
-<entry>Feedback is triggered by centralized registry, which is hosted by the
-feedback system. When some area with defined feedback is touched, the feedback
-is triggered by the system before any application even receives the pointer
-event. <p/>For this kind of feedback it is on application’s responsibility
-to add, update and remove areas to the registry according to application state.<p/> Area
-registry’s main purpose is to minimize the feedback latency by processing
-the pointer event faster than what would be possible from a normal GUI application.</entry>
-</row>
-<row>
-<entry>Direct feedback</entry>
-<entry>Feedback is triggered directly from the application, which receives
-the pointer event.</entry>
-</row>
-<row>
-<entry>Feedback latency</entry>
-<entry>The time that it takes from the moment when user touches the screen,
-until feedback is generated. This includes all the processing in touch driver
-and window server, as well as the time that it takes for actually starting
-the feedback.</entry>
-</row>
-<row>
-<entry>Logical feedback type</entry>
-<entry>Defines the nature of the feedback effect (for example, “basic” or
-“sensitive”), but does not tell which type of physical feedback effect (vibrator
-pulse, sound effect and so on) is produced. Logical feedback
-type is decided by the UI component or application, which is using Tactile
-Feedback Client API for producing feedback. </entry>
-</row>
-</tbody>
-</tgroup>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-B8C3E562-EE45-47F2-BC00-F6C10ADD3026" xml:lang="en"><title>Definitions</title><prolog><metadata><keywords/></metadata></prolog><conbody><table id="GUID-4D35808B-97EE-4D2F-87FC-17480BFAC0FC">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<tbody>
+<row>
+<entry>Area registry based feedback</entry>
+<entry>Feedback is triggered by centralized registry, which is hosted by the
+feedback system. When some area with defined feedback is touched, the feedback
+is triggered by the system before any application even receives the pointer
+event. <p/>For this kind of feedback it is on application’s responsibility
+to add, update and remove areas to the registry according to application state.<p/> Area
+registry’s main purpose is to minimize the feedback latency by processing
+the pointer event faster than what would be possible from a normal GUI application.</entry>
+</row>
+<row>
+<entry>Direct feedback</entry>
+<entry>Feedback is triggered directly from the application, which receives
+the pointer event.</entry>
+</row>
+<row>
+<entry>Feedback latency</entry>
+<entry>The time that it takes from the moment when user touches the screen,
+until feedback is generated. This includes all the processing in touch driver
+and window server, as well as the time that it takes for actually starting
+the feedback.</entry>
+</row>
+<row>
+<entry>Logical feedback type</entry>
+<entry>Defines the nature of the feedback effect (e.g. “basic” or “sensitive”),
+but does not tell which type of physical feedback effect (vibrator pulse,
+sound effect etc.) is produced. Logical feedback type is decided by the UI
+component or application, which is using Tactile Feedback Client API for producing
+feedback. </entry>
+</row>
+</tbody>
+</tgroup>
 </table></conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B8D630CA-7CED-408E-B570-00FF95BE14ED-master.png has changed
Binary file Symbian3/PDK/Source/GUID-B8D630CA-7CED-408E-B570-00FF95BE14ED_d0e105232_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B913762A-2C87-4218-8D20-EBF88F9756DC_d0e14221_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B913762A-2C87-4218-8D20-EBF88F9756DC_d0e14320_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B92B7DF8-0086-431F-91CE-6F193C045FB5_d0e5122_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B92B7DF8-0086-431F-91CE-6F193C045FB5_d0e5131_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B9306D01-1DE5-511A-AC1A-6E3E9749BA89_d0e348544_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B9306D01-1DE5-511A-AC1A-6E3E9749BA89_d0e354487_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B9347C4E-8121-57F5-8040-87B5D58C0FC4_d0e449972_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B9347C4E-8121-57F5-8040-87B5D58C0FC4_d0e455817_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B938FAE4-D854-54E4-BC06-A9B7B55FE4F8-master.png has changed
Binary file Symbian3/PDK/Source/GUID-B938FAE4-D854-54E4-BC06-A9B7B55FE4F8_d0e744115_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B93C26B8-D767-5341-A629-1A5714A20992_d0e586844_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-B93C26B8-D767-5341-A629-1A5714A20992_d0e614738_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,45 +9,38 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF" xml:lang="en"><title>Application
-signing</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<concept id="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF" xml:lang="en"><title>Application signing</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>All Symbian applications must be signed before they can be installed.
-All applications which use <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref>-protected
-APIs, where the capability cannot be granted by the end user, have to be certified.
-Such certification can be obtained through <xref href="https://www.symbiansigned.com/" scope="external">Symbian
-Signed</xref>.</p>
-<p>Signing is a means of encoding a digital certificate into the application
-installation file. The certificate identifies the application’s vendor, and
-grants access to capabilities defined during the build process.</p>
-<p>The signing process is described in detail on the <xref href="https://www.symbiansigned.com/" scope="external">Symbian
-Signed</xref> website.</p>
-<section id="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EH"><title>Signing options</title>
-<p>If your application only needs <i>user capabilities</i> (<codeph>LocalServices</codeph>, <codeph>NetworkServices</codeph>, <codeph>ReadUserData</codeph>, <codeph>WriteUserData</codeph>, <codeph>UserEnvironment</codeph>, and<codeph>Location</codeph>),
-you can self-sign the application.</p>
+All applications which use <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref>-protected APIs, where the capability cannot be granted by the end
+user, have to be certified. Such certification can be obtained through <xref href="https://www.symbiansigned.com/" scope="external">Symbian Signed</xref>.</p>
+<p>Signing is a means of encoding a digital certificate into the
+application installation file. The certificate identifies the application’s
+vendor, and grants access to capabilities defined during the build
+process.</p>
+<p>The signing process is described in detail on the <xref href="https://www.symbiansigned.com/" scope="external">Symbian Signed</xref> website.</p>
+<section id="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EH"><title>Signing
+options</title>
+<p>If your application only needs <i>user capabilities</i> (<codeph>LocalServices</codeph>, <codeph>NetworkServices</codeph>, <codeph>ReadUserData</codeph>, <codeph>WriteUserData</codeph>, <codeph>UserEnvironment</codeph>, and<codeph>Location</codeph>), you can self-sign the application.</p>
 <note>
-<p>When the end users are installing a self-signed application, they are
-informed that the application is untrusted and may decide to abort the installation.
-In Nokia E-series devices the user must change a setting to allow self-signed
-applications to install.</p>
+<p>When the end users are installing a self-signed application,
+they are informed that the application is untrusted and may decide
+to abort the installation. In Nokia E-series devices the user must
+change a setting to allow self-signed applications to install.</p>
 </note>
 
-<p>Sign the <codeph>sis</codeph> installation
-file with any private key. You can use the <xref href="GUID-557BF1DA-B6E8-521B-89F0-15C84E3BCB1A.dita">MakeKeys</xref> application
+<p>Sign the <codeph>sis</codeph> installation file with any private key. You can use the <xref href="GUID-557BF1DA-B6E8-521B-89F0-15C84E3BCB1A.dita">MakeKeys</xref> application
 to create the needed private key and, for example, <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref> to
-sign the application. Both applications are delivered with the SDK. For more
-information, see <xref href="http://wiki.forum.nokia.com/index.php/How_to_sign_a_.Sis_file_with_Self-Sign_Certificate" scope="external">How
-to sign a .Sis file with Self-Sign Certificate</xref> in the Forum Nokia
-Developer Community Wiki.</p>
+sign the application. Both applications are delivered with the SDK.
+For more information, see <xref href="http://wiki.forum.nokia.com/index.php/How_to_sign_a_.Sis_file_with_Self-Sign_Certificate" scope="external">How to sign a .Sis file with Self-Sign Certificate</xref> in the
+Forum Nokia Developer Community Wiki.</p>
 <p>The other signing options (Open Signed, Express Signed and Certified
-Signed) are described in detail in <xref href="http://developer.symbian.org/wiki/index.php/Complete_Guide_To_Symbian_Signed" scope="external">The
-Complete Guide to Symbian Signed</xref>.</p>
+Signed) are described in detail in <xref href="http://developer.symbian.org/wiki/index.php/Complete_Guide_To_Symbian_Signed" scope="external">The Complete Guide to Symbian Signed</xref>.</p>
 </section>
-<section id="GUID-44AC868B-484A-4B84-8A3A-0351E70F1141"><title>Additional information
-on signing</title>
+<section id="GUID-44AC868B-484A-4B84-8A3A-0351E70F1141"><title>Additional
+information on signing</title>
 
-<p>The UID value you need to use for
-your application depends on whether your application is signed or self-signed.
-For more information, see <xref href="GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.dita">How
-to use UIDs</xref>.</p>
+<p>The UID value you need to
+use for your application depends on whether your application is signed
+or self-signed. </p>
 </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -295,7 +295,7 @@
 
 iCertStore-&gt;Retrieve(iCertInfo, iCertData-&gt;Des(), iStatus); 
 </codeblock> </section>
-<section id="GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-27-1-1-10-1-5-1-5-1-4-1-4-1-3-7"><title>Managing applicability
+<section id="GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-26-1-1-10-1-5-1-5-1-4-1-4-1-3-7"><title>Managing applicability
 and trust settings</title> <p>The trust status of a certificate indicates
 if it can be considered as a trust anchor for validating any application.
 This status is valid only for certificates issued by the Certificate Authority
Binary file Symbian3/PDK/Source/GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e544339_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e551799_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B95D96F5-6EA0-596C-BA06-F0703D3FCDFF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-B95D96F5-6EA0-596C-BA06-F0703D3FCDFF"><title>Trace Record Frame Format</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>In UTF 2.0, the following changes are made to the trace frame record format: </p> <ul><li id="GUID-70C5BFC8-D381-57A1-B7CE-8570B21E1BD6"><p>The 1-byte primary filter is replaced with 1-byte <xref href="GUID-17798BAC-F887-515F-B90E-CAAE81D8530F.dita#GUID-17798BAC-F887-515F-B90E-CAAE81D8530F/GUID-B8F5C3DB-6C9D-514E-8B4E-DC6B994789B9">Classification</xref>  </p> </li> <li id="GUID-5385C1AD-13DB-54F5-8DD7-470898B9E082"><p>The 4-byte secondary filter is replaced with 4-byte <xref href="GUID-17798BAC-F887-515F-B90E-CAAE81D8530F.dita#GUID-17798BAC-F887-515F-B90E-CAAE81D8530F/GUID-8AA6AFDC-6E86-56A8-8DD8-71F06590E62F">ModuleUid</xref>  </p> </li> <li id="GUID-079028E9-FD60-58EF-93CA-B12515FB3018"><p>The 1-byte schema is replaced with 2-byte <xref href="GUID-17798BAC-F887-515F-B90E-CAAE81D8530F.dita#GUID-17798BAC-F887-515F-B90E-CAAE81D8530F/GUID-FEE8132A-0BF4-5D25-AF12-D5B7CF2071A3">FormatId</xref>  </p> </li> </ul> <p> <b>Note</b>: For details about UTF 1.0 trace record format, see <xref href="GUID-715D065D-4FF7-55D0-882E-3B37F36369C4.dita#GUID-715D065D-4FF7-55D0-882E-3B37F36369C4/GUID-A7E551D1-DED5-5BC7-A19F-523B65B2AE00">Trace Record Format</xref>. </p> <p>The following figure shows the trace record format for UTF 2.0: </p> <fig id="GUID-394E0A5E-10C3-5344-92EC-5A485AF7417D"><image href="GUID-2976D260-67D5-5DBB-8CA5-09046FBEC875_d0e743085_href.jpg" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-B96A7D1B-957C-5050-9D1D-5439A13A5CED_d0e536480_href.png has changed
Binary file Symbian3/PDK/Source/GUID-B96A7D1B-957C-5050-9D1D-5439A13A5CED_d0e543940_href.png has changed
--- a/Symbian3/PDK/Source/GUID-B97C3C1D-7F35-4B0A-9420-180CE70EF6DE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-B97C3C1D-7F35-4B0A-9420-180CE70EF6DE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,8 +17,8 @@
 represent a file size beyond 2GB-1 (if treated as a signed int) or beyond
 4GB-1 (if treated as an unsigned int).</p>     <p>Replace calls to <codeph>TEntry::iSize()</codeph> with <codeph>TEntry::FileSize()</codeph> for
 large files. </p></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-9-1-6-1-8-1-15-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-9-1-6-1-8-1-15-1-3-2-1"><cmd>Use <codeph>TEntry::FileSize()</codeph> instead
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-18-1-1-9-1-6-1-8-1-15-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-18-1-1-9-1-6-1-8-1-15-1-3-2-1"><cmd>Use <codeph>TEntry::FileSize()</codeph> instead
 of <codeph>TEntry::iSize()</codeph> for large files and replace the return
 variable of type <codeph>TInt</codeph> with a <codeph>TInt64</codeph>.</cmd>
 <stepxmp><codeblock xml:space="preserve">TInt r;
Binary file Symbian3/PDK/Source/GUID-B985B750-9B42-55ED-B7E4-41B06B44C365_d0e512289_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-B985B750-9B42-55ED-B7E4-41B06B44C365_d0e519751_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-BA0D9DA9-3B54-4964-A4D6-9ADA4DEB7231.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BA0D9DA9-3B54-4964-A4D6-9ADA4DEB7231.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 <prereq id="GUID-E09C6ABC-F717-4791-A2EE-491421D2BD30">       <p>Before listening
 for sensor channel data, you must <xref href="GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B.dita#GUID-4B709839-8EEF-4AD2-9868-9AF0176B1E5B/GUID-FBBD3A8B-F240-4DC0-B516-3A51FDD86A88">open
 the sensor channel</xref>.</p>     </prereq>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-5-1-3-2">
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-5-1-3-2">
 <step id="GUID-CE0EE6EE-84A7-46F6-8590-C75FAA381843"><cmd>Implement the data
 listener.</cmd>
 <info><p>Inherit from the <parmname>MSensrvDataListener</parmname> interface
Binary file Symbian3/PDK/Source/GUID-BA1071D5-E358-5B33-9204-CDCD0CECEF0A_d0e507141_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BA1071D5-E358-5B33-9204-CDCD0CECEF0A_d0e514603_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E"><title>How to use audio recorder utility</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BA49FDC0-808B-5E05-81AC-98637214F304.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BA49FDC0-808B-5E05-81AC-98637214F304.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -39,7 +39,7 @@
 degrees of latitude one degree of longitude is only 55.8 km, which is more
 difficult to see.</p>
 <fig id="GUID-D98458F6-8EBD-43B9-9C3C-5204BD837D2D">
-<image href="GUID-0C01305E-9E73-4E44-BD13-361C93CC5E79_d0e423843_href.png" placement="inline"/>
+<image href="GUID-0C01305E-9E73-4E44-BD13-361C93CC5E79_d0e429696_href.png" placement="inline"/>
 </fig>
 <section id="GUID-D4201DF5-26DD-5E46-B228-A3CAA467C7C6"><title>Getting started
 with LBS</title> <p>This section provides links to the most important documentation.</p> <p><b>For
@@ -87,7 +87,7 @@
 more information about the LBS architecture. </p> <p>Figure 1 shows the LBS
 system model - a component deployment view of LBS. </p> <fig id="GUID-9CA16CBE-F877-5567-9B95-4343049EC809">
 <title>              Figure 1. LBS System Model            </title>
-<image href="GUID-C5E7D88B-C73D-56D8-A8F4-2393E5EEDC8E_d0e423967_href.png" placement="inline"/>
+<image href="GUID-C5E7D88B-C73D-56D8-A8F4-2393E5EEDC8E_d0e429820_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-CA5D2674-B469-44D8-9255-1F35CA7B8D41"><title>Technologies</title> <p>The
 main technologies enabled on the Symbian platform by the LBS subsystem are
@@ -105,7 +105,7 @@
 Services using IP bearers to connect handsets and network hosts. The Symbian
 LBS subsystem contains a SUPL Protocol Module to support SUPL. </p> </li>
 </ul><fig id="GUID-52D81395-87C4-4706-97E5-84336EA53C69">
-<image href="GUID-0CCCF088-E636-4C12-AA5E-3E2CB04424AD_d0e424006_href.png" placement="inline"/>
+<image href="GUID-0CCCF088-E636-4C12-AA5E-3E2CB04424AD_d0e429859_href.png" placement="inline"/>
 </fig><p>The above figure illustrates how the location information can be
 provided to the device. Access to these location methods is provided through
 the positioning modules.</p> </section>
--- a/Symbian3/PDK/Source/GUID-BA518A5F-678A-5821-BF01-C7B8EE4DE278.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BA518A5F-678A-5821-BF01-C7B8EE4DE278.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 Transports</xref>  </p> </li>
 </ul> <p>The following diagram outlines the Remote Connectivity collections
 and their components: </p> <fig id="GUID-556B7743-C034-58B6-A9B3-624E2A807127">
-<image href="GUID-8E218D40-9668-51F9-99CE-4DE1AED64793_d0e604950_href.jpg" placement="inline"/>
+<image href="GUID-8E218D40-9668-51F9-99CE-4DE1AED64793_d0e644112_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>Technologies</title> <p>Remote Connectivity implements and
 uses the following technologies: </p> <ul>
--- a/Symbian3/PDK/Source/GUID-BA7B9BA6-B840-5182-90B0-A4914592A40D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BA7B9BA6-B840-5182-90B0-A4914592A40D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 <section><title>SendAs Server process and data flow</title> <p>The following
 figure details the processes and data flow with SendAs Server. </p> <fig id="GUID-644B137D-D8A4-514F-9D3F-238CC69C751E">
 <title>              SendAs Server process and data flow            </title>
-<image href="GUID-AE8D314A-5381-5576-9B17-94BA029A7FEA_d0e490421_href.jpg" placement="inline"/>
+<image href="GUID-AE8D314A-5381-5576-9B17-94BA029A7FEA_d0e496239_href.jpg" placement="inline"/>
 </fig> </section>
 <section><title>SendAs Server functionality</title> <p>The following sections
 give detailed information about the SendAs sever functionality: </p> <p><b>Creating
Binary file Symbian3/PDK/Source/GUID-BAABB057-5C48-4991-A283-DAC5D54562C1_d0e67998_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BAABB057-5C48-4991-A283-DAC5D54562C1_d0e72211_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BAD38A27-5A46-5A72-B0AD-A095C207CD2B_d0e430277_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BAD38A27-5A46-5A72-B0AD-A095C207CD2B_d0e436122_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BADAAC2D-8614-5036-95BC-3889457F7ED0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BADAAC2D-8614-5036-95BC-3889457F7ED0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-BADAAC2D-8614-5036-95BC-3889457F7ED0"><title>Positioning Modules</title><shortdesc>This document describes the classes that give information about Positioning Modules. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document is an overview of the Positioning Module information that is available to client applications using the Location Acquisition API. A Positioning Module is a software component that allows the Location Server to communicate with the mobile device hardware that obtains position data. </p> <p>See <xref href="GUID-A4B47A7A-17EB-570C-AD88-6756B34AF634.dita">How to Use Positioning Module Information</xref> for an example of how to get Positioning Module information using the Location Acquisition API. </p> </section> <section><title>Types of Positioning Modules</title> <p>In mobile devices there may be several Positioning Modules: </p> <ul><li id="GUID-124DDB54-1792-5414-92BF-2EE320962899"><p>A Positioning Module that use GPS and/or A-GPS. </p> </li> <li id="GUID-BCBDB83F-13CE-5421-AFAC-244A94D036D5"><p>A Positioning Module that uses the network to obtain cell-based positions. </p> </li> <li id="GUID-372D7C0E-B264-545D-866A-4BEBD6083DE0"><p>Positioning Modules that use other technologies, such as WLAN positioning. </p> </li> </ul> </section> <section><title>Positioning Module information classes</title> <p>The classes <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref> and <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita"><apiname>TPositionQuality</apiname></xref> hold information about the capabilities of Positioning Modules and the quality of position information that they can provide. Figure 1 illustrates these classes. </p> <fig id="GUID-C2A99C08-4F58-56C3-B86B-C032C21EBBF9"><title>
              Figure 1. TPositionModuleInfo and TPositionQuality classes 
-          </title> <image href="GUID-5C5A695C-A0BB-53C3-A20B-7C7F4DD718DF_d0e435599_href.png" placement="inline"/></fig> </section> <section><title>TPositionModuleInfo</title> <p> <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref> describes a Positioning Module. This description includes: </p> <ul><li id="GUID-25D7701B-2A8A-5738-A33A-EA6EA5A8A9C2"><p>The technology type used by the Positioning Module. </p> <p>A Positioning Module can use positioning technology which is terminal-based (such as GPS), network based, or a combination of the two (such as A-GPS). The method <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-A806BBFD-007C-372A-95F5-A53FCE1BA07F"><apiname>TPositionModuleInfo::TechnologyType()</apiname></xref> returns this information. </p> </li> <li id="GUID-58481363-B2A3-5E25-B78E-1C3F6B13F27B"><p>The capabilities of the Positioning Module. </p> <p>Different Positioning Modules have different capabilities which depend on the Positioning Module technology type. Most Positioning Modules have the capability to provide latitude and longitude information. Some Positioning Modules can also supply altitude information, course information and satellite data. This information is returned by the method <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-1C4AAC64-DAD0-39D7-BD39-3DEE548CEA84"><apiname>TPositionModuleInfo::Capabilities()</apiname></xref> as a bit mask of type <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-68CCD83C-23D2-3A90-8830-839B8CB7E712"><apiname>TPositionModuleInfo::TCapabilities</apiname></xref>. </p> </li> <li id="GUID-ACD5EC2F-0541-5116-A984-908D0FC3E3D3"><p>A unique identifier returned by <xref href="GUID-CFB2518D-1AF0-3A4F-91E7-D0612F2B3A51.dita#GUID-CFB2518D-1AF0-3A4F-91E7-D0612F2B3A51/GUID-9F461332-6933-36C9-8CF6-649212CC7EB0"><apiname>TPositionModule::ModuleId()</apiname></xref>. </p> <p>This identifier is used to select a specific Positioning Module when a client application wishes to use a specific positioning technology to obtain a location fix. </p> </li> </ul> <p>A <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref> object obtains a reference to its <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita"><apiname>TPositionQuality</apiname></xref> object by calling <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-AE23F158-982D-388E-B188-D86E9951856E"><apiname>TPositionModuleInfo::GetPositionQuality()</apiname></xref>. </p> </section> <section><title>TPositionQuality</title> <p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita"><apiname>TPositionQuality</apiname></xref> describes the quality of information that a Positioning Module can provide. The quality describes the accuracy of information, the time to obtain a location fix, the cost of obtaining the fix and power consumption: </p> <ul><li id="GUID-F62CA8E5-841E-5DDF-9080-162BE4FA75A3"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-BF970003-EB72-3692-8540-FA79BE17F5EC"><apiname>TPositionQuality::HorizontalAccuracy()</apiname></xref> and <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-5AA1DF65-BE1D-338F-8083-60647C1BDF95"><apiname>TPositionQuality::VerticalAccuracy()</apiname></xref> return location accuracy information. </p> </li> <li id="GUID-A57721DA-FE53-5936-A21D-C2EDC37DDA4D"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-FC1FF7A2-E341-3EB8-8B7E-36C56FADCF10"><apiname>TPositionQuality::TimeToFirstFix()</apiname></xref> and <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-33E94EAF-F9A3-3C13-997B-23359DC87731"><apiname>TPositionQuality::TimeToNextFix()</apiname></xref> return a typical time to get a location fix as a <xref href="GUID-B7D6F874-1ABD-3AC6-9329-19DC54C12F18.dita"><apiname>TTimeIntervalMicroSeconds</apiname></xref> value. </p> </li> <li id="GUID-57421139-A63F-59DE-819E-1DF760CEC989"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-3C24190E-14FA-362F-8F25-D3324A35F5DC"><apiname>TPositionQuality::CostIndicator()</apiname></xref> returns a cost for using the Positioning Module to get location information. The value returned is an estimate, not a precise cost value and is of type <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref>. The cost estimate helps the location server to make a choice of the Positioning Module to use to get a location fix when a specific Positioning Module is not chosen by a client application. </p> </li> <li id="GUID-CD7D504D-5DEF-5E56-B9A6-A60500390D24"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-A0949CFB-FEAE-30A4-A6B5-B901DDC65850"><apiname>TPositionQuality::PowerConsumption()</apiname></xref> returns an estimate of power consumption for using a Positioning Module. This estimate is of type <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-AD77543D-625A-39CF-A1D5-F5B5636E17F7"><apiname>TPositionQuality::TPowerConsumption</apiname></xref> and as with cost, it helps the Location Server make a choice of Positioning Module to use to get a location fix. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-A4B47A7A-17EB-570C-AD88-6756B34AF634.dita">How to Use Positioning Module Information</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-5C5A695C-A0BB-53C3-A20B-7C7F4DD718DF_d0e441444_href.png" placement="inline"/></fig> </section> <section><title>TPositionModuleInfo</title> <p> <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref> describes a Positioning Module. This description includes: </p> <ul><li id="GUID-25D7701B-2A8A-5738-A33A-EA6EA5A8A9C2"><p>The technology type used by the Positioning Module. </p> <p>A Positioning Module can use positioning technology which is terminal-based (such as GPS), network based, or a combination of the two (such as A-GPS). The method <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-A806BBFD-007C-372A-95F5-A53FCE1BA07F"><apiname>TPositionModuleInfo::TechnologyType()</apiname></xref> returns this information. </p> </li> <li id="GUID-58481363-B2A3-5E25-B78E-1C3F6B13F27B"><p>The capabilities of the Positioning Module. </p> <p>Different Positioning Modules have different capabilities which depend on the Positioning Module technology type. Most Positioning Modules have the capability to provide latitude and longitude information. Some Positioning Modules can also supply altitude information, course information and satellite data. This information is returned by the method <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-1C4AAC64-DAD0-39D7-BD39-3DEE548CEA84"><apiname>TPositionModuleInfo::Capabilities()</apiname></xref> as a bit mask of type <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-68CCD83C-23D2-3A90-8830-839B8CB7E712"><apiname>TPositionModuleInfo::TCapabilities</apiname></xref>. </p> </li> <li id="GUID-ACD5EC2F-0541-5116-A984-908D0FC3E3D3"><p>A unique identifier returned by <xref href="GUID-CFB2518D-1AF0-3A4F-91E7-D0612F2B3A51.dita#GUID-CFB2518D-1AF0-3A4F-91E7-D0612F2B3A51/GUID-9F461332-6933-36C9-8CF6-649212CC7EB0"><apiname>TPositionModule::ModuleId()</apiname></xref>. </p> <p>This identifier is used to select a specific Positioning Module when a client application wishes to use a specific positioning technology to obtain a location fix. </p> </li> </ul> <p>A <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref> object obtains a reference to its <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita"><apiname>TPositionQuality</apiname></xref> object by calling <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-AE23F158-982D-388E-B188-D86E9951856E"><apiname>TPositionModuleInfo::GetPositionQuality()</apiname></xref>. </p> </section> <section><title>TPositionQuality</title> <p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita"><apiname>TPositionQuality</apiname></xref> describes the quality of information that a Positioning Module can provide. The quality describes the accuracy of information, the time to obtain a location fix, the cost of obtaining the fix and power consumption: </p> <ul><li id="GUID-F62CA8E5-841E-5DDF-9080-162BE4FA75A3"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-BF970003-EB72-3692-8540-FA79BE17F5EC"><apiname>TPositionQuality::HorizontalAccuracy()</apiname></xref> and <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-5AA1DF65-BE1D-338F-8083-60647C1BDF95"><apiname>TPositionQuality::VerticalAccuracy()</apiname></xref> return location accuracy information. </p> </li> <li id="GUID-A57721DA-FE53-5936-A21D-C2EDC37DDA4D"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-FC1FF7A2-E341-3EB8-8B7E-36C56FADCF10"><apiname>TPositionQuality::TimeToFirstFix()</apiname></xref> and <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-33E94EAF-F9A3-3C13-997B-23359DC87731"><apiname>TPositionQuality::TimeToNextFix()</apiname></xref> return a typical time to get a location fix as a <xref href="GUID-B7D6F874-1ABD-3AC6-9329-19DC54C12F18.dita"><apiname>TTimeIntervalMicroSeconds</apiname></xref> value. </p> </li> <li id="GUID-57421139-A63F-59DE-819E-1DF760CEC989"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-3C24190E-14FA-362F-8F25-D3324A35F5DC"><apiname>TPositionQuality::CostIndicator()</apiname></xref> returns a cost for using the Positioning Module to get location information. The value returned is an estimate, not a precise cost value and is of type <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref>. The cost estimate helps the location server to make a choice of the Positioning Module to use to get a location fix when a specific Positioning Module is not chosen by a client application. </p> </li> <li id="GUID-CD7D504D-5DEF-5E56-B9A6-A60500390D24"><p> <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-A0949CFB-FEAE-30A4-A6B5-B901DDC65850"><apiname>TPositionQuality::PowerConsumption()</apiname></xref> returns an estimate of power consumption for using a Positioning Module. This estimate is of type <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-AD77543D-625A-39CF-A1D5-F5B5636E17F7"><apiname>TPositionQuality::TPowerConsumption</apiname></xref> and as with cost, it helps the Location Server make a choice of Positioning Module to use to get a location fix. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-A4B47A7A-17EB-570C-AD88-6756B34AF634.dita">How to Use Positioning Module Information</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BB0C4204-3C31-57D1-B1C5-6D2FCF571931.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-BB0C4204-3C31-57D1-B1C5-6D2FCF571931"><title>epocprocesspriority</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>epocprocesspriority</codeph>  <varname>priority</varname> </p> <p>Use the <codeph>epocprocesspriority</codeph> statement to specify the process priority for your executable <filepath>EXE</filepath>. </p> <p>Specify <codeph>low</codeph>, <codeph>background</codeph>, <codeph>foreground</codeph>, <codeph>high</codeph>, <codeph>windowserver</codeph>, <codeph>fileserver</codeph>, <codeph>realtimeserver</codeph> or <codeph>supervisor</codeph>. </p> <p>The value specified will be passed on to <filepath>petran</filepath> via its <codeph>-priority</codeph> switch.</p> <p>Use of this statement will have no effect under Win32 platforms.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,19 +9,16 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC" xml:lang="en"><title>POP/IMAP
-Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-44678B4B-8A01-566A-B8D7-8C844F85D08E"><title>Description</title> This
-C++ application shows how to retrieve e-mail from a remote mailbox to a device
-using IMAP and POP protocols. The usual e-mail features such as sending, editing,
-and deleting e-mail messages are demonstrated. </section>
-<section id="GUID-8ABB4326-8878-5F1E-B134-52DEE44C1DD7"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4a81a474-9ff8-4d73-8712-89ea4b8f7e36.zip" scope="external">InternetEmai.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4a81a474-9ff8-4d73-8712-89ea4b8f7e36.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-866D9B76-9D9A-5EED-8220-290ECA6F2607"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian build process</xref> describes
-how to build an application. </p> <p>The InternetEmail example builds an executable
-called <filepath>InternetEmail.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
-CodeWarrior). After launching the executable, depending on the emulator you
-are using, you may need to task away from the app launcher/shell screen to
-view the console. </p> </section>
-<section id="GUID-B1AE9903-AACC-4386-97DA-AE165C2C9B7F"><title>See also</title> <p> <xref href="GUID-5B43ED43-21B4-54C6-8637-76554769E6FE.dita">POP3 MTM Overview</xref>  </p> <p> <xref href="GUID-4F703F85-080F-5B77-B94D-5449764828F3.dita">SMTP MTM Overview</xref>  </p> </section>
+<concept id="GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC" xml:lang="en"><title>POP/IMAP Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-44678B4B-8A01-566A-B8D7-8C844F85D08E"><title>Description</title> This C++ application shows how to retrieve e-mail from a remote
+mailbox to a device using IMAP and POP protocols. The usual e-mail
+features such as sending, editing, and deleting e-mail messages are
+demonstrated. </section>
+<section id="GUID-8ABB4326-8878-5F1E-B134-52DEE44C1DD7"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4a81a474-9ff8-4d73-8712-89ea4b8f7e36.zip" scope="external">InternetEmai.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4a81a474-9ff8-4d73-8712-89ea4b8f7e36.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-866D9B76-9D9A-5EED-8220-290ECA6F2607"><title>Build</title> <p>The InternetEmail example builds an executable called <filepath>InternetEmail.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\</filepath> <i>&lt;build_variant&gt;</i> for
+CodeWarrior). After launching the executable, depending on the emulator
+you are using, you may need to task away from the app launcher/shell
+screen to view the console. </p> </section>
+<section id="GUID-B1AE9903-AACC-4386-97DA-AE165C2C9B7F"><title>See
+also</title> <p> <xref href="GUID-5B43ED43-21B4-54C6-8637-76554769E6FE.dita">POP3 MTM Overview</xref>  </p> <p> <xref href="GUID-4F703F85-080F-5B77-B94D-5449764828F3.dita">SMTP MTM Overview</xref>  </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BB38AFE5-56FE-552D-8715-438936865B69_d0e535319_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-BB38AFE5-56FE-552D-8715-438936865B69_d0e542779_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-BB39DE14-B314-59CB-A8EC-BBD2A5C1BCD9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BB39DE14-B314-59CB-A8EC-BBD2A5C1BCD9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,131 +1,122 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BB39DE14-B314-59CB-A8EC-BBD2A5C1BCD9" xml:lang="en"><title>GUI App: Porting
-an Engine for Use in a Symbian Application</title><shortdesc>This section describes the steps to port an engine for use in a
-Symbian 		application.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The application uses the FreeBSD <codeph>cksum</codeph> utility as its
-		  engine. The checksum example is an application with a user interface and
-an 		  engine written in C.</p>
-<p>The first stage in porting this program is to split the project into 	
-  the engine (GUIAppEng) and the application (GUIApp).</p>
-<section id="SECTION_1B097EC0E8EC43BE82B88BE0D04DC5F8"><title>The engine</title> <p>The
-engine is written in C. At its core is the <codeph>crc()</codeph> 			 function.
-This function accepts a file descriptor and returns the checksum and 			 the
-file size.</p> <p>The engine's project specification file (<filepath>GUIAppEng.mmp</filepath>)
-			 is as follows:</p><codeblock xml:space="preserve">TARGET		GUIAppEng.dll
-TARGETTYPE	dll
-UID             0x1000008d 0x01000a02
-VENDORID 0x70000001
-SOURCEPATH	.
-SOURCE		crc.c
-SYSTEMINCLUDE	\epoc32\include\libc \epoc32\include
-LIBRARY		estlib.lib euser.lib 
-
-#if defined(WINS)
-    deffile GuiAppEngWINS.def
-#else if defined(ARM)
-    deffile GuiAppEngARM.def
-#endif
-nostrictdef</codeblock> <p> 			 The output file is <filepath>GUIAppEng.dll</filepath>,
-whose import library 			 will be included by the UI.  		  </p>  		  <p> 	
-	 The first UID specified (<codeph>0x1000008d</codeph>) is the standard UID
-			 for an interface DLL. The second UID (<codeph>0x01100a02</codeph>) is
-unique to the 			 <filepath>GUIApp</filepath> project.  		  </p>  		  <p> 
-		 Splitting the project into engine and UI means that the definition of 
-		 <codeph>crc()</codeph> in <filepath>crc.c</filepath> must be marked <codeph>EXPORT_C</codeph> 
-		 because this function will be exported from the engine's DLL.  		  </p> 
-		  <p> 			 For more information on DLLs, see <xref href="GUID-4A56B285-790E-5171-88F3-8C40B2AA9699.dita">DLLs</xref>.
- 		  </p>  </section>
-<section id="GUID-52000200-5CFD-4FE1-B80E-0A5F4C7E050D"> <title>Porting checksum - the GUI app</title> <p> 			 The implementation
-of checksum (<filepath>GUIApp.app</filepath>) limits the 			 user to the selection
-of a single file at a time and uses the default algorithm 			 <codeph>crc()</codeph>,
-defined in <filepath>crc.c</filepath>, to produce a 32-bit value.  		  </p> 
-		  <p> 			 The user interface provides two main menu commands; <codeph>Calculate
-			 checksum</codeph> (invokes a file selection dialog) and <codeph>View 
-		 checksums</codeph>. When a file is selected and <codeph>OK</codeph> is
-pressed, the 			 selected file name is retrieved and opened as shown in the
-following code:  		  </p>  		  <codeblock xml:space="preserve">const TUint16* fn = iFileName-&gt;PtrZ();
-int fd = wopen( ( const wchar_t* )fn, O_RDONLY, 0 ); </codeblock>  		  <p> 
-		 This code fragment is taken from 			 <filepath>examples\stdlib\GUIApp.cpp.</filepath> 
-		  </p>  		  <p> 			 <codeph>open()</codeph> returns a file descriptor which
-the engine's 			 <codeph>crc()</codeph> function uses to identify the file.
-The checksum is 			 calculated (unless an error occurred in attempting to
-open or read the file), 			 and is displayed. The file is closed.  		  </p> 
-		  <p> 			 The file name and checksum are appended to an array, the contents
-of 			 which may be viewed by selecting <codeph>View checksums</codeph>. 
-		  </p> </section>
-<section id="SECTION_7A8BA355A42C45C3A14EDF1756AB1126"> 		  <title>Linking
-to STDLIB - The project specification</title> 		  <p> 			 The application
-program includes several STDLIB header files, located 			 in <filepath>\epoc32\include\libc\</filepath>.
-At link time, the program includes 			 <filepath>estlib.lib</filepath> and
-the engine DLL's <filepath>.lib</filepath> 			 (<filepath>GUIAppEng.lib</filepath>).
-Unlike the previous examples, this application 			 does not link to <filepath>ecrt0.lib</filepath>.
-In this application there is no 			 <codeph>main()</codeph> and the Symbian
-platform provides its own 			 <codeph>E32Main()</codeph>.  		  </p>  		  <p> 
-		 For information on Symbian applications, their project specification, 
-		 and resource files, see <xref href="GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36.dita">How
-to build GUI applications</xref>.  		  </p>  		</section>
-<section id="GUID-39A0C47A-38DC-4487-981D-D8BBC50D6DCF"> 		<title>Some potential issues</title> <ul id="UL_632D231449CE4474996ACD148CB9754D">
-<li> <p><b>Removing writeable static</b></p>         <p> 			 The PETRAN stage
-of building may report a message similar to the 			 following:  		  </p> 
-		  <codeblock xml:space="preserve">WARNING: Dll 'SLSUMENG[0x01000a02].DLL' has initialised data.</codeblock> 
-		  <p> 			 This warning, which is not reported when building for the Emulator,
-			 indicates that the DLL contains non-const static data. This is not allowed
-in 			 ARM builds. If it is not obvious where the problem occurs, the associated
-			 <filepath>.map</filepath> file 			 (<filepath>epoc32\release\&lt;target&gt;\urel\&lt;dllname&gt;.map</filepath>)
-contains 			 information which can help to track down the source file involved.
-A search for 			 <codeph>from *(.bss)</codeph> (to find uninitialised data)
-or <codeph>from 			 *(.data)</codeph> (to find initialised data) in <filepath>GUIAPPEng.map</filepath> will
-			 reveal the file in which the problem occurs, and the names of the offending
-			 variables, although static variables will not be named.  		  </p>  </li>
-<li id="LI_BAD062FD16EC4CC8A11F13D0ACEE8378"><p><b>Include file clashes</b></p> <p> 
-		 In C++ source files which use STDLIB routines, the Symbian platform 		
- C++ include files must be included before any of the STDLIB files. Failure
-to 			 do this will result in the following warning:  		  </p>  		  <codeblock xml:space="preserve">'NULL' : macro redefinition"</codeblock>  </li>
-<li> <p><b>Mixing C and C++</b></p> <p> 			 C and C++ have different views
-about the names of functions. If you 			 refer to a C function from C++, ensure
-that its prototype is declared as 			 <codeph>extern "C"</codeph>. If there
-are several such function declarations, it 			 may be more convenient to enclose
-them within the following:  		  </p>  		  <codeblock xml:space="preserve">#ifdef __cplusplus
-extern "C" 
-    {
-    #endif
-    ...
-    #ifdef __cplusplus
-    }
-#endif</codeblock>  		  <p> 			 See for example <filepath>examples\stdlib\GUIApp\extern.h</filepath>.
- 		  </p>  </li>
-<li id="LI_68EE8B3B25594B48864D5183BA8155AB"> <p><b>Stack usage</b></p> <p> 
-		 Some programs produce the following error:  		  </p>  		  <codeblock xml:space="preserve">unresolved external symbol __chkstk</codeblock> 
-		  <p> 			 unless the amount of stack they use is reduced. Symbian threads
-have 			 only 8k stack by default.  		  </p>  </li>
-<li> <p><b>Resource cleanup</b></p> <p> 			The Symbian platform
-has a requirement that all resources which were 			 allocated by an application
-must be cleaned up by the time the program 			 terminates. On the Emulator,
-in debug builds, failure to do this will cause a 			 panic from the <codeph>__UHEAP_MARKEND</codeph> macro.
- 		  </p>  		  <p> 			 Because the data allocated in the thread-local storage
-for STDLIB's 			 DLL (the <codeph>_reent</codeph> structure) is not automatically
-cleaned up when 			 the environment is destroyed, it must be cleaned up by
-the user of STDLIB.  		  </p>  		  <p> 			 The function to achieve this is <codeph>CloseSTDLIB()</codeph>.
-To use 			 this function, file <filepath>epoc32\include\libc\sys\reent.h</filepath> must
-be 			 included in the project. Call <codeph>CloseSTDLIB()</codeph> after
-the point at 			 which it is known that code in STDLIB's DLL will no longer
-be called and its 			 thread-local storage no longer needed.  		  </p>  	
-  <p> 			 For example, see the destructor for <codeph>CExampleDocument</codeph> in
-			 <filepath>examples\stdlib\GUIApp\GUIApp.cpp</filepath>.  		  </p>   </li>
-</ul>  		   		</section>
-</conbody><related-links>
-<link href="GUID-4A56B285-790E-5171-88F3-8C40B2AA9699.dita"><linktext>DLLs</linktext>
-</link>
-<link href="GUID-81835322-5EF7-5839-9DC1-9A3FD396BD36.dita"><linktext>How to build
-GUI applications</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BB39DE14-B314-59CB-A8EC-BBD2A5C1BCD9" xml:lang="en"><title>GUI
+App: Porting an Engine for Use in a Symbian Application</title><shortdesc>This section describes the steps to port an engine for
+use in a Symbian 		application.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The application uses the FreeBSD <codeph>cksum</codeph> utility
+as its 		  engine. The checksum example is an application with a user
+interface and an 		  engine written in C.</p>
+<p>The first stage in porting this program is to split the project
+into 	   the engine (GUIAppEng) and the application (GUIApp).</p>
+<section id="SECTION_1B097EC0E8EC43BE82B88BE0D04DC5F8"><title>The
+engine</title> <p>The engine is written in C. At its core is the <codeph>crc()</codeph> 			 function. This function accepts a file descriptor
+and returns the checksum and 			 the file size.</p> <p>The engine's
+project specification file (<filepath>GUIAppEng.mmp</filepath>) 			
+is as follows:</p><codeblock xml:space="preserve">TARGET		GUIAppEng.dll
+TARGETTYPE	dll
+UID             0x1000008d 0x01000a02
+VENDORID 0x70000001
+SOURCEPATH	.
+SOURCE		crc.c
+SYSTEMINCLUDE	\epoc32\include\libc \epoc32\include
+LIBRARY		estlib.lib euser.lib 
+
+#if defined(WINS)
+    deffile GuiAppEngWINS.def
+#else if defined(ARM)
+    deffile GuiAppEngARM.def
+#endif
+nostrictdef</codeblock> <p> 			 The output file is <filepath>GUIAppEng.dll</filepath>, whose import library 			 will be included by the UI.  		  </p> 
+		  <p> 	 	 The first UID specified (<codeph>0x1000008d</codeph>)
+is the standard UID 			 for an interface DLL. The second UID (<codeph>0x01100a02</codeph>) is unique to the 			 <filepath>GUIApp</filepath> project.  		  </p>  		  <p>  		 Splitting the project into engine
+and UI means that the definition of  		 <codeph>crc()</codeph> in <filepath>crc.c</filepath> must be marked <codeph>EXPORT_C</codeph>  		 because
+this function will be exported from the engine's DLL.  		  </p>  		
+ <p> 			 For more information on DLLs, see <xref href="GUID-4A56B285-790E-5171-88F3-8C40B2AA9699.dita">DLLs</xref>.  		
+ </p>  </section>
+<section id="GUID-52000200-5CFD-4FE1-B80E-0A5F4C7E050D"> <title>Porting
+checksum - the GUI app</title> <p> 			 The implementation of checksum
+(<filepath>GUIApp.app</filepath>) limits the 			 user to the selection
+of a single file at a time and uses the default algorithm 			 <codeph>crc()</codeph>, defined in <filepath>crc.c</filepath>, to produce
+a 32-bit value.  		  </p>  		  <p> 			 The user interface provides
+two main menu commands; <codeph>Calculate 			 checksum</codeph> (invokes
+a file selection dialog) and <codeph>View  		 checksums</codeph>.
+When a file is selected and <codeph>OK</codeph> is pressed, the 			
+selected file name is retrieved and opened as shown in the following
+code:  		  </p>  		  <codeblock xml:space="preserve">const TUint16* fn = iFileName-&gt;PtrZ();
+int fd = wopen( ( const wchar_t* )fn, O_RDONLY, 0 ); </codeblock> 
+		  <p>  		 This code fragment is taken from 			 <filepath>examples\stdlib\GUIApp.cpp.</filepath>  		  </p>  		  <p> 			 <codeph>open()</codeph> returns a file descriptor
+which the engine's 			 <codeph>crc()</codeph> function uses to identify
+the file. The checksum is 			 calculated (unless an error occurred
+in attempting to open or read the file), 			 and is displayed. The
+file is closed.  		  </p>  		  <p> 			 The file name and checksum
+are appended to an array, the contents of 			 which may be viewed
+by selecting <codeph>View checksums</codeph>.  		  </p> </section>
+<section id="SECTION_7A8BA355A42C45C3A14EDF1756AB1126"> 		  <title>Linking to STDLIB - The project specification</title> 		  <p> 			
+The application program includes several STDLIB header files, located
+			 in <filepath>\epoc32\include\libc\</filepath>. At link time, the
+program includes 			 <filepath>estlib.lib</filepath> and the engine
+DLL's <filepath>.lib</filepath> 			 (<filepath>GUIAppEng.lib</filepath>). Unlike the previous examples, this application 			 does not link
+to <filepath>ecrt0.lib</filepath>. In this application there is no
+			 <codeph>main()</codeph> and the Symbian platform provides its
+own 			 <codeph>E32Main()</codeph>.  		  </p>  		   		</section>
+<section id="GUID-39A0C47A-38DC-4487-981D-D8BBC50D6DCF"> 		<title>Some potential issues</title> <ul id="UL_632D231449CE4474996ACD148CB9754D">
+<li> <p><b>Removing writeable static</b></p>         <p> 			 The PETRAN
+stage of building may report a message similar to the 			 following:
+ 		  </p>  		  <codeblock xml:space="preserve">WARNING: Dll 'SLSUMENG[0x01000a02].DLL' has initialised data.</codeblock>  		  <p> 			 This warning, which is not reported when building for
+the Emulator, 			 indicates that the DLL contains non-const static
+data. This is not allowed in 			 ARM builds. If it is not obvious
+where the problem occurs, the associated 			 <filepath>.map</filepath> file 			 (<filepath>epoc32\release\&lt;target&gt;\urel\&lt;dllname&gt;.map</filepath>) contains 			 information which can help to track down the source
+file involved. A search for 			 <codeph>from *(.bss)</codeph> (to
+find uninitialised data) or <codeph>from 			 *(.data)</codeph> (to
+find initialised data) in <filepath>GUIAPPEng.map</filepath> will
+			 reveal the file in which the problem occurs, and the names of
+the offending 			 variables, although static variables will not be
+named.  		  </p>  </li>
+<li id="LI_BAD062FD16EC4CC8A11F13D0ACEE8378"><p><b>Include file clashes</b></p> <p>  		 In C++ source files which use STDLIB routines, the Symbian
+platform 		  C++ include files must be included before any of the
+STDLIB files. Failure to 			 do this will result in the following
+warning:  		  </p>  		  <codeblock xml:space="preserve">'NULL' : macro redefinition"</codeblock>  </li>
+<li> <p><b>Mixing C and C++</b></p> <p> 			 C and C++ have different
+views about the names of functions. If you 			 refer to a C function
+from C++, ensure that its prototype is declared as 			 <codeph>extern
+"C"</codeph>. If there are several such function declarations, it
+			 may be more convenient to enclose them within the following: 
+		  </p>  		  <codeblock xml:space="preserve">#ifdef __cplusplus
+extern "C" 
+    {
+    #endif
+    ...
+    #ifdef __cplusplus
+    }
+#endif</codeblock>  		  <p> 			 See for example <filepath>examples\stdlib\GUIApp\extern.h</filepath>.  		  </p>  </li>
+<li id="LI_68EE8B3B25594B48864D5183BA8155AB"> <p><b>Stack usage</b></p> <p>  		 Some programs produce the following error:  		  </p>  		  <codeblock xml:space="preserve">unresolved external symbol __chkstk</codeblock> 
+		  <p> 			 unless the amount of stack they use is reduced. Symbian
+threads have 			 only 8k stack by default.  		  </p>  </li>
+<li> <p><b>Resource cleanup</b></p> <p> 			The Symbian platform has
+a requirement that all resources which were 			 allocated by an application
+must be cleaned up by the time the program 			 terminates. On the
+Emulator, in debug builds, failure to do this will cause a 			 panic
+from the <codeph>__UHEAP_MARKEND</codeph> macro.  		  </p>  		  <p> 			 Because the data allocated in the thread-local storage for STDLIB's
+			 DLL (the <codeph>_reent</codeph> structure) is not automatically
+cleaned up when 			 the environment is destroyed, it must be cleaned
+up by the user of STDLIB.  		  </p>  		  <p> 			 The function to achieve
+this is <codeph>CloseSTDLIB()</codeph>. To use 			 this function,
+file <filepath>epoc32\include\libc\sys\reent.h</filepath> must be
+			 included in the project. Call <codeph>CloseSTDLIB()</codeph> after
+the point at 			 which it is known that code in STDLIB's DLL will
+no longer be called and its 			 thread-local storage no longer needed.
+ 		  </p>  	   <p> 			 For example, see the destructor for <codeph>CExampleDocument</codeph> in 			 <filepath>examples\stdlib\GUIApp\GUIApp.cpp</filepath>.  		  </p>   </li>
+</ul>  		   		</section>
+</conbody><related-links>
+<link href="GUID-4A56B285-790E-5171-88F3-8C40B2AA9699.dita"><linktext>DLLs</linktext>
+</link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,7 +27,7 @@
 <entry><p><xref href="GUID-74F1EBB6-293A-4B33-A08F-46F3C23B37CE.dita">Adaptive
 search</xref></p></entry>
 <entry><fig id="GUID-4FD288BC-7B8A-46B1-A8EE-15D040E579C2-GENID-1-12-1-7-1-1-6-2-1-3-1-2-2-1-5-1-2-1">
-<image href="GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e96892_href.png" placement="inline"/>
+<image href="GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e100971_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Single tap on the find pane activates this item.</p></entry>
 </row>
@@ -35,7 +35,7 @@
 <entry><p><xref href="GUID-F1CC06C0-0D3A-4BBC-97E1-E52D2856D7A7.dita">Find
 pane</xref></p></entry>
 <entry><fig id="GUID-4C044042-E122-473D-80CE-A4D25B6EB61C-GENID-1-12-1-7-1-1-6-2-1-3-1-2-2-1-5-2-2-1">
-<image href="GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e96910_href.png" placement="inline"/>
+<image href="GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e100989_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Single tap activates this item.</p></entry>
 </row>
@@ -43,7 +43,7 @@
 <entry><p><xref href="GUID-8F6F6C2C-C00E-4412-A880-5EEBF7270265.dita">Generic
 Button</xref></p></entry>
 <entry><fig id="GUID-D43035CC-60C9-4EBF-9183-20444B966DBB-GENID-1-12-1-7-1-1-6-2-1-3-1-2-2-1-5-3-2-1">
-<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e96928_href.png" placement="inline"/>
+<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e101007_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Single tap activates this item.</p></entry>
 </row>
@@ -51,7 +51,7 @@
 <entry><p><xref href="GUID-5B9F25B5-5FE1-4E38-BC8D-A0273F458C36.dita">Discreet
 pop-up</xref></p></entry>
 <entry><fig id="GUID-4FBB5E9D-A58B-4043-BFF1-27DEADD5A411-GENID-1-12-1-7-1-1-6-2-1-3-1-2-2-1-5-4-2-1">
-<image href="GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e96946_href.png" placement="inline"/>
+<image href="GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e101025_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Touch down keeps the pop-up visible. Touch release either
 dismisses the pop-up or activates the application-specific functionality.
@@ -61,14 +61,14 @@
 <entry><p><xref href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus
 pop-up menu</xref></p></entry>
 <entry><fig id="GUID-4254AB04-D3D1-483F-A522-2D60E4CE7C5A">
-<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e96964_href.png" placement="inline"/>
+<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e101043_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Long tap activates the item.</p></entry>
 </row>
 <row>
 <entry><p><xref href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref></p></entry>
 <entry><fig id="GUID-DE80A49D-06CF-47CD-8102-24598A7FEB59">
-<image href="GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e96982_href.png" placement="inline"/>
+<image href="GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e101061_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item (emulates a selection key
 press).</p></entry>
@@ -77,14 +77,14 @@
 <entry><p><xref href="GUID-CCC5BE18-E90D-4B81-AE6F-333B96E7A3F7.dita">Choice
 list</xref></p></entry>
 <entry><fig id="GUID-DAC03F73-EF8E-40C7-8AB2-FB8680AD1188">
-<image href="GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e97000_href.png" placement="inline"/>
+<image href="GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e101079_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item.</p></entry>
 </row>
 <row>
 <entry><p><xref href="GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita">Forms</xref></p></entry>
 <entry><fig id="GUID-F4471B48-0C1A-415B-9086-04801EA245EE">
-<image href="GUID-11A79174-485E-425C-9653-193B670A3F03_d0e97018_href.png" placement="inline"/>
+<image href="GUID-11A79174-485E-425C-9653-193B670A3F03_d0e101097_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>In the view state (a normal two-row list item), a short
 tap activates it (emulates a selection key press). </p><p>In the edit
@@ -99,7 +99,7 @@
 <li><p>Slider</p></li>
 </ul></entry>
 <entry><fig id="GUID-07C6A080-2E8E-47D7-84FA-F659EC137F73">
-<image href="GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e97052_href.png" scale="23" placement="inline">
+<image href="GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e101131_href.png" scale="23" placement="inline">
 </image>
 </fig></entry>
 <entry><p>Same as for equivalent setting items</p></entry>
@@ -108,7 +108,7 @@
 <entry><p><xref href="GUID-40F5B725-A5D7-487F-BF5D-A616F768F40D.dita">Grouped
 soft notification</xref>, <xref href="GUID-13DEE42F-3EAB-4EB7-9CE1-C4930BCACE01.dita">List query</xref>, <xref href="GUID-434F2412-59A1-4BCB-885D-5E708EAA6AB6.dita">Grid query</xref></p></entry>
 <entry><fig id="GUID-FA02490B-8BC3-40EF-BF5A-94AD33E350D4">
-<image href="GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e97077_href.png" placement="inline"/>
+<image href="GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e101156_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item (emulates a selection key
 press).</p></entry>
@@ -116,7 +116,7 @@
 <row>
 <entry><p>Left/Right arrows in the <xref href="GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita">Navi pane</xref></p></entry>
 <entry><fig id="GUID-13EFAD4E-B334-4B64-85B0-C5EE3294FD97">
-<image href="GUID-76901D63-BDA2-4DCA-A66C-7BAFD7E211EB_d0e97096_href.png" scale="23" placement="inline">
+<image href="GUID-76901D63-BDA2-4DCA-A66C-7BAFD7E211EB_d0e101175_href.png" scale="23" placement="inline">
 </image>
 </fig></entry>
 <entry><p>A short tap activates the item and navigates between the
@@ -126,7 +126,7 @@
 <entry><p><xref href="GUID-ED784025-4E65-4BE9-ADA8-A13427B6EA30.dita">Markable
 list</xref></p><p><xref href="GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita">Selection list</xref></p></entry>
 <entry><fig id="GUID-6FF647BB-07C9-4D69-B5B2-A8A5A6FE014B">
-<image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e97118_href.png" placement="inline"/>
+<image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e101197_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item (emulates a selection key
 press). </p></entry>
@@ -134,7 +134,7 @@
 <row>
 <entry><p>Menu list (for example,<xref href="GUID-BFEEECCA-190B-4DDE-8A04-4FE918BE8690.dita">Options menu</xref> and submenus)</p></entry>
 <entry><fig id="GUID-DCCA2739-145C-4925-B963-161C0D31AB35">
-<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e97138_href.png" placement="inline"/>
+<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e101217_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item (emulates a selection key
 press).</p></entry>
@@ -143,7 +143,7 @@
 <entry><p><xref href="GUID-0E695106-4139-4335-A11F-BD04418DD583.dita">Multi-selection
 list</xref></p></entry>
 <entry><fig id="GUID-1FB5F718-DC2F-4815-8D7D-B3DD6348A34C">
-<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e97156_href.png" placement="inline"/>
+<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e101235_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap marks/unmarks the item. </p></entry>
 </row>
@@ -151,14 +151,14 @@
 <entry><p><xref href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview
 pop-up</xref></p></entry>
 <entry><fig id="GUID-24E4E456-920A-4708-A8F0-C285A30A75A0">
-<image href="GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e97174_href.png" placement="inline"/>
+<image href="GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e101253_href.png" placement="inline"/>
 </fig></entry>
 <entry/>
 </row>
 <row>
 <entry><p><xref href="GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita">Scrollbar</xref>.</p></entry>
 <entry><fig id="GUID-3D547C7B-1A1C-4B6C-9354-5302D2D8FD19">
-<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e97191_href.png" placement="inline"/>
+<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e101270_href.png" placement="inline"/>
 </fig></entry>
 <entry/>
 </row>
@@ -170,7 +170,7 @@
 <row>
 <entry><p>Pop-up setting</p></entry>
 <entry><fig id="GUID-CDC82A53-2D28-48AE-BA57-A912A04746D4">
-<image href="GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e97218_href.png" placement="inline"/>
+<image href="GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e101297_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item (emulates a selection key
 press).</p></entry>
@@ -178,7 +178,7 @@
 <row>
 <entry><p>Multi-selection list setting</p></entry>
 <entry><fig id="GUID-E57E97AA-6EAE-4D64-8D3E-B949F01E6FD4">
-<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e97235_href.png" placement="inline"/>
+<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e101314_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item.</p></entry>
 </row>
@@ -186,7 +186,7 @@
 <entry><p><xref href="GUID-B452DBD8-F9EB-4DAB-9D0C-3B11D7C360F4.dita">Text
 setting</xref></p></entry>
 <entry><fig id="GUID-E703DF9E-8FD8-4C43-B908-D26DDAFA8709">
-<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e97253_href.png" placement="inline"/>
+<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e101332_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>The cursor can be moved with the text field. Dragging selects
 a block of text.</p></entry>
@@ -195,7 +195,7 @@
 <entry><p><xref href="GUID-1BDADA7A-D517-49F4-AF46-AFC2B7758571.dita">Slider
 setting</xref></p></entry>
 <entry><fig id="GUID-DA4C2543-ED35-4C1B-9260-84F7357065D7">
-<image href="GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e97271_href.png" placement="inline"/>
+<image href="GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e101350_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>The slider thumb is draggable.</p></entry>
 </row>
@@ -203,7 +203,7 @@
 <entry><p><xref href="GUID-F149726A-CC79-42A1-8A25-E15AC14ABE9A.dita">Setting
 list</xref></p></entry>
 <entry><fig id="GUID-E5856FD3-9B0D-402A-977A-38D9DAE96FC0">
-<image href="GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e97289_href.png" placement="inline"/>
+<image href="GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e101368_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the item(emulates a selection key
 press).</p></entry>
@@ -211,7 +211,7 @@
 <row>
 <entry><p>Softkeys (left and right) in the <xref href="GUID-8B137691-7C9E-4085-BFFE-4CFE4A64A091.dita">Control pane</xref></p><note>There is no middle softkey label in Touch UI</note></entry>
 <entry><fig id="GUID-85747A91-92EA-4724-B1A4-BC31350B33A9">
-<image href="GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e97310_href.png" placement="inline"/>
+<image href="GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e101389_href.png" placement="inline"/>
 </fig></entry>
 <entry/>
 </row>
@@ -232,7 +232,7 @@
 Pane</xref></p></li>
 </ul></entry>
 <entry><fig id="GUID-5A4D7428-B172-42B8-9674-8EC5C55AC220">
-<image href="GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e97360_href.png" placement="inline"/>
+<image href="GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e101439_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>A short tap activates the functionality if the sub-pane
 has one (the signal and battery panes are inactive).</p></entry>
@@ -243,7 +243,7 @@
 Controller</xref></p></li>
 </ul></entry>
 <entry><fig id="GUID-F0031B23-D7A6-4A95-84E5-2A3882DF125A">
-<image href="GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e97386_href.png" placement="inline"/>
+<image href="GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e101465_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Draggable slider thumb. Icons can be set as tappable. </p><p>Volume slider thumb is draggable, and muting can be done directly
 by tapping the speaker icon.</p></entry>
@@ -252,7 +252,7 @@
 <entry><p><xref href="GUID-EC98E7E0-872D-467D-BDC8-6471F6165705.dita">Universal
 indicator pop-up</xref></p></entry>
 <entry><fig id="GUID-01050257-59D4-4224-8756-22F9524B94AB">
-<image href="GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e97406_href.png" placement="inline"/>
+<image href="GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e101485_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Tapping the link performs the application-specific functionality.
 Most commonly, opens the application. Tapping the description text
--- a/Symbian3/PDK/Source/GUID-BBBA5C6C-4E8B-513A-8FA1-C7A04C54C140.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BBBA5C6C-4E8B-513A-8FA1-C7A04C54C140.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,13 +27,13 @@
 of the store. </p> <p>The essential features of the <codeph>CClipboard</codeph> class
 are shown in the following diagram: </p> <fig id="GUID-22419444-933C-5431-9717-CD332A17FCF2">
 <title>              Clipboard class structure            </title>
-<image href="GUID-15591211-58D3-56B6-868F-D34C30ED7A7A_d0e218436_href.png" placement="inline"/>
+<image href="GUID-15591211-58D3-56B6-868F-D34C30ED7A7A_d0e224456_href.png" placement="inline"/>
 </fig> <p>Any type of data can be placed on the clipboard. When retrieving
 data, applications check the UID in the stream dictionary to determine whether
 there is any data relevant to them. The following diagram illustrates a typical
 situation: </p> <fig id="GUID-3ABDDCDD-DBC9-5BD5-8448-8249F535FB06">
 <title>              Clipboard store            </title>
-<image href="GUID-F5B58B20-B85C-5BCD-B1EB-69CCE42DE6BB_d0e218447_href.png" placement="inline"/>
+<image href="GUID-F5B58B20-B85C-5BCD-B1EB-69CCE42DE6BB_d0e224467_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-8C94EE15-82EA-4A95-9044-C3404F95BD51.dita"><linktext>Using Clipboard</linktext>
--- a/Symbian3/PDK/Source/GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8" xml:lang="en"><title>MMP file syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BBC374AD-88E6-5C58-88BB-B939C2948DDA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BBC374AD-88E6-5C58-88BB-B939C2948DDA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 functions are virtual and implemented in the derived AppUi classes. </p> </li>
 </ul>
 <fig id="GUID-9FC56BFC-6DF5-5BF8-BDCD-65579655C558">
-<image href="GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e74687_href.png" placement="inline"/>
+<image href="GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e78900_href.png" placement="inline"/>
 </fig>
 <ul>
 <li id="GUID-380D267D-F442-5AE3-A361-CACEA4E97A88"><p>View Management </p> <p>The
--- a/Symbian3/PDK/Source/GUID-BBCC018A-BBD3-5609-8FCB-C9BF7EC5F627.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BBCC018A-BBD3-5609-8FCB-C9BF7EC5F627.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -41,6 +41,6 @@
 transition to be complete, whether or not all expected acknowledgements have
 been received. Any acknowledgement received after the time limit are ignored. </p>
 <fig id="GUID-712F469B-3C88-5209-8D7C-BDDF2C050A59">
-<image href="GUID-52298398-A727-5EC2-80A9-4B9704366455_d0e373541_href.png" placement="inline"/>
+<image href="GUID-52298398-A727-5EC2-80A9-4B9704366455_d0e379389_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BBDC3880-DFC3-42C0-913D-E90AB318E015_d0e65829_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BBDC3880-DFC3-42C0-913D-E90AB318E015_d0e70052_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e527935_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e535395_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BC7AFCC5-0052-479E-99AE-F3F982ED1F84-master.png has changed
Binary file Symbian3/PDK/Source/GUID-BC7AFCC5-0052-479E-99AE-F3F982ED1F84_d0e95236_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BCD83E02-9645-530C-8BD9-CCA1B8756842_d0e54862_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BCD83E02-9645-530C-8BD9-CCA1B8756842_d0e59096_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1" xml:lang="en"><title>CryptoSPI
+Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-3DAB2F6F-85F6-4AD9-97D9-90B380F8077D-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-1"><title>Introduction</title> <p>CryptoSPI
+(<filepath>cryptospi.dll</filepath>) is a library introduced in Symbian^3
+that manages the selection and loading of cryptographic algorithms. Cryptographic
+algorithms enable data to be encrypted and decrypted. The services provided
+by CryptoSPI are used by the following components: Certman (Certificate Management),
+Software Installation, Secure Communication Protocols (for example, SSL, TLS,
+IPSEC), and WTLS. </p> <p>CryptoSPI also provides a framework that allows
+licensees and partners to implement additional cryptographic algorithms as
+plug-ins to CryptoSPI. </p> <p>The benefits of CryptoSPI are: </p> <ul>
+<li id="GUID-32F02DC3-54AD-5520-AD1B-E85317BB4AFE-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-1-5-1"><p>Plug-ins can use cryptographic
+acceleration hardware, which can improve performance and reduce power consumption.
+Client applications do not need to know whether an operation is implemented
+in software or hardware. </p> </li>
+<li id="GUID-B2880123-00C8-58E7-8475-9B3D68059BF4-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-1-5-2"><p>Its architecture allows
+new algorithms or modes of operation to be added by licensees without impacting
+the existing APIs or client code. </p> </li>
+<li id="GUID-AC37BE3F-52BE-56E9-9E34-F25277F51434-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-1-5-3"><p>The legacy cryptography
+libraries (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>)
+have been preserved. Legacy client code can continue to use them without needing
+modification or re-compilation. This is achieved via an internal BC layer
+that routes legacy function calls to use the new SPI. </p> </li>
+<li id="GUID-2085DF2B-E97F-5B4F-B01D-84B76ED5FDE7-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-1-5-4"><p>CryptoSPI adds support
+for non-extractable keys, which may be used to protect sensitive or high-value
+content. </p> </li>
+<li id="GUID-F27670BD-8CAA-5EEA-9A82-6AB2C8741145-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-1-5-5"><p>CryptoSPI is more secure
+against malicious code than the legacy API, because it does not store any
+data, it has no server component and plugins must be located in ROM, so cannot
+be replaced or eclipsed. </p> </li>
+</ul> </section>
+<section id="GUID-5038F0E4-7FA2-4D9B-8EC0-D6670B4CCFA2-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-2"><title>Architectural
+relationships</title> <p>CryptoSPI was introduced in Symbian^3. Before Symbian^3,
+cryptographic algorithms, hash algorithms and random number generation were
+implemented by Symbian in <filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>.
+As shown in the CryptoSPI dependencies diagram, Symbian's legacy implementations
+and APIs were retained in Symbian^3, so that existing code does not need to
+be modified or recompiled. </p> <p> <filepath>softwarecrypto.dll</filepath> is
+a plug-in module implemented by Symbian that provides software-based implementations
+of all the cryptographic algorithms that were previously implemented by the
+legacy components (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>).
+The legacy APIs have been re-implemented internally to use the new framework
+via shim classes. <filepath>hardwarecrypto.dll</filepath> is an arbitrary
+name used in the diagram to represent a licensee-provided plug-in module.
+The plug-ins and <filepath>cryptospi.dll</filepath> have a dependency on <filepath>cryptography.dll</filepath> because
+it implements <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita">big integers</xref>. </p> <fig id="GUID-81B9B94D-07B8-512F-8553-0C98F557A21A-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-2-4">
+<title>              CryptoSPI dependencies</title>
+<image href="GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e610062_href.png" placement="inline"/>
+</fig> </section>
+<section id="GUID-BA9876DF-7166-4336-8BAC-D0B9AB051B47-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3"><title>API summary</title> <p>The <codeph>CryptoSpi</codeph> namespace
+is defined for all CryptoSPI classes to differentiate them from the legacy
+APIs with the same names. </p> <p><b>CryptoSPI scope</b> </p> <p>CryptoSPI
+provides equivalent implementations of all algorithms supported by the legacy
+APIs, including hashing and random number generation. The following algorithms
+are implemented by Symbian in <filepath>softwarecrypto.dll</filepath>  </p> <p>This
+section includes summary details of the following: </p> <ul>
+<li id="GUID-B57702C1-A525-5F77-9BB5-D6CCB4E45929-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-6-1"><p>cryptographic algorithms </p> </li>
+<li id="GUID-4148CBE5-77D8-5455-9A84-E6B978EF1017-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-6-2"><p>hash algorithms. </p> </li>
+<li><p>random number generator</p></li>
+</ul> <p><b>Cryptographic algorithms</b> </p><ul>
+<li><p><b>Symmetric ciphers</b> - The following symmetric algorithms are supported: </p><table id="GUID-EE0B2BF7-BD22-5A03-B4DB-A82D713BB52F-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-8-1-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>Symmetric algorithm</entry>
+<entry>Type</entry>
+<entry>Specified in:</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>AES (Advanced Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" scope="external">FIPS-197</xref> </p> </entry>
+</row>
+<row>
+<entry><p>DES (Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>3DES (Triple Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>RC2-128 </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2268.txt" scope="external">RFC
+2268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>ARC4 ('alleged' RC4) </p> </entry>
+<entry><p>Stream cipher </p> </entry>
+<entry><p>The internet and a posting to sci.crypt in 1994. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p> <b> Note:</b> Algorithm identifiers for MISTY1, MISTY2 and Kasumi
+(A5/3) block ciphers are in the cryptography library. These identifiers allow
+clients of the cryptography library to request implementations of these algorithms
+from the symmetric cipher factory. Symbian does not provide implementations
+of these algorithms, so the default behavior is for the factory function to
+return an error indicating that there is no implementation available. </p> <p><b>Note</b>:
+Until Symbian^3, the classes implementing the symmetric and asymmetric ciphers
+were provided in <filepath>cryptography.dll</filepath>. </p></li>
+<li><p><b>Asymmetric ciphers </b> - The following asymmetric algorithms are
+supported: </p><table id="GUID-EF226280-A0A6-5CDC-A561-E2CA11D551B0-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-8-2-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>Asymmetric algorithm</entry>
+<entry>What is's used for</entry>
+<entry>Specified in:</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>RSA PKCS#1 v1.5 </p> </entry>
+<entry><p>Signing data </p> <p>Key pair generation </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5 </p> </entry>
+</row>
+<row>
+<entry><p>DSA </p> </entry>
+<entry><p>Signing data </p> <p>Key pair generation </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> CR1 </p> </entry>
+</row>
+<row>
+<entry><p>Diffie Hellman </p> </entry>
+<entry><p>Key agreement </p> <p>Key pair generation </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table></li>
+<li><p><b>Hash algorithms</b> - The following hash algorithms are supported:</p><p><table id="GUID-ABBDB728-AC1E-4C93-949C-401938589A22-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-8-3-2-1">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry valign="top"><p>Hash algorithms</p></entry>
+<entry valign="top"><p>Specified in</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>MD2</p></entry>
+<entry><p><xref href="http://www.ietf.org/rfc/rfc1319.txt" scope="external">RFC
+1319</xref></p></entry>
+</row>
+<row>
+<entry><p>MD4</p></entry>
+<entry><p><xref href="http://www.ietf.org/rfc/rfc1320.txt" scope="external">RFC
+1320</xref></p></entry>
+</row>
+<row>
+<entry><p>MD5</p></entry>
+<entry><p><xref href="http://www.ietf.org/rfc/rfc1321.txt" scope="external">RFC
+1321</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA1</p></entry>
+<entry><p><xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS
+180-1</xref> and <xref href="http://www.ietf.org/rfc/rfc3174.txt" scope="external">RFC
+3174</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-224</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-256</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-384</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-512</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></p></li>
+<li><p><b>Hashes in HMAC mode</b></p><ul>
+<li><p>MD2</p></li>
+<li><p>MD4</p></li>
+<li><p>MD5</p></li>
+<li><p>SHA1</p></li>
+<li><p>SHA-224</p></li>
+<li><p>SHA-256</p></li>
+<li><p>SHA-384</p></li>
+<li><p>SHA-512</p></li>
+</ul><p> HMAC mode is specified in <xref href="http://www.ietf.org/rfc/rfc2104.txt" scope="external">RFC 2104</xref></p></li>
+</ul> <p><b>Instantiating algorithms</b> </p> <p>Clients request cryptographic
+algorithms using static factory functions. </p> <p>For instance, to create
+a hash algorithm, use the generic hash factory function <xref href="GUID-D2231146-4F0D-3F70-8249-C166375D78DC.dita#GUID-D2231146-4F0D-3F70-8249-C166375D78DC/GUID-2C0F6052-76A8-3E45-AF72-F567E1161212"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>,
+specifying the UID of the required algorithm. UIDs are defined in <filepath>cryptospidef.h</filepath>,
+for instance <codeph>KMd2Uid</codeph>, <codeph>KMd5Uid</codeph>, <codeph>KSha1Uid</codeph>.
+CryptoSPI uses a <xref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1.dita#GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1/GUID-15969DD8-8F8A-534D-8445-A5CC95112B63-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-29">plug-in
+selector</xref> to search for a plug-in that implements the requested algorithm.
+When a plug-in is found, CryptoSPI loads it if required, and calls the function
+defined at the relevant ordinal in the plug-in DLL, in this case <codeph>ECreateHashOrdinal</codeph>,
+to instantiate a hash object, which is returned to the caller. </p> <p><b>Operation
+and padding modes</b> </p> <p>CryptoSPI has been designed to be simpler and
+more compact than the API that it replaces. Rather than defining separate
+classes to do encryption and decryption, for instance, <codeph>C3DESEncryptor</codeph> and <codeph>C3DESDecryptor</codeph>,
+CryptoSPI implements a single, generic symmetric cipher class, <codeph>CryptoSpi::CSymmetricCipher</codeph>.
+The characteristics of the algorithm, for instance whether it does encryption
+or decryption, the operation mode for block ciphers (<codeph>KOperationModeECB</codeph>, <codeph>KOperationModeCBC</codeph> etc.),
+and the padding mode (<codeph>KPaddingModeSSLv3</codeph>, <codeph>KPaddingModePKCS7</codeph> etc.)
+are all passed by the client to the factory function as UIDs — see <xref href="GUID-5463D9D7-2DE0-3DC1-A415-910636125935.dita#GUID-5463D9D7-2DE0-3DC1-A415-910636125935/GUID-43F80501-62A9-3987-B057-852A1E80E483"><apiname>CryptoSpi::CSymmetricCipherFactory::CreateSymmetricCipherL()</apiname></xref>. </p> <p>The client can switch the algorithm between modes by setting a
+flag, see for example <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-121C4AC5-0D1C-33E7-A534-A4A6AA4DF6FD"><apiname>CSymmetricCipherBase::SetCryptoModeL()</apiname></xref>, <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-22633D2E-2D3A-3B30-91D2-A5A97C5274BC"><apiname>CSymmetricCipherBase::SetPaddingModeL()</apiname></xref> and <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-8D992640-AFCE-3839-AD50-0543AFBE564D"><apiname>CSymmetricCipherBase::SetOperationModeL()</apiname></xref>. </p> <p><ul>
+<li><p><b>Operation modes </b></p><p>Symbian platform provides default software
+implementations of the following operation modes: </p><ul>
+<li id="GUID-A7FBAF70-5202-5958-866F-9BACB7D3E0B3-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-1-3-1"><p>ECB </p> </li>
+<li id="GUID-3C51459C-C660-5F38-AD61-3F954DFF3ECF-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-1-3-2"><p>CBC </p> </li>
+<li id="GUID-A718E6C7-59D2-5324-8EE3-764E627D7AF4-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-1-3-3"><p>CTR (counter) </p> </li>
+</ul><p>They are specified in <xref href="http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf" scope="external">NIST Special Publication 800-38A</xref>. </p></li>
+<li><p><b>Padding modes </b></p><p>Symbian platform supports the following
+padding modes: </p><ul>
+<li id="GUID-8BC577C7-6A7E-5A0F-B8C9-1D7E93CE2E80-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-2-3-1"><p>SSLv3-style padding </p> </li>
+<li id="GUID-FA955DDF-CC6C-5CB3-878F-EE319C82EC3F-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-2-3-2"><p>PKCS#7-style padding </p> </li>
+<li id="GUID-93D60F44-17F9-54DD-B947-41D63C943B3F-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-2-3-3"><p>PKCS#1 v1.5 Encryption-style
+padding </p> </li>
+<li id="GUID-EF45D638-105A-5DDB-AC22-B37CA5868D97-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-15-1-2-3-4"><p>PKCS#1 v1.5 Signature-style
+padding </p> </li>
+</ul></li>
+</ul> </p> <p><b>Asynchronous operation and cancellation</b> </p> <p>The legacy
+cryptography library only supports synchronous operations. By enabling cryptographic
+acceleration hardware, CryptoSPI supports more advanced use cases. In order
+for users to be able to cancel potentially long-running operations such as
+the decryption of high-quality audio/visual content, CryptoSPI supports both
+synchronous and asynchronous interfaces for each cryptographic operation,
+the latter providing a <codeph>Cancel()</codeph> function. </p> <p><b>Note</b>:
+Symbian's software plug-in module (<filepath>softwarecrypto.dll</filepath>)
+only implements the synchronous interfaces. </p> <p><b>Plug-ins</b> </p> <p>A
+CryptoSPI plugin DLL can implement zero, one or more algorithms, and may provide
+alternative implementations of the same algorithm. The set of plugin DLLs
+is defined in a configuration file in ROM (<filepath>Z:\resource\cryptospi\plug-ins.txt</filepath>).
+CryptoSPI will only load plugins stored in ROM (<filepath>Z:\sys\bin\</filepath>),
+so plug-in modules cannot be added by third parties after-market. </p> <p> <filepath>cryptospi.dll</filepath> and
+all plug-ins have <codeph>ALL</codeph> capabilities, which ensures that they
+can be loaded by client applications with any capabilities. </p> <p>The abstract
+base class for all cryptographic plug-ins is <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-8390A214-1E1B-3E8F-A6C9-6030D99F532C"><apiname>CryptoSpi::MPlugin()</apiname></xref>. </p> <p>See
+also: <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita">How to create
+a CryptoSPI plugin</xref>. </p> <p><b>UIDs and plug-in characteristics</b> </p> <p>Plug-ins
+are identified by three UIDs: </p> <ul>
+<li id="GUID-3A357C90-9E3B-5620-93E0-CF45ABD57993-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-26-1"><p>the interface supported,
+for instance hash (<codeph>KHashInterfaceUid</codeph>), </p> </li>
+<li id="GUID-E2FAF159-EE47-5DE6-AB03-D133D815C690-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-26-2"><p>the algorithm implemented,
+for instance MD2 (<codeph>KMd2Uid</codeph>), and </p> </li>
+<li id="GUID-4EB6A03E-F3C5-5577-8C68-4761C25361E8-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-26-3"><p>the unique implementation
+ID. </p> </li>
+</ul> <p>These three UIDs are part of the plug-in's <i>characteristics</i>.
+Plug-in characteristics are defined at compile time as constant data. They
+describe the type and capabilities of a plug-in implementation. Some characteristics
+are relevant to all plug-in types, for instance the name and UID of the algorithm
+implemented, the name of the plug-in vendor and whether the plug-in uses hardware
+acceleration. These are termed <i>common characteristics</i> and are defined
+in <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-704C9275-4009-3E20-82F1-FBED2B29976E"><apiname>CryptoSpi::TCommonCharacteristics()</apiname></xref>. Other characteristics
+are specific to a particular interface type, for instance the modes of operation
+for a symmetric cipher. These are defined in an interface-specific characteristics
+class, for instance <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-CC81BF89-1AA4-3779-B7DB-A01C89041965"><apiname>CryptoSpi::TSymmetricCipherCharacteristics()</apiname></xref>,
+that have a <codeph>TCommonCharacteristics</codeph> data member. Plug-in characteristics
+can be retrieved using <xref href="GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F.dita#GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F/GUID-8D93089E-1F97-376B-8CC0-08E0E34158F4"><apiname>CCryptoBase::GetCharacteristicsL()</apiname></xref>. </p> <p>Plug-ins
+may optionally also have 'extended' characteristics. These are set at runtime,
+for instance the number of concurrent operations supported by the plug-in,
+and can be retrieved using <xref href="GUID-87D367F5-0FD8-3BEE-AFB0-B48706902C99.dita#GUID-87D367F5-0FD8-3BEE-AFB0-B48706902C99/GUID-720996CA-353D-37A2-A40E-3A18EC8EF4EB"><apiname>CryptoSpi::MPlugin::GetExtendedCharacteristicsL()</apiname></xref>. </p> <p id="GUID-15969DD8-8F8A-534D-8445-A5CC95112B63-GENID-1-12-1-26-1-1-11-1-1-3-1-3-1-2-3-29"><b>Selection rules</b> </p><p>Symbian
+has implemented a plug-in selector, <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-2E6D755A-2170-3A7A-8F89-1748CE1FEBDE"><apiname>CryptoSpi::CLegacySelector()</apiname></xref>,
+which is used both by the legacy API and by default by CryptoSPI to select
+algorithms implemented in <filepath>softwarecrypto.dll</filepath>. In other
+words, by default, CryptoSPI and the legacy API use the same algorithm implementations.
+The legacy selector works by loading DLLs one by one according to their order
+in the ROM configuration file until a suitable implementation is found. </p> <p>As
+an alternative to using the default selector, clients can specify a rule-based
+selector (<xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-DAA57D69-9E75-3333-9227-76D7B0719B7E"><apiname>CryptoSpi::CRuleSelector()</apiname></xref>). This causes CryptoSPI
+to re-generate the list of plug-ins, according to a set of selection rules.
+The API is described in <xref href="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita">How
+to use a rule-based selector</xref>. </p> <p>In general, it is recommended
+that applications should not specify selection rules unless it is critical
+to the operation of the application. The preferred approach is to use the
+plugin chosen by the default selector, which can be assumed to provide good
+performance for the most common use cases. </p> </section>
+</conbody><related-links>
+<link href="GUID-679390E8-1DE6-55F0-9A0C-60D58956A1E3.dita"><linktext>Hash (message
+digest) algorithms</linktext></link>
+<link href="GUID-0CD273A2-434C-52E0-B840-CCF24B2853B8.dita"><linktext>Generating
+random bytes</linktext></link>
+<link href="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1.dita"><linktext>Basic encryption
+and decryption using a symmetric cipher</linktext></link>
+<link href="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1.dita"><linktext>Signing and
+verification</linktext></link>
+<link href="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita"><linktext>How to use
+a rule-based selector</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1" xml:lang="en"><title>CryptoSPI
+Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-3DAB2F6F-85F6-4AD9-97D9-90B380F8077D-GENID-1-12-1-26-1-1-9-1-3-1-2-1"><title>Introduction</title> <p>CryptoSPI
+(<filepath>cryptospi.dll</filepath>) is a library introduced in Symbian^3
+that manages the selection and loading of cryptographic algorithms. Cryptographic
+algorithms enable data to be encrypted and decrypted. The services provided
+by CryptoSPI are used by the following components: Certman (Certificate Management),
+Software Installation, Secure Communication Protocols (for example, SSL, TLS,
+IPSEC), and WTLS. </p> <p>CryptoSPI also provides a framework that allows
+licensees and partners to implement additional cryptographic algorithms as
+plug-ins to CryptoSPI. </p> <p>The benefits of CryptoSPI are: </p> <ul>
+<li id="GUID-32F02DC3-54AD-5520-AD1B-E85317BB4AFE-GENID-1-12-1-26-1-1-9-1-3-1-2-1-5-1"><p>Plug-ins can use cryptographic
+acceleration hardware, which can improve performance and reduce power consumption.
+Client applications do not need to know whether an operation is implemented
+in software or hardware. </p> </li>
+<li id="GUID-B2880123-00C8-58E7-8475-9B3D68059BF4-GENID-1-12-1-26-1-1-9-1-3-1-2-1-5-2"><p>Its architecture allows
+new algorithms or modes of operation to be added by licensees without impacting
+the existing APIs or client code. </p> </li>
+<li id="GUID-AC37BE3F-52BE-56E9-9E34-F25277F51434-GENID-1-12-1-26-1-1-9-1-3-1-2-1-5-3"><p>The legacy cryptography
+libraries (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>)
+have been preserved. Legacy client code can continue to use them without needing
+modification or re-compilation. This is achieved via an internal BC layer
+that routes legacy function calls to use the new SPI. </p> </li>
+<li id="GUID-2085DF2B-E97F-5B4F-B01D-84B76ED5FDE7-GENID-1-12-1-26-1-1-9-1-3-1-2-1-5-4"><p>CryptoSPI adds support
+for non-extractable keys, which may be used to protect sensitive or high-value
+content. </p> </li>
+<li id="GUID-F27670BD-8CAA-5EEA-9A82-6AB2C8741145-GENID-1-12-1-26-1-1-9-1-3-1-2-1-5-5"><p>CryptoSPI is more secure
+against malicious code than the legacy API, because it does not store any
+data, it has no server component and plugins must be located in ROM, so cannot
+be replaced or eclipsed. </p> </li>
+</ul> </section>
+<section id="GUID-5038F0E4-7FA2-4D9B-8EC0-D6670B4CCFA2-GENID-1-12-1-26-1-1-9-1-3-1-2-2"><title>Architectural
+relationships</title> <p>CryptoSPI was introduced in Symbian^3. Before Symbian^3,
+cryptographic algorithms, hash algorithms and random number generation were
+implemented by Symbian in <filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>.
+As shown in the CryptoSPI dependencies diagram, Symbian's legacy implementations
+and APIs were retained in Symbian^3, so that existing code does not need to
+be modified or recompiled. </p> <p> <filepath>softwarecrypto.dll</filepath> is
+a plug-in module implemented by Symbian that provides software-based implementations
+of all the cryptographic algorithms that were previously implemented by the
+legacy components (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>).
+The legacy APIs have been re-implemented internally to use the new framework
+via shim classes. <filepath>hardwarecrypto.dll</filepath> is an arbitrary
+name used in the diagram to represent a licensee-provided plug-in module.
+The plug-ins and <filepath>cryptospi.dll</filepath> have a dependency on <filepath>cryptography.dll</filepath> because
+it implements <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita">big integers</xref>. </p> <fig id="GUID-81B9B94D-07B8-512F-8553-0C98F557A21A-GENID-1-12-1-26-1-1-9-1-3-1-2-2-4">
+<title>              CryptoSPI dependencies</title>
+<image href="GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e595114_href.png" placement="inline"/>
+</fig> </section>
+<section id="GUID-BA9876DF-7166-4336-8BAC-D0B9AB051B47-GENID-1-12-1-26-1-1-9-1-3-1-2-3"><title>API summary</title> <p>The <codeph>CryptoSpi</codeph> namespace
+is defined for all CryptoSPI classes to differentiate them from the legacy
+APIs with the same names. </p> <p><b>CryptoSPI scope</b> </p> <p>CryptoSPI
+provides equivalent implementations of all algorithms supported by the legacy
+APIs, including hashing and random number generation. The following algorithms
+are implemented by Symbian in <filepath>softwarecrypto.dll</filepath>  </p> <p>This
+section includes summary details of the following: </p> <ul>
+<li id="GUID-B57702C1-A525-5F77-9BB5-D6CCB4E45929-GENID-1-12-1-26-1-1-9-1-3-1-2-3-6-1"><p>cryptographic algorithms </p> </li>
+<li id="GUID-4148CBE5-77D8-5455-9A84-E6B978EF1017-GENID-1-12-1-26-1-1-9-1-3-1-2-3-6-2"><p>hash algorithms. </p> </li>
+<li><p>random number generator</p></li>
+</ul> <p><b>Cryptographic algorithms</b> </p><ul>
+<li><p><b>Symmetric ciphers</b> - The following symmetric algorithms are supported: </p><table id="GUID-EE0B2BF7-BD22-5A03-B4DB-A82D713BB52F-GENID-1-12-1-26-1-1-9-1-3-1-2-3-8-1-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>Symmetric algorithm</entry>
+<entry>Type</entry>
+<entry>Specified in:</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>AES (Advanced Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" scope="external">FIPS-197</xref> </p> </entry>
+</row>
+<row>
+<entry><p>DES (Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>3DES (Triple Data Encryption Standard) </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>RC2-128 </p> </entry>
+<entry><p>Block cipher </p> </entry>
+<entry><p> <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2268.txt" scope="external">RFC
+2268</xref>  </p> </entry>
+</row>
+<row>
+<entry><p>ARC4 ('alleged' RC4) </p> </entry>
+<entry><p>Stream cipher </p> </entry>
+<entry><p>The internet and a posting to sci.crypt in 1994. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p> <b> Note:</b> Algorithm identifiers for MISTY1, MISTY2 and Kasumi
+(A5/3) block ciphers are in the cryptography library. These identifiers allow
+clients of the cryptography library to request implementations of these algorithms
+from the symmetric cipher factory. Symbian does not provide implementations
+of these algorithms, so the default behavior is for the factory function to
+return an error indicating that there is no implementation available. </p> <p><b>Note</b>:
+Until Symbian^3, the classes implementing the symmetric and asymmetric ciphers
+were provided in <filepath>cryptography.dll</filepath>. </p></li>
+<li><p><b>Asymmetric ciphers </b> - The following asymmetric algorithms are
+supported: </p><table id="GUID-EF226280-A0A6-5CDC-A561-E2CA11D551B0-GENID-1-12-1-26-1-1-9-1-3-1-2-3-8-2-2">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>Asymmetric algorithm</entry>
+<entry>What is's used for</entry>
+<entry>Specified in:</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>RSA PKCS#1 v1.5 </p> </entry>
+<entry><p>Signing data </p> <p>Key pair generation </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5 </p> </entry>
+</row>
+<row>
+<entry><p>DSA </p> </entry>
+<entry><p>Signing data </p> <p>Key pair generation </p> </entry>
+<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> CR1 </p> </entry>
+</row>
+<row>
+<entry><p>Diffie Hellman </p> </entry>
+<entry><p>Key agreement </p> <p>Key pair generation </p> </entry>
+<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table></li>
+<li><p><b>Hash algorithms</b> - The following hash algorithms are supported:</p><p><table id="GUID-ABBDB728-AC1E-4C93-949C-401938589A22-GENID-1-12-1-26-1-1-9-1-3-1-2-3-8-3-2-1">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry valign="top"><p>Hash algorithms</p></entry>
+<entry valign="top"><p>Specified in</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>MD2</p></entry>
+<entry><p><xref href="http://www.ietf.org/rfc/rfc1319.txt" scope="external">RFC
+1319</xref></p></entry>
+</row>
+<row>
+<entry><p>MD4</p></entry>
+<entry><p><xref href="http://www.ietf.org/rfc/rfc1320.txt" scope="external">RFC
+1320</xref></p></entry>
+</row>
+<row>
+<entry><p>MD5</p></entry>
+<entry><p><xref href="http://www.ietf.org/rfc/rfc1321.txt" scope="external">RFC
+1321</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA1</p></entry>
+<entry><p><xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS
+180-1</xref> and <xref href="http://www.ietf.org/rfc/rfc3174.txt" scope="external">RFC
+3174</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-224</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-256</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-384</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+<row>
+<entry><p>SHA-512</p></entry>
+<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></p></li>
+<li><p><b>Hashes in HMAC mode</b></p><ul>
+<li><p>MD2</p></li>
+<li><p>MD4</p></li>
+<li><p>MD5</p></li>
+<li><p>SHA1</p></li>
+<li><p>SHA-224</p></li>
+<li><p>SHA-256</p></li>
+<li><p>SHA-384</p></li>
+<li><p>SHA-512</p></li>
+</ul><p> HMAC mode is specified in <xref href="http://www.ietf.org/rfc/rfc2104.txt" scope="external">RFC 2104</xref></p></li>
+</ul> <p><b>Instantiating algorithms</b> </p> <p>Clients request cryptographic
+algorithms using static factory functions. </p> <p>For instance, to create
+a hash algorithm, use the generic hash factory function <xref href="GUID-D2231146-4F0D-3F70-8249-C166375D78DC.dita#GUID-D2231146-4F0D-3F70-8249-C166375D78DC/GUID-2C0F6052-76A8-3E45-AF72-F567E1161212"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>,
+specifying the UID of the required algorithm. UIDs are defined in <filepath>cryptospidef.h</filepath>,
+for instance <codeph>KMd2Uid</codeph>, <codeph>KMd5Uid</codeph>, <codeph>KSha1Uid</codeph>.
+CryptoSPI uses a <xref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1.dita#GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7-GENID-1-12-1-26-1-1-9-1-3-1/GUID-15969DD8-8F8A-534D-8445-A5CC95112B63-GENID-1-12-1-26-1-1-9-1-3-1-2-3-29">plug-in
+selector</xref> to search for a plug-in that implements the requested algorithm.
+When a plug-in is found, CryptoSPI loads it if required, and calls the function
+defined at the relevant ordinal in the plug-in DLL, in this case <codeph>ECreateHashOrdinal</codeph>,
+to instantiate a hash object, which is returned to the caller. </p> <p><b>Operation
+and padding modes</b> </p> <p>CryptoSPI has been designed to be simpler and
+more compact than the API that it replaces. Rather than defining separate
+classes to do encryption and decryption, for instance, <codeph>C3DESEncryptor</codeph> and <codeph>C3DESDecryptor</codeph>,
+CryptoSPI implements a single, generic symmetric cipher class, <codeph>CryptoSpi::CSymmetricCipher</codeph>.
+The characteristics of the algorithm, for instance whether it does encryption
+or decryption, the operation mode for block ciphers (<codeph>KOperationModeECB</codeph>, <codeph>KOperationModeCBC</codeph> etc.),
+and the padding mode (<codeph>KPaddingModeSSLv3</codeph>, <codeph>KPaddingModePKCS7</codeph> etc.)
+are all passed by the client to the factory function as UIDs — see <xref href="GUID-5463D9D7-2DE0-3DC1-A415-910636125935.dita#GUID-5463D9D7-2DE0-3DC1-A415-910636125935/GUID-43F80501-62A9-3987-B057-852A1E80E483"><apiname>CryptoSpi::CSymmetricCipherFactory::CreateSymmetricCipherL()</apiname></xref>. </p> <p>The client can switch the algorithm between modes by setting a
+flag, see for example <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-121C4AC5-0D1C-33E7-A534-A4A6AA4DF6FD"><apiname>CSymmetricCipherBase::SetCryptoModeL()</apiname></xref>, <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-22633D2E-2D3A-3B30-91D2-A5A97C5274BC"><apiname>CSymmetricCipherBase::SetPaddingModeL()</apiname></xref> and <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-8D992640-AFCE-3839-AD50-0543AFBE564D"><apiname>CSymmetricCipherBase::SetOperationModeL()</apiname></xref>. </p> <p><ul>
+<li><p><b>Operation modes </b></p><p>Symbian platform provides default software
+implementations of the following operation modes: </p><ul>
+<li id="GUID-A7FBAF70-5202-5958-866F-9BACB7D3E0B3-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-1-3-1"><p>ECB </p> </li>
+<li id="GUID-3C51459C-C660-5F38-AD61-3F954DFF3ECF-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-1-3-2"><p>CBC </p> </li>
+<li id="GUID-A718E6C7-59D2-5324-8EE3-764E627D7AF4-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-1-3-3"><p>CTR (counter) </p> </li>
+</ul><p>They are specified in <xref href="http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf" scope="external">NIST Special Publication 800-38A</xref>. </p></li>
+<li><p><b>Padding modes </b></p><p>Symbian platform supports the following
+padding modes: </p><ul>
+<li id="GUID-8BC577C7-6A7E-5A0F-B8C9-1D7E93CE2E80-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-2-3-1"><p>SSLv3-style padding </p> </li>
+<li id="GUID-FA955DDF-CC6C-5CB3-878F-EE319C82EC3F-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-2-3-2"><p>PKCS#7-style padding </p> </li>
+<li id="GUID-93D60F44-17F9-54DD-B947-41D63C943B3F-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-2-3-3"><p>PKCS#1 v1.5 Encryption-style
+padding </p> </li>
+<li id="GUID-EF45D638-105A-5DDB-AC22-B37CA5868D97-GENID-1-12-1-26-1-1-9-1-3-1-2-3-15-1-2-3-4"><p>PKCS#1 v1.5 Signature-style
+padding </p> </li>
+</ul></li>
+</ul> </p> <p><b>Asynchronous operation and cancellation</b> </p> <p>The legacy
+cryptography library only supports synchronous operations. By enabling cryptographic
+acceleration hardware, CryptoSPI supports more advanced use cases. In order
+for users to be able to cancel potentially long-running operations such as
+the decryption of high-quality audio/visual content, CryptoSPI supports both
+synchronous and asynchronous interfaces for each cryptographic operation,
+the latter providing a <codeph>Cancel()</codeph> function. </p> <p><b>Note</b>:
+Symbian's software plug-in module (<filepath>softwarecrypto.dll</filepath>)
+only implements the synchronous interfaces. </p> <p><b>Plug-ins</b> </p> <p>A
+CryptoSPI plugin DLL can implement zero, one or more algorithms, and may provide
+alternative implementations of the same algorithm. The set of plugin DLLs
+is defined in a configuration file in ROM (<filepath>Z:\resource\cryptospi\plug-ins.txt</filepath>).
+CryptoSPI will only load plugins stored in ROM (<filepath>Z:\sys\bin\</filepath>),
+so plug-in modules cannot be added by third parties after-market. </p> <p> <filepath>cryptospi.dll</filepath> and
+all plug-ins have <codeph>ALL</codeph> capabilities, which ensures that they
+can be loaded by client applications with any capabilities. </p> <p>The abstract
+base class for all cryptographic plug-ins is <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-8390A214-1E1B-3E8F-A6C9-6030D99F532C"><apiname>CryptoSpi::MPlugin()</apiname></xref>. </p> <p>See
+also: <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7-GENID-1-12-1-26-1-1-9-1-10-1.dita">How to create
+a CryptoSPI plugin</xref>. </p> <p><b>UIDs and plug-in characteristics</b> </p> <p>Plug-ins
+are identified by three UIDs: </p> <ul>
+<li id="GUID-3A357C90-9E3B-5620-93E0-CF45ABD57993-GENID-1-12-1-26-1-1-9-1-3-1-2-3-26-1"><p>the interface supported,
+for instance hash (<codeph>KHashInterfaceUid</codeph>), </p> </li>
+<li id="GUID-E2FAF159-EE47-5DE6-AB03-D133D815C690-GENID-1-12-1-26-1-1-9-1-3-1-2-3-26-2"><p>the algorithm implemented,
+for instance MD2 (<codeph>KMd2Uid</codeph>), and </p> </li>
+<li id="GUID-4EB6A03E-F3C5-5577-8C68-4761C25361E8-GENID-1-12-1-26-1-1-9-1-3-1-2-3-26-3"><p>the unique implementation
+ID. </p> </li>
+</ul> <p>These three UIDs are part of the plug-in's <i>characteristics</i>.
+Plug-in characteristics are defined at compile time as constant data. They
+describe the type and capabilities of a plug-in implementation. Some characteristics
+are relevant to all plug-in types, for instance the name and UID of the algorithm
+implemented, the name of the plug-in vendor and whether the plug-in uses hardware
+acceleration. These are termed <i>common characteristics</i> and are defined
+in <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-704C9275-4009-3E20-82F1-FBED2B29976E"><apiname>CryptoSpi::TCommonCharacteristics()</apiname></xref>. Other characteristics
+are specific to a particular interface type, for instance the modes of operation
+for a symmetric cipher. These are defined in an interface-specific characteristics
+class, for instance <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-CC81BF89-1AA4-3779-B7DB-A01C89041965"><apiname>CryptoSpi::TSymmetricCipherCharacteristics()</apiname></xref>,
+that have a <codeph>TCommonCharacteristics</codeph> data member. Plug-in characteristics
+can be retrieved using <xref href="GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F.dita#GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F/GUID-8D93089E-1F97-376B-8CC0-08E0E34158F4"><apiname>CCryptoBase::GetCharacteristicsL()</apiname></xref>. </p> <p>Plug-ins
+may optionally also have 'extended' characteristics. These are set at runtime,
+for instance the number of concurrent operations supported by the plug-in,
+and can be retrieved using <xref href="GUID-87D367F5-0FD8-3BEE-AFB0-B48706902C99.dita#GUID-87D367F5-0FD8-3BEE-AFB0-B48706902C99/GUID-720996CA-353D-37A2-A40E-3A18EC8EF4EB"><apiname>CryptoSpi::MPlugin::GetExtendedCharacteristicsL()</apiname></xref>. </p> <p id="GUID-15969DD8-8F8A-534D-8445-A5CC95112B63-GENID-1-12-1-26-1-1-9-1-3-1-2-3-29"><b>Selection rules</b> </p><p>Symbian
+has implemented a plug-in selector, <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-2E6D755A-2170-3A7A-8F89-1748CE1FEBDE"><apiname>CryptoSpi::CLegacySelector()</apiname></xref>,
+which is used both by the legacy API and by default by CryptoSPI to select
+algorithms implemented in <filepath>softwarecrypto.dll</filepath>. In other
+words, by default, CryptoSPI and the legacy API use the same algorithm implementations.
+The legacy selector works by loading DLLs one by one according to their order
+in the ROM configuration file until a suitable implementation is found. </p> <p>As
+an alternative to using the default selector, clients can specify a rule-based
+selector (<xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-DAA57D69-9E75-3333-9227-76D7B0719B7E"><apiname>CryptoSpi::CRuleSelector()</apiname></xref>). This causes CryptoSPI
+to re-generate the list of plug-ins, according to a set of selection rules.
+The API is described in <xref href="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita">How
+to use a rule-based selector</xref>. </p> <p>In general, it is recommended
+that applications should not specify selection rules unless it is critical
+to the operation of the application. The preferred approach is to use the
+plugin chosen by the default selector, which can be assumed to provide good
+performance for the most common use cases. </p> </section>
+</conbody><related-links>
+<link href="GUID-679390E8-1DE6-55F0-9A0C-60D58956A1E3.dita"><linktext>Hash (message
+digest) algorithms</linktext></link>
+<link href="GUID-0CD273A2-434C-52E0-B840-CCF24B2853B8.dita"><linktext>Generating
+random bytes</linktext></link>
+<link href="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1.dita"><linktext>Basic encryption
+and decryption using a symmetric cipher</linktext></link>
+<link href="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2-GENID-1-12-1-26-1-1-9-1-6-1.dita"><linktext>Signing and
+verification</linktext></link>
+<link href="GUID-5857377F-B90D-5149-9485-5919C12B8F13-GENID-1-12-1-26-1-1-9-1-5-1-5-1.dita"><linktext>How to use
+a rule-based selector</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7" xml:lang="en"><title>CryptoSPI
-Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-3DAB2F6F-85F6-4AD9-97D9-90B380F8077D"><title>Introduction</title> <p>CryptoSPI
-(<filepath>cryptospi.dll</filepath>) is a library introduced in Symbian^3
-that manages the selection and loading of cryptographic algorithms. Cryptographic
-algorithms enable data to be encrypted and decrypted. The services provided
-by CryptoSPI are used by the following components: Certman (Certificate Management),
-Software Installation, Secure Communication Protocols (for example, SSL, TLS,
-IPSEC), and WTLS. </p> <p>CryptoSPI also provides a framework that allows
-licensees and partners to implement additional cryptographic algorithms as
-plug-ins to CryptoSPI. </p> <p>The benefits of CryptoSPI are: </p> <ul>
-<li id="GUID-32F02DC3-54AD-5520-AD1B-E85317BB4AFE"><p>Plug-ins can use cryptographic
-acceleration hardware, which can improve performance and reduce power consumption.
-Client applications do not need to know whether an operation is implemented
-in software or hardware. </p> </li>
-<li id="GUID-B2880123-00C8-58E7-8475-9B3D68059BF4"><p>Its architecture allows
-new algorithms or modes of operation to be added by licensees without impacting
-the existing APIs or client code. </p> </li>
-<li id="GUID-AC37BE3F-52BE-56E9-9E34-F25277F51434"><p>The legacy cryptography
-libraries (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>)
-have been preserved. Legacy client code can continue to use them without needing
-modification or re-compilation. This is achieved via an internal BC layer
-that routes legacy function calls to use the new SPI. </p> </li>
-<li id="GUID-2085DF2B-E97F-5B4F-B01D-84B76ED5FDE7"><p>CryptoSPI adds support
-for non-extractable keys, which may be used to protect sensitive or high-value
-content. </p> </li>
-<li id="GUID-F27670BD-8CAA-5EEA-9A82-6AB2C8741145"><p>CryptoSPI is more secure
-against malicious code than the legacy API, because it does not store any
-data, it has no server component and plugins must be located in ROM, so cannot
-be replaced or eclipsed. </p> </li>
-</ul> </section>
-<section id="GUID-5038F0E4-7FA2-4D9B-8EC0-D6670B4CCFA2"><title>Architectural
-relationships</title> <p>CryptoSPI was introduced in Symbian^3. Before Symbian^3,
-cryptographic algorithms, hash algorithms and random number generation were
-implemented by Symbian in <filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>.
-As shown in the CryptoSPI dependencies diagram, Symbian's legacy implementations
-and APIs were retained in Symbian^3, so that existing code does not need to
-be modified or recompiled. </p> <p> <filepath>softwarecrypto.dll</filepath> is
-a plug-in module implemented by Symbian that provides software-based implementations
-of all the cryptographic algorithms that were previously implemented by the
-legacy components (<filepath>cryptography.dll</filepath>, <filepath>hash.dll</filepath> and <filepath>random.dll</filepath>).
-The legacy APIs have been re-implemented internally to use the new framework
-via shim classes. <filepath>hardwarecrypto.dll</filepath> is an arbitrary
-name used in the diagram to represent a licensee-provided plug-in module.
-The plug-ins and <filepath>cryptospi.dll</filepath> have a dependency on <filepath>cryptography.dll</filepath> because
-it implements <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita">big integers</xref>. </p> <fig id="GUID-81B9B94D-07B8-512F-8553-0C98F557A21A">
-<title>              CryptoSPI dependencies</title>
-<image href="GUID-7501D3AC-16FB-58E9-B55C-2598ECCD2FFA_d0e623008_href.png" placement="inline"/>
-</fig> </section>
-<section id="GUID-BA9876DF-7166-4336-8BAC-D0B9AB051B47"><title>API summary</title> <p>The <codeph>CryptoSpi</codeph> namespace
-is defined for all CryptoSPI classes to differentiate them from the legacy
-APIs with the same names. </p> <p><b>CryptoSPI scope</b> </p> <p>CryptoSPI
-provides equivalent implementations of all algorithms supported by the legacy
-APIs, including hashing and random number generation. The following algorithms
-are implemented by Symbian in <filepath>softwarecrypto.dll</filepath>  </p> <p>This
-section includes summary details of the following: </p> <ul>
-<li id="GUID-B57702C1-A525-5F77-9BB5-D6CCB4E45929"><p>cryptographic algorithms </p> </li>
-<li id="GUID-4148CBE5-77D8-5455-9A84-E6B978EF1017"><p>hash algorithms. </p> </li>
-<li><p>random number generator</p></li>
-</ul> <p><b>Cryptographic algorithms</b> </p><ul>
-<li><p><b>Symmetric ciphers</b> - The following symmetric algorithms are supported: </p><table id="GUID-EE0B2BF7-BD22-5A03-B4DB-A82D713BB52F">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Symmetric algorithm</entry>
-<entry>Type</entry>
-<entry>Specified in:</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>AES (Advanced Encryption Standard) </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" scope="external">FIPS-197</xref> </p> </entry>
-</row>
-<row>
-<entry><p>DES (Data Encryption Standard) </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>3DES (Triple Data Encryption Standard) </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf" scope="external">FIPS 46-3</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>RC2-128 </p> </entry>
-<entry><p>Block cipher </p> </entry>
-<entry><p> <xref href="ftp://ftp.rfc-editor.org/in-notes/rfc2268.txt" scope="external">RFC
-2268</xref>  </p> </entry>
-</row>
-<row>
-<entry><p>ARC4 ('alleged' RC4) </p> </entry>
-<entry><p>Stream cipher </p> </entry>
-<entry><p>The internet and a posting to sci.crypt in 1994. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p> <b> Note:</b> Algorithm identifiers for MISTY1, MISTY2 and Kasumi
-(A5/3) block ciphers are in the cryptography library. These identifiers allow
-clients of the cryptography library to request implementations of these algorithms
-from the symmetric cipher factory. Symbian does not provide implementations
-of these algorithms, so the default behavior is for the factory function to
-return an error indicating that there is no implementation available. </p> <p><b>Note</b>:
-Until Symbian^3, the classes implementing the symmetric and asymmetric ciphers
-were provided in <filepath>cryptography.dll</filepath>. </p></li>
-<li><p><b>Asymmetric ciphers </b> - The following asymmetric algorithms are
-supported: </p><table id="GUID-EF226280-A0A6-5CDC-A561-E2CA11D551B0">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Asymmetric algorithm</entry>
-<entry>What is's used for</entry>
-<entry>Specified in:</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>RSA PKCS#1 v1.5 </p> </entry>
-<entry><p>Signing data </p> <p>Key pair generation </p> </entry>
-<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2125" scope="external">PKCS#1</xref> v1.5 </p> </entry>
-</row>
-<row>
-<entry><p>DSA </p> </entry>
-<entry><p>Signing data </p> <p>Key pair generation </p> </entry>
-<entry><p> <xref href="http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf" scope="external">FIPS 186-2</xref> CR1 </p> </entry>
-</row>
-<row>
-<entry><p>Diffie Hellman </p> </entry>
-<entry><p>Key agreement </p> <p>Key pair generation </p> </entry>
-<entry><p> <xref href="http://www.rsasecurity.com/rsalabs/node.asp?id=2126" scope="external">PKCS#3</xref>  </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table></li>
-<li><p><b>Hash algorithms</b> - The following hash algorithms are supported:</p><p><table id="GUID-ABBDB728-AC1E-4C93-949C-401938589A22">
-<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry valign="top"><p>Hash algorithms</p></entry>
-<entry valign="top"><p>Specified in</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p>MD2</p></entry>
-<entry><p><xref href="http://www.ietf.org/rfc/rfc1319.txt" scope="external">RFC
-1319</xref></p></entry>
-</row>
-<row>
-<entry><p>MD4</p></entry>
-<entry><p><xref href="http://www.ietf.org/rfc/rfc1320.txt" scope="external">RFC
-1320</xref></p></entry>
-</row>
-<row>
-<entry><p>MD5</p></entry>
-<entry><p><xref href="http://www.ietf.org/rfc/rfc1321.txt" scope="external">RFC
-1321</xref></p></entry>
-</row>
-<row>
-<entry><p>SHA1</p></entry>
-<entry><p><xref href="http://www.itl.nist.gov/fipspubs/fip180-1.htm" scope="external">FIPS
-180-1</xref> and <xref href="http://www.ietf.org/rfc/rfc3174.txt" scope="external">RFC
-3174</xref></p></entry>
-</row>
-<row>
-<entry><p>SHA-224</p></entry>
-<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
-</row>
-<row>
-<entry><p>SHA-256</p></entry>
-<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
-</row>
-<row>
-<entry><p>SHA-384</p></entry>
-<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
-</row>
-<row>
-<entry><p>SHA-512</p></entry>
-<entry><p><xref href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf " scope="external">FIPS 180-2</xref></p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></p></li>
-<li><p><b>Hashes in HMAC mode</b></p><ul>
-<li><p>MD2</p></li>
-<li><p>MD4</p></li>
-<li><p>MD5</p></li>
-<li><p>SHA1</p></li>
-<li><p>SHA-224</p></li>
-<li><p>SHA-256</p></li>
-<li><p>SHA-384</p></li>
-<li><p>SHA-512</p></li>
-</ul><p> HMAC mode is specified in <xref href="http://www.ietf.org/rfc/rfc2104.txt" scope="external">RFC 2104</xref></p></li>
-</ul> <p><b>Instantiating algorithms</b> </p> <p>Clients request cryptographic
-algorithms using static factory functions. </p> <p>For instance, to create
-a hash algorithm, use the generic hash factory function <xref href="GUID-D2231146-4F0D-3F70-8249-C166375D78DC.dita#GUID-D2231146-4F0D-3F70-8249-C166375D78DC/GUID-2C0F6052-76A8-3E45-AF72-F567E1161212"><apiname>CryptoSpi::CHashFactory::CreateHashL()</apiname></xref>,
-specifying the UID of the required algorithm. UIDs are defined in <filepath>cryptospidef.h</filepath>,
-for instance <codeph>KMd2Uid</codeph>, <codeph>KMd5Uid</codeph>, <codeph>KSha1Uid</codeph>.
-CryptoSPI uses a <xref href="GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7.dita#GUID-BCDCB147-865F-58B0-816F-5FBF0E7CCDD7/GUID-15969DD8-8F8A-534D-8445-A5CC95112B63">plug-in
-selector</xref> to search for a plug-in that implements the requested algorithm.
-When a plug-in is found, CryptoSPI loads it if required, and calls the function
-defined at the relevant ordinal in the plug-in DLL, in this case <codeph>ECreateHashOrdinal</codeph>,
-to instantiate a hash object, which is returned to the caller. </p> <p><b>Operation
-and padding modes</b> </p> <p>CryptoSPI has been designed to be simpler and
-more compact than the API that it replaces. Rather than defining separate
-classes to do encryption and decryption, for instance, <codeph>C3DESEncryptor</codeph> and <codeph>C3DESDecryptor</codeph>,
-CryptoSPI implements a single, generic symmetric cipher class, <codeph>CryptoSpi::CSymmetricCipher</codeph>.
-The characteristics of the algorithm, for instance whether it does encryption
-or decryption, the operation mode for block ciphers (<codeph>KOperationModeECB</codeph>, <codeph>KOperationModeCBC</codeph> etc.),
-and the padding mode (<codeph>KPaddingModeSSLv3</codeph>, <codeph>KPaddingModePKCS7</codeph> etc.)
-are all passed by the client to the factory function as UIDs — see <xref href="GUID-5463D9D7-2DE0-3DC1-A415-910636125935.dita#GUID-5463D9D7-2DE0-3DC1-A415-910636125935/GUID-43F80501-62A9-3987-B057-852A1E80E483"><apiname>CryptoSpi::CSymmetricCipherFactory::CreateSymmetricCipherL()</apiname></xref>. </p> <p>The client can switch the algorithm between modes by setting a
-flag, see for example <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-121C4AC5-0D1C-33E7-A534-A4A6AA4DF6FD"><apiname>CSymmetricCipherBase::SetCryptoModeL()</apiname></xref>, <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-22633D2E-2D3A-3B30-91D2-A5A97C5274BC"><apiname>CSymmetricCipherBase::SetPaddingModeL()</apiname></xref> and <xref href="GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800.dita#GUID-699F30D8-BC52-3F83-9188-8CF86B2B0800/GUID-8D992640-AFCE-3839-AD50-0543AFBE564D"><apiname>CSymmetricCipherBase::SetOperationModeL()</apiname></xref>. </p> <p><ul>
-<li><p><b>Operation modes </b></p><p>Symbian platform provides default software
-implementations of the following operation modes: </p><ul>
-<li id="GUID-A7FBAF70-5202-5958-866F-9BACB7D3E0B3"><p>ECB </p> </li>
-<li id="GUID-3C51459C-C660-5F38-AD61-3F954DFF3ECF"><p>CBC </p> </li>
-<li id="GUID-A718E6C7-59D2-5324-8EE3-764E627D7AF4"><p>CTR (counter) </p> </li>
-</ul><p>They are specified in <xref href="http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf" scope="external">NIST Special Publication 800-38A</xref>. </p></li>
-<li><p><b>Padding modes </b></p><p>Symbian platform supports the following
-padding modes: </p><ul>
-<li id="GUID-8BC577C7-6A7E-5A0F-B8C9-1D7E93CE2E80"><p>SSLv3-style padding </p> </li>
-<li id="GUID-FA955DDF-CC6C-5CB3-878F-EE319C82EC3F"><p>PKCS#7-style padding </p> </li>
-<li id="GUID-93D60F44-17F9-54DD-B947-41D63C943B3F"><p>PKCS#1 v1.5 Encryption-style
-padding </p> </li>
-<li id="GUID-EF45D638-105A-5DDB-AC22-B37CA5868D97"><p>PKCS#1 v1.5 Signature-style
-padding </p> </li>
-</ul></li>
-</ul> </p> <p><b>Asynchronous operation and cancellation</b> </p> <p>The legacy
-cryptography library only supports synchronous operations. By enabling cryptographic
-acceleration hardware, CryptoSPI supports more advanced use cases. In order
-for users to be able to cancel potentially long-running operations such as
-the decryption of high-quality audio/visual content, CryptoSPI supports both
-synchronous and asynchronous interfaces for each cryptographic operation,
-the latter providing a <codeph>Cancel()</codeph> function. </p> <p><b>Note</b>:
-Symbian's software plug-in module (<filepath>softwarecrypto.dll</filepath>)
-only implements the synchronous interfaces. </p> <p><b>Plug-ins</b> </p> <p>A
-CryptoSPI plugin DLL can implement zero, one or more algorithms, and may provide
-alternative implementations of the same algorithm. The set of plugin DLLs
-is defined in a configuration file in ROM (<filepath>Z:\resource\cryptospi\plug-ins.txt</filepath>).
-CryptoSPI will only load plugins stored in ROM (<filepath>Z:\sys\bin\</filepath>),
-so plug-in modules cannot be added by third parties after-market. </p> <p> <filepath>cryptospi.dll</filepath> and
-all plug-ins have <codeph>ALL</codeph> capabilities, which ensures that they
-can be loaded by client applications with any capabilities. </p> <p>The abstract
-base class for all cryptographic plug-ins is <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-8390A214-1E1B-3E8F-A6C9-6030D99F532C"><apiname>CryptoSpi::MPlugin()</apiname></xref>. </p> <p>See
-also: <xref href="GUID-2DA8C6F2-93BD-5D39-9E5A-5FF8B8777CE7.dita">How to create
-a CryptoSPI plugin</xref>. </p> <p><b>UIDs and plug-in characteristics</b> </p> <p>Plug-ins
-are identified by three UIDs: </p> <ul>
-<li id="GUID-3A357C90-9E3B-5620-93E0-CF45ABD57993"><p>the interface supported,
-for instance hash (<codeph>KHashInterfaceUid</codeph>), </p> </li>
-<li id="GUID-E2FAF159-EE47-5DE6-AB03-D133D815C690"><p>the algorithm implemented,
-for instance MD2 (<codeph>KMd2Uid</codeph>), and </p> </li>
-<li id="GUID-4EB6A03E-F3C5-5577-8C68-4761C25361E8"><p>the unique implementation
-ID. </p> </li>
-</ul> <p>These three UIDs are part of the plug-in's <i>characteristics</i>.
-Plug-in characteristics are defined at compile time as constant data. They
-describe the type and capabilities of a plug-in implementation. Some characteristics
-are relevant to all plug-in types, for instance the name and UID of the algorithm
-implemented, the name of the plug-in vendor and whether the plug-in uses hardware
-acceleration. These are termed <i>common characteristics</i> and are defined
-in <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-704C9275-4009-3E20-82F1-FBED2B29976E"><apiname>CryptoSpi::TCommonCharacteristics()</apiname></xref>. Other characteristics
-are specific to a particular interface type, for instance the modes of operation
-for a symmetric cipher. These are defined in an interface-specific characteristics
-class, for instance <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-CC81BF89-1AA4-3779-B7DB-A01C89041965"><apiname>CryptoSpi::TSymmetricCipherCharacteristics()</apiname></xref>,
-that have a <codeph>TCommonCharacteristics</codeph> data member. Plug-in characteristics
-can be retrieved using <xref href="GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F.dita#GUID-ED01CE2C-30E8-344F-B3C9-895FA576D33F/GUID-8D93089E-1F97-376B-8CC0-08E0E34158F4"><apiname>CCryptoBase::GetCharacteristicsL()</apiname></xref>. </p> <p>Plug-ins
-may optionally also have 'extended' characteristics. These are set at runtime,
-for instance the number of concurrent operations supported by the plug-in,
-and can be retrieved using <xref href="GUID-87D367F5-0FD8-3BEE-AFB0-B48706902C99.dita#GUID-87D367F5-0FD8-3BEE-AFB0-B48706902C99/GUID-720996CA-353D-37A2-A40E-3A18EC8EF4EB"><apiname>CryptoSpi::MPlugin::GetExtendedCharacteristicsL()</apiname></xref>. </p> <p id="GUID-15969DD8-8F8A-534D-8445-A5CC95112B63"><b>Selection rules</b> </p><p>Symbian
-has implemented a plug-in selector, <xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-2E6D755A-2170-3A7A-8F89-1748CE1FEBDE"><apiname>CryptoSpi::CLegacySelector()</apiname></xref>,
-which is used both by the legacy API and by default by CryptoSPI to select
-algorithms implemented in <filepath>softwarecrypto.dll</filepath>. In other
-words, by default, CryptoSPI and the legacy API use the same algorithm implementations.
-The legacy selector works by loading DLLs one by one according to their order
-in the ROM configuration file until a suitable implementation is found. </p> <p>As
-an alternative to using the default selector, clients can specify a rule-based
-selector (<xref href="GUID-48BB2346-6840-3A26-B43C-4DF70A322B17.dita#GUID-48BB2346-6840-3A26-B43C-4DF70A322B17/GUID-DAA57D69-9E75-3333-9227-76D7B0719B7E"><apiname>CryptoSpi::CRuleSelector()</apiname></xref>). This causes CryptoSPI
-to re-generate the list of plug-ins, according to a set of selection rules.
-The API is described in <xref href="GUID-5857377F-B90D-5149-9485-5919C12B8F13.dita">How
-to use a rule-based selector</xref>. </p> <p>In general, it is recommended
-that applications should not specify selection rules unless it is critical
-to the operation of the application. The preferred approach is to use the
-plugin chosen by the default selector, which can be assumed to provide good
-performance for the most common use cases. </p> </section>
-</conbody><related-links>
-<link href="GUID-679390E8-1DE6-55F0-9A0C-60D58956A1E3.dita"><linktext>Hash (message
-digest) algorithms</linktext></link>
-<link href="GUID-0CD273A2-434C-52E0-B840-CCF24B2853B8.dita"><linktext>Generating
-random bytes</linktext></link>
-<link href="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625.dita"><linktext>Basic encryption
-and decryption using a symmetric cipher</linktext></link>
-<link href="GUID-38C8F8B0-C259-5B03-A13E-10DBED4071F2.dita"><linktext>Signing and
-verification</linktext></link>
-<link href="GUID-5857377F-B90D-5149-9485-5919C12B8F13.dita"><linktext>How to use
-a rule-based selector</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e1845_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e1853_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BD347690-2644-59E5-8CC6-769A77274D51_d0e464150_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BD347690-2644-59E5-8CC6-769A77274D51_d0e469995_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BD649ABC-4DBC-5E37-B80D-2BB86F94F26A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BD649ABC-4DBC-5E37-B80D-2BB86F94F26A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,101 +1,97 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BD649ABC-4DBC-5E37-B80D-2BB86F94F26A" xml:lang="en"><title>How to
-use the non-modifiable buffer descriptor — TBufC&lt;TInt&gt;</title><shortdesc>Non-modifiable buffer descriptors are useful for holding constant
-strings or data and providing safe ways to access that data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-74A075D5-195D-5BB7-BC40-D683635BE6F7"><p>For text data, it is
-usual to construct a <codeph>TBufC&lt;TInt&gt;</codeph> type and allow the appropriate
-variant, either a <codeph>TBufC8&lt;TInt&gt;</codeph> or a <codeph>TBufC16&lt;TInt&gt;</codeph> to
-be selected at build time.</p> </li>
-<li id="GUID-0AA8DD41-55DF-5448-A5D5-DC403E60C3A4"><p>For binary data, an
-explicit <codeph>TBufC8&lt;TInt&gt;</codeph> is used.</p> </li>
-<li id="GUID-441D5170-8C00-5BE6-AF0C-44DB149E87F1"><p>It is rare to use an
-explicit <codeph>TBufC16&lt;TInt&gt;</codeph>.</p> </li>
-</ul>
-<p>Data cannot be changed through this descriptor although it can be replaced
-using the assignment operators.</p>
-<p>By using the <codeph>Des()</codeph> function to construct a <codeph>TPtr/TPtr8/TPtr16</codeph> modifiable
-pointer descriptor for the buffer's data, it becomes possible to modify that
-data.</p>
-<p>Although, the following notes refer to the build independent types; they
-are equally valid for the explicit 8 bit and 16 bit types.</p>
-<section id="GUID-5591AC50-485E-413D-B3A7-BCE59F3B634D"><title>Constructing a TBufC&lt;TInt&gt;</title> <p>A non-modifiable
-buffer descriptor can be constructed in a number of ways:</p> <ul>
-<li id="GUID-8328A45B-EB36-5C80-9B3D-969DA033B71E"><p>as an empty buffer descriptor.</p> </li>
-<li id="GUID-D0CDC7BA-A2A2-5953-8700-F43FF5FD2AE2"><p>by copying data from
-any other type of descriptor.</p> </li>
-<li id="GUID-A7CC00D3-16AB-5D2F-B25E-011D689C3BA9"><p>by copying data from
-another non-modifiable buffer descriptor of the same size.</p> </li>
-</ul> <p>The following code fragment constructs a <codeph>TBufC&lt;16&gt;</codeph> object.
-The buffer descriptor is uninitialised, i.e. it contains no data. The assignment
-operator can be used to put data into the buffer descriptor after construction:</p> <codeblock id="GUID-BED8AC0B-4F0B-5859-994B-723F4B8F84A1" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1; // length of buf1 is 0
-...
-buf1 = KText;   // data assigned</codeblock> <p>The following code fragment
-constructs a <codeph>TBufC&lt;16&gt;</codeph> object, initialised with the 12
-characters making up the English language phrase "Hello World!".</p> <p>The
-source descriptor is a literal which is converted to descriptor type.</p> <codeblock id="GUID-737E0C5F-AE11-586D-B81C-0E3D1AD96414" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1(KText);  // length of buf1 is 12</codeblock> <p>The following
-code fragment constructs a <codeph>TBufC&lt;16&gt;</codeph> object, initialised
-with the content of another <codeph>TBufC&lt;16&gt;</codeph> object.</p> <codeblock id="GUID-A8A21448-DBE4-5F68-8CA0-57298E04036C" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1(KText);
-TBufC&lt;16&gt; buf2(buf1);  // data copied from descriptor buf1
-                       // length of buf2 is 12</codeblock> </section>
-<section id="GUID-1C814D9C-5F53-4885-90B9-B83480CF623E"><title>Replacing data</title> <p>Data within a non-modifiable buffer
-descriptor can be completely replaced by using the assignment operator:</p> <codeblock id="GUID-C3F90B27-EB1C-5864-A80A-0D0C77BB67FC" xml:space="preserve">_LIT(KText,"Hello World!");
-_LIT(KNewText,"New text");
-...
-TBufC&lt;16&gt; buf1(KText);
-TBufC&lt;16&gt; buf2;
-...
-buf2 = buf1;               // buf2 now contains "Hello World!"
-...
-buf2 = KNewText;           // buf2 now contains "New text".
-                           // the literal is converted to a descriptor
-                           // type.</codeblock> <p>To prevent data replacement,
-declare <codeph>buf2</codeph> as const.</p> </section>
-<section id="GUID-5F3BEAB3-B469-4673-A3D8-04DB697B8D0F"><title>Constructing a modifiable pointer descriptor to change the
-data</title> <p>The data contained in non-modifiable buffer descriptor <codeph>TBufC&lt;TInt&gt;</codeph>  <i>can</i> be
-changed by constructing a <codeph>TPtr</codeph> modifiable pointer descriptor
-using the<codeph>Des()</codeph> member function and then changing the data
-through that <codeph>TPtr</codeph>.</p> <p>The maximum length of the <codeph>TPtr</codeph> is
-the value of the <codeph>TBufC&lt;TInt&gt;</codeph> template parameter.</p> <p>The
-following code fragment shows data being changed:</p> <codeblock id="GUID-02B09EBC-3E58-51B1-8D14-E388250A674A" xml:space="preserve">_LIT(KText,"Hello World!");
-_LIT(KExtraText," &amp; Hi");
-...
-TBufC&lt;16&gt; buf1(KText);
-...
-TPtr ptr = buf1.Des();
-...
-ptr.Delete((ptr.Length()-1),1);
-ptr.Append(KExtraText);
-...</codeblock> <p>This deletes the last character in <codeph>buf1</codeph> and
-adds the characters " &amp; Hi" so that <codeph>buf1</codeph> now contains
-the text "Hello World &amp; Hi" and its length is 16. Note that the length
-of both <codeph>buf1</codeph> and <codeph>ptr</codeph> change to reflect the
-data that they now both represent.</p> <p>Note that any attempt to append
-more data raises a panic.</p> </section>
-<section id="GUID-9DD4E5D1-B0A0-41BC-AE54-FC062D21173C"><title>Accessing data</title> <p>Once a non-modifiable buffer descriptor
-has been constructed, the functions in the base class, <codeph>TDesC</codeph>,
-are available to access the data.</p> <codeblock id="GUID-CE288FF9-26F7-533D-ADC4-E535035039B2" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1(KText);
-...</codeblock> <codeblock id="GUID-656150B0-C7DF-54B7-9127-6BE685EEEA83" xml:space="preserve">buf1.Length();</codeblock> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-7CB11EAD-260E-551A-85F1-FEAC975FE722.dita">Literal Descriptors</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BD649ABC-4DBC-5E37-B80D-2BB86F94F26A" xml:lang="en"><title>How to use the non-modifiable buffer descriptor — TBufC&lt;TInt&gt;</title><shortdesc>Non-modifiable buffer descriptors are useful for holding
+constant strings or data and providing safe ways to access that data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-74A075D5-195D-5BB7-BC40-D683635BE6F7"><p>For text data,
+it is usual to construct a <codeph>TBufC&lt;TInt&gt;</codeph> type and
+allow the appropriate variant, either a <codeph>TBufC8&lt;TInt&gt;</codeph> or a <codeph>TBufC16&lt;TInt&gt;</codeph> to be selected at build time.</p> </li>
+<li id="GUID-0AA8DD41-55DF-5448-A5D5-DC403E60C3A4"><p>For binary data,
+an explicit <codeph>TBufC8&lt;TInt&gt;</codeph> is used.</p> </li>
+<li id="GUID-441D5170-8C00-5BE6-AF0C-44DB149E87F1"><p>It is rare to
+use an explicit <codeph>TBufC16&lt;TInt&gt;</codeph>.</p> </li>
+</ul>
+<p>Data cannot be changed through this descriptor although it can
+be replaced using the assignment operators.</p>
+<p>By using the <codeph>Des()</codeph> function to construct a <codeph>TPtr/TPtr8/TPtr16</codeph> modifiable pointer descriptor for the
+buffer's data, it becomes possible to modify that data.</p>
+<p>Although, the following notes refer to the build independent types;
+they are equally valid for the explicit 8 bit and 16 bit types.</p>
+<section id="GUID-5591AC50-485E-413D-B3A7-BCE59F3B634D"><title>Constructing
+a TBufC&lt;TInt&gt;</title> <p>A non-modifiable buffer descriptor can
+be constructed in a number of ways:</p> <ul>
+<li id="GUID-8328A45B-EB36-5C80-9B3D-969DA033B71E"><p>as an empty
+buffer descriptor.</p> </li>
+<li id="GUID-D0CDC7BA-A2A2-5953-8700-F43FF5FD2AE2"><p>by copying data
+from any other type of descriptor.</p> </li>
+<li id="GUID-A7CC00D3-16AB-5D2F-B25E-011D689C3BA9"><p>by copying data
+from another non-modifiable buffer descriptor of the same size.</p> </li>
+</ul> <p>The following code fragment constructs a <codeph>TBufC&lt;16&gt;</codeph> object. The buffer descriptor is uninitialised, i.e. it contains
+no data. The assignment operator can be used to put data into the
+buffer descriptor after construction:</p> <codeblock id="GUID-BED8AC0B-4F0B-5859-994B-723F4B8F84A1" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1; // length of buf1 is 0
+...
+buf1 = KText;   // data assigned</codeblock> <p>The following code
+fragment constructs a <codeph>TBufC&lt;16&gt;</codeph> object, initialised
+with the 12 characters making up the English language phrase "Hello
+World!".</p> <p>The source descriptor is a literal which is converted
+to descriptor type.</p> <codeblock id="GUID-737E0C5F-AE11-586D-B81C-0E3D1AD96414" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1(KText);  // length of buf1 is 12</codeblock> <p>The following code fragment constructs a <codeph>TBufC&lt;16&gt;</codeph> object, initialised with the content of another <codeph>TBufC&lt;16&gt;</codeph> object.</p> <codeblock id="GUID-A8A21448-DBE4-5F68-8CA0-57298E04036C" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1(KText);
+TBufC&lt;16&gt; buf2(buf1);  // data copied from descriptor buf1
+                       // length of buf2 is 12</codeblock> </section>
+<section id="GUID-1C814D9C-5F53-4885-90B9-B83480CF623E"><title>Replacing
+data</title> <p>Data within a non-modifiable buffer descriptor can
+be completely replaced by using the assignment operator:</p> <codeblock id="GUID-C3F90B27-EB1C-5864-A80A-0D0C77BB67FC" xml:space="preserve">_LIT(KText,"Hello World!");
+_LIT(KNewText,"New text");
+...
+TBufC&lt;16&gt; buf1(KText);
+TBufC&lt;16&gt; buf2;
+...
+buf2 = buf1;               // buf2 now contains "Hello World!"
+...
+buf2 = KNewText;           // buf2 now contains "New text".
+                           // the literal is converted to a descriptor
+                           // type.</codeblock> <p>To prevent data
+replacement, declare <codeph>buf2</codeph> as const.</p> </section>
+<section id="GUID-5F3BEAB3-B469-4673-A3D8-04DB697B8D0F"><title>Constructing
+a modifiable pointer descriptor to change the data</title> <p>The
+data contained in non-modifiable buffer descriptor <codeph>TBufC&lt;TInt&gt;</codeph>  <i>can</i> be changed by constructing a <codeph>TPtr</codeph> modifiable
+pointer descriptor using the<codeph>Des()</codeph> member function
+and then changing the data through that <codeph>TPtr</codeph>.</p> <p>The maximum length of the <codeph>TPtr</codeph> is the value
+of the <codeph>TBufC&lt;TInt&gt;</codeph> template parameter.</p> <p>The following code fragment shows data being changed:</p> <codeblock id="GUID-02B09EBC-3E58-51B1-8D14-E388250A674A" xml:space="preserve">_LIT(KText,"Hello World!");
+_LIT(KExtraText," &amp; Hi");
+...
+TBufC&lt;16&gt; buf1(KText);
+...
+TPtr ptr = buf1.Des();
+...
+ptr.Delete((ptr.Length()-1),1);
+ptr.Append(KExtraText);
+...</codeblock> <p>This deletes the last character in <codeph>buf1</codeph> and adds the characters " &amp; Hi" so that <codeph>buf1</codeph> now contains the text "Hello World &amp; Hi" and
+its length is 16. Note that the length of both <codeph>buf1</codeph> and <codeph>ptr</codeph> change to reflect the data that they now
+both represent.</p> <p>Note that any attempt to append more data raises
+a panic.</p> </section>
+<section id="GUID-9DD4E5D1-B0A0-41BC-AE54-FC062D21173C"><title>Accessing
+data</title> <p>Once a non-modifiable buffer descriptor has been constructed,
+the functions in the base class, <codeph>TDesC</codeph>, are available
+to access the data.</p> <codeblock id="GUID-CE288FF9-26F7-533D-ADC4-E535035039B2" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1(KText);
+...</codeblock> <codeblock id="GUID-656150B0-C7DF-54B7-9127-6BE685EEEA83" xml:space="preserve">buf1.Length();</codeblock> </section>
+</conbody><related-links>
+<link href="GUID-7CB11EAD-260E-551A-85F1-FEAC975FE722.dita">
+<linktext>Literal Descriptors</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e79232_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e80583_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e83430_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e84781_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 in GUI-based applications. In this approach, the application is split into
 three separate logical parts. Each part contains a different aspect of the
 entire application, and has a specific role.</p>
-<fig id="GUID-5E3A844B-CCF3-4F2A-82A9-DA7A5B65A572"><title>Logical dependencies in the MVC pattern</title><image href="GUID-A5E152B2-F15C-4809-A52A-BCDDBCD93255_d0e63987_href.png"/></fig>
+<fig id="GUID-5E3A844B-CCF3-4F2A-82A9-DA7A5B65A572"><title>Logical dependencies in the MVC pattern</title><image href="GUID-A5E152B2-F15C-4809-A52A-BCDDBCD93255_d0e68210_href.png"/></fig>
 <p>In this approach, the model:</p>
 <ul>
 <li><p>contains and manipulates the data in the application</p>
@@ -53,7 +53,7 @@
 classes.</p></li>
 </ul>
 <p>The pattern is implemented with the following classes.</p>
-<fig id="GUID-B4508A88-B688-4BB7-B42A-31BFF41CD4FA"><title>Relationship between the classes that make up a typical Symbian application</title><image href="GUID-36BB14BD-34B3-4F5D-A670-707710E57585_d0e64105_href.png"/></fig>
+<fig id="GUID-B4508A88-B688-4BB7-B42A-31BFF41CD4FA"><title>Relationship between the classes that make up a typical Symbian application</title><image href="GUID-36BB14BD-34B3-4F5D-A670-707710E57585_d0e68328_href.png"/></fig>
 <p>The <xref href="GUID-4F825D83-47A4-36C9-9A25-943A6D799F84.dita"><apiname>CAknApplication</apiname></xref>-derived class:</p>
 <ul>
 <li><p>provides the application object expected by the application
Binary file Symbian3/PDK/Source/GUID-BE11D652-3B39-51D2-ACE9-571E8EB71E94_d0e534503_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE11D652-3B39-51D2-ACE9-571E8EB71E94_d0e541963_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE2497DB-999F-5CF8-88E1-A94E8084C841_d0e449958_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE2497DB-999F-5CF8-88E1-A94E8084C841_d0e455803_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BE2D9AAB-203B-471A-984D-91E917611641.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BE2D9AAB-203B-471A-984D-91E917611641.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -34,7 +34,7 @@
 for the IP address change.</p>     </section>
 <section id="GUID-011DBF55-366F-4AC7-824A-2B485658E1C8"><title>Process Flow</title><fig id="GUID-79B01634-BBA5-40DD-BBB5-DE4D53139BC6">
 <title>Application-level roaming</title>
-<image href="GUID-8305F179-8F26-4B38-8523-066D1B0B7A62_d0e283327_href.png" placement="inline"/>
+<image href="GUID-8305F179-8F26-4B38-8523-066D1B0B7A62_d0e289318_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-A2C485F5-0BD5-4D0E-8F95-D9963C4C819F"><title>Additional
 information</title><p>The following APIs are used to implement application-level
--- a/Symbian3/PDK/Source/GUID-BE3B53A8-B06D-53C4-8FC0-85B3BA4F39EF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BE3B53A8-B06D-53C4-8FC0-85B3BA4F39EF" xml:lang="en"><title>PIM Application Engines
-and Services Guide</title><shortdesc>These topics provide information about the Personal Information
-Management components. Functionality includes Calendar, Contacts and Time
-zone.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BE3F31A9-959C-5854-8515-052774D8358E_d0e516289_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE3F31A9-959C-5854-8515-052774D8358E_d0e523749_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE4BA4D8-8FA4-5330-BFF8-311BCADBB7E7_d0e450903_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE4BA4D8-8FA4-5330-BFF8-311BCADBB7E7_d0e456748_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE66CF87-E750-40BE-A5EB-18A43E927257_d0e91670_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BE66CF87-E750-40BE-A5EB-18A43E927257_d0e95868_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,10 +15,10 @@
 MultiMediaCard media driver defines and implements the standard media driver
 interface derived from <xref href="GUID-A0D4EB25-0BA4-39EE-874B-465EB9628DCC.dita"><apiname>DMediaDriver</apiname></xref>. This is the client
 of the MultiMediaCard controller. </p> <fig id="GUID-6F516C8A-9114-50A1-A714-8BA9DD081C08">
-<image href="GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e393517_href.png" placement="inline"/>
+<image href="GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e399370_href.png" placement="inline"/>
 </fig> <p>Requests to the controller can also come from other device drivers.
 This means that the architectural picture can be extended as shown below: </p> <fig id="GUID-D84379AB-36E2-5679-B154-40FDDF6FE334">
-<image href="GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e393525_href.png" placement="inline"/>
+<image href="GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e399378_href.png" placement="inline"/>
 </fig> <p>The controller currently supports a single stack capable of holding
 up to 4 cards. In a future development, it may become capable of supporting
 more than 1 stack. Note however, that Symbian platform allows more than one
@@ -47,7 +47,7 @@
 <section id="GUID-92F5EBE4-C9AD-5D9A-A80E-9AFD1A09B6B3"><title>Class architecture</title> <p>The
 following diagram gives a more detailed view of the MultiMediaCard controller
 in terms of the socket, stack, session, power supply and media change objects. </p> <fig id="GUID-17F345F3-B579-5D78-BE22-0CA50A88FAAE">
-<image href="GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e393550_href.png" placement="inline"/>
+<image href="GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e399403_href.png" placement="inline"/>
 </fig> <p id="GUID-BA12AC03-4A9C-5B1A-BC06-D171BCAB9DB2"><b>The socket</b> </p> <p>The
 Symbian platform implementation of MultiMediaCard uses the idea of a socket.
 A socket corresponds to a physical device on a given peripheral bus. </p> <p>In
@@ -100,6 +100,6 @@
 through all possible socket numbers, from 0 to <xref href="GUID-2C5A5F8F-381C-3B99-AADE-44474E629CC4.dita"><apiname>KMaxPBusSockets</apiname></xref>,
 calling <xref href="GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A.dita#GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A/GUID-5EC9F2EE-5D14-37F9-9EFE-95BD1062C681"><apiname>TMMCardControllerInterface::IsMMCSocket()</apiname></xref> for each
 socket number to determine whether the socket number is a MultiMediaCard socket. </p> <fig id="GUID-53AF7993-0A93-5728-9609-0133E66AED78">
-<image href="GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e393700_href.png" placement="inline"/>
+<image href="GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e399553_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BE893F87-E7F6-56E5-BD27-328B532F8332.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BE893F87-E7F6-56E5-BD27-328B532F8332.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,68 +1,55 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BE893F87-E7F6-56E5-BD27-328B532F8332" xml:lang="en"><title>Hello
-World Example: Using P.I.P.S.</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This example application shows a simple EXE and DLL written using P.I.P.S.
-(P.I.P.S. Is POSIX on Symbian Platform). It also shows the dynamic lookup
-of symbols by name mechanism used in Unix-like operating systems, instead
-of the native Symbian Platform lookup by ordinal mechanism. P.I.P.S., from
-Symbian OS v9.3, provides APIs from <filepath>libdl</filepath> library to
-implement this lookup by name mechanism. </p>
-<p>The example defines a simple DLL using the P.I.P.S. <codeph>STDDLL</codeph> target
-type, with an exported function. It also creates a simple EXE, using the <codeph>STDEXE</codeph> target
-type, which calls the DLL's exported function using the lookup by name mechanism.
-These P.I.P.S. specific target types are required to enable the specific options
-for compilers and linkers to generate P.I.P.S. executables and to make symbol
-information available in the executable image. </p>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-42af5ea2-87c6-46ef-b872-af35876c73c7.zip" scope="external">HelloWorldExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-42af5ea2-87c6-46ef-b872-af35876c73c7.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section><title>Description</title> <p>The following sections provide more
-information about the example. </p> <p><b> Creating a simple DLL using P.I.P.S.
-STDDLL target type</b> </p> <p>The example creates a DLL file that declares
-and defines an exported function. The target type of this DLL file is <codeph>STDDLL</codeph>.
-It contains a header and a source file: </p> <ul>
-<li id="GUID-A0857840-AD8C-5313-A642-801A79382855"><p> <filepath>helloworlddllexample.h</filepath>:
-this declares a function with external linkage. Note that for a <codeph>STDDLL</codeph> library,
-functions and data with external linkage are exported by default, without
-any requirement for <codeph>IMPORT_C</codeph> and <codeph>EXPORT_C</codeph> declarations
-in header or source files. </p> </li>
-<li id="GUID-973CE8AE-5B87-5234-8145-20A6632E7F9C"><p> <filepath>helloworlddllexample.cpp</filepath>:
-this defines the function declared in the header file, which displays a hello
-world message to the console. </p> </li>
-</ul> <p><b> Creating a simple EXE using P.I.P.S. STDEXE target type</b> </p> <p>The
-example creates an EXE file which calls the exported function of the loaded
-DLL. The target type of this EXE file is <codeph>STDEXE</codeph>. It calls
-the following <filepath>libdl</filepath> functions to use the lookup by name
-mechanism: </p> <ul>
-<li id="GUID-08422DA9-EE4F-502C-8D31-EB19BC86F98B"><p> <xref href="GUID-51FB35C0-CFC2-357A-8ACA-FE7480C53AD3.dita"><apiname>dlopen()</apiname></xref>:
-This function is used to load the DLL file which contains an exported function. </p> </li>
-</ul> <ul>
-<li id="GUID-0EC17FCA-7B6A-5FBF-8693-1C4BD629F553"><p> <xref href="GUID-312604D7-59D9-3C67-9D4F-42CFA24EAA2B.dita"><apiname>dlsysm()</apiname></xref>:
-This function gets the address of a symbol defined within the DLL loaded by
-the <codeph>dlopen()</codeph> call. </p> </li>
-</ul> <ul>
-<li id="GUID-EFC5BA53-F378-5D2B-A550-1055DA8CBAD7"><p> <xref href="GUID-F74DC7CB-1E3F-368E-99A7-DD4B38FF7EF0.dita"><apiname>dlclose()</apiname></xref>:
-This function informs the system that the DLL loaded by a previous <codeph>dlopen()</codeph> call
-is no longer needed by the application. </p> </li>
-</ul> <ul>
-<li id="GUID-B6003F4A-8919-5D15-844E-294A9020A2C2"><p> <xref href="GUID-F5B2CFAB-99F5-3A24-8F6C-ECAA61922FB0.dita"><apiname>dlerror()</apiname></xref>:
-This function is used to get the last error that occurred from any of the <filepath>libdl</filepath> APIs. </p> </li>
-</ul> <p>The EXE links to <filepath>libdl.lib</filepath> to use these functions. </p> </section>
-<section><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this example application. </p> <p>The <filepath>HelloWorldExample</filepath> builds
-two files, a DLL file <filepath>helloworlddllexample.dll</filepath>, and an
-EXE file <filepath>helloworldexeexample.exe</filepath>, in the standard locations. </p> <p>To
-run the example, start <filepath>helloworldexeexample.exe</filepath> from
-the file system or from your IDE. After launching the executable, depending
-on the emulator you are using, you may need to navigate away from the application
-launcher or shell screen to view the console. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BE893F87-E7F6-56E5-BD27-328B532F8332" xml:lang="en"><title>Hello World Example: Using P.I.P.S.</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example application shows a simple EXE and DLL written using
+P.I.P.S. (P.I.P.S. Is POSIX on Symbian Platform). It also shows the
+dynamic lookup of symbols by name mechanism used in Unix-like operating
+systems, instead of the native Symbian Platform lookup by ordinal
+mechanism. P.I.P.S., from Symbian OS v9.3, provides APIs from <filepath>libdl</filepath> library to implement this lookup by name mechanism. </p>
+<p>The example defines a simple DLL using the P.I.P.S. <codeph>STDDLL</codeph> target type, with an exported function. It also creates a simple
+EXE, using the <codeph>STDEXE</codeph> target type, which calls the
+DLL's exported function using the lookup by name mechanism. These
+P.I.P.S. specific target types are required to enable the specific
+options for compilers and linkers to generate P.I.P.S. executables
+and to make symbol information available in the executable image. </p>
+<section id="GUID-F39633E1-9E29-45BA-9F11-66E011B16687"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-42af5ea2-87c6-46ef-b872-af35876c73c7.zip" scope="external">HelloWorldExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-42af5ea2-87c6-46ef-b872-af35876c73c7.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-459D68E3-EC28-4F21-858A-10678A443EEE"><title>Description</title> <p>The following sections provide
+more information about the example. </p> <p><b> Creating a simple
+DLL using P.I.P.S. STDDLL target type</b> </p> <p>The example creates
+a DLL file that declares and defines an exported function. The target
+type of this DLL file is <codeph>STDDLL</codeph>. It contains a header
+and a source file: </p> <ul>
+<li id="GUID-A0857840-AD8C-5313-A642-801A79382855"><p> <filepath>helloworlddllexample.h</filepath>: this declares a function with external linkage. Note that for a <codeph>STDDLL</codeph> library, functions and data with external linkage
+are exported by default, without any requirement for <codeph>IMPORT_C</codeph> and <codeph>EXPORT_C</codeph> declarations in header or source files. </p> </li>
+<li id="GUID-973CE8AE-5B87-5234-8145-20A6632E7F9C"><p> <filepath>helloworlddllexample.cpp</filepath>: this defines the function declared in the header file, which displays
+a hello world message to the console. </p> </li>
+</ul> <p><b> Creating a simple EXE using P.I.P.S. STDEXE target type</b> </p> <p>The example creates an EXE file which calls the exported
+function of the loaded DLL. The target type of this EXE file is <codeph>STDEXE</codeph>. It calls the following <filepath>libdl</filepath> functions to use the lookup by name mechanism: </p> <ul>
+<li id="GUID-08422DA9-EE4F-502C-8D31-EB19BC86F98B"><p> <xref href="GUID-51FB35C0-CFC2-357A-8ACA-FE7480C53AD3.dita"><apiname>dlopen()</apiname></xref>: This function is used to load the DLL file which contains an exported
+function. </p> </li>
+</ul> <ul>
+<li id="GUID-0EC17FCA-7B6A-5FBF-8693-1C4BD629F553"><p> <xref href="GUID-312604D7-59D9-3C67-9D4F-42CFA24EAA2B.dita"><apiname>dlsysm()</apiname></xref>: This function gets the address of a symbol defined within the DLL
+loaded by the <codeph>dlopen()</codeph> call. </p> </li>
+</ul> <ul>
+<li id="GUID-EFC5BA53-F378-5D2B-A550-1055DA8CBAD7"><p> <xref href="GUID-F74DC7CB-1E3F-368E-99A7-DD4B38FF7EF0.dita"><apiname>dlclose()</apiname></xref>: This function informs the system that the DLL loaded by a previous <codeph>dlopen()</codeph> call is no longer needed by the application. </p> </li>
+</ul> <ul>
+<li id="GUID-B6003F4A-8919-5D15-844E-294A9020A2C2"><p> <xref href="GUID-F5B2CFAB-99F5-3A24-8F6C-ECAA61922FB0.dita"><apiname>dlerror()</apiname></xref>: This function is used to get the last error that occurred from
+any of the <filepath>libdl</filepath> APIs. </p> </li>
+</ul> <p>The EXE links to <filepath>libdl.lib</filepath> to use these
+functions. </p> </section>
+<section id="GUID-15EDF774-BC24-4BD5-A185-697DCFDCF732"><title>Build</title> <p>The <filepath>HelloWorldExample</filepath> builds two files, a DLL file <filepath>helloworlddllexample.dll</filepath>, and an EXE file <filepath>helloworldexeexample.exe</filepath>,
+in the standard locations. </p> <p>To run the example, start <filepath>helloworldexeexample.exe</filepath> from the file system or from
+your IDE. After launching the executable, depending on the emulator
+you are using, you may need to navigate away from the application
+launcher or shell screen to view the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BEA8B4D3-992B-591E-8E2A-BCAC847E0B6E_d0e535518_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-BEA8B4D3-992B-591E-8E2A-BCAC847E0B6E_d0e542978_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-BEDF6765-4BF4-532F-A2C7-F052FE8A9CA2_d0e334730_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BEDF6765-4BF4-532F-A2C7-F052FE8A9CA2_d0e340702_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF155E49-35AF-5BC1-80C5-8D6C68C464F8_d0e316625_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF155E49-35AF-5BC1-80C5-8D6C68C464F8_d0e322615_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF157EE2-B680-554A-AE32-69C652B61FA6_d0e390195_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF157EE2-B680-554A-AE32-69C652B61FA6_d0e396048_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,112 +1,112 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A" xml:lang="en"><title>Creating
-registration resource files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>You need to register your applications
-in order to make them visible to the application menu and to provide other
-information to the underlying system. To register, you need to provide a registration
-resource file, typically named <parmname>&lt;application_name&gt;_reg.rss</parmname>,
-that contains the non-localized information for your application. You also
-need to provide the <xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita">localizable
-registration information</xref>. The registration resource file is compiled
-during the build process and included in the <parmname>pkg</parmname> file
-used to make the <parmname>sis</parmname> installation file.</p>
-
-
-<p>To create a registration resource file:</p>
-<ol>
-<li id="GUID-D97F1C74-A29A-4EF1-92C1-8FBAF2EE6F2F"><p>Determine
-the requirements of your application.</p></li>
-<li id="GUID-41830892-AA07-44F7-BCEE-4FACD88932FF"><p>Create a text
-file with the name <parmname>&lt;application_name&gt;_reg.rss</parmname>.</p>
-</li>
-<li id="GUID-7EE5ADE9-C5D4-43E0-BB94-977CB064CF2D"><p>Include the
-appropriate header files. Typically, you need to include the following files:</p>
-<itemgroup>
-<ul>
-<li><p><parmname>appinfo.rh</parmname>, which is the resource header
-file that includes the data structure declaration for the resource statement
-used in the registration resource file.</p></li>
-<li><p>compiled resource header file for the resource file with
-the symbolic ID for the<xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita"> localizable
-registration information</xref>.</p></li>
-<li><p>localization file, depending on you implementation of the
-registration resource file.</p></li>
-</ul>
-<p>For more information on pre-processor statement syntax, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.preprocess.html#DevTools%2dref%2erss%2e3" format="application/java-archive">C++ pre-processor statements</xref>.</p>
-</itemgroup>
-</li>
-<li id="GUID-42A15A31-6A2C-4937-9615-A128068E2F76"><p>Add a statement
-for the UID2 value for the registration resource file as follows:</p>
-<itemgroup>
-<codeblock id="GUID-A82F0146-5B48-48C8-A5F5-F200D08A6C4D" xml:space="preserve">UID2 KUidAppRegistrationResourceFile</codeblock>
-<p>UID2 always has the same value in registration resource files.</p>
-</itemgroup>
-</li>
-<li id="GUID-4C96D57D-FBA2-4BF6-A1AF-715467663A27"><p>Add a statement
-for the <xref href="GUID-EA05F9B6-52C7-4BD9-8B9A-4BA3456E70B5.dita">UID3</xref> value
-of the application as follows:</p>
-<itemgroup>
-<codeblock id="GUID-EA7F044D-2BB2-4552-B768-3248DF6DAF7F" xml:space="preserve">UID3 &lt;uid3 value for application&gt;</codeblock>
-</itemgroup>
-</li>
-<li id="GUID-6A8002EA-AFF5-4750-833C-81ED5F355C6C"><p>Create a <parmname>APP_REGISTRATION_INFO</parmname> resource
-for your application. The definition for the registration code block is as
-follows:</p>
-<itemgroup>
-<codeblock id="GUID-EF44E298-635E-40BD-8FBE-8A6712FCA0FB" xml:space="preserve">
-RESOURCE  APP_REGISTRATION_INFO
-    {
-     app_file = ""; // name of application binary file (not including extension) - mandatory
-     attributes = 0;
-     localisable_resource_file = ""; // path (not including drive) and name of localisable resource file
-     localisable_resource_id = r_name36;
-     hidden = KAppNotHidden;
-     embeddability = KAppNotEmbeddable;
-     newfile = KAppDoesNotSupportNewFile;
-     launch = KAppLaunchInForeground;
-     group_name(KAppMaxGroupName) = "";
-     default_screen_number = 0;
-     datatype_list[]; // SUPPORTED DATATYPES
-     file_ownership_list[]; // FILE_OWNERSHIP_INFO
-     service_list[]; // SERVICE_INFO
-     opaque_data = 0;	// use for opaque data to send to non-native application launchers i.e. MIDlet id
-     }</codeblock>
-<p>where,</p>
-<ul>
-<li><p><parmname>app_file</parmname> indicates the name of the application
-executable binary file without the extension.</p></li>
-<li><p><parmname>localisable_resource_file</parmname> indicates
-the path and name of the localizable resource file for the application.</p>
-</li>
-<li><p><parmname>localisable_resource_id</parmname> indicates the
-symbolic name of the resource for the <xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita">localizable
-registration resource</xref>.</p></li>
-<li><p><parmname>newfile</parmname> indicates whether the application
-is document-based and supports the creation of new files. The default value
-is <parmname>KAppDoesNotSupportNewFile</parmname>.</p></li>
-<li><p><parmname>embeddability</parmname> indicates whether an application
-is embeddable.</p>
-<itemgroup>
-<p>The default value is <parmname>KAppNotEmbeddable</parmname>.</p>
-<p>For more information on embeddability, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/faqSDK/faq_1129.html" format="application/java-archive">FAQ-1129 What is an embeddable application?</xref>.</p>
-</itemgroup>
-</li>
-</ul>
-<p>The header file for the registration resource files is <parmname>appinfo.rh</parmname> and
-is located in the <parmname>./epoc32/include</parmname> folder.</p>
-<p>For more information on the other values in the resource, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools/RegFiles/Tool_Guide_Reg_Properties.html#DevTools%2eRegProperties" format="application/java-archive">Defining application icons, captions and properties</xref>.</p>
-</itemgroup>
-</li>
-</ol>
-<p>For a commented example, see <xref href="GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8.dita">HelloWorldBasic_reg.rss</xref>.</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A" xml:lang="en"><title>Creating registration resource files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>You need to register your
+applications in order to make them visible to the application menu
+and to provide other information to the underlying system. To register,
+you need to provide a registration resource file, typically named <parmname>&lt;application_name&gt;_reg.rss</parmname>, that contains the non-localized
+information for your application. You also need to provide the <xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita">localizable registration
+information</xref>. The registration resource file is compiled during
+the build process and included in the <parmname>pkg</parmname> file
+used to make the <parmname>sis</parmname> installation file.</p>
+
+
+<p>To create a registration resource file:</p>
+<ol>
+<li id="GUID-D97F1C74-A29A-4EF1-92C1-8FBAF2EE6F2F"><p>Determine
+the requirements of your application.</p></li>
+<li id="GUID-41830892-AA07-44F7-BCEE-4FACD88932FF"><p>Create
+a text file with the name <parmname>&lt;application_name&gt;_reg.rss</parmname>.</p></li>
+<li id="GUID-7EE5ADE9-C5D4-43E0-BB94-977CB064CF2D"><p>Include
+the appropriate header files. Typically, you need to include the following
+files:</p>
+<itemgroup>
+<ul>
+<li><p><parmname>appinfo.rh</parmname>, which is the resource
+header file that includes the data structure declaration for the resource
+statement used in the registration resource file.</p></li>
+<li><p>compiled resource header file for the resource file
+with the symbolic ID for the<xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita"> localizable registration
+information</xref>.</p></li>
+<li><p>localization file, depending on you implementation
+of the registration resource file.</p></li>
+</ul>
+<p>For more information on pre-processor statement syntax, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.preprocess.html#DevTools%2dref%2erss%2e3" format="application/java-archive">C++ pre-processor statements</xref>.</p>
+</itemgroup>
+</li>
+<li id="GUID-42A15A31-6A2C-4937-9615-A128068E2F76"><p>Add
+a statement for the UID2 value for the registration resource file
+as follows:</p>
+<itemgroup>
+<codeblock id="GUID-A82F0146-5B48-48C8-A5F5-F200D08A6C4D" xml:space="preserve">UID2 KUidAppRegistrationResourceFile</codeblock>
+<p>UID2 always has the same value in registration resource files.</p>
+</itemgroup>
+</li>
+<li id="GUID-4C96D57D-FBA2-4BF6-A1AF-715467663A27"><p>Add
+a statement for the <xref href="GUID-EA05F9B6-52C7-4BD9-8B9A-4BA3456E70B5.dita">UID3</xref> value
+of the application as follows:</p>
+<itemgroup>
+<codeblock id="GUID-EA7F044D-2BB2-4552-B768-3248DF6DAF7F" xml:space="preserve">UID3 &lt;uid3 value for application&gt;</codeblock>
+</itemgroup>
+</li>
+<li id="GUID-6A8002EA-AFF5-4750-833C-81ED5F355C6C"><p>Create
+a <parmname>APP_REGISTRATION_INFO</parmname> resource for your application.
+The definition for the registration code block is as follows:</p>
+<itemgroup>
+<codeblock id="GUID-EF44E298-635E-40BD-8FBE-8A6712FCA0FB" xml:space="preserve">
+RESOURCE  APP_REGISTRATION_INFO
+    {
+     app_file = ""; // name of application binary file (not including extension) - mandatory
+     attributes = 0;
+     localisable_resource_file = ""; // path (not including drive) and name of localisable resource file
+     localisable_resource_id = r_name36;
+     hidden = KAppNotHidden;
+     embeddability = KAppNotEmbeddable;
+     newfile = KAppDoesNotSupportNewFile;
+     launch = KAppLaunchInForeground;
+     group_name(KAppMaxGroupName) = "";
+     default_screen_number = 0;
+     datatype_list[]; // SUPPORTED DATATYPES
+     file_ownership_list[]; // FILE_OWNERSHIP_INFO
+     service_list[]; // SERVICE_INFO
+     opaque_data = 0;	// use for opaque data to send to non-native application launchers i.e. MIDlet id
+     }</codeblock>
+<p>where,</p>
+<ul>
+<li><p><parmname>app_file</parmname> indicates the name
+of the application executable binary file without the extension.</p>
+</li>
+<li><p><parmname>localisable_resource_file</parmname> indicates
+the path and name of the localizable resource file for the application.</p>
+</li>
+<li><p><parmname>localisable_resource_id</parmname> indicates
+the symbolic name of the resource for the <xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita">localizable registration
+resource</xref>.</p></li>
+<li><p><parmname>newfile</parmname> indicates whether the
+application is document-based and supports the creation of new files.
+The default value is <parmname>KAppDoesNotSupportNewFile</parmname>.</p></li>
+<li><p><parmname>embeddability</parmname> indicates whether
+an application is embeddable.</p>
+<itemgroup>
+<p>The default value is <parmname>KAppNotEmbeddable</parmname>.</p>
+<p>For more information on embeddability, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/faqSDK/faq_1129.html" format="application/java-archive">FAQ-1129 What is an embeddable
+application?</xref>.</p>
+</itemgroup>
+</li>
+</ul>
+<p>The header file for the registration resource files is <parmname>appinfo.rh</parmname> and is located in the <parmname>./epoc32/include</parmname> folder.</p>
+<p>For more information on the other values in the resource, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools/RegFiles/Tool_Guide_Reg_Properties.html#DevTools%2eRegProperties" format="application/java-archive">Defining application icons, captions and properties</xref>.</p>
+</itemgroup>
+</li>
+</ol>
+<p>For a commented example, see <xref href="GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8.dita">HelloWorldBasic_reg.rss</xref>.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-BF4E220C-2388-517B-87D8-78AB1EA6382E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BF4E220C-2388-517B-87D8-78AB1EA6382E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-BF4E220C-2388-517B-87D8-78AB1EA6382E" xml:lang="en"><title>Architecture</title><shortdesc>This topic describes the Network Interface Manager (NifMan) architecture. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <section id="GUID-43AC7095-C84C-401F-A1C9-084A56A47ED5"><title>NifMan Architecture</title> <p>The following diagram outlines
 the main components in the NifMan architecture: </p> <fig id="GUID-71FB9DE6-1171-5486-9480-8A8A6A8F0B29">
-<image href="GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e140088_href.png" placement="inline"/>
+<image href="GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e142337_href.png" placement="inline"/>
 </fig> <p>As shown, the NIFMAN configuration daemon architecture consists
 of two parts: </p> <ul>
 <li id="GUID-E2F1FCB0-9A25-52ED-BD80-4C91E271F099"><p>An ECom plug-in for
Binary file Symbian3/PDK/Source/GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e4934_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e4943_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF822A89-F932-400F-82FC-FB998B768EBF_d0e165387_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BF822A89-F932-400F-82FC-FB998B768EBF_d0e171480_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BFA254D4-5104-5B15-8035-2491B57D136D_d0e272739_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BFA254D4-5104-5B15-8035-2491B57D136D_d0e278739_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BFCFD93E-D591-50D2-8263-D13D08DD9F15.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-BFCFD93E-D591-50D2-8263-D13D08DD9F15"><title>uid</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>uid</codeph> [<varname>uid2</varname>] [<varname>uid3</varname> ] </p> <p>Use the <codeph>uid</codeph> statement to specify the UIDs for a project. </p> <p>Each executable has three UIDs. The first is dictated by the target type of the project (whether an EXE or DLL), so is never specified in an MMP file. The second and third are optional. An MMP file may define none, one or two. See <xref href="GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.dita">How to use UIDs</xref> for details. </p> <p>UIDs may be specified in either hex or decimal. </p> <p>Under WINSCW, a separate source file is created with the generated makefile containing code to incorporate UIDs into the executable. The name of this file is created by taking the basename of the executable and adding the extension <filepath>.uid.cpp</filepath>. </p> <p>In OS versions with platform security, the Secure ID for a binary is taken to be the same as the third UID for that file. If no UID statement appears in an MMP file, then zero is used for uid3. If an application (EXE) has a Secure ID of zero, this means 'undefined', and has several consequences, including lack of privacy for data used by that application. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-BFD09EE5-CCB3-5498-BAA6-86F537DE9155_d0e245061_href.png has changed
Binary file Symbian3/PDK/Source/GUID-BFD09EE5-CCB3-5498-BAA6-86F537DE9155_d0e251072_href.png has changed
--- a/Symbian3/PDK/Source/GUID-BFEEECCA-190B-4DDE-8A04-4FE918BE8690.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-BFEEECCA-190B-4DDE-8A04-4FE918BE8690.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 labeled <uicontrol>Options</uicontrol> opens the <uicontrol>Options</uicontrol> menu.</p>
 <fig id="GUID-DE323941-E70E-4169-9F67-6E7A11047481">
 <title>Options menu</title>
-<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e88084_href.png" placement="inline"/>
+<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e92282_href.png" placement="inline"/>
 </fig>
 <p>The <uicontrol>Options</uicontrol> menu is a menu list displayed in a pop-up
 window. An item is selected by pressing either the left softkey (<uicontrol>Select</uicontrol>)
Binary file Symbian3/PDK/Source/GUID-C014FC75-732F-558F-8E6A-77DDAA032930_d0e316185_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C014FC75-732F-558F-8E6A-77DDAA032930_d0e322175_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C02F7A8B-E6D1-5DB5-A3CA-08875A196199_d0e159505_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C02F7A8B-E6D1-5DB5-A3CA-08875A196199_d0e165606_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C07B506E-A1C8-537C-A7BF-DD7F449DF8A5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-C07B506E-A1C8-537C-A7BF-DD7F449DF8A5"><title>How to write an extension makefile template</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A makefile can be defined as a collection of instructions (build steps) that are needed to build a program. <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref> generates the required makefiles from project (<filepath>.mmp</filepath>) files, and these makefiles cater to all the usual build steps. There might be few build steps which are specific to your project, and are not catered for by the generated makefiles. These build steps are addressed by separate set of makefiles called extension makefiles. The need for extension makefiles purely depend on requirements of the project you are working with. </p> <p>Since Symbian OS v9.3 the functionality and data for extension makefiles are kept separate. That is, extension makefiles with similar functionality can be generalised into a template makefile, which contains only the basic functionality. The same template can be used for various use cases by passing appropriate parameters (data). The parameters can be passed using the <xref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita">prj_extensions</xref> and <xref href="GUID-7FA5898D-8898-53CE-875E-1DE97BE02C81.dita">prj_testextensions</xref> call mechanism in the <filepath>bld.inf</filepath> file, which deprecates the old approach of referring to the extension makefiles using the <codeph>makefile</codeph> or <codeph>gnumakefile</codeph> directive. </p> <p>This template makefile approach reduces the number of makefiles, as the extension makefiles with similar functionality are generalized into a single template. </p> <p>The following provides an overview of designing an extension makefile template. Details of the syntax are given in the reference topic <xref href="GUID-7A52BD40-E1C1-5C67-AAA0-1B79A34CF24C.dita">Template extension makefiles</xref>. </p> <ol id="GUID-7F7E55AD-8FF3-5B15-86CD-42F0A2FA6849"><li id="GUID-B770DD49-E546-551E-BF7E-B99BBD3ED19C"><p>Define the input variables used by the template. The values for these variables are passed through a component's <filepath>bld.inf</filepath> file. If necessary, assign the default values for these variables in the corresponding meta file (see <xref href="GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9.dita">Meta files</xref>). </p> </li> <li id="GUID-55F18BBE-9F63-525C-B36F-975E9471DE97"><p>Specify the set of targets that the makefile should respond to. An extension makefile responds to a few mandatory targets, apart from the project-specific targets. For more information on mandatory targets, refer to <xref href="GUID-60B98AFE-6DE6-5086-B70C-F377562E60D9.dita">Extension makefile targets</xref>. </p> </li> <li id="GUID-6CC0F7AE-B273-5317-9C78-6F637A81A502"><p>Specify the build steps to create/update the target. These build steps can include basic shell operations, called through platform independent variables, such as <codeph>CP</codeph> to copy a file, and <codeph>RM</codeph> to delete a file. Other than calling these basic shell commands, the makefile can call other tools required to complete the build step, such as calling a Perl program. </p> </li> </ol> <p>For more information on the syntax of template extension makefiles and variables, refer to <xref href="GUID-7A52BD40-E1C1-5C67-AAA0-1B79A34CF24C.dita">Template extension makefiles</xref>. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C08C9AE9-99A6-4EB7-B665-41E92EDD9747.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C08C9AE9-99A6-4EB7-B665-41E92EDD9747.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 device. It is a general purpose component and does not directly control device
 volume.<fig id="GUID-997C9FB2-57D4-46B9-93AB-49E943933A44">
 <title>Volume setting item</title>
-<image href="GUID-057891A5-2394-489E-9323-91BE256F2188_d0e92399_href.png" placement="inline"/>
+<image href="GUID-057891A5-2394-489E-9323-91BE256F2188_d0e96597_href.png" placement="inline"/>
 </fig>Text</p>
 <table frame="all" id="GUID-FE789A23-AD1F-4C61-B533-E7927B0D8052"><title>Default
 touch events for volume setting item</title>
Binary file Symbian3/PDK/Source/GUID-C0A4DA51-3168-4F99-9A8E-66A326186E29_d0e93997_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C0A4DA51-3168-4F99-9A8E-66A326186E29_d0e98195_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C0CC6EEF-E95F-4DE1-9E53-2B777D9E433D_d0e104820_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C0CFFE13-579C-5A93-9B63-DC2DCF98EC61_d0e318616_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C0CFFE13-579C-5A93-9B63-DC2DCF98EC61_d0e324606_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C103A584-3498-5F0A-8F0B-F97D33749CEF_d0e446297_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C103A584-3498-5F0A-8F0B-F97D33749CEF_d0e452142_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-26-1-1-4-1-3-1-5-1-3-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-26-1-1-4-1-3-1-5-1-3-1"><title>Backup and Restore Types</title><shortdesc>Backup works by copying files (installed applications, Secure ID and data) from a Symbian device to a PC. Restore works by copying previously backed up files from the PC to the Symbian device. This section describes the different types of backup and restore. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Note</b>: In each of the following sections, the backup process is explained. The restore process works in the same way, but it is a process from a PC to a device. </p> <section id="GUID-E928ED0E-2E60-5967-B3C9-482615595E36"><title>Base and incremental backup and restore</title> <p>For an easy and quick backup and restore, the Symbian platform implements base and incremental backups. A base backup (sometimes described as a full backup) is a backup of all or part of a drive that includes all the selected files. An incremental backup is a backup of all or part of a drive that only includes files that are new or changed since a previous backup. An incremental backup is smaller than a base backup and takes less time. </p> <p>There are (at least) two possible patterns of use for incremental backups: </p> <ul><li id="GUID-5570892A-5D00-54D5-BFED-DCC3377F2E8B"><p>The first pattern involves taking one base backup and then a series of incremental backups with each increment including only the files that are new or changed since the last increment. This pattern minimizes the time taken for each increment but has some drawbacks for restoring private files (because <i>all</i> the increments are required for restores). </p> </li> <li id="GUID-B30DBC49-EAA7-5235-AB68-D27F30FBCF5D"><p>The second pattern involves taking one base backup and then a series of incremental backups with each increment including only the files that are new or changed since the base backup. In this pattern, the time taken for an incremental backup is not minimized and may approach the time taken for a base backup but a restore operation only requires the base and a single increment. </p> </li> </ul> <p>The choice of which pattern to use is made by the PC software - not by the phone software. </p> <p> <b>Note</b>: An incremental backup cannot be created purely based on a date and time stamp. If a new file is added with an old time-stamp, a time-based increment would omit it. Therefore, any incremental backup requires a list of the files included in the preceding backup. </p> </section> <section id="GUID-BC292762-E8E7-5CAF-B700-BE7D1804DC29"><title>Full and partial backup and restore</title> <p>By default, a backup (whether base or incremental) aims to include all files on a specified drive. In practice, the application developer may only care about data belonging to one or more specific applications. By omitting other data files the time taken for the backup (or restore) is reduced. </p> <p>An additional benefit of partial backup and restore is that a data owner may be able to participate in backup or restore without requiring all file locks to be freed. For example, if a data owner only deals with its own private files, it is possible to back up its data in isolation. This allows backups to have less impact on the application developer. </p> </section> <section id="GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-26-1-1-4-1-3-1-5-1-3-1-3-4"><title>Active and passive backup and restore</title> <p>Based on the types of the data owner, backup and restore can be passive, active or active proxy: </p> <ul><li id="GUID-05991A4D-2229-51F2-A7E3-9F9F0742DC53"><p> <b>Active backup</b>: The data owner application or server must implement <xref href="GUID-743D2832-E73A-5184-A85D-306B2A6FFACC.dita">Active Backup Client</xref> and registers with the Backup Engine using a registration file (see <xref href="GUID-9A6273D8-7797-5190-AFEC-1AD113980B84.dita">Backup Registration Files</xref>). The Backup Engine starts the registered process for active backup if not already started. The data owning process then responds to a central signal when a backup or restore operation takes place and actively provides its private data to or receives it from the Backup Engine. This requires that the data-owning process include specific code to take part in backup and restore, and that it must be running when a backup or restore takes place. In this model the data-owning process registers with the Backup Engine but exercises complete control of which data is backed up and restored. </p> </li> <li id="GUID-FE0C6030-08B3-5B1C-B3DC-CCBB4F026363"><p> <b>Passive backup</b>: The data owner application or server registers with the Backup Engine using a backup registration file which lists the files and directories to be backed up. The data-owning process then releases file locks. The files are backed up by the Backup Engine. The Backup Engine has the required capability to access private data files belonging to other processes. </p> <p>Passive backup is very simple for application developers to implement – all that is required is a backup registration file. Active backup requires more effort to implement but provides the data-owning process with more control over the data backed up and restored. </p> </li> <li id="GUID-4B35415A-B0BE-5121-867F-B8B2FB0EA7F6"><p> <b>Active Proxy</b>: Some processes manage data on behalf of other data owners and they are referred to as active proxy data owners. For example, the Central Repository manages data in repositories for other data owners. </p> <p>Active proxy data owners must have a backup registration file that registers them as active data owners. They must implement Active Backup Client methods that allow the Backup Engine to request backup data or supply restore data associated with the secure ID of the actual data owner. The APIs to request or supply data are similar to the Active Backup Client APIs but include an additional argument for the secure ID of the actual data owner. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-796916B2-8B23-5AD8-9DB8-8B0DA7868A62.dita"><linktext>Backup-aware Software (Data Owner)</linktext> </link> <link href="GUID-743D2832-E73A-5184-A85D-306B2A6FFACC.dita"><linktext>Active Backup Client</linktext> </link> </related-links></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-28-1-1-4-1-3-1-5-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-28-1-1-4-1-3-1-5-1-3-1"><title>Backup and Restore Types</title><shortdesc>Backup works by copying files (installed applications, Secure ID and data) from a Symbian device to a PC. Restore works by copying previously backed up files from the PC to the Symbian device. This section describes the different types of backup and restore. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Note</b>: In each of the following sections, the backup process is explained. The restore process works in the same way, but it is a process from a PC to a device. </p> <section id="GUID-E928ED0E-2E60-5967-B3C9-482615595E36"><title>Base and incremental backup and restore</title> <p>For an easy and quick backup and restore, the Symbian platform implements base and incremental backups. A base backup (sometimes described as a full backup) is a backup of all or part of a drive that includes all the selected files. An incremental backup is a backup of all or part of a drive that only includes files that are new or changed since a previous backup. An incremental backup is smaller than a base backup and takes less time. </p> <p>There are (at least) two possible patterns of use for incremental backups: </p> <ul><li id="GUID-5570892A-5D00-54D5-BFED-DCC3377F2E8B"><p>The first pattern involves taking one base backup and then a series of incremental backups with each increment including only the files that are new or changed since the last increment. This pattern minimizes the time taken for each increment but has some drawbacks for restoring private files (because <i>all</i> the increments are required for restores). </p> </li> <li id="GUID-B30DBC49-EAA7-5235-AB68-D27F30FBCF5D"><p>The second pattern involves taking one base backup and then a series of incremental backups with each increment including only the files that are new or changed since the base backup. In this pattern, the time taken for an incremental backup is not minimized and may approach the time taken for a base backup but a restore operation only requires the base and a single increment. </p> </li> </ul> <p>The choice of which pattern to use is made by the PC software - not by the phone software. </p> <p> <b>Note</b>: An incremental backup cannot be created purely based on a date and time stamp. If a new file is added with an old time-stamp, a time-based increment would omit it. Therefore, any incremental backup requires a list of the files included in the preceding backup. </p> </section> <section id="GUID-BC292762-E8E7-5CAF-B700-BE7D1804DC29"><title>Full and partial backup and restore</title> <p>By default, a backup (whether base or incremental) aims to include all files on a specified drive. In practice, the application developer may only care about data belonging to one or more specific applications. By omitting other data files the time taken for the backup (or restore) is reduced. </p> <p>An additional benefit of partial backup and restore is that a data owner may be able to participate in backup or restore without requiring all file locks to be freed. For example, if a data owner only deals with its own private files, it is possible to back up its data in isolation. This allows backups to have less impact on the application developer. </p> </section> <section id="GUID-C1318E0A-0104-51DA-98BB-E92286F10E0D-GENID-1-12-1-28-1-1-4-1-3-1-5-1-3-1-3-4"><title>Active and passive backup and restore</title> <p>Based on the types of the data owner, backup and restore can be passive, active or active proxy: </p> <ul><li id="GUID-05991A4D-2229-51F2-A7E3-9F9F0742DC53"><p> <b>Active backup</b>: The data owner application or server must implement <xref href="GUID-743D2832-E73A-5184-A85D-306B2A6FFACC.dita">Active Backup Client</xref> and registers with the Backup Engine using a registration file (see <xref href="GUID-9A6273D8-7797-5190-AFEC-1AD113980B84.dita">Backup Registration Files</xref>). The Backup Engine starts the registered process for active backup if not already started. The data owning process then responds to a central signal when a backup or restore operation takes place and actively provides its private data to or receives it from the Backup Engine. This requires that the data-owning process include specific code to take part in backup and restore, and that it must be running when a backup or restore takes place. In this model the data-owning process registers with the Backup Engine but exercises complete control of which data is backed up and restored. </p> </li> <li id="GUID-FE0C6030-08B3-5B1C-B3DC-CCBB4F026363"><p> <b>Passive backup</b>: The data owner application or server registers with the Backup Engine using a backup registration file which lists the files and directories to be backed up. The data-owning process then releases file locks. The files are backed up by the Backup Engine. The Backup Engine has the required capability to access private data files belonging to other processes. </p> <p>Passive backup is very simple for application developers to implement – all that is required is a backup registration file. Active backup requires more effort to implement but provides the data-owning process with more control over the data backed up and restored. </p> </li> <li id="GUID-4B35415A-B0BE-5121-867F-B8B2FB0EA7F6"><p> <b>Active Proxy</b>: Some processes manage data on behalf of other data owners and they are referred to as active proxy data owners. For example, the Central Repository manages data in repositories for other data owners. </p> <p>Active proxy data owners must have a backup registration file that registers them as active data owners. They must implement Active Backup Client methods that allow the Backup Engine to request backup data or supply restore data associated with the secure ID of the actual data owner. The APIs to request or supply data are similar to the Active Backup Client APIs but include an additional argument for the secure ID of the actual data owner. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-796916B2-8B23-5AD8-9DB8-8B0DA7868A62.dita"><linktext>Backup-aware Software (Data Owner)</linktext> </link> <link href="GUID-743D2832-E73A-5184-A85D-306B2A6FFACC.dita"><linktext>Active Backup Client</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C156607A-5929-5971-8077-E8974FA43B3C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C156607A-5929-5971-8077-E8974FA43B3C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-C156607A-5929-5971-8077-E8974FA43B3C" xml:lang="en"><title>Basics:
 Store and Restore Object using Clipboard</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-2638D79E-A3D2-5A08-AFC3-00AF68C3C194-GENID-1-12-1-13-1-1-8-1-5-1-5-1-6-1-3-1-2-1"><title>Download</title> <p>Click
+<section id="GUID-2638D79E-A3D2-5A08-AFC3-00AF68C3C194-GENID-1-12-1-14-1-1-8-1-5-1-5-1-6-1-3-1-2-1"><title>Download</title> <p>Click
 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-46db067a-e98e-4717-8fc7-232af34839de.zip" scope="external">Clipboard.zip</xref></p>Download some additional files required
 by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-89fa6105-e749-4e5f-a233-a000e3b9390b.zip" scope="external">CommonFramework</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-46db067a-e98e-4717-8fc7-232af34839de.html" scope="peer">browse</xref> to view the example code. </p>View the additional
 files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-89fa6105-e749-4e5f-a233-a000e3b9390b.html" scope="peer">browse</xref>.  </section>
--- a/Symbian3/PDK/Source/GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,182 +1,159 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE reference
-  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD" xml:lang="en"><title>transient:
-transient server example</title><shortdesc>This example demonstrates the use of transient servers that are
-started on demand when a client needs to use the server, and exit after the
-last client has disconnected, sometimes after a short delay. It demonstrates
-how to handle startup and shutdown situations correctly. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-BF4C4CB4-D495-49D6-8035-F8BA724851B7"><title>Class summary</title><ul>
-<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref> - Client-side handle to a session with
-a server.</p></li>
-<li><p><xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref> - Base class for a timer active object.</p></li>
-<li><p><xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref> - Abstract base class for servers (version
-2).</p></li>
-<li><p><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref> - Represents a session (version 2) for
-a client thread on the server-side.</p></li>
-</ul></section>
-<section id="GUID-E688F8C0-0A4A-4D25-B7B4-779CB6A08157"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-cbf7e18e-3788-4ec1-a225-268ce1a22c51.zip" scope="external">transient.zip</xref></p><p>click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-cbf7e18e-3788-4ec1-a225-268ce1a22c51.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-87B18963-ACE8-464B-9863-A37ADA57379C"><title>Background</title> <p>The
-client-server framework is an important part of the Symbian platform. There
-is a level of complexity in implementing a server for an application, but
-this example provides client interface code and server code that can be re-used
-in your own implementations. </p> <p>Symbian platform servers are of three
-basic types: </p> <ul>
-<li id="GUID-6D0F8C69-CFEA-5BB1-A0CB-C4D178DFAE25"><p> <b>Transient servers:</b> these
-are started on demand when a client needs the server, and exit after the last
-client has disconnected - sometimes after a short delay, for example, the
-socket server. </p> </li>
-<li id="GUID-5B824584-C8E6-57F7-A83C-564DA256F622"><p> <b>System servers:</b> these
-are started as part of the system boot process, for example, the kernel, the
-file server, the window server etc. </p> </li>
-<li id="GUID-9BE0FD09-B112-5AF6-A5D1-FBDD6A4EC00B"><p> <b>Local servers:</b> these
-are "local" to a process to provide multi-threaded access to thread-specific
-resources, for example, the posix server (in the C Standard Library). </p> </li>
-</ul> </section>
-<section id="GUID-EEA0A38B-F8A6-4308-A50D-B3E74B12420A"><title>Description</title> <p>The
-transient server supplied here runs in a thread in its own process. This gives
-the server independence from its clients. This is important because if the
-client were to create the server as a separate thread within its own process,
-then the server would exit, i.e. terminate, if its owning process terminated.
-This would be true even if clients in other processes were still connected
-to it. </p> <p>Equally as important: </p> <ul>
-<li id="GUID-432FCF7B-2393-5E59-BDE5-0A5B4BAFD155"><p>a client does not explicitly
-need to start the server prior to connecting; this is done by the client interface. </p> </li>
-<li id="GUID-D89C8F48-2CA2-5769-8DB9-42FD8FFA5879"><p>the server terminates
-when not in use shortly after the last client disconnects. </p> </li>
-<li id="GUID-968AB243-908B-5709-BB82-4213860CBC8A"><p>the code handles concurrency
-issues, the most common of which is handling the case where the server is
-closing down or exiting at the same time that another client is trying to
-connect. </p> </li>
-</ul> <p>The example consists of four main parts: </p> <ul>
-<li id="GUID-BC6A15E0-07CB-562C-99E8-0AAF39B0ED26"><p>Client interface: this
-is a DLL (<filepath>t-client.dll</filepath>) that is used by clients. </p> <p>The
-client interface effectively forms the gateway to the server. All requests
-to the server, including requests to connect to it are routed through this. </p> <p>The
-client interface defines just one class: <codeph>RMySession</codeph>, derived
-from <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref>. An <codeph>RSessionBase</codeph> (derived)
-object represents the client side session and forms a channel of communication
-between the client and the server. Requests to the server, and information
-received from the server are channelled through this object. Note that the
-client side session object is mirrored by a server side session object; an
-instance of a class derived from <xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref>, which in this
-server is called <codeph>CMySession</codeph>. </p> <p>The client calls <codeph>Connect()</codeph> to
-set up a connection to the server. This function attempts to start the server
-if necessary and then issues a request to create a session with the server.
-If the server fails to start, or a session cannot be created then this is
-reported back.Simultaneous launching of two server processes is also detected,
-with the second attempt failing with <xref href="GUID-D1D25122-F2B8-3C78-8599-84905BFD47B8.dita"><apiname>KErrAlreadyExists</apiname></xref>.
-On successful completion the connection is established, and a session is created
-with the server. </p> <p>The client uses the <codeph>Send()</codeph> method
-to send messages to the server and the <codeph>Receive()</codeph> method to
-request information from the server. <codeph>Send()</codeph> is implemented
-by calling down to the synchronous variant of <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref> in
-the base class. Synchronous means that it does not return until the server
-has dealt with the request. </p> <p> <codeph>Send()</codeph> passes an operation
-code (or function number) identifying the request and a descriptor containing
-information to the server. The descriptor is wrapped into a <xref href="GUID-4AD02F14-1142-372F-9D11-224595932034.dita"><apiname>TIpcArgs</apiname></xref> object.
-In practice, your client interface would probably be richer, having variants
-of the <codeph>Send()</codeph> function that take more than one parameter.
-You might also choose to have asynchronous variants of <codeph>Send()</codeph>;
-your client code (not the client interface) would then need to use active
-objects to deal with this. </p> <p> <codeph>Receive()</codeph> is implemented
-by calling down to the asynchronous variant of <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref> in
-the base class. Asynchronous means that the call returns immediately, but
-the request itself may not complete until some time later. </p> <p> <codeph>Receive()</codeph> passes
-an operation code (or function number) identifying the request, a descriptor
-into which the server will place the information, and a <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> object,
-which the server will use to report how the request completes. The descriptor
-is wrapped into a <xref href="GUID-4AD02F14-1142-372F-9D11-224595932034.dita"><apiname>TIpcArgs</apiname></xref> object. Again, you might want
-a richer client interface; perhaps different function names to represent different
-request types. </p> <p> <codeph>CancelReceive()</codeph> allows the client
-to cancel a pending <codeph>Receive()</codeph> request. It is usual to provide
-some mechanism to cancel asynchronous requests. This is implemented by calling
-down into the asynchronous variant of <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref> in
-the base class. Note: the <codeph>Receive()</codeph> method simply passes
-an operation code (or function number) and no data. </p> <p>The operation
-codes (or function numbers) are defined by an enum in the header file <filepath>clientserver.h</filepath>.
-This file is included in both the client interface code and server code as
-both need access to these common symbols. </p> </li>
-<li id="GUID-A76A5A09-CB86-5D58-8771-3DE4131E51B9"><p>Server: this is an EXE
-(<filepath>t-server.exe</filepath>) that runs in its own process, and E32Main()
-is the entry point. After setting up heap checking (in debug builds only)
-the implementation creates a cleanup stack and then executes the main body
-of the code inside a trap harness. </p> <p>The server code implements several
-classes: </p> <p> <codeph>CMyServer</codeph>: this class derives from the
-class <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref>. The main role of this class is to handle
-messages sent by client threads; this includes requests from clients for connection
-to the server. The connection is established by starting a session with the
-server. The session is represented by a session object, in this case the <xref href="GUID-8B50E9C7-CA33-3E11-A881-16E230A082CB.dita"><apiname>CMySession</apiname></xref> object. </p> <p>Once
-the <codeph>CMyServer</codeph> object has been created, the active scheduler
-can be started by the call to <xref href="GUID-B4C76104-EA1B-3FC3-A31E-86A976598171.dita#GUID-B4C76104-EA1B-3FC3-A31E-86A976598171/GUID-3281C85C-1A45-3049-B711-64CA8BFBC452"><apiname>CActiveScheduler::Start()</apiname></xref>.
-This call will not return until the active scheduler is stopped by the <codeph>CShutdown</codeph> timer,
-which is primed after the last client has disconnected. In simple terms, the
-active scheduler is a wait loop. It sits inactive until it receives a message
-from (potential) clients (or until the timer completes and stops the active
-scheduler). Messages that represent requests for connection result in the
-creation of a session. Other messages are passed to the relevant <codeph>CMySession</codeph> active
-object. </p> <p> <codeph> CMySession</codeph>: one of these objects is created
-for each session, i.e. as a result of a request by a client for connection
-to the server. Once sessions have been created, requests received by <codeph>CMyServer</codeph> are
-then forwarded to the corresponding session, and specifically to the virtual
-function <codeph>ServiceL()</codeph>, which handles <codeph>Send()</codeph>, <codeph>Receive()</codeph> and <codeph>CancelReceive()</codeph> requests. </p> <p> <codeph>CShutdown</codeph>: this class represents a timer that is started
-before the first client has connected, and after the last client has disconnected.
-The timer is stopped once the server has at least one client attached to it.
-If the server has no clients, then there is 2 second interval before the server
-terminates. This is implemented as an active object. </p> </li>
-<li id="GUID-07B2ACEC-C457-547D-B1FE-78FCF980AEEF"><p>Test code:this corresponds
-to the client, and uses the client interface to communicate with the server
-- application developers should make use of the principles applied here and
-include them into their own client code. </p> </li>
-<li id="GUID-91B89143-B380-524D-89CF-918FAE5CE055"><p>bld.inf: which is a
-component description file. </p> </li>
-</ul><p><b>Related APIs</b></p><ul>
-<li><p><xref href="GUID-B4C76104-EA1B-3FC3-A31E-86A976598171.dita#GUID-B4C76104-EA1B-3FC3-A31E-86A976598171/GUID-3281C85C-1A45-3049-B711-64CA8BFBC452"><apiname>CActiveScheduler::Start()</apiname></xref></p></li>
-<li><p><xref href="GUID-8B50E9C7-CA33-3E11-A881-16E230A082CB.dita"><apiname>CMySession</apiname></xref></p></li>
-<li><p><xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref> - Abstract base class for servers (version
-2).</p></li>
-<li><p><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref> - Represents a session (version 2) for
-a client thread on the server-side.</p></li>
-<li><p><xref href="GUID-D1D25122-F2B8-3C78-8599-84905BFD47B8.dita"><apiname>KErrAlreadyExists</apiname></xref> - System wide error code -11 :
-an object already exists.</p></li>
-<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref> - Client-side handle to a session with
-a server.</p></li>
-<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref></p></li>
-<li><p><xref href="GUID-4AD02F14-1142-372F-9D11-224595932034.dita"><apiname>TIpcArgs</apiname></xref> - A Version 2 client/server class that
-clients use to package the arguments to be sent to a server.</p></li>
-<li><p><xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> - Indicates the completion status
-of a request made to a service provider.</p></li>
-</ul> </section>
-<section id="GUID-86D3479E-216B-4D5D-AF57-C4C9963CD9F0"><title>Building and
-configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-FDC690A6-D68B-58E5-A10D-89220DB9B89E"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-DD18F4AF-6AB1-5E0F-95C3-9EB899BA99C9"><p>For the emulator, the
-example builds the following executables : </p> <p> <filepath>t-client.dll</filepath> </p> <p> <filepath>t-server.exe</filepath>  </p> <p> <filepath>t-test.exe</filepath> (test executable) </p> <p> <filepath>t-testc.dll</filepath> (test
-client) </p> <p>in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
-</ul> </section>
-</refbody><related-links>
-<link href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita"><linktext>Platform
-security</linktext></link>
-<link href="GUID-B21141D4-3BFE-59C9-8D5F-147A93BE1C95.dita"><linktext>Build tools
-guide</linktext></link>
-<link href="GUID-594488FF-02C9-5066-85DB-5F88A754AE18.dita"><linktext>How     
-           to build DLLs</linktext></link>
-<link href="GUID-BBBB5000-90A2-503A-9521-2FC6DEC69DC8.dita"><linktext>MMP file
-syntax</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference id="GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD" xml:lang="en"><title>transient: transient server example</title><shortdesc>This example demonstrates the use of transient servers
+that are started on demand when a client needs to use the server,
+and exit after the last client has disconnected, sometimes after a
+short delay. It demonstrates how to handle startup and shutdown situations
+correctly. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-BF4C4CB4-D495-49D6-8035-F8BA724851B7"><title>Class
+summary</title><ul>
+<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref> - Client-side handle to a session
+with a server.</p></li>
+<li><p><xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref> - Base class for a timer active object.</p></li>
+<li><p><xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref> - Abstract base class for servers
+(version 2).</p></li>
+<li><p><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref> - Represents a session (version
+2) for a client thread on the server-side.</p></li>
+</ul></section>
+<section id="GUID-E688F8C0-0A4A-4D25-B7B4-779CB6A08157"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-cbf7e18e-3788-4ec1-a225-268ce1a22c51.zip" scope="external">transient.zip</xref></p><p>click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-cbf7e18e-3788-4ec1-a225-268ce1a22c51.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-87B18963-ACE8-464B-9863-A37ADA57379C"><title>Background</title> <p>The client-server framework is an important part of the Symbian
+platform. There is a level of complexity in implementing a server
+for an application, but this example provides client interface code
+and server code that can be re-used in your own implementations. </p> <p>Symbian platform servers are of three basic types: </p> <ul>
+<li id="GUID-6D0F8C69-CFEA-5BB1-A0CB-C4D178DFAE25"><p> <b>Transient
+servers:</b> these are started on demand when a client needs the server,
+and exit after the last client has disconnected - sometimes after
+a short delay, for example, the socket server. </p> </li>
+<li id="GUID-5B824584-C8E6-57F7-A83C-564DA256F622"><p> <b>System servers:</b> these are started as part of the system boot process, for example,
+the kernel, the file server, the window server etc. </p> </li>
+<li id="GUID-9BE0FD09-B112-5AF6-A5D1-FBDD6A4EC00B"><p> <b>Local servers:</b> these are "local" to a process to provide multi-threaded access
+to thread-specific resources, for example, the posix server (in the
+C Standard Library). </p> </li>
+</ul> </section>
+<section id="GUID-EEA0A38B-F8A6-4308-A50D-B3E74B12420A"><title>Description</title> <p>The transient server supplied here runs in a thread in its own
+process. This gives the server independence from its clients. This
+is important because if the client were to create the server as a
+separate thread within its own process, then the server would exit,
+i.e. terminate, if its owning process terminated. This would be true
+even if clients in other processes were still connected to it. </p> <p>Equally as important: </p> <ul>
+<li id="GUID-432FCF7B-2393-5E59-BDE5-0A5B4BAFD155"><p>a client does
+not explicitly need to start the server prior to connecting; this
+is done by the client interface. </p> </li>
+<li id="GUID-D89C8F48-2CA2-5769-8DB9-42FD8FFA5879"><p>the server terminates
+when not in use shortly after the last client disconnects. </p> </li>
+<li id="GUID-968AB243-908B-5709-BB82-4213860CBC8A"><p>the code handles
+concurrency issues, the most common of which is handling the case
+where the server is closing down or exiting at the same time that
+another client is trying to connect. </p> </li>
+</ul> <p>The example consists of four main parts: </p> <ul>
+<li id="GUID-BC6A15E0-07CB-562C-99E8-0AAF39B0ED26"><p>Client interface:
+a DLL (<filepath>t-client.dll</filepath>) that is used by clients. </p> <p>The client interface effectively forms the gateway to the server.
+All requests to the server, including requests to connect to it are
+routed through this. </p> <p>The client interface defines just one
+class: <codeph>RMySession</codeph>, derived from <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref>. An <codeph>RSessionBase</codeph> (derived) object represents the
+client side session and forms a channel of communication between the
+client and the server. Requests to the server, and information received
+from the server are channelled through this object. Note that the
+client side session object is mirrored by a server side session object;
+an instance of a class derived from <xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref>,
+which in this server is called <codeph>CMySession</codeph>. </p> <p>The client calls <codeph>Connect()</codeph> to set up a connection
+to the server. This function attempts to start the server if necessary
+and then issues a request to create a session with the server. If
+the server fails to start, or a session cannot be created then this
+is reported back.Simultaneous launching of two server processes is
+also detected, with the second attempt failing with <xref href="GUID-D1D25122-F2B8-3C78-8599-84905BFD47B8.dita"><apiname>KErrAlreadyExists</apiname></xref>. On successful completion the connection is established, and a session
+is created with the server. </p> <p>The client uses the <codeph>Send()</codeph> method to send messages to the server and the <codeph>Receive()</codeph> method to request information from the server. <codeph>Send()</codeph> is implemented by calling down to the synchronous variant of <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref> in the base class. Synchronous
+means that it does not return until the server has dealt with the
+request. </p> <p> <codeph>Send()</codeph> passes an operation code
+(or function number) identifying the request and a descriptor containing
+information to the server. The descriptor is wrapped into a <xref href="GUID-4AD02F14-1142-372F-9D11-224595932034.dita"><apiname>TIpcArgs</apiname></xref> object. In practice, your client interface would
+probably be richer, having variants of the <codeph>Send()</codeph> function that take more than one parameter. You might also choose
+to have asynchronous variants of <codeph>Send()</codeph>; your client
+code (not the client interface) would then need to use active objects
+to deal with this. </p> <p> <codeph>Receive()</codeph> is implemented
+by calling down to the asynchronous variant of <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref> in the base class. Asynchronous means that the call returns immediately,
+but the request itself may not complete until some time later. </p> <p> <codeph>Receive()</codeph> passes an operation code (or function
+number) identifying the request, a descriptor into which the server
+will place the information, and a <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> object, which the server will use to report how the request completes.
+The descriptor is wrapped into a <xref href="GUID-4AD02F14-1142-372F-9D11-224595932034.dita"><apiname>TIpcArgs</apiname></xref> object.
+Again, you might want a richer client interface; perhaps different
+function names to represent different request types. </p> <p> <codeph>CancelReceive()</codeph> allows the client to cancel a pending <codeph>Receive()</codeph> request. It is usual to provide some mechanism
+to cancel asynchronous requests. This is implemented by calling down
+into the asynchronous variant of <xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref> in the base class. Note: the <codeph>Receive()</codeph> method simply
+passes an operation code (or function number) and no data. </p> <p>The operation codes (or function numbers) are defined by an enum
+in the header file <filepath>clientserver.h</filepath>. This file
+is included in both the client interface code and server code as both
+need access to these common symbols. </p> </li>
+<li id="GUID-A76A5A09-CB86-5D58-8771-3DE4131E51B9"><p>Server: an EXE
+(<filepath>t-server.exe</filepath>) that runs in its own process,
+and E32Main() is the entry point. After setting up heap checking (in
+debug builds only) the implementation creates a cleanup stack and
+then executes the main body of the code inside a trap harness. </p> <p>The server code implements several classes: </p> <p> <codeph>CMyServer</codeph>: this class derives from the class <xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref>. The main role of this class is to handle messages sent by client
+threads; this includes requests from clients for connection to the
+server. The connection is established by starting a session with the
+server. The session is represented by a session object, in this case
+the <xref href="GUID-8B50E9C7-CA33-3E11-A881-16E230A082CB.dita"><apiname>CMySession</apiname></xref> object. </p> <p>Once the <codeph>CMyServer</codeph> object has been created, the active scheduler
+can be started by the call to <xref href="GUID-B4C76104-EA1B-3FC3-A31E-86A976598171.dita#GUID-B4C76104-EA1B-3FC3-A31E-86A976598171/GUID-3281C85C-1A45-3049-B711-64CA8BFBC452"><apiname>CActiveScheduler::Start()</apiname></xref>. This call will not return until the active scheduler is stopped
+by the <codeph>CShutdown</codeph> timer, which is primed after the
+last client has disconnected. In simple terms, the active scheduler
+is a wait loop. It sits inactive until it receives a message from
+(potential) clients (or until the timer completes and stops the active
+scheduler). Messages that represent requests for connection result
+in the creation of a session. Other messages are passed to the relevant <codeph>CMySession</codeph> active object. </p> <p> <codeph> CMySession</codeph>: one of these objects is created for each session, i.e. as a result
+of a request by a client for connection to the server. Once sessions
+have been created, requests received by <codeph>CMyServer</codeph> are then forwarded to the corresponding session, and specifically
+to the virtual function <codeph>ServiceL()</codeph>, which handles <codeph>Send()</codeph>, <codeph>Receive()</codeph> and <codeph>CancelReceive()</codeph> requests. </p> <p> <codeph>CShutdown</codeph>: this class represents
+a timer that is started before the first client has connected, and
+after the last client has disconnected. The timer is stopped once
+the server has at least one client attached to it. If the server has
+no clients, then there is 2 second interval before the server terminates.
+This is implemented as an active object. </p> </li>
+<li id="GUID-07B2ACEC-C457-547D-B1FE-78FCF980AEEF"><p>Test code: corresponds
+to the client, and uses the client interface to communicate with the
+server - application developers should make use of the principles
+applied here and include them into their own client code. </p> </li>
+<li id="GUID-91B89143-B380-524D-89CF-918FAE5CE055"><p>bld.inf: a component
+description file. </p> </li>
+</ul><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-B4C76104-EA1B-3FC3-A31E-86A976598171.dita#GUID-B4C76104-EA1B-3FC3-A31E-86A976598171/GUID-3281C85C-1A45-3049-B711-64CA8BFBC452"><apiname>CActiveScheduler::Start()</apiname></xref></p></li>
+<li><p><xref href="GUID-8B50E9C7-CA33-3E11-A881-16E230A082CB.dita"><apiname>CMySession</apiname></xref></p></li>
+<li><p><xref href="GUID-8E316AC4-4676-301A-9A23-659E83AA1D1C.dita"><apiname>CServer2</apiname></xref> - Abstract base class for servers
+(version 2).</p></li>
+<li><p><xref href="GUID-D5A30C75-E22C-34E8-913B-7D2CA6AD5C51.dita"><apiname>CSession2</apiname></xref> - Represents a session (version
+2) for a client thread on the server-side.</p></li>
+<li><p><xref href="GUID-D1D25122-F2B8-3C78-8599-84905BFD47B8.dita"><apiname>KErrAlreadyExists</apiname></xref> - System wide error code
+-11 : an object already exists.</p></li>
+<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita"><apiname>RSessionBase</apiname></xref> - Client-side handle to a session
+with a server.</p></li>
+<li><p><xref href="GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6.dita#GUID-6D8A458C-9A39-3000-A3BC-060A2A3663E6/GUID-479FE087-DD9F-31D7-98F7-9F96535F0584"><apiname>RSessionBase::SendReceive()</apiname></xref></p></li>
+<li><p><xref href="GUID-4AD02F14-1142-372F-9D11-224595932034.dita"><apiname>TIpcArgs</apiname></xref> - A Version 2 client/server class
+that clients use to package the arguments to be sent to a server.</p></li>
+<li><p><xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> - Indicates the completion
+status of a request made to a service provider.</p></li>
+</ul> </section>
+<section id="GUID-86D3479E-216B-4D5D-AF57-C4C9963CD9F0"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-FDC690A6-D68B-58E5-A10D-89220DB9B89E"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-DD18F4AF-6AB1-5E0F-95C3-9EB899BA99C9"><p>For the emulator,
+the example builds the following executables : </p> <p> <filepath>t-client.dll</filepath> </p> <p> <filepath>t-server.exe</filepath>  </p> <p> <filepath>t-test.exe</filepath> (test executable) </p> <p> <filepath>t-testc.dll</filepath> (test client) </p> <p>in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
+</ul> </section>
+</refbody><related-links>
+<link href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita"><linktext>Platform
+security</linktext></link>
 </related-links></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C193535D-8756-5A2C-BD3A-280F7DDAF73E_d0e641357_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C193535D-8756-5A2C-BD3A-280F7DDAF73E_d0e654179_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C1A6477D-2130-5664-A845-898212F96381_d0e498070_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C1A6477D-2130-5664-A845-898212F96381_d0e505532_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C1B080D9-9C6C-520B-B73E-4EB344B1FC5E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C1B080D9-9C6C-520B-B73E-4EB344B1FC5E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,7 +62,7 @@
 holds settings and supports drawing to bitmapped devices and screens independent
 of the display. </p> </li>
 </ul> <fig id="GUID-C75462F4-7DB3-57BF-ABDE-C500669F45C5">
-<image href="GUID-71E64F3E-40CB-560B-A482-CA92C7FD1AA2_d0e259612_href.png" placement="inline"/>
+<image href="GUID-71E64F3E-40CB-560B-A482-CA92C7FD1AA2_d0e265621_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-059D5B88-E69F-5898-8D87-161B349B7C0C"><title>Colour
 Palette</title> <p>The <xref href="GUID-E82FABA9-9CCC-548F-99DB-EF2B9036B405.dita">Colour
Binary file Symbian3/PDK/Source/GUID-C213B26D-32EC-5CD9-956E-1C2143E5D0CA_d0e471503_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C213B26D-32EC-5CD9-956E-1C2143E5D0CA_d0e477339_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e597089_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e615473_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e624983_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C21BB0E4-7AF7-58E5-AAD6-8CE67399460C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C21BB0E4-7AF7-58E5-AAD6-8CE67399460C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 More information about running the example is given in the build section
 of this document. </p> <p><b>Design</b> </p> <p>The following block
 diagram describes the example in more detail. </p> <fig id="GUID-27A0C389-EDDD-5E17-82EE-2727F21803AF">
-<image href="GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e355751_href.png" placement="inline"/>
+<image href="GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e361654_href.png" placement="inline"/>
 </fig><p><filepath>CCollector.exe</filepath> is the Collector process.
 The user starts the Collector and creates an active scheduler and
 two global message queues. It also starts the Inverter process called <filepath>Inverter.exe</filepath>. The Collector creates one active object
@@ -46,8 +46,9 @@
 result to <codeph>InverterOutQ</codeph>. </p><p>In the Collector process,
 the active object that monitors the <codeph>InveterOutQ</codeph> opens
 the message queue, receives the received words and displays  them
-in its console. It uses the <xref href="GUID-22E24B08-175B-3446-9D48-9AC4B1663E35.dita"><apiname>NotifyDataAvailable(TRequestStatus&amp;)</apiname></xref> API to monitor the queue for the next set of data. </p><p>The Class diagram of the example is shown below </p><fig id="GUID-E93EF1D6-1B9D-4C76-80B0-1FF660B5C75A">
-<image href="GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e355800_href.png" placement="inline"/>
+in its console. It uses the <xref href="GUID-22E24B08-175B-3446-9D48-9AC4B1663E35.dita"><apiname>NotifyDataAvailable(TRequestStatus&amp;)</apiname></xref> API to monitor the queue for the next set of data. </p><p>The Class
+diagram of the example is shown below </p><fig id="GUID-E93EF1D6-1B9D-4C76-80B0-1FF660B5C75A">
+<image href="GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e361702_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-86B04D06-7046-49BD-AE1A-57D5E406F864"><title>Class
 summary</title><ul>
@@ -57,8 +58,7 @@
 <li><p><xref href="GUID-067293BF-B28C-3CEC-92F4-1351A795EA7F.dita"><apiname> CActive</apiname></xref> - The core class of the active
 object abstraction.</p></li>
 </ul></section>
-<section id="GUID-F8D41313-760D-417E-834C-09D41F4EDB06"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this example application. </p> <p>The example builds an executable called <filepath>Inverter.exe</filepath> and <filepath>Collector.exe</filepath> in the standard locations. </p> <p>To run the example, first build <filepath>Inverter.exe</filepath> and start <filepath>Collector.exe</filepath> from the file system
+<section id="GUID-F8D41313-760D-417E-834C-09D41F4EDB06"><title>Build</title> <p>The example builds an executable called <filepath>Inverter.exe</filepath> and <filepath>Collector.exe</filepath> in the standard locations. </p> <p>To run the example, first build <filepath>Inverter.exe</filepath> and start <filepath>Collector.exe</filepath> from the file system
 or from your IDE. After launching the .exes (and depending on the
 emulator you are using) you may need to navigate away from the application
 launcher or shell screen to view the console. </p> <p>A message input
--- a/Symbian3/PDK/Source/GUID-C23196E8-FDD3-4A10-9DA2-DA83A2AD49D9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C23196E8-FDD3-4A10-9DA2-DA83A2AD49D9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,26 +9,27 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C23196E8-FDD3-4A10-9DA2-DA83A2AD49D9" xml:lang="en"><title>Applications
-with a user interface</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>If you are developing an application with a user interface, consider
-the following issues:</p>
+<concept id="GUID-C23196E8-FDD3-4A10-9DA2-DA83A2AD49D9" xml:lang="en"><title>Applications with a user interface</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>If you are developing an application with a user interface,
+consider the following issues:</p>
 <ul>
-<li><p>Other applications may have access to the information that
-the user inputs.</p></li>
-<li><p>A hostile application may lure the user to enter information
-that belongs to another application.</p></li>
+<li><p>Other applications may have access to the information
+that the user inputs.</p></li>
+<li><p>A hostile application may lure the user to enter
+information that belongs to another application.</p></li>
 </ul>
-<p>Password dialogs in particular should be designed so that the user easily
-recognizes the currently running application.</p>
-<section id="GUID-836A84FD-44E9-4C3F-AA50-4BC36CBA2916"><title>User input</title>
-<p>It is possible for the user to unintentionally enter incorrect data
-that can interfere with the normal operation of the application. All input
-should be checked and validated before processing. A one-time check may not
-be enough because the content of data can change during processing, so it
-is therefore advisable to quickly check the data every time it is used.</p>
+<p>Password dialogs in particular should be designed so that the
+user easily recognizes the currently running application.</p>
+<section id="GUID-836A84FD-44E9-4C3F-AA50-4BC36CBA2916"><title>User
+input</title>
+<p>It is possible for the user to unintentionally enter incorrect
+data that can interfere with the normal operation of the application.
+All input should be checked and validated before processing. A one-time
+check may not be enough because the content of data can change during
+processing, so it is therefore advisable to quickly check the data
+every time it is used.</p>
 <p>The following figure shows an example of input processing phases.</p>
-<fig id="GUID-6C871726-D4DB-40FC-A2F8-ADDA2B9A4E9C"><title>Examples of input processing</title><image href="GUID-63AD2899-FDDC-4E3F-8876-C72EC7C194CE_d0e13907_href.png"/></fig>
+<fig id="GUID-6C871726-D4DB-40FC-A2F8-ADDA2B9A4E9C"><title>Examples of input processing</title><image href="GUID-63AD2899-FDDC-4E3F-8876-C72EC7C194CE_d0e14007_href.png"/></fig>
 <p/>
 </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C244E0D1-DF89-5C86-9C4C-419900BE0DDA" xml:lang="en"><title>CapImportCheck Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C253D792-7470-5D9F-B39B-1CF42438215A_d0e21325_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C253D792-7470-5D9F-B39B-1CF42438215A_d0e23292_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C2709212-FD91-5245-9A1D-0E8114D7B202.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-C2709212-FD91-5245-9A1D-0E8114D7B202"><title>cleanexport</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph>  <codeph>cleanexport</codeph>  <codeph>( ( [-c] | [-w] ) | ( [-k] [-v] ) )</codeph> </p> <p>This command will erase the files created by the corresponding <codeph>abld
-          export</codeph> command.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C28FDA4B-0099-4258-8255-6CF7C44FD4E8_d0e95874_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C28FDA4B-0099-4258-8255-6CF7C44FD4E8_d0e99993_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C29FE12C-C412-40A8-A067-27C63A519D71.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C29FE12C-C412-40A8-A067-27C63A519D71.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 items. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-00782901-3982-4482-82E0-EE5E527A82D7">
 <title>Choice list</title>
-<image href="GUID-FD52DFC5-03CD-4C7A-B118-0D5C90D99F1A_d0e99935_href.png" scale="40" placement="inline"/>
+<image href="GUID-FD52DFC5-03CD-4C7A-B118-0D5C90D99F1A_d0e104020_href.png" scale="40" placement="inline"/>
 </fig>
 <p>You can use the Choice list API in all GUI applications. It is a library
 API that provides an interface for constructing and using the choice list
Binary file Symbian3/PDK/Source/GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e430395_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e436240_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C2D6BAB9-89BA-4E8D-82B4-2FAE04B9086C_d0e76308_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C2D6BAB9-89BA-4E8D-82B4-2FAE04B9086C_d0e80521_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C2D99C88-09C7-55FA-AF95-3F689BA27484_d0e512272_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C2D99C88-09C7-55FA-AF95-3F689BA27484_d0e519734_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-C2FAEBB2-4A1A-5BB0-9670-4801525CBC6A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C2FAEBB2-4A1A-5BB0-9670-4801525CBC6A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,461 +1,477 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C2FAEBB2-4A1A-5BB0-9670-4801525CBC6A" xml:lang="en"><title>SQL Index
-Tips</title><shortdesc>This document includes several tips for using SQL indexes.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-3895F9D0-DE9C-4375-B541-AC99CABB7B8A"><title>Introduction</title> <p>You can use indexes to speed up access.
-You create indexes automatically using PRIMARY KEY and UNIQUE. </p> <p><b>Intended
-audience:</b> </p> <p>This document is intended to be used by Symbian platform
-licensees and third party application developers. </p> </section>
-<section id="GUID-765F0DF1-ACB0-57DB-B9A8-3697E4637065"><title>Use an Index
-to Speed up Access</title> <p>Suppose you have a table like this: </p> <codeblock id="GUID-F70B25AB-A151-52CE-A413-1C62A2464D6A" xml:space="preserve">
-CREATE TABLE demo5(
-    id INTEGER,
-    content BLOB
-);
-</codeblock> <p>Further suppose that this table contains thousands or millions
-of rows and you want to access a single row with a particular ID: </p> <codeblock id="GUID-B02FA452-4093-5383-BAFA-AE035919D720" xml:space="preserve">
-SELECT content FROM demo5 WHERE id=?
-</codeblock> <p>The only want that SQLite can perform this query, and be certain
-to get every row with the chosen ID, is to examine every single row, check
-the ID of that row, and return the content if the ID matches. Examining every
-single row this way is called a <i>full table scan</i>. </p> <p>Reading and
-checking every row of a large table can be very slow, so you want to avoid
-full table scans. The usual way to do this is to create an index on the column
-you are searching against. In the example above, an appropriate index would
-be this: </p> <codeblock id="GUID-82E337F1-2CA2-51B0-A7BC-071A83779A18" xml:space="preserve">
-CREATE INDEX demo5_idx1 ON demo5(id);
-</codeblock> <p>With an index on the ID column, SQLite is able to use a binary
-search to locate entries that contain a particular value of ID. So if the
-table contains a million rows, the query can be satisfied with about 20 accesses
-rather than 1000000 accesses. This is a huge performance improvement. </p> <p>One
-of the features of the SQL language is that you do not have to figure out
-what indexes you may need in advance of coding your application. It is perfectly
-acceptable, even preferable, to write the code for your application using
-a database without any indexes. Then once the application is running and you
-can make speed measurements, add whatever indexes are needed in order to make
-it run faster. </p> <p>When you add indexes, the query optimizer within the
-SQL compiler is able to find new more efficient bytecode procedures for carrying
-out the operations that your SQL statements specify. In other words, by adding
-indexes late in the development cycle you have the power to completely reorganize
-your data access patterns without changing a single line of code. </p> </section>
-<section id="GUID-BB1F17C5-1174-5DF4-AA61-611173237F3F"><title>Create Indexes
-Automatically Using PRIMARY KEY and UNIQUE</title> <p>Any column of a table
-that is declared to be the PRIMARY KEY or that is declared UNIQUE will be
-indexed automatically. There is no need to create a separate index on that
-column using the CREATE INDEX statement. So, for example, this table declaration: </p> <codeblock id="GUID-E4BE6077-F639-5CE7-964A-276B0D58A129" xml:space="preserve">
-CREATE TABLE demo39a(
-    id INTEGER,
-    content BLOB
-);
-
-CREATE INDEX demo39_idx1 ON demo39a(id);
-</codeblock> <p>Is roughly equivalent to the following: </p> <codeblock id="GUID-DB3167E0-FA95-50CA-92C7-102B5C2C13E3" xml:space="preserve">
-CREATE TABLE demo39b(
-    id INTEGER UNIQUE,
-    content BLOB
-);
-</codeblock> <p>The two examples above are “roughly” equivalent, but not exactly
-equivalent. Both tables have an index on the ID column. In the first case,
-the index is created explicitly. In the second case, the index is implied
-by the UNIQUE keyword in the type declaration of the ID column. Both table
-designs use exactly the same amount of disk space, and both will run queries
-such as </p> <codeblock id="GUID-7ACAE270-6D20-557B-B7D1-C90EDD757E43" xml:space="preserve">
-SELECT content FROM demo39 WHERE id=?
-</codeblock> <p>using exactly the same bytecode. The only difference is that
-table demo39a lets you insert multiple rows with the same ID whereas table
-demo39b will raise an exception if you try to insert a new row with the same
-ID as an existing row. </p> <p>If you use the UNIQUE keyword in the CREATE
-INDEX statement of demo39a, like this: </p> <codeblock id="GUID-0EE5E186-CC4A-5CC3-AEAE-F1482F1F8F9A" xml:space="preserve">
-CREATE UNIQUE INDEX demo39_idx1 ON demo39a(id);
-</codeblock> <p>Then both table designs really would be exactly the same in
-every way. In fact, whenever SQLite sees the UNIQUE keyword on a column type
-declaration, all it does is create an automatic unique index on that column. </p> <p>The
-PRIMARY KEY modifier on a column type declaration works like UNIQUE; it causes
-a unique index to be created automatically. The main difference is that you
-are only allowed to have a single PRIMARY KEY. This restriction of only allowing
-a single PRIMARY KEY is part of the official SQL language definition. </p> <p>The
-idea is that a PRIMARY KEY is used to order the rows on disk. Some SQL database
-engines actually implement PRIMARY KEYs this way. But with SQLite, a PRIMARY
-KEY is like any other UNIQUE column, with only one exception: INTEGER PRIMARY
-KEY is a special case which is handled differently, as described in the next
-section. </p> </section>
-<section id="GUID-BF7A0301-8490-58ED-BB37-FAC403A84230"><title>Use Multi-Column
-Indexes</title> <p>SQLite is able to make use of multi-column indexes. The
-rule is that if an index is over columns <i>X</i>  <i> 0 </i>, <i>X</i>  <i> 1 </i>, <i>X</i>  <i> 2 </i>,
-..., <i>X</i>  <i> n </i> of some table, then the index can be used if the
-WHERE clause contains equality constraints for some prefix of those columns <i>X</i>  <i>0 </i>, <i>X</i>  <i>1 </i>, <i>X</i>  <i>2 </i>,
-..., <i>X</i>  <i>i </i> where <i>i</i> is less than <i>n</i>. </p> <p>As
-an example, suppose you have a table and index declared as follows: </p> <codeblock id="GUID-C18C97F7-23CA-5636-9F00-130A8FB3DEF5" xml:space="preserve">
-CREATE TABLE demo314(a,b,c,d,e,f,g);
-CREATE INDEX demo314_idx ON demo314(a,b,c,d,e,f);
-</codeblock> <p>Then the index might be used to help with a query that contained
-a WHERE clause like this: </p> <codeblock id="GUID-8A0944F4-1ACF-5267-B49F-EB83EFBB5670" xml:space="preserve">
-... WHERE a=1 AND b='Smith' AND c=1
-</codeblock> <p>All three terms of the WHERE clause would be used together
-with the index in order to narrow the search. But the index could not be used
-if there WHERE clause said: </p> <codeblock id="GUID-B5F1C17F-0F5E-5FC2-A9A4-DF19D699A076" xml:space="preserve">
-... WHERE b='Smith' AND c=1
-</codeblock> <p>The second WHERE clause does not contain equality terms for
-a prefix of the columns in the index because it omits a term for the “a” column. </p> <p>In
-a case like this: </p> <codeblock id="GUID-EF2CFE7D-0456-5414-847D-BADCC057CFD8" xml:space="preserve">
-... WHERE a=1 AND c=1
-</codeblock> <p>Only the “a=1” term in the WHERE clause could be used to help
-narrow the search. The “c=1” term is not part of the prefix of terms in the
-index which have equality constraints because there is no equality constraint
-on the “b” column. </p> <p>SQLite only allows a single index to be used per
-table within a simple SQL statement. For UPDATE and DELETE statements, this
-means that only a single index can ever be used, since those statements can
-only operate on a single table at a time. </p> <p>In a simple SELECT statement
-multiple indexes can be used if the SELECT statement is a join – one index
-per table in the join. In a compound SELECT statement (two or more SELECT
-statements connected by UNION or INTERSECT or EXCEPT) each SELECT statement
-is treated separately and can have its own indexes. Likewise, SELECT statements
-that appear in subexpressions are treated separately. </p> <p>Some other SQL
-database engines (for example PostgreSQL) allow multiple indexes to be used
-for each table in a SELECT. For example, if you had a table and index in PostgreSQL
-like this: </p> <codeblock id="GUID-F5DE8F24-7471-5992-9896-295CE173D855" xml:space="preserve">
-CREATE TABLE pg1(a INT, b INT, c INT, d INT);
-CREATE INDEX pg1_ix1 ON pg1(a);
-CREATE INDEX pg1_ix2 ON pg1(b);
-CREATE INDEX pg1_ix3 ON pg1(c);
-</codeblock> <p>And if you were to run a query like the following: </p> <codeblock id="GUID-A35663B7-4E7D-5CC0-BF5E-CF3A4CFED63F" xml:space="preserve">
-SELECT d FROM pg1 WHERE a=5 AND b=11 AND c=99;
-</codeblock> <p>Then PostgreSQL might attempt to optimize the query by using
-all three indexes, one for each term of the WHERE clause. </p> <p>SQLite does
-not work this way. SQLite is compelled to select a single index to use in
-the query. It might select any of the three indexes shown, depending on which
-one the optimizer things will give the best speedup. But in every case it
-will only select a single index and only a single term of the WHERE clause
-will be used. </p> <p>SQLite prefers to use a multi-column index such as this: </p> <codeblock id="GUID-40FB7075-1239-5089-BBC5-0D994F4A0C39" xml:space="preserve">
-CREATE INDEX pg1_ix_all ON pg1(a,b,c);
-</codeblock> <p>If the pg1_ix_all index is available for use when the SELECT
-statement above is prepared, SQLite will likely choose it over any of the
-single-column indexes because the multi-column index is able to make use of
-all 3 terms of the WHERE clause. </p> <p>You can trick SQLite into using multiple
-indexes on the same table by rewriting the query. Instead of the SELECT statement
-shown above, if you rewrite it as this: </p> <codeblock id="GUID-D7DE75D4-BB01-50DF-A9DC-956A83DED5D0" xml:space="preserve">
-SELECT d FROM pg1 WHERE RowID IN (
-    SELECT RowID FROM pg1 WHERE a=5
-    INTERSECT
-    SELECT RowID FROM pg1 WHERE b=11
-    INTERSECT
-    SELECT RowID FROM pg1 WHERE c=99
-)
-</codeblock> <p>Then each of the individual SELECT statements will using a
-different single-column index and their results will be combined by the outer
-SELECT statement to give the correct result. The other SQL database engines
-like PostgreSQL that are able to make use of multiple indexes per table do
-so by treating the simpler SELECT statement shown first as if they where the
-more complicated SELECT statement shown here. </p> </section>
-<section id="GUID-E90057A8-70B6-590C-B8AE-616DA25BB543"><title>Use Inequality
-Constraints on the Last Index Term</title> <p>Terms in the WHERE clause of
-a query or UPDATE or DELETE statement are mostly likely to trigger the use
-of an index if they are an equality constraint – in other words if the term
-consists of the name of an indexed column, an equal sign (“=”), and an expression. </p> <p>So,
-for example, if you have a table and index that look like this: </p> <codeblock id="GUID-84AADB9D-5853-57C2-B489-87DC7FB7AADE" xml:space="preserve">
-CREATE TABLE demo315(a,b,c,d);
-CREATE INDEX demo315_idx1 ON demo315(a,b,c);
-</codeblock> <p>And a query like this: </p> <codeblock id="GUID-A2B7DA9F-DB82-5D06-80E2-7AF714E403D5" xml:space="preserve">
-SELECT d FROM demo315 WHERE a=512;
-</codeblock> <p>The single “a=512” term of the WHERE clause qualifies as an
-equality constraint and is likely to provoke the use of the demo315_idx1 index. </p> <p>SQLite
-supports two other kinds of equality constraints. One is the IN operator: </p> <codeblock id="GUID-EA5D7637-A6B8-5BC0-A72E-D576B0F945A3" xml:space="preserve">
-SELECT d FROM demo315 WHERE a IN (512,1024);
-SELECT d FROM demo315 WHERE a IN (SELECT x FROM someothertable);
-</codeblock> <p>There other is the IS NULL constraint: </p> <codeblock id="GUID-B2C1C84B-C33D-55C5-8484-24B28EFC8E37" xml:space="preserve">
-SELECT d FROM demo315 WHERE a IS NULL;
-</codeblock> <p>SQLite allows at most one term of an index to be constrained
-by an inequality such as less than “&lt;”, greater than “&gt;”, less than or
-equal to “&lt;=”, or greater than or equal to “&gt;=”. </p> <p>The column that
-the inequality constrains will be the right-most term of the index that is
-used. So, for example, in this query: </p> <codeblock id="GUID-563231B5-EC3A-57C2-BC6F-1A8129ADE308" xml:space="preserve">
-SELECT d FROM demo315 WHERE a=5 AND b&gt;11 AND c=1;
-</codeblock> <p>Only the first two terms of the WHERE clause will be used
-with the demo315_idx1 index. The third term, the “c=1” constraint, cannot
-be used because the “c” column occurs to the right of the “b” column in the
-index and the “b” column is constrained by an inequality. </p> <p>SQLite allows
-up to two inequalities on the same column as long as the two inequalities
-provide an upper and lower bound on the column. For example, in this query: </p> <codeblock id="GUID-4EB94886-EDFF-58F2-8692-011A67AC5A60" xml:space="preserve">
-SELECT d FROM demo315 WHERE a=5 AND b&gt;11 AND b&lt;23;
-</codeblock> <p>All three terms of the WHERE clause will be used because the
-two inequalities on the “b” column provide an upper and lower bound on the
-value of “b”. </p> <p>SQLite will only use the four inequalities mentioned
-above to help constrain a search: “&lt;”, “&gt;”, “&lt;=”, and “&gt;=”. Other inequality
-operators such as not equal to (“!=” or “&lt;&gt;”) and NOT NULL are not helpful
-to the query optimizer and will never be used to control an index and help
-make the query run faster. </p> </section>
-<section id="GUID-CAD0C181-37E7-578A-A7E1-7843447C247F"><title>Use Indexes
-To Help ORDER BY Clauses Evaluate Faster</title> <p>The default method for
-evaluating an ORDER BY clause in a SELECT statement is to first evaluate the
-SELECT statement and store the results in a temporary tables, then sort the
-temporary table according to the ORDER BY clause and scan the sorted temporary
-table to generate the final output. </p> <p>This method always works, but
-it requires three passes over the data (one pass to generate the result set,
-a second pass to sort the result set, and a third pass to output the results)
-and it requires a temporary storage space sufficiently large to contain the
-entire results set. </p> <p>Where possible, SQLite will avoid storing and
-sorting the result set by using an index that causes the results to emerge
-from the query in sorted order in the first place. </p> <p>The way to get
-SQLite to use an index for sorting is to provide an index that covers the
-same columns specified in the ORDER BY clause. For example, if the table and
-index are like this: </p> <codeblock id="GUID-F0103033-C5C8-5177-8AD7-70BCC45C33C9" xml:space="preserve">
-CREATE TABLE demo316(a,b,c,data);
-CREATE INDEX idx316 ON demo316(a,b,c);
-</codeblock> <p>And you do a query like this: </p> <codeblock id="GUID-D67BB6FF-E213-5B86-A2C1-E1992DA96A62" xml:space="preserve">
-SELECT data FROM demo316 ORDER BY a,b,c;
-</codeblock> <p>SQLite will use the idx316 index to implement the ORDER BY
-clause, obviating the need for temporary storage space and a separate sorting
-pass. </p> <p>An index can be used to satisfy the search constraints of a
-WHERE clause and to impose the ORDER BY ordering of outputs all at once. The
-trick is for the ORDER BY clause terms to occur immediately after the WHERE
-clause terms in the index. For example, one can write: </p> <codeblock id="GUID-02063968-34B5-5766-9D02-86D696D39C1E" xml:space="preserve">
-SELECT data FROM demo316 WHERE a=5 ORDER BY b,c;
-</codeblock> <p>The “a” column is used in the WHERE clause and the immediately
-following terms of the index, “b” and “c” are used in the ORDER BY clause.
-So in this case the idx316 index would be used both to speed up the search
-and to satisfy the ORDER BY clause. </p> <p>This query also uses the idx316
-index because, once again, the ORDER BY clause term “c” immediate follows
-the WHERE clause terms “a” and “b” in the index: </p> <codeblock id="GUID-6760EC7E-E86A-5EBD-BDDD-32A68BE78A9E" xml:space="preserve">
-SELECT data FROM demo316 WHERE a=5 AND b=17 ORDER BY c;
-</codeblock> <p>But now consider this: </p> <codeblock id="GUID-9363996C-8C30-5E04-B05F-392C8262F1F6" xml:space="preserve">
-SELECT data FROM demo316 WHERE a=5 ORDER BY c;
-</codeblock> <p>Here there is a gap between the ORDER BY term “c” and the
-WHERE clause term “a”. So the idx316 index cannot be used to satisfy both
-the WHERE clause and the ORDER BY clause. The index will be used on the WHERE
-clause and a separate sorting pass will occur to put the results in the correct
-order. </p> </section>
-<section id="GUID-109AF0DA-A054-504A-A432-76BD145B2AC4"><title>Add Result
-Columns To The End Of Indexes</title> <p>Queries will sometimes run faster
-if their result columns appear in the right-most entries of an index. Consider
-the following example: </p> <codeblock id="GUID-63292052-B523-5671-B3EE-E10A66C7275F" xml:space="preserve">
-CREATE TABLE demo317(a,b,c,data);
-CREATE INDEX idx317 ON demo316(a,b,c);
-</codeblock> <p>A query where all result column terms appears in the index,
-such as </p> <codeblock id="GUID-41F740E7-EAFC-583B-BFE6-E63DBEA354D7" xml:space="preserve">
-SELECT c FROM demo317 WHERE a=5 ORDER BY b;
-</codeblock> <p>will typically run about twice as fast or faster than a query
-that uses columns that are not in the index, e.g. </p> <codeblock id="GUID-098752F4-304A-5A84-834E-240D97D97C2D" xml:space="preserve">
-SELECT data FROM demo317 WHERE a=5 ORDER BY b;
-</codeblock> <p>The reason for this is that when all information is contained
-within the index entry only a single search has to be made for each row of
-output. But when some of the information is in the index and other parts are
-in the table, first there must be a search for the appropriate index entry
-then a separate search is made for the appropriate table row based on the
-RowID found in the index entry. Twice as much searching has to be done for
-each row of output generated. </p> <p>The extra query speed does not come
-for free, however. Adding additional columns to an index makes the database
-file larger. So when developing an application, the programmer will need to
-make a space versus time trade-off to determine whether the extra columns
-should be added to the index or not. </p> <p>Note that if any column of the
-result must be obtained from the original table, then the table row will have
-to be searched for anyhow. There will be no speed advantage, so you might
-as well omit the extra columns from the end of the index and save on storage
-space. The speed-up described in this section can only be realized when every
-column in a table is obtainable from the index. </p> <p>Taking into account
-the results of the previous few sections, the best set of columns to put in
-an index can be described as follows: </p> <ul>
-<li id="GUID-EBF4DEFB-2F5F-5D78-92FA-06FEAB0C3650"><p>The first columns in
-the index should be columns that have equality constraints in the WHERE clause
-of the query. </p> </li>
-<li id="GUID-E5CB725C-6304-5946-9E18-E69B5F1A6A88"><p>The second group of
-columns should match the columns specified in the ORDER BY clause. </p> </li>
-<li id="GUID-FBC00251-C3AD-5AC0-9102-EF66EA37DE4E"><p>Add additional columns
-to the end of the index that are used in the result set of the query. </p> </li>
-</ul> </section>
-<section id="GUID-D7B5B389-E031-5512-8186-235B22F0D9C1"><title>Resolve Indexing
-Ambiguities Using the Unary “+” Operator</title> <p>The SQLite query optimizer
-usually does a good job of choosing the best index to use for a particular
-query, especially if ANALYZE has been run to provide it with index performance
-statistics. But occasions do arise where it is useful to give the optimizer
-hints. </p> <p>One of the easiest ways to control the operation of the optimizer
-is to disqualify terms in the WHERE clause or ORDER BY clause as candidates
-for optimization by using the unary “+” operator. </p> <p>In SQLite, a unary
-“+” operator is a no-op. It makes no change to its operand, even if the operand
-is something other than a number. So you can always prefix a “+” to an expression
-in without changing the meaning of the expression. As the optimizer will only
-use terms in WHERE, HAVING, or ON clauses that have an index column name on
-one side of a comparison operator, you can prevent such a term from being
-used by the optimizer by prefixing the column name with a “+”. </p> <p>For
-example, suppose you have a database with a schema like this: </p> <codeblock id="GUID-E7747EFD-FE58-5EA4-88B3-097C0A303F52" xml:space="preserve">
-CREATE TABLE demo321(a,b,c,data);
-CREATE INDEX idx321a ON demo321(a);
-CREATE INDEX idx321b ON demo321(b);
-</codeblock> <p>If you issue a query such as this: </p> <codeblock id="GUID-87BD59FC-33A8-598B-B91F-607B26F7349D" xml:space="preserve">
-SELECT data FROM demo321 WHERE a=5 AND b=11;
-</codeblock> <p>The query optimizer might use the “a=5” term with idx321a
-or it might use the “b=11” term with the idx321b index. But if you want to
-force the use of the idx321a index you can accomplish that by disqualifying
-the second term of the WHERE clause as a candidate for optimization using
-a unary “+” like this: </p> <codeblock id="GUID-E6EAB459-726A-5FE4-8065-6C46AC2C5B5C" xml:space="preserve">
-SELECT data FROM demo321 WHERE a=5 AND +b=11;
-</codeblock> <p>The “+” in front of the “b=11” turns the left-hand side of
-the equals comparison operator into an expression instead of an indexed column
-name. The optimizer will then not recognize that the second term can be used
-with an index and so the optimizer is compelled to use the first “a=5” term. </p> <p>The
-unary “+” operator can also be used to disable ORDER BY clause optimizations.
-Consider this query: </p> <codeblock id="GUID-0488D466-77B7-50E0-AB85-FF033A2D75DC" xml:space="preserve">
-SELECT data FROM demo321 WHERE a=5 ORDER BY b;
-</codeblock> <p>The optimizer has the choice of using the “a=5” term of the
-WHERE clause with idx321a to restrict the search. Or it might choose to use
-do a full table scan with idx321b to satisfy the ORDER BY clause and thus
-avoid a separate sorting pass. You can force one choice or the other using
-a unary “+”. </p> <p>To force the use of idx321a on the WHERE clause, add
-the unary “+” in from of the “b” in the ORDER BY clause: </p> <codeblock id="GUID-E55A085F-D91F-58E0-B964-317BB3A9D7ED" xml:space="preserve">
-SELECT data FROM demo321 WHERE a=5 ORDER BY +b;
-</codeblock> <p>To go the other way and force the idx321b index to be used
-to satisfy the ORDER BY clause, disqualify the WHERE term by prefixing with
-a unary “+”: </p> <codeblock id="GUID-D97EF52A-1F74-57EB-AC11-7911B4E088B3" xml:space="preserve">
-SELECT data FROM demo321 WHERE +a=5 ORDER BY b;
-</codeblock> <p>The reader is cautioned not to overuse the unary “+” operator.
-The SQLite query optimizer usually picks the best index without any outside
-help. Premature use of unary “+” can confuse the optimizer and cause less
-than optimal performance. But in some cases it is useful to be able override
-the decisions of the optimizer, and the unary “+” operator is an excellent
-way to do this when it becomes necessary. </p> </section>
-<section id="GUID-7BEBC49C-0528-5D58-9626-2A92F3D0D9E8"><title>Avoid Indexing
-Large BLOBs and CLOBs</title> <p>SQLite stores indexes as b-trees. Each b-tree
-node uses one page of the database file. In order to maintain an acceptable
-fan-out, the b-tree module within SQLite requires that at least 4 entries
-must fit on each page of a b-tree. There is also some overhead associated
-with each b-tree page. So at the most there is about 250 bytes of space available
-on the main b-tree page for each index entry. </p> <p>If an index entry exceeds
-this allotment of approximately 250 bytes excess bytes are spilled to overflow
-pages. There is no arbitrary limit on the number of overflow pages or on the
-length of a b-tree entry, but for maximum efficiency it is best to avoid overflow
-pages, especially in indexes. This means that you should strive to keep the
-number of bytes in each index entry below 250. </p> <p>If you keep the size
-of indexes significantly smaller than 250 bytes, then the b-tree fan-out is
-increased and the binary search algorithm used to search for entries in an
-index has fewer pages to examine and therefore runs faster. So the fewer bytes
-used in each index entry the better, at least from a performance perspective. </p> <p>For
-these reasons, it is recommended that you avoid indexing large BLOBs and CLOBs.
-SQLite will continue to work when large BLOBs and CLOBs are indexed, but there
-will be a performance impact. </p> <p>On the other hand, if you need to lookup
-entries using a large BLOB or CLOB as the key, then by all means use an index.
-An index on a large BLOB or CLOB is not as fast as an index using more compact
-data types such as integers, but it is still many order of magnitude faster
-than doing a full table scan. So to be more precise, the advice of this section
-is that you should design your applications so that you do not need to lookup
-entries using a large BLOB or CLOB as the key. Try to arrange to have compact
-keys consisting of short strings or integers. </p> <p>Note that many other
-SQL database engines disallow the indexing of BLOBs and CLOBs in the first
-place. You simple cannot do it. SQLite is more flexible that most in that
-it does allow BLOBs and CLOBs to be indexed and it will use those indexes
-when appropriate. But for maximum performance, it is best to use smaller search
-keys. </p> </section>
-<section id="GUID-DD40F29F-DF93-536E-9B52-F9B9FF45155D"><title>Avoid Excess
-Indexes</title> <p>Some developers approach SQL-based application development
-with the attitude that indexes never hurt and that the more indexes you have,
-the faster your application will run. This is definitely not the case. There
-is a costs associated with each new index you create: </p> <ul>
-<li id="GUID-FD257BF7-F938-54B5-AC03-9536712D6281"><p>Each new index takes
-up additional space in the database file. The more indexes you have, the larger
-your database files will become for the same amount of data. </p> </li>
-<li id="GUID-E1B74FB6-246A-5148-AF06-04E1B4B949F1"><p>Every INSERT and UPDATE
-statement modifies both the original table and all indexes on that table.
-So the performance of INSERT and UPDATE decreases linearly with the number
-of indexes. </p> </li>
-<li id="GUID-56AAE2D1-71D6-5A23-8190-B0C80B204DED"><p>Compiling new SQL statements
-using <codeph>Prepare()</codeph> takes longer when there are more indexes
-for the optimizer to choose between. </p> </li>
-<li id="GUID-24B7F7D8-FAA9-5C78-B3C7-B886FA774C0B"><p>Surplus indexes give
-the optimizer more opportunities to make a bad choice. </p> </li>
-</ul> <p>Your policy on indexes should be to avoid them wherever you can.
-Indexes are powerful medicine and can work wonders to improve the performance
-of a program. But just as too many drugs can be worse than none at all, so
-also can too many indexes cause more harm than good. </p> <p>When building
-a new application, a good approach is to omit all explicitly declared indexes
-in the beginning and only add indexes as needed to address specific performance
-problems. </p> <p>Take care to avoid redundant indexes. For example, consider
-this schema: </p> <codeblock id="GUID-89F20101-1628-5783-82B0-2ABE84078C7D" xml:space="preserve">
-CREATE TABLE demo323a(a,b,c);
-CREATE INDEX idx323a1 ON demo323(a);
-CREATE INDEX idx323a2 ON demo323(a,b);
-</codeblock> <p>The idx323a1 index is redundant and can be eliminated. Anything
-that the idx323a1 index can do the idx323a2 index can do better. </p> <p>Other
-redundancies are not quite as apparent as the above. Recall that any column
-or columns that are declared UNIQUE or PRIMARY KEY (except for the special
-case of INTEGER PRIMARY KEY) are automatically indexed. So in the following
-schema: </p> <codeblock id="GUID-2FE7B726-4027-518C-9217-B4BD1ECDA991" xml:space="preserve">
-CREATE TABLE demo323b(x TEXT PRIMARY KEY, y INTEGER UNIQUE);
-CREATE INDEX idx323b1 ON demo323b(x);
-CREATE INDEX idx323b2 ON demo323b(y);
-</codeblock> <p>Both indexes are redundant and can be eliminated with no loss
-in query performance. Occasionally one sees a novice SQL programmer use both
-UNIQUE and PRIMARY KEY on the same column: </p> <codeblock id="GUID-CDE12649-BDB4-58D4-8981-02628BDF5C79" xml:space="preserve">
-CREATE TABLE demo323c(p TEXT UNIQUE PRIMARY KEY, q);
-</codeblock> <p>This has the effect of creating two indexes on the “p” column
-– one for the UNIQUE keywords and another for the PRIMARY KEY keyword. Both
-indexes are identical so clearly one can be omitted. A PRIMARY KEY is guaranteed
-to always be unique so the UNIQUE keyword can be removed from the demo323c
-table definition with no ambiguity or loss of functionality. </p> <p>It is
-not a fatal error to create too many indexes or redundant indexes. SQLite
-will continue to generate the correct answers but it may take longer to produce
-those answers and the resulting database files might be a little larger. So
-for best results, keep the number of indexes to a minimum. </p> </section>
-<section id="GUID-9337E315-BB5A-56D0-8319-6C398D26151F"><title>Avoid Tables
-and Indexes with an Excessive Number of Columns</title> <p>SQLite places no
-arbitrary limits on the number of columns in a table or index. There are known
-commercial applications using SQLite that construct tables with tens of thousands
-of columns each. And these applications actually work. </p> <p>However the
-database engine is optimized for the common case of tables with no more than
-a few dozen columns. For best performance you should try to stay in the optimized
-region. Furthermore, we note that relational databases with a large number
-of columns are usually not well normalized. So even apart from performance
-considerations, if you find your design has tables with more than a dozen
-or so columns, you really need to rethink how you are building your application. </p> <p>There
-are a number of places in <codeph>Prepare()</codeph> that run in time O(N<sup>2</sup>)
-where N is the number of columns in the table. The constant of proportionality
-is small in these cases so you should not have any problems for N of less
-than one hundred but for N on the order of a thousand, the time to run <codeph>Prepare()</codeph> can
-start to become noticeable. </p> <p>When the bytecode is running and it needs
-to access the i-th column of a table, the values of the previous i-1 columns
-must be accessed first. So if you have a large number of columns, accessing
-the last column can be an expensive operation. This fact also argues for putting
-smaller and more frequently accessed columns early in the table. </p> <p>There
-are certain optimizations that will only work if the table has 30 or fewer
-columns. The optimization that extracts all necessary information from an
-index and never refers to the underlying table works this way. So in some
-cases, keeping the number of columns in a table at or below 30 can result
-in a 2-fold speed improvement. </p> <p>Indexes will only be used if they contain
-30 or fewer columns. You can put as many columns in an index as you want,
-but if the number is greater than 30, the index will never improve performance
-and will never do anything but take up space in your database file. </p> </section>
-</conbody><related-links>
-<link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL Overview</linktext>
-</link>
-<link href="GUID-78773BCA-ADF6-53E6-AC80-5CB2AE1F8BCC.dita"><linktext>SQL Server
-Guide</linktext></link>
-<link href="GUID-E51836E1-D33E-506C-B75B-19B8E3CC313A.dita"><linktext>SQLite</linktext>
-</link>
-<link href="GUID-1F12E3F5-45B2-55EC-B021-00338277C608.dita"><linktext>SQL DB Overview</linktext>
-</link>
-<link href="GUID-43CA02E7-0101-5824-B91B-E15EE20C829A.dita"><linktext>Avoid Transient
-Tables</linktext></link>
-<link href="GUID-49A3419F-D20A-5C5D-B2FF-51724EF37704.dita"><linktext>Prevent Datafile
-Corruption</linktext></link>
-<link><linktext/></link>
-<link href="GUID-B994E6F7-228A-5433-B87F-91857C5D93D6.dita"><linktext>SQL Insertion
-Tips</linktext></link>
-<link href="GUID-4FC23DB7-4758-5DA4-81FF-0DAB169E2757.dita"><linktext>SQL Schema
-Tips</linktext></link>
-<link href="GUID-2A2920E0-5D40-5358-BC0C-8572CEFE078C.dita"><linktext>SQL Expressions</linktext>
-</link>
-<link href="GUID-126FCCCC-0E7D-59AE-959A-2F94A7319C4B.dita"><linktext>SQL Statement
-Tips</linktext></link>
-<link href="GUID-ACCCB148-DAF9-59EC-B585-8EF632B9BF04.dita"><linktext>SQL Joins</linktext>
-</link>
-<link href="GUID-B7E978C1-45CA-554C-8028-D901B97BA2E0.dita"><linktext> ANALYZE
-Command</linktext></link>
-<link href="GUID-AF5A75D7-0687-546C-87B2-0B7DF7D33217.dita"><linktext> SQL WHERE
-CLause Tips</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C2FAEBB2-4A1A-5BB0-9670-4801525CBC6A" xml:lang="en"><title>SQL Index Tips</title><shortdesc>This document includes several tips for using SQL indexes.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-3895F9D0-DE9C-4375-B541-AC99CABB7B8A"><title>Introduction</title> <p>You can use indexes to speed up access. You create indexes automatically
+using PRIMARY KEY and UNIQUE. </p> <p><b>Intended audience:</b> </p> <p>This document is intended to be
+used by Symbian platform licensees and third party application developers. </p> </section>
+<section id="GUID-765F0DF1-ACB0-57DB-B9A8-3697E4637065"><title>Use
+an Index to Speed up Access</title> <p>Suppose you have a table like
+this: </p> <codeblock id="GUID-F70B25AB-A151-52CE-A413-1C62A2464D6A" xml:space="preserve">
+CREATE TABLE demo5(
+    id INTEGER,
+    content BLOB
+);
+</codeblock> <p>Further suppose that this table contains thousands
+or millions of rows and you want to access a single row with a particular
+ID: </p> <codeblock id="GUID-B02FA452-4093-5383-BAFA-AE035919D720" xml:space="preserve">
+SELECT content FROM demo5 WHERE id=?
+</codeblock> <p>The only want that SQLite can perform this query,
+and be certain to get every row with the chosen ID, is to examine
+every single row, check the ID of that row, and return the content
+if the ID matches. Examining every single row this way is called a <i>full table scan</i>. </p> <p>Reading and checking every row of a
+large table can be very slow, so you want to avoid full table scans.
+The usual way to do this is to create an index on the column you are
+searching against. In the example above, an appropriate index would
+be this: </p> <codeblock id="GUID-82E337F1-2CA2-51B0-A7BC-071A83779A18" xml:space="preserve">
+CREATE INDEX demo5_idx1 ON demo5(id);
+</codeblock> <p>With an index on the ID column, SQLite is able to
+use a binary search to locate entries that contain a particular value
+of ID. So if the table contains a million rows, the query can be satisfied
+with about 20 accesses rather than 1000000 accesses. This is a huge
+performance improvement. </p> <p>One of the features of the SQL language
+is that you do not have to figure out what indexes you may need in
+advance of coding your application. It is perfectly acceptable, even
+preferable, to write the code for your application using a database
+without any indexes. Then once the application is running and you
+can make speed measurements, add whatever indexes are needed in order
+to make it run faster. </p> <p>When you add indexes, the query optimizer
+within the SQL compiler is able to find new more efficient bytecode
+procedures for carrying out the operations that your SQL statements
+specify. In other words, by adding indexes late in the development
+cycle you have the power to completely reorganize your data access
+patterns without changing a single line of code. </p> </section>
+<section id="GUID-BB1F17C5-1174-5DF4-AA61-611173237F3F"><title>Create
+Indexes Automatically Using PRIMARY KEY and UNIQUE</title> <p>Any
+column of a table that is declared to be the PRIMARY KEY or that is
+declared UNIQUE will be indexed automatically. There is no need to
+create a separate index on that column using the CREATE INDEX statement.
+So, for example, this table declaration: </p> <codeblock id="GUID-E4BE6077-F639-5CE7-964A-276B0D58A129" xml:space="preserve">
+CREATE TABLE demo39a(
+    id INTEGER,
+    content BLOB
+);
+
+CREATE INDEX demo39_idx1 ON demo39a(id);
+</codeblock> <p>Is roughly equivalent to the following: </p> <codeblock id="GUID-DB3167E0-FA95-50CA-92C7-102B5C2C13E3" xml:space="preserve">
+CREATE TABLE demo39b(
+    id INTEGER UNIQUE,
+    content BLOB
+);
+</codeblock> <p>The two examples above are “roughly” equivalent, but
+not exactly equivalent. Both tables have an index on the ID column.
+In the first case, the index is created explicitly. In the second
+case, the index is implied by the UNIQUE keyword in the type declaration
+of the ID column. Both table designs use exactly the same amount of
+disk space, and both will run queries such as </p> <codeblock id="GUID-7ACAE270-6D20-557B-B7D1-C90EDD757E43" xml:space="preserve">
+SELECT content FROM demo39 WHERE id=?
+</codeblock> <p>using exactly the same bytecode. The only difference
+is that table demo39a lets you insert multiple rows with the same
+ID whereas table demo39b will raise an exception if you try to insert
+a new row with the same ID as an existing row. </p> <p>If you use
+the UNIQUE keyword in the CREATE INDEX statement of demo39a, like
+this: </p> <codeblock id="GUID-0EE5E186-CC4A-5CC3-AEAE-F1482F1F8F9A" xml:space="preserve">
+CREATE UNIQUE INDEX demo39_idx1 ON demo39a(id);
+</codeblock> <p>Then both table designs really would be exactly the
+same in every way. In fact, whenever SQLite sees the UNIQUE keyword
+on a column type declaration, all it does is create an automatic unique
+index on that column. </p> <p>The PRIMARY KEY modifier on a column
+type declaration works like UNIQUE; it causes a unique index to be
+created automatically. The main difference is that you are only allowed
+to have a single PRIMARY KEY. This restriction of only allowing a
+single PRIMARY KEY is part of the official SQL language definition. </p> <p>The idea is that a PRIMARY KEY is used to order the rows on disk.
+Some SQL database engines actually implement PRIMARY KEYs this way.
+But with SQLite, a PRIMARY KEY is like any other UNIQUE column, with
+only one exception: INTEGER PRIMARY KEY is a special case which is
+handled differently, as described in the next section. </p> </section>
+<section id="GUID-BF7A0301-8490-58ED-BB37-FAC403A84230"><title>Use
+Multi-Column Indexes</title> <p>SQLite is able to make use of multi-column
+indexes. The rule is that if an index is over columns <i>X</i>  <i> 0 </i>, <i>X</i>  <i> 1 </i>, <i>X</i>  <i> 2 </i>, ..., <i>X</i>  <i> n </i> of some table, then the index can be used if the WHERE
+clause contains equality constraints for some prefix of those columns <i>X</i>  <i>0 </i>, <i>X</i>  <i>1 </i>, <i>X</i>  <i>2 </i>, ..., <i>X</i>  <i>i </i> where <i>i</i> is less than <i>n</i>. </p> <p>As
+an example, suppose you have a table and index declared as follows: </p> <codeblock id="GUID-C18C97F7-23CA-5636-9F00-130A8FB3DEF5" xml:space="preserve">
+CREATE TABLE demo314(a,b,c,d,e,f,g);
+CREATE INDEX demo314_idx ON demo314(a,b,c,d,e,f);
+</codeblock> <p>Then the index might be used to help with a query
+that contained a WHERE clause like this: </p> <codeblock id="GUID-8A0944F4-1ACF-5267-B49F-EB83EFBB5670" xml:space="preserve">
+... WHERE a=1 AND b='Smith' AND c=1
+</codeblock> <p>All three terms of the WHERE clause would be used
+together with the index in order to narrow the search. But the index
+could not be used if there WHERE clause said: </p> <codeblock id="GUID-B5F1C17F-0F5E-5FC2-A9A4-DF19D699A076" xml:space="preserve">
+... WHERE b='Smith' AND c=1
+</codeblock> <p>The second WHERE clause does not contain equality
+terms for a prefix of the columns in the index because it omits a
+term for the “a” column. </p> <p>In a case like this: </p> <codeblock id="GUID-EF2CFE7D-0456-5414-847D-BADCC057CFD8" xml:space="preserve">
+... WHERE a=1 AND c=1
+</codeblock> <p>Only the “a=1” term in the WHERE clause could be used
+to help narrow the search. The “c=1” term is not part of the prefix
+of terms in the index which have equality constraints because there
+is no equality constraint on the “b” column. </p> <p>SQLite only allows
+a single index to be used per table within a simple SQL statement.
+For UPDATE and DELETE statements, this means that only a single index
+can ever be used, since those statements can only operate on a single
+table at a time. </p> <p>In a simple SELECT statement multiple indexes
+can be used if the SELECT statement is a join – one index per table
+in the join. In a compound SELECT statement (two or more SELECT statements
+connected by UNION or INTERSECT or EXCEPT) each SELECT statement is
+treated separately and can have its own indexes. Likewise, SELECT
+statements that appear in subexpressions are treated separately. </p> <p>Some other SQL database engines (for example PostgreSQL) allow
+multiple indexes to be used for each table in a SELECT. For example,
+if you had a table and index in PostgreSQL like this: </p> <codeblock id="GUID-F5DE8F24-7471-5992-9896-295CE173D855" xml:space="preserve">
+CREATE TABLE pg1(a INT, b INT, c INT, d INT);
+CREATE INDEX pg1_ix1 ON pg1(a);
+CREATE INDEX pg1_ix2 ON pg1(b);
+CREATE INDEX pg1_ix3 ON pg1(c);
+</codeblock> <p>And if you were to run a query like the following: </p> <codeblock id="GUID-A35663B7-4E7D-5CC0-BF5E-CF3A4CFED63F" xml:space="preserve">
+SELECT d FROM pg1 WHERE a=5 AND b=11 AND c=99;
+</codeblock> <p>Then PostgreSQL might attempt to optimize the query
+by using all three indexes, one for each term of the WHERE clause. </p> <p>SQLite does not work this way. SQLite is compelled to select
+a single index to use in the query. It might select any of the three
+indexes shown, depending on which one the optimizer things will give
+the best speedup. But in every case it will only select a single index
+and only a single term of the WHERE clause will be used. </p> <p>SQLite
+prefers to use a multi-column index such as this: </p> <codeblock id="GUID-40FB7075-1239-5089-BBC5-0D994F4A0C39" xml:space="preserve">
+CREATE INDEX pg1_ix_all ON pg1(a,b,c);
+</codeblock> <p>If the pg1_ix_all index is available for use when
+the SELECT statement above is prepared, SQLite will likely choose
+it over any of the single-column indexes because the multi-column
+index is able to make use of all 3 terms of the WHERE clause. </p> <p>You can trick SQLite into using multiple indexes on the same
+table by rewriting the query. Instead of the SELECT statement shown
+above, if you rewrite it as this: </p> <codeblock id="GUID-D7DE75D4-BB01-50DF-A9DC-956A83DED5D0" xml:space="preserve">
+SELECT d FROM pg1 WHERE RowID IN (
+    SELECT RowID FROM pg1 WHERE a=5
+    INTERSECT
+    SELECT RowID FROM pg1 WHERE b=11
+    INTERSECT
+    SELECT RowID FROM pg1 WHERE c=99
+)
+</codeblock> <p>Then each of the individual SELECT statements will
+using a different single-column index and their results will be combined
+by the outer SELECT statement to give the correct result. The other
+SQL database engines like PostgreSQL that are able to make use of
+multiple indexes per table do so by treating the simpler SELECT statement
+shown first as if they where the more complicated SELECT statement
+shown here. </p> </section>
+<section id="GUID-E90057A8-70B6-590C-B8AE-616DA25BB543"><title>Use
+Inequality Constraints on the Last Index Term</title> <p>Terms in
+the WHERE clause of a query or UPDATE or DELETE statement are mostly
+likely to trigger the use of an index if they are an equality constraint
+– in other words if the term consists of the name of an indexed column,
+an equal sign (“=”), and an expression. </p> <p>So, for example, if
+you have a table and index that look like this: </p> <codeblock id="GUID-84AADB9D-5853-57C2-B489-87DC7FB7AADE" xml:space="preserve">
+CREATE TABLE demo315(a,b,c,d);
+CREATE INDEX demo315_idx1 ON demo315(a,b,c);
+</codeblock> <p>And a query like this: </p> <codeblock id="GUID-A2B7DA9F-DB82-5D06-80E2-7AF714E403D5" xml:space="preserve">
+SELECT d FROM demo315 WHERE a=512;
+</codeblock> <p>The single “a=512” term of the WHERE clause qualifies
+as an equality constraint and is likely to provoke the use of the
+demo315_idx1 index. </p> <p>SQLite supports two other kinds of equality
+constraints. One is the IN operator: </p> <codeblock id="GUID-EA5D7637-A6B8-5BC0-A72E-D576B0F945A3" xml:space="preserve">
+SELECT d FROM demo315 WHERE a IN (512,1024);
+SELECT d FROM demo315 WHERE a IN (SELECT x FROM someothertable);
+</codeblock> <p>There other is the IS NULL constraint: </p> <codeblock id="GUID-B2C1C84B-C33D-55C5-8484-24B28EFC8E37" xml:space="preserve">
+SELECT d FROM demo315 WHERE a IS NULL;
+</codeblock> <p>SQLite allows at most one term of an index to be constrained
+by an inequality such as less than “&lt;”, greater than “&gt;”, less
+than or equal to “&lt;=”, or greater than or equal to “&gt;=”. </p> <p>The column that the inequality constrains will be the right-most
+term of the index that is used. So, for example, in this query: </p> <codeblock id="GUID-563231B5-EC3A-57C2-BC6F-1A8129ADE308" xml:space="preserve">
+SELECT d FROM demo315 WHERE a=5 AND b&gt;11 AND c=1;
+</codeblock> <p>Only the first two terms of the WHERE clause will
+be used with the demo315_idx1 index. The third term, the “c=1” constraint,
+cannot be used because the “c” column occurs to the right of the “b”
+column in the index and the “b” column is constrained by an inequality. </p> <p>SQLite allows up to two inequalities on the same column as long
+as the two inequalities provide an upper and lower bound on the column.
+For example, in this query: </p> <codeblock id="GUID-4EB94886-EDFF-58F2-8692-011A67AC5A60" xml:space="preserve">
+SELECT d FROM demo315 WHERE a=5 AND b&gt;11 AND b&lt;23;
+</codeblock> <p>All three terms of the WHERE clause will be used because
+the two inequalities on the “b” column provide an upper and lower
+bound on the value of “b”. </p> <p>SQLite will only use the four inequalities
+mentioned above to help constrain a search: “&lt;”, “&gt;”, “&lt;=”,
+and “&gt;=”. Other inequality operators such as not equal to (“!=” or
+“&lt;&gt;”) and NOT NULL are not helpful to the query optimizer and will
+never be used to control an index and help make the query run faster. </p> </section>
+<section id="GUID-CAD0C181-37E7-578A-A7E1-7843447C247F"><title>Use
+Indexes To Help ORDER BY Clauses Evaluate Faster</title> <p>The default
+method for evaluating an ORDER BY clause in a SELECT statement is
+to first evaluate the SELECT statement and store the results in a
+temporary tables, then sort the temporary table according to the ORDER
+BY clause and scan the sorted temporary table to generate the final
+output. </p> <p>This method always works, but it requires three passes
+over the data (one pass to generate the result set, a second pass
+to sort the result set, and a third pass to output the results) and
+it requires a temporary storage space sufficiently large to contain
+the entire results set. </p> <p>Where possible, SQLite will avoid
+storing and sorting the result set by using an index that causes the
+results to emerge from the query in sorted order in the first place. </p> <p>The way to get SQLite to use an index for sorting is to provide
+an index that covers the same columns specified in the ORDER BY clause.
+For example, if the table and index are like this: </p> <codeblock id="GUID-F0103033-C5C8-5177-8AD7-70BCC45C33C9" xml:space="preserve">
+CREATE TABLE demo316(a,b,c,data);
+CREATE INDEX idx316 ON demo316(a,b,c);
+</codeblock> <p>And you do a query like this: </p> <codeblock id="GUID-D67BB6FF-E213-5B86-A2C1-E1992DA96A62" xml:space="preserve">
+SELECT data FROM demo316 ORDER BY a,b,c;
+</codeblock> <p>SQLite will use the idx316 index to implement the
+ORDER BY clause, obviating the need for temporary storage space and
+a separate sorting pass. </p> <p>An index can be used to satisfy the
+search constraints of a WHERE clause and to impose the ORDER BY ordering
+of outputs all at once. The trick is for the ORDER BY clause terms
+to occur immediately after the WHERE clause terms in the index. For
+example, one can write: </p> <codeblock id="GUID-02063968-34B5-5766-9D02-86D696D39C1E" xml:space="preserve">
+SELECT data FROM demo316 WHERE a=5 ORDER BY b,c;
+</codeblock> <p>The “a” column is used in the WHERE clause and the
+immediately following terms of the index, “b” and “c” are used in
+the ORDER BY clause. So in this case the idx316 index would be used
+both to speed up the search and to satisfy the ORDER BY clause. </p> <p>This query also uses the idx316 index because, once again, the
+ORDER BY clause term “c” immediate follows the WHERE clause terms
+“a” and “b” in the index: </p> <codeblock id="GUID-6760EC7E-E86A-5EBD-BDDD-32A68BE78A9E" xml:space="preserve">
+SELECT data FROM demo316 WHERE a=5 AND b=17 ORDER BY c;
+</codeblock> <p>But now consider this: </p> <codeblock id="GUID-9363996C-8C30-5E04-B05F-392C8262F1F6" xml:space="preserve">
+SELECT data FROM demo316 WHERE a=5 ORDER BY c;
+</codeblock> <p>Here there is a gap between the ORDER BY term “c”
+and the WHERE clause term “a”. So the idx316 index cannot be used
+to satisfy both the WHERE clause and the ORDER BY clause. The index
+will be used on the WHERE clause and a separate sorting pass will
+occur to put the results in the correct order. </p> </section>
+<section id="GUID-109AF0DA-A054-504A-A432-76BD145B2AC4"><title>Add
+Result Columns To The End Of Indexes</title> <p>Queries will sometimes
+run faster if their result columns appear in the right-most entries
+of an index. Consider the following example: </p> <codeblock id="GUID-63292052-B523-5671-B3EE-E10A66C7275F" xml:space="preserve">
+CREATE TABLE demo317(a,b,c,data);
+CREATE INDEX idx317 ON demo316(a,b,c);
+</codeblock> <p>A query where all result column terms appears in the
+index, such as </p> <codeblock id="GUID-41F740E7-EAFC-583B-BFE6-E63DBEA354D7" xml:space="preserve">
+SELECT c FROM demo317 WHERE a=5 ORDER BY b;
+</codeblock> <p>will typically run about twice as fast or faster than
+a query that uses columns that are not in the index, e.g. </p> <codeblock id="GUID-098752F4-304A-5A84-834E-240D97D97C2D" xml:space="preserve">
+SELECT data FROM demo317 WHERE a=5 ORDER BY b;
+</codeblock> <p>The reason for this is that when all information is
+contained within the index entry only a single search has to be made
+for each row of output. But when some of the information is in the
+index and other parts are in the table, first there must be a search
+for the appropriate index entry then a separate search is made for
+the appropriate table row based on the RowID found in the index entry.
+Twice as much searching has to be done for each row of output generated. </p> <p>The extra query speed does not come for free, however. Adding
+additional columns to an index makes the database file larger. So
+when developing an application, the programmer will need to make a
+space versus time trade-off to determine whether the extra columns
+should be added to the index or not. </p> <p>Note that if any column
+of the result must be obtained from the original table, then the table
+row will have to be searched for anyhow. There will be no speed advantage,
+so you might as well omit the extra columns from the end of the index
+and save on storage space. The speed-up described in this section
+can only be realized when every column in a table is obtainable from
+the index. </p> <p>Taking into account the results of the previous
+few sections, the best set of columns to put in an index can be described
+as follows: </p> <ul>
+<li id="GUID-EBF4DEFB-2F5F-5D78-92FA-06FEAB0C3650"><p>The first columns
+in the index should be columns that have equality constraints in the
+WHERE clause of the query. </p> </li>
+<li id="GUID-E5CB725C-6304-5946-9E18-E69B5F1A6A88"><p>The second group
+of columns should match the columns specified in the ORDER BY clause. </p> </li>
+<li id="GUID-FBC00251-C3AD-5AC0-9102-EF66EA37DE4E"><p>Add additional
+columns to the end of the index that are used in the result set of
+the query. </p> </li>
+</ul> </section>
+<section id="GUID-D7B5B389-E031-5512-8186-235B22F0D9C1"><title>Resolve
+Indexing Ambiguities Using the Unary “+” Operator</title> <p>The SQLite
+query optimizer usually does a good job of choosing the best index
+to use for a particular query, especially if ANALYZE has been run
+to provide it with index performance statistics. But occasions do
+arise where it is useful to give the optimizer hints. </p> <p>One
+of the easiest ways to control the operation of the optimizer is to
+disqualify terms in the WHERE clause or ORDER BY clause as candidates
+for optimization by using the unary “+” operator. </p> <p>In SQLite,
+a unary “+” operator is a no-op. It makes no change to its operand,
+even if the operand is something other than a number. So you can always
+prefix a “+” to an expression in without changing the meaning of the
+expression. As the optimizer will only use terms in WHERE, HAVING,
+or ON clauses that have an index column name on one side of a comparison
+operator, you can prevent such a term from being used by the optimizer
+by prefixing the column name with a “+”. </p> <p>For example, suppose
+you have a database with a schema like this: </p> <codeblock id="GUID-E7747EFD-FE58-5EA4-88B3-097C0A303F52" xml:space="preserve">
+CREATE TABLE demo321(a,b,c,data);
+CREATE INDEX idx321a ON demo321(a);
+CREATE INDEX idx321b ON demo321(b);
+</codeblock> <p>If you issue a query such as this: </p> <codeblock id="GUID-87BD59FC-33A8-598B-B91F-607B26F7349D" xml:space="preserve">
+SELECT data FROM demo321 WHERE a=5 AND b=11;
+</codeblock> <p>The query optimizer might use the “a=5” term with
+idx321a or it might use the “b=11” term with the idx321b index. But
+if you want to force the use of the idx321a index you can accomplish
+that by disqualifying the second term of the WHERE clause as a candidate
+for optimization using a unary “+” like this: </p> <codeblock id="GUID-E6EAB459-726A-5FE4-8065-6C46AC2C5B5C" xml:space="preserve">
+SELECT data FROM demo321 WHERE a=5 AND +b=11;
+</codeblock> <p>The “+” in front of the “b=11” turns the left-hand
+side of the equals comparison operator into an expression instead
+of an indexed column name. The optimizer will then not recognize that
+the second term can be used with an index and so the optimizer is
+compelled to use the first “a=5” term. </p> <p>The unary “+” operator
+can also be used to disable ORDER BY clause optimizations. Consider
+this query: </p> <codeblock id="GUID-0488D466-77B7-50E0-AB85-FF033A2D75DC" xml:space="preserve">
+SELECT data FROM demo321 WHERE a=5 ORDER BY b;
+</codeblock> <p>The optimizer has the choice of using the “a=5” term
+of the WHERE clause with idx321a to restrict the search. Or it might
+choose to use do a full table scan with idx321b to satisfy the ORDER
+BY clause and thus avoid a separate sorting pass. You can force one
+choice or the other using a unary “+”. </p> <p>To force the use of
+idx321a on the WHERE clause, add the unary “+” in from of the “b”
+in the ORDER BY clause: </p> <codeblock id="GUID-E55A085F-D91F-58E0-B964-317BB3A9D7ED" xml:space="preserve">
+SELECT data FROM demo321 WHERE a=5 ORDER BY +b;
+</codeblock> <p>To go the other way and force the idx321b index to
+be used to satisfy the ORDER BY clause, disqualify the WHERE term
+by prefixing with a unary “+”: </p> <codeblock id="GUID-D97EF52A-1F74-57EB-AC11-7911B4E088B3" xml:space="preserve">
+SELECT data FROM demo321 WHERE +a=5 ORDER BY b;
+</codeblock> <p>The reader is cautioned not to overuse the unary “+”
+operator. The SQLite query optimizer usually picks the best index
+without any outside help. Premature use of unary “+” can confuse the
+optimizer and cause less than optimal performance. But in some cases
+it is useful to be able override the decisions of the optimizer, and
+the unary “+” operator is an excellent way to do this when it becomes
+necessary. </p> </section>
+<section id="GUID-7BEBC49C-0528-5D58-9626-2A92F3D0D9E8"><title>Avoid
+Indexing Large BLOBs and CLOBs</title> <p>SQLite stores indexes as
+b-trees. Each b-tree node uses one page of the database file. In order
+to maintain an acceptable fan-out, the b-tree module within SQLite
+requires that at least 4 entries must fit on each page of a b-tree.
+There is also some overhead associated with each b-tree page. So at
+the most there is about 250 bytes of space available on the main b-tree
+page for each index entry. </p> <p>If an index entry exceeds this
+allotment of approximately 250 bytes excess bytes are spilled to overflow
+pages. There is no arbitrary limit on the number of overflow pages
+or on the length of a b-tree entry, but for maximum efficiency it
+is best to avoid overflow pages, especially in indexes. This means
+that you should strive to keep the number of bytes in each index entry
+below 250. </p> <p>If you keep the size of indexes significantly smaller
+than 250 bytes, then the b-tree fan-out is increased and the binary
+search algorithm used to search for entries in an index has fewer
+pages to examine and therefore runs faster. So the fewer bytes used
+in each index entry the better, at least from a performance perspective. </p> <p>For these reasons, it is recommended that you avoid indexing
+large BLOBs and CLOBs. SQLite will continue to work when large BLOBs
+and CLOBs are indexed, but there will be a performance impact. </p> <p>On the other hand, if you need to lookup entries using a large
+BLOB or CLOB as the key, then by all means use an index. An index
+on a large BLOB or CLOB is not as fast as an index using more compact
+data types such as integers, but it is still many order of magnitude
+faster than doing a full table scan. So to be more precise, the advice
+of this section is that you should design your applications so that
+you do not need to lookup entries using a large BLOB or CLOB as the
+key. Try to arrange to have compact keys consisting of short strings
+or integers. </p> <p>Note that many other SQL database engines disallow
+the indexing of BLOBs and CLOBs in the first place. You simple cannot
+do it. SQLite is more flexible that most in that it does allow BLOBs
+and CLOBs to be indexed and it will use those indexes when appropriate.
+But for maximum performance, it is best to use smaller search keys. </p> </section>
+<section id="GUID-DD40F29F-DF93-536E-9B52-F9B9FF45155D"><title>Avoid
+Excess Indexes</title> <p>Some developers approach SQL-based application
+development with the attitude that indexes never hurt and that the
+more indexes you have, the faster your application will run. This
+is definitely not the case. There is a costs associated with each
+new index you create: </p> <ul>
+<li id="GUID-FD257BF7-F938-54B5-AC03-9536712D6281"><p>Each new index
+takes up additional space in the database file. The more indexes you
+have, the larger your database files will become for the same amount
+of data. </p> </li>
+<li id="GUID-E1B74FB6-246A-5148-AF06-04E1B4B949F1"><p>Every INSERT
+and UPDATE statement modifies both the original table and all indexes
+on that table. So the performance of INSERT and UPDATE decreases linearly
+with the number of indexes. </p> </li>
+<li id="GUID-56AAE2D1-71D6-5A23-8190-B0C80B204DED"><p>Compiling new
+SQL statements using <codeph>Prepare()</codeph> takes longer when
+there are more indexes for the optimizer to choose between. </p> </li>
+<li id="GUID-24B7F7D8-FAA9-5C78-B3C7-B886FA774C0B"><p>Surplus indexes
+give the optimizer more opportunities to make a bad choice. </p> </li>
+</ul> <p>Your policy on indexes should be to avoid them wherever you
+can. Indexes are powerful medicine and can work wonders to improve
+the performance of a program. But just as too many drugs can be worse
+than none at all, so also can too many indexes cause more harm than
+good. </p> <p>When building a new application, a good approach is
+to omit all explicitly declared indexes in the beginning and only
+add indexes as needed to address specific performance problems. </p> <p>Take care to avoid redundant indexes. For example, consider this
+schema: </p> <codeblock id="GUID-89F20101-1628-5783-82B0-2ABE84078C7D" xml:space="preserve">
+CREATE TABLE demo323a(a,b,c);
+CREATE INDEX idx323a1 ON demo323(a);
+CREATE INDEX idx323a2 ON demo323(a,b);
+</codeblock> <p>The idx323a1 index is redundant and can be eliminated.
+Anything that the idx323a1 index can do the idx323a2 index can do
+better. </p> <p>Other redundancies are not quite as apparent as the
+above. Recall that any column or columns that are declared UNIQUE
+or PRIMARY KEY (except for the special case of INTEGER PRIMARY KEY)
+are automatically indexed. So in the following schema: </p> <codeblock id="GUID-2FE7B726-4027-518C-9217-B4BD1ECDA991" xml:space="preserve">
+CREATE TABLE demo323b(x TEXT PRIMARY KEY, y INTEGER UNIQUE);
+CREATE INDEX idx323b1 ON demo323b(x);
+CREATE INDEX idx323b2 ON demo323b(y);
+</codeblock> <p>Both indexes are redundant and can be eliminated with
+no loss in query performance. Occasionally one sees a novice SQL programmer
+use both UNIQUE and PRIMARY KEY on the same column: </p> <codeblock id="GUID-CDE12649-BDB4-58D4-8981-02628BDF5C79" xml:space="preserve">
+CREATE TABLE demo323c(p TEXT UNIQUE PRIMARY KEY, q);
+</codeblock> <p>This has the effect of creating two indexes on the
+“p” column – one for the UNIQUE keywords and another for the PRIMARY
+KEY keyword. Both indexes are identical so clearly one can be omitted.
+A PRIMARY KEY is guaranteed to always be unique so the UNIQUE keyword
+can be removed from the demo323c table definition with no ambiguity
+or loss of functionality. </p> <p>It is not a fatal error to create
+too many indexes or redundant indexes. SQLite will continue to generate
+the correct answers but it may take longer to produce those answers
+and the resulting database files might be a little larger. So for
+best results, keep the number of indexes to a minimum. </p> </section>
+<section id="GUID-9337E315-BB5A-56D0-8319-6C398D26151F"><title>Avoid
+Tables and Indexes with an Excessive Number of Columns</title> <p>SQLite places no arbitrary limits on the number of columns in a table
+or index. There are known commercial applications using SQLite that
+construct tables with tens of thousands of columns each. And these
+applications actually work. </p> <p>However the database engine is
+optimized for the common case of tables with no more than a few dozen
+columns. For best performance you should try to stay in the optimized
+region. Furthermore, we note that relational databases with a large
+number of columns are usually not well normalized. So even apart from
+performance considerations, if you find your design has tables with
+more than a dozen or so columns, you really need to rethink how you
+are building your application. </p> <p>There are a number of places
+in <codeph>Prepare()</codeph> that run in time O(N<sup>2</sup>) where
+N is the number of columns in the table. The constant of proportionality
+is small in these cases so you should not have any problems for N
+of less than one hundred but for N on the order of a thousand, the
+time to run <codeph>Prepare()</codeph> can start to become noticeable. </p> <p>When the bytecode is running and it needs to access the i-th
+column of a table, the values of the previous i-1 columns must be
+accessed first. So if you have a large number of columns, accessing
+the last column can be an expensive operation. This fact also argues
+for putting smaller and more frequently accessed columns early in
+the table. </p> <p>There are certain optimizations that will only
+work if the table has 30 or fewer columns. The optimization that extracts
+all necessary information from an index and never refers to the underlying
+table works this way. So in some cases, keeping the number of columns
+in a table at or below 30 can result in a 2-fold speed improvement. </p> <p>Indexes will only be used if they contain 30 or fewer columns.
+You can put as many columns in an index as you want, but if the number
+is greater than 30, the index will never improve performance and will
+never do anything but take up space in your database file. </p> </section>
+</conbody><related-links>
+<link href="GUID-22844C28-AB5B-5A6F-8863-7269464684B4.dita"><linktext>SQL
+Overview</linktext></link>
+<link href="GUID-78773BCA-ADF6-53E6-AC80-5CB2AE1F8BCC.dita"><linktext>SQL
+Server Guide</linktext></link>
+<link href="GUID-E51836E1-D33E-506C-B75B-19B8E3CC313A.dita"><linktext>SQLite</linktext>
+</link>
+<link href="GUID-1F12E3F5-45B2-55EC-B021-00338277C608.dita"><linktext>SQL
+DB Overview</linktext></link>
+<link href="GUID-43CA02E7-0101-5824-B91B-E15EE20C829A.dita"><linktext>Avoid
+Transient Tables</linktext></link>
+<link href="GUID-49A3419F-D20A-5C5D-B2FF-51724EF37704.dita"><linktext>Prevent
+Datafile Corruption</linktext></link>
+<link href="GUID-B994E6F7-228A-5433-B87F-91857C5D93D6.dita">
+<linktext>SQL Insertion Tips</linktext></link>
+<link href="GUID-4FC23DB7-4758-5DA4-81FF-0DAB169E2757.dita"><linktext>SQL
+Schema Tips</linktext></link>
+<link href="GUID-2A2920E0-5D40-5358-BC0C-8572CEFE078C.dita"><linktext>SQL
+Expressions</linktext></link>
+<link href="GUID-126FCCCC-0E7D-59AE-959A-2F94A7319C4B.dita"><linktext>SQL
+Statement Tips</linktext></link>
+<link href="GUID-ACCCB148-DAF9-59EC-B585-8EF632B9BF04.dita"><linktext>SQL
+Joins</linktext></link>
+<link href="GUID-B7E978C1-45CA-554C-8028-D901B97BA2E0.dita"><linktext> ANALYZE
+Command</linktext></link>
+<link href="GUID-AF5A75D7-0687-546C-87B2-0B7DF7D33217.dita"><linktext> SQL
+WHERE CLause Tips</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C31DA918-8DEA-5816-B0A6-4AE90B06DD0D_d0e210683_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C31DA918-8DEA-5816-B0A6-4AE90B06DD0D_d0e216684_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C33BAB87-9CFA-58F4-95B7-7A05AB529708_d0e257772_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C33BAB87-9CFA-58F4-95B7-7A05AB529708_d0e263783_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C37790B3-967C-489C-8753-0434938CBE2B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C37790B3-967C-489C-8753-0434938CBE2B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,5 +17,5 @@
 interface. </p>
 <p>The following figure shows the relationship between applications, secure
 socket classes, and secure socket plug-ins.</p>
-<fig id="GUID-80DE6518-CDBE-4652-9FE2-1663A1874822"><title>Relationship between applications and secure socket</title><image href="GUID-B913762A-2C87-4218-8D20-EBF88F9756DC_d0e14221_href.png"/></fig>
+<fig id="GUID-80DE6518-CDBE-4652-9FE2-1663A1874822"><title>Relationship between applications and secure socket</title><image href="GUID-B913762A-2C87-4218-8D20-EBF88F9756DC_d0e14320_href.png"/></fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C39CA508-86F7-5B99-9390-56980DD0EFFB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-C39CA508-86F7-5B99-9390-56980DD0EFFB"><title>Lexical conventions</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Resource files obey the following lexical conventions:</p> <ul><li id="GUID-264E846C-AF83-554C-B2D1-097440DC0458"><p>Whitespace, except when enclosed in quotes for strings, is ignored by the compiler.</p> </li> <li id="GUID-6F871557-C810-5FB6-840B-79752D219D19"><p>Both C-style (<codeph>/* */</codeph>) and C++-style (<codeph>//</codeph>) comments are supported.</p> </li> <li id="GUID-35147257-8611-5D39-8B8B-0CA777BEBF24"><p>Strings must be enclosed with double-quotes.</p> </li> <li id="GUID-3805200E-8819-5411-AB09-53F5151D216C"><p>To include a double-quote within a string, enter a double-quote preceded by a backslash. The following resource:</p> <codeblock id="GUID-2B2A9997-0ED7-5395-9235-A32415C04889" xml:space="preserve">RESOURCE SIMPLE quote_example
- {
- string="\"text\"";
- }</codeblock> <p>where <codeph>string</codeph> is of type <codeph>BUF</codeph>, generates the output string <codeph>"text"</codeph>.</p> </li> <li id="GUID-10A87C58-27FA-515D-8D2D-C09A999C85DA"><p>To include a backslash within a string, enter two backslash characters. The following resource:</p> <codeblock id="GUID-B7F09354-DB70-5CB6-97AC-3C8414DCBCCA" xml:space="preserve">RESOURCE SIMPLE backslash_example
- {
- string="\\text\\";
- }</codeblock> <p> generates the output string <codeph>\text\</codeph>.</p> </li> <li id="GUID-40AF99E2-53A7-5B0D-85E6-94FC2FDA7ED0"><p>You can use the syntax <varname>number</varname>, to specify a character by character code. If a Unicode resource is being created, this must be a Unicode character value.</p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C3A3D9CF-4826-4BEB-8778-ECD8E6B6463C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C3A3D9CF-4826-4BEB-8778-ECD8E6B6463C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -43,7 +43,7 @@
 required. </p> <p>The diagrammatic representation of the Image Processor library
 is as follows: </p> <fig id="GUID-BD94B563-020A-4E81-808A-6A5C04AF74B9">
 <desc><p>The architectural relationship diagram for the Image Processor library </p> </desc>
-<image href="GUID-433698C1-C97D-5317-83C0-71A029E362E6_d0e511042_href.png" placement="inline"/>
+<image href="GUID-433698C1-C97D-5317-83C0-71A029E362E6_d0e518504_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Image Processor</title> <p>Image Processor is a high-level
 library and framework. Image Processor encapsulates all the internal processing
Binary file Symbian3/PDK/Source/GUID-C3A8290D-44BA-5AAD-8F0D-745FF3F10E0B_d0e516822_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C3A8290D-44BA-5AAD-8F0D-745FF3F10E0B_d0e524282_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C3B6E5F6-74DC-5C0E-94C8-B4822F4A2EB6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C3B6E5F6-74DC-5C0E-94C8-B4822F4A2EB6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -55,9 +55,9 @@
 a <xref href="GUID-4A98138C-4C68-3399-80E8-25CB41E43D5C.dita"><apiname>NewL()</apiname></xref> function. Call the dedicated
 function, <xref href="GUID-4A98138C-4C68-3399-80E8-25CB41E43D5C.dita"><apiname>CHRMPower::SetBatteryChargingObserver()</apiname></xref>. </p> </section>
 <section><title>Procedure</title> <ol id="GUID-8FD35358-CFCD-5010-AFD8-C277463B2970">
-<li id="GUID-E7A8616C-DA3A-5CC7-831F-3BA977F7C129-GENID-1-12-1-10-1-1-5-1-4-1-5-1-8-1-3-2-2-1"><p><xref href="GUID-047E3462-F806-4C54-9DC5-6B78907CA949.dita">Derive
+<li id="GUID-E7A8616C-DA3A-5CC7-831F-3BA977F7C129-GENID-1-12-1-11-1-1-5-1-4-1-5-1-8-1-3-2-2-1"><p><xref href="GUID-047E3462-F806-4C54-9DC5-6B78907CA949.dita">Derive
 a class from one or more of the above interfaces</xref>. </p> </li>
-<li id="GUID-E7A8616C-DA3A-5CC7-831F-3BA977F7C129-GENID-1-12-1-10-1-1-5-1-4-1-5-1-8-1-3-2-2-2"><p><xref href="GUID-047E3462-F806-4C54-9DC5-6B78907CA949.dita">Implement
+<li id="GUID-E7A8616C-DA3A-5CC7-831F-3BA977F7C129-GENID-1-12-1-11-1-1-5-1-4-1-5-1-8-1-3-2-2-2"><p><xref href="GUID-047E3462-F806-4C54-9DC5-6B78907CA949.dita">Implement
 the appropriate observer functions.</xref></p> </li>
 <li id="GUID-6DF35505-CA49-56AB-94E2-4291E2DFF232"><p><xref href="GUID-BC627588-E8C7-4DDB-8313-7C57E0CCD93B.dita">Create
 a power client using <apiname keyref="CHWRMPower">CHWRMPower::NewL()</apiname> or <apiname keyref="CHWRMPower">NewLC()</apiname>.</xref> </p><p><xref href="GUID-7CF7D29B-14A4-432E-BBB2-E3AF283E45E3.dita">You
Binary file Symbian3/PDK/Source/GUID-C3CE35FF-240E-5385-9088-38EF926ABB7B_d0e390105_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C3CE35FF-240E-5385-9088-38EF926ABB7B_d0e395958_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C3D0BA4A-AEC5-5002-916E-CB3F9FE5AC27_d0e257933_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C3D0BA4A-AEC5-5002-916E-CB3F9FE5AC27_d0e263944_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4461397-04A0-5056-B8A5-8FEFF9AF052C_d0e450936_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4461397-04A0-5056-B8A5-8FEFF9AF052C_d0e456781_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C45FFBDD-37D4-5892-8D13-CFE292264268.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C45FFBDD-37D4-5892-8D13-CFE292264268.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -42,7 +42,7 @@
 UI notifier plug-in which displays the content of the Class 0 SMS message
 on the UI without storing it in the message store (SMS service Inbox). </p> <fig id="GUID-9768EB50-2605-5181-AB53-7376A4B82272">
 <title>              Architecture of the Class 0 plug-in            </title>
-<image href="GUID-EC6C21FB-16E1-57FA-B995-8B0F34B6588A_d0e489112_href.png" placement="inline"/>
+<image href="GUID-EC6C21FB-16E1-57FA-B995-8B0F34B6588A_d0e494933_href.png" placement="inline"/>
 </fig> <dl>
 <dlentry>
 <dt>SMS stack</dt>
@@ -65,7 +65,7 @@
 licensees can override it by writing a new ECom plug-in using the <xref href="GUID-93BFA177-A165-3955-A5BC-D7D35C5EFE49.dita"><apiname>CSmsClass0Base</apiname></xref> exported
 class. For instructions on writing a new ECom plug-in, see the <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECom</xref> guide. </p> <fig id="GUID-89F37A8E-78B2-5BEE-A066-90A186687FCA">
 <title>              Class diagram            </title>
-<image href="GUID-B479BE8B-5CAD-57C2-9E21-DEB9E64E25EE_d0e489187_href.png" placement="inline"/>
+<image href="GUID-B479BE8B-5CAD-57C2-9E21-DEB9E64E25EE_d0e495008_href.png" placement="inline"/>
 </fig> <p> <codeph>void CClass0Sms::DisplayMessageHandler(TDesC8&amp; aSmsMessage,
 TBool aIsCompleteMsg)</codeph>  </p> <table id="GUID-F3506200-AB0D-56EB-9C18-70E83B818ABA">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
@@ -151,7 +151,7 @@
 must be read at the UI side in the same order; that is, <codeph>TInt aStartPos</codeph>, <codeph>TInt
 endPos</codeph>, <xref href="GUID-4B942C06-1BAC-3A21-B3B1-89FB5C51ADA0.dita"><apiname>TBool</apiname></xref> <codeph> aIsLastMessage</codeph>,
 and <xref href="GUID-EA7DEFA4-D4D9-3B2B-86A3-C3FB1A682E61.dita"><apiname>TPtr</apiname></xref> <codeph> aSmsData</codeph>. </p> </section>
-<section id="GUID-EBBDB3ED-B5BD-580C-8869-BA35DBA64F1F-GENID-1-12-1-20-1-1-6-1-6-1-4-1-2-7"><title>Example</title> <p>The
+<section id="GUID-EBBDB3ED-B5BD-580C-8869-BA35DBA64F1F-GENID-1-12-1-21-1-1-6-1-6-1-4-1-2-7"><title>Example</title> <p>The
 following example code shows how to write a UI notifier and extract the Class
 0 SMS message: </p> <p><b>class0smsUInotifier.h</b> </p> <codeblock id="GUID-88CC9E44-3C8C-522B-83D3-658EEEEE928D" xml:space="preserve">// class0smsUInotifier.h
 //
Binary file Symbian3/PDK/Source/GUID-C47514B1-2DD2-5E75-962A-B8E6358E9880_d0e346339_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C47514B1-2DD2-5E75-962A-B8E6358E9880_d0e352290_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e79307_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e83505_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e86800_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e87023_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e90998_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e91221_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e489937_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e495755_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-C4C8395E-F982-4D6A-88D3-28EDC494817F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C4C8395E-F982-4D6A-88D3-28EDC494817F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,8 +18,8 @@
 <context id="GUID-D36C0590-A436-458B-B7A6-F2E8577E26C6">       <p>Requesting
 free RAM asynchronously is recommended as the application is not blocked during
 the method call handling.</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-5-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-5-1-3-3-1"><cmd>Start an asynchronous
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-5-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-5-1-3-3-1"><cmd>Start an asynchronous
 request for a block of memory.</cmd>
 <info><codeblock xml:space="preserve">CMemoryAllocatingObject::StartFunctionalityRequiringAllocationL()
     {
@@ -29,7 +29,7 @@
     }
 </codeblock></info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-9-1-5-1-6-1-6-1-5-1-3-3-2"><cmd>Implement the active
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-9-1-5-1-6-1-6-1-5-1-3-3-2"><cmd>Implement the active
 object and request for free memory.</cmd>
 <info><codeblock xml:space="preserve">void CMemoryRequester::Start(TInt aBytesRequested)
     {
Binary file Symbian3/PDK/Source/GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e207170_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e213171_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4D0F943-442D-5F3B-BB5E-6B52C33ABBC6_d0e210740_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C4D0F943-442D-5F3B-BB5E-6B52C33ABBC6_d0e216741_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 be attached to almost all the items. </p>
 <fig id="GUID-45264A92-D57F-41D5-8337-0701D90C84AE">
 <title>Stylus pop-up menu opened from a list.</title>
-<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e90989_href.png" placement="inline"/>
+<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e95187_href.png" placement="inline"/>
 </fig>
 <p>Stylus pop-up is mainly used to offer dynamic functions, and the functions
 supported by touch-enabled devices. The stylus pop-up menu can also be used
Binary file Symbian3/PDK/Source/GUID-C4EFAB2B-5154-56E0-A4B7-234A5EABB796_d0e39288_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C4EFAB2B-5154-56E0-A4B7-234A5EABB796_d0e43522_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C5103B39-6F67-47E3-938A-32933E75F98E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C5103B39-6F67-47E3-938A-32933E75F98E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,25 +1,24 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C5103B39-6F67-47E3-938A-32933E75F98E" xml:lang="en"><title>C++
-Standard Library (STLport v4)</title><shortdesc>C++ Standard Library is a Symbian platform port of STLport v4.
-It enables applications written using Standard C++ to be ported to Symbian
-platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><b>Notes:</b><ul>
-<li><p>It is recommended that you use the latest version of <xref href="GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita">Standard
-C++ Library (STLport v5)</xref> to take advantage of it's latest features.
-For more information about STLport, see <xref href="http://www.stlport.org/.dita">http://www.stlport.org/</xref>.
-For information about how to migrate to STLport v5, see <xref href="GUID-1910C54E-44E0-4D36-820A-BCD5FFCDA719.dita">Migrating from STLport v4
-to v5</xref>.</p></li>
-<li><p>For more information about Open C++ (C++ Standard Library - STLport
-v4) API reference and examples, see <xref href="http://library.forum.nokia.com/topic/S60_5th_Edition_Cpp_Developers_Library/GUID-02F20077-73B5-4A63-85DB-D909E0ADE01C/html/main.html" scope="external">Forum Nokia Library</xref>.</p></li>
-</ul></p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C5103B39-6F67-47E3-938A-32933E75F98E" xml:lang="en"><title>C++ Standard Library (STLport v4)</title><shortdesc>C++ Standard Library is a Symbian platform port of STLport
+v4. It enables applications written using Standard C++ to be ported
+to Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><b>Notes:</b><ul>
+<li><p>It is recommended that you use the latest version of <xref href="GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita">Standard C++ Library
+(STLport v5)</xref> to take advantage of it's latest features. For
+more information about STLport, see <xref href="http://www.stlport.org/" scope="external">http://www.stlport.org/</xref>. For information about
+how to migrate to STLport v5, see <xref href="GUID-1910C54E-44E0-4D36-820A-BCD5FFCDA719.dita">Migrating from STLport
+v4 to v5</xref>.</p></li>
+<li><p>For more information about Open C++ (C++ Standard Library -
+STLport v4) API reference and examples, see <xref format="html" href="http://library.forum.nokia.com/topic/S60_5th_Edition_Cpp_Developers_Library/GUID-02F20077-73B5-4A63-85DB-D909E0ADE01C/html/main.html" scope="external">Forum Nokia Library</xref>.</p></li>
+</ul></p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C549EC51-D81F-5AEC-80EA-EF83B2D9AF51.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C549EC51-D81F-5AEC-80EA-EF83B2D9AF51.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,6 +22,6 @@
 <p>The following diagram shows a typical mix of free and allocated cells.</p>
 <fig id="GUID-A066C7F2-B6E9-5F64-8A00-F2AC5D16B585">
 <title>Example of the allocated and free cells in a heap</title>
-<image href="GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e342014_href.png" placement="inline"/>
+<image href="GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e347965_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C588B869-6940-42B2-84F9-71467F6A4306_d0e3004_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C588B869-6940-42B2-84F9-71467F6A4306_d0e3014_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C595C1E9-9371-5449-823F-ECEBDE13FB7B_d0e450914_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C595C1E9-9371-5449-823F-ECEBDE13FB7B_d0e456759_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e79143_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e80310_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e83341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e84508_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5C42C02-1C22-5537-B966-0F5F78E4D7BE_d0e332284_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5C42C02-1C22-5537-B966-0F5F78E4D7BE_d0e338256_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5DDFD3F-7778-56D6-A10B-741959206C5F_d0e522374_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5DDFD3F-7778-56D6-A10B-741959206C5F_d0e529834_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5E7D88B-C73D-56D8-A8F4-2393E5EEDC8E_d0e423967_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C5E7D88B-C73D-56D8-A8F4-2393E5EEDC8E_d0e429820_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C5F4CF0F-EC1B-595D-8C95-41891CB5930D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-C5F4CF0F-EC1B-595D-8C95-41891CB5930D"><title>resource</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>resource</codeph> <codeph> [-k] [-v]</codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>This command builds the resource files, bitmaps and application information files for a component by calling the <codeph>RESOURCE</codeph> targets in makefiles generated by <filepath>makmake</filepath>.</p> <p>These resources are created implicitly when <codeph>abld
-          target</codeph> (and thus, <codeph>abld build</codeph>) is called. The resources will not be regenerated if they have later datestamps than their source dependencies.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C5F77A45-EEE9-4190-B240-E9FCCFC15E72.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C5F77A45-EEE9-4190-B240-E9FCCFC15E72.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,8 +12,8 @@
 <task id="GUID-C5F77A45-EEE9-4190-B240-E9FCCFC15E72" xml:lang="en"><title>Running
 Tests Manually</title><shortdesc> You can manually run the tests on <codeph>armv5</codeph> and <codeph>winscw</codeph> platforms
 using the TestExecute tool. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-6-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-6-1-3-1-1"><cmd>Build the ROM image
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-6-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-6-1-3-1-1"><cmd>Build the ROM image
 if you are running the tests on <codeph>armv5</codeph>.</cmd>
 <info>           <p>You can use the following command to build the ROM image:</p><p><userinput>buildrom
  -D_EABI=ARMV5 –DRVCT -DUSE_STRONG_CRYPTOGRAPHY h4hrp techview t_ecom</userinput></p></info>
Binary file Symbian3/PDK/Source/GUID-C60254EC-85B4-52A9-A694-A5F6EA0B1DAF_d0e449876_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C60254EC-85B4-52A9-A694-A5F6EA0B1DAF_d0e455721_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C6086C67-963B-455F-8BA6-58DC568084F0_d0e99781_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C60DAE3D-7FB9-5619-9E5D-476A430705AF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C60DAE3D-7FB9-5619-9E5D-476A430705AF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -72,7 +72,7 @@
 record</p><p>  only. Getting all matches in a database is briefly discussed
 at the end of this</p><p> section. </p> </section>
 
-<section id="GUID-8F3A39B6-6514-5A48-BE2E-7893D7625A9C-GENID-1-12-1-24-1-1-6-1-1-9-1-8-1-8-1-3-3"><p>Now that you have
+<section id="GUID-8F3A39B6-6514-5A48-BE2E-7893D7625A9C-GENID-1-12-1-27-1-1-6-1-1-9-1-8-1-8-1-3-3"><p>Now that you have
 performed a basic database query you can start thinking about more advanced
 querying options. The following will show you how: </p> <ul>
 <li id="GUID-3F4608F9-92E9-52AA-8843-7535688A0D57"><p> <xref href="GUID-2610E11C-26FA-538E-A3E1-34AADA35F20B.dita">Querying
--- a/Symbian3/PDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,263 +1,188 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-C60DC070-572B-5960-B394-550426FDB909" xml:lang="en">
-<title> Advanced Pointer Tutorial</title>
-<shortdesc>This tutorial provides step-by-step instructions and sample
-code to help you write applications using advanced pointers. </shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p> <b>Variant</b>: <xref
-href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
->. <b>Target audience</b>: Application developers. </p>
-<section><title>Required background </title> <p>This topic builds
-on the material in the following topics: </p> <ul>
-<li id="GUID-C4209FBD-3860-5F4B-8458-87D22D483953"><p><xref
-href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced Pointer
-Overview</xref>  </p> </li>
-<li id="GUID-9D3C3B31-F43A-5201-A1EC-A1F2848CFF43"><p><xref
-href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita">Advanced Pointer
-States and Event Communication</xref>  </p> </li>
-</ul> </section>
-<section><title>Using advanced pointers</title> <p>This topic covers
-the following: </p> <ul>
-<li id="GUID-C3AD43AA-09C0-5BA2-8496-5B87D40C89F5"><p><xref
-href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"
->Enabling multiple pointers in a window</xref>  </p> </li>
-<li id="GUID-177323F2-55C6-56D9-B3D2-A8DDACF69E10"><p><xref
-href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"
->Getting Z coordinates from TPointerEvent</xref>  </p> </li>
-<li id="GUID-91CEA92C-A692-5853-96F0-625A76B7DC8D"><p><xref
-href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"
-> Pinch zooming</xref>  </p> </li>
-</ul> </section>
-<section id="GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"><title>Enabling
-multiple pointers in a window</title> <ol
-id="GUID-210D17A8-4869-5F9B-B71C-672101AC591C">
-<li id="GUID-81A2AC5C-7837-5216-8F47-FC5959C27522"><p> <xref
-href="GUID-637F82AF-0CF9-3C85-834D-7C1A0866DF87.dita"><apiname>RWindow</apiname
-></xref> provides a handle to a standard window. Call <codeph>RWindow</codeph
-> to create an instance of a window. </p> <codeblock
-id="GUID-0E31C3F6-3719-5F16-9F74-C405850604B8" xml:space="preserve"
->
-RWindow window(ws);
-
-User::LeaveIfError(window.Construct(wg, reinterpret_cast&lt;TUint32>(&amp;wg) + 1));
-</codeblock> </li>
-<li id="GUID-B67D3702-1A8F-5C6A-AB0F-FEA7C4D04A07"><p>Call <xref
-href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-05293539-F1B0-3C7D-BB14-3FD42F23D5C8"
-><apiname>RWindow::EnableAdvancedPointers()</apiname></xref> to enable
-advanced pointers. Then call <xref
-href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita#GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34/GUID-4E02165A-DFCC-3D18-BB18-18726B28E90A"
-><apiname>RWindowBase::Activate()</apiname></xref> to display the
-window and enable the window to receive events. <xref
-href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname
-></xref> inherits from <xref
-href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname
-></xref>, so you can call the <codeph>Activate()</codeph> function
-on <codeph>RWindow</codeph>. </p> <codeblock
-id="GUID-DB2FB570-2BB0-5C5F-9E4F-076D6A0E469E" xml:space="preserve"
->
-window.EnableAdvancedPointers();
-window.Activate();
-</codeblock> <p>When an application needs to receive advanced pointer
-events in a window, it must call <codeph>RWindowBase::EnableAdvancedPointers()</codeph
-> for the window <i>before</i> it is activated. </p> <p>If advanced
-pointers are not enabled f<?Pub Caret?>or a window, it receives only
-standard <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"
-><apiname>TPointerEvent</apiname></xref> information from a single
-pointer with no pressure and proximity data. The single pointer environment
-rules describe the way in which pointer events coming from many pointers
-in the multiple pointer model are transformed into events of one pointer.
-They are necessary to ensure that old single-pointer applications
-work in a multiple pointer environment intuitively and as expected
-by the user. </p> <p>However, the new <codeph>TPointerEvent</codeph
-> types, <xref href="GUID-239D0A8B-2759-321D-AD48-976E80192239.dita"
-><apiname>EEnterCloseProximity</apiname></xref>, <xref
-href="GUID-8C6264B4-5E19-33A7-92B0-BB79C871BEC7.dita"><apiname>EExitCloseProximity</apiname
-></xref>, <xref href="GUID-F02DB96E-1541-3223-9B7B-79D45840DB7B.dita"
-><apiname>EEnterHighPressure</apiname></xref> and <xref
-href="GUID-15B5991C-B075-3110-B0A4-540EC282AA56.dita"><apiname>EExitHighPressure</apiname
-></xref>, are delivered to all windows, even to those that do not
-enable advanced pointers. </p> </li>
-</ol> </section>
-<section id="GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"><title>Getting
-Z coordinates from TPointerEvent</title> <ol
-id="GUID-4CC2271D-1798-51B3-9A9D-E7E0B9A33DAE">
-<li id="GUID-184B5B63-4EFC-55CD-8D1F-E015EEBACBE2"><p>Call <xref
-href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita#GUID-1FFA0073-3D83-388E-A824-08C31F90CC54/GUID-E961DA4D-AD38-31F0-88DD-A07D36346DCB"
-><apiname>TPointerEvent::AdvancedPointerEvent()</apiname></xref> on
-a <codeph>TPointerEvent</codeph> to return a pointer to a <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname
-></xref>. </p> <codeblock id="GUID-6E81680A-3070-546B-B575-49EA9E34FAF9"
-xml:space="preserve">
-TZType aZType;
-TPointerEvent&amp; aPointerEvent;
-TInt* aZ; 
-TInt* aPoint3D;
-
-TAdvancedPointerEvent *advancedP = aPointerEvent.AdvancedPointerEvent();
-</codeblock> <p> <codeph>TPointerEvent</codeph> is a struct that contains
-details of a pointer event. <codeph>TZType</codeph> is a struct provided
-by the programmer containing members to hold proximity, pressure,
-and "proximity and pressure" data. </p> </li>
-<li id="GUID-ABA8FA09-5F57-51BC-8CAE-43649B5ED6D3"><p>Now we need
-to test whether the pointer event contains advanced pointer data.
-If it is not an advanced pointer, the code leaves. </p> <p>If it is
-an advanced pointer, we call functions to detect proximity, pressure,
-"proximity and pressure" data and coordinates. </p> <codeblock
-id="GUID-DF109643-2564-51A0-B0F6-33BF4DA1F6E3" xml:space="preserve"
->
-if(!advancedP)
-    {
-    // The TPointerEvent isn't an instance of TAdvancedPointerEvent
-    User::Leave(KErrArgument);
-    }
-
-switch(aZType)
-    {
-    case EZTypeProximity:
-        aZ = advancedP->Proximity();
-        aPoint3D = advancedP->Proximity3D(); 
-        break;
-    case EZTypePressure:
-        aZ = advancedP->Pressure();
-        aPoint3D = advancedP->Pressure3D();
-        break;
-    case EZTypeProximityAndPressure:
-        aZ = advancedP->ProximityAndPressure();
-        aPoint3D = advancedP->ProximityAndPressure3D();
-        break;
-    default: 
-        User::Leave(KErrArgument);
-        break;
-    }
-</codeblock> <ul>
-<li id="GUID-40C01884-AC86-5882-935D-2EC2E27C9004"><p> <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-0ED4B1CC-0655-3246-8645-AAC9E0C27298"
-><apiname>TAdvancedPointerEvent::Proximity()</apiname></xref> returns
-the proximity. </p> </li>
-<li id="GUID-16A9A86B-A837-5E43-BB3A-F5A04A7F4552"><p> <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-15DEBFBF-7B7D-3FCF-9929-C973824A5FD3"
-><apiname>TAdvancedPointerEvent::Pressure()</apiname></xref> returns
-the pressure. </p> </li>
-<li id="GUID-3E614890-C317-596E-A5B9-FD76426DBD12"><p> <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"
-><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref
-> returns the proximity and pressure combined. </p> </li>
-<li id="GUID-6F62C0D1-FAE4-5F8F-B451-68ABA404A369"><p> <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-E5AA7737-D217-3FDE-9E4D-AAA7F5D2C300"
-><apiname>TAdvancedPointerEvent:: Position3D()</apiname></xref> returns
-the proximity and the X, Y and Z coordinates. </p> </li>
-<li id="GUID-5AD1811D-BCBF-5A44-B6E7-EB71BF254BCA"><p> <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-2F30A8F5-75BA-3FE3-84B7-3C772ED75857"
-><apiname>TAdvancedPointerEvent::Pressure3D()</apiname></xref> returns
-the pressure and the X and Y coordinates. </p> </li>
-</ul> <p>Proximity is <i>always</i> negative and pressure is <i>always</i
-> positive. Internally they are combined together as a Z coordinate.
-When Z > 0, the proximity is 0 and the Z value represents the pressure.
-When Z &lt; 0, the pressure is 0 and the Z value represents the proximity.
-Some APIs use only a Z coordinate (such as the threshold getters and
-setters and <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"
-><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref
->). In these, the Z coordinate is interpreted in terms of pressure
-and proximity. </p> </li>
-</ol> <fig id="GUID-7A49B143-5458-5916-B937-55D98B77BB2C">
-<title> Relationships between the pointer proximity, pressure and
-Z              coordinate            </title>
-<image
-href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e241047_href.png"
-placement="inline"></image></fig> </section>
-<section id="GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"><title>Pinch
-zooming</title> <p>This example shows an easy way to pinch zoom an
-image when the screen receives pointer events from two pointers. There
-are two functions in this code that must be implemented by the programmer: <codeph
->BitmapCoordinates()</codeph> and <codeph>MoveBitmap()</codeph>. They
-are not included in the example because they involve complex calculations
-that are not related to advanced pointers. </p> <p>The high-level
-steps to perform pinch zooming are: </p> <ol
-id="GUID-AEF3917C-AAFE-5C25-9609-396D08478AC0">
-<li id="GUID-7839E665-C4E1-59C8-BA89-22A62615EFA3"><p>Define the coordinates,
-equivalent to the given on-screen coordinates. In the code example,
-this is done using the function <codeph>BitmapCoordinates()</codeph
->. </p> </li>
-<li id="GUID-FC4B1BDA-8120-53C9-9C88-BEFEF1AD54B4"><p>Define the ID
-of the pointer by using <xref
-href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-67593D7E-CE40-303F-B847-81D6FC0578B1"
-><apiname>TAdvancedPointerEvent::PointerNumber()</apiname></xref>.
-If the device can handle two pointers (two fingers) at the same time,
-their numbers are 0 and 1. The pointer number enables you to distinguish
-a given pointer from other pointers. </p> </li>
-<li id="GUID-1E8F7D23-EEAD-5EA5-8863-276076D6B54E"><p>For each pointer
-assign its coordinates to a local variable. We assume there are only
-two pointers handled by the system here. </p> </li>
-<li id="GUID-E44B3D9B-560A-5959-996D-A63CBD4C3786"><p>Use the <codeph
->MoveBitmap()</codeph> function to achieve the zoom effect. </p> <codeblock
-id="GUID-D85CCFDD-8F65-530A-ACD7-93DD1D435FC6" xml:space="preserve"
->
-/**
-Receives pointer events from two pointers to perform Pinch Zoom of the image.
-Function will finish when EButton1Up is received for any of the pointers.
-@param aPointer1    Coordinates of pointer number 1 when zoom is started
-@param aPointer2    Coordinates of pointer number 2 when zoom is started
-*/
-
-void PinchZoom(TPoint aPointer1, TPoint aPointer2)
-    {
-    TPoint actualP1 = aPointer1;
-    TPoint actualP2 = aPointer2;
-    
-    // translate on-screen pointer coordinates to coordinates of displayed bitmap
-    TPoint bitmapCatching1 = BitmapCoordinates(aPointer1);
-    TPoint bitmapCatching2 = BitmapCoordinates(aPointer2);
-    
-    TBool repaint = EFalse;
-                                
-    while (ETrue)
-        {
-        TAdvancedPointerEvent event = GetNextPointerEvent();
-        
-        if (event.iType == TPointerEvent::EDrag)
-            { 
-            if (event.PointerNumber() == 1)
-                { 
-                actualP1 = event.iPosition;
-                repaint = ETrue;
-                }
-            else if (event.PointerNumber() == 2)
-                {
-                actualP2 = event.iPosition;
-                repaint = ETrue;
-                }
-            }
-        else if (event.iType == TPointerEvent::EButton1Up)
-            {
-            break;
-            }
-        
-        if (repaint)
-            {
-            // move bitmap on the screen in the way that
-            // bitmapCatching1 point of the bitmap will be displayed at actualP1 screen coordinate,
-            // bitmapCatching2 point of the bitmap will be displayed at actualP2 screen coordinate.
-            MoveBitmap(bitmapCatching1, actualP1, bitmapCatching2, actualP2);
-            repaint = EFalse;
-            }
-        }
-    }
-</codeblock> </li>
-</ol> </section>
-</conbody>
-<related-links>
-<link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext
->Advanced Pointer                 Overview</linktext></link>
-<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext
->Advanced Pointer States and                 Event Communication</linktext>
-</link>
-</related-links>
-</concept>
-<?Pub *0000013536?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C60DC070-572B-5960-B394-550426FDB909" xml:lang="en"><title> Advanced Pointer Tutorial</title><shortdesc>This tutorial provides step-by-step instructions and sample
+code to help you write applications using advanced pointers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p>
+<section id="GUID-372AE50A-22BF-488F-BCFB-9B9A734C1D79"><title>Required background </title> <p>This topic builds
+on the material in the following topics: </p> <ul>
+<li id="GUID-C4209FBD-3860-5F4B-8458-87D22D483953"><p><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced Pointer
+Overview</xref>  </p> </li>
+<li id="GUID-9D3C3B31-F43A-5201-A1EC-A1F2848CFF43"><p><xref href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita">Advanced Pointer
+States and Event Communication</xref>  </p> </li>
+</ul> </section>
+<section id="GUID-1C0E6832-C5BA-49EE-85E7-02801488CE8A"><title>Using advanced pointers</title> <p>This topic covers
+the following: </p> <ul>
+<li id="GUID-C3AD43AA-09C0-5BA2-8496-5B87D40C89F5"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC">Enabling multiple pointers in a window</xref>  </p> </li>
+<li id="GUID-177323F2-55C6-56D9-B3D2-A8DDACF69E10"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F">Getting Z coordinates from TPointerEvent</xref>  </p> </li>
+<li id="GUID-91CEA92C-A692-5853-96F0-625A76B7DC8D"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"> Pinch zooming</xref>  </p> </li>
+</ul> </section>
+<section id="GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"><title>Enabling
+multiple pointers in a window</title> <ol id="GUID-210D17A8-4869-5F9B-B71C-672101AC591C">
+<li id="GUID-81A2AC5C-7837-5216-8F47-FC5959C27522"><p> <xref href="GUID-637F82AF-0CF9-3C85-834D-7C1A0866DF87.dita"><apiname>RWindow</apiname></xref> provides
+a handle to a standard window. Call <codeph>RWindow</codeph> to create
+an instance of a window. </p> <codeblock id="GUID-0E31C3F6-3719-5F16-9F74-C405850604B8" xml:space="preserve">
+RWindow window(ws);
+
+User::LeaveIfError(window.Construct(wg, reinterpret_cast&lt;TUint32&gt;(&amp;wg) + 1));
+</codeblock> </li>
+<li id="GUID-B67D3702-1A8F-5C6A-AB0F-FEA7C4D04A07"><p>Call <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-05293539-F1B0-3C7D-BB14-3FD42F23D5C8"><apiname>RWindow::EnableAdvancedPointers()</apiname></xref> to enable advanced pointers.
+Then call <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita#GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34/GUID-4E02165A-DFCC-3D18-BB18-18726B28E90A"><apiname>RWindowBase::Activate()</apiname></xref> to display the
+window and enable the window to receive events. <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname></xref> inherits from <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname></xref>, so you can call the <codeph>Activate()</codeph> function on <codeph>RWindow</codeph>. </p> <codeblock id="GUID-DB2FB570-2BB0-5C5F-9E4F-076D6A0E469E" xml:space="preserve">
+window.EnableAdvancedPointers();
+window.Activate();
+</codeblock> <p>When an application needs to receive advanced pointer
+events in a window, it must call <codeph>RWindowBase::EnableAdvancedPointers()</codeph> for the window <i>before</i> it is activated. </p> <p>If advanced
+pointers are not enabled for a window, it receives only standard <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> information from a single pointer with no
+pressure and proximity data. The single pointer environment rules
+describe the way in which pointer events coming from many pointers
+in the multiple pointer model are transformed into events of one pointer.
+They are necessary to ensure that old single-pointer applications
+work in a multiple pointer environment intuitively and
+as expected by the user. </p> <p>However, the new <codeph>TPointerEvent</codeph> types, <xref href="GUID-239D0A8B-2759-321D-AD48-976E80192239.dita"><apiname>EEnterCloseProximity</apiname></xref>, <xref href="GUID-8C6264B4-5E19-33A7-92B0-BB79C871BEC7.dita"><apiname>EExitCloseProximity</apiname></xref>, <xref href="GUID-F02DB96E-1541-3223-9B7B-79D45840DB7B.dita"><apiname>EEnterHighPressure</apiname></xref> and <xref href="GUID-15B5991C-B075-3110-B0A4-540EC282AA56.dita"><apiname>EExitHighPressure</apiname></xref>, are delivered to all windows, even to those that do not enable
+advanced pointers. </p> </li>
+</ol> </section>
+<section id="GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"><title>Getting
+Z coordinates from TPointerEvent</title> <ol id="GUID-4CC2271D-1798-51B3-9A9D-E7E0B9A33DAE">
+<li id="GUID-184B5B63-4EFC-55CD-8D1F-E015EEBACBE2"><p>Call <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita#GUID-1FFA0073-3D83-388E-A824-08C31F90CC54/GUID-E961DA4D-AD38-31F0-88DD-A07D36346DCB"><apiname>TPointerEvent::AdvancedPointerEvent()</apiname></xref> on a <codeph>TPointerEvent</codeph> to return a pointer to a <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref>. </p> <codeblock id="GUID-6E81680A-3070-546B-B575-49EA9E34FAF9" xml:space="preserve">
+TZType aZType;
+TPointerEvent&amp; aPointerEvent;
+TInt* aZ; 
+TInt* aPoint3D;
+
+TAdvancedPointerEvent *advancedP = aPointerEvent.AdvancedPointerEvent();
+</codeblock> <p> <codeph>TPointerEvent</codeph> is a struct that contains
+details of a pointer event. <codeph>TZType</codeph> is a struct provided
+by the programmer containing members to hold proximity, pressure,
+and "proximity and pressure" data. </p> </li>
+<li id="GUID-ABA8FA09-5F57-51BC-8CAE-43649B5ED6D3"><p>Now we need
+to test whether the pointer event contains advanced pointer data.
+If it is not an advanced pointer, the code leaves. </p> <p>If it is
+an advanced pointer, we call functions to detect proximity, pressure,
+"proximity and pressure" data and coordinates. </p> <codeblock id="GUID-DF109643-2564-51A0-B0F6-33BF4DA1F6E3" xml:space="preserve">
+if(!advancedP)
+    {
+    // The TPointerEvent isn't an instance of TAdvancedPointerEvent
+    User::Leave(KErrArgument);
+    }
+
+switch(aZType)
+    {
+    case EZTypeProximity:
+        aZ = advancedP-&gt;Proximity();
+        aPoint3D = advancedP-&gt;Proximity3D(); 
+        break;
+    case EZTypePressure:
+        aZ = advancedP-&gt;Pressure();
+        aPoint3D = advancedP-&gt;Pressure3D();
+        break;
+    case EZTypeProximityAndPressure:
+        aZ = advancedP-&gt;ProximityAndPressure();
+        aPoint3D = advancedP-&gt;ProximityAndPressure3D();
+        break;
+    default: 
+        User::Leave(KErrArgument);
+        break;
+    }
+</codeblock> <ul>
+<li id="GUID-40C01884-AC86-5882-935D-2EC2E27C9004"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-0ED4B1CC-0655-3246-8645-AAC9E0C27298"><apiname>TAdvancedPointerEvent::Proximity()</apiname></xref> returns the proximity. </p> </li>
+<li id="GUID-16A9A86B-A837-5E43-BB3A-F5A04A7F4552"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-15DEBFBF-7B7D-3FCF-9929-C973824A5FD3"><apiname>TAdvancedPointerEvent::Pressure()</apiname></xref> returns the pressure. </p> </li>
+<li id="GUID-3E614890-C317-596E-A5B9-FD76426DBD12"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref> returns the proximity and pressure combined. </p> </li>
+<li id="GUID-6F62C0D1-FAE4-5F8F-B451-68ABA404A369"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-E5AA7737-D217-3FDE-9E4D-AAA7F5D2C300"><apiname>TAdvancedPointerEvent::
+Position3D()</apiname></xref> returns the proximity and the X, Y and Z coordinates. </p> </li>
+<li id="GUID-5AD1811D-BCBF-5A44-B6E7-EB71BF254BCA"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-2F30A8F5-75BA-3FE3-84B7-3C772ED75857"><apiname>TAdvancedPointerEvent::Pressure3D()</apiname></xref> returns the pressure and the X and Y coordinates. </p> </li>
+</ul> <p>Proximity is <i>always</i> negative and pressure is <i>always</i> positive. Internally they are combined together as a Z coordinate.
+When Z &gt; 0, the proximity is 0 and the Z value represents the pressure.
+When Z &lt; 0, the pressure is 0 and the Z value represents the proximity.
+Some APIs use only a Z coordinate (such as the threshold getters and
+setters and <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref>). In these, the Z coordinate is interpreted in terms of pressure
+and proximity. </p> </li>
+</ol> <fig id="GUID-7A49B143-5458-5916-B937-55D98B77BB2C">
+<title> Relationships between the pointer proximity, pressure and
+Z              coordinate            </title>
+<image href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e247058_href.png" placement="inline"/>
+</fig> </section>
+<section id="GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"><title>Pinch
+zooming</title> <p>This example shows an easy way to pinch zoom an
+image when the screen receives pointer events from two pointers. There
+are two functions in this code that must be implemented by the programmer: <codeph>BitmapCoordinates()</codeph> and <codeph>MoveBitmap()</codeph>. They
+are not included in the example because they involve complex calculations
+that are not related to advanced pointers. </p> <p>The high-level
+steps to perform pinch zooming are: </p> <ol id="GUID-AEF3917C-AAFE-5C25-9609-396D08478AC0">
+<li id="GUID-7839E665-C4E1-59C8-BA89-22A62615EFA3"><p>Define the coordinates,
+equivalent to the given on-screen coordinates. In the code example,
+this is done using the function <codeph>BitmapCoordinates()</codeph>. </p> </li>
+<li id="GUID-FC4B1BDA-8120-53C9-9C88-BEFEF1AD54B4"><p>Define the ID
+of the pointer by using <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-67593D7E-CE40-303F-B847-81D6FC0578B1"><apiname>TAdvancedPointerEvent::PointerNumber()</apiname></xref>. If the device can handle two pointers (two fingers) at the same
+time, their numbers are 0 and 1. The pointer number enables you to
+distinguish a given pointer from other pointers. </p> </li>
+<li id="GUID-1E8F7D23-EEAD-5EA5-8863-276076D6B54E"><p>For each pointer
+assign its coordinates to a local variable. We assume there are only
+two pointers handled by the system here. </p> </li>
+<li id="GUID-E44B3D9B-560A-5959-996D-A63CBD4C3786"><p>Use the <codeph>MoveBitmap()</codeph> function to achieve the zoom effect. </p> <codeblock id="GUID-D85CCFDD-8F65-530A-ACD7-93DD1D435FC6" xml:space="preserve">
+/**
+Receives pointer events from two pointers to perform Pinch Zoom of the image.
+Function will finish when EButton1Up is received for any of the pointers.
+@param aPointer1    Coordinates of pointer number 1 when zoom is started
+@param aPointer2    Coordinates of pointer number 2 when zoom is started
+*/
+
+void PinchZoom(TPoint aPointer1, TPoint aPointer2)
+    {
+    TPoint actualP1 = aPointer1;
+    TPoint actualP2 = aPointer2;
+    
+    // translate on-screen pointer coordinates to coordinates of displayed bitmap
+    TPoint bitmapCatching1 = BitmapCoordinates(aPointer1);
+    TPoint bitmapCatching2 = BitmapCoordinates(aPointer2);
+    
+    TBool repaint = EFalse;
+                                
+    while (ETrue)
+        {
+        TAdvancedPointerEvent event = GetNextPointerEvent();
+        
+        if (event.iType == TPointerEvent::EDrag)
+            { 
+            if (event.PointerNumber() == 1)
+                { 
+                actualP1 = event.iPosition;
+                repaint = ETrue;
+                }
+            else if (event.PointerNumber() == 2)
+                {
+                actualP2 = event.iPosition;
+                repaint = ETrue;
+                }
+            }
+        else if (event.iType == TPointerEvent::EButton1Up)
+            {
+            break;
+            }
+        
+        if (repaint)
+            {
+            // move bitmap on the screen in the way that
+            // bitmapCatching1 point of the bitmap will be displayed at actualP1 screen coordinate,
+            // bitmapCatching2 point of the bitmap will be displayed at actualP2 screen coordinate.
+            MoveBitmap(bitmapCatching1, actualP1, bitmapCatching2, actualP2);
+            repaint = EFalse;
+            }
+        }
+    }
+</codeblock> </li>
+</ol> </section>
+</conbody><related-links>
+<link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext>Advanced
+Pointer                 Overview</linktext></link>
+<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext>Advanced
+Pointer States and                 Event Communication</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C64D200D-32A9-5F50-ACF1-4D93DDD0B0A4_d0e547818_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C64D200D-32A9-5F50-ACF1-4D93DDD0B0A4_d0e555274_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C65D4AB3-4F4B-5005-A9C4-96807EDB3EEC_d0e470190_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C65D4AB3-4F4B-5005-A9C4-96807EDB3EEC_d0e476026_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,5 +12,5 @@
 <concept xml:lang="en" id="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7"><title>Network Gateway Overview</title><shortdesc>The Network Gateway handles interactions between the LBS subsystem and the network. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Network Gateway handles interactions between the LBS subsystem and a network. It communicates with a network using a Network Protocol Module ECom plug-in. </p> </section> <section><title>Required background</title> <p>Knowledge of <xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS architecture</xref> is required. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Network Protocol Module</dt> <dd><p>A Network Protocol Module is an ECOM plug-in that is loaded by the Network Gateway to support a location services architecture and network protocol. Symbian provides two Network Protocol Modules: the SUPL Protocol Module and the Privacy Protocol Module. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>The Network Gateway process is used by the LBS subsystem to communicate with a network. The Network Gateway can load up to two Network Protocol Modules, one for use in the home network and one when the device user is roaming outside of the home network. </p> <p>Figure 1 shows the Network Gateway and the Symbian SUPL Protocol Module. </p> <fig id="GUID-3308A55D-6308-53EB-BA9F-08492C572F35"><title>
              Figure 1. LBS Network Gateway and Network Protocol Module ECOM
              plug-in. 
-          </title> <image href="GUID-5B1D5561-CC48-5FAD-9DC6-9E89A757288D_d0e448876_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Network Gateway is an executable that does not export any APIs. It loads a Protocol Module ECom plug-in that implements the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref>. </p> </section> <section><title>Typical uses</title> <p>The Network Gateway performs the following functions: </p> <ul><li id="GUID-9D948F83-6BA3-5DD1-836A-41B5B774B69A"><p>Receiving location requests from the network (MT-LR, Emergency MT-LR and NI-LR) and forwarding them to the Network Request Handler Server. </p> </li> <li id="GUID-864F5F4C-C474-5DD9-9DF0-C13F5C93E549"><p>Sending a calculated position to the network (for terminal based mode and autonomous mode GPS). </p> </li> <li id="GUID-49FE145D-3F8E-5271-BFA5-5EA7B4C0C39E"><p>Sending GPS measurements to the network and receiving the calculated device position (for terminal assisted mode or terminal assisted mode). </p> </li> <li id="GUID-4CF3EB9E-24AC-5E4D-B381-5E89C4493A29"><p>Sending requests for A-GPS assistance data to the network and receiving the response (for terminal based mode or terminal assisted mode). </p> </li> <li id="GUID-0E961FA3-2052-5154-812F-F1A66C1B716F"><p>Sending location to a remote party over the network (MO-LR transmit to third party). </p> </li> </ul> </section> </conbody><related-links><link href="GUID-01C03839-C88B-5FC3-9E0E-686415888B63.dita"><linktext>Network
+          </title> <image href="GUID-5B1D5561-CC48-5FAD-9DC6-9E89A757288D_d0e454721_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Network Gateway is an executable that does not export any APIs. It loads a Protocol Module ECom plug-in that implements the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref>. </p> </section> <section><title>Typical uses</title> <p>The Network Gateway performs the following functions: </p> <ul><li id="GUID-9D948F83-6BA3-5DD1-836A-41B5B774B69A"><p>Receiving location requests from the network (MT-LR, Emergency MT-LR and NI-LR) and forwarding them to the Network Request Handler Server. </p> </li> <li id="GUID-864F5F4C-C474-5DD9-9DF0-C13F5C93E549"><p>Sending a calculated position to the network (for terminal based mode and autonomous mode GPS). </p> </li> <li id="GUID-49FE145D-3F8E-5271-BFA5-5EA7B4C0C39E"><p>Sending GPS measurements to the network and receiving the calculated device position (for terminal assisted mode or terminal assisted mode). </p> </li> <li id="GUID-4CF3EB9E-24AC-5E4D-B381-5E89C4493A29"><p>Sending requests for A-GPS assistance data to the network and receiving the response (for terminal based mode or terminal assisted mode). </p> </li> <li id="GUID-0E961FA3-2052-5154-812F-F1A66C1B716F"><p>Sending location to a remote party over the network (MO-LR transmit to third party). </p> </li> </ul> </section> </conbody><related-links><link href="GUID-01C03839-C88B-5FC3-9E0E-686415888B63.dita"><linktext>Network
                 Adaptation</linktext> </link> <link href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita"><linktext>Network Protocol Module API </linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-C6DDF01D-DF54-5C65-9FAC-D3693D30819F_d0e437117_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C6DDF01D-DF54-5C65-9FAC-D3693D30819F_d0e442962_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C6E29524-AD59-4EBB-9004-13F731FA1F3C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C6E29524-AD59-4EBB-9004-13F731FA1F3C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,7 +62,7 @@
 such as an incoming call, occurs when a menu list is open, the list is cancelled
 and the new event takes control. </p><fig id="GUID-C9A7253A-5120-4EE9-88D6-3772149F9575">
 <title>Menu list</title>
-<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e88713_href.png" placement="inline"/>
+<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e92911_href.png" placement="inline"/>
 </fig><p>The API to use for menu lists is the <xref format="html" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html" scope="peer">Lists API</xref>. For implementation information, see <xref format="htrml" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html#Lists_API_Specification.topic3" scope="peer">Using the Lists API</xref>.</p></entry>
 </row>
 </tbody>
--- a/Symbian3/PDK/Source/GUID-C6EA2CFE-EA35-5B05-8103-B06A87BE1828.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C6EA2CFE-EA35-5B05-8103-B06A87BE1828.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -54,8 +54,8 @@
         };
 </codeblock> <p>The following diagram shows the flat classes and their relationships. </p> <fig id="GUID-1FB1AF83-3A53-564E-9997-5C4AC4AFB4EA"><title>
              Flat data type 
-          </title> <image href="GUID-10936B26-D4F3-5EC6-BBBA-009AA27045F7_d0e608580_href.jpg" placement="inline"/></fig> <table id="GUID-80FCAA03-DF25-5F0C-9958-3CEBF739AEA5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-1ABB0CFA-A678-37F4-A315-D99C9FCC5321.dita"><apiname>TMTPTypeFlatBase </apiname></xref>  </p> </entry> <entry><p>The base class of MTP flat data types. </p> </entry> </row> <row><entry><p> <xref href="GUID-22FA2C54-7FC1-3973-AE71-A43386D44D9A.dita"><apiname>TMTPTypeEvent</apiname></xref>  </p> </entry> <entry><p>Represents MTP event dataset. </p> </entry> </row> <row><entry><p> <xref href="GUID-E6DEAAFF-8F6D-3AED-AD94-ECF4B0C72E89.dita"><apiname>TMTPTypeRequest</apiname></xref>  </p> </entry> <entry><p>Represents MTP operation request dataset. </p> </entry> </row> <row><entry><p> <xref href="GUID-E828F5A9-AFFA-3452-B5C3-7FFD4C4422AF.dita"><apiname>TMTPTypeResponse</apiname></xref>  </p> </entry> <entry><p>Represents MTP operation response dataset. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b> Complex data type</b> –a variable-length contiguous array or string. The following diagram shows the complex classes and their relationships. </p> <fig id="GUID-147EF226-9C6B-523B-BB92-7FE9395C3639"><title>
+          </title> <image href="GUID-10936B26-D4F3-5EC6-BBBA-009AA27045F7_d0e647742_href.jpg" placement="inline"/></fig> <table id="GUID-80FCAA03-DF25-5F0C-9958-3CEBF739AEA5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-1ABB0CFA-A678-37F4-A315-D99C9FCC5321.dita"><apiname>TMTPTypeFlatBase </apiname></xref>  </p> </entry> <entry><p>The base class of MTP flat data types. </p> </entry> </row> <row><entry><p> <xref href="GUID-22FA2C54-7FC1-3973-AE71-A43386D44D9A.dita"><apiname>TMTPTypeEvent</apiname></xref>  </p> </entry> <entry><p>Represents MTP event dataset. </p> </entry> </row> <row><entry><p> <xref href="GUID-E6DEAAFF-8F6D-3AED-AD94-ECF4B0C72E89.dita"><apiname>TMTPTypeRequest</apiname></xref>  </p> </entry> <entry><p>Represents MTP operation request dataset. </p> </entry> </row> <row><entry><p> <xref href="GUID-E828F5A9-AFFA-3452-B5C3-7FFD4C4422AF.dita"><apiname>TMTPTypeResponse</apiname></xref>  </p> </entry> <entry><p>Represents MTP operation response dataset. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b> Complex data type</b> –a variable-length contiguous array or string. The following diagram shows the complex classes and their relationships. </p> <fig id="GUID-147EF226-9C6B-523B-BB92-7FE9395C3639"><title>
              Complex data type 
-          </title> <image href="GUID-4666DC80-EF7D-5761-9B6B-B2D14BDAB762_d0e608674_href.jpg" placement="inline"/></fig> <table id="GUID-E7D6EC73-7607-55E1-BBFD-8477F4A133B5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-FF497532-C4AD-387D-87D5-3898EE6E6691.dita"><apiname>CMTPTypeArray</apiname></xref>  </p> </entry> <entry><p>Represents MTP array data type. </p> </entry> </row> <row><entry><p> <xref href="GUID-E9359E92-6521-3438-B32B-0285B4863A61.dita"><apiname>CMTPTypeFile</apiname></xref>  </p> </entry> <entry><p>Represents MTP binary object data type. </p> </entry> </row> <row><entry><p> <xref href="GUID-415619B7-BAC7-31BC-BA18-5A33CCA79F4B.dita"><apiname>CMTPTypeString</apiname></xref>  </p> </entry> <entry><p>Represents MTP string data type. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b> Compound data type</b> –a mixed sequence of simple, flat, complex and compound types. </p> <p>Compound classes were initially derived from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. The derived class can represent a list dataset or an element of a list dataset. For example, <xref href="GUID-DF980D13-2A8D-3863-A45D-4E44AD04E78A.dita"><apiname>CMTPTypeObjectPropListElement</apiname></xref> is an element of <xref href="GUID-0A1A998F-3E6C-362D-A1A2-6B32339380FB.dita"><apiname>CMTPTypeObjectPropList</apiname></xref>. They are both derived from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. </p> <p> <xref href="GUID-F678E2AD-5F1F-3C47-8157-3412B5C6DF8C.dita"><apiname>CMTTypeList</apiname></xref> is then added to represent list dataset. It derives from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. The list classes added later are derived from <xref href="GUID-F678E2AD-5F1F-3C47-8157-3412B5C6DF8C.dita"><apiname>CMTTypeList</apiname></xref>. For example, <xref href="GUID-A055345B-D7A5-3A30-A16A-27302A956CF5.dita"><apiname>CMTPTypeServicePropertyList</apiname></xref> is derived from <xref href="GUID-F678E2AD-5F1F-3C47-8157-3412B5C6DF8C.dita"><apiname>CMTTypeList</apiname></xref> and its elment <xref href="GUID-242F6B40-ADAD-34DC-854D-36B03048D9AE.dita"><apiname>CMTPTypeServicePropertyElement</apiname></xref> is derived from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. </p> <p> <b>Note</b>:<codeph>CMTPTypeCompoundBase::ChunkAppendL()</codeph> can be used to append any <xref href="GUID-FD2BCFE4-27DC-3E6E-96E3-5E5EE7B9EDBD.dita"><apiname>MMTPType</apiname></xref> data types to the compound data. </p> <p>The following diagram and table describe the compound base classes. For a complete set of the derived classes, refer the MTP API references. </p> <fig id="GUID-F0884369-56D9-5F49-8C2D-A774856E54DC"><title>
+          </title> <image href="GUID-4666DC80-EF7D-5761-9B6B-B2D14BDAB762_d0e647836_href.jpg" placement="inline"/></fig> <table id="GUID-E7D6EC73-7607-55E1-BBFD-8477F4A133B5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-FF497532-C4AD-387D-87D5-3898EE6E6691.dita"><apiname>CMTPTypeArray</apiname></xref>  </p> </entry> <entry><p>Represents MTP array data type. </p> </entry> </row> <row><entry><p> <xref href="GUID-E9359E92-6521-3438-B32B-0285B4863A61.dita"><apiname>CMTPTypeFile</apiname></xref>  </p> </entry> <entry><p>Represents MTP binary object data type. </p> </entry> </row> <row><entry><p> <xref href="GUID-415619B7-BAC7-31BC-BA18-5A33CCA79F4B.dita"><apiname>CMTPTypeString</apiname></xref>  </p> </entry> <entry><p>Represents MTP string data type. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b> Compound data type</b> –a mixed sequence of simple, flat, complex and compound types. </p> <p>Compound classes were initially derived from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. The derived class can represent a list dataset or an element of a list dataset. For example, <xref href="GUID-DF980D13-2A8D-3863-A45D-4E44AD04E78A.dita"><apiname>CMTPTypeObjectPropListElement</apiname></xref> is an element of <xref href="GUID-0A1A998F-3E6C-362D-A1A2-6B32339380FB.dita"><apiname>CMTPTypeObjectPropList</apiname></xref>. They are both derived from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. </p> <p> <xref href="GUID-F678E2AD-5F1F-3C47-8157-3412B5C6DF8C.dita"><apiname>CMTTypeList</apiname></xref> is then added to represent list dataset. It derives from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. The list classes added later are derived from <xref href="GUID-F678E2AD-5F1F-3C47-8157-3412B5C6DF8C.dita"><apiname>CMTTypeList</apiname></xref>. For example, <xref href="GUID-A055345B-D7A5-3A30-A16A-27302A956CF5.dita"><apiname>CMTPTypeServicePropertyList</apiname></xref> is derived from <xref href="GUID-F678E2AD-5F1F-3C47-8157-3412B5C6DF8C.dita"><apiname>CMTTypeList</apiname></xref> and its elment <xref href="GUID-242F6B40-ADAD-34DC-854D-36B03048D9AE.dita"><apiname>CMTPTypeServicePropertyElement</apiname></xref> is derived from <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>. </p> <p> <b>Note</b>:<codeph>CMTPTypeCompoundBase::ChunkAppendL()</codeph> can be used to append any <xref href="GUID-FD2BCFE4-27DC-3E6E-96E3-5E5EE7B9EDBD.dita"><apiname>MMTPType</apiname></xref> data types to the compound data. </p> <p>The following diagram and table describe the compound base classes. For a complete set of the derived classes, refer the MTP API references. </p> <fig id="GUID-F0884369-56D9-5F49-8C2D-A774856E54DC"><title>
              Compound data type-base classes 
-          </title> <image href="GUID-A4559463-7665-5733-9AEB-2316C991AE76_d0e608818_href.jpg" placement="inline"/></fig> <table id="GUID-89D28F17-CF5D-541B-A70D-E2483DDA72E5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>  </p> </entry> <entry><p>The base class of MTP compound data types. </p> </entry> </row> <row><entry><p> <xref href="GUID-98C9BE6A-6336-36FF-BE4A-26B34D7F878B.dita"><apiname>CMTPTypeList</apiname></xref>  </p> </entry> <entry><p>The base class of MTP list dataset. </p> </entry> </row> <row><entry><p> <xref href="GUID-0FAC3211-78C5-38E2-AC4D-30AFAEB09265.dita"><apiname>RMTPType</apiname></xref>  </p> </entry> <entry><p>The general class for containing, accessing, and manipulating a reference to any <xref href="GUID-FD2BCFE4-27DC-3E6E-96E3-5E5EE7B9EDBD.dita"><apiname>MMTPType</apiname></xref> -derived data type. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Using MTP Data Types library</title> <p>MTP data providers use the MTP Data Types library to process datasets for MTP operations and events. Device creators can provide their extended data types. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-A4559463-7665-5733-9AEB-2316C991AE76_d0e647980_href.jpg" placement="inline"/></fig> <table id="GUID-89D28F17-CF5D-541B-A70D-E2483DDA72E5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-30FD4C57-0B74-36B6-9F93-49FD816DDA11.dita"><apiname>CMTPTypeCompoundBase</apiname></xref>  </p> </entry> <entry><p>The base class of MTP compound data types. </p> </entry> </row> <row><entry><p> <xref href="GUID-98C9BE6A-6336-36FF-BE4A-26B34D7F878B.dita"><apiname>CMTPTypeList</apiname></xref>  </p> </entry> <entry><p>The base class of MTP list dataset. </p> </entry> </row> <row><entry><p> <xref href="GUID-0FAC3211-78C5-38E2-AC4D-30AFAEB09265.dita"><apiname>RMTPType</apiname></xref>  </p> </entry> <entry><p>The general class for containing, accessing, and manipulating a reference to any <xref href="GUID-FD2BCFE4-27DC-3E6E-96E3-5E5EE7B9EDBD.dita"><apiname>MMTPType</apiname></xref> -derived data type. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Using MTP Data Types library</title> <p>MTP data providers use the MTP Data Types library to process datasets for MTP operations and events. Device creators can provide their extended data types. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C71311A7-F747-57EB-B31F-6E634D5976A3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C71311A7-F747-57EB-B31F-6E634D5976A3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 Device creators can write additional plug-in converters by implementing the <codeph>CCharacterSetConverterPluginInterface</codeph> interface. </p> </li>
 </ul> <fig id="GUID-4B8A7DE4-6A72-5950-96CE-D8BEACD977A0">
 <title>              Charconv Framework collection            </title>
-<image href="GUID-F681C857-086F-527A-9946-A91560601658_d0e655935_href.jpg" placement="inline"/>
+<image href="GUID-F681C857-086F-527A-9946-A91560601658_d0e668762_href.jpg" placement="inline"/>
 </fig> <p> </p> </section>
 <section><title>Using the Character Conversion Framework </title> <p>Application
 developers can use the Charconv API to convert text between various encodings
--- a/Symbian3/PDK/Source/GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C7150120-74C2-5FF1-99F0-0A267393E342.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -65,7 +65,7 @@
 by Symbian and the blue blocks represent components that must be implemented
 by device creators. </p> <fig id="GUID-4E6F27B8-FEDF-5105-8CFA-A1F9E5C3AF46">
 <title>              CryptoToken Framework Architecture            </title>
-<image href="GUID-260E0D27-DCC3-52D5-A7E1-36152A04B7C6_d0e621955_href.jpg" placement="inline"/>
+<image href="GUID-260E0D27-DCC3-52D5-A7E1-36152A04B7C6_d0e594061_href.jpg" placement="inline"/>
 </fig> </section>
 <section id="GUID-94D27027-0298-4B0A-AE66-52730C308B1C"><title>Key classes</title> <table id="GUID-E20091F3-7CF9-53CB-A0E7-A91008E2BD6F">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
Binary file Symbian3/PDK/Source/GUID-C7560CDB-E8F4-55E8-953C-3731B690CF76_d0e471475_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C7560CDB-E8F4-55E8-953C-3731B690CF76_d0e477311_href.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1" xml:lang="en"><title>Big integers</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-44E43C1D-81C0-566D-AD44-65046947046D-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-1-1"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1/GUID-E105FD3A-2600-504A-842E-E75ABFB6FD31-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-2">What does the big integer library do?</xref>  </p> </li>
+<li id="GUID-F28BE30D-0E28-57A0-8302-BBA5BEF9DA2E-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-1-2"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1/GUID-324AFDAC-314C-5CC5-B322-E908AA6F53C3-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3">How do I use the big integer library?</xref>  </p> </li>
+<li id="GUID-FEC8841D-52D9-5232-9E56-1E59E2A36DE2-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-1-3"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1/GUID-268F2081-4385-5D43-8ADA-4F17BAA4B0BC-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4">Base classes and their derived classes</xref>  </p> <ul>
+<li id="GUID-3EEF522F-49CE-5131-BD57-501582746773-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-1-3-2-1"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1/GUID-FE43C9B9-7F50-5311-A2AF-7BA9785A68BC-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-4">RInteger class</xref>  </p> </li>
+</ul> </li>
+</ul>
+<section id="GUID-E105FD3A-2600-504A-842E-E75ABFB6FD31-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-2"><title>What does the
+big integer library do?</title><p>Some types of cryptography require the handling
+of finite arbitrary length integers. This big integer library attempts to
+provide support for that requirement. </p><p>It is capable of representing
+both negative and positive integers with an absolute value of less than 2^(2<sup>37</sup>). </p> </section>
+<section id="GUID-324AFDAC-314C-5CC5-B322-E908AA6F53C3-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3"><title>How do I use
+the big integer library?</title> <p>There are four categories of exposed APIs: </p> <ol id="GUID-93981CBD-4B6D-5E95-BD02-44492535C517-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3-3">
+<li id="GUID-3374E318-C0C5-5E7D-92D4-0F541F0F6B61-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3-3-1"><p>Creation of new integers
+given some other representation (descriptor, TUint, etc). <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-B5E4DBDC-2C7D-30BD-A3D3-8ADE6265CFD2"><apiname>RInteger::NewL()</apiname></xref>  </p> </li>
+<li id="GUID-808268B2-FF70-522B-92BD-5B5EA67DA61B-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3-3-2"><p>Creation of new integers
+given some criteria (range, bitcount, prime). <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-3F59160C-AE87-32A1-8138-C28F977C7607"><apiname>RInteger::NewRandomL()</apiname></xref>, <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-612D2DC1-69D5-3AAE-83AE-6DA5D9983072"><apiname>RInteger::NewPrimeL()</apiname></xref> </p> </li>
+<li id="GUID-3F7FD594-479E-5631-87DE-95D0AC843A0C-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3-3-3"><p>Exporting of previously
+created integers to descriptors. <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-2E9955F7-9219-37B0-84EA-62A3F3327EE8"><apiname>TInteger::BufferLC()</apiname></xref>  </p> </li>
+<li id="GUID-7D5C5166-15D1-5219-B085-E5D5513E50CE-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3-3-4"><p>Querying attributes
+about the size of a previously created integer. <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-F990DD4D-0886-3BF6-B9EE-D48E086D8C78"><apiname>TInteger::BitCount()</apiname></xref>, <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-11AB504D-2919-3F39-A0B6-EA79B498074B"><apiname>TInteger::ByteCount()</apiname></xref>, <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-99874A2D-37D5-3A05-8275-351E29972FA8"><apiname>TInteger::WordCount()</apiname></xref>. </p> </li>
+</ol> <p>The following code demonstrates how to create an <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> from
+a bit string representation of a big integer. </p> <codeblock id="GUID-A496A62E-0912-5241-871B-073270AA72E0-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-3-5" xml:space="preserve">
+//This creates an RInteger from the following binary hexadecimal (base 16)
+//descriptor.  Note that the number is written overall in big endian (most
+//significant digit is first, least significant digit (ones digit) is last).  
+//P.S. The hexadecimal binary descriptor below is the base 16 representation
+//of the base 10 number 123456789012345678901234567890.
+RInteger integer = RInteger::NewL(_L8("18EE90FF6C373E0EE4E3F0AD2")); 
+CleanupStack::PushL(integer);
+
+//This next line converts the number stored by an RInteger into a binary, big
+//endian, hexadecimal descriptor.
+HBufC8* descriptor = integer.BufferLC();
+CleanupStack::Pop(descriptor);
+CleanupStack::PopAndDestroy(integer);
+//descriptor is the same as the original _L8 input value now.
+</codeblock> <p>For more information on integers, including important memory
+management information and additional creation overloads, see <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> in
+the Cryptography API Reference material. </p> </section>
+<section id="GUID-268F2081-4385-5D43-8ADA-4F17BAA4B0BC-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4"><title>Base classes
+and their derived classes</title> <p>The diagram below shows the main classes
+used in bigint and which are implemented in <filepath>cryptography.dll</filepath>.
+The color of the boxes indicates the type of Symbian class, that is, <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class. For detailed information on each component see the Cryptography API
+Reference material. </p> <fig id="GUID-45174FC0-A4B0-572E-801F-EC6CD5A96127-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-3">
+<title>The inheritance diagram above shows the <codeph>TInteger</codeph> and <codeph>RInteger</codeph> classes.</title>
+<image href="GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e616130_href.png" placement="inline"/>
+</fig> <p id="GUID-FE43C9B9-7F50-5311-A2AF-7BA9785A68BC-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-4"><b>RInteger class</b> </p><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> is
+a <codeph>TInteger</codeph> derived class allowing the construction of variable
+length big integers. </p><p>This class follows standard <codeph>R</codeph> class
+rules. As a quick refresher, the following rules apply to <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s: </p><ul>
+<li id="GUID-07C1504B-0A75-5FAF-BCFC-11E0C6977DD4-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-1"><p>You can construct an
+empty <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref>. </p> <codeblock id="GUID-1A9CA02D-E0AA-508D-A870-4572FF3FD4A4-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-1-2" xml:space="preserve">
+RInteger integer;
+</codeblock> <p>This is a constructed, but uninitialized integer. It does
+not own memory and no operations can be performed on it. It is useful, mostly,
+to assign the result of another integer operation to. <codeph>Push</codeph> ing
+and then <codeph>PopAndDestroy</codeph> ing an empty <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> works,
+although it's not needed. </p> </li>
+<li id="GUID-CB62909E-910A-5C29-81E1-6DFD17081B6D-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-2"><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s
+can be bitwised copied (the default assignment operator and copy constructor
+are valid), but you need to be careful you don't lose your original memory
+in the process. You should only use the assignment operator on a newly declared
+integer. To set an <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> to another value without losing
+memory see <codeph>TInteger::Set()</codeph>. </p> <codeblock id="GUID-ECCE21CF-BCD0-57D3-AF54-766B32939D2C-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-2-2" xml:space="preserve">
+RInteger a = anotherInteger; // OK -- you now have two integers that point to the same memory
+RInteger b = RInteger::NewL(aDesc); // OK 
+b = a; // NOT OK, b's original memory has been lost
+</codeblock> </li>
+<li id="GUID-D6F49AA0-5C91-5054-A59A-C01757D53AD9-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-3"><p>You own any <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> returned
+by value from a <codeph>TInteger</codeph> function. </p> <codeblock id="GUID-D03786AD-EF19-59B6-B8A9-F91020D14754-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-3-2" xml:space="preserve">
+RInteger integer = a.MinusL(b); // We now own integer
+CleanupStack::PushL(integer); 
+</codeblock> </li>
+<li id="GUID-076C4F7F-8EC7-5E5E-833C-DD3E32996DCE-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-4"><p>You must call <codeph>Close()</codeph> on
+all <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s that own memory before they go out of scope.
+(The cleanup stack can do this for you as well, see further bullet points
+below). </p> <codeblock id="GUID-B018E759-4201-53D2-AA08-04B6F6ABAD04-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-4-2" xml:space="preserve">
+void foo(void)
+    {
+    RInteger integer = a.TimesL(TInteger::Two);
+    //&lt; all sorts of non-leaving code here &gt;
+    integer.Close();
+    }
+</codeblock> </li>
+<li id="GUID-0C2577CE-0336-553F-8D7C-9F731BECDDC5-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-5"><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> has
+a operator <codeph>TCleanupItem()</codeph> cast function that allows you to
+call <codeph>CleanupStack::PushL(RInteger&amp;)</codeph>. Use this in preference
+to <codeph>CleanupClosePushL(RInteger&amp;)</codeph>, which although it does
+the same thing, generates more code. </p> <codeblock id="GUID-EFAD6082-D6BB-56C5-91AA-E94C2EAF419B-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-5-2" xml:space="preserve">
+RInteger integer = a.ModularExponentiateL(b, p);
+CleanupStack::PushL(integer);
+//&lt; all sorts of leaving code here &gt;
+CleanupStack::PopAndDestroy(&amp;integer);
+</codeblock> </li>
+<li id="GUID-6FF78282-6B29-5094-8D6B-C2D0FCDFC9E7-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-6"><p>Be careful calling <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-F2E2C416-D2F2-31C1-942B-256F74A4075C"><apiname>TInteger::Set()</apiname></xref>.
+After calling this, two <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s have a pointer to the
+same heap-based integer. Calling <codeph>Close()</codeph> on one, either explicitly
+or through the cleanup stack, leaves a dangling pointer to the other. You
+probably want to use code similar to the following: </p> <codeblock id="GUID-7A7EE1D4-8931-5A43-8470-2C7C3E9E83F2-GENID-1-12-1-26-1-1-11-1-1-5-1-10-1-2-4-7-6-2" xml:space="preserve">
+RInteger first = RInteger::NewL(298728);
+CleanupStack::PushL(first);
+//&lt; all sorts of leaving code here &gt;
+RInteger second.Set(first);
+CleanupStack::Pop(first);
+CleanupStack::PushL(second);
+</codeblock> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1" xml:lang="en"><title>Big integers</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-44E43C1D-81C0-566D-AD44-65046947046D-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-1-1"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1/GUID-E105FD3A-2600-504A-842E-E75ABFB6FD31-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-2">What does the big integer library do?</xref>  </p> </li>
+<li id="GUID-F28BE30D-0E28-57A0-8302-BBA5BEF9DA2E-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-1-2"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1/GUID-324AFDAC-314C-5CC5-B322-E908AA6F53C3-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3">How do I use the big integer library?</xref>  </p> </li>
+<li id="GUID-FEC8841D-52D9-5232-9E56-1E59E2A36DE2-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-1-3"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1/GUID-268F2081-4385-5D43-8ADA-4F17BAA4B0BC-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4">Base classes and their derived classes</xref>  </p> <ul>
+<li id="GUID-3EEF522F-49CE-5131-BD57-501582746773-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-1-3-2-1"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787-GENID-1-12-1-26-1-1-9-1-5-1-11-1/GUID-FE43C9B9-7F50-5311-A2AF-7BA9785A68BC-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-4">RInteger class</xref>  </p> </li>
+</ul> </li>
+</ul>
+<section id="GUID-E105FD3A-2600-504A-842E-E75ABFB6FD31-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-2"><title>What does the
+big integer library do?</title><p>Some types of cryptography require the handling
+of finite arbitrary length integers. This big integer library attempts to
+provide support for that requirement. </p><p>It is capable of representing
+both negative and positive integers with an absolute value of less than 2^(2<sup>37</sup>). </p> </section>
+<section id="GUID-324AFDAC-314C-5CC5-B322-E908AA6F53C3-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3"><title>How do I use
+the big integer library?</title> <p>There are four categories of exposed APIs: </p> <ol id="GUID-93981CBD-4B6D-5E95-BD02-44492535C517-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3-3">
+<li id="GUID-3374E318-C0C5-5E7D-92D4-0F541F0F6B61-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3-3-1"><p>Creation of new integers
+given some other representation (descriptor, TUint, etc). <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-B5E4DBDC-2C7D-30BD-A3D3-8ADE6265CFD2"><apiname>RInteger::NewL()</apiname></xref>  </p> </li>
+<li id="GUID-808268B2-FF70-522B-92BD-5B5EA67DA61B-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3-3-2"><p>Creation of new integers
+given some criteria (range, bitcount, prime). <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-3F59160C-AE87-32A1-8138-C28F977C7607"><apiname>RInteger::NewRandomL()</apiname></xref>, <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-612D2DC1-69D5-3AAE-83AE-6DA5D9983072"><apiname>RInteger::NewPrimeL()</apiname></xref> </p> </li>
+<li id="GUID-3F7FD594-479E-5631-87DE-95D0AC843A0C-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3-3-3"><p>Exporting of previously
+created integers to descriptors. <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-2E9955F7-9219-37B0-84EA-62A3F3327EE8"><apiname>TInteger::BufferLC()</apiname></xref>  </p> </li>
+<li id="GUID-7D5C5166-15D1-5219-B085-E5D5513E50CE-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3-3-4"><p>Querying attributes
+about the size of a previously created integer. <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-F990DD4D-0886-3BF6-B9EE-D48E086D8C78"><apiname>TInteger::BitCount()</apiname></xref>, <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-11AB504D-2919-3F39-A0B6-EA79B498074B"><apiname>TInteger::ByteCount()</apiname></xref>, <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-99874A2D-37D5-3A05-8275-351E29972FA8"><apiname>TInteger::WordCount()</apiname></xref>. </p> </li>
+</ol> <p>The following code demonstrates how to create an <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> from
+a bit string representation of a big integer. </p> <codeblock id="GUID-A496A62E-0912-5241-871B-073270AA72E0-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-3-5" xml:space="preserve">
+//This creates an RInteger from the following binary hexadecimal (base 16)
+//descriptor.  Note that the number is written overall in big endian (most
+//significant digit is first, least significant digit (ones digit) is last).  
+//P.S. The hexadecimal binary descriptor below is the base 16 representation
+//of the base 10 number 123456789012345678901234567890.
+RInteger integer = RInteger::NewL(_L8("18EE90FF6C373E0EE4E3F0AD2")); 
+CleanupStack::PushL(integer);
+
+//This next line converts the number stored by an RInteger into a binary, big
+//endian, hexadecimal descriptor.
+HBufC8* descriptor = integer.BufferLC();
+CleanupStack::Pop(descriptor);
+CleanupStack::PopAndDestroy(integer);
+//descriptor is the same as the original _L8 input value now.
+</codeblock> <p>For more information on integers, including important memory
+management information and additional creation overloads, see <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> in
+the Cryptography API Reference material. </p> </section>
+<section id="GUID-268F2081-4385-5D43-8ADA-4F17BAA4B0BC-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4"><title>Base classes
+and their derived classes</title> <p>The diagram below shows the main classes
+used in bigint and which are implemented in <filepath>cryptography.dll</filepath>.
+The color of the boxes indicates the type of Symbian class, that is, <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class. For detailed information on each component see the Cryptography API
+Reference material. </p> <fig id="GUID-45174FC0-A4B0-572E-801F-EC6CD5A96127-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-3">
+<title>The inheritance diagram above shows the <codeph>TInteger</codeph> and <codeph>RInteger</codeph> classes.</title>
+<image href="GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e598544_href.png" placement="inline"/>
+</fig> <p id="GUID-FE43C9B9-7F50-5311-A2AF-7BA9785A68BC-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-4"><b>RInteger class</b> </p><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> is
+a <codeph>TInteger</codeph> derived class allowing the construction of variable
+length big integers. </p><p>This class follows standard <codeph>R</codeph> class
+rules. As a quick refresher, the following rules apply to <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s: </p><ul>
+<li id="GUID-07C1504B-0A75-5FAF-BCFC-11E0C6977DD4-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-1"><p>You can construct an
+empty <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref>. </p> <codeblock id="GUID-1A9CA02D-E0AA-508D-A870-4572FF3FD4A4-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-1-2" xml:space="preserve">
+RInteger integer;
+</codeblock> <p>This is a constructed, but uninitialized integer. It does
+not own memory and no operations can be performed on it. It is useful, mostly,
+to assign the result of another integer operation to. <codeph>Push</codeph> ing
+and then <codeph>PopAndDestroy</codeph> ing an empty <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> works,
+although it's not needed. </p> </li>
+<li id="GUID-CB62909E-910A-5C29-81E1-6DFD17081B6D-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-2"><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s
+can be bitwised copied (the default assignment operator and copy constructor
+are valid), but you need to be careful you don't lose your original memory
+in the process. You should only use the assignment operator on a newly declared
+integer. To set an <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> to another value without losing
+memory see <codeph>TInteger::Set()</codeph>. </p> <codeblock id="GUID-ECCE21CF-BCD0-57D3-AF54-766B32939D2C-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-2-2" xml:space="preserve">
+RInteger a = anotherInteger; // OK -- you now have two integers that point to the same memory
+RInteger b = RInteger::NewL(aDesc); // OK 
+b = a; // NOT OK, b's original memory has been lost
+</codeblock> </li>
+<li id="GUID-D6F49AA0-5C91-5054-A59A-C01757D53AD9-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-3"><p>You own any <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> returned
+by value from a <codeph>TInteger</codeph> function. </p> <codeblock id="GUID-D03786AD-EF19-59B6-B8A9-F91020D14754-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-3-2" xml:space="preserve">
+RInteger integer = a.MinusL(b); // We now own integer
+CleanupStack::PushL(integer); 
+</codeblock> </li>
+<li id="GUID-076C4F7F-8EC7-5E5E-833C-DD3E32996DCE-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-4"><p>You must call <codeph>Close()</codeph> on
+all <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s that own memory before they go out of scope.
+(The cleanup stack can do this for you as well, see further bullet points
+below). </p> <codeblock id="GUID-B018E759-4201-53D2-AA08-04B6F6ABAD04-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-4-2" xml:space="preserve">
+void foo(void)
+    {
+    RInteger integer = a.TimesL(TInteger::Two);
+    //&lt; all sorts of non-leaving code here &gt;
+    integer.Close();
+    }
+</codeblock> </li>
+<li id="GUID-0C2577CE-0336-553F-8D7C-9F731BECDDC5-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-5"><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> has
+a operator <codeph>TCleanupItem()</codeph> cast function that allows you to
+call <codeph>CleanupStack::PushL(RInteger&amp;)</codeph>. Use this in preference
+to <codeph>CleanupClosePushL(RInteger&amp;)</codeph>, which although it does
+the same thing, generates more code. </p> <codeblock id="GUID-EFAD6082-D6BB-56C5-91AA-E94C2EAF419B-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-5-2" xml:space="preserve">
+RInteger integer = a.ModularExponentiateL(b, p);
+CleanupStack::PushL(integer);
+//&lt; all sorts of leaving code here &gt;
+CleanupStack::PopAndDestroy(&amp;integer);
+</codeblock> </li>
+<li id="GUID-6FF78282-6B29-5094-8D6B-C2D0FCDFC9E7-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-6"><p>Be careful calling <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-F2E2C416-D2F2-31C1-942B-256F74A4075C"><apiname>TInteger::Set()</apiname></xref>.
+After calling this, two <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s have a pointer to the
+same heap-based integer. Calling <codeph>Close()</codeph> on one, either explicitly
+or through the cleanup stack, leaves a dangling pointer to the other. You
+probably want to use code similar to the following: </p> <codeblock id="GUID-7A7EE1D4-8931-5A43-8470-2C7C3E9E83F2-GENID-1-12-1-26-1-1-9-1-5-1-11-1-2-4-7-6-2" xml:space="preserve">
+RInteger first = RInteger::NewL(298728);
+CleanupStack::PushL(first);
+//&lt; all sorts of leaving code here &gt;
+RInteger second.Set(first);
+CleanupStack::Pop(first);
+CleanupStack::PushL(second);
+</codeblock> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C75726D3-E815-503D-8267-26DA27AD4787" xml:lang="en"><title>Big integers</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-44E43C1D-81C0-566D-AD44-65046947046D"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787/GUID-E105FD3A-2600-504A-842E-E75ABFB6FD31">What does the big integer library do?</xref>  </p> </li>
-<li id="GUID-F28BE30D-0E28-57A0-8302-BBA5BEF9DA2E"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787/GUID-324AFDAC-314C-5CC5-B322-E908AA6F53C3">How do I use the big integer library?</xref>  </p> </li>
-<li id="GUID-FEC8841D-52D9-5232-9E56-1E59E2A36DE2"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787/GUID-268F2081-4385-5D43-8ADA-4F17BAA4B0BC">Base classes and their derived classes</xref>  </p> <ul>
-<li id="GUID-3EEF522F-49CE-5131-BD57-501582746773"><p> <xref href="GUID-C75726D3-E815-503D-8267-26DA27AD4787.dita#GUID-C75726D3-E815-503D-8267-26DA27AD4787/GUID-FE43C9B9-7F50-5311-A2AF-7BA9785A68BC">RInteger class</xref>  </p> </li>
-</ul> </li>
-</ul>
-<section id="GUID-E105FD3A-2600-504A-842E-E75ABFB6FD31"><title>What does the
-big integer library do?</title><p>Some types of cryptography require the handling
-of finite arbitrary length integers. This big integer library attempts to
-provide support for that requirement. </p><p>It is capable of representing
-both negative and positive integers with an absolute value of less than 2^(2<sup>37</sup>). </p> </section>
-<section id="GUID-324AFDAC-314C-5CC5-B322-E908AA6F53C3"><title>How do I use
-the big integer library?</title> <p>There are four categories of exposed APIs: </p> <ol id="GUID-93981CBD-4B6D-5E95-BD02-44492535C517">
-<li id="GUID-3374E318-C0C5-5E7D-92D4-0F541F0F6B61"><p>Creation of new integers
-given some other representation (descriptor, TUint, etc). <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-B5E4DBDC-2C7D-30BD-A3D3-8ADE6265CFD2"><apiname>RInteger::NewL()</apiname></xref>  </p> </li>
-<li id="GUID-808268B2-FF70-522B-92BD-5B5EA67DA61B"><p>Creation of new integers
-given some criteria (range, bitcount, prime). <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-3F59160C-AE87-32A1-8138-C28F977C7607"><apiname>RInteger::NewRandomL()</apiname></xref>, <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita#GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91/GUID-612D2DC1-69D5-3AAE-83AE-6DA5D9983072"><apiname>RInteger::NewPrimeL()</apiname></xref> </p> </li>
-<li id="GUID-3F7FD594-479E-5631-87DE-95D0AC843A0C"><p>Exporting of previously
-created integers to descriptors. <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-2E9955F7-9219-37B0-84EA-62A3F3327EE8"><apiname>TInteger::BufferLC()</apiname></xref>  </p> </li>
-<li id="GUID-7D5C5166-15D1-5219-B085-E5D5513E50CE"><p>Querying attributes
-about the size of a previously created integer. <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-F990DD4D-0886-3BF6-B9EE-D48E086D8C78"><apiname>TInteger::BitCount()</apiname></xref>, <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-11AB504D-2919-3F39-A0B6-EA79B498074B"><apiname>TInteger::ByteCount()</apiname></xref>, <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-99874A2D-37D5-3A05-8275-351E29972FA8"><apiname>TInteger::WordCount()</apiname></xref>. </p> </li>
-</ol> <p>The following code demonstrates how to create an <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> from
-a bit string representation of a big integer. </p> <codeblock id="GUID-A496A62E-0912-5241-871B-073270AA72E0" xml:space="preserve">
-//This creates an RInteger from the following binary hexadecimal (base 16)
-//descriptor.  Note that the number is written overall in big endian (most
-//significant digit is first, least significant digit (ones digit) is last).  
-//P.S. The hexadecimal binary descriptor below is the base 16 representation
-//of the base 10 number 123456789012345678901234567890.
-RInteger integer = RInteger::NewL(_L8("18EE90FF6C373E0EE4E3F0AD2")); 
-CleanupStack::PushL(integer);
-
-//This next line converts the number stored by an RInteger into a binary, big
-//endian, hexadecimal descriptor.
-HBufC8* descriptor = integer.BufferLC();
-CleanupStack::Pop(descriptor);
-CleanupStack::PopAndDestroy(integer);
-//descriptor is the same as the original _L8 input value now.
-</codeblock> <p>For more information on integers, including important memory
-management information and additional creation overloads, see <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> in
-the Cryptography API Reference material. </p> </section>
-<section id="GUID-268F2081-4385-5D43-8ADA-4F17BAA4B0BC"><title>Base classes
-and their derived classes</title> <p>The diagram below shows the main classes
-used in bigint and which are implemented in <filepath>cryptography.dll</filepath>.
-The color of the boxes indicates the type of Symbian class, that is, <codeph>M</codeph>, <codeph>C</codeph>, <codeph>R</codeph> or <codeph>T</codeph> class. For detailed information on each component see the Cryptography API
-Reference material. </p> <fig id="GUID-45174FC0-A4B0-572E-801F-EC6CD5A96127">
-<title>The inheritance diagram above shows the <codeph>TInteger</codeph> and <codeph>RInteger</codeph> classes.</title>
-<image href="GUID-598140D3-6C92-5D8E-B204-C7197C6E404D_d0e626438_href.png" placement="inline"/>
-</fig> <p id="GUID-FE43C9B9-7F50-5311-A2AF-7BA9785A68BC"><b>RInteger class</b> </p><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> is
-a <codeph>TInteger</codeph> derived class allowing the construction of variable
-length big integers. </p><p>This class follows standard <codeph>R</codeph> class
-rules. As a quick refresher, the following rules apply to <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s: </p><ul>
-<li id="GUID-07C1504B-0A75-5FAF-BCFC-11E0C6977DD4"><p>You can construct an
-empty <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref>. </p> <codeblock id="GUID-1A9CA02D-E0AA-508D-A870-4572FF3FD4A4" xml:space="preserve">
-RInteger integer;
-</codeblock> <p>This is a constructed, but uninitialized integer. It does
-not own memory and no operations can be performed on it. It is useful, mostly,
-to assign the result of another integer operation to. <codeph>Push</codeph> ing
-and then <codeph>PopAndDestroy</codeph> ing an empty <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> works,
-although it's not needed. </p> </li>
-<li id="GUID-CB62909E-910A-5C29-81E1-6DFD17081B6D"><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s
-can be bitwised copied (the default assignment operator and copy constructor
-are valid), but you need to be careful you don't lose your original memory
-in the process. You should only use the assignment operator on a newly declared
-integer. To set an <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> to another value without losing
-memory see <codeph>TInteger::Set()</codeph>. </p> <codeblock id="GUID-ECCE21CF-BCD0-57D3-AF54-766B32939D2C" xml:space="preserve">
-RInteger a = anotherInteger; // OK -- you now have two integers that point to the same memory
-RInteger b = RInteger::NewL(aDesc); // OK 
-b = a; // NOT OK, b's original memory has been lost
-</codeblock> </li>
-<li id="GUID-D6F49AA0-5C91-5054-A59A-C01757D53AD9"><p>You own any <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> returned
-by value from a <codeph>TInteger</codeph> function. </p> <codeblock id="GUID-D03786AD-EF19-59B6-B8A9-F91020D14754" xml:space="preserve">
-RInteger integer = a.MinusL(b); // We now own integer
-CleanupStack::PushL(integer); 
-</codeblock> </li>
-<li id="GUID-076C4F7F-8EC7-5E5E-833C-DD3E32996DCE"><p>You must call <codeph>Close()</codeph> on
-all <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s that own memory before they go out of scope.
-(The cleanup stack can do this for you as well, see further bullet points
-below). </p> <codeblock id="GUID-B018E759-4201-53D2-AA08-04B6F6ABAD04" xml:space="preserve">
-void foo(void)
-    {
-    RInteger integer = a.TimesL(TInteger::Two);
-    //&lt; all sorts of non-leaving code here &gt;
-    integer.Close();
-    }
-</codeblock> </li>
-<li id="GUID-0C2577CE-0336-553F-8D7C-9F731BECDDC5"><p> <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> has
-a operator <codeph>TCleanupItem()</codeph> cast function that allows you to
-call <codeph>CleanupStack::PushL(RInteger&amp;)</codeph>. Use this in preference
-to <codeph>CleanupClosePushL(RInteger&amp;)</codeph>, which although it does
-the same thing, generates more code. </p> <codeblock id="GUID-EFAD6082-D6BB-56C5-91AA-E94C2EAF419B" xml:space="preserve">
-RInteger integer = a.ModularExponentiateL(b, p);
-CleanupStack::PushL(integer);
-//&lt; all sorts of leaving code here &gt;
-CleanupStack::PopAndDestroy(&amp;integer);
-</codeblock> </li>
-<li id="GUID-6FF78282-6B29-5094-8D6B-C2D0FCDFC9E7"><p>Be careful calling <xref href="GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16.dita#GUID-E3D3C429-EA8C-34C1-9D1D-9062BC3D4F16/GUID-F2E2C416-D2F2-31C1-942B-256F74A4075C"><apiname>TInteger::Set()</apiname></xref>.
-After calling this, two <xref href="GUID-8C8CA735-6B76-3204-AFBF-F95496EDCD91.dita"><apiname>RInteger</apiname></xref> s have a pointer to the
-same heap-based integer. Calling <codeph>Close()</codeph> on one, either explicitly
-or through the cleanup stack, leaves a dangling pointer to the other. You
-probably want to use code similar to the following: </p> <codeblock id="GUID-7A7EE1D4-8931-5A43-8470-2C7C3E9E83F2" xml:space="preserve">
-RInteger first = RInteger::NewL(298728);
-CleanupStack::PushL(first);
-//&lt; all sorts of leaving code here &gt;
-RInteger second.Set(first);
-CleanupStack::Pop(first);
-CleanupStack::PushL(second);
-</codeblock> </li>
-</ul> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C762E5B4-A7E3-5CAD-B639-A31F5D1899D3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-C762E5B4-A7E3-5CAD-B639-A31F5D1899D3"><title>Overview of DLL building</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Building a DLL target generates two files: </p> <ul><li id="GUID-4D007B23-B8D2-56AB-87F9-D52D873094AE"><p>The compiled DLL binary: this file contains the executable code that is called at run-time. It often has the extension <filepath>.DLL</filepath>, though some DLLs have extensions that indicate their particular purpose, e.g. <filepath>.ANI</filepath> for animation DLLs. </p> </li> <li id="GUID-6FDF4195-AB87-5539-97C3-2755B24797B2"><p>Import library: represents the exported interface of the DLL. This allows other programs to use the DLL, by linking against the import library at build time. </p> <p>Import libraries have the extension <filepath>.lib</filepath> in the Symbian emulator and ARM ABIv1 builds, or <filepath>.dso</filepath> in the ARM ABIv2 builds. </p> </li> </ul> <p>Other programs can use DLLs in two ways: </p> <ul><li id="GUID-836D29E7-3257-50EB-943A-3FA1CC932DFC"><p>By linking against them at build time, using the interface defined in a C++ header file, and in the DLL's import library. </p> <p>DLLs designed to be used in this way are called <xref href="GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita">static interface DLLs</xref>. </p> </li> <li id="GUID-571E1BEF-C35C-5AB9-BE6E-E45717E7DE5D"><p>By using an API to dynamically load and call the DLL at run-time. DLLs designed to be used in this way are called <xref href="GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita">polymorphic interface DLLs</xref>. </p> <p>See <xref href="GUID-93086866-F6E1-5715-A3BE-EEACF8A760DB.dita">Frameworks, libraries and DLLs</xref> for more on this idiom, and <xref href="GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita">Dynamically Loading Link Libraries API</xref> for details of the API. </p> </li> </ul> <p>The following pages discuss the special configuration issues associated with building for DLL targets. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C7B748CF-D080-5448-98AF-1634D821E713.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C7B748CF-D080-5448-98AF-1634D821E713.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,49 +9,47 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C7B748CF-D080-5448-98AF-1634D821E713" xml:lang="en"><title> SMP
-Example</title><shortdesc>This example demonstrates symmetric multiprocessing using multiple
-threads. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This example shows the differences between code running in a unicore environment
-and in a multiprocessor environment.</p>
-<section id="GUID-7AC2BE12-4F01-4140-8379-672475DE7681"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-577596d8-76a2-4a41-aa0f-deefe5638e23.zip" scope="external">SmpExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-577596d8-76a2-4a41-aa0f-deefe5638e23.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7A70847E-40A2-4267-9BD4-36F88F48C84A"><title>Class summary</title><ul>
+<concept id="GUID-C7B748CF-D080-5448-98AF-1634D821E713" xml:lang="en"><title> SMP Example</title><shortdesc>This example demonstrates symmetric multiprocessing using
+multiple threads. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example shows the differences between code running in a unicore
+environment and in a multiprocessor environment.</p>
+<section id="GUID-7AC2BE12-4F01-4140-8379-672475DE7681"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-577596d8-76a2-4a41-aa0f-deefe5638e23.zip" scope="external">SmpExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-577596d8-76a2-4a41-aa0f-deefe5638e23.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-7A70847E-40A2-4267-9BD4-36F88F48C84A"><title>Class
+summary</title><ul>
 <li><p><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref> - A handle to a thread.</p></li>
 <li><p><xref href="GUID-F4A68645-2265-307F-B951-8295827E000B.dita"><apiname>RDbStoreDatabase</apiname></xref> - DBMS Store database implementation</p></li>
 </ul></section>
-<section id="GUID-BE13F08D-09FD-41DF-9210-D46EBECADA69"><title>Design and implementation</title> <p>The example creates two
-databases named DBforSMP1.db and DBforSMP2.db and three threads: </p> <ul>
-<li id="GUID-F4EE1C84-FE30-5C99-872B-1881D852CAEA"><p> <codeph>WriterThread1</codeph>:
-It creates the DBforSMP1.db database and writes integers to it. The thread
-has the lowest priority amongst all the threads. </p> </li>
-<li id="GUID-7B2D0419-E069-59FA-A6CE-70EBC203F656"><p> <codeph>WriterThread2</codeph>:
-It creates the DBforSMP2.db database and writes some integers to it. The thread
-has highest priority amongst all the threads. </p> </li>
-<li id="GUID-7C9584F2-E6C8-5A02-B4C2-4845CF4BAA36"><p> <codeph>ReaderThread</codeph>:
-It reads the two databases and prints the output to the console. It has normal
-priority. </p> </li>
-</ul> <p>In a unicore enviroment, the threads are executed according to their
-priorities. This means first <codeph> WriterThread2</codeph>, then <codeph>ReaderThread</codeph> and
-finally <codeph>WriterThread1</codeph> is executed. Hence <codeph>ReaderThead</codeph> can
-only print the contents of the DBforSMP2.db in the console because DBforSMP1
-is empty. in an SMP environment, threads run simultaneously and <codeph>ReaderThread</codeph> can
-print the contents of both the databases. </p> </section>
-<section id="GUID-3686F166-C4DD-4269-9B9C-F0027F53547E"><title>Building and configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-037442C7-2436-5152-9A3E-9DC0B4283A9C-GENID-1-12-1-17-1-1-9-1-4-1-25-1-30-1-3-5-3-1"><p>The example builds an
-executable called <filepath>smpexample.exe</filepath> in the standard location. </p> </li>
-<li id="GUID-B7C849B9-0885-5253-A78B-71854F86D772-GENID-1-12-1-17-1-1-9-1-4-1-25-1-30-1-3-5-3-2"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
+<section id="GUID-BE13F08D-09FD-41DF-9210-D46EBECADA69"><title>Design
+and implementation</title> <p>The example creates two databases named
+DBforSMP1.db and DBforSMP2.db and three threads: </p> <ul>
+<li id="GUID-F4EE1C84-FE30-5C99-872B-1881D852CAEA"><p> <codeph>WriterThread1</codeph>: It creates the DBforSMP1.db database and writes integers to it.
+The thread has the lowest priority amongst all the threads. </p> </li>
+<li id="GUID-7B2D0419-E069-59FA-A6CE-70EBC203F656"><p> <codeph>WriterThread2</codeph>: It creates the DBforSMP2.db database and writes some integers to
+it. The thread has highest priority amongst all the threads. </p> </li>
+<li id="GUID-7C9584F2-E6C8-5A02-B4C2-4845CF4BAA36"><p> <codeph>ReaderThread</codeph>: It reads the two databases and prints the output to the console.
+It has normal priority. </p> </li>
+</ul> <p>In a unicore enviroment, the threads are executed according
+to their priorities. This means first <codeph> WriterThread2</codeph>, then <codeph>ReaderThread</codeph> and finally <codeph>WriterThread1</codeph> is executed. Hence <codeph>ReaderThead</codeph> can only print the
+contents of the DBforSMP2.db in the console because DBforSMP1 is empty.
+in an SMP environment, threads run simultaneously and <codeph>ReaderThread</codeph> can print the contents of both the databases. </p> </section>
+<section id="GUID-3686F166-C4DD-4269-9B9C-F0027F53547E"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-037442C7-2436-5152-9A3E-9DC0B4283A9C-GENID-1-12-1-18-1-1-9-1-4-1-25-1-30-1-3-5-3-1"><p>The example
+builds an executable called <filepath>smpexample.exe</filepath> in
+the standard location. </p> </li>
+<li id="GUID-B7C849B9-0885-5253-A78B-71854F86D772-GENID-1-12-1-18-1-1-9-1-4-1-25-1-30-1-3-5-3-2"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
 </ul> </section>
-<section id="GUID-F773B722-7612-4BAF-99CB-84E39CE10C40"><title>Running the example</title> <p>To test the example in an SMP
-environment, add <codeph>crazyscheduling on</codeph>in the <filepath>epoc32\data\epoc.ini</filepath> file.
-This emulates SMP behaviour in the techview emulator. Execute the example
-in both unicore and multiprocessor environment and see the difference. Run
-the example following the instructions provided in the console. </p> </section>
+<section id="GUID-F773B722-7612-4BAF-99CB-84E39CE10C40"><title>Running
+the example</title> <p>To test the example in an SMP environment,
+add <codeph>crazyscheduling on</codeph>in the <filepath>epoc32\data\epoc.ini</filepath> file. This emulates SMP behaviour in the techview emulator. Execute
+the example in both unicore and multiprocessor environment and see
+the difference. Run the example following the instructions provided
+in the console. </p> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C7D026AF-9C07-4221-AEDE-8CC0654A9D57.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C7D026AF-9C07-4221-AEDE-8CC0654A9D57.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 that have one.</p>
 <fig id="GUID-7CE6D8B9-817A-4B79-B97B-6E8A32B4DB18">
 <title>Text selection in an editor</title>
-<image href="GUID-83DC4E21-72B3-459F-9AE8-41ED52BF219C_d0e94043_href.png" placement="inline"/>
+<image href="GUID-83DC4E21-72B3-459F-9AE8-41ED52BF219C_d0e98241_href.png" placement="inline"/>
 </fig>
 <p>If the user presses an Arrow key alone when there is a text selection,
 the selection disappears and the cursor reappears in the respective position.</p>
--- a/Symbian3/PDK/Source/GUID-C7F3EDA1-B935-5F5F-AFD4-A3CABA0C031C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C7F3EDA1-B935-5F5F-AFD4-A3CABA0C031C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,14 +32,14 @@
 images below illustrate how the interface extensibility feature works. </p> <p>The
 class diagram shows the implementation of the original interface. </p> <fig id="GUID-C85FB42D-1EE5-508E-B81F-D96B8A8E23E7">
 <title>              Class diagram of the original interface            </title>
-<image href="GUID-7D78DFA8-301C-5A0C-9F83-7C4BBEAE34C2_d0e214701_href.jpg" placement="inline"/>
+<image href="GUID-7D78DFA8-301C-5A0C-9F83-7C4BBEAE34C2_d0e220721_href.jpg" placement="inline"/>
 </fig> <p>The next class diagram shows an example of the original class <b>CImplementationClass</b> supporting
 two extensions . The extensions have been added to the <b>CExampleInterface</b> each
 using a different implementation methodology . </p> <p> <b>CExampleInterfaceExtended</b> requires
 no data and so has been added to the inheritance of the original plug-in <b>CImplementationClass</b> object. <b>MExampleInterfaceExtended2</b> shows
 how extensions can be realized in separate objects with their own data. </p> <fig id="GUID-B2D1AF5C-0789-5D9B-8EB1-13226C864D38">
 <title>              Class diagram of the extended interface            </title>
-<image href="GUID-DAF12BDB-5453-5DDD-ACBA-4C29AE448D87_d0e214730_href.jpg" placement="inline"/>
+<image href="GUID-DAF12BDB-5453-5DDD-ACBA-4C29AE448D87_d0e220750_href.jpg" placement="inline"/>
 </fig> <p>The extended interfaces should maintain the binary compatibility
 by not changing the original interface class definition. The functional compatibility
 should be maintained by incorporating interface extensions as optional. This
--- a/Symbian3/PDK/Source/GUID-C7F900F4-7C8E-4922-8785-D6EF9AE23B22.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C7F900F4-7C8E-4922-8785-D6EF9AE23B22.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 first touch down and release only checks or unchecks the item. Touch down
 and release second time activates the item and the pop-up closes.</p>
 <fig id="GUID-515EB035-4514-46B8-B711-3FB0DA064829">
-<image href="GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e91991_href.png" placement="inline"/>
+<image href="GUID-173D7E50-92FA-42D7-A01B-47A39216E98D_d0e96189_href.png" placement="inline"/>
 </fig>
 <table id="GUID-4F77253E-5688-4642-98DD-04CB7FCF38E1-GENID-1-12-1-7-1-1-5-1-16-1-3-1-2-3"><title>The default touch
 events for list selection item</title>
Binary file Symbian3/PDK/Source/GUID-C830420C-FBBD-5265-8746-7690C0ADCE81_d0e276368_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C830420C-FBBD-5265-8746-7690C0ADCE81_d0e282368_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C842C016-0D1B-5462-8B04-49CFE941A964_d0e375243_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C842C016-0D1B-5462-8B04-49CFE941A964_d0e381087_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C8450E58-A603-5CF8-993E-053C990DDA19_d0e380027_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8450E58-A603-5CF8-993E-053C990DDA19_d0e385880_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C85EECD6-2CFD-5BA9-A60B-F7AF3A74E832.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C85EECD6-2CFD-5BA9-A60B-F7AF3A74E832.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,9 +62,9 @@
 <li><p><xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita#GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8/GUID-E396F6CA-1353-31E3-8AFF-BAFE2DF6E0E7"><apiname>RBuf::Swap(RBuf8&amp;)</apiname></xref></p></li>
 </ul> <p id="GUID-893B2BF3-AD9F-587D-95D5-165014C932B4"><b>Copying
 data to an RBuf using the assignment operator</b> </p> <p>The example
-creates two resizable buffers and allocates memory using <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita#GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8/GUID-E69BAB5A-EFC1-3700-8B56-9A5876BF428D"><apiname>RBuf::Create(const TDesC8&amp;)</apiname></xref>. It then copies
-data to these buffers. It also copies data from the first buffer to
-the second buffer using the assignment operator. </p> <p> <b> Notes:</b>  </p> <ul>
+creates two resizable buffers and allocates memory using <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita#GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8/GUID-E69BAB5A-EFC1-3700-8B56-9A5876BF428D"><apiname>RBuf::Create(const TDesC8&amp;)</apiname></xref>. It then copies data to
+these buffers. It also copies data from the first buffer to the second
+buffer using the assignment operator. </p> <p> <b> Notes:</b>  </p> <ul>
 <li id="GUID-9B2835F9-BD3E-56DD-9CFD-F71677FFC71C"><p>When you use <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita#GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8/GUID-9B5FF0B6-9C38-3E74-A5BC-A5CB02E029B7"><apiname>RBuf::Assign(const RBuf8&amp;)</apiname></xref>, ownership of the buffer
 is transferred. <codeph>Assign(const RBuf8&amp;)</codeph> neither
 checks nor frees any pre-existing owned allocated memory. If this
@@ -108,9 +108,7 @@
 a stream from a file.</p></li>
 <li><p><xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref></p></li>
 </ul></section>
-<section id="GUID-111B7B66-A3C4-5A15-8CF2-C6A227483651"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
-build process</xref> describes how to build this example application.
-The example builds an executable file called <filepath>rbufexample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for the emulator). After launching the executable, depending on
+<section id="GUID-111B7B66-A3C4-5A15-8CF2-C6A227483651"><title>Build</title> <p> The example builds an executable file called <filepath>rbufexample.exe</filepath> in the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for the emulator). After launching the executable, depending on
 the emulator you are using, you may need to navigate away from the
 application launcher/shell screen to view the console. </p> </section>
 <section id="GUID-E30CC1D4-B854-5080-8F37-950CA4D86DD0"><title>See
--- a/Symbian3/PDK/Source/GUID-C86A7929-DC0F-50FA-93CB-662A22C4CD35.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C86A7929-DC0F-50FA-93CB-662A22C4CD35.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,11 +35,11 @@
 settings. The higher ROFS layers cannot modify the global properties of the
 keyspaces like metadata, owner information and the access control information. </p> <fig id="GUID-BABA2027-0E54-575A-8A59-EB771CF46529">
 <title>              Central repository - Modify a setting            </title>
-<image href="GUID-D7179664-C442-5253-9925-994CA0C63B50_d0e577831_href.png" placement="inline"/>
+<image href="GUID-D7179664-C442-5253-9925-994CA0C63B50_d0e627119_href.png" placement="inline"/>
 </fig> <p>The figure below shows how a new setting is added to the central
 repository keyspace. </p> <fig id="GUID-B1ED9F5D-4490-5F61-A084-44C8C6C0978C">
 <title>              Central repository - Add a new setting            </title>
-<image href="GUID-3A07445A-1CD4-5556-BE65-553A4A251789_d0e577842_href.png" placement="inline"/>
+<image href="GUID-3A07445A-1CD4-5556-BE65-553A4A251789_d0e627130_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Advantages</title> <p>The advantages of using
 multiple ROFS layer to create device variant are: </p> <ul>
Binary file Symbian3/PDK/Source/GUID-C8938826-52F7-5040-B59C-3C06DAEB6F03_d0e174360_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C8938826-52F7-5040-B59C-3C06DAEB6F03_d0e180428_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-C8AD9E54-F93D-5E04-A958-95934D29180B_d0e245295_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8AD9E54-F93D-5E04-A958-95934D29180B_d0e251306_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8C804F9-860D-590D-B247-FBB1714604B7_d0e228570_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8C804F9-860D-590D-B247-FBB1714604B7_d0e234569_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8D04D54-D391-5505-9E80-596589410179_d0e548048_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8D04D54-D391-5505-9E80-596589410179_d0e555504_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8D5B104-3F34-513B-BA08-5F2FEE60265C_d0e8909_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C8D5B104-3F34-513B-BA08-5F2FEE60265C_d0e9031_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C9208CCB-1802-5819-AD42-3403807FC3AA_d0e275098_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C9208CCB-1802-5819-AD42-3403807FC3AA_d0e281098_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C93C2E54-06CE-5BE4-9618-7B62FA086D6B_d0e450854_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C93C2E54-06CE-5BE4-9618-7B62FA086D6B_d0e456699_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C9429505-EEE7-4E64-BE0A-BC5D57D5B42C_d0e64799_href.png has changed
Binary file Symbian3/PDK/Source/GUID-C9429505-EEE7-4E64-BE0A-BC5D57D5B42C_d0e69022_href.png has changed
--- a/Symbian3/PDK/Source/GUID-C98DF912-A903-4FDB-B27A-CC8E75E3E40F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C98DF912-A903-4FDB-B27A-CC8E75E3E40F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,6 +20,6 @@
 class, constructed by the <codeph>DLogicalDevice</codeph> factory object. </p> <fig id="GUID-E27A3A17-366D-5551-A26E-FC8E0853D72A">
 <title>                 Device driver logical channel classes            
   </title>
-<image href="GUID-F4E04E00-D9C6-5E8F-9EC6-F90BC951D4D0_d0e291444_href.png" placement="inline"/>
+<image href="GUID-F4E04E00-D9C6-5E8F-9EC6-F90BC951D4D0_d0e297436_href.png" placement="inline"/>
 </fig>     </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,77 +1,76 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8" xml:lang="en"><title>HelloWorldBasic_reg.rss</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>You need to register your applications in order to make them visible
-to the application launcher and to provide other information to the underlying
-system. To register, you need to provide a registration resource file, typically
-named <parmname>&lt;application_name&gt;_reg.rss</parmname>, that contains the
-non-localized information for your application. This section contains an example
-of such a file.</p>
-<p>For more information on registration files in general, see <xref href="GUID-FE9017F4-4197-472F-A3E7-267169A51ABD.dita">Registration</xref>. </p>
-<p>For information on creating your own registration resource files, see <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">Creating
-registration resource files</xref>.</p>
-<codeblock id="GUID-631DE04B-6396-4CAD-B428-3342D06BA732" xml:space="preserve">#include "Helloworldbasic.rls"
-</codeblock>
-<p>This pre-processor statement adds the <parmname>rls</parmname> project
-file that controls the strings loaded for different languages based on the
-Symbian platform language setting to the preprocessing path. For more information
-on localization, see <xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
-and localization</xref>.</p>
-<codeblock id="GUID-1081D8D5-FE34-4A9F-B335-32E9A809314F" xml:space="preserve">#include  &lt;appinfo.rh&gt;
-</codeblock>
-<p>This preprocessor statement adds the resource header file that provides
-the data structure used for the <parmname>RESOURCE</parmname> statement in
-this registration resource file.</p>
-<codeblock id="GUID-C78D64EE-3ED7-4A8A-96C6-C048879F35C2" xml:space="preserve">#include  &lt;HelloWorldBasic.rsg&gt;
-
-</codeblock>
-<p>This preprocessor statement adds the generated resource header file
-for the <i>HelloWorldBasic</i> application to the preprocessor path to allow
-access to the <parmname>R_HELLOWORLDBASIC_LOCALISABLE_APP_INFO</parmname> resource.</p>
-<codeblock id="GUID-6921E324-DF9E-4646-9ED9-8139F1A7816A" xml:space="preserve">UID2 KUidAppRegistrationResourceFile
-</codeblock>
-<p>This required statement defines the UID2 value for a registration resource
-file. </p>
-<codeblock id="GUID-C3F02E64-0C14-4A31-BBC2-772021D3E833" xml:space="preserve">UID3 0xA000017F
-
-</codeblock>
-<p>This required statement defines the <xref href="GUID-EA05F9B6-52C7-4BD9-8B9A-4BA3456E70B5.dita">UID3</xref> of
-the application.</p>
-<codeblock id="GUID-CCFD588A-30DC-43ED-9AB1-AB2AC3A83079" xml:space="preserve">RESOURCE APP_REGISTRATION_INFO
-  {
-  app_file="HelloWorldBasic";
-  localisable_resource_file =  STRING_r_helloworldbasic_loc_resource_file_1;
-  localisable_resource_id = R_HELLOWORLDBASIC_LOCALISABLE_APP_INFO;
-
-  embeddability=KAppNotEmbeddable;
-  newfile=KAppDoesNotSupportNewFile;
-  }
-
-</codeblock>
-<p>This <parmname>RESOURCE</parmname> definition contains the non-localizable
-properties of the <i>HelloWorldBasic</i> application, where</p>
-<ul>
-<li><p><parmname>HelloWorldBasic</parmname> is the name of the application
-executable</p></li>
-<li><p><parmname>STRING_r_helloworldbasic_loc_resource_file_1</parmname> contains
-the value <parmname>\\resource\\apps\\HelloWorldBasic</parmname> in all <parmname>rls</parmname> files.
-This is the location of the <i>HelloWorldBasic</i> resource files.</p>
-</li>
-<li><p><parmname>R_HELLOWORLDBASIC_LOCALISABLE_APP_INFO</parmname> is
-the identifier for the resource declared in <parmname>helloworldbasic.rss</parmname> that
-contains the short caption, caption, and icon information</p></li>
-<li><p><parmname>KAppNotEmbeddable</parmname> indicates that <i>HelloWorldBasic</i> is
-not embeddable</p></li>
-<li><p><parmname>KAppDoesNotSupportNewFile</parmname> indicates
-that <i>HelloWorldBasic</i> does not support new files</p></li>
-</ul>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C99BA704-4E9F-482C-942F-1B4D7F385BD8" xml:lang="en"><title>HelloWorldBasic_reg.rss</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>You need to register your applications in order to make them visible
+to the application launcher and to provide other information to the underlying
+system. To register, you need to provide a registration resource file, typically
+named <parmname>&lt;application_name&gt;_reg.rss</parmname>, that contains the
+non-localized information for your application. This section contains an example
+of such a file.</p>
+<p>For more information on registration files in general, see <xref href="GUID-FE9017F4-4197-472F-A3E7-267169A51ABD.dita">Registration</xref>. </p>
+<p>For information on creating your own registration resource files, see <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">Creating registration resource files</xref>.</p>
+<codeblock id="GUID-631DE04B-6396-4CAD-B428-3342D06BA732" xml:space="preserve">#include "Helloworldbasic.rls"
+</codeblock>
+<p>This pre-processor statement adds the <parmname>rls</parmname> project
+file that controls the strings loaded for different languages based on the
+Symbian platform language setting to the preprocessing path. For more information
+on localization, see <xref href="GUID-E111C4E8-1342-4E87-ACB4-5B630AF1501C.dita">Internationalization
+and localization</xref>.</p>
+<codeblock id="GUID-1081D8D5-FE34-4A9F-B335-32E9A809314F" xml:space="preserve">#include  &lt;appinfo.rh&gt;
+</codeblock>
+<p>This preprocessor statement adds the resource header file that provides
+the data structure used for the <parmname>RESOURCE</parmname> statement in
+this registration resource file.</p>
+<codeblock id="GUID-C78D64EE-3ED7-4A8A-96C6-C048879F35C2" xml:space="preserve">#include  &lt;HelloWorldBasic.rsg&gt;
+
+</codeblock>
+<p>This preprocessor statement adds the generated resource header file
+for the <i>HelloWorldBasic</i> application to the preprocessor path to allow
+access to the <parmname>R_HELLOWORLDBASIC_LOCALISABLE_APP_INFO</parmname> resource.</p>
+<codeblock id="GUID-6921E324-DF9E-4646-9ED9-8139F1A7816A" xml:space="preserve">UID2 KUidAppRegistrationResourceFile
+</codeblock>
+<p>This required statement defines the UID2 value for a registration resource
+file. </p>
+<codeblock id="GUID-C3F02E64-0C14-4A31-BBC2-772021D3E833" xml:space="preserve">UID3 0xA000017F
+
+</codeblock>
+<p>This required statement defines the <xref href="GUID-EA05F9B6-52C7-4BD9-8B9A-4BA3456E70B5.dita">UID3</xref> of
+the application.</p>
+<codeblock id="GUID-CCFD588A-30DC-43ED-9AB1-AB2AC3A83079" xml:space="preserve">RESOURCE APP_REGISTRATION_INFO
+  {
+  app_file="HelloWorldBasic";
+  localisable_resource_file =  STRING_r_helloworldbasic_loc_resource_file_1;
+  localisable_resource_id = R_HELLOWORLDBASIC_LOCALISABLE_APP_INFO;
+
+  embeddability=KAppNotEmbeddable;
+  newfile=KAppDoesNotSupportNewFile;
+  }
+
+</codeblock>
+<p>This <parmname>RESOURCE</parmname> definition contains the non-localizable
+properties of the <i>HelloWorldBasic</i> application, where</p>
+<ul>
+<li><p><parmname>HelloWorldBasic</parmname> is the name of the application
+executable</p></li>
+<li><p><parmname>STRING_r_helloworldbasic_loc_resource_file_1</parmname> contains
+the value <parmname>\\resource\\apps\\HelloWorldBasic</parmname> in all <parmname>rls</parmname> files.
+This is the location of the <i>HelloWorldBasic</i> resource files.</p>
+</li>
+<li><p><parmname>R_HELLOWORLDBASIC_LOCALISABLE_APP_INFO</parmname> is
+the identifier for the resource declared in <parmname>helloworldbasic.rss</parmname> that
+contains the short caption, caption, and icon information</p></li>
+<li><p><parmname>KAppNotEmbeddable</parmname> indicates that <i>HelloWorldBasic</i> is
+not embeddable</p></li>
+<li><p><parmname>KAppDoesNotSupportNewFile</parmname> indicates
+that <i>HelloWorldBasic</i> does not support new files</p></li>
+</ul>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-C9BEF1C4-F14A-5386-9DA8-29358694D7AA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C9BEF1C4-F14A-5386-9DA8-29358694D7AA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,32 +1,29 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-C9BEF1C4-F14A-5386-9DA8-29358694D7AA" xml:lang="en"><title>CClasses:
-typical ‘C’ class</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Description</title> <p>This shows a typical ‘C’ class, derived
-from <codeph>CBase</codeph>, and highlights the use of two phase construction
-and use of the cleanup stack to implement the complete construction of an
-instance of that class on the heap. </p> </section>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f7ec77dd-0d09-4301-be78-4c7fb7b8b3e9.zip" scope="external"> CClasses.zip</xref></p><p>Click on the following link to
-download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f7ec77dd-0d09-4301-be78-4c7fb7b8b3e9.html" scope="peer"> browse CClasses</xref> to view the example code. </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse CommonFramework</xref> to view additional
-files.</p></section>
-<section><title>Class summary</title><p><xref href="GUID-8F6FE089-E2A8-30F4-B67E-10F286347681.dita"><apiname>CBase </apiname></xref> <xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack </apiname></xref>  </p></section>
-<section><title>Build</title> <p>The example source code includes the two
-project files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian platform build
-process</xref> describes how to build this application, which results in an
-executable called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or udeb&gt;\CCLASSES.EXE</filepath>. </p> </section>
-<section><title>Usage</title> <p>Run the executable <filepath>CCLASSES.EXE</filepath>. </p> <p>Executables
-for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can
-be run on your PC. Executables for ARM targets must be copied to your target
-platform before being run. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C9BEF1C4-F14A-5386-9DA8-29358694D7AA" xml:lang="en"><title>CClasses: typical ‘C’ class</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-7137F634-A1D6-46F8-BEAC-9A5DA7368F67"><title>Description</title> <p>This shows a typical ‘C’ class,
+derived from <codeph>CBase</codeph>, and highlights the use of two
+phase construction and use of the cleanup stack to implement the complete
+construction of an instance of that class on the heap. </p> </section>
+<section id="GUID-C2E2DB97-35FE-4EB4-868E-BAE01C3C1D54"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-f7ec77dd-0d09-4301-be78-4c7fb7b8b3e9.zip" scope="external"> CClasses.zip</xref></p><p>Click on the following
+link to download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref>.</p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-f7ec77dd-0d09-4301-be78-4c7fb7b8b3e9.html" scope="peer"> browse CClasses</xref> to view the example code. </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">browse CommonFramework</xref> to view additional files.</p></section>
+<section id="GUID-8D419ABB-3FC2-4DD4-9814-EF952F962869"><title>Class summary</title><p><xref href="GUID-8F6FE089-E2A8-30F4-B67E-10F286347681.dita"><apiname>CBase </apiname></xref> <xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack </apiname></xref>  </p></section>
+<section id="GUID-920B0AEB-7E47-49DF-8F10-00CD759BEF5B"><title>Build</title> <p>The example source code includes
+the two project files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> The Symbian platform
+build process describes how to build this application, which results
+in an executable called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or udeb&gt;\CCLASSES.EXE</filepath>. </p> </section>
+<section id="GUID-741B2C92-DE6A-406C-9371-050618B1DEFF"><title>Usage</title> <p>Run the executable <filepath>CCLASSES.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can be run on your PC. Executables
+for ARM targets must be copied to your target platform before being
+run. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-CA1CE18E-DB40-5608-BE09-3767FB094AB2_d0e684979_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CA1CE18E-DB40-5608-BE09-3767FB094AB2_d0e697806_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CA2AACD9-A99D-4C34-80AF-C1B61AC9331F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CA2AACD9-A99D-4C34-80AF-C1B61AC9331F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 pane is with touch.</p>
 <fig id="GUID-68755854-AC6C-46B7-A3CD-ACBD707105B5">
 <title>Clock pane</title>
-<image href="GUID-53313E89-3E23-4004-BD10-771858657DAD_d0e95258_href.png" placement="inline"/>
+<image href="GUID-53313E89-3E23-4004-BD10-771858657DAD_d0e99456_href.png" placement="inline"/>
 </fig>
 <table id="GUID-D5917E40-42B1-461B-8722-C7AD66482078-GENID-1-12-1-7-1-1-5-1-22-1-1-4-1-5-1-3-3"><title>Default
 touch events for clock pane</title>
Binary file Symbian3/PDK/Source/GUID-CA7B2B53-B0DD-4830-90CF-15FD101C66F1_d0e67869_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CA7B2B53-B0DD-4830-90CF-15FD101C66F1_d0e72082_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e4941_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e4950_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CAB30473-7829-5F2E-9F45-A2344DEDFC35_d0e352049_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-CAB30473-7829-5F2E-9F45-A2344DEDFC35_d0e357977_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-CAC07A47-1475-5152-83AA-E59FD3AFF321.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,421 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-CAC07A47-1475-5152-83AA-E59FD3AFF321" xml:lang="en"><title>elf2e32
-command syntax</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Overview</title> <p>The <filepath>elf2e32</filepath> tool's
-primary function is to create executables (DLLs and EXEs) in the format required
-by Symbian platform, known as the E32Image format. The tool takes as input,
-the executables produced by a compiler in the standard Executable and Linking
-Format (ELF), and Symbian platform-specific options specified as command-line
-arguments to the tool. The tool is located in at <filepath>epoc32\tools\elf2e32.exe</filepath>. </p> <p><b>Invocation
-syntax </b> </p> <p> <codeph>elf2e32 [--capability=&lt;capabilities&gt;] [--compressionmethod
-          [none | inflate | bytepair]] [--debuggable] [--dlldata]        
-  [--definput=&lt;file-path&gt;] [--defoutput=&lt;file-path&gt;]           [--dso=&lt;file-path&gt;]
-[--dump=&lt;dump-options&gt;]           [--e32input=&lt;file-path&gt;] [--elfinput=&lt;file-path&gt;]
-[--fixedaddress]           [--heap=&lt;committed-size&gt;[,&lt;reserved-size&gt;]]
-[--help]           [--libpath=&lt;search-paths&gt;] [--linkas=&lt;name&gt;] [--namedlookup]
-          [--noexportlibrary] [--output=&lt;file-path&gt;] [--sid=&lt;secure-ID&gt;]
-          [--stack=&lt;size&gt;] [--sysdef=&lt;ordinal-number&gt;,&lt;symbol&gt;] 
-         [--targettype=&lt;target-type&gt;] [--uid1=&lt;UID&gt;] [--uid2=&lt;UID&gt;]
-          [--uid3=&lt;UID&gt;] [--uncompressed]</codeph>  </p> </section>
-<section><title>Options</title> <table id="GUID-40226F24-CBEA-5810-832A-9FEC90B108AB">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <b>Option</b>  </p> </entry>
-<entry><p> <b>Description</b>  </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>capability=&lt;capabilities&gt;</codeph>  </p> </entry>
-<entry><p>Platform security capabilities to be assigned to the executable. </p> <p>Capabilities
-can be specified by name using the set of identifiers used in mmp files, i.e.: <codeph>TCB</codeph>, <codeph>CommDD</codeph>, <codeph>PowerMgmt</codeph>, <codeph>MultimediaDD</codeph>, <codeph>ReadDeviceData</codeph>, <codeph>WriteDeviceData</codeph>, <codeph>DRM</codeph>, <codeph>TrustedUI</codeph>, <codeph>ProtServ</codeph>, <codeph>DiskAdmin</codeph>, <codeph>NetworkControl</codeph>, <codeph>AllFiles</codeph>, <codeph>SwEvent</codeph>, <codeph>NetworkServices</codeph>, <codeph>LocalServices</codeph>, <codeph>ReadUserData</codeph>, <codeph>WriteUserData</codeph>, <codeph>Location</codeph>, <codeph>SurroundingsDD</codeph>, and <codeph>UserEnvironment</codeph>. </p> <p>Multiple
-capabilities can be specified using "+" as a separator. For example: </p> <codeblock id="GUID-80CCAB8E-AA0C-5B48-9E68-59AB1670BCA6" xml:space="preserve">--capability=LocalServices+ReadDeviceData+ReadUserData</codeblock> <p>The
-special capability name <codeph>ALL</codeph> can be used to represent all
-capabilities supported by the current version of Symbian platform. This can
-also be used together with capability names prefixed with a '-' to indicate
-which capabilities to exclude. For example: </p> <codeblock id="GUID-08672BAE-CABA-564E-B49C-6AB6FA8E8BA5" xml:space="preserve">--capability=ALL-TCB-TrustedUI</codeblock> <p>The default is no capabilities though the word <codeph>NONE</codeph> can
-be used explicitly. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>debuggable</codeph>  </p> </entry>
-<entry><p>Specifies that the application can be debugged using the run-mode
-debug subsystem. Only executables (EXEs and EXEXPs) can be specified as <codeph>debuggable</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>definput=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Input DEF file. </p> <p>This is used to specify a DEF file when
-constructing a DLL and/or import library. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>defoutput=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Output DEF file. </p> <p>Specifies a DEF file to be constructed
-by the tool. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>dlldata</codeph>  </p> </entry>
-<entry><p>Allow writable static data in the DLL. </p> <p>The default is that
-a DLL may not have writable static data. For more information, see <xref href="GUID-5BDE6462-E6CA-5738-A587-C7D875574789.dita">Static
-data</xref>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>dso=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Output DSO (or library) file. </p> <p>Specifies the LIB file to
-be constructed by the tool. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>dump=&lt;dump-options&gt;</codeph>  </p> </entry>
-<entry><p>Used to specify the information generated when the <codeph>e32input</codeph> option
-is used. The sections to include are specified as follows: </p> <ul>
-<li id="GUID-840C91A5-4C8A-507A-A4A3-D78BA9A370D7"><p> <codeph>h</codeph>:
-Header </p> </li>
-<li id="GUID-4BE04059-6BA5-51D2-9581-74808320B726"><p> <codeph>s</codeph>:
-Security information </p> </li>
-<li id="GUID-F61A5E32-808F-553F-B65E-6DB64270434B"><p> <codeph>c</codeph>:
-Code section </p> </li>
-<li id="GUID-B61E0C72-4DEC-5160-BC55-FE4F9094B0D9"><p> <codeph>d</codeph>:
-Data section </p> </li>
-<li id="GUID-8D16EF3E-63E0-577D-9DEE-EAD64D5B342D"><p> <codeph>e</codeph>:
-Export information </p> </li>
-<li id="GUID-158B2410-6EBF-5D09-88E7-3CFC2E46DC25"><p> <codeph>I</codeph>:
-Import table </p> </li>
-</ul> </entry>
-</row>
-<row>
-<entry><p> <codeph>e32input=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Dumps a description of the specified E32Image file to standard output.
-The output describes the executable's properties such as its header, its imports
-and exports, and the contents of its code and data sections. Output options
-are specified using the <codeph>--dump</codeph> parameter. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>elfinput=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Input ELF file. </p> <p>Specifies a compiler-generated executable
-in ELF format to be converted into E32Image format by the tool. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>fixedaddress</codeph>  </p> </entry>
-<entry><p>Indicates that the process must have a fixed address. </p> <p>See <xref href="GUID-A16508C2-2743-5E36-BCFB-C509ACCD372F.dita">Fixed processes</xref> for
-more information. </p> <p>The default is no fixed address. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>heap=&lt;committed-size&gt;[,&lt;reserved-size&gt;]</codeph>  </p> </entry>
-<entry><p>The committed size and reserved size of the heap for the process,
-specified in bytes. </p> <p>The first value given is the committed size, followed
-by the reserved size which is optional. </p> <p>The default committed size
-is 0x1000 and the default reserved size is 0x100000. </p> <p>See <xref href="GUID-BFEBCD57-3C83-56D7-B7A3-B8A361725645.dita">Memory
-Management concepts</xref> for more information. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>help</codeph>  </p> </entry>
-<entry><p>Displays help text for the tool. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>libpath=&lt;search-paths&gt;</codeph>  </p> </entry>
-<entry><p>A semi-colon separated list of search paths that the tool should
-use to locate import libraries. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>linkas=&lt;name&gt;</codeph>  </p> </entry>
-<entry><p>The internal name used in the image file for the executable. This
-can include information that specifies the executable version (in braces)
-and the UID3 (in square brackets). For example, <codeph>foo{00020001}[10011235].exe</codeph>,
-would be used for an executable <filepath>foo.exe</filepath>, at version 2.1,
-with UID3 <codeph>0x10011235</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>log=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Redirects console log messages to the specified file </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>compressionmethod [none | inflate | bytepair]</codeph>  </p> </entry>
-<entry><p>The compression method to be used to compress the files. The tool
-uses the <codeph>inflate</codeph> method by default. </p> <p>The following
-compression methods can be used: </p> <p><table id="GUID-66F65203-1E4F-56D9-9AB8-7D47420C0B3B">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p>none </p> </entry>
-<entry><p>The files are not compressed. This is equivalent to using the <codeph>uncompressed</codeph> keyword. </p> <p> <b>Note</b>:
-The <codeph>uncompressed</codeph> keyword, when specified, takes precedence
-over any <codeph>compressionmethod</codeph>. </p> </entry>
-</row>
-<row>
-<entry><p>inflate </p> </entry>
-<entry><p>Compresses executable files using the default (Deflate, Huffman+LZ77)
-algorithm. </p> </entry>
-</row>
-<row>
-<entry><p>bytepair </p> </entry>
-<entry><p>Compresses executable files using the bytepair algorithm. Bytepair
-compression allows faster decompression than the default Deflate, Huffman+LZ77
-algorithm and supports demand paging by performing compression and decompression
-of code in independent 4KB pages. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>namedlookup</codeph>  </p> </entry>
-<entry><p>Enables symbol lookup by name using the <xref href="http://www.opengroup.org/onlinepubs/009695399/functions/dlsym.html" scope="external">dlsym</xref> Open Group API. This option has an impact on
-the binary size as Symbian platform binaries do not include symbol information
-by default. </p> <p> <b>Note</b>: If the tool is invoked by the Symbian platform
-build toolchain, symbol lookup is enabled for the <codeph>STDEXE</codeph> and <codeph>STDDLL</codeph> target
-types only. To enable symbol lookup for other target types, the tool must
-be invoked independently. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>noexportlibrary</codeph>  </p> </entry>
-<entry><p>Suppress implicit exports. </p> <p>As part of the library exports,
-the RVCT tools generate items not marked as <codeph>EXPORT_C</codeph> in the
-source code. These include Virtual Table and Run-time Type Information entries.
-Specifying this option causes the tool not to include these exports. </p> <p>For
-background information, see <filepath>cedar\generic\tools\documentation\Migrating_from_RVCT21_build_328_to_build_416_v1.0.doc</filepath>. </p> <p>The default is to include these items generated by RVCT. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>output=&lt;file-path&gt;</codeph>  </p> </entry>
-<entry><p>Output E32 image file name. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>sid=&lt;secure-ID&gt;</codeph>  </p> </entry>
-<entry><p>Secure ID (SID) of the executable. </p> <p>An SID identifies an
-executable uniquely on a phone. This allows service providers such as servers
-to make security checks on the basis of the executable making the request. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>stack=&lt;size&gt;</codeph>  </p> </entry>
-<entry><p>Specifies the stack size for a process in bytes. </p> <p>The default
-is 0. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>sysdef=&lt;ordinal-number&gt;, &lt;symbol&gt;</codeph>  </p> </entry>
-<entry><p>This option forces the specified symbol to be exported at the specified
-ordinal position. </p> <p>This is required for some target types (polymorphic
-DLLs). </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>targettype=&lt;target-type&gt;</codeph>  </p> </entry>
-<entry><p>Target type. The vaild types are as specified by the mmp <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref> keyword. </p> <p>If <codeph>elfinput</codeph> is specified and there is no targettype,
-a <xref href="GUID-9605B59D-F9DB-4BA3-8C87-1C5205976CBB.dita#GUID-9605B59D-F9DB-4BA3-8C87-1C5205976CBB/GUID-cd54fdec-8587-4d01-b839-d23af95c76b8">Custom
-target</xref> is assumed. </p> <p>An <codeph>IMPLIB</codeph> target is assumed
-if <codeph>--elfinput</codeph> is not specified and <codeph>-deffilein</codeph> is
-specified. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uid1=&lt;UID&gt;</codeph>  </p> </entry>
-<entry><p>UID 1 value for output executable. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uid2=&lt;UID&gt;</codeph>  </p> </entry>
-<entry><p>UID 2 value for output executable. </p> <p>The default is 0. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uid3=&lt;UID&gt;</codeph>  </p> </entry>
-<entry><p>UID 3 value for output executable. </p> <p>The default is 0. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uncompressed</codeph>  </p> </entry>
-<entry><p>Specifies that the target executable must not be compressed. </p> <p>By
-default, the target executable is compressed. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>unfrozen</codeph>  </p> </entry>
-<entry><p>Specifies that the input DEF file (specified with <codeph>--definput</codeph>)
-is not treated as frozen. This means that the tool will not report errors
-if the executable does not contain symbols that are specified in the DEF file. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>vid</codeph>  </p> </entry>
-<entry><p>Vendor ID (VID) of the executable. </p> <p>A VID allows service
-providers such as servers to make security checks on the basis of the supplier
-of the executable making the request. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>The following table specifies whether an option is required, optional
-or not applicable (N/A) for the main use cases of the tool (namely creating
-DLLs, EXEs, EXEs with exports (EXEXP target), and import libraries (IMPLIB
-target)). </p> <table id="GUID-E566D771-4098-5A82-8FBF-4C061D76BEEF">
-<tgroup cols="5"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/>
-<tbody>
-<row>
-<entry><p> <b>Option</b>  </p> </entry>
-<entry><p> <b>DLL (static/polymorphic)</b>  </p> </entry>
-<entry><p> <b>EXE</b>  </p> </entry>
-<entry><p> <b>EXEXP</b>  </p> </entry>
-<entry><p> <b>IMPORT LIB</b>  </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>capability</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>debuggable</codeph>  </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>dlldata</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>definput</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>required </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>defoutput</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>dso</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>elfinput</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>fixedaddress</codeph>  </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>heap</codeph>  </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>libpath</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>linkas</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>noexportlibrary</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>output</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>sid</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>stack</codeph>  </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>no </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>sysdef</codeph>  </p> </entry>
-<entry><p>Required for polymorphic DLL target types only </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>targettype</codeph>  </p> </entry>
-<entry><p>DLL, or polymorphic DLL target type </p> </entry>
-<entry><p>EXE </p> </entry>
-<entry><p>EXEXP </p> </entry>
-<entry><p>IMPLIB </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uid1</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uid2</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uid3</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>uncompressed</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>unfrozen</codeph>  </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-<entry><p>optional </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>vid</codeph>  </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>required </p> </entry>
-<entry><p>N/A </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-CADAFAF2-24E9-5007-9C2F-5453E8062074.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CADAFAF2-24E9-5007-9C2F-5453E8062074.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 audio resources, initialization and configuration of hardware devices, and
 playing and recording audio. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 
-<section id="GUID-5364D394-21F7-5327-BCD3-8F91DB5EEC8D-GENID-1-12-1-21-1-1-14-1-5-1-4-1-5-1-4-1-3-1"><title>Required background</title> <p>Before
+<section id="GUID-5364D394-21F7-5327-BCD3-8F91DB5EEC8D-GENID-1-12-1-22-1-1-15-1-5-1-4-1-5-1-4-1-3-1"><title>Required background</title> <p>Before
 you start, you must: </p> <ul>
 <li id="GUID-67BD381F-4B0B-5B87-9439-7B72DBF29AFD"><p>Understand the <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound Component</xref> to
 which the DevSound library belongs. </p> </li>
--- a/Symbian3/PDK/Source/GUID-CB163645-CB5E-4DB5-9830-B97D12FDCBF5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CB163645-CB5E-4DB5-9830-B97D12FDCBF5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 In this case it is fixed in the layout.</p>
 <fig id="GUID-FF02BFFC-828C-4D17-BF2E-D46A3C0EC4F0">
 <title>Volume control UI component </title>
-<image href="GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e90859_href.png" placement="inline"/>
+<image href="GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e95057_href.png" placement="inline"/>
 </fig>
 <table id="GUID-FA0F7D39-967B-4429-B2C6-A7A856179112"><title>Default touch
 events for volume pop-up</title>
--- a/Symbian3/PDK/Source/GUID-CB3FC449-7994-5510-BD78-F1638CD48A9D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CB3FC449-7994-5510-BD78-F1638CD48A9D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -87,7 +87,7 @@
 it is not recommended. </p> <p>If required, the client can disable a profile.
 The client can then delete the <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object. </p> <p>The
 following illustration shows the SDP Profile API class structure. </p> <fig id="GUID-333B9964-A742-55C4-A731-FF172B930C16">
-<image href="GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e549917_href.png" placement="inline"/>
+<image href="GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e557373_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-CBB17EE7-FA26-5D08-942B-223C6C5B5205"><title>Memory used</title> <p>The
 amount of memory used by a profile depends on its content. A normal usage
Binary file Symbian3/PDK/Source/GUID-CB4E1B33-470F-581A-BC32-99752C2A0DFE_d0e535589_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-CB4E1B33-470F-581A-BC32-99752C2A0DFE_d0e543049_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-CB548959-A1D6-4585-B8E3-B09E37E0CB43.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CB548959-A1D6-4585-B8E3-B09E37E0CB43.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -32,7 +32,7 @@
 but application can decide to disable it.</p>
 <fig id="GUID-425291FD-35BB-4145-A509-9BBC5B18022C">
 <title>Two row list in stretched mode in landscape layout</title>
-<image href="GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e81253_href.png" placement="inline"/>
+<image href="GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e85451_href.png" placement="inline"/>
 </fig>
 <section id="GUID-A3F9AF92-392F-4EF6-8CFB-5B8CF0AA5210"><title>Using
 list layouts in applications</title><p>The API to use for lists is the <xref format="html" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html" scope="peer">Lists API</xref>. For implementation information, see <xref format="htrml" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html#Lists_API_Specification.topic3" scope="peer">Using the Lists API</xref>.</p><p>For grids, the APIs to use
--- a/Symbian3/PDK/Source/GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,17 +11,17 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782"><title>Network Protocol Module API</title><shortdesc>This document describes the Network Protocol Module API that device creators use to develop their own Network Protocol Modules. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Contents</title> <ul><li id="GUID-E10D1711-CDF1-5D84-B31C-9EABA33EDA13"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-0474B8C6-C136-5106-B1D7-F9C9D29C4B5C">Purpose</xref>  </p> </li> <li id="GUID-03A88FE5-E7FF-5419-A918-AB7281214B36"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-770450CB-F7A8-52CF-8567-D4C2A10C093A">Introduction</xref>  </p> </li> <li id="GUID-F76EA1F7-8592-563F-8ADD-4C3D5DC73C70"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-78FAF5FC-FE2E-580B-A937-EFA61834CD0E">Network Protocol Module API description</xref>  </p> </li> <li id="GUID-2F039FA6-737B-5F03-891B-840DF39E0CFB"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-FE060846-86FD-5E89-99CB-10E6433120F4">Using the Network Protocol Module API</xref>  </p> </li> <li id="GUID-A131C0D2-F71E-5AD2-BF16-A491408F153B"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-F4DA8C85-7F74-5FA6-BF05-1DC2636AD764">Network Protocol Module configuration</xref>  </p> </li> <li id="GUID-90F0A861-8E04-5B37-B63A-EFC88C18FFFE"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-CF0C5893-5871-51FA-8AA5-9889010ED031">Loading the Network Protocol Module</xref>  </p> </li> <li id="GUID-EC92600E-E7BF-57B4-9D19-14849183F414"><p><xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-6CCBFCC2-0948-5929-BDB8-B91E479C79F9">See also</xref>  </p> </li> </ul> </section> <section id="GUID-0474B8C6-C136-5106-B1D7-F9C9D29C4B5C"><title>Purpose</title> <p>A Network Protocol Module is an ECOM plug-in that provides network connectivity for the LBS subsystem. A Network Protocol Module typically supports one Location Based Services network protocol. Location Based Services network protocols are used by the LBS subsystem for the following purposes: </p> <ul><li id="GUID-E10F3069-67E0-5AE5-8A53-F8707C5BB027"><p>To receive location requests from the network. </p> </li> <li id="GUID-61D90CB4-6F74-5B85-B1B3-EC246937BDBA"><p>To send requests for A-GPS assistance data to the network and to receive it. </p> </li> <li id="GUID-41E09C92-B6A9-5071-92F2-CE6BA23E05CA"><p>To send GPS-calculated positions and GPS measurements to the network and to receive calculated positions from the network. </p> </li> </ul> <p>Network Protocol Modules can be classified into two groups, depending on the network operator's network architecture that they are intended to interface with: </p> <ul><li id="GUID-7D75D9E5-E825-5E40-8C84-F77A16D83E98"><p> <i>Control plane architectures</i> use the circuit-switched mobile network and signalling layer to support Location Based Services. </p> <p>To integrate the Symbian LBS subsystem with a control plane architecture, a Symbian licensee must implement their own control plane Network Protocol Module using the Network Protocol Module API described in this document. </p> </li> <li id="GUID-6A3526E2-8C80-56F7-912C-3A892DEBCDEE"><p> <i>User plane architectures</i> use IP bearers independently of the circuit-switched signalling layer. SMS or WAP Push can also be used to initiate location requests. The OMA Secure User Plane Location (SUPL) architecture describes a model for supporting IP-based Location Based Services. </p> <p>Symbian provides a reference <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> that supports the OMA SUPL v1.0 standard, using the 3GPP Radio Resource LCS Protocol (RRLP) as the protocol payload. The reference SUPL Protocol Module implements the Network Protocol Module API. </p> </li> </ul> <p><xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS architecture overview</xref> gives more details of how a Network Protocol Module fits into the LBS subsystem. </p> </section> <section id="GUID-770450CB-F7A8-52CF-8567-D4C2A10C093A"><title>Introduction</title> <p>A Network Protocol Module is an ECOM plug-in DLL. It communicates with the LBS Network Gateway process via the Network Protocol API and with the network via either the ETel or ESock APIs as shown in figure 1. </p> <fig id="GUID-4E4828B3-2EB3-507B-A2EC-85FA3B096D34"><title>
              Figure 1. The Network Gateway Framework 
-          </title> <image href="GUID-749B7949-8731-519E-8948-CA3E1C5D6861_d0e445911_href.png" placement="inline"/></fig> <p>A Network Protocol Module has several functions: </p> <ul><li id="GUID-B0D80EFC-7B08-5387-88E4-78E814CA1C33"><p>Translating method calls from the LBS subsystem into protocol specific messages which are sent over the network </p> </li> <li id="GUID-8B537CB1-B74A-5CCD-A3C4-518362A4866E"><p>Translating protocol specific messages received from the network into method calls on the LBS subsystem </p> </li> <li id="GUID-9EEB1554-CA73-5DB4-91AA-48470B808207"><p>Queueing and prioritising messages received from the network and messages to be sent to the network </p> </li> <li id="GUID-1299C065-7AF9-5AB8-9ED0-EB3E8CCBC4FC"><p>Performing conflict resolution when a request is made which conflicts with ongoing location requests being processed by the LBS subsystem </p> </li> </ul> <p>Licensees can configure the LBS subsystem to load a different Network Protocol Module when the mobile device is in the home network and when roaming. For example, it is possible to configure LBS to load a licensee control plane Network Protocol Module in the home network and the Symbian reference SUPL Protocol Module when roaming. See <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-CF0C5893-5871-51FA-8AA5-9889010ED031">Loading the Network Protocol Module</xref> for more details. </p> <p>A Symbian licensee must create a Network Protocol Module to integrate the Symbian LBS subsystem with a control plane architecture. A control plane Network Protocol Module uses the ETel API and the telephony stack for network communications. Symbian does not provide a reference control plane Network Protocol Module. </p> <p>Symbian provides a reference Network Protocol Module that implements the SUPL v1.0 user plane architecture with RRLP as the protocol data payload. See <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> documentation for more information about this reference module. The SUPL Protocol Module may meet the requirements of Symbian licensees and network operators and so it may not be necessary for licensees to create a custom Network Protocol Module using the API described in this document. </p> <p>Symbian also provide a <i>Test Network Protocol Module</i> as part of the LBS subsystem code distribution which can be found at <filepath>&lt;LBS_ROOT&gt;\LbsProtocolModule</filepath>. The test protocol module is not a production quality module for use in a mobile device, neither is it a reference implementation. Its main purpose is to facilitate Symbian's own testing of the LBS subsystem. </p> </section> <section id="GUID-78FAF5FC-FE2E-580B-A937-EFA61834CD0E"><title>Network Protocol Module API description</title> <p>This section describes the classes of the Network Protocol Module API. </p> <p><b>API class diagram </b> </p> <p>A Network Protocol Module and the LBS Network Gateway process communicate using the Network Protocol Module API. The API consists of classes in an observer/observable design pattern. </p> <p>Figure 2 shows the main classes of the Network Protocol Module API. Note that this diagram does not list all of the classes of the API and excludes numerous T classes that are used as method parameters. </p> <p> <b>Note that the virtual methods of CLbsNetworkProtocolBase and CLbsNetworkProtocolBase2 are synchronous and their implementations must return quickly (for example by queueing requests and returning immediately).</b>  </p> <fig id="GUID-2B79661F-CE43-5A59-B966-AA7024A5D5E1"><title>
+          </title> <image href="GUID-749B7949-8731-519E-8948-CA3E1C5D6861_d0e451756_href.png" placement="inline"/></fig> <p>A Network Protocol Module has several functions: </p> <ul><li id="GUID-B0D80EFC-7B08-5387-88E4-78E814CA1C33"><p>Translating method calls from the LBS subsystem into protocol specific messages which are sent over the network </p> </li> <li id="GUID-8B537CB1-B74A-5CCD-A3C4-518362A4866E"><p>Translating protocol specific messages received from the network into method calls on the LBS subsystem </p> </li> <li id="GUID-9EEB1554-CA73-5DB4-91AA-48470B808207"><p>Queueing and prioritising messages received from the network and messages to be sent to the network </p> </li> <li id="GUID-1299C065-7AF9-5AB8-9ED0-EB3E8CCBC4FC"><p>Performing conflict resolution when a request is made which conflicts with ongoing location requests being processed by the LBS subsystem </p> </li> </ul> <p>Licensees can configure the LBS subsystem to load a different Network Protocol Module when the mobile device is in the home network and when roaming. For example, it is possible to configure LBS to load a licensee control plane Network Protocol Module in the home network and the Symbian reference SUPL Protocol Module when roaming. See <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-CF0C5893-5871-51FA-8AA5-9889010ED031">Loading the Network Protocol Module</xref> for more details. </p> <p>A Symbian licensee must create a Network Protocol Module to integrate the Symbian LBS subsystem with a control plane architecture. A control plane Network Protocol Module uses the ETel API and the telephony stack for network communications. Symbian does not provide a reference control plane Network Protocol Module. </p> <p>Symbian provides a reference Network Protocol Module that implements the SUPL v1.0 user plane architecture with RRLP as the protocol data payload. See <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> documentation for more information about this reference module. The SUPL Protocol Module may meet the requirements of Symbian licensees and network operators and so it may not be necessary for licensees to create a custom Network Protocol Module using the API described in this document. </p> <p>Symbian also provide a <i>Test Network Protocol Module</i> as part of the LBS subsystem code distribution which can be found at <filepath>&lt;LBS_ROOT&gt;\LbsProtocolModule</filepath>. The test protocol module is not a production quality module for use in a mobile device, neither is it a reference implementation. Its main purpose is to facilitate Symbian's own testing of the LBS subsystem. </p> </section> <section id="GUID-78FAF5FC-FE2E-580B-A937-EFA61834CD0E"><title>Network Protocol Module API description</title> <p>This section describes the classes of the Network Protocol Module API. </p> <p><b>API class diagram </b> </p> <p>A Network Protocol Module and the LBS Network Gateway process communicate using the Network Protocol Module API. The API consists of classes in an observer/observable design pattern. </p> <p>Figure 2 shows the main classes of the Network Protocol Module API. Note that this diagram does not list all of the classes of the API and excludes numerous T classes that are used as method parameters. </p> <p> <b>Note that the virtual methods of CLbsNetworkProtocolBase and CLbsNetworkProtocolBase2 are synchronous and their implementations must return quickly (for example by queueing requests and returning immediately).</b>  </p> <fig id="GUID-2B79661F-CE43-5A59-B966-AA7024A5D5E1"><title>
              Figure 2. Main classes of the Network Protocol API 
-          </title> <image href="GUID-A6E7C805-0515-5F3F-97DB-B5E1A84162B2_d0e445991_href.png" placement="inline"/></fig> <p><b>API classes and types </b> </p> <p>Table 1 lists the main classes of the Network Protocol Module API. Further details about the classes can be found by following the links to reference documentation. </p> <p>The main classes are defined in <filepath>lbsnetprotocolbase.h</filepath>. Additional API classes and types that are used as API method parameters are defined in <filepath>lbsnetcommon.h</filepath> and <filepath>lbsnetclasstypes.h</filepath>. </p> <p>The Network Protocol Module API has <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-76FAD546-57EB-5046-872A-B551AA94B3E7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref>  </p> </entry> <entry><p>The original base class for Network Protocol Module implementations. This class is extended by <xref href="GUID-AD071127-974A-35B4-A39F-340CDC6A1A81.dita"><apiname>CLbsNetworkProtocolBase2</apiname></xref> which should be used for new Network Protocol Module implementations. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-AD071127-974A-35B4-A39F-340CDC6A1A81.dita"><apiname>CLbsNetworkProtocolBase2</apiname></xref>  </p> </entry> <entry><p>Extended base class for Network Protocol Module implementations that should be used for new Network Protocol Module implementations. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita"><apiname> MLbsNetworkProtocolObserver</apiname></xref>  </p> </entry> <entry><p>The observer interface implemented by the LBS Network Gateway and used by a Network Protocol Module to forward network requests and information to the LBS subsystem. It is also the interface that a protocol module uses to provide responses to requests made by the LBS subsystem via <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref>. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D7707B28-D173-3F41-899C-6BEE3C8C3D74.dita"><apiname> MLbsNetworkProtocolObserver2</apiname></xref>  </p> </entry> <entry><p>An extended observer interface. This is not yet implemented by the LBS subsystem. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 1 Classes of the Network Protocol Module API.</i>  </p> <p>Network Protocol Modules derive from <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref> or <xref href="GUID-AD071127-974A-35B4-A39F-340CDC6A1A81.dita"><apiname>CLbsNetworkProtocolBase2</apiname></xref>. The LBS subsystem implements the <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita"><apiname>MLbsNetworkProtocolObserver</apiname></xref> interface to interact with a Network Protocol Module. </p> <p><b>Libraries </b> </p> <p>The main classes of the Network Protocol Module API are packaged in <filepath>lbsnetprotocol.dll</filepath>. Network Protocol Module implementations link to <filepath>lbsnetprotocol.lib</filepath>. </p> <p><b>LBS configuration </b> </p> <p>In addition to creating and installing a Network Protocol Module, the <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration settings</xref> <codeph>KLbsSettingHomeProtocolModule</codeph> and <codeph>KLbsSettingRoamingProtocolModule</codeph> must be set to the implementation UIDs of the appropriate Network Protocol Module ECOM plug-ins for LBS to load and use them. See <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-CF0C5893-5871-51FA-8AA5-9889010ED031">Loading the Network Protocol Module</xref> for more information. </p> </section> <section id="GUID-FE060846-86FD-5E89-99CB-10E6433120F4"><title> Using the Network Protocol Module API</title> <p>A Network Protocol Module communicates with two other software components: </p> <ul><li id="GUID-D48F33D4-1BF4-53AE-A86F-CF70F90D5FAF"><p>The LBS Network Gateway process </p> <p>The Network Gateway process communicates with the other components of the LBS subsystem. It is responsible for: </p> <ol id="GUID-856B4F05-80D0-5810-942B-FDAD39418EF7"><li id="GUID-CDCA4733-48C3-5DE9-9A9C-E16BC77F32B4"><p>Handling requests for location from the LBS subsystem and sending them to the network via the Network Protocol Module </p> </li> <li id="GUID-CBC7AD37-EED9-5ACD-8788-AB90C3D3E436"><p>Receiving a reference position (based on Cell ID) from the network via the Network Protocol Module and sending it into LBS in response to 1. </p> </li> <li id="GUID-87B83DC3-F431-55BC-A4DF-3B984A11F2AF"><p>Handling requests for A-GPS assistance data from an A-GPS Integration Module and sending them to the network via the Network Protocol Module </p> </li> <li id="GUID-BECEF30D-3D49-56FF-B61C-F9AF6BD820CB"><p>Receiving A-GPS assistance data from the network via the Network Protocol Module and sending it to the A-GPS Location Manager in response to 3. </p> </li> <li id="GUID-53719E58-C76F-5D75-A874-0C361E14FB15"><p>Handling requests from the LBS subsystem to send device location data to a third party over the network (MO-LR transmit to third party). </p> </li> <li id="GUID-589FDE9F-9012-5857-81E8-676C33513685"><p>Receiving privacy requests and location requests from the network (MT-LR and Emergency MT-LR) via the Network Protocol Module and forwarding them to the LBS subsystem. </p> </li> <li id="GUID-7A8AD974-6545-5B2A-8DDC-5A6AF619104F"><p>Sending responses to MT-LR privacy requests and location requests to the network via the Network Protocol Module in response to 6. </p> </li> </ol> </li> <li id="GUID-55F2693F-2F1C-553C-A5E2-41F47D802061"><p>A network communications stack </p> <p>A Network Protocol Module that integrates with the control plane uses the Symbian ETel API. </p> <p>A Network Protocol Module that integrates with the user plane uses the Symbian ESock API. The Symbian reference <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> is a user plane Network Protocol Module. </p> </li> </ul> <p>Figures 3, 4 and 5 show simple sequences of interaction between the LBS Network Gateway process, the Network Protocol Module and the network for MO-LR (self locate), MO-LR (transfer to third party) and MT-LR. </p> <p>The behaviour of a Network Protocol Module can be complex when it is linked to a A-GPS Integration Module. Several detailed end-to-end sequence diagrams that document the behaviour of the LBS subsystem including the behaviour expected from a Network Protocol Module can be found in <xref href="GUID-D9EA897E-71FB-5012-8208-49300A19D22C.dita">LBS Sequence Diagrams</xref>. </p> <p> </p> <fig id="GUID-C3A0E3A3-4111-5F0D-ACF2-60DF51FED49C"><title>
+          </title> <image href="GUID-A6E7C805-0515-5F3F-97DB-B5E1A84162B2_d0e451836_href.png" placement="inline"/></fig> <p><b>API classes and types </b> </p> <p>Table 1 lists the main classes of the Network Protocol Module API. Further details about the classes can be found by following the links to reference documentation. </p> <p>The main classes are defined in <filepath>lbsnetprotocolbase.h</filepath>. Additional API classes and types that are used as API method parameters are defined in <filepath>lbsnetcommon.h</filepath> and <filepath>lbsnetclasstypes.h</filepath>. </p> <p>The Network Protocol Module API has <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-76FAD546-57EB-5046-872A-B551AA94B3E7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class/type name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref>  </p> </entry> <entry><p>The original base class for Network Protocol Module implementations. This class is extended by <xref href="GUID-AD071127-974A-35B4-A39F-340CDC6A1A81.dita"><apiname>CLbsNetworkProtocolBase2</apiname></xref> which should be used for new Network Protocol Module implementations. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-AD071127-974A-35B4-A39F-340CDC6A1A81.dita"><apiname>CLbsNetworkProtocolBase2</apiname></xref>  </p> </entry> <entry><p>Extended base class for Network Protocol Module implementations that should be used for new Network Protocol Module implementations. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita"><apiname> MLbsNetworkProtocolObserver</apiname></xref>  </p> </entry> <entry><p>The observer interface implemented by the LBS Network Gateway and used by a Network Protocol Module to forward network requests and information to the LBS subsystem. It is also the interface that a protocol module uses to provide responses to requests made by the LBS subsystem via <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref>. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D7707B28-D173-3F41-899C-6BEE3C8C3D74.dita"><apiname> MLbsNetworkProtocolObserver2</apiname></xref>  </p> </entry> <entry><p>An extended observer interface. This is not yet implemented by the LBS subsystem. </p> </entry> <entry><p> <filepath>lbsnetprotocolbase.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p> <i>Table 1 Classes of the Network Protocol Module API.</i>  </p> <p>Network Protocol Modules derive from <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref> or <xref href="GUID-AD071127-974A-35B4-A39F-340CDC6A1A81.dita"><apiname>CLbsNetworkProtocolBase2</apiname></xref>. The LBS subsystem implements the <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita"><apiname>MLbsNetworkProtocolObserver</apiname></xref> interface to interact with a Network Protocol Module. </p> <p><b>Libraries </b> </p> <p>The main classes of the Network Protocol Module API are packaged in <filepath>lbsnetprotocol.dll</filepath>. Network Protocol Module implementations link to <filepath>lbsnetprotocol.lib</filepath>. </p> <p><b>LBS configuration </b> </p> <p>In addition to creating and installing a Network Protocol Module, the <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration settings</xref> <codeph>KLbsSettingHomeProtocolModule</codeph> and <codeph>KLbsSettingRoamingProtocolModule</codeph> must be set to the implementation UIDs of the appropriate Network Protocol Module ECOM plug-ins for LBS to load and use them. See <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita#GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782/GUID-CF0C5893-5871-51FA-8AA5-9889010ED031">Loading the Network Protocol Module</xref> for more information. </p> </section> <section id="GUID-FE060846-86FD-5E89-99CB-10E6433120F4"><title> Using the Network Protocol Module API</title> <p>A Network Protocol Module communicates with two other software components: </p> <ul><li id="GUID-D48F33D4-1BF4-53AE-A86F-CF70F90D5FAF"><p>The LBS Network Gateway process </p> <p>The Network Gateway process communicates with the other components of the LBS subsystem. It is responsible for: </p> <ol id="GUID-856B4F05-80D0-5810-942B-FDAD39418EF7"><li id="GUID-CDCA4733-48C3-5DE9-9A9C-E16BC77F32B4"><p>Handling requests for location from the LBS subsystem and sending them to the network via the Network Protocol Module </p> </li> <li id="GUID-CBC7AD37-EED9-5ACD-8788-AB90C3D3E436"><p>Receiving a reference position (based on Cell ID) from the network via the Network Protocol Module and sending it into LBS in response to 1. </p> </li> <li id="GUID-87B83DC3-F431-55BC-A4DF-3B984A11F2AF"><p>Handling requests for A-GPS assistance data from an A-GPS Integration Module and sending them to the network via the Network Protocol Module </p> </li> <li id="GUID-BECEF30D-3D49-56FF-B61C-F9AF6BD820CB"><p>Receiving A-GPS assistance data from the network via the Network Protocol Module and sending it to the A-GPS Location Manager in response to 3. </p> </li> <li id="GUID-53719E58-C76F-5D75-A874-0C361E14FB15"><p>Handling requests from the LBS subsystem to send device location data to a third party over the network (MO-LR transmit to third party). </p> </li> <li id="GUID-589FDE9F-9012-5857-81E8-676C33513685"><p>Receiving privacy requests and location requests from the network (MT-LR and Emergency MT-LR) via the Network Protocol Module and forwarding them to the LBS subsystem. </p> </li> <li id="GUID-7A8AD974-6545-5B2A-8DDC-5A6AF619104F"><p>Sending responses to MT-LR privacy requests and location requests to the network via the Network Protocol Module in response to 6. </p> </li> </ol> </li> <li id="GUID-55F2693F-2F1C-553C-A5E2-41F47D802061"><p>A network communications stack </p> <p>A Network Protocol Module that integrates with the control plane uses the Symbian ETel API. </p> <p>A Network Protocol Module that integrates with the user plane uses the Symbian ESock API. The Symbian reference <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref> is a user plane Network Protocol Module. </p> </li> </ul> <p>Figures 3, 4 and 5 show simple sequences of interaction between the LBS Network Gateway process, the Network Protocol Module and the network for MO-LR (self locate), MO-LR (transfer to third party) and MT-LR. </p> <p>The behaviour of a Network Protocol Module can be complex when it is linked to a A-GPS Integration Module. Several detailed end-to-end sequence diagrams that document the behaviour of the LBS subsystem including the behaviour expected from a Network Protocol Module can be found in <xref href="GUID-D9EA897E-71FB-5012-8208-49300A19D22C.dita">LBS Sequence Diagrams</xref>. </p> <p> </p> <fig id="GUID-C3A0E3A3-4111-5F0D-ACF2-60DF51FED49C"><title>
              Figure 3. Simple MO-LR self locate sequence (for terminal based
              positioning) 
-          </title> <image href="GUID-D98DA21C-B0F4-5267-AF00-94B789AE302A_d0e446285_href.png" placement="inline"/></fig> <fig id="GUID-74F19B87-DE33-5DEC-A15B-C5DEB4A864BF"><title>
+          </title> <image href="GUID-D98DA21C-B0F4-5267-AF00-94B789AE302A_d0e452130_href.png" placement="inline"/></fig> <fig id="GUID-74F19B87-DE33-5DEC-A15B-C5DEB4A864BF"><title>
              Figure 4. Simple MO-LR transfer to third party sequence (for terminal
              based positioning) 
-          </title> <image href="GUID-CE49EF9C-C87A-5D4C-91F3-5C2950A5553B_d0e446291_href.png" placement="inline"/></fig> <fig id="GUID-CAB47FC4-249B-5256-90E1-EE94F9577C8E"><title>
+          </title> <image href="GUID-CE49EF9C-C87A-5D4C-91F3-5C2950A5553B_d0e452136_href.png" placement="inline"/></fig> <fig id="GUID-CAB47FC4-249B-5256-90E1-EE94F9577C8E"><title>
              Figure 5. Simple MT-LR sequence (for terminal based positioning) 
-          </title> <image href="GUID-C103A584-3498-5F0A-8F0B-F97D33749CEF_d0e446297_href.png" placement="inline"/></fig> <p><b>CLbsNetworkProtocolBase </b> </p> <p>The following briefly describes the <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref> methods grouped according to their function. The LBS Network Gateway process calls these methods on the licensee Network Protocol Module. More detailed information about the purpose of these methods and their parameter lists can be found by following the links to the Symbian platform reference documentation. </p> <p> <b>Setting tracking mode (if necessary)</b>  </p> <p>For MO-LR self locate, an application client can ask the LBS subsystem for periodic location updates. This is known as tracking and is described in the Location Acquisition API document <xref href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita">How to get location information</xref>. </p> <p>When a client requests tracking, the LBS subsystem notifies a Network Protocol Module of this requirement by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-367DC79E-CB61-3EFB-9928-104F5B6A0021"><apiname>CLbsNetworkProtocolBase::AdviceSystemStatus()</apiname></xref> with a parameter value <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-1546BC54-76FC-3C4C-BA99-CB13027687EE"><apiname>CLbsNetworkProtocolBase::ESystemStatusClientTracking</apiname></xref>. This method is called before the first location request <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref> described below. </p> <p>When there are no longer any tracking LBS clients, the LBS subsystem notifies a Network Protocol Module by calling <codeph>AdviceSystemStatus()</codeph> with a parameter value <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-B71C5F74-2673-3AFE-813C-41A91E661FD8"><apiname>CLbsNetworkProtocolBase::ESystemStatusNone</apiname></xref>. </p> <p> <b>Requesting and cancelling MO-LR (self locate)</b>  </p> <ul><li id="GUID-712CCD16-B4B3-55A7-8B25-8B39DBD1867E"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref> </p> <p>This method is called to initiate an MO-LR (self locate) when GPS is to be used to obtain a location. In cases where the precision of a GPS fix is not required (for example because of less demanding location quality criteria), the method <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref> may be called instead for MO-LR (see below). </p> </li> <li id="GUID-ED729CC1-01D9-5420-9A5E-F448D7960F89"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-D2C7B03B-8EB8-3CEB-B35E-2EC0B1DB4A04"><apiname>CLbsNetworkProtocolBase::CancelSelfLocation()</apiname></xref>  </p> <p>This method is called to cancel an outstanding MO-LR which was made by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref>. </p> </li> </ul> <p> <b>Requesting and cancelling MO-LR (self locate) from the network</b>  </p> <ul><li id="GUID-1CF3D7CE-C425-573A-8659-EB7DB6D17050"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref> </p> <p>This method is called to initiate an MO-LR when the precision of GPS is not required. In cases where the precision of a GPS fix is required, the method <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref> is called instead. </p> </li> <li id="GUID-0185B725-39EA-5CEC-AA64-00A877791A03"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-6AA30D7B-3281-39BE-B314-8666809D80A9"><apiname>CLbsNetworkProtocolBase::CancelNetworkLocation()</apiname></xref> </p> <p>This method is called to cancel an outstanding MO-LR which was made by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref>. </p> </li> </ul> <p> <b>Requesting and cancelling of MO-LR (transmit to third party)</b>  </p> <ul><li id="GUID-F414CB99-1A53-511B-9A59-1E10E4C57D54"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-EF593B81-667B-36CB-9457-0B683B76468F"><apiname>CLbsNetworkProtocolBase::RequestTransmitLocation()</apiname></xref> </p> <p>This method is called to send location to a third party. </p> </li> <li id="GUID-906C761E-E497-5AA8-AA93-202FD446BF09"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-70188A68-C4CD-3079-B64F-AF3D10CB990D"><apiname>CLbsNetworkProtocolBase::CancelTransmitLocation()</apiname></xref> </p> <p>This method is called to cancel an outstanding request to send location to a third party. </p> </li> </ul> <p> <b>Responding to MT-LR privacy requests</b>  </p> <ul><li id="GUID-B30ED2D0-5353-51F8-A311-B5D00C250AF4"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-452D97D6-D54C-359C-B193-E152C3690351"><apiname>CLbsNetworkProtocolBase::RespondPrivacyRequest()</apiname></xref> </p> <p>This method is called in response to an MT-LR privacy request in order to accept or reject the request. </p> <p>See <xref href="GUID-CDE5CC9D-F6DE-5A21-97C3-59A2F3398A15.dita">Privacy requests</xref> for more information about how privacy requests are handled by the LBS subsystem. </p> </li> </ul> <p> <b>Processing location requests</b>  </p> <p>As shown in figures 3, 4 and 5, MO-LR self locate, MO-LR transfer to third party and MT-LR cause the Network Protocol Module to call <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-676C6200-0A3A-331D-9776-17CA53E8A1D7"><apiname>MLbsNetworkProtocolObserver::ProcessLocationRequest()</apiname></xref> on the LBS Network Gateway process. </p> <p>An instance of <xref href="GUID-346C477F-005A-311D-A920-8C0F40E391CE.dita"><apiname>TLbsNetPosRequestMethod</apiname></xref> is passed when the Protocol Module calls <codeph>MLbsNetworkProtocolObserver::ProcessLocationRequest()</codeph>. It defines the type(s) of positioning method the LBS subsystem should use to calculate the device location. </p> <p>A Network Protocol Module can specify up to two positioning methods, if required: <xref href="GUID-346C477F-005A-311D-A920-8C0F40E391CE.dita"><apiname>TLbsNetPosRequestMethod</apiname></xref> contains an array of elements of type <xref href="GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35.dita"><apiname>TLbsNetPosMethod</apiname></xref>. Each <codeph>TLbsNetPosMethod</codeph> element specifies a technology type and the positioning mode that should be used by the LBS subsystem to calculate location. </p> <p>If the array contains two elements, the first element contains the preferred technology type and positioning mode. The second element contains an alternative positioning mode. </p> <p>If the array contains only one element then this specifies the technology type and positioning mode that must be used by the LBS subsystem. </p> <p>Examples of how a Network Protocol Module specifies the positioning mode follows: </p> <ul><li id="GUID-D6A828D2-C209-58DF-8272-49996E4DF68C"><p> <b>Terminal based positioning mode only</b>  </p> <p>The Protocol Module creates a single <codeph>TLbsNetPosMethod</codeph> element and calls <xref href="GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35.dita#GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35/GUID-E1A14CDB-267B-3B4D-8C21-6BD85F23AFCB"><apiname>TLbsNetPosMethod::SetPosMethod()</apiname></xref> passing the parameters: </p> <p> <codeph>aPosMeans = KLbsPositioningMeansGps</codeph>  </p> <p> <codeph>aPosMode = TPositionModuleInfo::ETechnologyTerminal |
+          </title> <image href="GUID-C103A584-3498-5F0A-8F0B-F97D33749CEF_d0e452142_href.png" placement="inline"/></fig> <p><b>CLbsNetworkProtocolBase </b> </p> <p>The following briefly describes the <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita"><apiname>CLbsNetworkProtocolBase</apiname></xref> methods grouped according to their function. The LBS Network Gateway process calls these methods on the licensee Network Protocol Module. More detailed information about the purpose of these methods and their parameter lists can be found by following the links to the Symbian platform reference documentation. </p> <p> <b>Setting tracking mode (if necessary)</b>  </p> <p>For MO-LR self locate, an application client can ask the LBS subsystem for periodic location updates. This is known as tracking and is described in the Location Acquisition API document <xref href="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita">How to get location information</xref>. </p> <p>When a client requests tracking, the LBS subsystem notifies a Network Protocol Module of this requirement by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-367DC79E-CB61-3EFB-9928-104F5B6A0021"><apiname>CLbsNetworkProtocolBase::AdviceSystemStatus()</apiname></xref> with a parameter value <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-1546BC54-76FC-3C4C-BA99-CB13027687EE"><apiname>CLbsNetworkProtocolBase::ESystemStatusClientTracking</apiname></xref>. This method is called before the first location request <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref> described below. </p> <p>When there are no longer any tracking LBS clients, the LBS subsystem notifies a Network Protocol Module by calling <codeph>AdviceSystemStatus()</codeph> with a parameter value <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-B71C5F74-2673-3AFE-813C-41A91E661FD8"><apiname>CLbsNetworkProtocolBase::ESystemStatusNone</apiname></xref>. </p> <p> <b>Requesting and cancelling MO-LR (self locate)</b>  </p> <ul><li id="GUID-712CCD16-B4B3-55A7-8B25-8B39DBD1867E"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref> </p> <p>This method is called to initiate an MO-LR (self locate) when GPS is to be used to obtain a location. In cases where the precision of a GPS fix is not required (for example because of less demanding location quality criteria), the method <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref> may be called instead for MO-LR (see below). </p> </li> <li id="GUID-ED729CC1-01D9-5420-9A5E-F448D7960F89"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-D2C7B03B-8EB8-3CEB-B35E-2EC0B1DB4A04"><apiname>CLbsNetworkProtocolBase::CancelSelfLocation()</apiname></xref>  </p> <p>This method is called to cancel an outstanding MO-LR which was made by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref>. </p> </li> </ul> <p> <b>Requesting and cancelling MO-LR (self locate) from the network</b>  </p> <ul><li id="GUID-1CF3D7CE-C425-573A-8659-EB7DB6D17050"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref> </p> <p>This method is called to initiate an MO-LR when the precision of GPS is not required. In cases where the precision of a GPS fix is required, the method <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-0E4234D2-D8B0-302F-8DE5-EA47ED5E594F"><apiname>CLbsNetworkProtocolBase::RequestSelfLocation()</apiname></xref> is called instead. </p> </li> <li id="GUID-0185B725-39EA-5CEC-AA64-00A877791A03"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-6AA30D7B-3281-39BE-B314-8666809D80A9"><apiname>CLbsNetworkProtocolBase::CancelNetworkLocation()</apiname></xref> </p> <p>This method is called to cancel an outstanding MO-LR which was made by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref>. </p> </li> </ul> <p> <b>Requesting and cancelling of MO-LR (transmit to third party)</b>  </p> <ul><li id="GUID-F414CB99-1A53-511B-9A59-1E10E4C57D54"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-EF593B81-667B-36CB-9457-0B683B76468F"><apiname>CLbsNetworkProtocolBase::RequestTransmitLocation()</apiname></xref> </p> <p>This method is called to send location to a third party. </p> </li> <li id="GUID-906C761E-E497-5AA8-AA93-202FD446BF09"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-70188A68-C4CD-3079-B64F-AF3D10CB990D"><apiname>CLbsNetworkProtocolBase::CancelTransmitLocation()</apiname></xref> </p> <p>This method is called to cancel an outstanding request to send location to a third party. </p> </li> </ul> <p> <b>Responding to MT-LR privacy requests</b>  </p> <ul><li id="GUID-B30ED2D0-5353-51F8-A311-B5D00C250AF4"><p> <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-452D97D6-D54C-359C-B193-E152C3690351"><apiname>CLbsNetworkProtocolBase::RespondPrivacyRequest()</apiname></xref> </p> <p>This method is called in response to an MT-LR privacy request in order to accept or reject the request. </p> <p>See <xref href="GUID-CDE5CC9D-F6DE-5A21-97C3-59A2F3398A15.dita">Privacy requests</xref> for more information about how privacy requests are handled by the LBS subsystem. </p> </li> </ul> <p> <b>Processing location requests</b>  </p> <p>As shown in figures 3, 4 and 5, MO-LR self locate, MO-LR transfer to third party and MT-LR cause the Network Protocol Module to call <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-676C6200-0A3A-331D-9776-17CA53E8A1D7"><apiname>MLbsNetworkProtocolObserver::ProcessLocationRequest()</apiname></xref> on the LBS Network Gateway process. </p> <p>An instance of <xref href="GUID-346C477F-005A-311D-A920-8C0F40E391CE.dita"><apiname>TLbsNetPosRequestMethod</apiname></xref> is passed when the Protocol Module calls <codeph>MLbsNetworkProtocolObserver::ProcessLocationRequest()</codeph>. It defines the type(s) of positioning method the LBS subsystem should use to calculate the device location. </p> <p>A Network Protocol Module can specify up to two positioning methods, if required: <xref href="GUID-346C477F-005A-311D-A920-8C0F40E391CE.dita"><apiname>TLbsNetPosRequestMethod</apiname></xref> contains an array of elements of type <xref href="GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35.dita"><apiname>TLbsNetPosMethod</apiname></xref>. Each <codeph>TLbsNetPosMethod</codeph> element specifies a technology type and the positioning mode that should be used by the LBS subsystem to calculate location. </p> <p>If the array contains two elements, the first element contains the preferred technology type and positioning mode. The second element contains an alternative positioning mode. </p> <p>If the array contains only one element then this specifies the technology type and positioning mode that must be used by the LBS subsystem. </p> <p>Examples of how a Network Protocol Module specifies the positioning mode follows: </p> <ul><li id="GUID-D6A828D2-C209-58DF-8272-49996E4DF68C"><p> <b>Terminal based positioning mode only</b>  </p> <p>The Protocol Module creates a single <codeph>TLbsNetPosMethod</codeph> element and calls <xref href="GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35.dita#GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35/GUID-E1A14CDB-267B-3B4D-8C21-6BD85F23AFCB"><apiname>TLbsNetPosMethod::SetPosMethod()</apiname></xref> passing the parameters: </p> <p> <codeph>aPosMeans = KLbsPositioningMeansGps</codeph>  </p> <p> <codeph>aPosMode = TPositionModuleInfo::ETechnologyTerminal |
                 TPositionModuleInfo::ETechnologyAssisted</codeph>  </p> <p>In this case, the LBS subsystem attempts to calculate a GPS location fix using assistance data from the network. </p> </li> <li id="GUID-B25E613C-18D3-5026-8F9A-5EB3CFC0490A"><p> <b>Terminal assisted positioning mode only</b>  </p> <p>The Protocol Module creates a single <codeph>TLbsNetPosMethod</codeph> element and calls <xref href="GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35.dita#GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35/GUID-E1A14CDB-267B-3B4D-8C21-6BD85F23AFCB"><apiname>TLbsNetPosMethod::SetPosMethod()</apiname></xref> passing the parameters: </p> <p> <codeph>aPosMeans = KLbsPositioningMeansGps</codeph>  </p> <p> <codeph>aPosMode = TPositionModuleInfo::ETechnologyNetwork |
                 TPositionModuleInfo::ETechnologyAssisted</codeph>  </p> <p>In this case, the LBS subsystem attempts to calculate a GPS location fix using assistance data from the network. </p> </li> <li id="GUID-BC446ED6-9800-5B21-A702-A4C5A011C6BE"><p> <b>Terminal based positioning mode (1st choice) &amp; terminal assisted positioning mode (2nd choice)</b>  </p> <p>The Protocol Module creates two <codeph>TLbsNetPosMethod</codeph> elements and calls <xref href="GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35.dita#GUID-1278D006-4DF8-3908-A0A5-9F9FD2CC4C35/GUID-E1A14CDB-267B-3B4D-8C21-6BD85F23AFCB"><apiname>TLbsNetPosMethod::SetPosMethod()</apiname></xref> for each: </p> <ul><li id="GUID-FECD0D61-9C99-5C94-A6B9-113DD85571E7"><p>1st Element: </p> <p> <codeph>aPosMeans = KLbsPositioningMeansGps</codeph>  </p> <p> <codeph>aPosMode = TPositionModuleInfo::ETechnologyTerminal |
                      TPositionModuleInfo::ETechnologyAssisted</codeph>  </p> </li> </ul> <ul><li id="GUID-8FC84A75-96A9-5C76-B059-B0D70C36531E"><p>2nd Element: </p> <p> <codeph>aPosMeans = KLbsPositioningMeansGps</codeph>  </p> <p> <codeph>aPosMode = TPositionModuleInfo::ETechnologyNetwork |
Binary file Symbian3/PDK/Source/GUID-CB7A54D9-C6C8-562A-8A52-4B17B37242AD_d0e232744_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CB7A54D9-C6C8-562A-8A52-4B17B37242AD_d0e238739_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CB82C5D5-5714-5F31-A24F-E2259E6E9BD6_d0e430885_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CB82C5D5-5714-5F31-A24F-E2259E6E9BD6_d0e436730_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBAF83A9-815E-5C48-BD4A-3B31A115E3FE_d0e160768_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBAF83A9-815E-5C48-BD4A-3B31A115E3FE_d0e166869_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,43 +1,39 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5" xml:lang="en"><title>Precompiled
-resource values available from the Symbian platform</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The Symbian platform provides a generated resource header file that
-contains symbolic IDs to resources in the Symbian platform for use in your
-code. The file with the symbolic IDs is the <parmname>avkon.rsg</parmname> file
-and it is in the <parmname>./epoc32/include</parmname> folder. The file contains
-commonly used resource structures for your resource file declarations.</p>
-<p>A common example is the <parmname>R_AVKON_SOFTKEYS_OPTIONS_EXIT</parmname> symbolic
-ID, which maps to the <parmname>CBA</parmname> resource that results in the
-softkeys <parmname>Options</parmname> and <parmname>Exit</parmname>. The <parmname>Options</parmname> softkey
-is bound to a command that results in the application framework opening the
-options menu based on the <parmname>MENU_PANE</parmname> resource. The <parmname>Exit</parmname> softkey
-returns the <parmname>EAknSoftkeyExit</parmname> command, which would need
-to be handled in the appropriate place for <xref href="GUID-4941C035-C359-4968-9BD5-31F44EE5F810.dita">command
-handling</xref> in your application architecture. </p>
-<note>
-<p>The Symbian platform enumerations are in the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/avkon_8hrh.html" format="application/java-archive"><parmname>avkon.hrh</parmname></xref> file,
-which is in the <parmname>/epoc32/include</parmname> folder. </p>
-</note>
-<p>In general, you can map the commands returned from the CBA options by
-comparing the names of the symbolic IDs to the symbolic names in the enumerated
-list.</p>
-<p>Other symbolic IDs for other purposes are also available in the <parmname>avkon.rsg</parmname> file.</p>
-<p>When the precompiled resources fit the needs of your application, you
-can use them to access already existing resource structures. </p>
-<p>For examples of how these symbolic IDs are used, see</p>
-<ul>
-<li><p><xref href="GUID-A3AF142B-F9DF-43FD-9D3F-788A74D0C575.dita">Using
-precompiled CBA button resources</xref></p>
-</li>
-</ul>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-CBB00F6A-CBA7-4872-B0A1-A86A863725F5" xml:lang="en"><title>Precompiled resource values available from the Symbian platform</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Symbian platform provides a generated resource header file
+that contains symbolic IDs to resources in the Symbian platform for
+use in your code. The file with the symbolic IDs is the <parmname>avkon.rsg</parmname> file and it is in the <parmname>./epoc32/include</parmname> folder. The file contains commonly used resource structures for
+your resource file declarations.</p>
+<p>A common example is the <parmname>R_AVKON_SOFTKEYS_OPTIONS_EXIT</parmname> symbolic ID, which maps to the <parmname>CBA</parmname> resource
+that results in the softkeys <parmname>Options</parmname> and <parmname>Exit</parmname>. The <parmname>Options</parmname> softkey is bound
+to a command that results in the application framework opening the
+options menu based on the <parmname>MENU_PANE</parmname> resource.
+The <parmname>Exit</parmname> softkey returns the <parmname>EAknSoftkeyExit</parmname> command, which would need to be handled in the appropriate place
+for <xref href="GUID-4941C035-C359-4968-9BD5-31F44EE5F810.dita">command
+handling</xref> in your application architecture. </p>
+<note>
+<p>The Symbian platform enumerations are in the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/avkon_8hrh.html" format="application/java-archive"><parmname>avkon.hrh</parmname></xref> file, which is in the <parmname>/epoc32/include</parmname> folder. </p>
+</note>
+<p>In general, you can map the commands returned from the CBA options
+by comparing the names of the symbolic IDs to the symbolic names in
+the enumerated list.</p>
+<p>Other symbolic IDs for other purposes are also available in
+the <parmname>avkon.rsg</parmname> file.</p>
+<p>When the precompiled resources fit the needs of your application,
+you can use them to access already existing resource structures. </p>
+<p>For examples of how these symbolic IDs are used, see</p>
+<ul>
+<li><p><xref href="GUID-A3AF142B-F9DF-43FD-9D3F-788A74D0C575.dita">Using
+precompiled CBA button resources</xref></p></li>
+</ul>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,44 +1,46 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3" xml:lang="en"><title>Vector
-Floating Point (VFP)</title><shortdesc>ARM provide a hardware floating point coprocessor that provides
-floating point computation that is fully compliant with IEEE Std 754-1985.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> When a phone has this hardware, the base port must be configured to use
-it. </p>
-<p>The ARM architecture is called the ARM Vector Floating Point Architecture
-(VFPv2), and the coprocessor is also called the <i>VFP unit</i>. </p>
-<p>Symbian platform supports the use of VFPv2 on platforms where the required
-hardware is present in both <i>RunFast</i> mode and in <i>IEEE-without-exceptions</i> mode.
-See ARM's Vector Floating-point Coprocessor Technical reference Manual for
-more details on the coprocessor, its architecture, and its execution modes. </p>
-<p>Applications and, in a more limited sense, kernel side code can use VFP
-in one of two ways: </p>
-<ul>
-<li id="GUID-D74E3541-3D8F-5338-A488-E40385D1C293"><p>indirectly through the
-use of floating point support (helper) functions generated by the compiler. </p> </li>
-<li id="GUID-7316F251-5292-510C-9496-30C0B7A7A25C"><p>directly, either through
-instructions generated by the compiler, or hand-written instructions written
-in assembler. </p> </li>
-</ul>
-<p>An application uses the <codeph>armfpu</codeph> statement in its <filepath>.mmp</filepath> file
-to specify how it wants floating point to be handled. By choosing to use the
-floating point support functions, an application does not need to know how
-they are implemented or even whether these functions make use of a VFP unit.
-However, if a device does have a VFP unit, then the base port needs to replace
-the default floating point support functions with VFP-enabled functions if
-applications are to take advantage of the hardware. </p>
-</conbody><related-links>
-<link href="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita"><linktext>Floating
-point                 support</linktext></link>
-<link href="GUID-3046453A-AB3A-5491-87A0-00F3514D4768.dita"><linktext>Vector Floating
-Point Implementation Tutorial</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3" xml:lang="en"><title>Vector Floating Point (VFP)</title><shortdesc>ARM provide a hardware floating point coprocessor that
+provides floating point computation that is fully compliant with IEEE
+Std 754-1985.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> When a phone has this hardware, the base port must be configured
+to use it. </p>
+<p>The ARM architecture is called the ARM Vector Floating Point Architecture
+(VFPv2), and the coprocessor is also called the <i>VFP unit</i>. </p>
+<p>Symbian platform supports the use of VFPv2 on platforms where the
+required hardware is present in both <i>RunFast</i> mode and in <i>IEEE-without-exceptions</i> mode. See ARM's Vector Floating-point
+Coprocessor Technical reference Manual for more details on the coprocessor,
+its architecture, and its execution modes. </p>
+<p>Applications and, in a more limited sense, kernel side code can
+use VFP in one of two ways: </p>
+<ul>
+<li id="GUID-D74E3541-3D8F-5338-A488-E40385D1C293"><p>indirectly through
+the use of floating point support (helper) functions generated by
+the compiler. </p> </li>
+<li id="GUID-7316F251-5292-510C-9496-30C0B7A7A25C"><p>directly, either
+through instructions generated by the compiler, or hand-written instructions
+written in assembler. </p> </li>
+</ul>
+<p>An application uses the <codeph>armfpu</codeph> statement in its <filepath>.mmp</filepath> file to specify how it wants floating point to be
+handled. By choosing to use the floating point support functions,
+an application does not need to know how they are implemented or even
+whether these functions make use of a VFP unit. However, if a device
+does have a VFP unit, then the base port needs to replace the default
+floating point support functions with VFP-enabled functions if applications
+are to take advantage of the hardware. </p>
+<section id="GUID-C20C78B4-62E4-403B-82F1-416539B50DD0"><title>See also</title><p><ul>
+<li><p>Floating point support in Symbian^3 Tools Guide
+&gt; Building</p></li>
+<li><p><xref href="GUID-3046453A-AB3A-5491-87A0-00F3514D4768.dita">Vector
+Floating Point Implementation Tutorial</xref></p></li>
+</ul></p></section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-CBD78250-3EF4-5DF0-B356-19996E15BBBD_d0e214193_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBD78250-3EF4-5DF0-B356-19996E15BBBD_d0e220201_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1734_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1739_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1852_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e1860_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBF1D046-92D4-5936-9946-71BB8FC51AB2_d0e268193_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CBF1D046-92D4-5936-9946-71BB8FC51AB2_d0e274193_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CC3454B1-21DA-542E-8949-52C30755AC77.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CC3454B1-21DA-542E-8949-52C30755AC77.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -133,7 +133,7 @@
 with other LBS and Symbian components. </p> <fig id="GUID-48A120E4-D943-5FEF-AFFA-18D898F2B86B">
 <title>              Figure 1. SUPL Protocol Module and associated Symbian
 APIs.            </title>
-<image href="GUID-75BA4518-45DE-5EB4-937E-46C1CFDD0CEB_d0e451604_href.png" placement="inline"/>
+<image href="GUID-75BA4518-45DE-5EB4-937E-46C1CFDD0CEB_d0e457449_href.png" placement="inline"/>
 </fig> <p><b>Subsystem
 components</b> </p> <p>This section describes the subsystem components and
 APIs that support the SUPL Protocol Module. </p> <p><b>SUPL Protocol Module (SPM) </b> </p> <p>The SUPL Protocol Module implements
Binary file Symbian3/PDK/Source/GUID-CC4CA423-0A14-457C-8CBE-4A9F0E8D0B96_d0e64172_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CC4CA423-0A14-457C-8CBE-4A9F0E8D0B96_d0e68395_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CC95D475-98B9-5279-94BD-1E12449AC0CC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CC95D475-98B9-5279-94BD-1E12449AC0CC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-CC95D475-98B9-5279-94BD-1E12449AC0CC"><title>OpenMAX IL Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Symbian approach to OpenMAX IL (Integration Layer). </p> <section><title>Purpose</title> <p>OpenMAX IL is a low-level interface used in mobile devices that allows the Multimedia Device Framework (MDF) to </p> <ul><li id="GUID-F57898EA-3992-5CB2-8ADB-95A4F2C193FF"><p>load audio, video and imaging components </p> </li> <li id="GUID-73031271-DB54-5A75-B8B2-6F4105AA3478"><p>control audio, video and imaging components </p> </li> <li id="GUID-83BF7642-A5C0-52AB-9FCB-738761388461"><p>connect audio, video and imaging components </p> </li> <li id="GUID-6E101230-E4C7-5554-84FE-F8F1AE9819F4"><p>unload audio, video and imaging components. </p> </li> </ul> </section> <section><title>Required background</title> <p>You should be familiar with the <xref scope="external" href="http://www.khronos.org/openmax/">OpenMAX IL</xref> standard developed by The Khronos Group, which enables the portability of media components across any OS platform. </p> </section> <section><title>Key concepts/terms</title> <p>The following terms are introduced here and will be used throughout this documentation: </p> <dl><dlentry><dt>OpenMAX IL Client</dt> <dd><p>MDF plays the role of the OpenMAX IL client within the OpenMAX IL architecture. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Core </dt> <dd><p>OpenMAX IL Core is a platform-specific entity which is used to load and unload OpenMAX IL Components, and to facilitate communication between them. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Component </dt> <dd><p>OpenMAX IL Component is an individual block of functionality such as codec, source, sink, filter, splitter, mixer, or any data processing functionality. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Content Pipe</dt> <dd><p>OpenMAX IL Content Pipe is an entity that provides abstraction of access to content data. </p> </dd> </dlentry> </dl> <p> <b>Note:</b> The <xref href="GUID-CC95D475-98B9-5279-94BD-1E12449AC0CC.dita#GUID-CC95D475-98B9-5279-94BD-1E12449AC0CC/GUID-E8EEF013-A773-5848-BF97-7F44D770ECE2">OpenMAX IL libraries</xref> have the same naming convention as the key terms described above. </p> </section> <section><title>Architectural relationships</title> <p>MDF interacts with OpenMAX IL to communicate with the OpenMAX IL Components. </p> <fig id="GUID-ABCCFEF8-6D51-5B16-89EE-0A9451B202D9"><title>
              Architectural relationship between MDF and OpenMAX IL 
-          </title> <image href="GUID-B39483E2-15FC-5214-8B45-58BBB68A7841_d0e536764_href.png" placement="inline"/></fig> <p>OpenMAX IL Core uses OpenMAX IL Loader to load and unload OpenMAX IL Components. The high-level view of the Symbian implementation of OpenMAX IL using the OpenMAX IL Loader pattern is shown below: </p> <fig id="GUID-D74D16AF-33D3-55CC-B39A-BC1A686064C0"><title>
+          </title> <image href="GUID-B39483E2-15FC-5214-8B45-58BBB68A7841_d0e544224_href.png" placement="inline"/></fig> <p>OpenMAX IL Core uses OpenMAX IL Loader to load and unload OpenMAX IL Components. The high-level view of the Symbian implementation of OpenMAX IL using the OpenMAX IL Loader pattern is shown below: </p> <fig id="GUID-D74D16AF-33D3-55CC-B39A-BC1A686064C0"><title>
              OpenMAX IL Component loading using OpenMAX IL Core and Loaders 
-          </title> <image href="GUID-F618EE02-927E-584B-8F80-79DE766AA62F_d0e536773_href.png" placement="inline"/></fig> </section> <section id="GUID-E8EEF013-A773-5848-BF97-7F44D770ECE2"><title>OpenMAX IL library summary</title> <p>The Symbian platform provides support to OpenMAX IL with the following libraries: </p> <dl><dlentry><dt>OpenMAX IL Core</dt> <dd><p>OpenMAX IL Core handles the IL client requests to load or unload components by delegating these requests to the appropriate OpenMAX IL Loader. OpenMAX IL Core also facilitates communication with these components. For more information see <xref href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita">OpenMAX IL Core Overview</xref>. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Loader Interface</dt> <dd><p>You need to install the OpenMAX IL Loader interface, which is an ECom plug-in. This interface is used to instantiate and access a group of OpenMAX IL Components. For more information see <xref href="GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0.dita">OpenMAX IL Loader Interface Overview</xref>. </p> </dd> </dlentry> </dl> <dl><dlentry><dt> OpenMAX IL Component Interface</dt> <dd><p>You need to install the OpenMAX IL Component interface, which is an ECom plug-in. This interface is loaded by OpenMAX IL Loader to provide access to OpenMAX IL Component. For more information see <xref href="GUID-24D99069-438E-5CC4-90B6-5609A2E50953.dita">OpenMAX IL Component Overview</xref>. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Content Pipe Interface</dt> <dd><p>You need to install the OpenMAX IL Content Pipe interface, which is an ECom plug-in. This interface is loaded by OpenMAX IL Core to provide access to OpenMAX IL Content Pipe. For more information see <xref href="GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita">OpenMAX IL Content Pipe Overview</xref>. </p> </dd> </dlentry> </dl> </section> <section><title>Typical uses</title> <p>OpenMAX IL Components are used like any typical Multimedia features such as playing video, recording audio and capturing images. For example, two OpenMAX IL Components, decoder and render, are loaded by OpenMAX IL and communicate with each other for decoding and rendering. </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-F618EE02-927E-584B-8F80-79DE766AA62F_d0e544233_href.png" placement="inline"/></fig> </section> <section id="GUID-E8EEF013-A773-5848-BF97-7F44D770ECE2"><title>OpenMAX IL library summary</title> <p>The Symbian platform provides support to OpenMAX IL with the following libraries: </p> <dl><dlentry><dt>OpenMAX IL Core</dt> <dd><p>OpenMAX IL Core handles the IL client requests to load or unload components by delegating these requests to the appropriate OpenMAX IL Loader. OpenMAX IL Core also facilitates communication with these components. For more information see <xref href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita">OpenMAX IL Core Overview</xref>. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Loader Interface</dt> <dd><p>You need to install the OpenMAX IL Loader interface, which is an ECom plug-in. This interface is used to instantiate and access a group of OpenMAX IL Components. For more information see <xref href="GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0.dita">OpenMAX IL Loader Interface Overview</xref>. </p> </dd> </dlentry> </dl> <dl><dlentry><dt> OpenMAX IL Component Interface</dt> <dd><p>You need to install the OpenMAX IL Component interface, which is an ECom plug-in. This interface is loaded by OpenMAX IL Loader to provide access to OpenMAX IL Component. For more information see <xref href="GUID-24D99069-438E-5CC4-90B6-5609A2E50953.dita">OpenMAX IL Component Overview</xref>. </p> </dd> </dlentry> </dl> <dl><dlentry><dt>OpenMAX IL Content Pipe Interface</dt> <dd><p>You need to install the OpenMAX IL Content Pipe interface, which is an ECom plug-in. This interface is loaded by OpenMAX IL Core to provide access to OpenMAX IL Content Pipe. For more information see <xref href="GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita">OpenMAX IL Content Pipe Overview</xref>. </p> </dd> </dlentry> </dl> </section> <section><title>Typical uses</title> <p>OpenMAX IL Components are used like any typical Multimedia features such as playing video, recording audio and capturing images. For example, two OpenMAX IL Components, decoder and render, are loaded by OpenMAX IL and communicate with each other for decoding and rendering. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-CCC121FA-C180-5103-915D-583A0CE9FB45_d0e167645_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CCC121FA-C180-5103-915D-583A0CE9FB45_d0e173738_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CCC5BE18-E90D-4B81-AE6F-333B96E7A3F7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CCC5BE18-E90D-4B81-AE6F-333B96E7A3F7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 user can browse through the list with scroll keys or with the touch event.</p>
 <fig id="GUID-920BCB9D-4DFB-411D-A730-D34BA84B1FD2">
 <title>Example of Choice list</title>
-<image href="GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e83480_href.png" placement="inline"/>
+<image href="GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e87678_href.png" placement="inline"/>
 </fig>
 <table id="GUID-DA80CFA0-061A-4B07-9D4B-7C29DAEC4E2B"><title>Default key events in a choice list</title>
 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
--- a/Symbian3/PDK/Source/GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 MAKEDEF WARNING: 1 export(s) not yet Frozen in \src\example\MyDLLU.DEF:
 ..\..\..\EPOC32\BUILD\src\example\group\MyDLL\ARMV5\MyDll{000a0000}.def(7) : _ZThn12_N7Derived3fooEv @6</codeblock> <p>This shows a problem with a frozen DEF file: the export at ordinal 2 is missing, and a new unfrozen export has been added at ordinal 6. When comparing the two symbols, they look suspiciously similar to each other, and to a third symbol in the DEF file: </p> <codeblock id="GUID-41EDE0BF-3A2F-5D76-A6B5-C4935A12CC29" xml:space="preserve">_ZN7Derived3fooEv @1 
 _ZThn8_N7Derived3fooEv @2        // this one is missing 
-_ZThn12_N7Derived3fooEv @6        // this one has appeared</codeblock> <p>The exports beginning with _ZTh are compiler generated functions called thunks (see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-63FC4816-1807-5238-BB8F-644490A7A5F9">Class Impedimenta</xref>), and the information between _ZTh and the next underscore is the offset associated with the thunk. Our problem is that for some reason, the offset associated with the thunk has changed from –8 to –12 (the n denotes a negative offset). Note that there is another variant of this problem that involves thunks beginning with _ZTv. </p> <p>These generated functions are a feature of the Itanium C++ ABI, on which the ABI for the ARM architecture builds upon. Hence the name "ARM ABI Thunk Offset Problem". </p> <p><b>What causes this problem?</b> </p> <p>The problem is caused because the symbol name generated for the thunk contains an offset number. More details can be found in <xref scope="external" href="http://www.codesourcery.com/cxx-abi/abi.html">http://www.codesourcery.com/cxx-abi/abi.html</xref> under section 5.1.4. This offset may change, when the signature of the base class is changed. For example when a data member is added or removed. </p> <p>Another condition to trigger the problem needs to hold as well: multiple inheritance with virtual functions in more than one of the base classes. If this condition does not hold, the compiler will not generate a thunk and thus there is no problem. </p> <p>Note that this is always a Binary Compatibility break, which shows up as a change to symbols in DEF files. </p> <p><b>How do I fix it?</b> </p> <p>There are three choices to fix it: </p> <ol id="GUID-804A94CF-1A73-5640-B3B8-2DDFBEDD407A"><li id="GUID-955EC339-EC01-5989-B388-6D6BE285F14D"><p>The first option is to refreeze the DEF file: this would be OK if you are not maintaining a frozen interface, and your customers will in any case need to rebuild because of the Binary Compatibility break. The easiest way to refreeze is to delete all of the exports from your existing DEF file, build again, and then use "<i>abld freeze armv5</i> " to update the DEF file. After updating the DEF file, build again: this time it should build cleanly. </p> </li> <li id="GUID-9CE95A51-20BD-51B7-93D6-629FB97014FA"><p>The second option is to use the attached script to fix the ABI Thunk Offsets. It expects to read a build log containing the MAKEDEF errors and warnings and will modify the DEF file to replace each missing export with the corresponding unfrozen export. Run the script with no arguments to get further details. </p> <fig id="GUID-7C590699-C58D-5619-8FFA-1DE51A0D666F"><image href="GUID-377B04D8-4E8B-54C7-AE7F-8BD47CB81758_d0e11038_href.png" placement="inline"/></fig> <p>After fixing the DEF file, you will need to rebuild the DLL which uses the DEF file. </p> </li> <li id="GUID-22502314-4780-57B8-9D45-05470FA95757"><p>The last option is that you could change your mind about adding that extra member data. This will only be an option if it is your change which causes the problem: if your supplier has changed the size of a class that they own and caused this problem, then you are forced to change your DEF file. </p> <p>If you own the class which has the extra member data, it is worth noting that this change is likely to affect your customers as well. They will have to rebuild because of the BC break. Adding to this they will also see the ABI Thunk Offset Problem if they derive from your class. This includes simple inheritance from a class which shows the problem, if it re-implements any of the virtual functions which require thunks. </p> <p>When Symbian breaks compatibility in a way likely to cause this problem, the corresponding entry in the Compatibility Break spreadsheet will say "BC+ Break: Rebuild &amp; Check/Fix Def-File EABI Thunk Offsets". </p> </li> </ol> <p><b>Tell me the full details: What is a thunk? What causes its offset to change? </b> </p> <p>In a C++ class hierarchy involving both virtual functions and multiple inheritance, objects can be accessed as though they were several different types. A typical Symbian platform example would be a CBase-derived class which also derives from an M-class, perhaps to provide an <i>observer</i> interface: for example CCoeControl, which derives from both CBase and MObjectProvider. </p> <p>The virtual functions which can be called on an object depends on the type it currently appears to be.A CCoeControl object can be viewed as a CBase object, in which case it has one set of virtual functions, or as an MObjectProvider, in which case it has another. The compiler constructs separate <i>virtual tables</i> for each of the possible interfaces, and these tables contain information about how to convert back to the underlying CCoeControl object. When converting from a CCoeControl pointer to an MObjectProvider pointer, the compiler will adjust the value of the pointer, so that it points to the "MObjectProvider" part of the object, and not the full CCoeControl object. </p> <p>The MObjectProvider class defines a pure virtual function MopSupplyObject, which is implemented in CCoeControl. Even when the object is presenting it's MObjectProvider interface, the vtable must use the correct implementation of MopSupplyObject, which expects to be used in the context of a CCoeControl. The solution used by the compiler is to create a <i>virtual function override thunk</i> function which makes any necessary adjustments between the calling context (a pointer to MObjectProvider) and the execution context (a pointer to CCoeControl). </p> <p>This could have been implemented using the names of the two contexts, but instead the ABI uses the amount by which the <i>this</i> pointer needs to be adjusted to make the switch: this is the offset encoded in the name. </p> <p>Here is a small example: </p> <p> <b>eabi_thunk_offset_problem.cpp</b>  </p> <codeblock id="GUID-8ED84BFF-EDB0-5C54-8CE9-05F289231FF2" xml:space="preserve">#ifndef COUNT 
+_ZThn12_N7Derived3fooEv @6        // this one has appeared</codeblock> <p>The exports beginning with _ZTh are compiler generated functions called thunks (see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-63FC4816-1807-5238-BB8F-644490A7A5F9">Class Impedimenta</xref>), and the information between _ZTh and the next underscore is the offset associated with the thunk. Our problem is that for some reason, the offset associated with the thunk has changed from –8 to –12 (the n denotes a negative offset). Note that there is another variant of this problem that involves thunks beginning with _ZTv. </p> <p>These generated functions are a feature of the Itanium C++ ABI, on which the ABI for the ARM architecture builds upon. Hence the name "ARM ABI Thunk Offset Problem". </p> <p><b>What causes this problem?</b> </p> <p>The problem is caused because the symbol name generated for the thunk contains an offset number. More details can be found in <xref scope="external" href="http://www.codesourcery.com/cxx-abi/abi.html">http://www.codesourcery.com/cxx-abi/abi.html</xref> under section 5.1.4. This offset may change, when the signature of the base class is changed. For example when a data member is added or removed. </p> <p>Another condition to trigger the problem needs to hold as well: multiple inheritance with virtual functions in more than one of the base classes. If this condition does not hold, the compiler will not generate a thunk and thus there is no problem. </p> <p>Note that this is always a Binary Compatibility break, which shows up as a change to symbols in DEF files. </p> <p><b>How do I fix it?</b> </p> <p>There are three choices to fix it: </p> <ol id="GUID-804A94CF-1A73-5640-B3B8-2DDFBEDD407A"><li id="GUID-955EC339-EC01-5989-B388-6D6BE285F14D"><p>The first option is to refreeze the DEF file: this would be OK if you are not maintaining a frozen interface, and your customers will in any case need to rebuild because of the Binary Compatibility break. The easiest way to refreeze is to delete all of the exports from your existing DEF file, build again, and then use "<i>abld freeze armv5</i> " to update the DEF file. After updating the DEF file, build again: this time it should build cleanly. </p> </li> <li id="GUID-9CE95A51-20BD-51B7-93D6-629FB97014FA"><p>The second option is to use the attached script to fix the ABI Thunk Offsets. It expects to read a build log containing the MAKEDEF errors and warnings and will modify the DEF file to replace each missing export with the corresponding unfrozen export. Run the script with no arguments to get further details. </p> <fig id="GUID-7C590699-C58D-5619-8FFA-1DE51A0D666F"><image href="GUID-377B04D8-4E8B-54C7-AE7F-8BD47CB81758_d0e11154_href.png" placement="inline"/></fig> <p>After fixing the DEF file, you will need to rebuild the DLL which uses the DEF file. </p> </li> <li id="GUID-22502314-4780-57B8-9D45-05470FA95757"><p>The last option is that you could change your mind about adding that extra member data. This will only be an option if it is your change which causes the problem: if your supplier has changed the size of a class that they own and caused this problem, then you are forced to change your DEF file. </p> <p>If you own the class which has the extra member data, it is worth noting that this change is likely to affect your customers as well. They will have to rebuild because of the BC break. Adding to this they will also see the ABI Thunk Offset Problem if they derive from your class. This includes simple inheritance from a class which shows the problem, if it re-implements any of the virtual functions which require thunks. </p> <p>When Symbian breaks compatibility in a way likely to cause this problem, the corresponding entry in the Compatibility Break spreadsheet will say "BC+ Break: Rebuild &amp; Check/Fix Def-File EABI Thunk Offsets". </p> </li> </ol> <p><b>Tell me the full details: What is a thunk? What causes its offset to change? </b> </p> <p>In a C++ class hierarchy involving both virtual functions and multiple inheritance, objects can be accessed as though they were several different types. A typical Symbian platform example would be a CBase-derived class which also derives from an M-class, perhaps to provide an <i>observer</i> interface: for example CCoeControl, which derives from both CBase and MObjectProvider. </p> <p>The virtual functions which can be called on an object depends on the type it currently appears to be.A CCoeControl object can be viewed as a CBase object, in which case it has one set of virtual functions, or as an MObjectProvider, in which case it has another. The compiler constructs separate <i>virtual tables</i> for each of the possible interfaces, and these tables contain information about how to convert back to the underlying CCoeControl object. When converting from a CCoeControl pointer to an MObjectProvider pointer, the compiler will adjust the value of the pointer, so that it points to the "MObjectProvider" part of the object, and not the full CCoeControl object. </p> <p>The MObjectProvider class defines a pure virtual function MopSupplyObject, which is implemented in CCoeControl. Even when the object is presenting it's MObjectProvider interface, the vtable must use the correct implementation of MopSupplyObject, which expects to be used in the context of a CCoeControl. The solution used by the compiler is to create a <i>virtual function override thunk</i> function which makes any necessary adjustments between the calling context (a pointer to MObjectProvider) and the execution context (a pointer to CCoeControl). </p> <p>This could have been implemented using the names of the two contexts, but instead the ABI uses the amount by which the <i>this</i> pointer needs to be adjusted to make the switch: this is the offset encoded in the name. </p> <p>Here is a small example: </p> <p> <b>eabi_thunk_offset_problem.cpp</b>  </p> <codeblock id="GUID-8ED84BFF-EDB0-5C54-8CE9-05F289231FF2" xml:space="preserve">#ifndef COUNT 
 #define COUNT 1 
 #endif 
 
@@ -68,7 +68,7 @@
 int MoreDerived::foo() { return iMoreDerived; } 
 MoreDerived* fun3() { return new MoreDerived; } 
 MInterface* fun4() { return new MoreDerived; }
-</codeblock> <p>Compile this with <i>armcc -S eabi_thunk_offset_problem.cpp</i> to get an assembly listing. Compile it again with an extra argument "-DCOUNT=2" to change the size of the base class, and compare the two files: there will be various differences in the code, but also differences in the _ZTh symbols - including the differences used in the "typical symptom" above. </p> <p>If you use virtual inheritance, then you may see another version of the problem. With virtual inheritance, there are two offsets involved and the thunk symbols will begin with _ZTv. The same symbol may appear in several thunks, each with different offsets. </p> </section> <section id="GUID-E0F45E5F-F254-5D8B-A8E9-9D22C59DF2E4"><title>The Shared DEF File Problem</title> <p><b>What is the Problem with Shared DEF Files?</b> </p> <p>The class exporting rules (see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-A6382EAB-EEF5-56AC-B15E-B3740BB3C102">Class Exporting Rules</xref>) by default will generate non-callable exports for all classes that are not marked non-sharable in source. Say two DLLs, A and B share one DEF file, in effect implementing similar but different functionality towards the same public interface. Further say, no classes are marked non-sharable. Say there are some classes that are shared between DLL A and DLL B and that these classes have names of the form CShared&lt;xyz&gt;. Classes that are specific to DLL A have names of the form CA&lt;xyz&gt;, classes specific to DLL B have names of the form CB&lt;xyz&gt;. When DLL A is built, DEF file entries for non-callable exports from CShared&lt;xyz&gt; and CA&lt;XYZ&gt; are automatically added to the DEF file. When DLL B is built, exports from CShared&lt;xyz&gt; and CB&lt;XYZ&gt; are added. So in fact the DEF file would be the sum of all non-callable exports from CShared&lt;xyz&gt;, CA&lt;xyz&gt; and CB&lt;XYZ&gt;. It also will contain symbols from functions that are marked for export using EXPORT_C. However, this means that neither A or B can be linked. This is because when A is built, the code linking against the non-callable exports of CB&lt;XYZ&gt; do not exist in A and vice versa. </p> <fig id="GUID-E2B571A3-0463-5886-AD08-D50F0420EAF9"><image href="GUID-D205622E-FB0F-59C4-A039-B418B551CBFA_d0e11123_href.png" placement="inline"/></fig> <p><b>Use-cases for Fixing Shared DEF Files</b> </p> <p> <b>Use-Case 1:</b>  <b> Polymorphic “Plug-ins”</b>  </p> <p>Several DLLs are built using the same DLL interface (DEF file). Typically the DEF file has very few entries (1 or 2) and is maintained manually. This means that new functions are added by editing the shared DEF file. Also typically no import libraries are needed as the knowledge about the DLL interface is hard-coded into the client code of the "plug-in". The plug-ins do not have to be loaded at run-time. Some are always built but not always included in the ROM. </p> <p> <b>The Fix:</b>  </p> <ol id="GUID-A5D72F88-AF26-57FB-823F-7331992EB0F8"><li id="GUID-DE2A9DBD-EF23-56AA-997A-90B717406DBB"><p>If the shared DEF file is in \epoc32\include\def\EABI then locate the original DEF file by searching all BLD.INF files for the appropriate line in PRJ_EXPORTS </p> </li> <li id="GUID-1BE3AEA4-B629-5273-A370-DC3A9DABBA80"><p>Remove all non-callable exports that have caused warnings or errors from the original DEF file. </p> </li> <li id="GUID-CADA2F46-96C3-50DD-99AE-847D2EC70CFE"><p>Add NOEXPORTLIBRARY to all MMP files that share that component, ensuring that the build system does NOT try and re-freeze these automatically the next time you build. Otherwise the build system will re-introduce these non-callable exports. </p> </li> </ol> <p> <b>Note:</b>  </p> <p>If you want to use the re-freeze mechanism – say to add a new export, you have to temporarily remove NOEXPORTLIBRARY from the MMP file, then generate a new DEF file by re-building the component, re-freeze, possibly edit (to remove unwanted non-callable exports) and then insert the keyword NOEXPORTLIBRARY into the MMP file again. </p> <p> <b> Use-Case 2:</b>  <b> Polymorphic “Plug-ins” on which Other Components Depend</b>  </p> <p>This is very similar to use-case 1, except that some other component depends on one of the plug-ins. This means that an import library is required. </p> <p> <b>The Fix: </b> The build structure must be such that </p> <ul><li id="GUID-9B61065B-E448-5B32-910C-4F8356B30E63"><p>One MMP file generates the import library from the shared DEF file using the target type IMPLIB. It may be necessary to create a new MMP file which does this. </p> </li> <li id="GUID-4CB6CB0F-E690-5AAB-8B0C-1A6D64ECBC31"><p>All the other MMP files use NOEXPORTLIBRARY as described in use-case 1 </p> </li> </ul> <p> <b>Note:</b>  </p> <p>If you want to use the re-freeze mechanism – say to add a new export, you have to temporarily remove NOEXPORTLIBRARY from the MMP file, then generate a new DEF file by re-building the component, re-freeze, possibly edit (to remove unwanted non-callable exports) and then insert the keyword NOEXPORTLIBRARY into the MMP file again. </p> <p> <b>Use-Case 3:</b>  <b> Annotate Classes as Non-sharable</b>  </p> <p>Where a DEF file must be shared between components for whatever reason and none of the above use-cases can be applied, the build would fail for at least one component. An example of this may be a class MyPrivateClass that exists in the debug build (UDEV) of the OS, but not in the release build (UREL). </p> <p>In such a case all classes that should not contribute to the DEF file, i.e. that are really private to the implementation of a component, must be annotated in the source as NONSHARABLE_CLASS(X) or NONSHARABLE_STRUCT(X). As a result no non-callable exports will be generated for such a class. Say for example, class MyPrivateClass is truly private to a component that must share a DEF file with another component. Then it should be declared: </p> <codeblock id="GUID-8E236162-F6BA-5A77-9A50-8546C49A7FFC" xml:space="preserve">    NONSHARABLE_CLASS(MyPrivateClass)
+</codeblock> <p>Compile this with <i>armcc -S eabi_thunk_offset_problem.cpp</i> to get an assembly listing. Compile it again with an extra argument "-DCOUNT=2" to change the size of the base class, and compare the two files: there will be various differences in the code, but also differences in the _ZTh symbols - including the differences used in the "typical symptom" above. </p> <p>If you use virtual inheritance, then you may see another version of the problem. With virtual inheritance, there are two offsets involved and the thunk symbols will begin with _ZTv. The same symbol may appear in several thunks, each with different offsets. </p> </section> <section id="GUID-E0F45E5F-F254-5D8B-A8E9-9D22C59DF2E4"><title>The Shared DEF File Problem</title> <p><b>What is the Problem with Shared DEF Files?</b> </p> <p>The class exporting rules (see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-A6382EAB-EEF5-56AC-B15E-B3740BB3C102">Class Exporting Rules</xref>) by default will generate non-callable exports for all classes that are not marked non-sharable in source. Say two DLLs, A and B share one DEF file, in effect implementing similar but different functionality towards the same public interface. Further say, no classes are marked non-sharable. Say there are some classes that are shared between DLL A and DLL B and that these classes have names of the form CShared&lt;xyz&gt;. Classes that are specific to DLL A have names of the form CA&lt;xyz&gt;, classes specific to DLL B have names of the form CB&lt;xyz&gt;. When DLL A is built, DEF file entries for non-callable exports from CShared&lt;xyz&gt; and CA&lt;XYZ&gt; are automatically added to the DEF file. When DLL B is built, exports from CShared&lt;xyz&gt; and CB&lt;XYZ&gt; are added. So in fact the DEF file would be the sum of all non-callable exports from CShared&lt;xyz&gt;, CA&lt;xyz&gt; and CB&lt;XYZ&gt;. It also will contain symbols from functions that are marked for export using EXPORT_C. However, this means that neither A or B can be linked. This is because when A is built, the code linking against the non-callable exports of CB&lt;XYZ&gt; do not exist in A and vice versa. </p> <fig id="GUID-E2B571A3-0463-5886-AD08-D50F0420EAF9"><image href="GUID-D205622E-FB0F-59C4-A039-B418B551CBFA_d0e11239_href.png" placement="inline"/></fig> <p><b>Use-cases for Fixing Shared DEF Files</b> </p> <p> <b>Use-Case 1:</b>  <b> Polymorphic “Plug-ins”</b>  </p> <p>Several DLLs are built using the same DLL interface (DEF file). Typically the DEF file has very few entries (1 or 2) and is maintained manually. This means that new functions are added by editing the shared DEF file. Also typically no import libraries are needed as the knowledge about the DLL interface is hard-coded into the client code of the "plug-in". The plug-ins do not have to be loaded at run-time. Some are always built but not always included in the ROM. </p> <p> <b>The Fix:</b>  </p> <ol id="GUID-A5D72F88-AF26-57FB-823F-7331992EB0F8"><li id="GUID-DE2A9DBD-EF23-56AA-997A-90B717406DBB"><p>If the shared DEF file is in \epoc32\include\def\EABI then locate the original DEF file by searching all BLD.INF files for the appropriate line in PRJ_EXPORTS </p> </li> <li id="GUID-1BE3AEA4-B629-5273-A370-DC3A9DABBA80"><p>Remove all non-callable exports that have caused warnings or errors from the original DEF file. </p> </li> <li id="GUID-CADA2F46-96C3-50DD-99AE-847D2EC70CFE"><p>Add NOEXPORTLIBRARY to all MMP files that share that component, ensuring that the build system does NOT try and re-freeze these automatically the next time you build. Otherwise the build system will re-introduce these non-callable exports. </p> </li> </ol> <p> <b>Note:</b>  </p> <p>If you want to use the re-freeze mechanism – say to add a new export, you have to temporarily remove NOEXPORTLIBRARY from the MMP file, then generate a new DEF file by re-building the component, re-freeze, possibly edit (to remove unwanted non-callable exports) and then insert the keyword NOEXPORTLIBRARY into the MMP file again. </p> <p> <b> Use-Case 2:</b>  <b> Polymorphic “Plug-ins” on which Other Components Depend</b>  </p> <p>This is very similar to use-case 1, except that some other component depends on one of the plug-ins. This means that an import library is required. </p> <p> <b>The Fix: </b> The build structure must be such that </p> <ul><li id="GUID-9B61065B-E448-5B32-910C-4F8356B30E63"><p>One MMP file generates the import library from the shared DEF file using the target type IMPLIB. It may be necessary to create a new MMP file which does this. </p> </li> <li id="GUID-4CB6CB0F-E690-5AAB-8B0C-1A6D64ECBC31"><p>All the other MMP files use NOEXPORTLIBRARY as described in use-case 1 </p> </li> </ul> <p> <b>Note:</b>  </p> <p>If you want to use the re-freeze mechanism – say to add a new export, you have to temporarily remove NOEXPORTLIBRARY from the MMP file, then generate a new DEF file by re-building the component, re-freeze, possibly edit (to remove unwanted non-callable exports) and then insert the keyword NOEXPORTLIBRARY into the MMP file again. </p> <p> <b>Use-Case 3:</b>  <b> Annotate Classes as Non-sharable</b>  </p> <p>Where a DEF file must be shared between components for whatever reason and none of the above use-cases can be applied, the build would fail for at least one component. An example of this may be a class MyPrivateClass that exists in the debug build (UDEV) of the OS, but not in the release build (UREL). </p> <p>In such a case all classes that should not contribute to the DEF file, i.e. that are really private to the implementation of a component, must be annotated in the source as NONSHARABLE_CLASS(X) or NONSHARABLE_STRUCT(X). As a result no non-callable exports will be generated for such a class. Say for example, class MyPrivateClass is truly private to a component that must share a DEF file with another component. Then it should be declared: </p> <codeblock id="GUID-8E236162-F6BA-5A77-9A50-8546C49A7FFC" xml:space="preserve">    NONSHARABLE_CLASS(MyPrivateClass)
     {
     ...
     };</codeblock> <p>This will prevent the compiler from exporting non-callables for MyPrivateClass. However this means that it is not possible to DLL-derive (for the definition of DLL-derive see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-884B1DF5-ECC8-5243-85B4-9B07BA52C58B">Terminology and Background</xref>) from MyPrivateClass and that all classes derived from MyPrivateClass must also be marked non-sharable (see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-884B1DF5-ECC8-5243-85B4-9B07BA52C58B">Terminology and Background</xref>). </p> <p> <b>Use-Case 4:</b>  <b> Optimisation</b>  </p> <p>A consequence of the Simple Rule (see <xref href="GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12.dita#GUID-CCE5DBCC-41D6-53D0-B929-ADB478B53F12/GUID-3DA52D31-E3D7-5061-8D15-1F1D69AE2ED1">The Simple Rule – Sharable Classes</xref>) is that some components may emit entries in their DEF files which are not needed. In the worst case the overhead is 8 bytes of ROM size per class (2 DLL entry points). In the typical case an increase of 4 bytes will occur and in some cases no increase at all. </p> <p>For code that is private to an implementation, i.e. where it is known that a class would never be used outside of that component, this footprint increase is unnecessary. In order to avoid the footprint increase mark all private classes (and classes derived from them) in the source as NONSHARABLE_CLASS(X) or NONSHARABLE_STRUCT(X) as described for use-case 3. </p> <p> <b> Use-Case 5:</b>  <b> The Build Tools Automatically Ignore Non-callable Exports</b>  </p> <p>For most components the build tools automatically ignore <b>all</b> non-callable exports. This is the case because the build tools know the situations when non-callable exports cannot be needed. Non-callable exports are only needed, if: </p> <ul><li id="GUID-BF53F4C7-14B3-5FEB-8CAE-F71383DFAB2E"><p>The target type is either DLL, EXEDLL or EXEXP and the MMP file has no NOEXPORTLIBRARY keyword </p> </li> <li id="GUID-622E7A6F-0618-5331-9AE8-E2ABDD7FA190"><p>If the MMP file contains the DEFFILE keyword and the MMP file has no NOEXPORTLIBRARY keyword </p> </li> </ul> <p>The reason for this is that target types, such as APP, always map directly onto one of the above use-cases. For example the target type APP is an example of use-case 1, i.e. the APP is a DLL that always has the same DEF file. However no other DLL but the APP loader will ever link against this binary, unless its MMP file contains the DEFFILE keyword. </p> <p> <b>Use-Case 6:</b>  <b> Best Practice</b>  </p> <p>Note that it is good practice to avoid unnecessary footprint increases by marking private classes as non-sharable as outlined in use-case 4. Further note, that at some point in the future Symbian may add this to the Symbian Coding Standards or withdraw tools support for some of the cases described above. </p> <p><b>Optimisation</b> </p> <p>This section discusses advantages of marking “private” classes as described in use-cases 4 and 6 in the previous section as non-sharable </p> <p>Reasons for Optimisation: </p> <ul><li id="GUID-50EBEA63-092D-5B01-8371-890947D05E57"><p>Small footprint saving </p> </li> <li id="GUID-509DD311-4E9E-5A32-8194-25F9DA554417"><p>DEF files are more “pretty”, i.e. they will have fewer entries for non-callable exports in it and may have fewer holes in them. </p> </li> <li id="GUID-7DD701A6-E55A-5ECD-B905-416281014E4D"><p>When changing code that is private to a module as described in use-case 4 and not marked non-sharable, DEF file changes are required when: </p> <ul><li id="GUID-CA989C12-3138-53F3-A5C0-7092A31E9867"><p>Renaming a private class </p> </li> <li id="GUID-835872C3-C047-57F8-9221-E356B2D09A5A"><p>Removing a private class </p> </li> <li id="GUID-20632617-A0DB-5DF5-9C39-EF14A39CC8DF"><p>Adding a private class </p> </li> </ul> <p>This makes it harder to maintain DEF files and will ultimately lead to less “pretty” DEF files when Binary Compatibility must be maintained. </p> </li> <li id="GUID-7B1CAE8B-3CB9-5782-AE6E-7B4AE2E2307E"><p>More non-sharable classes mean that it is less likely to have problems with shared DEF files as outlined in use-cases 1 and 2 in the previous section. </p> </li> </ul> <p> <b>When not to use Optimisation:</b>  </p> <p>It is not advisable to use optimisation in the following circumstances, as the build tools suppress non-callable exports automatically in these cases: </p> <ul><li id="GUID-0CD3582F-3976-599D-B1F1-A16C8025E50E"><p>The target type of the component containing private classes is neither DLL, EXEDLL nor EXEXP and no DEFFILE keyword is contained the components MMP file </p> </li> <li id="GUID-37D22C06-234B-57D8-9605-343E28EBB674"><p>The MMP file of the component contains the NOEXPORTLIBRARY keyword. </p> <p>If the NOEXPORTLIBRARY keyword has been introduced to work around problems introduced by shared DEF files and the Simple Rule it may be better to remove the NOEXPORTLIBRARY keyword and mark private classes as non-sharable instead. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-CCE61F55-DDCC-566B-B4C6-E094E8E8B073_d0e524074_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CCE61F55-DDCC-566B-B4C6-E094E8E8B073_d0e531534_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CCE6DC36-625C-487C-9AD8-F1BF8E36080A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,28 +27,28 @@
 <entry><p><xref href="GUID-74F1EBB6-293A-4B33-A08F-46F3C23B37CE.dita">Adaptive
 search</xref></p></entry>
 <entry><fig id="GUID-4FD288BC-7B8A-46B1-A8EE-15D040E579C2-GENID-1-12-1-7-1-1-5-1-2-2-1-5-1-2-1">
-<image href="GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e79085_href.png" placement="inline"/>
+<image href="GUID-8E995178-F3F2-4391-B99D-7A3451880F53_d0e83283_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Searchfield API</p></entry>
 </row>
 <row>
 <entry><p><xref href="GUID-F1CC06C0-0D3A-4BBC-97E1-E52D2856D7A7.dita">Find pane</xref></p></entry>
 <entry><fig id="GUID-4C044042-E122-473D-80CE-A4D25B6EB61C-GENID-1-12-1-7-1-1-5-1-2-2-1-5-2-2-1">
-<image href="GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e79103_href.png" placement="inline"/>
+<image href="GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e83301_href.png" placement="inline"/>
 </fig></entry>
 <entry><p>Searchfield API and <xref href="specs/guides/Popups_API_Specification/Popups_API_Specification.html#Popups_API_Specification" scope="peer">Popups API</xref></p></entry>
 </row>
 <row>
 <entry><p><xref href="GUID-8F6F6C2C-C00E-4412-A880-5EEBF7270265.dita">Generic Button</xref></p></entry>
 <entry><fig id="GUID-D43035CC-60C9-4EBF-9183-20444B966DBB-GENID-1-12-1-7-1-1-5-1-2-2-1-5-3-2-1">
-<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e79123_href.png" placement="inline"/>
+<image href="GUID-8AEE1966-D348-41BB-8513-61C379945DB8_d0e83321_href.png" placement="inline"/>
 </fig></entry>
 <entry><p><xref href="GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB.html#GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB" scope="peer">Generic Button API</xref></p></entry>
 </row>
 <row>
 <entry><p><xref href="GUID-2E28D8F7-7406-4EBF-BD52-E82BAE1A7D31.dita">Home screen</xref></p></entry>
 <entry><p><fig id="GUID-D7BA5145-328D-4246-A4E2-D9788240CBEF">
-<image href="GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e79143_href.png" placement="inline"/>
+<image href="GUID-C5AC5FAF-A55F-44B5-BB43-858861BAB11E_d0e83341_href.png" placement="inline"/>
 </fig></p></entry>
 <entry><p>Home Screen Publishing API</p></entry>
 </row>
@@ -67,7 +67,7 @@
 <li><p><xref href="GUID-0348B62D-1AE0-45F5-B06E-9EE2D83326E8.dita">Universal indicators</xref></p></li>
 </ul></entry>
 <entry><fig id="GUID-740B86C2-4B2B-41E9-A087-3FE10FEFAC6C">
-<image href="GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e79198_href.png" placement="inline"/>
+<image href="GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e83396_href.png" placement="inline"/>
 </fig></entry>
 <entry><ul>
 <li><p>Indicators API for indicatiors.</p></li>
@@ -79,14 +79,14 @@
 <entry><p><xref href="GUID-E6803961-14A0-44BD-A94E-5D8A38EA907F.dita">Lists and
 grids</xref></p></entry>
 <entry><fig id="GUID-D785F576-56C2-4B41-ABA9-95B881BCB004">
-<image href="GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e79232_href.png" placement="inline"/>
+<image href="GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e83430_href.png" placement="inline"/>
 </fig></entry>
 <entry><p><xref href="specs/guides/Lists_API_Specification/Lists_API_Specification.html#Lists_API_Specification" scope="peer">Lists API</xref> for lists and <xref href="specs/guides/Grids_API_Specification/Grids_API_Specification.html#specs/guides/Grids_API_Specification/Grids_API_Specification.html" scope="peer">Grids API</xref></p></entry>
 </row>
 <row>
 <entry><p><xref href="GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita">Menu</xref></p></entry>
 <entry><fig id="GUID-D93E8BC0-3038-4A7E-B61C-6612CF01232E">
-<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e79254_href.png" placement="inline"/>
+<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e83452_href.png" placement="inline"/>
 </fig></entry>
 <entry/>
 </row>
@@ -103,7 +103,7 @@
 <li><p><xref href="GUID-ED198434-94C0-4842-8353-B2FA319BA5C7.dita">Warning note</xref></p></li>
 </ul></entry>
 <entry><fig id="GUID-7A18F1D5-29CF-4337-9840-00E38CBA118D">
-<image href="GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e79307_href.png" placement="inline"/>
+<image href="GUID-C4805C18-9BE7-47BA-9E50-D5F9CAAD36B7_d0e83505_href.png" placement="inline"/>
 </fig></entry>
 <entry><xref href="specs/guides/Notes_API_Specification/Notes_API_Specification.html#specs/guides/Notes_API_Specification/Notes_API_Specification.html" scope="peer">Notes API</xref> and <xref href="specs/guides/Notifiers_API_Specification/Notifiers_API_Specification.html#specs/guides/Notifiers_API_Specification/Notifiers_API_Specification.html" scope="peer">Notifier API</xref></entry>
 </row>
@@ -111,7 +111,7 @@
 <entry>               <p>Menu list (for example,<xref href="GUID-BFEEECCA-190B-4DDE-8A04-4FE918BE8690.dita">Options
 menu</xref> and sub-menus)</p>             </entry>
 <entry>               <fig id="GUID-7F128013-32DC-4567-908E-BAC6297C5E43">
-<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e79333_href.png" placement="inline"/>
+<image href="GUID-8BA0D643-5ED1-4DC4-82EC-C8AA392DCBC4_d0e83531_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Options_Menu_API_Specification/Options_Menu_API_Specification.html" scope="peer">Options menu API</xref></p>             </entry>
 </row>
@@ -128,9 +128,9 @@
 <li><p><xref href="GUID-1B64E1D9-33AB-4C28-A471-22D4C51FEC43.dita">Tooltips</xref></p></li>
 </ul><p/></entry>
 <entry><fig id="GUID-4FBB5E9D-A58B-4043-BFF1-27DEADD5A411-GENID-1-12-1-7-1-1-5-1-2-2-1-5-10-2-1">
-<image href="GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e79393_href.png" placement="inline"/>
+<image href="GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e83591_href.png" placement="inline"/>
 </fig><fig id="GUID-C68B7CBA-6DA8-4DAF-AAEE-549784033BF5">
-<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e79397_href.png" placement="inline"/>
+<image href="GUID-70E92884-004F-43B5-B740-B0C95E8E401C_d0e83595_href.png" placement="inline"/>
 </fig></entry>
 <entry><ul>
 <li><p>Discreet pop-up API for discreet pop-ups</p></li>
@@ -142,7 +142,7 @@
 <entry>               <p> <xref href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref></p> 
            </entry>
 <entry>               <fig id="GUID-CD41B544-521C-4271-A7D8-1C68399AB3A6">
-<image href="GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e79433_href.png" placement="inline"/>
+<image href="GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e83631_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref href="GUID-B05B61B8-1217-441F-BAFA-C209C8F123C5.dita">Toolbar
 API</xref>, <xref href="GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB.dita">Generic
@@ -151,7 +151,7 @@
 <row>
 <entry><p><xref href="GUID-CCC5BE18-E90D-4B81-AE6F-333B96E7A3F7.dita">Choice list</xref></p></entry>
 <entry><fig id="GUID-EAE34488-B88B-4D2C-9DAB-A5D8C2AFDE4C">
-<image href="GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e79459_href.png" placement="inline"/>
+<image href="GUID-7A2A9222-7D10-4007-95AB-C9584EC54698_d0e83657_href.png" placement="inline"/>
 </fig></entry>
 <entry><p><xref href="GUID-C29FE12C-C412-40A8-A067-27C63A519D71.dita">Choice list
 API</xref></p></entry>
@@ -160,7 +160,7 @@
 <entry>               <p><xref href="GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita">Forms</xref></p> 
            </entry>
 <entry>               <fig id="GUID-F0BF6AEC-5F2D-4BFC-98B4-E8E934FCE10C">
-<image href="GUID-11A79174-485E-425C-9653-193B670A3F03_d0e79481_href.png" placement="inline"/>
+<image href="GUID-11A79174-485E-425C-9653-193B670A3F03_d0e83679_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Form_API_Specification/Form_API_Specification.html" scope="peer">Form API</xref></p>                           </entry>
 </row>
@@ -172,7 +172,7 @@
 <li><p>Slider</p>                 </li>
 </ul>             </entry>
 <entry><fig id="GUID-65FDE0EB-6063-475D-BC7A-CF0D53445009">
-<image href="GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e79523_href.png" scale="27" placement="inline"/>
+<image href="GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e83721_href.png" scale="27" placement="inline"/>
 </fig></entry>
 <entry>              <p><xref format="html" href="specs/guides/Form_API_Specification/Form_API_Specification.html" scope="peer">Form API</xref></p>             </entry>
 </row>
@@ -182,7 +182,7 @@
 query</xref>, <xref href="GUID-434F2412-59A1-4BCB-885D-5E708EAA6AB6.dita">Grid
 query</xref></p>             </entry>
 <entry>               <fig id="GUID-0FF4831E-1870-40B0-8F29-A6F14826412E">
-<image href="GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e79553_href.png" placement="inline"/>
+<image href="GUID-81767E3E-BE4D-40D9-A4F2-3801BCCC1EA7_d0e83751_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p>Queries API</p>             </entry>
 </row>
@@ -190,7 +190,7 @@
 <entry>               <p>Left/Right arrows in the <xref href="GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita">Navi
 pane</xref></p>             </entry>
 <entry>               <fig id="GUID-DD17310A-C196-4DC6-82EB-D328B81628F5">
-<image href="GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e79578_href.png" placement="inline"/>
+<image href="GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e83776_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Navigation_Pane_API_Specification/Navigation_Pane_API_Specification.html" scope="peer">Navigation pane API</xref></p>             </entry>
 </row>
@@ -199,7 +199,7 @@
 list</xref></p>               <p><xref href="GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita">Selection
 list</xref></p>             </entry>
 <entry>               <fig id="GUID-766A6391-9572-4231-8756-8ACDB5EED335">
-<image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e79607_href.png" placement="inline"/>
+<image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e83805_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html" scope="peer">Lists API</xref></p>             </entry>
 </row>
@@ -207,7 +207,7 @@
 <entry>               <p><xref href="GUID-0E695106-4139-4335-A11F-BD04418DD583.dita">Multi-selection
 list</xref></p>             </entry>
 <entry>               <fig id="GUID-E899EFED-C4E7-45A3-B262-A5D3DFFB96BC">
-<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e79632_href.png" placement="inline"/>
+<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e83830_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html" scope="peer">Lists API</xref></p>             </entry>
 </row>
@@ -215,7 +215,7 @@
 <entry>               <p><xref href="GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita">Scrollbar</xref></p> 
            </entry>
 <entry><fig id="GUID-3123A8A3-1DEF-4DA2-8A55-9D4FD0966D8A">
-<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e79656_href.png" placement="inline"/>
+<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e83854_href.png" placement="inline"/>
 </fig></entry>
 <entry><p><xref format="html" href="specs/guides/Scroller_API_Specification/Scroller_API_Specification.html" scope="peer">Scroller API</xref></p></entry>
 </row>
@@ -227,28 +227,28 @@
 <row>
 <entry>               <p>Pop-up setting</p>             </entry>
 <entry><fig id="GUID-B2C37310-2E83-44A9-BDE8-28C273C89152">
-<image href="GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e79693_href.png" placement="inline"/>
+<image href="GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e83891_href.png" placement="inline"/>
 </fig></entry>
 <entry>               <p/>             </entry>
 </row>
 <row>
 <entry>               <p>Multi-selection list setting</p>             </entry>
 <entry><fig id="GUID-B9E2C260-5278-4C2E-B76C-17305547F324">
-<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e79713_href.png" placement="inline"/>
+<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e83911_href.png" placement="inline"/>
 </fig></entry>
 <entry>               <p/>             </entry>
 </row>
 <row>
 <entry><p><xref href="GUID-B452DBD8-F9EB-4DAB-9D0C-3B11D7C360F4.dita">Text setting</xref></p></entry>
 <entry><fig id="GUID-C9E90E52-534A-41FE-A4E0-5DD39ADB8C1A">
-<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e79732_href.png" placement="inline"/>
+<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e83930_href.png" placement="inline"/>
 </fig></entry>
 <entry>               <p/>             </entry>
 </row>
 <row>
 <entry><p><xref href="GUID-1BDADA7A-D517-49F4-AF46-AFC2B7758571.dita">Slider setting</xref></p></entry>
 <entry><fig id="GUID-6EAC8628-057C-4164-A6E9-D01BF6326276">
-<image href="GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e79751_href.png" placement="inline"/>
+<image href="GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e83949_href.png" placement="inline"/>
 </fig></entry>
 <entry>               <p/>             </entry>
 </row>
@@ -256,7 +256,7 @@
 <entry>               <p><xref href="GUID-F149726A-CC79-42A1-8A25-E15AC14ABE9A.dita">Setting
 list</xref></p>             </entry>
 <entry>               <fig id="GUID-8331EB35-DA07-4A91-B5E4-63246039FE91">
-<image href="GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e79773_href.png" placement="inline"/>
+<image href="GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e83971_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Setting_Pages_API_Specification/Setting_Pages_API_Specification.html" scope="peer">Setting pages API</xref>, <xref format="html" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html" scope="peer">Lists API</xref></p>             </entry>
 </row>
@@ -265,7 +265,7 @@
 pane</xref></p>               <note>There is no middle softkey label in Touch
 UI</note>             </entry>
 <entry>               <fig id="GUID-9EE9B343-0FA2-4A7B-A302-21D16DE078EA">
-<image href="GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e79805_href.png" placement="inline"/>
+<image href="GUID-A0208BE3-127F-4D04-8045-09C54EF202DD_d0e84003_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <p><xref format="html" href="specs/guides/Buttons_API_Specification/Buttons_API_Specification.html" scope="peer">Buttons API</xref></p>             </entry>
 </row>
@@ -285,7 +285,7 @@
 <li><p><xref href="GUID-CA2AACD9-A99D-4C34-80AF-C1B61AC9331F.dita">Clock Pane</xref></p></li>
 </ul>             </entry>
 <entry>               <fig id="GUID-A9181E38-4478-4705-8F63-1B0B209899B3">
-<image href="GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e79873_href.png" placement="inline"/>
+<image href="GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e84071_href.png" placement="inline"/>
 </fig>             </entry>
 <entry>               <ul>
 <li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html" scope="peer">Status pane API</xref> for the entire status pane</p></li>
Binary file Symbian3/PDK/Source/GUID-CCEE3988-C10A-538A-8107-E2636594443B_d0e533124_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CCEE3988-C10A-538A-8107-E2636594443B_d0e540584_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CD2BF0EE-5437-4ADA-A447-4B06147754A8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CD2BF0EE-5437-4ADA-A447-4B06147754A8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 illustrates the relationships between the different Symbian Bluetooth classes.</p>
 <p>For more information, see <xref href="GUID-6CE12919-FF81-5254-BA12-385F589FEA44.dita">Bluetooth
 Management Collection</xref>.</p>
-<fig id="GUID-0C459AD9-E972-4FC8-9C26-8879E8C2835D"><title>Bluetooth API</title><image href="GUID-AEBB7F5D-E18E-4E1F-ADE0-C984084AC108_d0e14295_href.png"/></fig>
+<fig id="GUID-0C459AD9-E972-4FC8-9C26-8879E8C2835D"><title>Bluetooth API</title><image href="GUID-AEBB7F5D-E18E-4E1F-ADE0-C984084AC108_d0e14394_href.png"/></fig>
 <p>Use the Bluetooth Security Manager to set the appropriate security requirements
 (authentication, authorization, and encryption) that <i>incoming</i> connections
 to the device's Bluetooth services must meet. For more information, see <xref href="GUID-A035B592-F423-5980-8E7E-E726CF24CF3E.dita">Using Bluetooth Security
Binary file Symbian3/PDK/Source/GUID-CD350815-1387-5C46-9D80-905022A90D8A_d0e605026_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-CD350815-1387-5C46-9D80-905022A90D8A_d0e644188_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-CD4B8ECA-AFE7-593C-B095-5D642EA2EC61.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CD4B8ECA-AFE7-593C-B095-5D642EA2EC61.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -31,7 +31,7 @@
 Symbian Window Server API. </p>
 <fig id="GUID-E0731CEB-BA28-5F07-8584-16286D439433">
 <title> Usage of DirectGDI          </title>
-<image href="GUID-E401D2B1-5360-57E3-99D6-3D08730E6C09_d0e263871_href.png" placement="inline"/>
+<image href="GUID-E401D2B1-5360-57E3-99D6-3D08730E6C09_d0e269871_href.png" placement="inline"/>
 </fig>
 <p>The Symbian DirectGDI adaptation uses the <xref href="GUID-82B0B4B9-6BC2-5BEF-B3B0-D57AC57F8D8A.dita">Graphics
 Resource component</xref>, which provides an abstraction layer for the memory
@@ -45,7 +45,7 @@
 and terms</title> <p>The key elements of DirectGDI are driver, resources and
 drawing context as shown in the following diagram. </p> <fig id="GUID-13399385-2DC4-50A2-8DC7-5712BC5325A7">
 <title> DirectGDI key elements            </title>
-<image href="GUID-1A02B1FB-FDE3-565B-8E52-0F7FD3AC5188_d0e263892_href.png" placement="inline"/>
+<image href="GUID-1A02B1FB-FDE3-565B-8E52-0F7FD3AC5188_d0e269892_href.png" placement="inline"/>
 </fig> <p> <b>Driver</b>. The driver class <xref href="GUID-0C7CD826-95FD-3DD2-9394-3A20316C9C61.dita"><apiname>CDirectGdiDriver</apiname></xref> implements
 platform-specific functionality to create and manage device-dependent drawing
 contexts and resources. It defines the Hardware Adaptation Interface (HAI)
@@ -77,7 +77,7 @@
 and hardware adaptations use the same HAI. However, only one adaptation can
 be present on a phone. </p> <fig id="GUID-DCD69302-90C3-5C1B-BC62-E901EDBE133B">
 <title> DirectGDI architecture            </title>
-<image href="GUID-3E2E0C91-14B3-53AC-B797-DEE349688477_d0e263997_href.png" placement="inline"/>
+<image href="GUID-3E2E0C91-14B3-53AC-B797-DEE349688477_d0e269997_href.png" placement="inline"/>
 </fig> <p>For more information about the DirectGDI adaptation layer, see the <xref href="GUID-22E46647-D677-5A47-A7E0-E1E0AE736B27.dita">DirectGDI Adaptation Overview</xref>. </p> </section>
 <section id="GUID-21429397-2B36-4799-869F-5948C282B4A0"><title>DLL summary</title> <p>DirectGDI
 consists of one DLL, <filepath>directgdi.dll</filepath>. For more information,
--- a/Symbian3/PDK/Source/GUID-CD506806-FC59-547A-B5CD-03314DF847F7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CD506806-FC59-547A-B5CD-03314DF847F7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,61 +1,58 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-CD506806-FC59-547A-B5CD-03314DF847F7" xml:lang="en"><title>Date And
-Time Handling Overview</title><shortdesc>Functions that manipulates date and time values. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-C9F67EE0-BDA3-43B7-A0D5-D68CEAE58E0E"><title>Architectural relationships</title> <p>The system maintains
-two clocks: </p> <ul>
-<li id="GUID-3C5A5819-E800-518A-A8D9-8B6BEB52F0D1"><p>a secure clock that
-can only be set by kernel code or by an application that has TCB capability.
-This is a clock that can be used by secure DRM applications. </p> </li>
-<li id="GUID-44375F26-F8E9-54AA-9F20-E0B74C7F905D"><p>a non-secure clock that
-can be set by applications that require no specific capability. This is the
-clock that is used for user-visible time displays. </p> </li>
-</ul> <p>The non-secure clock is implemented in terms of an offset from the
-secure clock. </p> <p>Both the secure time and the non-secure time can be
-set using the System Static Functions API, and specifically: </p> </section>
-<section id="GUID-2F364328-2127-4225-98A8-8F706E4B7BC7"><title>Secure time </title> <ul>
-<li id="GUID-FF13C20D-505B-55B0-B95C-1D64AF9A81E6"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-914FC88A-2D71-321B-8501-C7B91D142586"><apiname>User::SetHomeTimeSecure(0</apiname></xref> </p> </li>
-<li id="GUID-6163CCC9-0C88-50B0-895B-6D781D389C49"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-B25BB967-380B-3A40-AD1B-53775C3335D7"><apiname>User::SetUTCTimeSecure()</apiname></xref> </p> </li>
-</ul> </section>
-<section id="GUID-81367F49-79D7-45C9-91CD-1A327EB71DF7"><title>Non-secure time </title><ul>
-<li id="GUID-BA9D3823-219E-5C21-89A5-8239F97349A0"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-95B49BD6-AAD8-3AEB-88A2-DD7E934AFAB6"><apiname>User::SetHomeTime()</apiname></xref> </p> </li>
-<li id="GUID-E9AAE71D-29CD-530E-8F3E-F4B3BA55854C"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-145F52E6-2A29-3FF1-8AD1-7009BE0074D7"><apiname>User::SetUTCTime()</apiname></xref> </p> </li>
-</ul> <p>System locale settings, which affect date and time formatting, are
-set through <xref href="GUID-53299759-C2DD-3ABC-A055-9AFE7C5081C6.dita"><apiname>TLocale</apiname></xref> in the Locale Settings API. </p> </section>
-<section id="GUID-6F1F1A03-5336-4246-8EF7-602172A8E91B"><title>Description</title> <p>The API has three key concepts: point
-in time, time utilities, and time interval. </p> <p><b>Point
-in time</b> </p> <p>The point in time is a 64-bit integer that represents
-time as the number of microseconds since midnight on 1st January 0 AD, using
-a nominal Gregorian calendar. It can be set to the current system time, can
-have arithmetic and comparison operations performed on it, and can be converted
-into a string formatted according to the locale and other options. </p> <p>The
-main point in time interface is provided by <xref href="GUID-A2D3BA72-9B27-3BFF-950A-D7E3B2004821.dita"><apiname>TTime</apiname></xref>. A support
-class <xref href="GUID-13A9DD2B-8ABC-3D62-B54E-4F5DD5B9228B.dita"><apiname>TDateTime</apiname></xref> is provided that allows time values to
-be get and set in an easy-to-use format, such as year, month, day, rather
-than as an integer. </p> <p>The time value in a <codeph>TTime</codeph> object
-can be set using either the secure time or the non-secure time. </p> <p><b>Time utilities</b> </p> <p>The time utilities provides miscellaneous time
-functions, for such things as checking for leap years. </p> <p>The time utilities
-interface is provided by <xref href="GUID-B81A50BE-2045-3040-A5DD-D5DE03B52FCC.dita"><apiname>Time</apiname></xref>. </p> <p><b>Time interval</b> </p> <p>The time interval represents a period between
-two points in time. Time intervals can be added or subtracted, either to or
-from each other or to or from points in time. </p> <p>The time interval interface
-is provided by a base class <xref href="GUID-A5F9B2F0-6FCF-336E-95C6-9CE3EDFE4FD1.dita"><apiname>TTimeIntervalBase</apiname></xref> and by a
-family of derived classes for second, minute, hour, etc. intervals. A class
-outside this hierarchy, <xref href="GUID-B7D6F874-1ABD-3AC6-9329-19DC54C12F18.dita"><apiname>TTimeIntervalMicroSeconds</apiname></xref>, is provided
-for efficiency reasons (it alone stores its value as a 64-bit number). </p> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-92C032CF-9291-5970-9152-EFF47C9AE3B9.dita">Locale Settings
-Overview</xref></desc>
-</link>
-<link href="GUID-FF8F5D97-7D37-5F6B-84A3-C064E2FD53E0.dita"><linktext>System Static
-Functions Overview</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-CD506806-FC59-547A-B5CD-03314DF847F7" xml:lang="en"><title>Date And Time Handling Overview</title><shortdesc>Functions that manipulates date and time values. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-C9F67EE0-BDA3-43B7-A0D5-D68CEAE58E0E"><title>Architectural
+relationships</title> <p>The system maintains two clocks: </p> <ul>
+<li id="GUID-3C5A5819-E800-518A-A8D9-8B6BEB52F0D1"><p>a secure clock
+that can only be set by kernel code or by an application that has
+TCB capability. This is a clock that can be used by secure DRM applications. </p> </li>
+<li id="GUID-44375F26-F8E9-54AA-9F20-E0B74C7F905D"><p>a non-secure
+clock that can be set by applications that require no specific capability.
+This is the clock that is used for user-visible time displays. </p> </li>
+</ul> <p>The non-secure clock is implemented in terms of an offset
+from the secure clock. </p> <p>Both the secure time and the non-secure
+time can be set using the System Static Functions API, and specifically: </p> </section>
+<section id="GUID-2F364328-2127-4225-98A8-8F706E4B7BC7"><title>Secure
+time </title> <ul>
+<li id="GUID-FF13C20D-505B-55B0-B95C-1D64AF9A81E6"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-914FC88A-2D71-321B-8501-C7B91D142586"><apiname>User::SetHomeTimeSecure(0</apiname></xref> </p> </li>
+<li id="GUID-6163CCC9-0C88-50B0-895B-6D781D389C49"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-B25BB967-380B-3A40-AD1B-53775C3335D7"><apiname>User::SetUTCTimeSecure()</apiname></xref> </p> </li>
+</ul> </section>
+<section id="GUID-81367F49-79D7-45C9-91CD-1A327EB71DF7"><title>Non-secure
+time </title><ul>
+<li id="GUID-BA9D3823-219E-5C21-89A5-8239F97349A0"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-95B49BD6-AAD8-3AEB-88A2-DD7E934AFAB6"><apiname>User::SetHomeTime()</apiname></xref> </p> </li>
+<li id="GUID-E9AAE71D-29CD-530E-8F3E-F4B3BA55854C"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-145F52E6-2A29-3FF1-8AD1-7009BE0074D7"><apiname>User::SetUTCTime()</apiname></xref> </p> </li>
+</ul> <p>System locale settings, which affect date and time formatting,
+are set through <xref href="GUID-53299759-C2DD-3ABC-A055-9AFE7C5081C6.dita"><apiname>TLocale</apiname></xref> in the Locale Settings
+API. </p> </section>
+<section id="GUID-6F1F1A03-5336-4246-8EF7-602172A8E91B"><title>Description</title> <p>The API has three key concepts: point in time, time utilities,
+and time interval. </p> <p><b>Point in time</b> </p> <p>The point in time is a 64-bit integer
+that represents time as the number of microseconds since midnight
+on 1st January 0 AD, using a nominal Gregorian calendar. It can be
+set to the current system time, can have arithmetic and comparison
+operations performed on it, and can be converted into a string formatted
+according to the locale and other options. </p> <p>The main point
+in time interface is provided by <xref href="GUID-A2D3BA72-9B27-3BFF-950A-D7E3B2004821.dita"><apiname>TTime</apiname></xref>. A support
+class <xref href="GUID-13A9DD2B-8ABC-3D62-B54E-4F5DD5B9228B.dita"><apiname>TDateTime</apiname></xref> is provided that allows time values
+to be get and set in an easy-to-use format, such as year, month, day,
+rather than as an integer. </p> <p>The time value in a <codeph>TTime</codeph> object can be set using either the secure time or the non-secure
+time. </p> <p><b>Time utilities</b> </p> <p>The time utilities provides miscellaneous
+time functions, for such things as checking for leap years. </p> <p>The time utilities interface is provided by <xref href="GUID-B81A50BE-2045-3040-A5DD-D5DE03B52FCC.dita"><apiname>Time</apiname></xref>. </p> <p><b>Time interval</b> </p> <p>The time interval represents a period
+between two points in time. Time intervals can be added or subtracted,
+either to or from each other or to or from points in time. </p> <p>The time interval interface is provided by a base class <xref href="GUID-A5F9B2F0-6FCF-336E-95C6-9CE3EDFE4FD1.dita"><apiname>TTimeIntervalBase</apiname></xref> and by a family of derived classes for
+second, minute, hour, etc. intervals. A class outside this hierarchy, <xref href="GUID-B7D6F874-1ABD-3AC6-9329-19DC54C12F18.dita"><apiname>TTimeIntervalMicroSeconds</apiname></xref>, is provided for efficiency reasons
+(it alone stores its value as a 64-bit number). </p> </section>
+</conbody><related-links>
+<link href="GUID-FF8F5D97-7D37-5F6B-84A3-C064E2FD53E0.dita">
+<linktext>System Static Functions Overview</linktext></link>
+<link href="GUID-92C032CF-9291-5970-9152-EFF47C9AE3B9.dita"><linktext>Locale
+Settings Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e355751_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e361654_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CDDC6DBD-560B-4602-815C-FE3FCDA09AD5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CDDC6DBD-560B-4602-815C-FE3FCDA09AD5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task id="GUID-CDDC6DBD-560B-4602-815C-FE3FCDA09AD5" xml:lang="en"><title>Running
 Tests using TestDriver</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-5-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-10-1-3-1-4-1-4-1-5-1-5-1-3-1-1"><cmd>Install STAT to
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-5-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-10-1-3-1-4-1-4-1-5-1-5-1-3-1-1"><cmd>Install STAT to
 enable the Communication between the PC and the device under test. </cmd>
 </step>
 <step id="GUID-444100DE-25A7-4454-9BD3-89B98E0F5EB6"><cmd/>
--- a/Symbian3/PDK/Source/GUID-CE1F63A6-BF8E-4287-BECE-0248420C86AB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CE1F63A6-BF8E-4287-BECE-0248420C86AB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -64,7 +64,7 @@
 <section id="GUID-FD878DE5-3565-46BF-BE26-5AA8296DEEA8"><title>Download</title><p>Click on the following link to download the example:  <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c759da23-1dae-4854-b5a1-1e58d2125594 .zip" scope="external">MtpDataProvider.zip</xref>.</p><p>Click  <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c759da23-1dae-4854-b5a1-1e58d2125594.html" scope="peer">browse</xref> to view the example code.</p></section>
 <section id="GUID-F0AB5245-1934-4F8F-84C3-2806C20DF096"><p> </p><title>Building and configuring</title><p>You can build the example from
 your IDE or the command line: </p> <ul>
-<li id="GUID-0D86ECCB-1501-52D9-A52E-A016AB6710A2-GENID-1-12-1-26-1-1-6-1-4-1-3-4-4-1"><p> </p><p>If you
+<li id="GUID-0D86ECCB-1501-52D9-A52E-A016AB6710A2-GENID-1-12-1-28-1-1-6-1-4-1-3-4-4-1"><p> </p><p>If you
 use an IDE, import the <filepath>bld.inf</filepath> file of the example
 into your IDE, and use the build command of the IDE. </p></li>
 <li> <p>If you use the command line, open a command prompt, and set
@@ -73,8 +73,7 @@
 following commands: </p><ul>
 <li><p><cmdname>bldmake bldfiles</cmdname></p></li>
 <li><p><cmdname>abld build</cmdname></p></li>
-</ul> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How
-to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe how to use the SBSv1 build tools. </p> </li>
+</ul> </li>
 </ul> <p> The example builds the following DLL:<ul>
 <li><p><filepath>mtpexampledp.dll</filepath> : example data provider
 plug-in. </p></li>
Binary file Symbian3/PDK/Source/GUID-CE3C8A77-8797-53FB-984E-A91A413BA254_d0e373271_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE3C8A77-8797-53FB-984E-A91A413BA254_d0e379119_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE49EF9C-C87A-5D4C-91F3-5C2950A5553B_d0e446291_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE49EF9C-C87A-5D4C-91F3-5C2950A5553B_d0e452136_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e568722_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569155_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569234_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569407_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618018_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618451_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618530_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618703_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CE7C84A5-D2E6-5151-BBC7-6AF9C8A0D978.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CE7C84A5-D2E6-5151-BBC7-6AF9C8A0D978.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 The binaries are linked to the <codeph>etul.lib</codeph> (Text Utilities -
 part of Egul component) library. </p> <fig id="GUID-831D95A9-EDD6-5351-83CD-F9246B88E821">
 <title>              Subsystem dependencies            </title>
-<image href="GUID-2BF99BD2-5DB5-5DF6-8F82-22DD2E818584_d0e76215_href.png" placement="inline"/>
+<image href="GUID-2BF99BD2-5DB5-5DF6-8F82-22DD2E818584_d0e80428_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-B712EDB6-0AAD-4E3F-9694-5EABECD3AA1D"><title>Description</title> <p><b>Usage</b> </p> <p>In
 order to use the Address String Tokenizer, the user has to create an instance
@@ -84,6 +84,6 @@
 delete multiSearch;
 </codeblock> <p><b>Sequence Diagram</b> </p> <fig id="GUID-1FD4B286-A5EE-43B7-BE5C-A22AB47A8E00">
 <title>                 Sequence of events for <codeph>CTulAddressStringTokenizer</codeph></title>
-<image href="GUID-C2D6BAB9-89BA-4E8D-82B4-2FAE04B9086C_d0e76308_href.png" placement="inline"/>
+<image href="GUID-C2D6BAB9-89BA-4E8D-82B4-2FAE04B9086C_d0e80521_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-CE7CF024-4898-551A-841B-38EC57A3EC82.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CE7CF024-4898-551A-841B-38EC57A3EC82.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 shows three windows, A, B and C, all belonging to the same window group. Their
 ordinal positions are as follows: A=0; B=1; C=2. </p>
 <fig id="GUID-FB15A25F-FB7A-5031-9D17-51CD7C8ACA1D">
-<image href="GUID-694C7416-927E-58F7-B010-CA55D2FFA88F_d0e236264_href.png" placement="inline"/>
+<image href="GUID-694C7416-927E-58F7-B010-CA55D2FFA88F_d0e242237_href.png" placement="inline"/>
 </fig>
 <p>This would be the default ordering of the windows if they were created
 in the order CBA. Many sibling windows within an application may not overlap
@@ -49,16 +49,16 @@
 ordinal position of 0. The diagram below shows windows A, B and C, but window
 B has now been given an ordinal position of 0. A’s position has been incremented
 to 1, and C’s remains as 2. </p> <fig id="GUID-0B1ED6C1-4F47-5527-A9F9-5B4AD03528D5">
-<image href="GUID-74B329CD-4640-5636-9D8D-20F0D7E09EB4_d0e236285_href.png" placement="inline"/>
+<image href="GUID-74B329CD-4640-5636-9D8D-20F0D7E09EB4_d0e242258_href.png" placement="inline"/>
 </fig> <p>The diagram below shows the same three windows as above, except
 that window B now contains a child window, D. Window D’s ordinal position
 is 0, relative to its parent window, B. </p> <fig id="GUID-313C9AEE-6ADB-5842-9EB6-0D563D7FC582">
-<image href="GUID-7AE4D17F-728A-5B7E-A3F9-A903E64731B1_d0e236293_href.png" placement="inline"/>
+<image href="GUID-7AE4D17F-728A-5B7E-A3F9-A903E64731B1_d0e242266_href.png" placement="inline"/>
 </fig> <p>If window A is now moved to the front, window B moves behind it,
 as shown in the diagram below. Window D’s ordinal position is still 0, but
 because its position is relative to its parent window, it moves with window
 B to behind window A. </p> <fig id="GUID-B6882EE3-C071-522B-9D7E-86D84F8D64DC">
-<image href="GUID-40A3938E-366E-5318-A7FA-146F9E5E23B1_d0e236301_href.png" placement="inline"/>
+<image href="GUID-40A3938E-366E-5318-A7FA-146F9E5E23B1_d0e242274_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-EDA73282-0AB9-49EE-BAAB-C6D0DB267F56"><title>Moving a window to the back</title> <p>If a window is given
 an ordinal position greater than all its siblings, it is moved to the back
Binary file Symbian3/PDK/Source/GUID-CE7DA679-D441-4843-A81B-2A60440B50E8_d0e183493_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CE7DA679-D441-4843-A81B-2A60440B50E8_d0e189570_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CE94AD48-B79B-403A-98E9-F69494D052F9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CE94AD48-B79B-403A-98E9-F69494D052F9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -65,7 +65,7 @@
 below shows the subsystems that need to be modified in order to adapt
 HDMI in the Symbian platform by the device creator.</p><p/><fig id="GUID-856268EB-CE51-4F2C-8DD6-9B20A71DFDA3">
 <title>HDMI architectural relationship with the subsystem</title>
-<image href="GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e523799_href.png" placement="inline"/>
+<image href="GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e531259_href.png" placement="inline"/>
 </fig><ol>
 <li id="GUID-46021ED3-A8CE-4A9B-899A-D41F58B6A276"><p><b>Application
 layer</b></p><p>To use HDMI in an application no changes are required
@@ -102,7 +102,7 @@
 </ul></p><p>For example in order to play a video the following diagram
 demonstrates the HDMI feature implementation:</p><fig id="GUID-55FBC50B-5C93-49C2-8515-1A1EC2528286">
 <title>HDMI video play use-case</title>
-<image href="GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e523913_href.png" placement="inline"/>
+<image href="GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e531373_href.png" placement="inline"/>
 </fig><p>In order to play video the <xref href="GUID-42D1182F-46D8-3C78-8D3C-C1BB465FCA1F.dita"><apiname>CVideoPlayerUtility2</apiname></xref> API is used as the <xref href="GUID-0EE3180B-4814-517E-A6DD-748136C17D55.dita">Video Client library</xref>, which plays sampled video data on graphics surfaces. In the MMF
 layer, the <xref href="GUID-9DEDFB0F-C963-3FB7-9237-DDDB276C8841.dita"><apiname>RMMFController</apiname></xref> and the <xref href="GUID-CAFDAD45-0D6F-3D96-A859-36101A9B30DB.dita"><apiname>CHXNGAUtility</apiname></xref> APIs are used as the MMF controller framework, which initializes
 the <xref href="GUID-FB2E1BFB-A06C-58D8-B175-1E7B10BCCB72.dita">DevVideo</xref> API. The DevVideo uses the <xref href="GUID-6273220C-24F9-3ECB-9748-E74D595D448A.dita"><apiname>CMMFDevVideoPlay</apiname></xref> API
Binary file Symbian3/PDK/Source/GUID-CEDA0EFF-A1D4-53FE-9BF2-DB9AA857BCF5_d0e372717_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CEDA0EFF-A1D4-53FE-9BF2-DB9AA857BCF5_d0e378565_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CF17532E-5E90-5124-8F05-AA72B848F17F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CF17532E-5E90-5124-8F05-AA72B848F17F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 that use two different machines. The following figure illustrates the sample
 application. </p>
 <fig id="GUID-A0E243BE-E697-5856-8C08-6039AAE6A05A">
-<image href="GUID-155C5B39-CB9B-5405-B9BB-EB34CA7C43BC_d0e553988_href.png" placement="inline"/>
+<image href="GUID-155C5B39-CB9B-5405-B9BB-EB34CA7C43BC_d0e561444_href.png" placement="inline"/>
 </fig>
 <p>All users who want to play the game must register to the server with their
 identities. This informs the server that the user is active and prepared to
@@ -55,7 +55,7 @@
 <section id="GUID-3A9BE5C5-A9A2-54A8-B525-6750E562EF97"><title>How to play
 the game</title> <p>The following snapshot shows the different tabs available
 in the game. </p> <fig id="GUID-15C8B95B-4B8C-5701-80B1-C0D7B39AF422">
-<image href="GUID-0E21EAE4-BF71-55FD-9561-EA5530696627_d0e554061_href.png" placement="inline"/>
+<image href="GUID-0E21EAE4-BF71-55FD-9561-EA5530696627_d0e561517_href.png" placement="inline"/>
 </fig> <p>The following list describes the different tabs available in the
 game: </p> <ul>
 <li id="GUID-CDB3E759-F01D-5D02-B8AA-7E901C1984BE"><p> <b>Invite for game</b> -
Binary file Symbian3/PDK/Source/GUID-CF252B09-335E-5831-94A6-0B16B64C5030_d0e378040_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CF252B09-335E-5831-94A6-0B16B64C5030_d0e383893_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CF34E1C9-48E5-5B91-A48E-C68E647116A0_d0e75526_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CF34E1C9-48E5-5B91-A48E-C68E647116A0_d0e79739_href.png has changed
--- a/Symbian3/PDK/Source/GUID-CF8287B9-2063-5316-A1BF-7DFC58FCDE30.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-CF8287B9-2063-5316-A1BF-7DFC58FCDE30" xml:lang="en"><title>How
-to freeze exports</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Released versions of DLLs should freeze their exports, so as to ensure
-the backward compatibility of new releases of a library. While you are developing
-a DLL, you can use the <codeph>exportunfrozen</codeph> keyword in the project's
-mmp file, to tell the build process that exports are not yet frozen. When
-you are ready to freeze, remove the <codeph>exportunfrozen</codeph> keyword,
-and supply a <filepath>.def</filepath> file listing the exports. </p>
-<p>To create a <filepath>.def</filepath> file, build the project in the normal
-way. A warning will be generated to the effect that the frozen <filepath>.def</filepath> file
-does not yet exist. Once the project has been built you can freeze it by calling
-the <codeph>freeze</codeph> target in the makefiles. You can do this with <codeph>abld</codeph> by
-using: </p>
-<p><userinput>abld freeze </userinput> </p>
-<p>Either method will create the frozen <filepath>.def</filepath> file containing
-the project’s exported functions. Note that the Symbian emulator targets and
-ARM targets have different <filepath>.def</filepath> file formats, so that
-if you build for both of these, you will need to store two def files. </p>
-<p>Once the project is frozen, regenerate the makefiles so that the import
-library will be created directly from the frozen <filepath>.def</filepath> file. </p>
-<p>The project can be frozen in this way even if the <codeph>exportunfrozen</codeph> statement
-is specified, but the import library will be created as a side-effect of linking
-rather than from the frozen <filepath>.def</filepath> file, and this import
-library will be created whether the project is frozen or not. </p>
-<section><title>Storing deffiles </title><p>By default, the build tools look
-for the Symbian emulator build def file in a <codeph>BWINS</codeph> directory
-(at the same level as the directory containing the mmp file), and the ARM
-def file in a <codeph>EABI</codeph> directory. If def files are stored in
-these locations, the project files does not need to specify the location of
-the def files explicitly. If you want to store the def files in some other
-location, you will need to specify in the project file where the .def files
-are using the <codeph>deffile</codeph> keyword. </p><p>Because the .def files
-are different for different targets, it's necessary to use <codeph>#if defined</codeph> macros
-to select the correct def file, depending on the target for which the project
-is being built. The following example does this: </p><codeblock id="GUID-B5FB9EAB-EA32-567D-8190-45085E4497C5" xml:space="preserve">#if defined(WINS)
-deffile    ..\freeze\CONVPLUG-WINS.DEF
-#else
-deffile    ..\freeze\CONVPLUG-EABI.DEF
-#endif</codeblock><p>A more succinct syntax is also available:</p><codeblock id="GUID-47BB23C9-15DD-5B96-A567-C36AA55EAEE1" xml:space="preserve">deffile ..\~\x.def</codeblock><p>A
-directory named ~ in a deffile path is automatically replaced with bwins or
-eabi as necessary depending on which target is being built.  </p></section>
-<section><title>Adding new exports </title><p>New exports can be added to
-the frozen <filepath>.def</filepath> file by calling the <codeph>freeze</codeph> target
-in the makefiles once the project has been built with the new exports incorporated. </p><p>The <codeph>freeze</codeph> target
-calls a tool, <filepath>efreeze</filepath>, to compare the frozen <filepath>.def</filepath> file,
-if it exists, with the one generated by the two-stage link process in directory: <filepath>epoc32\build\</filepath> <varname>absolute_path_to_mmp_file</varname> <filepath>\</filepath> <varname>mmp_basename</varname> <filepath>\</filepath> <varname>platform</varname> <filepath>\</filepath></p><p><filepath>efreeze</filepath> checks that the frozen exports are all present and correct
-in the generated <filepath>.def</filepath> file, and appends any new exports
-to the end of the frozen <filepath>.def</filepath> file. </p></section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-CF890168-0FCA-5BFD-AC86-E355B611A6B0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CF890168-0FCA-5BFD-AC86-E355B611A6B0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,10 +11,10 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-CF890168-0FCA-5BFD-AC86-E355B611A6B0"><title> Nodes in the Communications Framework</title><shortdesc>This topic describes the concept of a <i>Node</i> in the Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Communications Framework separates its implementation into horizontal and vertical divisions - the concept of Layers and Planes. Each of the separate entities is a <i>Node</i>. These entities form part of the Communications stack and are named <i>Stack Nodes</i>. Stack Nodes belong to a single Layer and a single Plane. Stack Nodes also provide Access Point services. </p> <section id="GUID-0B0B61DE-AABC-5F87-8205-30F818F79C0A"><title>Stack Nodes</title> <p>There are four Stack Nodes: </p> <p><b>MetaConnection Provider (MCPR) Node </b> </p> <p>The <i>MCPR</i> Node uses the configuration and policy specifications to manage the Layer. A phone creator can replace this Node. The replacement or the configuration of this Node allows a phone creator to change the configuration of the Communications Infrastructure without a change to the software. </p> <p><b>Connection Provider (CPR) Node </b> </p> <p>The <i>CPR</i> Node manages the connections. </p> <p><b>SubConnection Provider (SCPR) Node </b> </p> <p>The <i>SCPR</i> Node manages the subconnections. Each subconnection represents a logical data channel. The Communications Framework has the concept of a default subconnection. A default SCPR always exists to represent the default subconnection. A connection uses the default subconnection if a subconnection is not specified. </p> <p><b>Flow Node </b> </p> <p>The <i>Flow</i> Node manages the data stream. </p> <fig id="GUID-7E959DB6-5153-5B0D-A857-97684318F53A"><title>
              Stack Nodes 
-          </title> <image href="GUID-31A6FA69-418D-5F8D-A0FB-6A99AA8CC4E1_d0e107105_href.png" placement="inline"/></fig> <p>Each type of Node is related to a specific Plane in the Comms Stack. The following diagram shows that: </p> <ul><li id="GUID-11520E35-0C8B-59AB-8B00-C0D3FCB2EF3B"><p>the <i>Flow Node</i> has a one-to-one relationship with the Data Plane. </p> </li> <li id="GUID-B5305F51-3D47-5BF4-8EEF-6D5D240A199D"><p>the<i> MCPR (MetaConnection Provider) Node</i> has a one-to-one relationship with the Management Plane. </p> </li> <li id="GUID-24C548E4-3D00-5F98-BBD8-A6F8B368AA0C"><p>the Control Plane contains both the <i>SCPR Node</i> and the <i>CPR Node</i>. </p> </li> <li id="GUID-6DC64ADF-1DAD-5F7D-8433-1A1383983CC7"><p>the <i>SCPR Node</i> can have many instances in operation at the same time. </p> </li> <li id="GUID-370A9510-8068-54E3-AE14-9FA8F30A879B"><p>the <i>MCPR Node</i> can connect to resources outside the Communications stack. The offset grey box around the text MCPR represents this fact. </p> </li> </ul> <fig id="GUID-5DAECC1D-051F-5F9D-8D73-2F992C2D1003"><title>
+          </title> <image href="GUID-31A6FA69-418D-5F8D-A0FB-6A99AA8CC4E1_d0e109548_href.png" placement="inline"/></fig> <p>Each type of Node is related to a specific Plane in the Comms Stack. The following diagram shows that: </p> <ul><li id="GUID-11520E35-0C8B-59AB-8B00-C0D3FCB2EF3B"><p>the <i>Flow Node</i> has a one-to-one relationship with the Data Plane. </p> </li> <li id="GUID-B5305F51-3D47-5BF4-8EEF-6D5D240A199D"><p>the<i> MCPR (MetaConnection Provider) Node</i> has a one-to-one relationship with the Management Plane. </p> </li> <li id="GUID-24C548E4-3D00-5F98-BBD8-A6F8B368AA0C"><p>the Control Plane contains both the <i>SCPR Node</i> and the <i>CPR Node</i>. </p> </li> <li id="GUID-6DC64ADF-1DAD-5F7D-8433-1A1383983CC7"><p>the <i>SCPR Node</i> can have many instances in operation at the same time. </p> </li> <li id="GUID-370A9510-8068-54E3-AE14-9FA8F30A879B"><p>the <i>MCPR Node</i> can connect to resources outside the Communications stack. The offset grey box around the text MCPR represents this fact. </p> </li> </ul> <fig id="GUID-5DAECC1D-051F-5F9D-8D73-2F992C2D1003"><title>
              How Nodes related to Planes in the Comms Stack 
-          </title> <image href="GUID-9901F6E2-0D36-59D6-A32A-D666C4F2DAAF_d0e107159_href.png" placement="inline"/></fig> </section> <section><title>Other Nodes</title> <p>The Communications Framework has two other types of Node: <i>Tier Manager</i> and <i>Factory Container</i>. </p> <p><b>Tier manager Node </b> </p> <p>A Tier is an alternative to Access Points. A Tier gives users a different method to access the services of the Communications Infrastructure. A Tier represents a higher level communications technology or a collection of technologies. Each communications technology belongs to a Tier, but a Tier can contain more than one technology. When a user selects a technology, a Tier shows the appropriate group of technologies from which the user can select. The Tier handles the selection of the Access Point. A Tier manager Node manages each Tier in the Communications Framework. </p> <p><b>Factory Container Node </b> </p> <p>Factory Containers create Nodes. The Communications Framework supplies a Factory Container for each type of Node. The Factory Containers have published addresses and Nodes use these addresses to find and communicate with the Factory Containers. A Node can create another Node. A Node sends a request to the correct Factory Container to create the other Node. The Factory Container tries to create the new Node and reports status to the Node that made the request. </p> <p>The following diagram shows the connection between the Stack Nodes and the Tier Manager and Factory Container Nodes. </p> <fig id="GUID-8BD04C75-4923-5566-BB89-D502845B332A"><title>
+          </title> <image href="GUID-9901F6E2-0D36-59D6-A32A-D666C4F2DAAF_d0e109602_href.png" placement="inline"/></fig> </section> <section><title>Other Nodes</title> <p>The Communications Framework has two other types of Node: <i>Tier Manager</i> and <i>Factory Container</i>. </p> <p><b>Tier manager Node </b> </p> <p>A Tier is an alternative to Access Points. A Tier gives users a different method to access the services of the Communications Infrastructure. A Tier represents a higher level communications technology or a collection of technologies. Each communications technology belongs to a Tier, but a Tier can contain more than one technology. When a user selects a technology, a Tier shows the appropriate group of technologies from which the user can select. The Tier handles the selection of the Access Point. A Tier manager Node manages each Tier in the Communications Framework. </p> <p><b>Factory Container Node </b> </p> <p>Factory Containers create Nodes. The Communications Framework supplies a Factory Container for each type of Node. The Factory Containers have published addresses and Nodes use these addresses to find and communicate with the Factory Containers. A Node can create another Node. A Node sends a request to the correct Factory Container to create the other Node. The Factory Container tries to create the new Node and reports status to the Node that made the request. </p> <p>The following diagram shows the connection between the Stack Nodes and the Tier Manager and Factory Container Nodes. </p> <fig id="GUID-8BD04C75-4923-5566-BB89-D502845B332A"><title>
              Connection between the Stack Nodes and the Tier Manager and Factory
              Container Nodes 
-          </title> <image href="GUID-EFE378EA-C668-5CD5-A630-B8041027791A_d0e107198_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-A1148010-887F-549D-9DA0-D36FF4661FFE.dita"><linktext>Access
+          </title> <image href="GUID-EFE378EA-C668-5CD5-A630-B8041027791A_d0e109641_href.png" placement="inline"/></fig> </section> </conbody><related-links><link href="GUID-A1148010-887F-549D-9DA0-D36FF4661FFE.dita"><linktext>Access
                 Points</linktext> </link> <link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> <link href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita"><linktext>Planes</linktext> </link> <link href="GUID-4841AEDF-D22C-57D0-872D-7BD8B6A29CF5.dita"><linktext>Tiers</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-CF8FA653-5A3B-5D57-8875-0BC6BDCC1D0A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-CF8FA653-5A3B-5D57-8875-0BC6BDCC1D0A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 Send executable, it unpacks the schedule information and uses the messaging
 client API to request the Server MTM to perform an operation. </p> <fig id="GUID-F3664A22-1E9F-586B-84B1-CDA7987C3894">
 <title>              Schedule Send architecture            </title>
-<image href="GUID-628A90FC-35F9-51D0-853E-9BECB3C91B59_d0e477891_href.png" placement="inline"/>
+<image href="GUID-628A90FC-35F9-51D0-853E-9BECB3C91B59_d0e483720_href.png" placement="inline"/>
 </fig> <p>The executable to run by the Task Scheduler is specified in the
 schedule send settings. This allows different executables for different message
 types, as a set of schedule send settings are defined for each message type
Binary file Symbian3/PDK/Source/GUID-CF9EF400-DE1F-55F7-BD33-C4CD80462971_d0e268956_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CF9EF400-DE1F-55F7-BD33-C4CD80462971_d0e274956_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CFD3CD78-D99A-57B8-80EB-8C67899E5D27_d0e679639_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CFD3CD78-D99A-57B8-80EB-8C67899E5D27_d0e692466_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CFD41A5A-2FE2-47FE-8369-08E3C73CB9A5_d0e17025_href.png has changed
Binary file Symbian3/PDK/Source/GUID-CFD41A5A-2FE2-47FE-8369-08E3C73CB9A5_d0e18136_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1" xml:lang="en"><title>Symmetric
+ciphers -- HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-0B38AF7B-D5D7-5A06-865D-76F056634C2A-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-1-1"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-119D039F-4624-5464-AA17-BBAB18A8D3CD-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2">How do I use the symmetric cipher framework?</xref>  </p> </li>
+<li id="GUID-6B472E69-7101-5AC2-B91C-E6FB3FEA067E-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-1-2"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-71CD8B41-219D-5D07-8C99-47D68668A880-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-3">Symmetric Modes</xref>  </p> </li>
+<li id="GUID-3D8DF8E4-8839-51DB-9223-99931F01A7EB-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-1-3"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-86CD649D-3611-531A-8D9E-1FCC9728500B-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-4">Which symmetric cipher should I use?</xref>  </p> </li>
+<li id="GUID-24318339-1B08-5CAF-8EE6-C512DA548670-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-1-4"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5">How does buffering work within the symmetric cipher framework?</xref>  </p> </li>
+</ul>
+<section id="GUID-119D039F-4624-5464-AA17-BBAB18A8D3CD-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2"><title>How do I use
+the symmetric cipher framework? </title> <ul>
+<li id="GUID-78AC1C88-612F-5D55-B357-497D637F20E1-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-2-1"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-21BCC641-FEE9-55FA-84E9-FF1EE425309F-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-3">An introduction to the symmetric cipher framework</xref>  </p> </li>
+<li id="GUID-769B5855-9DA2-5E32-9270-B8F63D39366A-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-2-2"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-DFE76D85-7AD6-5B96-906B-98B3F63B88B7-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-5"><apiname>CSymmetricCipher</apiname> interface basics</xref>  </p> </li>
+<li id="GUID-6EC9722D-DC7E-5DF8-A55F-D308C92DEC73-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-2-3"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-2018AFFC-09D9-5F99-BACC-8C77504E5CC3-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-13">Example code for a symmetric factory class</xref>  </p> </li>
+</ul> <p id="GUID-21BCC641-FEE9-55FA-84E9-FF1EE425309F-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-3"><b> An introduction
+to the symmetric cipher framework </b> </p> <p>The symmetric cipher framework
+collates the behaviour of all symmetric ciphers under one interface: <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>.
+This interface is intended to represent one direction of one instance of any
+symmetric cipher. One direction means either encryption or decryption, but
+not both. </p> <p id="GUID-DFE76D85-7AD6-5B96-906B-98B3F63B88B7-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-5"><b> CSymmetricCipher
+interface basics </b> </p> <ul>
+<li id="GUID-200B0A58-EA9D-5BC7-8EDF-625B2C43BE72-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-6-1"><p> <b> Block ciphers</b> --
+Here one must create an underlying transformation (<xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref>)
+and create a <xref href="GUID-65F145BB-CE4B-3BCC-A9FC-5F9107F32488.dita"><apiname>CBufferedTransformation</apiname></xref> (which is an <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>)
+from that. </p> </li>
+<li id="GUID-4D3532BB-58B1-5BF1-9253-B1FEE5917053-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-6-2"><p> <b> Stream ciphers</b> --
+These have no concept of buffering and are treated as specializations of <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>.
+They require no intermediate container class. </p> </li>
+</ul> <p>The following code illustrates the creation of a buffered AES ECB
+encryptor and an ARC4 stream cipher. </p> <codeblock id="GUID-278C21E0-E3E1-5575-9C37-9530F08BB227-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-8" xml:space="preserve">
+CBlockTransformation* block = 0;
+block = CAESEncryptor::NewLC(aKey);
+CPadding* padding = CPaddingSSLv3::NewLC(KAESBlockSize); //The blocksize of AES (16 bytes)
+CSymmetricCipher* cipher = CBufferedEncryptor::NewL(block, padding);
+CleanupStack::Pop(2, block); //padding, block -&gt; both owned by cipher
+</codeblock> <codeblock id="GUID-AC44907E-CD42-514A-AE39-D1981F3267FA-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-9" xml:space="preserve">
+CSymmetricCipher* cipher = new(ELeave)CARC4(aKey);
+CleanupStack::PushL(cipher):
+</codeblock> <p>After creation, both examples are usable through the <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> interface.
+So, to encrypt with either of the above ciphers one could do: </p> <codeblock id="GUID-BF286466-ABBD-5810-801C-7C455CBE52FD-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-11" xml:space="preserve">
+HBufC8* output = HBufC8::NewLC(cipher-&gt;MaxOutputLength(input.Size()));
+cipher-&gt;Process(input, output);
+HBufC8* output2 = HBufC8::NewLC(cipher-&gt;MaxFinalOutputLength(input2.Size()));
+cipher-&gt;ProcessFinalL(input2, output2);
+</codeblock> <p>In this example, <codeph>input</codeph> and <codeph>input2</codeph> are
+two arbitrary, finite length descriptors. The derived implementations of <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> (<xref href="GUID-8251F03D-D816-386E-A23A-947EEC6C8BC6.dita"><apiname>CBufferedEncryptor</apiname></xref> / <xref href="GUID-01CAF2BA-9120-304C-A488-5882CBD23EBC.dita"><apiname>CBufferedDecryptor</apiname></xref> and <xref href="GUID-40EFC716-0990-3C90-893E-43B3E6821C75.dita"><apiname>CStreamCipher</apiname></xref>)
+are responsible for handling what to do in each specific case. For example,
+in the case of an encrypting block cipher, <codeph>ProcessFinalL()</codeph> will
+call the underlying padding system, which will in turn ensure that the overall
+length of input plaintext is of a suitable length for encryption. For more
+information on how the values returned from <codeph>MaxOutputLength()</codeph> and <codeph>MaxFinalOutputLength()</codeph> are
+calculated see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5">How
+does buffering work within the symmetric cipher framework?</xref>. </p> <p id="GUID-2018AFFC-09D9-5F99-BACC-8C77504E5CC3-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-13"><b>Example code for a symmetric
+factory class </b> </p> <p>To simplify the process of creating symmetric encryptors
+and decryptors, it is strongly recommended that applications create a factory
+that automates the process for them. The following code gives a sample factory
+that applications might like to use as a reference. It is not supplied as
+part of the framework as every application has different ways of identifying
+symmetric cipher suites. </p> <codeblock id="GUID-EF0D121A-1961-5EF7-BA04-5BCE5DC029D4-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-2-15" xml:space="preserve">
+CSymmetricCipher* CCipherFactory::BuildEncryptorL(
+    TSymmetricCipherType aType,const TDesC8&amp; aKey,const TDesC8&amp; aIV)
+    {
+    CSymmetricCipher* cipher = NULL;
+
+    if (aType==ERc4)
+        {
+        cipher = new(ELeave) CARC4(aKey);
+        }
+    else
+        {
+        CBlockTransformation* bT = NULL;
+        switch (aType)
+            {
+            case EDes_cbc:
+                bT = CDESEncryptor::NewL(aKey);
+                break;
+            case EDes_ede3_cbc:
+                bT = C3DESEncryptor::NewL(aKey);
+                break;
+            case ERc2_cbc:
+                bT = CRC2Encryptor::NewL(aKey);
+                break;
+            default:
+                User::Leave(KErrNotSupported);
+            };
+        CleanupStack::PushL(bT);
+        CBlockTransformation* mode = CModeCBCEncryptor::NewL(bT, aIV);
+        CleanupStack::Pop(bT);    //    owned by mode
+        CleanupStack::PushL(mode);
+     
+        CPadding* padding = CPaddingSSLv3::NewLC(KBlockSize); //All of these ciphers use 8 byte blocks
+        cipher = CBufferedEncryptor::NewL(mode, padding);
+        CleanupStack::Pop(2, mode);    //padding, mode    now owned by cipher
+        }
+    return cipher;
+    }
+</codeblock> <p>Applications creating these factories need to supply an equivalent
+to the <codeph>TSymmetricCipherType</codeph> enum, which contains the list
+of identifiers representing the cipher, padding, and mode requirements of
+the application. </p> <p>Note that a similar <codeph>BuildDecryptorL()</codeph> will
+also have to be created. </p> <p>Good naming conventions dictate that applications
+should not pollute the global namespace and either use their own namespace
+or prefix their factory classes with identifiers that associated it with that
+specific application. </p> </section>
+<section id="GUID-71CD8B41-219D-5D07-8C99-47D68668A880-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-3"><title>Symmetric Modes </title> <p>When
+the amount of plaintext to be encrypted is larger than a single block, some
+method must be employed to specify how subsequent blocks are dependent on
+previous blocks. The simplest method, known as ECB (Electronic CodeBook),
+specifies that subsequent blocks are completely independent. Therefore, two
+identical blocks of plaintext will encrypt to two identical blocks of ciphertext.
+ECB has significant security drawbacks, thus most applications use more advanced
+modes in which subsequent blocks are dependent on the ciphertext of previous
+blocks. The symmetric framework handles these modes through the <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> class,
+which is a specialization of <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref>. The
+idea is that one gives an implementation of a <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> another <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> (<xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>, for instance) and then performs all operations on the <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> instance.
+When <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita#GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD/GUID-A4F36BDB-5FB3-3082-B362-30A59D13B104"><apiname>CBlockTransformation::Transform()</apiname></xref> is called on the
+mode, it is responsible for calling <codeph>Transform()</codeph> on the underlying
+transformation that it owns and then applying its own chaining mode transformation. </p> <p>The
+following example shows how to create a buffered AES CBC encryptor. </p> <codeblock id="GUID-A3DFB7C2-D727-553C-9BF9-0E865417DBA3-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-3-4" xml:space="preserve">
+CBlockTransformation* basicAesBlock = 0;
+CBlockTransformation* cbcBlock = 0;
+basicAesBlock = CAESEncryptor::NewLC(aKey);
+cbcBlock = CModeCBCEncryptor::NewL(basicAesBlock, iv);
+CleanupStack::Pop(basicAesBlock); //owned by cbcBlock
+CleanupStack::PushL(cbcBlock);
+CPadding* padding = CPaddingSSLv3::NewLC(KAESBlockSize); //The blocksize of AES (16 bytes)
+CSymmetricCipher* cipher = CBufferedEncryptor::NewL(cbcBlock, padding);
+CleanupStack::Pop(2, cbcBlock); //padding, cbcBlock -&gt; both owned by cipher
+</codeblock> </section>
+<section id="GUID-86CD649D-3611-531A-8D9E-1FCC9728500B-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-4"><title>Which symmetric
+cipher should I use? </title> <p>Generally, when implementing secure comms
+protocols, the cipher you use will be dictated by the protocol specification.
+However, if you are writing your own application, you should consider the
+use of AES (<xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>); this is the cipher recommended
+by <xref href="http://csrc.nist.gov/cryptval/" scope="external">NIST</xref>. </p> </section>
+<section id="GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5"><title>How does buffering
+work within the symmetric cipher framework? </title> <ul>
+<li id="GUID-2A87BE74-9F27-5F0A-BA32-706FF5B1861B-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-1"><p> <b>Stream ciphers</b> consume
+all content they are given. That is, the value returned from <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-31976831-1620-3396-8E91-BBF934D4167D"><apiname>CSymmetricCipher::MaxOutputLength()</apiname></xref> is
+always the same as the <codeph>aInputLength</codeph> parameter passed in. </p> </li>
+<li id="GUID-E63F6682-E96F-5AB7-9786-E7F210B321ED-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2"><p> <b>Block ciphers</b> controlled
+through a <xref href="GUID-65F145BB-CE4B-3BCC-A9FC-5F9107F32488.dita"><apiname>CBufferedTransformation</apiname></xref> operate under the following
+rules: </p> <ul>
+<li id="GUID-3D963E44-1D4E-5505-9124-47DF2F145118-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-1"><p> <codeph>Process() </codeph>  </p> <ul id="GUID-943B86EF-01BD-53CB-B68F-507753850EC4-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-1-2">
+<li id="GUID-271426C1-8E3E-5C95-8D55-1C3F2F2FC771-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-1-2-1"><p>Any previously buffered
+data is (logically) prepended to <codeph>aInput</codeph>. </p> </li>
+<li id="GUID-84C9BDF7-6BE5-5D02-9F00-1386F175757F-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-1-2-2"><p>All whole blocks are
+transformed and appended to <codeph>aOutput</codeph>. </p> </li>
+<li id="GUID-80FB971C-FAE8-576D-95A8-2762343B2B74-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-1-2-3"><p>Any remaining partial
+blocks, orphaned by the above rule, are buffered. </p> </li>
+</ul> </li>
+<li id="GUID-93D49834-2716-5992-9B56-195813C3F4E0-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2"><p> <codeph>ProcessFinalL()</codeph>  </p> <ul>
+<li id="GUID-B5B476B7-EAC3-594C-B613-88900BB99654-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-1"><p>Encryption </p> <ol id="GUID-FD8C1EAA-3C8F-5034-ABAA-F4DFB6B2493A-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-1-2">
+<li id="GUID-21579114-8456-573A-A79E-F8C84A7AFFCA-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-1-2-1"><p>Any previously buffered
+data is (logically) prepended to <codeph>aInput</codeph>. </p> </li>
+<li id="GUID-1C3199C1-41C1-5524-AD65-52D0F60816C1-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-1-2-2"><p>All whole block are
+transformed and appended to <codeph>aOutput</codeph>. </p> </li>
+<li id="GUID-7DF3B7AB-4C91-5C83-A963-5C18057AC8D3-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-1-2-3"><p>Any remaining partial
+blocks are padded with underlying padding system to be block aligned <i>to
+the padding block size</i>. (In the vast majority of cases, the padding block
+size is equal to the block cipher block size). </p> </li>
+<li id="GUID-6709F044-F7D7-5BBD-8816-9829ECBD8F17-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-1-2-4"><p>The resulting block(s)
+are transformed and appended to <codeph>aOutput</codeph>. </p> </li>
+</ol> </li>
+<li id="GUID-1BD95B71-34F8-57D9-A882-9EE616A82512-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-2"><p>Decryption </p> <ol id="GUID-46984F1C-D4CA-5719-8235-CF22A3325B37-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-2-2">
+<li id="GUID-3F4DABA6-9CFB-5F05-8B98-6F14CB64EFC4-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-2-2-1"><p>The input <b>must</b> be
+a multiple of the block size. </p> </li>
+<li id="GUID-A555D9FE-3211-521A-903E-5E22FF017FCE-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-2-2-2"><p>Data is decrypted and
+unpadded using underlying padding system. </p> </li>
+<li id="GUID-57C20E84-CF6C-5699-ABF0-D5080D8517A4-GENID-1-12-1-26-1-1-11-1-1-5-1-4-1-2-5-2-2-2-2-2-2-2-3"><p>Decrypted, unpadded
+data is appended to <codeph>aOutput</codeph>. </p> </li>
+</ol> </li>
+</ul> </li>
+</ul> </li>
+</ul> <p>In all cases <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-31976831-1620-3396-8E91-BBF934D4167D"><apiname>CSymmetricCipher::MaxOutputLength()</apiname></xref> returns
+as tight an upper bound as possible on the number of bytes that will be returned
+by a call to <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-97E4F631-9CD5-3295-A22C-AAA5A4708FE9"><apiname>CSymmetricCipher::Process()</apiname></xref> with a specified
+number of input bytes. Correspondingly, <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-3675861D-0520-3F85-BA2B-AA3CF1964483"><apiname>CSymmetricCipher::MaxFinalOutputLength()</apiname></xref> returns
+a similar bound but for a pending call to <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-BE38C96D-F071-3385-8C7D-09BA4FC44432"><apiname>CSymmetricCipher::ProcessFinalL()</apiname></xref>. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1" xml:lang="en"><title>Symmetric
+ciphers -- HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-0B38AF7B-D5D7-5A06-865D-76F056634C2A-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-1-1"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-119D039F-4624-5464-AA17-BBAB18A8D3CD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2">How do I use the symmetric cipher framework?</xref>  </p> </li>
+<li id="GUID-6B472E69-7101-5AC2-B91C-E6FB3FEA067E-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-1-2"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-71CD8B41-219D-5D07-8C99-47D68668A880-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-3">Symmetric Modes</xref>  </p> </li>
+<li id="GUID-3D8DF8E4-8839-51DB-9223-99931F01A7EB-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-1-3"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-86CD649D-3611-531A-8D9E-1FCC9728500B-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-4">Which symmetric cipher should I use?</xref>  </p> </li>
+<li id="GUID-24318339-1B08-5CAF-8EE6-C512DA548670-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-1-4"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5">How does buffering work within the symmetric cipher framework?</xref>  </p> </li>
+</ul>
+<section id="GUID-119D039F-4624-5464-AA17-BBAB18A8D3CD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2"><title>How do I use
+the symmetric cipher framework? </title> <ul>
+<li id="GUID-78AC1C88-612F-5D55-B357-497D637F20E1-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-2-1"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-21BCC641-FEE9-55FA-84E9-FF1EE425309F-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-3">An introduction to the symmetric cipher framework</xref>  </p> </li>
+<li id="GUID-769B5855-9DA2-5E32-9270-B8F63D39366A-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-2-2"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-DFE76D85-7AD6-5B96-906B-98B3F63B88B7-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-5"><apiname>CSymmetricCipher</apiname> interface basics</xref>  </p> </li>
+<li id="GUID-6EC9722D-DC7E-5DF8-A55F-D308C92DEC73-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-2-3"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-2018AFFC-09D9-5F99-BACC-8C77504E5CC3-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-13">Example code for a symmetric factory class</xref>  </p> </li>
+</ul> <p id="GUID-21BCC641-FEE9-55FA-84E9-FF1EE425309F-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-3"><b> An introduction
+to the symmetric cipher framework </b> </p> <p>The symmetric cipher framework
+collates the behaviour of all symmetric ciphers under one interface: <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>.
+This interface is intended to represent one direction of one instance of any
+symmetric cipher. One direction means either encryption or decryption, but
+not both. </p> <p id="GUID-DFE76D85-7AD6-5B96-906B-98B3F63B88B7-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-5"><b> CSymmetricCipher
+interface basics </b> </p> <ul>
+<li id="GUID-200B0A58-EA9D-5BC7-8EDF-625B2C43BE72-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-6-1"><p> <b> Block ciphers</b> --
+Here one must create an underlying transformation (<xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref>)
+and create a <xref href="GUID-65F145BB-CE4B-3BCC-A9FC-5F9107F32488.dita"><apiname>CBufferedTransformation</apiname></xref> (which is an <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>)
+from that. </p> </li>
+<li id="GUID-4D3532BB-58B1-5BF1-9253-B1FEE5917053-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-6-2"><p> <b> Stream ciphers</b> --
+These have no concept of buffering and are treated as specializations of <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>.
+They require no intermediate container class. </p> </li>
+</ul> <p>The following code illustrates the creation of a buffered AES ECB
+encryptor and an ARC4 stream cipher. </p> <codeblock id="GUID-278C21E0-E3E1-5575-9C37-9530F08BB227-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-8" xml:space="preserve">
+CBlockTransformation* block = 0;
+block = CAESEncryptor::NewLC(aKey);
+CPadding* padding = CPaddingSSLv3::NewLC(KAESBlockSize); //The blocksize of AES (16 bytes)
+CSymmetricCipher* cipher = CBufferedEncryptor::NewL(block, padding);
+CleanupStack::Pop(2, block); //padding, block -&gt; both owned by cipher
+</codeblock> <codeblock id="GUID-AC44907E-CD42-514A-AE39-D1981F3267FA-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-9" xml:space="preserve">
+CSymmetricCipher* cipher = new(ELeave)CARC4(aKey);
+CleanupStack::PushL(cipher):
+</codeblock> <p>After creation, both examples are usable through the <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> interface.
+So, to encrypt with either of the above ciphers one could do: </p> <codeblock id="GUID-BF286466-ABBD-5810-801C-7C455CBE52FD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-11" xml:space="preserve">
+HBufC8* output = HBufC8::NewLC(cipher-&gt;MaxOutputLength(input.Size()));
+cipher-&gt;Process(input, output);
+HBufC8* output2 = HBufC8::NewLC(cipher-&gt;MaxFinalOutputLength(input2.Size()));
+cipher-&gt;ProcessFinalL(input2, output2);
+</codeblock> <p>In this example, <codeph>input</codeph> and <codeph>input2</codeph> are
+two arbitrary, finite length descriptors. The derived implementations of <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> (<xref href="GUID-8251F03D-D816-386E-A23A-947EEC6C8BC6.dita"><apiname>CBufferedEncryptor</apiname></xref> / <xref href="GUID-01CAF2BA-9120-304C-A488-5882CBD23EBC.dita"><apiname>CBufferedDecryptor</apiname></xref> and <xref href="GUID-40EFC716-0990-3C90-893E-43B3E6821C75.dita"><apiname>CStreamCipher</apiname></xref>)
+are responsible for handling what to do in each specific case. For example,
+in the case of an encrypting block cipher, <codeph>ProcessFinalL()</codeph> will
+call the underlying padding system, which will in turn ensure that the overall
+length of input plaintext is of a suitable length for encryption. For more
+information on how the values returned from <codeph>MaxOutputLength()</codeph> and <codeph>MaxFinalOutputLength()</codeph> are
+calculated see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485-GENID-1-12-1-26-1-1-9-1-5-1-4-1/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5">How
+does buffering work within the symmetric cipher framework?</xref>. </p> <p id="GUID-2018AFFC-09D9-5F99-BACC-8C77504E5CC3-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-13"><b>Example code for a symmetric
+factory class </b> </p> <p>To simplify the process of creating symmetric encryptors
+and decryptors, it is strongly recommended that applications create a factory
+that automates the process for them. The following code gives a sample factory
+that applications might like to use as a reference. It is not supplied as
+part of the framework as every application has different ways of identifying
+symmetric cipher suites. </p> <codeblock id="GUID-EF0D121A-1961-5EF7-BA04-5BCE5DC029D4-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-2-15" xml:space="preserve">
+CSymmetricCipher* CCipherFactory::BuildEncryptorL(
+    TSymmetricCipherType aType,const TDesC8&amp; aKey,const TDesC8&amp; aIV)
+    {
+    CSymmetricCipher* cipher = NULL;
+
+    if (aType==ERc4)
+        {
+        cipher = new(ELeave) CARC4(aKey);
+        }
+    else
+        {
+        CBlockTransformation* bT = NULL;
+        switch (aType)
+            {
+            case EDes_cbc:
+                bT = CDESEncryptor::NewL(aKey);
+                break;
+            case EDes_ede3_cbc:
+                bT = C3DESEncryptor::NewL(aKey);
+                break;
+            case ERc2_cbc:
+                bT = CRC2Encryptor::NewL(aKey);
+                break;
+            default:
+                User::Leave(KErrNotSupported);
+            };
+        CleanupStack::PushL(bT);
+        CBlockTransformation* mode = CModeCBCEncryptor::NewL(bT, aIV);
+        CleanupStack::Pop(bT);    //    owned by mode
+        CleanupStack::PushL(mode);
+     
+        CPadding* padding = CPaddingSSLv3::NewLC(KBlockSize); //All of these ciphers use 8 byte blocks
+        cipher = CBufferedEncryptor::NewL(mode, padding);
+        CleanupStack::Pop(2, mode);    //padding, mode    now owned by cipher
+        }
+    return cipher;
+    }
+</codeblock> <p>Applications creating these factories need to supply an equivalent
+to the <codeph>TSymmetricCipherType</codeph> enum, which contains the list
+of identifiers representing the cipher, padding, and mode requirements of
+the application. </p> <p>Note that a similar <codeph>BuildDecryptorL()</codeph> will
+also have to be created. </p> <p>Good naming conventions dictate that applications
+should not pollute the global namespace and either use their own namespace
+or prefix their factory classes with identifiers that associated it with that
+specific application. </p> </section>
+<section id="GUID-71CD8B41-219D-5D07-8C99-47D68668A880-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-3"><title>Symmetric Modes </title> <p>When
+the amount of plaintext to be encrypted is larger than a single block, some
+method must be employed to specify how subsequent blocks are dependent on
+previous blocks. The simplest method, known as ECB (Electronic CodeBook),
+specifies that subsequent blocks are completely independent. Therefore, two
+identical blocks of plaintext will encrypt to two identical blocks of ciphertext.
+ECB has significant security drawbacks, thus most applications use more advanced
+modes in which subsequent blocks are dependent on the ciphertext of previous
+blocks. The symmetric framework handles these modes through the <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> class,
+which is a specialization of <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref>. The
+idea is that one gives an implementation of a <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> another <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> (<xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>, for instance) and then performs all operations on the <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> instance.
+When <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita#GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD/GUID-A4F36BDB-5FB3-3082-B362-30A59D13B104"><apiname>CBlockTransformation::Transform()</apiname></xref> is called on the
+mode, it is responsible for calling <codeph>Transform()</codeph> on the underlying
+transformation that it owns and then applying its own chaining mode transformation. </p> <p>The
+following example shows how to create a buffered AES CBC encryptor. </p> <codeblock id="GUID-A3DFB7C2-D727-553C-9BF9-0E865417DBA3-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-3-4" xml:space="preserve">
+CBlockTransformation* basicAesBlock = 0;
+CBlockTransformation* cbcBlock = 0;
+basicAesBlock = CAESEncryptor::NewLC(aKey);
+cbcBlock = CModeCBCEncryptor::NewL(basicAesBlock, iv);
+CleanupStack::Pop(basicAesBlock); //owned by cbcBlock
+CleanupStack::PushL(cbcBlock);
+CPadding* padding = CPaddingSSLv3::NewLC(KAESBlockSize); //The blocksize of AES (16 bytes)
+CSymmetricCipher* cipher = CBufferedEncryptor::NewL(cbcBlock, padding);
+CleanupStack::Pop(2, cbcBlock); //padding, cbcBlock -&gt; both owned by cipher
+</codeblock> </section>
+<section id="GUID-86CD649D-3611-531A-8D9E-1FCC9728500B-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-4"><title>Which symmetric
+cipher should I use? </title> <p>Generally, when implementing secure comms
+protocols, the cipher you use will be dictated by the protocol specification.
+However, if you are writing your own application, you should consider the
+use of AES (<xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>); this is the cipher recommended
+by <xref href="http://csrc.nist.gov/cryptval/" scope="external">NIST</xref>. </p> </section>
+<section id="GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5"><title>How does buffering
+work within the symmetric cipher framework? </title> <ul>
+<li id="GUID-2A87BE74-9F27-5F0A-BA32-706FF5B1861B-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-1"><p> <b>Stream ciphers</b> consume
+all content they are given. That is, the value returned from <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-31976831-1620-3396-8E91-BBF934D4167D"><apiname>CSymmetricCipher::MaxOutputLength()</apiname></xref> is
+always the same as the <codeph>aInputLength</codeph> parameter passed in. </p> </li>
+<li id="GUID-E63F6682-E96F-5AB7-9786-E7F210B321ED-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2"><p> <b>Block ciphers</b> controlled
+through a <xref href="GUID-65F145BB-CE4B-3BCC-A9FC-5F9107F32488.dita"><apiname>CBufferedTransformation</apiname></xref> operate under the following
+rules: </p> <ul>
+<li id="GUID-3D963E44-1D4E-5505-9124-47DF2F145118-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-1"><p> <codeph>Process() </codeph>  </p> <ul id="GUID-943B86EF-01BD-53CB-B68F-507753850EC4-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-1-2">
+<li id="GUID-271426C1-8E3E-5C95-8D55-1C3F2F2FC771-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-1-2-1"><p>Any previously buffered
+data is (logically) prepended to <codeph>aInput</codeph>. </p> </li>
+<li id="GUID-84C9BDF7-6BE5-5D02-9F00-1386F175757F-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-1-2-2"><p>All whole blocks are
+transformed and appended to <codeph>aOutput</codeph>. </p> </li>
+<li id="GUID-80FB971C-FAE8-576D-95A8-2762343B2B74-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-1-2-3"><p>Any remaining partial
+blocks, orphaned by the above rule, are buffered. </p> </li>
+</ul> </li>
+<li id="GUID-93D49834-2716-5992-9B56-195813C3F4E0-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2"><p> <codeph>ProcessFinalL()</codeph>  </p> <ul>
+<li id="GUID-B5B476B7-EAC3-594C-B613-88900BB99654-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-1"><p>Encryption </p> <ol id="GUID-FD8C1EAA-3C8F-5034-ABAA-F4DFB6B2493A-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-1-2">
+<li id="GUID-21579114-8456-573A-A79E-F8C84A7AFFCA-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-1-2-1"><p>Any previously buffered
+data is (logically) prepended to <codeph>aInput</codeph>. </p> </li>
+<li id="GUID-1C3199C1-41C1-5524-AD65-52D0F60816C1-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-1-2-2"><p>All whole block are
+transformed and appended to <codeph>aOutput</codeph>. </p> </li>
+<li id="GUID-7DF3B7AB-4C91-5C83-A963-5C18057AC8D3-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-1-2-3"><p>Any remaining partial
+blocks are padded with underlying padding system to be block aligned <i>to
+the padding block size</i>. (In the vast majority of cases, the padding block
+size is equal to the block cipher block size). </p> </li>
+<li id="GUID-6709F044-F7D7-5BBD-8816-9829ECBD8F17-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-1-2-4"><p>The resulting block(s)
+are transformed and appended to <codeph>aOutput</codeph>. </p> </li>
+</ol> </li>
+<li id="GUID-1BD95B71-34F8-57D9-A882-9EE616A82512-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-2"><p>Decryption </p> <ol id="GUID-46984F1C-D4CA-5719-8235-CF22A3325B37-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-2-2">
+<li id="GUID-3F4DABA6-9CFB-5F05-8B98-6F14CB64EFC4-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-2-2-1"><p>The input <b>must</b> be
+a multiple of the block size. </p> </li>
+<li id="GUID-A555D9FE-3211-521A-903E-5E22FF017FCE-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-2-2-2"><p>Data is decrypted and
+unpadded using underlying padding system. </p> </li>
+<li id="GUID-57C20E84-CF6C-5699-ABF0-D5080D8517A4-GENID-1-12-1-26-1-1-9-1-5-1-4-1-2-5-2-2-2-2-2-2-2-3"><p>Decrypted, unpadded
+data is appended to <codeph>aOutput</codeph>. </p> </li>
+</ol> </li>
+</ul> </li>
+</ul> </li>
+</ul> <p>In all cases <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-31976831-1620-3396-8E91-BBF934D4167D"><apiname>CSymmetricCipher::MaxOutputLength()</apiname></xref> returns
+as tight an upper bound as possible on the number of bytes that will be returned
+by a call to <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-97E4F631-9CD5-3295-A22C-AAA5A4708FE9"><apiname>CSymmetricCipher::Process()</apiname></xref> with a specified
+number of input bytes. Correspondingly, <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-3675861D-0520-3F85-BA2B-AA3CF1964483"><apiname>CSymmetricCipher::MaxFinalOutputLength()</apiname></xref> returns
+a similar bound but for a pending call to <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-BE38C96D-F071-3385-8C7D-09BA4FC44432"><apiname>CSymmetricCipher::ProcessFinalL()</apiname></xref>. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485" xml:lang="en"><title>Symmetric
-ciphers -- HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-0B38AF7B-D5D7-5A06-865D-76F056634C2A"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-119D039F-4624-5464-AA17-BBAB18A8D3CD">How do I use the symmetric cipher framework?</xref>  </p> </li>
-<li id="GUID-6B472E69-7101-5AC2-B91C-E6FB3FEA067E"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-71CD8B41-219D-5D07-8C99-47D68668A880">Symmetric Modes</xref>  </p> </li>
-<li id="GUID-3D8DF8E4-8839-51DB-9223-99931F01A7EB"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-86CD649D-3611-531A-8D9E-1FCC9728500B">Which symmetric cipher should I use?</xref>  </p> </li>
-<li id="GUID-24318339-1B08-5CAF-8EE6-C512DA548670"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD">How does buffering work within the symmetric cipher framework?</xref>  </p> </li>
-</ul>
-<section id="GUID-119D039F-4624-5464-AA17-BBAB18A8D3CD"><title>How do I use
-the symmetric cipher framework? </title> <ul>
-<li id="GUID-78AC1C88-612F-5D55-B357-497D637F20E1"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-21BCC641-FEE9-55FA-84E9-FF1EE425309F">An introduction to the symmetric cipher framework</xref>  </p> </li>
-<li id="GUID-769B5855-9DA2-5E32-9270-B8F63D39366A"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-DFE76D85-7AD6-5B96-906B-98B3F63B88B7"><apiname>CSymmetricCipher</apiname> interface basics</xref>  </p> </li>
-<li id="GUID-6EC9722D-DC7E-5DF8-A55F-D308C92DEC73"><p> <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-2018AFFC-09D9-5F99-BACC-8C77504E5CC3">Example code for a symmetric factory class</xref>  </p> </li>
-</ul> <p id="GUID-21BCC641-FEE9-55FA-84E9-FF1EE425309F"><b> An introduction
-to the symmetric cipher framework </b> </p> <p>The symmetric cipher framework
-collates the behaviour of all symmetric ciphers under one interface: <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>.
-This interface is intended to represent one direction of one instance of any
-symmetric cipher. One direction means either encryption or decryption, but
-not both. </p> <p id="GUID-DFE76D85-7AD6-5B96-906B-98B3F63B88B7"><b> CSymmetricCipher
-interface basics </b> </p> <ul>
-<li id="GUID-200B0A58-EA9D-5BC7-8EDF-625B2C43BE72"><p> <b> Block ciphers</b> --
-Here one must create an underlying transformation (<xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref>)
-and create a <xref href="GUID-65F145BB-CE4B-3BCC-A9FC-5F9107F32488.dita"><apiname>CBufferedTransformation</apiname></xref> (which is an <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>)
-from that. </p> </li>
-<li id="GUID-4D3532BB-58B1-5BF1-9253-B1FEE5917053"><p> <b> Stream ciphers</b> --
-These have no concept of buffering and are treated as specializations of <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref>.
-They require no intermediate container class. </p> </li>
-</ul> <p>The following code illustrates the creation of a buffered AES ECB
-encryptor and an ARC4 stream cipher. </p> <codeblock id="GUID-278C21E0-E3E1-5575-9C37-9530F08BB227" xml:space="preserve">
-CBlockTransformation* block = 0;
-block = CAESEncryptor::NewLC(aKey);
-CPadding* padding = CPaddingSSLv3::NewLC(KAESBlockSize); //The blocksize of AES (16 bytes)
-CSymmetricCipher* cipher = CBufferedEncryptor::NewL(block, padding);
-CleanupStack::Pop(2, block); //padding, block -&gt; both owned by cipher
-</codeblock> <codeblock id="GUID-AC44907E-CD42-514A-AE39-D1981F3267FA" xml:space="preserve">
-CSymmetricCipher* cipher = new(ELeave)CARC4(aKey);
-CleanupStack::PushL(cipher):
-</codeblock> <p>After creation, both examples are usable through the <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> interface.
-So, to encrypt with either of the above ciphers one could do: </p> <codeblock id="GUID-BF286466-ABBD-5810-801C-7C455CBE52FD" xml:space="preserve">
-HBufC8* output = HBufC8::NewLC(cipher-&gt;MaxOutputLength(input.Size()));
-cipher-&gt;Process(input, output);
-HBufC8* output2 = HBufC8::NewLC(cipher-&gt;MaxFinalOutputLength(input2.Size()));
-cipher-&gt;ProcessFinalL(input2, output2);
-</codeblock> <p>In this example, <codeph>input</codeph> and <codeph>input2</codeph> are
-two arbitrary, finite length descriptors. The derived implementations of <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita"><apiname>CSymmetricCipher</apiname></xref> (<xref href="GUID-8251F03D-D816-386E-A23A-947EEC6C8BC6.dita"><apiname>CBufferedEncryptor</apiname></xref> / <xref href="GUID-01CAF2BA-9120-304C-A488-5882CBD23EBC.dita"><apiname>CBufferedDecryptor</apiname></xref> and <xref href="GUID-40EFC716-0990-3C90-893E-43B3E6821C75.dita"><apiname>CStreamCipher</apiname></xref>)
-are responsible for handling what to do in each specific case. For example,
-in the case of an encrypting block cipher, <codeph>ProcessFinalL()</codeph> will
-call the underlying padding system, which will in turn ensure that the overall
-length of input plaintext is of a suitable length for encryption. For more
-information on how the values returned from <codeph>MaxOutputLength()</codeph> and <codeph>MaxFinalOutputLength()</codeph> are
-calculated see <xref href="GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485.dita#GUID-CFF1BCCA-5D07-5B8A-9363-AD11EEEAB485/GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD">How
-does buffering work within the symmetric cipher framework?</xref>. </p> <p id="GUID-2018AFFC-09D9-5F99-BACC-8C77504E5CC3"><b>Example code for a symmetric
-factory class </b> </p> <p>To simplify the process of creating symmetric encryptors
-and decryptors, it is strongly recommended that applications create a factory
-that automates the process for them. The following code gives a sample factory
-that applications might like to use as a reference. It is not supplied as
-part of the framework as every application has different ways of identifying
-symmetric cipher suites. </p> <codeblock id="GUID-EF0D121A-1961-5EF7-BA04-5BCE5DC029D4" xml:space="preserve">
-CSymmetricCipher* CCipherFactory::BuildEncryptorL(
-    TSymmetricCipherType aType,const TDesC8&amp; aKey,const TDesC8&amp; aIV)
-    {
-    CSymmetricCipher* cipher = NULL;
-
-    if (aType==ERc4)
-        {
-        cipher = new(ELeave) CARC4(aKey);
-        }
-    else
-        {
-        CBlockTransformation* bT = NULL;
-        switch (aType)
-            {
-            case EDes_cbc:
-                bT = CDESEncryptor::NewL(aKey);
-                break;
-            case EDes_ede3_cbc:
-                bT = C3DESEncryptor::NewL(aKey);
-                break;
-            case ERc2_cbc:
-                bT = CRC2Encryptor::NewL(aKey);
-                break;
-            default:
-                User::Leave(KErrNotSupported);
-            };
-        CleanupStack::PushL(bT);
-        CBlockTransformation* mode = CModeCBCEncryptor::NewL(bT, aIV);
-        CleanupStack::Pop(bT);    //    owned by mode
-        CleanupStack::PushL(mode);
-     
-        CPadding* padding = CPaddingSSLv3::NewLC(KBlockSize); //All of these ciphers use 8 byte blocks
-        cipher = CBufferedEncryptor::NewL(mode, padding);
-        CleanupStack::Pop(2, mode);    //padding, mode    now owned by cipher
-        }
-    return cipher;
-    }
-</codeblock> <p>Applications creating these factories need to supply an equivalent
-to the <codeph>TSymmetricCipherType</codeph> enum, which contains the list
-of identifiers representing the cipher, padding, and mode requirements of
-the application. </p> <p>Note that a similar <codeph>BuildDecryptorL()</codeph> will
-also have to be created. </p> <p>Good naming conventions dictate that applications
-should not pollute the global namespace and either use their own namespace
-or prefix their factory classes with identifiers that associated it with that
-specific application. </p> </section>
-<section id="GUID-71CD8B41-219D-5D07-8C99-47D68668A880"><title>Symmetric Modes </title> <p>When
-the amount of plaintext to be encrypted is larger than a single block, some
-method must be employed to specify how subsequent blocks are dependent on
-previous blocks. The simplest method, known as ECB (Electronic CodeBook),
-specifies that subsequent blocks are completely independent. Therefore, two
-identical blocks of plaintext will encrypt to two identical blocks of ciphertext.
-ECB has significant security drawbacks, thus most applications use more advanced
-modes in which subsequent blocks are dependent on the ciphertext of previous
-blocks. The symmetric framework handles these modes through the <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> class,
-which is a specialization of <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref>. The
-idea is that one gives an implementation of a <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> another <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita"><apiname>CBlockTransformation</apiname></xref> (<xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>, for instance) and then performs all operations on the <xref href="GUID-436C3EBE-FC60-3760-A3BA-D8DF8FA5B8AF.dita"><apiname>CBlockChainingMode</apiname></xref> instance.
-When <xref href="GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD.dita#GUID-CFDA5321-EE13-3203-8DED-71E69D4469BD/GUID-A4F36BDB-5FB3-3082-B362-30A59D13B104"><apiname>CBlockTransformation::Transform()</apiname></xref> is called on the
-mode, it is responsible for calling <codeph>Transform()</codeph> on the underlying
-transformation that it owns and then applying its own chaining mode transformation. </p> <p>The
-following example shows how to create a buffered AES CBC encryptor. </p> <codeblock id="GUID-A3DFB7C2-D727-553C-9BF9-0E865417DBA3" xml:space="preserve">
-CBlockTransformation* basicAesBlock = 0;
-CBlockTransformation* cbcBlock = 0;
-basicAesBlock = CAESEncryptor::NewLC(aKey);
-cbcBlock = CModeCBCEncryptor::NewL(basicAesBlock, iv);
-CleanupStack::Pop(basicAesBlock); //owned by cbcBlock
-CleanupStack::PushL(cbcBlock);
-CPadding* padding = CPaddingSSLv3::NewLC(KAESBlockSize); //The blocksize of AES (16 bytes)
-CSymmetricCipher* cipher = CBufferedEncryptor::NewL(cbcBlock, padding);
-CleanupStack::Pop(2, cbcBlock); //padding, cbcBlock -&gt; both owned by cipher
-</codeblock> </section>
-<section id="GUID-86CD649D-3611-531A-8D9E-1FCC9728500B"><title>Which symmetric
-cipher should I use? </title> <p>Generally, when implementing secure comms
-protocols, the cipher you use will be dictated by the protocol specification.
-However, if you are writing your own application, you should consider the
-use of AES (<xref href="GUID-AE1A9AC0-DB79-3C62-AA23-896812F25F14.dita"><apiname>CAESEncryptor</apiname></xref>); this is the cipher recommended
-by <xref href="http://csrc.nist.gov/cryptval/" scope="external">NIST</xref>. </p> </section>
-<section id="GUID-3393A9D6-CB78-5740-B250-F9C1C26C59BD"><title>How does buffering
-work within the symmetric cipher framework? </title> <ul>
-<li id="GUID-2A87BE74-9F27-5F0A-BA32-706FF5B1861B"><p> <b>Stream ciphers</b> consume
-all content they are given. That is, the value returned from <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-31976831-1620-3396-8E91-BBF934D4167D"><apiname>CSymmetricCipher::MaxOutputLength()</apiname></xref> is
-always the same as the <codeph>aInputLength</codeph> parameter passed in. </p> </li>
-<li id="GUID-E63F6682-E96F-5AB7-9786-E7F210B321ED"><p> <b>Block ciphers</b> controlled
-through a <xref href="GUID-65F145BB-CE4B-3BCC-A9FC-5F9107F32488.dita"><apiname>CBufferedTransformation</apiname></xref> operate under the following
-rules: </p> <ul>
-<li id="GUID-3D963E44-1D4E-5505-9124-47DF2F145118"><p> <codeph>Process() </codeph>  </p> <ul id="GUID-943B86EF-01BD-53CB-B68F-507753850EC4">
-<li id="GUID-271426C1-8E3E-5C95-8D55-1C3F2F2FC771"><p>Any previously buffered
-data is (logically) prepended to <codeph>aInput</codeph>. </p> </li>
-<li id="GUID-84C9BDF7-6BE5-5D02-9F00-1386F175757F"><p>All whole blocks are
-transformed and appended to <codeph>aOutput</codeph>. </p> </li>
-<li id="GUID-80FB971C-FAE8-576D-95A8-2762343B2B74"><p>Any remaining partial
-blocks, orphaned by the above rule, are buffered. </p> </li>
-</ul> </li>
-<li id="GUID-93D49834-2716-5992-9B56-195813C3F4E0"><p> <codeph>ProcessFinalL()</codeph>  </p> <ul>
-<li id="GUID-B5B476B7-EAC3-594C-B613-88900BB99654"><p>Encryption </p> <ol id="GUID-FD8C1EAA-3C8F-5034-ABAA-F4DFB6B2493A">
-<li id="GUID-21579114-8456-573A-A79E-F8C84A7AFFCA"><p>Any previously buffered
-data is (logically) prepended to <codeph>aInput</codeph>. </p> </li>
-<li id="GUID-1C3199C1-41C1-5524-AD65-52D0F60816C1"><p>All whole block are
-transformed and appended to <codeph>aOutput</codeph>. </p> </li>
-<li id="GUID-7DF3B7AB-4C91-5C83-A963-5C18057AC8D3"><p>Any remaining partial
-blocks are padded with underlying padding system to be block aligned <i>to
-the padding block size</i>. (In the vast majority of cases, the padding block
-size is equal to the block cipher block size). </p> </li>
-<li id="GUID-6709F044-F7D7-5BBD-8816-9829ECBD8F17"><p>The resulting block(s)
-are transformed and appended to <codeph>aOutput</codeph>. </p> </li>
-</ol> </li>
-<li id="GUID-1BD95B71-34F8-57D9-A882-9EE616A82512"><p>Decryption </p> <ol id="GUID-46984F1C-D4CA-5719-8235-CF22A3325B37">
-<li id="GUID-3F4DABA6-9CFB-5F05-8B98-6F14CB64EFC4"><p>The input <b>must</b> be
-a multiple of the block size. </p> </li>
-<li id="GUID-A555D9FE-3211-521A-903E-5E22FF017FCE"><p>Data is decrypted and
-unpadded using underlying padding system. </p> </li>
-<li id="GUID-57C20E84-CF6C-5699-ABF0-D5080D8517A4"><p>Decrypted, unpadded
-data is appended to <codeph>aOutput</codeph>. </p> </li>
-</ol> </li>
-</ul> </li>
-</ul> </li>
-</ul> <p>In all cases <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-31976831-1620-3396-8E91-BBF934D4167D"><apiname>CSymmetricCipher::MaxOutputLength()</apiname></xref> returns
-as tight an upper bound as possible on the number of bytes that will be returned
-by a call to <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-97E4F631-9CD5-3295-A22C-AAA5A4708FE9"><apiname>CSymmetricCipher::Process()</apiname></xref> with a specified
-number of input bytes. Correspondingly, <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-3675861D-0520-3F85-BA2B-AA3CF1964483"><apiname>CSymmetricCipher::MaxFinalOutputLength()</apiname></xref> returns
-a similar bound but for a pending call to <xref href="GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B.dita#GUID-F4E08165-A654-3D32-8FED-7ED54BDAD88B/GUID-BE38C96D-F071-3385-8C7D-09BA4FC44432"><apiname>CSymmetricCipher::ProcessFinalL()</apiname></xref>. </p> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D04DD8E6-804F-539E-8BD1-146210F4A51C_d0e242220_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D04DD8E6-804F-539E-8BD1-146210F4A51C_d0e248231_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D0BD34C9-7793-5FA0-8864-FD7444D62F90.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D0BD34C9-7793-5FA0-8864-FD7444D62F90.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
     ...
     };</codeblock>
 <fig id="GUID-30C9DE23-1805-594C-9F7F-BD4A161DE59A">
-<image href="GUID-F342B002-0667-5D51-AE2D-3CF534D70B62_d0e315439_href.png" placement="inline"/>
+<image href="GUID-F342B002-0667-5D51-AE2D-3CF534D70B62_d0e321429_href.png" placement="inline"/>
 </fig>
 <p>Although any kind of object can be an element of a linked list, most lists
 consist of elements which are all of the same type.</p>
@@ -36,7 +36,7 @@
     TDblQueLink iDlink2;
     };</codeblock>
 <fig id="GUID-DC3DDF09-2F30-5704-ACB0-378622DDDD88">
-<image href="GUID-B131AE10-B9B1-53D2-8CAA-A9045957D6F9_d0e315462_href.png" placement="inline"/>
+<image href="GUID-B131AE10-B9B1-53D2-8CAA-A9045957D6F9_d0e321452_href.png" placement="inline"/>
 </fig>
 <p>Elements can also be objects constructed from a variety of classes, all
 ultimately derived from the same base class, where that base class includes
@@ -60,7 +60,7 @@
     }
 </codeblock>
 <fig id="GUID-F8769477-6B6C-5531-9675-AC66FE6B6E3D">
-<image href="GUID-38FF81FD-0C23-586D-AFAE-9F0761A36BAD_d0e315497_href.png" placement="inline"/>
+<image href="GUID-38FF81FD-0C23-586D-AFAE-9F0761A36BAD_d0e321487_href.png" placement="inline"/>
 </fig>
 <p>New link elements are inserted into an existing list using either <codeph>TDblQueLink::Enque()</codeph> or <codeph>TDblQueLink::AddBefore()</codeph> function. Note that <codeph>AddBefore()</codeph> is not available in v5.
 These are prototyped as:</p>
@@ -71,13 +71,13 @@
 is added to the list so that its position follows the element <i>aLink</i>,
 as the following figure shows.</p>
 <fig id="GUID-F46E770B-8BDC-5E61-9E28-043FDAA3B193">
-<image href="GUID-3E1199E4-4F19-58BB-B1EC-8975A04B68FF_d0e315529_href.png" placement="inline"/>
+<image href="GUID-3E1199E4-4F19-58BB-B1EC-8975A04B68FF_d0e321519_href.png" placement="inline"/>
 </fig>
 <p>Calling <codeph>AddBefore()</codeph> on an element means that this element
 is added to the list so that its position precedes the element <i>aLink</i>,
 as the following figure shows.</p>
 <fig id="GUID-0E6C9ADF-0182-52CC-A3D1-AE83F540E42B">
-<image href="GUID-2AB5AA00-71B2-58F4-AE17-9A38D1E5AA99_d0e315543_href.png" placement="inline"/>
+<image href="GUID-2AB5AA00-71B2-58F4-AE17-9A38D1E5AA99_d0e321533_href.png" placement="inline"/>
 </fig>
 <p>Note that new elements cannot be inserted at the beginning or end of a
 list using these functions. The <codeph>AddFirst()</codeph> and <codeph>AddLast()</codeph> members
--- a/Symbian3/PDK/Source/GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923"><title>ARMV6 build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The <codeph>ARMV6</codeph> build target builds to the <codeph>ARMV6</codeph> architecture. Like the ARMV5 target, the target requires the ARM's RealView Compilation Tools (RVCT) v2.2 build 616 from Symbian OS v9.4 onwards. </p> <section><title>Building binaries for ARMV6</title> <p>To build for <codeph>ARMV6</codeph> with <filepath>abld</filepath>, use: </p> <p><userinput>abld build ARMV6 | ARMV6_ABIv2 [udeb | urel]</userinput> </p> <p>Binaries are generated in the <filepath>udeb</filepath> and/or <filepath>urel</filepath> sub-directories of the <filepath>epoc32\release\ARMV6\</filepath> directory for ABI v1 and <filepath>epoc32\release\ARMV6_ABIv2\</filepath> directory for ABI v2. </p> <p>As per the conventional approach mentioned above, the build targets <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph> are used to build binaries conforming to <codeph>ARMV6</codeph> ABI v1 and ABI v2 respectively. From Symbian OS v9.4 onwards, the behaviour of these native build targets (<codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph>) has changed. The build target <codeph>ARMV6</codeph> is used to build binaries conforming to ABI v2 instead of ABI v1, and <codeph>ARMV6_ABIv1</codeph> is used to build binaries conforming to ABI v1. Also, the release directories have changed to <filepath>epoc32\release\ARMV6\</filepath> for ABI v2 binaries and <filepath>epoc32\release\ARMV6_ABIv1\</filepath> for ABI v1 binaries. </p> <p>You can switch back to the old approach, where the targets <codeph>ARMV6</codeph> and <codeph>ARMV6_ABIv2</codeph> will build binaries conforming to ABI v1 and ABI v2 respectively. For more details on this, refer to <xref href="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita">Switching between ABI modes</xref>. </p> <p>Library export (<filepath>.lib</filepath> or <filepath>.dso</filepath>) files are generated in the <filepath>epoc32\release\ARMV5\lib\</filepath> directory. This directory is used, as the library file format has not changed since <codeph>ARMV5</codeph>. </p> <p> <b>Note:</b> Code is not built for <codeph>ARMV6</codeph> target by default. It has to be explicitly specified on the command line or with a <codeph>prj_platforms</codeph> statement in the component's <filepath>BLD.INF</filepath> file. </p> </section> <section><title>Building binaries for ARMV6t2</title> <p>To build binaries for <codeph>ARMV6t2</codeph> with <filepath>abld</filepath>, use: </p> <p><userinput>abld build ARMV6t2 [udeb | urel]</userinput> </p> <p>The command builds binaries conforming to ABIv2 for ARMV6 architecture supporting Thumb-2 instruction set. </p> </section> <section><title>IDE (CodeWarrior) support for ARMV6</title> <p>To build for <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> from the CodeWarrior IDE, specify <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> as the target in the Platform Selection field, when importing a project from an <filepath>.mmp</filepath> file. The binaries can then be built by setting the target to <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> for <codeph>UREL</codeph> or <codeph>UDEB</codeph>. </p> <p>From the command line, to generate a CodeWarrior XML project file for <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph>, use the following command: </p> <p><userinput>makmake &lt;project&gt;.mmp CW_IDE:ARMV6 | ARMV6t2</userinput> </p> <p>and then import the generated XML file from the IDE. </p> <p> <b>Note</b>: The binaries for <codeph>ARMV6</codeph> or <codeph>ARMV6t2</codeph> target are not created by default. You must explicitly specify these targets either on the command line using <filepath>makmake</filepath> or in the Platform Selection field. </p> </section> <section><title>Customisation for ARMV6</title> <p>The build system provides the ARMV6 target by providing a build specialization file (BSF) in the <filepath>epoc32\tools\</filepath> directory. For ABI v1 builds this is <filepath>ARMV6.BSF</filepath>; for ABI v2 builds, <filepath>ARMV6_ABIv2.bsf</filepath>. From Symbian OS v9.4 onwards, for ABI v1 builds the BSF file is <filepath>ARMV6_ABIv1.bsf</filepath> and for ABI v2 builds it is <filepath>ARMV6.bsf</filepath>. For more information about BSF mechanism, refer to <xref href="GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita">ARMV5 build customisation</xref>. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E"><title>GPS/A-GPS PSY Overview</title><shortdesc>This document describes the GPS/A-GPS PSY, which connects the Location Server <codeph>eposserver.exe</codeph> to the A-GPS Location Manager. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The GPS/A-GPS PSY connects the Location Server <codeph>eposserver.exe</codeph> to the A-GPS Location Manager. The PSY does not interface directly with GPS hardware. A device creator must install an A-GPS Integration Module to use the GPS/A-GPS PSY. </p> <p>This document is for device creators. </p> </section> <section><title>Required background</title> <p>This document assumes a knowledge of the material covered in the following: </p> <ul><li id="GUID-3B9C0250-913C-552B-A948-98A9AF4F6A19"><p><xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS Architecture Overview</xref>  </p> </li> <li id="GUID-0DF4BBA8-7A11-5625-BFC9-FC376463FB0B"><p><xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref>  </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>PSY</dt> <dd><p>A Positioning Plug-in. The GPS/A-GPS PSY implements the Positioning Plug-in API to interface with the Location Server. It uses the Positioning Plug-in Information API (which defines Central Repository key/value pairs) to register itself with the Location Server. </p> </dd> </dlentry> <dlentry><dt>Assisted GPS (A-GPS)</dt> <dd><p>A mode of GPS operation that uses assistance data from the network to reduce the time required to get the first position fix (TTFF) from GPS hardware. The GPS/A-GPS PSY supports assisted GPS (terminal based mode and terminal assisted mode). </p> </dd> </dlentry> <dlentry><dt>Autonomous GPS</dt> <dd><p>A mode of GPS operation that does not use assistance data from the network. The TTFF is typically longer than if assistance data is used. The GPS/A-GPS PSY supports autonomous GPS. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>Figure 1 shows the GPS/A-GPS PSY component with associated LBS components. </p> <fig id="GUID-53A419A1-B9EA-5F71-87CB-A08629D89BDA"><title>
              Figure 1. GPS/A-GPS PSY with components on which it depends. 
-          </title> <image href="GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e466594_href.png" placement="inline"/></fig> <p>The GPS/A-GPS PSY implements the Positioning Plug-in API. This PSY does not interface directly with A-GPS hardware in the mobile device. It connects with hardware by using the A-GPS Location Manager and an A-GPS Integration Module. To use the GPS/A-GPS PSY, you must install an A-GPS Integration Module. </p> <p>The GPS/A-GPS PSY contains two implementations of the PSY interface: </p> <ul><li id="GUID-73060B1C-64F6-5013-BE20-73D6F31C7F45"><p>An A-GPS PSY that supports assisted GPS. </p> <p>Location Acquisition API client applications select this PSY to use assisted GPS. The exact GPS positioning mode that is used by the PSY is determined by the value of the LBS administration settings <codeph>KLbsSettingHomeGpsMode</codeph> (used when the mobile device is in the home network) and <codeph>KLbsSettingRoamingGpsMode</codeph> (used when the mobile device is outside of the home network). </p> <p>Note: If the administration setting specifies autonomous GPS then the A-GPS PSY will behave like the GPS PSY. </p> </li> <li id="GUID-C7188613-9CF6-54B9-8D87-6115CBE826A9"><p>GPS PSY that supports only autonomous GPS. </p> <p>Location Acquisition API client applications select this PSY to use autonomous GPS. A user typically wants to use this PSY to ensure that there is no monetary charge caused by connecting to the network to get A-GPS assistance data. </p> </li> </ul> <p>The GPS/A-GPS PSY is packaged in the library <filepath>lbsgpsagpspsy.dll</filepath>. This DLL contains the two implementations of the PSY interface which can be instantiated by the Location Server. The code below shows the PSY implementations defined in the DLL. </p> <codeblock id="GUID-82A94E56-16CF-5BEB-BFA3-0B65FC057AA8" xml:space="preserve">
+          </title> <image href="GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e472439_href.png" placement="inline"/></fig> <p>The GPS/A-GPS PSY implements the Positioning Plug-in API. This PSY does not interface directly with A-GPS hardware in the mobile device. It connects with hardware by using the A-GPS Location Manager and an A-GPS Integration Module. To use the GPS/A-GPS PSY, you must install an A-GPS Integration Module. </p> <p>The GPS/A-GPS PSY contains two implementations of the PSY interface: </p> <ul><li id="GUID-73060B1C-64F6-5013-BE20-73D6F31C7F45"><p>An A-GPS PSY that supports assisted GPS. </p> <p>Location Acquisition API client applications select this PSY to use assisted GPS. The exact GPS positioning mode that is used by the PSY is determined by the value of the LBS administration settings <codeph>KLbsSettingHomeGpsMode</codeph> (used when the mobile device is in the home network) and <codeph>KLbsSettingRoamingGpsMode</codeph> (used when the mobile device is outside of the home network). </p> <p>Note: If the administration setting specifies autonomous GPS then the A-GPS PSY will behave like the GPS PSY. </p> </li> <li id="GUID-C7188613-9CF6-54B9-8D87-6115CBE826A9"><p>GPS PSY that supports only autonomous GPS. </p> <p>Location Acquisition API client applications select this PSY to use autonomous GPS. A user typically wants to use this PSY to ensure that there is no monetary charge caused by connecting to the network to get A-GPS assistance data. </p> </li> </ul> <p>The GPS/A-GPS PSY is packaged in the library <filepath>lbsgpsagpspsy.dll</filepath>. This DLL contains the two implementations of the PSY interface which can be instantiated by the Location Server. The code below shows the PSY implementations defined in the DLL. </p> <codeblock id="GUID-82A94E56-16CF-5BEB-BFA3-0B65FC057AA8" xml:space="preserve">
 const TImplementationProxy ImplementationTable[] = 
   {
   IMPLEMENTATION_PROXY_ENTRY(KPosGPSPSYImplUid,  CGpsPositioner::NewL),
--- a/Symbian3/PDK/Source/GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,158 +1,142 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-D0C84E1D-A625-4F79-8515-399B8153727B" xml:lang="en">
-<title>What's New in Graphics in Symbian^3</title>
-<shortdesc>This section describes the changes introduced in the Graphics
-package in Symbian^3.</shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<section id="GUID-B341632C-47E7-4A0E-B3E5-2B69FD0AB09D"><title>ScreenPlay</title
-><p>ScreenPlay is a new graphics architecture which enables device
-creators to take advantage of improved software performance, hardware
-acceleration and third party graphics engines. For more information,
-see:</p><ul>
-<li><xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The
-ScreenPlay Graphics Architecture</xref></li>
-<li><xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">The
-NonScreenPlay Graphics Architecture</xref></li>
-<li><xref href="GUID-6D8A1FC7-095B-587E-8274-23C132978C53.dita">Enabling
-the Graphics Architecture Variants</xref></li>
-<li><xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics
-Composition</xref></li>
-<li><xref href="GUID-EF62BF88-3687-505D-8BD7-EEDF36246E56.dita">Graphics
-Hardware Acceleration</xref></li>
-<li><xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">Dynamic
-Resolution Switching</xref></li>
-<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common
-Graphics Headers Component Overview</xref></li>
-<li><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
-Pointer Overview</xref></li>
-<li><xref href="GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita">External
-Surfaces Overview</xref></li>
-<li><xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita">Render
-Stages Overview</xref></li>
-<li><xref href="GUID-8659E1EC-7744-5F93-AC56-C3000A2232CB.dita">MiniGUI
-Environment</xref></li>
-</ul>       </section>
-<section id="GUID-934FEF09-12B2-418D-B6B4-1CCD41FFD27A"><title>Khronos
-APIs</title><p>For information about the supported Khronos APIs, see:</p
-><ul>
-<li><xref href="GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita">Khronos
-API Support</xref></li>
-<li><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita">OpenVG
-Collection</xref></li>
-<li><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita">OpenGLES
-Collection</xref></li>
-<li><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita">EGL
-Collection</xref></li>
-<li><xref href="GUID-8FE41C9A-8171-58A2-A808-17B81E79B11F.dita">OpenWF
-Composition</xref></li>
-</ul></section>
-<section id="GUID-92E3FEE6-30D9-4C1B-8084-3CE3FA1DFE9B"><title>Other
-new features</title><ul>
-<li><xref href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended
-Bitmaps</xref></li>
-<li><xref href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing
-Dynamic DSA Allocation</xref></li>
-<li><xref href="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita">Multiple
-P<?Pub Caret?>ointer Support in the Emulator</xref></li>
-</ul></section>
-<section id="GUID-B7EEA185-4445-4875-A9B6-18EF2264FD9C"><title>Interface
-breaks and deprecated functionality</title><p>The following functionality
-is deprecated in Symbian^3:</p><ul>
-<li><p>DirectGDI is deprecated. See <xref
-href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita">DirectGDI Component</xref
-> for more information.</p></li>
-<li><p>The Graphics Resource components are deprecated and will be
-removed in Symbian^4. See <xref
-href="GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita">Graphics Resource
-Services Collection</xref> for more information.</p></li>
-<li><p>Creating transparent windows using a mask and <xref
-href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname
-></xref> is deprecated. See <xref
-href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent
-Windows</xref> for more information.</p></li>
-<li><p>Backed-up windows are deprecated. See <xref
-href="GUID-08A6A034-5609-58B0-8EA7-943B2A937B40.dita">Displayable
-Windows</xref> for more information. </p></li>
-</ul></section>
-<section id="GUID-9B1C753E-E502-4578-A5A7-0C8CD2739C5C"><title>Guide
-documentation changes</title><p>The following documentation has been
-added to the Graphics Reference:</p><ul>
-<li><xref href="GUID-F2AF891D-A514-5743-B6F0-9271CE2A1775.dita">Graphics
-Components and Their CBR Package Names</xref></li>
-<li><xref href="GUID-610C1484-112E-5442-95DC-89CF890A8310.dita">Pixel
-Formats</xref></li>
-</ul><p>The following documentation has been added to the Windowing
-collection:</p><ul>
-<li><xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Window
-Server Component Overview</xref></li>
-<li><xref href="GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita">Display
-Control and Mapping in the Window Server Client</xref></li>
-<li><xref href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent
-Windows</xref></li>
-<li><xref href="GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita">Redraw
-Drawing</xref></li>
-<li><xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced
-Pointers</xref></li>
-<li><xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">External
-Surfaces</xref></li>
-<li><xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">Render-Stages</xref
-></li>
-<li><xref href="GUID-EB7F7772-1C0D-54C7-9856-AD552DF1F102.dita">Window
-Server Plug-in Framework Overview</xref></li>
-<li><xref href="GUID-8659E1EC-7744-5F93-AC56-C3000A2232CB.dita">MiniGUI
-Environment</xref></li>
-<li><xref href="GUID-E29CAFA8-523D-57D2-AC1B-D6D01741550B.dita">Window
-Server Internals Concepts</xref></li>
-<li><xref href="GUID-85E1E45B-DD05-5B7D-84E7-9911E0A3E3CC.dita">The
-wsini.ini File</xref></li>
-<li><xref href="GUID-E7F6DD98-9080-50E9-B071-56247EBBF570.dita">Window
-Server Plug-ins Component</xref></li>
-</ul><p>The following documentation has been added to the Font and
-Bitmap Server collection:</p><ul>
-<li><p><xref href="GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita"
->Creating an Extended Bitmap Rasterizer</xref></p></li>
-</ul><p>The following documentation has been added to the OpenGLES
-collection:</p><ul>
-<li><p><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita"
->OpenGLES Collection</xref></p></li>
-</ul><p>The following documentation has been added to the OpenVG collection:</p
-><ul>
-<li><p><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita"
->OpenVG Collection</xref></p></li>
-</ul><p>The following documentation has been added to the EGL collection:</p
-><ul>
-<li><p><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita"
->EGL Collection</xref></p></li>
-</ul><p>The following documentation has been added to the Graphics
-Utilities collection:</p><ul>
-<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common
-Graphics Headers Component Overview</xref></li>
-<li><xref href="GUID-946E64D6-3E5D-5264-AD5D-29D3AD296543.dita">Selection
-of Adaptations</xref></li>
-</ul><p>The following documentation has been added to the Graphics
-Composition collection:</p><ul>
-<li><p><xref href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita"
->Graphics Composition Collection</xref></p></li>
-</ul><p>The following documentation has been added to the Graphics
-Hardware Drivers collection:</p><ul>
-<li><p><xref href="GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita"
->Graphics Hardware Drivers Collection</xref></p></li>
-</ul><p>The following documentation has been updated:</p><ul>
-<li><xref href="GUID-484B51EC-2209-5492-8E9C-9D792AB0DF35.dita">Graphics
-and Drawing</xref></li>
-<li><xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">The
-Font and Bitmap Server Overview</xref></li>
-</ul></section>
-</conbody>
-<related-links>
-<link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext
->Graphics Guide</linktext></link>
-</related-links>
-</concept>
-<?Pub *0000007793?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D0C84E1D-A625-4F79-8515-399B8153727B" xml:lang="en"><title>What's New in Graphics in Symbian^3</title><shortdesc>This section describes the changes introduced in the Graphics
+package in Symbian^3.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-B341632C-47E7-4A0E-B3E5-2B69FD0AB09D"><title>ScreenPlay</title><p>ScreenPlay is a new graphics architecture which enables device
+creators to take advantage of improved software performance, hardware
+acceleration and third party graphics engines. For more information,
+see:</p><ul>
+<li><xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay
+Graphics Architecture</xref></li>
+<li><xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">The NonScreenPlay
+Graphics Architecture</xref></li>
+<li><xref href="GUID-6D8A1FC7-095B-587E-8274-23C132978C53.dita">Enabling the Graphics
+Architecture Variants</xref></li>
+<li><xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics
+Composition</xref></li>
+<li><xref href="GUID-EF62BF88-3687-505D-8BD7-EEDF36246E56.dita">Graphics
+Hardware Acceleration</xref></li>
+<li><xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">Dynamic
+Resolution Switching</xref></li>
+
+<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common Graphics Headers
+Component Overview</xref></li>
+<li><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
+Pointer Overview</xref></li>
+<li><xref href="GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita">External
+Surfaces Overview</xref></li>
+<li><xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita">Render Stages Overview</xref></li>
+<li><xref href="GUID-8659E1EC-7744-5F93-AC56-C3000A2232CB.dita">MiniGUI Environment</xref></li>
+</ul>       </section>
+<section id="GUID-934FEF09-12B2-418D-B6B4-1CCD41FFD27A"><title>Khronos
+APIs</title><p>For information about the supported Khronos APIs, see:</p><ul>
+<li><xref href="GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita">Khronos
+API Support</xref></li>
+<li><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita">OpenVG
+Collection</xref></li>
+<li><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita">OpenGLES
+Collection</xref></li>
+<li><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita">EGL Collection</xref></li>
+<li><xref href="GUID-8FE41C9A-8171-58A2-A808-17B81E79B11F.dita">OpenWF Composition</xref></li>
+</ul></section>
+<section id="GUID-92E3FEE6-30D9-4C1B-8084-3CE3FA1DFE9B"><title>Other new features</title><ul>
+<li><xref href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended
+Bitmaps</xref></li>
+<li><xref href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing
+Dynamic DSA Allocation</xref></li>
+<li><xref href="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita">Multiple
+Pointer Support in the Emulator</xref></li>
+</ul></section>
+<section id="GUID-B7EEA185-4445-4875-A9B6-18EF2264FD9C"><title>Interface
+breaks and deprecated functionality</title><p>On ScreenPlay, support
+for direct screen access (DSA) is maintained for backward compatibility
+reasons, although Symbian recommends the use of external surfaces
+in preference to DSA. However, whereas on some earlier
+devices, applications might work without fully conforming to the rules
+of DSA, these rules are now necessarily enforced. See <xref href="GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita">DSA Migration Guide</xref> for information about the guidelines applications must follow in
+order to be able to run correctly on a ScreenPlay device.</p><p>The following functionality is deprecated in Symbian^3:</p><ul>
+<li><p>DirectGDI is deprecated.
+See <xref href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita">DirectGDI
+Component</xref> for more information.</p></li>
+<li><p>The Graphics Resource components
+are deprecated and will be removed in Symbian^4. See <xref href="GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita">Graphics Resource
+Services Collection</xref> for more information.</p></li>
+<li><p>Creating transparent windows using a mask and <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname></xref> is deprecated. See <xref href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent Windows</xref> for more information.</p></li>
+<li><p>Backed-up windows are deprecated. See <xref href="GUID-08A6A034-5609-58B0-8EA7-943B2A937B40.dita">Displayable Windows</xref> for more information. </p></li>
+</ul></section>
+<section id="GUID-9B1C753E-E502-4578-A5A7-0C8CD2739C5C"><title>Guide
+documentation changes</title><p>The following documentation has been added to the Graphics Reference:</p><ul>
+<li><xref href="GUID-F2AF891D-A514-5743-B6F0-9271CE2A1775.dita">Graphics
+Components and Their CBR Package Names</xref></li>
+<li><xref href="GUID-610C1484-112E-5442-95DC-89CF890A8310.dita">Pixel Formats</xref></li>
+</ul><p>The following documentation has been added to the Windowing
+collection:</p><ul>
+<li><xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Window
+Server Component Overview</xref></li>
+<li><xref href="GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita">Display
+Control and Mapping in the Window Server Client</xref></li>
+<li><xref href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent
+Windows</xref></li>
+<li><xref href="GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita">Redraw
+Drawing</xref></li>
+<li><xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced
+Pointers</xref></li>
+<li><xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">External
+Surfaces</xref></li>
+<li><xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">Render-Stages</xref></li>
+<li><xref href="GUID-EB7F7772-1C0D-54C7-9856-AD552DF1F102.dita">Window Server Plug-in
+Framework Overview</xref></li>
+<li><xref href="GUID-8659E1EC-7744-5F93-AC56-C3000A2232CB.dita">MiniGUI Environment</xref></li>
+<li><xref href="GUID-E29CAFA8-523D-57D2-AC1B-D6D01741550B.dita">Window
+Server Internals Concepts</xref></li>
+<li><xref href="GUID-85E1E45B-DD05-5B7D-84E7-9911E0A3E3CC.dita">The wsini.ini
+File</xref></li>
+<li><xref href="GUID-E7F6DD98-9080-50E9-B071-56247EBBF570.dita">Window Server Plug-ins
+Component</xref></li>
+</ul><p>The following documentation
+has been added to the Font and Bitmap Server collection:</p><ul>
+<li><p><xref href="GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita">Creating
+an Extended Bitmap Rasterizer</xref></p></li>
+</ul><p>The following documentation has been added to the OpenGLES
+collection:</p><ul>
+<li><p><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita">OpenGLES
+Collection</xref></p></li>
+</ul><p>The following documentation has been added to the OpenVG collection:</p><ul>
+<li><p><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita">OpenVG
+Collection</xref></p></li>
+</ul><p>The following documentation has been added to the EGL collection:</p><ul>
+<li><p><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita">EGL
+Collection</xref></p></li>
+</ul><p>The following documentation
+has been added to the Graphics Utilities collection:</p><ul>
+<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common
+Graphics Headers Component Overview</xref></li>
+<li><xref href="GUID-946E64D6-3E5D-5264-AD5D-29D3AD296543.dita">Selection
+of Adaptations</xref></li>
+</ul><p>The following documentation
+has been added to the Graphics Composition collection:</p><ul>
+<li><p><xref href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita">Graphics
+Composition Collection</xref></p></li>
+</ul><p>The following documentation
+has been added to the Graphics Hardware Drivers collection:</p><ul>
+<li><p><xref href="GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita">Graphics
+Hardware Drivers Collection</xref></p></li>
+</ul><p>The following documentation has been updated:</p><ul>
+<li><xref href="GUID-484B51EC-2209-5492-8E9C-9D792AB0DF35.dita">Graphics
+and Drawing</xref></li>
+<li><xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">The Font
+and Bitmap Server Overview</xref></li>
+</ul></section>
+</conbody><related-links>
+<link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
+Guide</linktext></link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D0F3FBB0-CE9E-53C0-93B6-A8E3FCCC1530_d0e232162_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D0F3FBB0-CE9E-53C0-93B6-A8E3FCCC1530_d0e238157_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D0F6E95B-B35A-4EA1-8CC3-D86D1E0E6DD3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D0F6E95B-B35A-4EA1-8CC3-D86D1E0E6DD3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,60 +21,52 @@
 resource that defines the menu items:</p>
 <note><p>The menu is constructed only once: when <codeph>HandlePointerEventL</codeph> runs
 for the first time. Later the already constructed menu is shown again.</p></note>
-<p>The following code snippets explain how to create and display Stylus pop-up
-menu:<ul>
-<li><p><b>Creating directly:</b></p><codeblock xml:space="preserve">// member variable point to the stylus Popup menu
-CAknStylusPopUpMenu * iPopupMenu ;
-_LIT(KItem1, "Item 1");
-_LIT(KItem2, "Item 2");
-_LIT(KItem3, "Item 3");
-_LIT(KItem4, "Item 4");
-enum StylusPopupMenuCommand
-	{
-	StylusMenuCommand1 = 0 ,
-	StylusMenuCommand2,
-	StylusMenuCommand3,
-	StylusMenuCommand4
-	};
-// create object , “this” is a object implement the interface 
-// MEikMenuObserver
-iPopupMenu = CAknStylusPopUpMenu::NewL( this , TPoint( 0 , 0 ) );
-// add menu item
-iPopupMenu-&gt;AddMenuItemL( KItem1 , StylusMenuCommand1 );
-iPopupMenu-&gt;AddMenuItemL( KItem2 , StylusMenuCommand2 );
-iPopupMenu-&gt;AddMenuItemL( KItem3 , StylusMenuCommand3 );
-iPopupMenu-&gt;AddMenuItemL( KItem4 , StylusMenuCommand4 );
-</codeblock></li>
-<li><p><b>Creating through resource file:</b></p><codeblock xml:space="preserve">RESOURCE STYLUS_POPUP_MENU r_stylus_popup_menu
-	{
-		items =
-		{
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = "Menu Item 1";
-					command = EStylusPopupCommand1;				},
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = "Menu Item 2";
-					command = EStylusPopupCommand2;				},
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = "Menu Item 3";
-					command = EStylusPopupCommand3;
-				}
-		};
-	}
-// create object
-iPopupMenu = CAknStylusPopUpMenu::NewL( this , TPoint( 0 , 0 ) );
-{
-	TResourceReader reader;
-	iCoeEnv-&gt;CreateResourceReaderLC( 
-                       reader , 
-                       R_STYLUS_POPUP_MENU );
-	iPopupMenu-&gt;ConstructFromResourceL( reader );
-		// destroy reader
-	CleanupStack::PopAndDestroy();
-}
-</codeblock></li>
-</ul></p>
+<codeblock xml:space="preserve">void CMyAppView::HandlePointerEventL
+    ( const TPointerEvent&amp; aPointerEvent )
+    {
+    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+        {
+        if ( !iMenu )
+            {
+            iMenu = CAknStylusPopUpMenu::NewL( 
+                    iMenuObserver, 
+                    aPointerEvent.iParentPosition, 
+                    NULL );
+            TInt resourceReaderId = 0;
+            resourceReaderId = R_MYAPP_STYLUS_MENU;
+            TResourceReader reader;
+            iCoeEnv-&gt;CreateResourceReaderLC( 
+                    reader, resourceReaderId );
+            iMenu-&gt;ConstructFromResourceL( reader );
+            CleanupStack::PopAndDestroy(); // reader
+            }
+        iMenu-&gt;SetPosition( aPointerEvent.iParentPosition );
+        iMenu-&gt;ShowMenu();
+        }
+    // Forward event to base class too.
+    CCoeControl::HandlePointerEventL( aPointerEvent );
+    }
+
+RESOURCE STYLUS_POPUP_MENU r_myapp_stylus_menu
+    {
+    items =
+        {
+        STYLUS_POPUP_MENU_ITEM 
+            {
+            txt = "Stylus Popup Menu Item 1"; 
+            command = EMyAppMenuItemCmd1;
+            },
+        STYLUS_POPUP_MENU_ITEM 
+            {
+            txt = "Stylus Popup Menu Item 2"; 
+            command = EMyAppMenuItemCmd2; 
+            },
+        STYLUS_POPUP_MENU_ITEM 
+            { 
+            txt = "Stylus Popup Menu Item 3"; 
+            command = EMyAppMenuItemCmd3; 
+            }
+        };
+    }
+</codeblock>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D0FEE812-AD80-40D8-B902-05EC16C44C42.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D0FEE812-AD80-40D8-B902-05EC16C44C42.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,16 +16,16 @@
 IAP ID enables the applications to start a connection to a specific IAP. The
 application acquires a connection to the requested IAP, regardless of the
 existing connections.</p> </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-4-1-1-5-1-1-5-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-5-1-3-2-1"><cmd>Connect to<xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-4-1-1-5-1-1-5-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-5-1-3-2-1"><cmd>Connect to<xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
 <info> <codeblock xml:space="preserve">RSocketServ ss;
 ss.Connect();       </codeblock>                 </info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-5-1-3-2-2"><cmd> Open a <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-5-1-3-2-2"><cmd> Open a <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
 <info> <codeblock xml:space="preserve">RConnection conn;
 conn.Open( ss );</codeblock>                  </info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-5-1-3-2-3"><cmd>Create a connection
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-5-1-3-2-3"><cmd>Create a connection
 preference list and extended connection preferences object.</cmd>
 <info> <codeblock xml:space="preserve">TConnPrefList prefList;
 TExtendedConnPref preferences;   </codeblock>                  </info>
Binary file Symbian3/PDK/Source/GUID-D15068B5-D12E-5515-A772-EA3B304EE01E_d0e581556_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D15068B5-D12E-5515-A772-EA3B304EE01E_d0e630844_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D173BE00-1DE7-53D0-BBEF-CBF7CACB0193.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D173BE00-1DE7-53D0-BBEF-CBF7CACB0193"><title>ARM/THUMB overrides</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The ARM5 architecture supports a 32-bit instruction set (known simply as ARM) and a 16-bit instruction set called THUMB. Code compiled to one set can interoperate with the other. The Symbian platform builds tools apply the following policy when building projects: kernel-side code is built for ARM, while other code (user-side) is built for THUMB. There are a number of ways to override this policy to build user-side code also for ARM: </p> <ul><li id="GUID-EAEE9EAC-8018-53CD-A443-5315F0A767E5"><p> <i>MMP file</i>: to specify that a project should always be built as ARM, use the following keyword in the mmp file: </p> <codeblock id="GUID-804E1BB0-17DA-5BE9-8ACE-B090D9E28415" xml:space="preserve">ALWAYS_BUILD_AS_ARM</codeblock> </li> <li id="GUID-DD696660-FA24-542A-9641-D8C64DBC6E8F"><p> <i>BLD.INF file</i>: you can also specify that a project should always be built as ARM by adding a qualifier, <codeph>BUILD_AS_ARM</codeph>, to MMP file statements in a <filepath>BLD.INF</filepath> file. For example: </p> <codeblock id="GUID-A7EA562F-4A21-5929-8E53-5B7C27F68C9F" xml:space="preserve">PRJ_MMPFILES
-..\group\commdb.mmp BUILD_AS_ARM
-..\group\ced.mmp</codeblock> <p>means that <filepath>commdb</filepath> is built in ARM and <filepath>ced</filepath> in THUMB. </p> </li> <li id="GUID-BC361D68-52EF-5C06-95BC-760264AD522E"><p> <i>makmake</i>: the <filepath>makmake</filepath> tool accepts an option <codeph>-ARM</codeph> that has the same effect as if <codeph>ALWAYS_BUILD_AS_ARM</codeph> were supplied in the MMP file. </p> </li> </ul> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D18E56F1-3DB9-472D-B587-30A168E8B8C4_d0e63774_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D18E56F1-3DB9-472D-B587-30A168E8B8C4_d0e67996_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D1E80B1B-FBFD-5FBC-981C-E2D04A02EF41_d0e263227_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D1E80B1B-FBFD-5FBC-981C-E2D04A02EF41_d0e269227_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D1F29744-EB92-5811-A735-B0BC1B352ED5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D1F29744-EB92-5811-A735-B0BC1B352ED5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 <section><title>Architecture</title> <p>The Video Renderer can be implemented
 in two different ways, as shown in the following diagram: </p> <fig id="GUID-33691E6E-8B90-579B-876B-6F14E953BB7C">
 <title>              The two Video Renderer architectures            </title>
-<image href="GUID-BE11D652-3B39-51D2-ACE9-571E8EB71E94_d0e534503_href.png" placement="inline"/>
+<image href="GUID-BE11D652-3B39-51D2-ACE9-571E8EB71E94_d0e541963_href.png" placement="inline"/>
 </fig> <p> <b>Note</b>: For simplicity, only the Multimedia Framework client/controller
 thread boundary has been shown; other thread boundaries may exist. </p> <p>In
 both architectures, the <xref href="GUID-0EE3180B-4814-517E-A6DD-748136C17D55.dita">Video
--- a/Symbian3/PDK/Source/GUID-D1F4B2DC-5B18-4454-BFD7-8BB61D80E7CA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D1F4B2DC-5B18-4454-BFD7-8BB61D80E7CA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 characters is increased by two items so that the table fills the entire display.</p>
 <fig id="GUID-C3DF380A-2419-46A8-B0D8-B81F162540F3">
 <title>Special character table portrait and landscape mode</title>
-<image href="GUID-7C87B04A-1CCC-47D2-9B53-4E341412EFD2_d0e94143_href.png" placement="inline"/>
+<image href="GUID-7C87B04A-1CCC-47D2-9B53-4E341412EFD2_d0e98341_href.png" placement="inline"/>
 </fig>
 <p/>
 <table id="GUID-A3962EAA-542C-48FC-93B6-C2D2686AA082"><title>Default touch
Binary file Symbian3/PDK/Source/GUID-D205622E-FB0F-59C4-A039-B418B551CBFA_d0e11123_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D205622E-FB0F-59C4-A039-B418B551CBFA_d0e11239_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D20A513B-C612-5859-A551-28E1AA7FA332_d0e272425_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D20A513B-C612-5859-A551-28E1AA7FA332_d0e278425_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D222EAAA-ACF4-5837-8CDD-5EDB02EAE259_d0e659341_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D222EAAA-ACF4-5837-8CDD-5EDB02EAE259_d0e672168_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e105319_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e81253_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2263F64-2582-473A-B939-ACEBF8E974BF_d0e85451_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D24D5F17-462E-5424-99A7-9B16E9FEDC93.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D24D5F17-462E-5424-99A7-9B16E9FEDC93.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,139 +1,132 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE reference
-  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-D24D5F17-462E-5424-99A7-9B16E9FEDC93" xml:lang="en"><title>Rconnection:
-connection monitoring and management example</title><shortdesc>This example demonstrates the use of the <codeph>RConnection</codeph> API
-to do connection monitoring and management. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section><title>Purpose</title> <p>The example demonstrates the following
-features of the <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> API: </p> <ul>
-<li id="GUID-01B8C3CB-4C74-51B5-A9B1-6CE1D5DD0360"><p>Opening and closing
-a connection using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CE8F3FE7-14F2-3FB6-B04C-8596B5F80DFC"><apiname>RConnection::Open(RSocketServ&amp; aSocketServer,
-TUint                 aConnectionType = KConnectionTypeDefault)</apiname></xref> and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-20D71C1C-27EE-3305-8326-4CC1DFFB0E2F"><apiname>RConnection::Close()</apiname></xref>. </p> </li>
-<li id="GUID-A5CDAFC8-771C-56A1-86BF-E4731EB7D325"><p>Starting a connection
-that uses the default CommDb connection preferences, and another connection
-that overrides them, using (respectively) <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-16E04EA9-E7AD-31EE-A1CB-F40F726ED489"><apiname>RConnection::Start(TConnPref&amp;
-aPref)</apiname></xref>. </p> </li>
-<li id="GUID-DF26CF2F-E012-5752-88B8-2E2FBE4DC0BC"><p>Getting the number of
-connections, and retrieving information about one of them, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-45801E1B-A7F0-3E3D-BAC2-98FA542BD082"><apiname>RConnection::EnumerateConnections(TUint&amp;
-                aCount)</apiname></xref> and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-DEAFE4AC-B1B7-38DF-A0C2-9BA0201F11FD"><apiname>RConnection::GetConnectionInfo(TUint
-aIndex,                 TDes8&amp; aConnectionInfo)</apiname></xref>. </p> </li>
-<li id="GUID-43861187-FF27-56BD-8B09-F5FC3456FB0D"><p>Attaching a connection
-to an existing interface, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-1C5036E6-62E8-308F-AE72-CB886B2C9C0A"><apiname>RConnection::Attach(const TDesC8&amp;
-aConnectionInfo,                 TConnAttachType aAttachType)</apiname></xref>. </p> </li>
-<li id="GUID-3C89B0C2-3378-5D8B-A519-F5689ACA65EC"><p>Registering for notifications
-when: </p> <ul>
-<li id="GUID-61A4C660-FA35-51DC-A4F1-715CC630052D"><p>a certain amount of
-data has been sent, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-800269E0-8B6D-3C47-86BF-76862AA8CDC3"><apiname>RConnection::DataSentNotificationRequest(TUint
-aThreshold,                      TPckg&lt;TUint&gt;&amp; aUplinkVolume, TRequestStatus&amp;
-aStatus)</apiname></xref>. </p> </li>
-<li id="GUID-40B69177-D7DB-5920-98DF-A681E5EB21E8"><p>a certain amout of data
-has been received, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-4DDC3337-FFE9-32E0-A98E-3823F8E833BF"><apiname>RConnection::DataReceivedNotificationRequest(TUint
-aThreshold,                      TPckg&lt;TUint&gt;&amp; aDownlinkVolume, TRequestStatus&amp;
-                     aStatus)</apiname></xref>. </p> </li>
-<li id="GUID-48F1D550-A56C-5F52-A870-C74C63BB8FFE"><p>interfaces go up and
-down, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-22059E3E-37D7-3C48-940B-A93698E27E5D"><apiname>RConnection::AllInterfaceNotification(TDes8&amp; aNotification,
-                     TRequestStatus&amp; aStatus)</apiname></xref>. </p> </li>
-<li id="GUID-15E99A35-D6C3-5F28-98C5-72B80B594EBB"><p>the connection changes
-state, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-84FF9C60-60B9-3D9D-9D82-3CE063FC9D72"><apiname>RConnection::ProgressNotification(TNifProgressBuf&amp;
-aProgress,                      TRequestStatus&amp; aStatus, TUint aSelectedProgress
-=                      KConnProgressDefault)</apiname></xref>. </p> </li>
-</ul> </li>
-<li id="GUID-57C9068C-1380-5397-A090-1D9FC1587FED"><p>Obtaining the amount
-of data transferred, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-6C695DC3-978A-3F48-87AE-08E64F45831D"><apiname>RConnection::DataTransferredRequest()</apiname></xref>. </p> </li>
-<li id="GUID-FAA3F969-67AF-5716-92F9-B5BDBC038906"><p>Obtaining the connection's
-current state, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-2A798FA2-371F-3BB8-8531-374D9C72AA90"><apiname>RConnection::Progress(TNifProgress&amp; aProgress)</apiname></xref>. </p> </li>
-<li id="GUID-14CBAB9C-F93D-5A0D-A63E-B18D2209D38A"><p>Stopping the connection,
-using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-52878713-A4E8-327E-901B-449EF3D39E0A"><apiname>RConnection::Stop()</apiname></xref>. </p> </li>
-<li id="GUID-0525FECB-37A0-5373-93DD-92BCB1317078"><p>Closing the session
-with the socket server using <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita#GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449/GUID-B6D74895-B413-3759-966A-4A1D855267E1"><apiname>RSocketServ::Close()</apiname></xref>. </p> </li>
-</ul> </section>
-<section><title>Download</title><p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3d0ac087-79ee-467f-b6ed-d71eafa40d9c.zip" scope="external">Rconnection.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3d0ac087-79ee-467f-b6ed-d71eafa40d9c.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section><title>Class Summary</title><p>The example demonstrates the following
-classes: </p><p><xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref></p><p><xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref></p><p><xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ</apiname></xref></p><p><xref href="GUID-739117F6-9559-3274-8E00-B2B653C0A8B6.dita"><apiname>TCommDbConnPref</apiname></xref></p><p><xref href="GUID-E104DE5D-FF3F-3E07-ACC3-E24A96DF3629.dita"><apiname>TConnectionInfoBuf</apiname></xref></p></section>
-<section><title>Design and implementation</title> <p>The project implements
-a single class called <codeph>CRConnection</codeph>, that has three principal
-functions: </p> <p><b>CRConnection::DemoApiWithoutDbOverrideL() </b> </p> <p>This
-shows how to use <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> to: </p> <ul>
-<li id="GUID-01D4595A-2723-53C8-9499-7215FFA219C3"><p>start a connection and
-associate it with an underlying interface, using default CommDb connection
-preferences, </p> </li>
-<li id="GUID-6377E5AB-71D3-50F1-B084-E8891BB73BB9"><p>get notification when
-the underlying interface goes up or down, </p> </li>
-<li id="GUID-37FF8270-7FD1-5B27-9E9A-BC6D49E02B4D"><p>get notification about
-the state of a connection as it becomes fully established, </p> </li>
-<li id="GUID-E396A06F-5156-5924-9B68-649575A1CA62"><p>transfer data over a
-socket, </p> </li>
-<li id="GUID-584D9C8C-A317-51D0-8AD2-397337F1A332"><p>get the amount of data
-transferred, </p> </li>
-<li id="GUID-23588938-CEE7-5AD9-8C9D-9FA253AE11D2"><p>close the connection. </p> </li>
-</ul> <p>It also shows how to set up a socket to carry out data transfer. </p> <p><b>CRConnection::DemoApiWithDbOverrideL() </b> </p> <p>This
-is the same as <codeph>DemoApiWithoutDbOverrideL()</codeph> except that it: </p> <ul>
-<li id="GUID-C61443A2-8576-59F3-A586-30DDF1D2AD56"><p>starts a connection
-using non-default CommDb connection preferences, </p> </li>
-<li id="GUID-9777305D-11BC-5BD4-AFE0-2ED3D010BE93"><p>requests notification
-when a threshold amount of data has been transferred (instead of getting the
-amount of data transferred). </p> </li>
-</ul> <p><b>CRConnection::AttachToExistingInterfaceL() </b> </p> <p>This shows
-how to use <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> to: </p> <ul>
-<li id="GUID-CB835CF4-BD2A-55E5-BEF7-248A0750B466"><p>open 2 connections and
-start one of them (the other is not yet associated with an underlying interface), </p> </li>
-<li id="GUID-DE013E1E-E3C3-513C-B0B6-5B16E6000C5C"><p>get connection information
-for the 1st connection and use this to attach the 2nd connection to the existing
-interface, </p> </li>
-<li id="GUID-BCA6E282-7C55-5416-884F-F88172672D8B"><p>get the state of the
-attached connection, </p> </li>
-<li id="GUID-8A107877-F6BD-5580-ADB5-230F86B36CD4"><p>close the connections. </p> </li>
-</ul> </section>
-<section><title>Building and configuring</title> <p>You can build the example
-from the IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-into your IDE, and use the build command of the IDE. </p> <p>If you use the
-command line, open a command prompt, and set the current directory to the
-source code directory of the example. You can then build the example using
-the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> <p><b>Emulator: </b> </p> <p>Before
-running the example, the emulator must be set up to use ethernet, as follows: </p> <ul>
-<li id="GUID-1C477C42-8F6B-57F1-A8CE-F1CBAA22F265"><p>Install <xref href="GUID-CDD1E761-6B28-5F69-BBEF-756DF45E59A2.dita">WinPCap
-4.0.2</xref> </p> </li>
-<li id="GUID-C79C333A-AF6E-5587-8BA0-B19C470C2D09"><p>Configure the emulator
-using <xref href="GUID-7B114A67-356A-5FCE-B57B-761F5477A2B2.dita">configchange.pl</xref> for
-instance: </p> <p><userinput>configchange.pl --config ethernetWithCommDB --kernel
-EKA2 --target winscw --variant udeb</userinput> </p> </li>
-<li id="GUID-FBAD862F-DFA3-5E7E-8F69-3C4B3CF9E56B"><p>Open <filepath>ethernetced.xml</filepath> in <filepath>epoc32\winscw\c\</filepath> and
-change the last 3 values in the <codeph>LANBearer operation</codeph> section
-for "EKA2 Emulator Ethernet" in the <codeph>LANBearerTable</codeph> to: </p> <codeblock id="GUID-1C6B07F1-521D-5E3A-A4EE-A96FA369D5CA" xml:space="preserve">LastSocketActivityTimeout = 10
-LastSessionClosedTimeout = 10
-LastSocketClosedTimeout = 10</codeblock> <p>i.e. change the three values from
--1 to 10. </p> </li>
-<li id="GUID-82ECDF33-3782-5399-B192-F8DA06B7CE6D"><p>Save the file and then
-run <codeph>ced c:\ethernetced.xml</codeph> from the eshell command prompt
-in the emulator. </p> </li>
-<li id="GUID-5C6DC453-E01B-5F54-9FE1-3AB384357E7D"><p>Download a UDP Echoserver.
-An Echoserver is easily available on the internet. </p> </li>
-<li id="GUID-F5A2E8B3-D8ED-5A3B-AD16-1EC7928B6EEB"><p>Start the UDP Echoserver
-and edit the <codeph>rconnection.cpp</codeph> file in the example code so
-that the values for <codeph>KDestAddr</codeph> and <codeph>KSockPort</codeph> match
-the values being used by the UDP Echoserver. </p> </li>
-<li id="GUID-CE2E778F-3AB3-5E93-B004-7152AA931072"><p>Build the application
-using the commands described above and then run it. </p> </li>
-</ul> <p><b>Hardware: </b> </p> <ul>
-<li id="GUID-5A2860DF-FF03-585D-87CB-28611B80A0A8"><p>To run the example on
-an H4 board, connect the H4 to the PC/network by serial cable. Copy <filepath>ethernetced.xml</filepath> to
-a memory card and execute: </p> <p><userinput>ced e:\ethernetced.xml</userinput> </p> <p>before
-running the example. </p> </li>
-</ul> </section>
-<section><title>Running the example</title> <p>For the emulator, the example
-builds an executable called <filepath>rconnection.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb
-or urel&gt;\</filepath> folder. </p> <p> <filepath>rconnection.exe</filepath> is
-a console-based application. The example takes input from the user and prints
-to the console information about the various stages of the example. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference id="GUID-D24D5F17-462E-5424-99A7-9B16E9FEDC93" xml:lang="en"><title>Rconnection: connection monitoring and management example</title><shortdesc>This example demonstrates the use of the <codeph>RConnection</codeph> API to do connection monitoring and management. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-E0BC58A2-4011-4836-91F6-A7FD2EEAC983"><title>Purpose</title> <p>The example demonstrates the following
+features of the <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> API: </p> <ul>
+<li id="GUID-01B8C3CB-4C74-51B5-A9B1-6CE1D5DD0360"><p>Opening and
+closing a connection using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CE8F3FE7-14F2-3FB6-B04C-8596B5F80DFC"><apiname>RConnection::Open(RSocketServ&amp;
+aSocketServer, TUint                 aConnectionType = KConnectionTypeDefault)</apiname></xref> and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-20D71C1C-27EE-3305-8326-4CC1DFFB0E2F"><apiname>RConnection::Close()</apiname></xref>. </p> </li>
+<li id="GUID-A5CDAFC8-771C-56A1-86BF-E4731EB7D325"><p>Starting a connection
+that uses the default CommDb connection preferences, and another connection
+that overrides them, using (respectively) <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-CB62E838-A380-309C-8B08-1F804EDB4387"><apiname>RConnection::Start()</apiname></xref> and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-16E04EA9-E7AD-31EE-A1CB-F40F726ED489"><apiname>RConnection::Start(TConnPref&amp; aPref)</apiname></xref>. </p> </li>
+<li id="GUID-DF26CF2F-E012-5752-88B8-2E2FBE4DC0BC"><p>Getting the
+number of connections, and retrieving information about one of them,
+using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-45801E1B-A7F0-3E3D-BAC2-98FA542BD082"><apiname>RConnection::EnumerateConnections(TUint&amp;      
+          aCount)</apiname></xref> and <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-DEAFE4AC-B1B7-38DF-A0C2-9BA0201F11FD"><apiname>RConnection::GetConnectionInfo(TUint
+aIndex,                 TDes8&amp; aConnectionInfo)</apiname></xref>. </p> </li>
+<li id="GUID-43861187-FF27-56BD-8B09-F5FC3456FB0D"><p>Attaching a
+connection to an existing interface, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-1C5036E6-62E8-308F-AE72-CB886B2C9C0A"><apiname>RConnection::Attach(const
+TDesC8&amp; aConnectionInfo,                 TConnAttachType aAttachType)</apiname></xref>. </p> </li>
+<li id="GUID-3C89B0C2-3378-5D8B-A519-F5689ACA65EC"><p>Registering
+for notifications when: </p> <ul>
+<li id="GUID-61A4C660-FA35-51DC-A4F1-715CC630052D"><p>a certain amount
+of data has been sent, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-800269E0-8B6D-3C47-86BF-76862AA8CDC3"><apiname>RConnection::DataSentNotificationRequest(TUint
+aThreshold,                      TPckg&lt;TUint&gt;&amp; aUplinkVolume,
+TRequestStatus&amp; aStatus)</apiname></xref>. </p> </li>
+<li id="GUID-40B69177-D7DB-5920-98DF-A681E5EB21E8"><p>a certain amout
+of data has been received, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-4DDC3337-FFE9-32E0-A98E-3823F8E833BF"><apiname>RConnection::DataReceivedNotificationRequest(TUint
+aThreshold,                      TPckg&lt;TUint&gt;&amp; aDownlinkVolume,
+TRequestStatus&amp;                      aStatus)</apiname></xref>. </p> </li>
+<li id="GUID-48F1D550-A56C-5F52-A870-C74C63BB8FFE"><p>interfaces go
+up and down, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-22059E3E-37D7-3C48-940B-A93698E27E5D"><apiname>RConnection::AllInterfaceNotification(TDes8&amp;
+aNotification,                      TRequestStatus&amp; aStatus)</apiname></xref>. </p> </li>
+<li id="GUID-15E99A35-D6C3-5F28-98C5-72B80B594EBB"><p>the connection
+changes state, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-84FF9C60-60B9-3D9D-9D82-3CE063FC9D72"><apiname>RConnection::ProgressNotification(TNifProgressBuf&amp;
+aProgress,                      TRequestStatus&amp; aStatus, TUint
+aSelectedProgress =                      KConnProgressDefault)</apiname></xref>. </p> </li>
+</ul> </li>
+<li id="GUID-57C9068C-1380-5397-A090-1D9FC1587FED"><p>Obtaining the
+amount of data transferred, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-6C695DC3-978A-3F48-87AE-08E64F45831D"><apiname>RConnection::DataTransferredRequest()</apiname></xref>. </p> </li>
+<li id="GUID-FAA3F969-67AF-5716-92F9-B5BDBC038906"><p>Obtaining the
+connection's current state, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-2A798FA2-371F-3BB8-8531-374D9C72AA90"><apiname>RConnection::Progress(TNifProgress&amp;
+aProgress)</apiname></xref>. </p> </li>
+<li id="GUID-14CBAB9C-F93D-5A0D-A63E-B18D2209D38A"><p>Stopping the
+connection, using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita#GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD/GUID-52878713-A4E8-327E-901B-449EF3D39E0A"><apiname>RConnection::Stop()</apiname></xref>. </p> </li>
+<li id="GUID-0525FECB-37A0-5373-93DD-92BCB1317078"><p>Closing the
+session with the socket server using <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita#GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449/GUID-B6D74895-B413-3759-966A-4A1D855267E1"><apiname>RSocketServ::Close()</apiname></xref>. </p> </li>
+</ul> </section>
+<section id="GUID-823CFB5C-C788-4B90-83A2-41DDA2626519"><title>Download</title><p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3d0ac087-79ee-467f-b6ed-d71eafa40d9c.zip" scope="external">Rconnection.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3d0ac087-79ee-467f-b6ed-d71eafa40d9c.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-C975476C-C2B7-4D9D-AF13-CB2AE995D5E3"><title>Class Summary</title><p>The example demonstrates the
+following classes: </p><p><xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref></p><p><xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref></p><p><xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ</apiname></xref></p><p><xref href="GUID-739117F6-9559-3274-8E00-B2B653C0A8B6.dita"><apiname>TCommDbConnPref</apiname></xref></p><p><xref href="GUID-E104DE5D-FF3F-3E07-ACC3-E24A96DF3629.dita"><apiname>TConnectionInfoBuf</apiname></xref></p></section>
+<section id="GUID-1AC878AD-5D60-4DE9-A47F-43C76816D43F"><title>Design and implementation</title> <p>The project implements
+a single class called <codeph>CRConnection</codeph>, that has three
+principal functions: </p> <p><b>CRConnection::DemoApiWithoutDbOverrideL() </b> </p> <p>This shows how to use <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> to: </p> <ul>
+<li id="GUID-01D4595A-2723-53C8-9499-7215FFA219C3"><p>start a connection
+and associate it with an underlying interface, using default CommDb
+connection preferences, </p> </li>
+<li id="GUID-6377E5AB-71D3-50F1-B084-E8891BB73BB9"><p>get notification
+when the underlying interface goes up or down, </p> </li>
+<li id="GUID-37FF8270-7FD1-5B27-9E9A-BC6D49E02B4D"><p>get notification
+about the state of a connection as it becomes fully established, </p> </li>
+<li id="GUID-E396A06F-5156-5924-9B68-649575A1CA62"><p>transfer data
+over a socket, </p> </li>
+<li id="GUID-584D9C8C-A317-51D0-8AD2-397337F1A332"><p>get the amount
+of data transferred, </p> </li>
+<li id="GUID-23588938-CEE7-5AD9-8C9D-9FA253AE11D2"><p>close the connection. </p> </li>
+</ul> <p>It also shows how to set up a socket to carry out data transfer. </p> <p><b>CRConnection::DemoApiWithDbOverrideL() </b> </p> <p>This is
+the same as <codeph>DemoApiWithoutDbOverrideL()</codeph> except that
+it: </p> <ul>
+<li id="GUID-C61443A2-8576-59F3-A586-30DDF1D2AD56"><p>starts a connection
+using non-default CommDb connection preferences, </p> </li>
+<li id="GUID-9777305D-11BC-5BD4-AFE0-2ED3D010BE93"><p>requests notification
+when a threshold amount of data has been transferred (instead of getting
+the amount of data transferred). </p> </li>
+</ul> <p><b>CRConnection::AttachToExistingInterfaceL() </b> </p> <p>This shows how to use <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> to: </p> <ul>
+<li id="GUID-CB835CF4-BD2A-55E5-BEF7-248A0750B466"><p>open 2 connections
+and start one of them (the other is not yet associated with an underlying
+interface), </p> </li>
+<li id="GUID-DE013E1E-E3C3-513C-B0B6-5B16E6000C5C"><p>get connection
+information for the 1st connection and use this to attach the 2nd
+connection to the existing interface, </p> </li>
+<li id="GUID-BCA6E282-7C55-5416-884F-F88172672D8B"><p>get the state
+of the attached connection, </p> </li>
+<li id="GUID-8A107877-F6BD-5580-ADB5-230F86B36CD4"><p>close the connections. </p> </li>
+</ul> </section>
+<section id="GUID-2292DC4F-A2DF-4EFA-8EBC-DE278D375037"><title>Building and configuring</title> <p>You can build
+the example from the IDE or the command line. </p> <p>If you use an
+IDE, import the <filepath>bld.inf</filepath> file into your IDE, and
+use the build command of the IDE. </p> <p>If you use the command line,
+open a command prompt, and set the current directory to the source
+code directory of the example. You can then build the example using
+the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><b>Emulator: </b> </p> <p>Before running
+the example, the emulator must be set up to use ethernet, as follows: </p> <ul>
+<li id="GUID-1C477C42-8F6B-57F1-A8CE-F1CBAA22F265"><p>Install <xref href="GUID-CDD1E761-6B28-5F69-BBEF-756DF45E59A2.dita">WinPCap 4.0.2</xref> </p> </li>
+<li id="GUID-C79C333A-AF6E-5587-8BA0-B19C470C2D09"><p>Configure the
+emulator using <xref href="GUID-7B114A67-356A-5FCE-B57B-761F5477A2B2.dita">configchange.pl</xref> for instance: </p> <p><userinput>configchange.pl
+--config ethernetWithCommDB --kernel EKA2 --target winscw --variant
+udeb</userinput> </p> </li>
+<li id="GUID-FBAD862F-DFA3-5E7E-8F69-3C4B3CF9E56B"><p>Open <filepath>ethernetced.xml</filepath> in <filepath>epoc32\winscw\c\</filepath> and change the last 3 values in the <codeph>LANBearer operation</codeph> section for "EKA2 Emulator Ethernet" in the <codeph>LANBearerTable</codeph> to: </p> <codeblock id="GUID-1C6B07F1-521D-5E3A-A4EE-A96FA369D5CA" xml:space="preserve">LastSocketActivityTimeout = 10
+LastSessionClosedTimeout = 10
+LastSocketClosedTimeout = 10</codeblock> <p>i.e. change the three
+values from -1 to 10. </p> </li>
+<li id="GUID-82ECDF33-3782-5399-B192-F8DA06B7CE6D"><p>Save the file
+and then run <codeph>ced c:\ethernetced.xml</codeph> from the eshell
+command prompt in the emulator. </p> </li>
+<li id="GUID-5C6DC453-E01B-5F54-9FE1-3AB384357E7D"><p>Download a UDP
+Echoserver. An Echoserver is easily available on the internet. </p> </li>
+<li id="GUID-F5A2E8B3-D8ED-5A3B-AD16-1EC7928B6EEB"><p>Start the UDP
+Echoserver and edit the <codeph>rconnection.cpp</codeph> file in the
+example code so that the values for <codeph>KDestAddr</codeph> and <codeph>KSockPort</codeph> match the values being used by the UDP Echoserver. </p> </li>
+<li id="GUID-CE2E778F-3AB3-5E93-B004-7152AA931072"><p>Build the application
+using the commands described above and then run it. </p> </li>
+</ul> <p><b>Hardware: </b> </p> <ul>
+<li id="GUID-5A2860DF-FF03-585D-87CB-28611B80A0A8"><p>To run the example
+on an H4 board, connect the H4 to the PC/network by serial cable.
+Copy <filepath>ethernetced.xml</filepath> to a memory card and execute: </p> <p><userinput>ced e:\ethernetced.xml</userinput> </p> <p>before
+running the example. </p> </li>
+</ul> </section>
+<section id="GUID-A5BDDE5F-DA10-4594-A446-C079079D8050"><title>Running the example</title> <p>For the emulator, the
+example builds an executable called <filepath>rconnection.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> <p> <filepath>rconnection.exe</filepath> is a console-based
+application. The example takes input from the user and prints to the
+console information about the various stages of the example. </p> </section>
 </refbody></reference>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D2605514-03F4-4A07-943B-E180341518D4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-D2605514-03F4-4A07-943B-E180341518D4" xml:lang="en"><title>Retrieving application information using application UID</title><shortdesc>This tutorial describes how application information can
+be retrieved from the SCR for a specific application UID.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<prereq id="GUID-244C8436-7871-487A-B94C-BC9A70CEA709"><p>The Client
+applications must link against <filepath>scrclient.dll</filepath>.</p></prereq>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-6-1-4-1-6-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-5-1-1-6-1-6-1-4-1-6-1-3-2-1"><cmd>Connect
+to the SCR server.</cmd>
+<info><codeblock xml:space="preserve">#include &lt;usif/scr/scr.h&gt;
+Usif::RSoftwareComponentRegistry scrSession;
+scrSession.Connect();
+</codeblock></info>
+</step>
+<step id="GUID-52B25417-323F-46D8-B572-A65C4B1F8DBA-GENID-1-12-1-5-1-1-6-1-6-1-4-1-6-1-3-2-2"><cmd>Create an
+object of <xref href="GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD.dita"><apiname>RApplicationRegistrationInfo</apiname></xref> to retrieve
+application information based on application UID.</cmd>
+<info><codeblock xml:space="preserve">RApplicationRegistrationInfo subSession;</codeblock></info>
+</step>
+<step id="GUID-90F67FCC-E2E4-4BFD-927F-AF59651B8A2D-GENID-1-12-1-5-1-1-6-1-6-1-4-1-6-1-3-2-3"><cmd>Open a <xref href="GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD.dita"><apiname>RApplicationRegistrationInfo</apiname></xref>  subsession to retrieve application
+information based on application UID.</cmd>
+<info><codeblock xml:space="preserve"> subSession.OpenL(scrSession);</codeblock></info>
+</step>
+<step id="GUID-0D7AF719-87D6-4191-96AE-23193C58C236-GENID-1-12-1-5-1-1-6-1-6-1-4-1-6-1-3-2-4"><cmd>Retrieve
+the information using <xref href="GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD.dita#GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD/GUID-004208F6-EFEF-3C4A-9B1A-F818B9908555"><apiname>RApplicationRegistrationInfo::GetAppInfoL()</apiname></xref>.</cmd>
+<info><codeblock xml:space="preserve">// GetAppInfoL() takes the application UID and an output parameter.
+// The locale can be specified (optional) as the 
+// third parameter. If locale is not specified the default value is assigned.
+ TAppRegInfo appInfo;
+ subSession.GetAppInfoL(TUid::Uid(0x1000ABCD), appInfo);</codeblock></info>
+</step>
+</steps>
+</taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,9 +26,9 @@
 character string conversions and vice versa. With the help of this library,
 user will be able to write a hybrid application on Open C, with out knowing
 much about the descriptors of Symbian platform. </p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-14-1-3-2"><title>Download</title> <p>Click
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-14-1-3-2"><title>Download</title> <p>Click
 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ef84586b-da53-4132-b481-aef6ba5a0994.zip" scope="external"> OpenCStringUtilitiesEx.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ef84586b-da53-4132-b481-aef6ba5a0994.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-14-1-3-3"><title>Design and
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-14-1-3-3"><title>Design and
 Implementation</title> <p>The following sections provide information about
 the implementation of the example.</p> <p><b>Capabilities</b> </p>The program
 capabilities are defined in: <filepath> stringutils.mmp</filepath>(DLL - library): <codeph>CAPABILITY
@@ -47,7 +47,7 @@
 how to use String-utils library (OpenCStringUtilitiesLibEx.dll) APIs.  It
 has its own icon and can be launched from the UI both in the emulator and
 in the device. <p><b>APIs demonstrated</b></p><p><xref href="GUID-68B65AA3-AE49-390F-A2E2-30D8759F648D.dita"><apiname>tbuf16towchar</apiname></xref></p><p><xref href="GUID-6B38C374-D9EE-30CB-B554-76109A759715.dita"><apiname>tbuf16tochar</apiname></xref>  </p><p><xref href="GUID-CA1AF5CD-E167-3695-880D-D8C011AE1777.dita"><apiname>tbuf8towchar</apiname></xref>  </p><p><xref href="GUID-025329B8-54D2-334B-80B7-B01656B461CA.dita"><apiname>tbufC16towchar</apiname></xref></p><p> <xref href="GUID-E2CFBDCD-2864-3B23-B9E9-B98A16FA4341.dita"><apiname>tbufC8tochar</apiname></xref>  </p><p><xref href="GUID-599A5AA9-703A-3584-8F59-A9DFA1362B4A.dita"><apiname>tbufC16tochar</apiname></xref>  </p><p><xref href="GUID-70F3BC58-C386-3CFE-9A93-EB4F2A637875.dita"><apiname>tbufC8towchar</apiname></xref> </p><p> <xref href="GUID-B5674394-1D74-31BB-AF55-34AAEF9D5749.dita"><apiname>wchartotbuf16</apiname></xref>  </p><p><xref href="GUID-245EA280-238A-371A-AA4E-FF9D056DD288.dita"><apiname>chartotbuf16 </apiname></xref> </p><p><xref href="GUID-B9187887-00EE-3C97-AF98-21E29B27CE14.dita"><apiname>wchartotbuf8</apiname></xref>  </p><p><xref href="GUID-BD53EFB6-CE1E-3CBE-923B-3F3730272B60.dita"><apiname>chartotbuf8</apiname></xref> </p><p> <xref href="GUID-08726C60-7F87-3969-90A1-937ECADA3D88.dita"><apiname>wchartohbufc16</apiname></xref>  </p><p><xref href="GUID-387C67D2-C5D9-36E6-9E49-6917E0287266.dita"><apiname>chartohbufc16</apiname></xref>  </p><p><xref href="GUID-88876C84-4D4E-3FBB-A676-E621D3EC67C8.dita"><apiname>wchartohbufc8</apiname></xref>  </p><p><xref href="GUID-273E4D2E-83D2-3229-B973-16BD96B69C71.dita"><apiname>chartohbufc8</apiname></xref> </p><p> <xref href="GUID-D1E233B3-CB49-3ED2-B8E1-33761D41E501.dita"><apiname>hbufC16towchar</apiname></xref> </p><p> <xref href="GUID-EFBC32AF-3FDB-312E-B8A4-905B0767A743.dita"><apiname>hbufC16tochar</apiname></xref> </p><p> <xref href="GUID-ACAD2625-1E6D-3E13-B3DD-E59E97258F4A.dita"><apiname>hbufC8towchar</apiname></xref>  </p><p><xref href="GUID-8A8B0CC7-9270-346E-A835-5BD70B168204.dita"><apiname>hbufC8tochar</apiname></xref> </p></section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-14-1-3-4"><title>Building and
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-14-1-3-4"><title>Building and
 Using</title> To build the example application, go to the OpenCStringUtilitiesEx\group
 directory and build the application.  The definition for the whole application
 can be found in the bld.inf file in the group subdirectory of the applications
--- a/Symbian3/PDK/Source/GUID-D2AE7E31-CAE7-5F03-8754-24172580BBAF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D2AE7E31-CAE7-5F03-8754-24172580BBAF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D2AE7E31-CAE7-5F03-8754-24172580BBAF"><title>Bluetooth Management Collection Overview</title><shortdesc>The Bluetooth Management collection contains the Bluetooth Manager and Bluetooth Client components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-8EE69487-E1A0-530A-AFFB-15207C9A2CAC"><title>Purpose</title> <p>The Bluetooth Management collection contains the Bluetooth Manager and Bluetooth Client components. </p> </section> <section id="GUID-12AFDBB9-5468-5CBE-A6F4-FB8E83DB5DCB"><title>Architecture</title> <fig id="GUID-7B185CA7-F57D-5B4E-A8CB-86D539104AD3"><image href="GUID-D754C477-DB73-56F7-A135-13E1179CBB2D_d0e642901_href.png" placement="inline"/></fig> </section> <section id="GUID-0EE39304-E0A7-5D42-8383-88EBE8398B96"><title>Components</title> <p>The Bluetooth Management collection contains the following components: </p> <ul><li id="GUID-7C57631F-BF43-53A7-846B-35853C981D88"><p> <b>Bluetooth Manager</b>  </p> <p>The Bluetooth Manager component stores non-volatile details of Bluetooth devices in the BT Registry using DBMS. Stored information can be retrieved, modified and deleted. </p> </li> <li id="GUID-EDBFC9AE-38B3-538C-8C85-4EF94D06B05C"><p> <b>Bluetooth Client</b>  </p> <p>The Bluetooth Client component provides support for configuring and managing Bluetooth sockets, accessing the HCI, and configuring Bluetooth AV sessions. </p> </li> </ul> </section> <section><title>Using Bluetooth Management</title> <p>The Bluetooth Management collection has the following uses: </p> <ul><li id="GUID-4F3EB06D-FA6C-5C97-8828-1679B0D75A4E"><p>storing, retrieving, modifying and deleting details from the Bluetooth Registry using <xref href="GUID-11E05C4A-CC94-5A0E-9D07-1863FB03747F.dita">Bluetooth Manager</xref> </p> </li> <li id="GUID-90425D29-F83A-5DC7-95ED-9025A20CBD46"><p>configuring and managing Bluetooth sockets, accessing the HCI and configuring Bluetooth AV sessions using the <xref href="GUID-8411E1C9-C6CC-5B0A-BEBA-74D0B8AABF35.dita">Bluetooth Client</xref>. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-D2AE7E31-CAE7-5F03-8754-24172580BBAF"><title>Bluetooth Management Collection Overview</title><shortdesc>The Bluetooth Management collection contains the Bluetooth Manager and Bluetooth Client components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-8EE69487-E1A0-530A-AFFB-15207C9A2CAC"><title>Purpose</title> <p>The Bluetooth Management collection contains the Bluetooth Manager and Bluetooth Client components. </p> </section> <section id="GUID-12AFDBB9-5468-5CBE-A6F4-FB8E83DB5DCB"><title>Architecture</title> <fig id="GUID-7B185CA7-F57D-5B4E-A8CB-86D539104AD3"><image href="GUID-D754C477-DB73-56F7-A135-13E1179CBB2D_d0e655723_href.png" placement="inline"/></fig> </section> <section id="GUID-0EE39304-E0A7-5D42-8383-88EBE8398B96"><title>Components</title> <p>The Bluetooth Management collection contains the following components: </p> <ul><li id="GUID-7C57631F-BF43-53A7-846B-35853C981D88"><p> <b>Bluetooth Manager</b>  </p> <p>The Bluetooth Manager component stores non-volatile details of Bluetooth devices in the BT Registry using DBMS. Stored information can be retrieved, modified and deleted. </p> </li> <li id="GUID-EDBFC9AE-38B3-538C-8C85-4EF94D06B05C"><p> <b>Bluetooth Client</b>  </p> <p>The Bluetooth Client component provides support for configuring and managing Bluetooth sockets, accessing the HCI, and configuring Bluetooth AV sessions. </p> </li> </ul> </section> <section><title>Using Bluetooth Management</title> <p>The Bluetooth Management collection has the following uses: </p> <ul><li id="GUID-4F3EB06D-FA6C-5C97-8828-1679B0D75A4E"><p>storing, retrieving, modifying and deleting details from the Bluetooth Registry using <xref href="GUID-11E05C4A-CC94-5A0E-9D07-1863FB03747F.dita">Bluetooth Manager</xref> </p> </li> <li id="GUID-90425D29-F83A-5DC7-95ED-9025A20CBD46"><p>configuring and managing Bluetooth sockets, accessing the HCI and configuring Bluetooth AV sessions using the <xref href="GUID-8411E1C9-C6CC-5B0A-BEBA-74D0B8AABF35.dita">Bluetooth Client</xref>. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D2CF64ED-0D85-5535-9A51-C127B10B07B2_d0e577643_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2CF64ED-0D85-5535-9A51-C127B10B07B2_d0e626931_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-3-1" xml:lang="en"><title>Basic
+encryption and decryption using a symmetric cipher</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example demonstrates how to encrypt and decrypt a small string of
+data using a symmetric cipher. Firstly, an encryption operation is performed
+on the data. Following this a decryption operation is performed on the encrypted
+data. Finally a check is made on the decrypted data for equality with the
+original data which tests that the encrypt and decrypt operations have maintained
+data integrity. </p>
+<codeblock id="GUID-E9342EBD-213A-53CE-BA3E-93CC24D63319-GENID-1-12-1-26-1-1-11-1-1-3-1-4-1-3-1-2-2" xml:space="preserve">#include &lt;legacyselector.h&gt;
+#include &lt;cryptosymmetriccipherapi.h&gt;
+#include &lt;keys.h&gt;
+
+using namespace CryptoSpi;
+
+//Create a new CCryptoParams object to encapsulate the secret key string and key type
+CCryptoParams* params = CCryptoParams::NewLC(); 
+
+//Add the secret key to the CCryptoParams object by calling the CCryptoParams::AddL() method,  
+//passing in the key string and appropriate key parameter UID
+params-&gt;AddL( _L8("12345678"), KSymmetricKeyParameterUid);
+
+//Create a key object (CKey) by passing in an instance of TKeyProperty and the previously 
+//created CCryptoParams object containing the secret key. 
+TKeyProperty keyProperty = {KDesUid, KNullUid, KSymmetricKey, KNonEmbeddedKeyUid};
+CKey* key=CKey::NewL(keyProperty, *params); 
+CleanupStack::PushL(key);
+//Create and initialize a pointer for the Symmetric cipher implementation object
+CSymmetricCipher* impl = NULL;    
+
+//Create a symmetric cipher passing in the appropriate CKey object
+TRAPD(err, CSymmetricCipherFactory::CreateSymmetricCipherL
+    (impl,
+    KDesUid,
+    *key,
+    KCryptoModeEncryptUid,  // This can be either encrypt or decrypt
+    KOperationModeECBUid,   // Use "electronic code book" mode
+    KPaddingModeNoneUid,   // This is the type of padding to be used
+    NULL));
+
+//Check the return value and for non NULL
+if (impl &amp;&amp; (err == KErrNone))
+    {
+    //Create a buffer holding the data to be encrypted
+    TBuf8&lt;8&gt; srcData(_L8("12345678"));
+    
+    //Create a buffer to hold the encrypted data.
+    //MaxFinalOutputLength() returns the number of bytes the buffer passed to ProcessFinalL()
+    //needs to be capable of holding
+    TInt maxOutputLength = impl-&gt;MaxFinalOutputLength(srcData.Length());
+    HBufC8* encrypted =    HBufC8::NewLC(maxOutputLength);
+    TPtr8 encryptedPtr = encrypted-&gt;Des();
+
+    //Perform the encryption operation 
+    //ProcessFinalL() pads the input buffer if required
+    TRAP(err, impl-&gt;ProcessFinalL(srcData, encryptedPtr));
+
+    if (err == KErrNone)
+        {
+        //Switch to decrypt mode
+        impl-&gt;SetCryptoModeL(KCryptoModeDecryptUid);
+    
+        //Create a buffer for the decrypted data
+        maxOutputLength = encryptedPtr.Length();
+        HBufC8* output = HBufC8::NewLC(impl-&gt;MaxFinalOutputLength(maxOutputLength));
+        TPtr8 outputPtr = output-&gt;Des();
+        
+        //Perform the decryption operation
+        TRAP(err, impl-&gt;ProcessFinalL(encryptedPtr, outputPtr));
+
+    if (err == KErrNone)
+        {
+            //Check that the original source data matches the data that 
+            //has been encrypted then decrypted
+            if (!outputPtr.Compare(srcData))
+                {
+                // Descriptors are the same - successful encrypt/decrypt check
+                }
+            }
+
+        CleanupStack::PopAndDestroy(output); 
+        }
+
+    CleanupStack::PopAndDestroy(encrypted); 
+    }
+
+//Destroy the symmetric implementation object    
+delete impl;
+impl = NULL;
+
+CleanupStack::PopAndDestroy(key);
+CleanupStack::PopAndDestroy(params);</codeblock>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625-GENID-1-12-1-26-1-1-9-1-5-1-6-1" xml:lang="en"><title>Basic
+encryption and decryption using a symmetric cipher</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example demonstrates how to encrypt and decrypt a small string of
+data using a symmetric cipher. Firstly, an encryption operation is performed
+on the data. Following this a decryption operation is performed on the encrypted
+data. Finally a check is made on the decrypted data for equality with the
+original data which tests that the encrypt and decrypt operations have maintained
+data integrity. </p>
+<codeblock id="GUID-E9342EBD-213A-53CE-BA3E-93CC24D63319-GENID-1-12-1-26-1-1-9-1-5-1-6-1-2-2" xml:space="preserve">#include &lt;legacyselector.h&gt;
+#include &lt;cryptosymmetriccipherapi.h&gt;
+#include &lt;keys.h&gt;
+
+using namespace CryptoSpi;
+
+//Create a new CCryptoParams object to encapsulate the secret key string and key type
+CCryptoParams* params = CCryptoParams::NewLC(); 
+
+//Add the secret key to the CCryptoParams object by calling the CCryptoParams::AddL() method,  
+//passing in the key string and appropriate key parameter UID
+params-&gt;AddL( _L8("12345678"), KSymmetricKeyParameterUid);
+
+//Create a key object (CKey) by passing in an instance of TKeyProperty and the previously 
+//created CCryptoParams object containing the secret key. 
+TKeyProperty keyProperty = {KDesUid, KNullUid, KSymmetricKey, KNonEmbeddedKeyUid};
+CKey* key=CKey::NewL(keyProperty, *params); 
+CleanupStack::PushL(key);
+//Create and initialize a pointer for the Symmetric cipher implementation object
+CSymmetricCipher* impl = NULL;    
+
+//Create a symmetric cipher passing in the appropriate CKey object
+TRAPD(err, CSymmetricCipherFactory::CreateSymmetricCipherL
+    (impl,
+    KDesUid,
+    *key,
+    KCryptoModeEncryptUid,  // This can be either encrypt or decrypt
+    KOperationModeECBUid,   // Use "electronic code book" mode
+    KPaddingModeNoneUid,   // This is the type of padding to be used
+    NULL));
+
+//Check the return value and for non NULL
+if (impl &amp;&amp; (err == KErrNone))
+    {
+    //Create a buffer holding the data to be encrypted
+    TBuf8&lt;8&gt; srcData(_L8("12345678"));
+    
+    //Create a buffer to hold the encrypted data.
+    //MaxFinalOutputLength() returns the number of bytes the buffer passed to ProcessFinalL()
+    //needs to be capable of holding
+    TInt maxOutputLength = impl-&gt;MaxFinalOutputLength(srcData.Length());
+    HBufC8* encrypted =    HBufC8::NewLC(maxOutputLength);
+    TPtr8 encryptedPtr = encrypted-&gt;Des();
+
+    //Perform the encryption operation 
+    //ProcessFinalL() pads the input buffer if required
+    TRAP(err, impl-&gt;ProcessFinalL(srcData, encryptedPtr));
+
+    if (err == KErrNone)
+        {
+        //Switch to decrypt mode
+        impl-&gt;SetCryptoModeL(KCryptoModeDecryptUid);
+    
+        //Create a buffer for the decrypted data
+        maxOutputLength = encryptedPtr.Length();
+        HBufC8* output = HBufC8::NewLC(impl-&gt;MaxFinalOutputLength(maxOutputLength));
+        TPtr8 outputPtr = output-&gt;Des();
+        
+        //Perform the decryption operation
+        TRAP(err, impl-&gt;ProcessFinalL(encryptedPtr, outputPtr));
+
+    if (err == KErrNone)
+        {
+            //Check that the original source data matches the data that 
+            //has been encrypted then decrypted
+            if (!outputPtr.Compare(srcData))
+                {
+                // Descriptors are the same - successful encrypt/decrypt check
+                }
+            }
+
+        CleanupStack::PopAndDestroy(output); 
+        }
+
+    CleanupStack::PopAndDestroy(encrypted); 
+    }
+
+//Destroy the symmetric implementation object    
+delete impl;
+impl = NULL;
+
+CleanupStack::PopAndDestroy(key);
+CleanupStack::PopAndDestroy(params);</codeblock>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D2D17EF9-FFC6-5FBD-A992-55746A12B625" xml:lang="en"><title>Basic
-encryption and decryption using a symmetric cipher</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This example demonstrates how to encrypt and decrypt a small string of
-data using a symmetric cipher. Firstly, an encryption operation is performed
-on the data. Following this a decryption operation is performed on the encrypted
-data. Finally a check is made on the decrypted data for equality with the
-original data which tests that the encrypt and decrypt operations have maintained
-data integrity. </p>
-<codeblock id="GUID-E9342EBD-213A-53CE-BA3E-93CC24D63319" xml:space="preserve">#include &lt;legacyselector.h&gt;
-#include &lt;cryptosymmetriccipherapi.h&gt;
-#include &lt;keys.h&gt;
-
-using namespace CryptoSpi;
-
-//Create a new CCryptoParams object to encapsulate the secret key string and key type
-CCryptoParams* params = CCryptoParams::NewLC(); 
-
-//Add the secret key to the CCryptoParams object by calling the CCryptoParams::AddL() method,  
-//passing in the key string and appropriate key parameter UID
-params-&gt;AddL( _L8("12345678"), KSymmetricKeyParameterUid);
-
-//Create a key object (CKey) by passing in an instance of TKeyProperty and the previously 
-//created CCryptoParams object containing the secret key. 
-TKeyProperty keyProperty = {KDesUid, KNullUid, KSymmetricKey, KNonEmbeddedKeyUid};
-CKey* key=CKey::NewL(keyProperty, *params); 
-CleanupStack::PushL(key);
-//Create and initialize a pointer for the Symmetric cipher implementation object
-CSymmetricCipher* impl = NULL;    
-
-//Create a symmetric cipher passing in the appropriate CKey object
-TRAPD(err, CSymmetricCipherFactory::CreateSymmetricCipherL
-    (impl,
-    KDesUid,
-    *key,
-    KCryptoModeEncryptUid,  // This can be either encrypt or decrypt
-    KOperationModeECBUid,   // Use "electronic code book" mode
-    KPaddingModeNoneUid,   // This is the type of padding to be used
-    NULL));
-
-//Check the return value and for non NULL
-if (impl &amp;&amp; (err == KErrNone))
-    {
-    //Create a buffer holding the data to be encrypted
-    TBuf8&lt;8&gt; srcData(_L8("12345678"));
-    
-    //Create a buffer to hold the encrypted data.
-    //MaxFinalOutputLength() returns the number of bytes the buffer passed to ProcessFinalL()
-    //needs to be capable of holding
-    TInt maxOutputLength = impl-&gt;MaxFinalOutputLength(srcData.Length());
-    HBufC8* encrypted =    HBufC8::NewLC(maxOutputLength);
-    TPtr8 encryptedPtr = encrypted-&gt;Des();
-
-    //Perform the encryption operation 
-    //ProcessFinalL() pads the input buffer if required
-    TRAP(err, impl-&gt;ProcessFinalL(srcData, encryptedPtr));
-
-    if (err == KErrNone)
-        {
-        //Switch to decrypt mode
-        impl-&gt;SetCryptoModeL(KCryptoModeDecryptUid);
-    
-        //Create a buffer for the decrypted data
-        maxOutputLength = encryptedPtr.Length();
-        HBufC8* output = HBufC8::NewLC(impl-&gt;MaxFinalOutputLength(maxOutputLength));
-        TPtr8 outputPtr = output-&gt;Des();
-        
-        //Perform the decryption operation
-        TRAP(err, impl-&gt;ProcessFinalL(encryptedPtr, outputPtr));
-
-    if (err == KErrNone)
-        {
-            //Check that the original source data matches the data that 
-            //has been encrypted then decrypted
-            if (!outputPtr.Compare(srcData))
-                {
-                // Descriptors are the same - successful encrypt/decrypt check
-                }
-            }
-
-        CleanupStack::PopAndDestroy(output); 
-        }
-
-    CleanupStack::PopAndDestroy(encrypted); 
-    }
-
-//Destroy the symmetric implementation object    
-delete impl;
-impl = NULL;
-
-CleanupStack::PopAndDestroy(key);
-CleanupStack::PopAndDestroy(params);</codeblock>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D2D41326-BA88-5A02-805B-5EAEC29ADB5D_d0e394094_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2D41326-BA88-5A02-805B-5EAEC29ADB5D_d0e399947_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2DCBC1F-91B8-5F81-AAE8-546AE3EB1E29_d0e538554_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D2DCBC1F-91B8-5F81-AAE8-546AE3EB1E29_d0e546014_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D2ECF215-B53C-5659-BA86-5B658C0C2D2F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -75,7 +75,7 @@
 <title>              The surface is visible on Screen2 only,             
 Composition Engine 1 replies before Composition Engine              2    
        </title>
-<image href="GUID-5F9BEEF7-19BC-550F-BD97-60F70B55E906_d0e277039_href.png" placement="inline"/>
+<image href="GUID-5F9BEEF7-19BC-550F-BD97-60F70B55E906_d0e283039_href.png" placement="inline"/>
 </fig> <p>In the next diagram, the surface is still visible on <i>Screen2</i> only.
 This time, however, <i>Composition Engine 2</i> replies before <i>Composition
 Engine 1</i>. The Surface Update Server considers <i>Composition Engine 1</i> to
@@ -88,13 +88,13 @@
 <title>              The surface is visible on Screen2 only,             
 Composition Engine 2 replies before Composition Engine              1    
        </title>
-<image href="GUID-B4653180-46EB-58A8-B2A8-0DD2C3D30FE7_d0e277089_href.png" placement="inline"/>
+<image href="GUID-B4653180-46EB-58A8-B2A8-0DD2C3D30FE7_d0e283089_href.png" placement="inline"/>
 </fig> <p>In this final diagram, the surface is visible on both screens. <i>Screen1</i> is
 considered the surface's master display and the client is notified when <i>Composition
 Engine 1</i> completes. When <i>Composition Engine 2</i> completes, the Surface
 Update Server discards its notification. </p> <fig id="GUID-FA4BE8A3-33A2-53E7-9124-53D404B0305A">
 <title>              The surface is visible on both screens.            </title>
-<image href="GUID-467EF3F5-754B-550A-A9C7-246D68C91F0A_d0e277109_href.png" placement="inline"/>
+<image href="GUID-467EF3F5-754B-550A-A9C7-246D68C91F0A_d0e283109_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Example</title> <p>The following code snippet shows using
 the global surface update feature to request composition to all of the screens
Binary file Symbian3/PDK/Source/GUID-D3129CC4-AD63-51CE-BFB4-979E26807FA7_d0e590794_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D3129CC4-AD63-51CE-BFB4-979E26807FA7_d0e618688_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D34DB4A1-1B17-5FAF-A48B-E06D247B0A83.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D34DB4A1-1B17-5FAF-A48B-E06D247B0A83.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,7 +33,7 @@
 <li id="GUID-8321989A-20FE-58C3-90D0-2D3BE29E11F6"><p>a field containing the
 total number of such nodes. </p> </li>
 </ul> <fig id="GUID-A8C68654-2D56-501F-8D45-C0F75E63B630">
-<image href="GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e382289_href.png" placement="inline"/>
+<image href="GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e388142_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-C232C328-190D-59F1-A1CB-BC9D736367B0"><p>The combination of modifier
 key states that each node represents is encapsulated by a <xref href="GUID-7D0DE872-AC17-3045-9F97-E25A13B5CFB0.dita"><apiname>TMaskedModifiers</apiname></xref> object.
@@ -64,7 +64,7 @@
 scancode pairs are associated with successive blocks of keycodes as the following
 diagram shows. </p> </li>
 </ul> <fig id="GUID-4B2FBB49-6CBD-5030-82D0-9B4DDF2D3DBF">
-<image href="GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e382400_href.png" placement="inline"/>
+<image href="GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e388253_href.png" placement="inline"/>
 </fig> <p>This means that successive scancodes, for example, from "A1" through
 to "B1" are represented by the successive keycodes "keycode for A1" through
 to "keycode for B1"; scancode "A2" is represented by "keycode for A2", which
@@ -72,7 +72,7 @@
 <li id="GUID-68C8A342-A3D2-5975-82F1-F635E366F741"><p>To allow for possible
 reuse of keycode tables, a node can point to more than one <xref href="GUID-35A21F70-F080-364D-8655-5E1781B378EB.dita"><apiname>SConvSubTable</apiname></xref>.
 The following diagram shows an example of this: </p> <fig id="GUID-3F5514B5-86E6-52BE-A4C2-38882A1CEACA">
-<image href="GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e382417_href.png" placement="inline"/>
+<image href="GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e388270_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-C6001149-460A-57D4-A9FE-BCB050B49791"><p>If no keycode can be
 found that matches the scancode, for a given modifier combination, then the
--- a/Symbian3/PDK/Source/GUID-D37576D8-1BD6-520B-9C69-60F2F89E4452.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D37576D8-1BD6-520B-9C69-60F2F89E4452"><title>WINSCW-specific errors and warnings</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>When you compile code for the WINSCW target, you may get errors and warnings that were not present when building for WINS or ARM targets. This page explains some possible causes of this. </p> <section><title>#pragma for disabling warnings</title> <p> <i>Issue:</i> CodeWarrior compiler ignores the <codeph>#pragma
-          warning(...)</codeph> statements that are used to disable specific Microsoft VC++ warnings. </p> <p> <i>Resolution:</i> consult the CodeWarrior manuals for equivalent CodeWarrior <codeph>#pragma</codeph> controls over specific warnings. </p> </section> <section><title>Expression evaluation order</title> <p>The C++ Standard explicitly states that the order of evaluation of expressions is undefined. For example, for the line, </p> <codeblock id="GUID-0DDAD2D7-123D-5079-8EDD-028C94218FCB" xml:space="preserve">x = fn1(param1) + fn2(param2);</codeblock> <p>some compilers may evaluate <codeph>fn1(param1)</codeph> first, while others may evaluate <codeph>fn2(param2)</codeph> first. Symbian have in fact found cases where CodeWarrior, and Microsoft VC++ and GCC, differ in this behaviour. You should therefore never assume a particular order of evaluation. Note that this error may be hard to find, as program behaviour can be altered, but no compiler warnings are given. </p> </section> <section><title>friend statements</title> <p> <i>Issue:</i>  <systemoutput>illegal 'friend' declaration</systemoutput> compiler errors for statements of the form <codeph>friend MyClass;</codeph>. </p> <p> <i>Resolution:</i> use the syntax <codeph>friend class
-          MyClass;</codeph>. </p> </section> <section><title>Identifier names not, or, and, etc.</title> <p> <i>Issue:</i> compiler errors when using identifiers with the names <codeph>not</codeph>, <codeph>or</codeph>, <codeph>and</codeph>, <codeph>bitor</codeph>, <codeph>xor</codeph>, <codeph>compl</codeph>, <codeph>bitand</codeph>, <codeph>and_eq</codeph>, <codeph>xor_eq</codeph>, <codeph>or_eq</codeph>, or <codeph>not_eq</codeph>. </p> <p>This is because these are C++ keywords (alternative token representations for some operators and punctuators). </p> <p> <i>Resolution:</i> modify the identifier name. </p> </section> <section><title>illegal empty declaration warnings</title> <p> <i>Issue:</i> warnings caused by unneeded semi-colons, for example, </p> <codeblock id="GUID-5DDB29A5-6A50-5063-9525-3C6493AAC129" xml:space="preserve">class CMyClass
-    {
-public:;</codeblock> <p> <i>Resolution:</i> remove unneeded semi-colons. </p> </section> <section><title>Inline assembler hex constants</title> <p> <i>Issue:</i> compiler errors for inline assembler hex constants specified with a trailing h, for example, 0001ah. </p> <p> <i>Resolution:</i> specify such constants using the C++ 0xnnnn notation. </p> </section> <section><title>Inline assembler labels</title> <p> <i>Issue:</i> compiler errors for assembler labels of the form <codeph>_asm label:</codeph>. </p> <p> <i>Resolution:</i> use C++ labels. </p> </section> <section><title>Member functions that include the class name</title> <p> <i>Issue:</i>  <systemoutput>illegal access/using declaration</systemoutput> compiler errors for class member functions whose declarations include the class name, for example: </p> <codeblock id="GUID-EF132BD8-ACED-596C-937C-06F3F968DEA4" xml:space="preserve">class CMyClass
-    {
-    void CMyClass::MyFunction();
-    };</codeblock> <p> <i>Resolution:</i> remove the class name from the function declaration. </p> </section> <section><title>Mismatched char* and unsigned char* in .c files</title> <p> <i>Issue:</i>  <codeph>illegal implicit conversion from 'unsigned
-          char*' to 'const char*'</codeph> compiler errors when attempting to pass an <codeph>unsigned char*</codeph> where a <codeph>const char*</codeph> is required. </p> <p>CodeWarrior marks this as an error for both .c files and .cpp files; MS Visual C++ only marks it as an error for .cpp files. </p> <p> <i>Resolution:</i> change the declaration or call to use matching types. Alternatively, to tell CodeWarrior not to warn on this issue, use the directive: </p> <codeblock id="GUID-DAD55174-25A1-500B-AC25-55FDA9E921E7" xml:space="preserve">#pragma mpwc_relax on</codeblock> </section> <section><title>possible unwanted ';' warnings</title> <p> <i>Issue:</i> this warns you that a loop has no body, for example, as in the following: </p> <codeblock id="GUID-D6AB57AD-BEB2-5791-9F5A-57E2E46715EE" xml:space="preserve">for (TInt i=0; i&lt;10; i++); // loop ends here
-        f(i);</codeblock> <p> <i>Resolution:</i> if a loop has no body intentionally, the warning can be removed by adding an empty body, for example, </p> <codeblock id="GUID-FD53F42D-A3EC-5A4C-AE66-AD70D64CE422" xml:space="preserve">while (f) {};</codeblock> </section> <section><title>References to enumerated values declared later</title> <p> <i>Issue:</i>  <systemoutput>undefined identifier</systemoutput> compiler errors for usage such as </p> <codeblock id="GUID-3F1BB058-2ED9-5BAC-9C0F-8C25DF8B8508" xml:space="preserve">class CMyClass
-    {
-    void MyFunction(TInt a=EMyVal1); // EMyVal1 not yet defined
-    enum
-        {
-        EMyVal1
-        };
-    };</codeblock> <p> <i>Resolution:</i> move the enumerator's declaration to before its first usage. </p> </section> <section><title>References to pointers to const objects</title> <p> <i>Issue:</i>  <systemoutput>non-const '&amp;' reference initialized to
-          temporary</systemoutput> compiler errors for use of a reference to a pointer to a non-const object, where a reference to a pointer to a const object is required, for example: </p> <codeblock id="GUID-625E9C6B-70D5-5EB8-846A-AB680066E8A5" xml:space="preserve">void f(const TInt64*&amp; aNum);
-
-void f1()
-    {
-    TInt64* ptr;
-    f(ptr);
-    }</codeblock> <p> <i>Resolution:</i> the compiler correctly cannot add const-ness at this level of indirection, as the <codeph>aNum</codeph> value could then be modified through the <codeph>ptr</codeph> pointer. Modify the code to conform with the const-ness rules. </p> </section> <section><title>Reuse of variables declared in for</title> <p> <i>Issue:</i> CodeWarrior follows the C++ standard in limiting the lifetime of a variable declared in a <codeph>for</codeph> statement to the loop block. The following code thus gives an <systemoutput>undefined identifier</systemoutput> error for the use of <codeph>i</codeph> in the second <codeph>for</codeph> statement. </p> <codeblock id="GUID-3CDC86A2-14EE-5388-A3EE-A715F5254761" xml:space="preserve">for (TInt i=0; i&lt;10; i++)
-    {
-    ...
-    }
-for (i=0; i&lt;20; i++)
-    {
-    ...</codeblock> <p> <i>Resolution:</i> as Microsoft Visual C++ gives an error if, in the above case, <codeph>i</codeph> were to be redeclared in the second <codeph>for</codeph> statement. To be compatible with both compilers, declare the loop variable outside the <codeph>for</codeph> loop. </p> </section> <section><title>sizeof(&lt;non-static class member&gt;) not in the context of an object of that class</title> <p> <i>Issue:</i>  <systemoutput>illegal use of non-static member</systemoutput> warning for such code as: </p> <codeblock id="GUID-EC13BC0F-13A8-505A-AABC-142C444111B6" xml:space="preserve">class CMyClass
-    {
-public:
-    int iNonStaticMember;
-    };
-
-int main()
-    {
-    printf("%d\n", sizeof(CMyClass::iNonStaticMember));
-    }</codeblock> <p>The error is produced because <codeph>CMyClass::iNonStaticMember</codeph> is not the name of a type, nor an expression. </p> <p> <i>Resolution:</i> a possible resolution is to provide a dummy object to produce a valid expression: for example, </p> <codeblock id="GUID-E5892D84-2310-52E2-8256-BDF0EBC59B1F" xml:space="preserve">sizeof(((CMyClass*)0)-&gt;iStaticMember)</codeblock> </section> <section><title>Uninitialised variable warnings</title> <p> <i>Issue:</i> extra warnings of the form <systemoutput>variable
-          'myvariable' is not initialized before being used</systemoutput>. </p> <p> <i>Resolution:</i> the warnings are correct, and the code should be corrected. </p> </section> <section><title>USER 42 panics when allocating and deleting arrays</title> <p> <i>Issue:</i> the program panics with USER 42 when allocating and deleting arrays. </p> <p> <i>Resolution:</i> see <xref href="GUID-011D0974-CC37-5335-A8EB-7ECF4FC30F93.dita">Cleanup for heap arrays</xref> for details of code techniques to prevent such panics. </p> </section> <section id="GUID-4856CFCB-C576-5073-AE85-B6045443C8F0"><title>Single process and memory protection</title> <p>The S in WINS and WINSCW stands for "single process". WINS/WINSCW supports multiple threads, but only a single process. This causes slight differences between WINS/WINSCW and target machines. </p> <p>As WINS/WINSCW only has a single process, each process has access to each other’s memory. This means that bad pointers may corrupt another process’s memory, resulting in bugs which would not occur on a multi-process Symbian platform implementation. Also, design bugs such as using pointers across processes do not show until code is first run on a multi-process platform. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D37E0579-0F3B-5EE4-8264-1358E493672B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D37E0579-0F3B-5EE4-8264-1358E493672B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -27,7 +27,7 @@
 <p>The following diagram illustrates how elements are organised within the
 array buffer:</p>
 <fig id="GUID-2A857FBF-943D-5665-9999-BC27EA321F73">
-<image href="GUID-924E26D6-8B9D-5C76-AF61-7C5514BB3D78_d0e317425_href.png" placement="inline"/>
+<image href="GUID-924E26D6-8B9D-5C76-AF61-7C5514BB3D78_d0e323415_href.png" placement="inline"/>
 </fig>
 <p>This kind of array is suitable for a small number of elements or for a
 moderately large but fixed maximum number of elements. It is not suitable
Binary file Symbian3/PDK/Source/GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e593157_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e642450_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D3B78EAF-CAE8-519D-8E70-FD51C842DC17_d0e231683_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D3B78EAF-CAE8-519D-8E70-FD51C842DC17_d0e237678_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D3F52BB9-7230-499C-9BB7-CFAEDBA8F48B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D3F52BB9-7230-499C-9BB7-CFAEDBA8F48B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 control inside its own area as illustrated in the figure below.</p>
 <fig id="GUID-C70125A6-393A-428D-A22B-7F6EEC72FAAF">
 <title>Tactile feedback area priorities</title>
-<image href="GUID-5BD8EE4B-3149-4331-91E0-7813DF4994E1_d0e102291_href.png" scale="70" placement="inline"/>
+<image href="GUID-5BD8EE4B-3149-4331-91E0-7813DF4994E1_d0e106311_href.png" scale="70" placement="inline"/>
 </fig>
 <p>In both situations, the compound control wants to give one type of feedback,
 but there should be a different type of feedback (or no feedback at all) for
Binary file Symbian3/PDK/Source/GUID-D3F800F3-0818-5DF2-947C-AB8DE0C0053C_d0e167691_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D3F800F3-0818-5DF2-947C-AB8DE0C0053C_d0e173784_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D4001895-09B9-5A47-BEE7-648FAB55F85B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D4001895-09B9-5A47-BEE7-648FAB55F85B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -44,7 +44,7 @@
 <p>The following diagram shows the idea: </p>
 <fig id="GUID-9F093A25-C9C6-5590-9427-EBC4BD26AC73">
 <title>Transaction Commit and Revert</title>
-<image href="GUID-6FC62A2F-E27F-54A8-A97F-0F42426D1F63_d0e582404_href.png" placement="inline"/>
+<image href="GUID-6FC62A2F-E27F-54A8-A97F-0F42426D1F63_d0e631692_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-79F39C97-75E8-5DB1-B976-8FE76E6E60C9.dita"><linktext>Dictionary
--- a/Symbian3/PDK/Source/GUID-D429672C-448D-5E91-ABA0-81680869D69E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D429672C-448D-5E91-ABA0-81680869D69E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -51,7 +51,7 @@
 There are 16 bits per pixel and 8 bits per sample. </p> <fig id="GUID-53751309-A71E-5AE8-9C09-E851F0533B61">
 <title>              Byte order for the EUidPixelFormatYUV_422Interleaved
 format            </title>
-<image href="GUID-D9393C13-FD50-550C-B6EE-18DAAFF1F3EF_d0e232296_href.png" placement="inline"/>
+<image href="GUID-D9393C13-FD50-550C-B6EE-18DAAFF1F3EF_d0e238291_href.png" placement="inline"/>
 </fig> <table id="GUID-6DB197A2-1021-5276-A528-8678970CE363">
 <tgroup cols="2"><colspec colname="COLSPEC1" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -71,7 +71,7 @@
 ID of this format is 0x32595559. </p> <fig id="GUID-53E5A936-AF3B-5D49-85F3-6604A77AB845">
 <title>              Byte order for the EUidPixelFormatYUV_422Reversed format
            </title>
-<image href="GUID-DA962F06-7618-5E02-9E05-65AFFA69045E_d0e232343_href.png" placement="inline"/>
+<image href="GUID-DA962F06-7618-5E02-9E05-65AFFA69045E_d0e238338_href.png" placement="inline"/>
 </fig> <table id="GUID-20272CF0-19A2-5096-B933-CA626BF99F4C">
 <tgroup cols="2"><colspec colname="COLSPEC2" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
@@ -126,7 +126,7 @@
 per pixel and 8 bits per sample. The pixel order is Y1VY0U. </p> <fig id="GUID-B9339E09-412A-5909-926C-EFC5A33C91C1">
 <title>              Byte order for the EUidPixelFormatYUV_422InterleavedReversed
 format            </title>
-<image href="GUID-454A850E-E7C4-5CB8-9245-E18BB2BAE993_d0e232464_href.png" placement="inline"/>
+<image href="GUID-454A850E-E7C4-5CB8-9245-E18BB2BAE993_d0e238459_href.png" placement="inline"/>
 </fig> <table id="GUID-2A431CA4-D8E4-5057-B247-9FD0943E156B">
 <tgroup cols="2"><colspec colname="COLSPEC5" colwidth="1.00*"/><colspec colname="col1"/>
 <tbody>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1" xml:lang="en"><title>Tutorials</title><shortdesc>This section describes how to use Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1" xml:lang="en"><title>Tutorials</title><shortdesc>This section describes how to use Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-9-1-4-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D430A6E4-003C-5368-893B-D7FCD5ADCAAD-GENID-1-12-1-24-1-1-9-1-4-1-5-1" xml:lang="en"><title>Tutorials</title><shortdesc>This section describes how to use Secure Sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D43AB2F5-32AE-540C-80D8-DE8B2072F1E6_d0e377801_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D43AB2F5-32AE-540C-80D8-DE8B2072F1E6_d0e383654_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D458A54E-0D19-479C-B628-001C704E1CB3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D458A54E-0D19-479C-B628-001C704E1CB3" xml:lang="en"><title>Navigation
-using links</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Links leading from one application (or the home screen) to another application
-may exist. Links are one-way shortcuts: there is no direct path back to the
-state where the link was started; instead, the navigation inside the linked
-application functions as if the user had manually activated the other application
-and navigated to the target state.</p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D45A4AE9-4169-4466-B02B-629B15C3E9AA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D45A4AE9-4169-4466-B02B-629B15C3E9AA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 to create a private key-public key pair and generate certificate requests.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context>       <p>The following diagram illustrates the procedure for creating
 a private key, self-signed certificate and a certificate request file. </p><fig id="GUID-BA4923AA-EEFF-43BA-B8BE-F56EE18EB6EA">
-<image href="GUID-C253D792-7470-5D9F-B39B-1CF42438215A_d0e21325_href.png" placement="inline"/>
+<image href="GUID-C253D792-7470-5D9F-B39B-1CF42438215A_d0e23292_href.png" placement="inline"/>
 </fig></context>
 <steps-unordered>
 <step id="GUID-85270875-54F4-4212-85C6-7F452EA12C02"><cmd><xref href="GUID-55A6DA94-FAE6-442D-BBA8-82F92D4C63F2.dita">Creating
Binary file Symbian3/PDK/Source/GUID-D48AD74E-FF0E-502F-961C-CAD0516B3BA9_d0e559314_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D48AD74E-FF0E-502F-961C-CAD0516B3BA9_d0e566770_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D492CF6C-F889-4299-AC75-951EF343AC9F_d0e3010_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D492CF6C-F889-4299-AC75-951EF343AC9F_d0e3020_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D4AA635F-DF24-541A-A452-192DDBEE4142.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D4AA635F-DF24-541A-A452-192DDBEE4142.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-D4AA635F-DF24-541A-A452-192DDBEE4142"><title>Processes and Data Flow</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The following figure shows the processes and data flow in the Messaging subsystem on a secured Symbian platform. </p> <fig id="GUID-FEB183B1-C977-51A5-A109-311260311B1E"><title>
           Processes and dataflow in the Messaging subsystem 
-        </title> <image href="GUID-4DBE998D-9699-5770-8182-929FDCAA7E26_d0e477601_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-4DBE998D-9699-5770-8182-929FDCAA7E26_d0e483430_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D520CBC3-FCAC-5A53-AE1A-E5254ABBC6A2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D520CBC3-FCAC-5A53-AE1A-E5254ABBC6A2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -13,6 +13,6 @@
 platform Memory Map</title><shortdesc>Reference for users of the debug monitor tool to the Symbian platform
 memory map for the moving memory model.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <section id="GUID-A5845A0C-2C88-52BB-B7DE-210C2DE481B9"><title>Moving model</title> <fig id="GUID-5235CD78-B320-54DE-A349-D8564B2CCE32">
-<image href="GUID-8F78705E-CD82-5039-A7CB-7C963F7FBA83_d0e296533_href.png" placement="inline"/>
+<image href="GUID-8F78705E-CD82-5039-A7CB-7C963F7FBA83_d0e302525_href.png" placement="inline"/>
 </fig> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB" xml:lang="en"><title>Floating
-point support</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>ARM provide a hardware floating point coprocessor that provides floating
-point computation that is fully compliant with IEEE Std 754-1985. This is
-an implementation of the ARM Vector Floating Point Architecture (VFPv2). We
-refer to the coprocessor as the <i>VFP unit</i>. </p>
-<p>Symbian platform supports the use of VFPv2 on platforms where the required
-hardware is present in both <i>RunFast</i> mode and in <i>IEEE-without-exceptions</i> mode.
-See ARM's Vector Floating-point Coprocessor Technical reference Manual for
-more details on the coprocessor, its architecture, and its execution modes. </p>
-<p>Note that Symbian platform does not support floating point exceptions in
-any mode. </p>
-<ul>
-<li id="GUID-4427B5C6-BB5D-5166-8E29-05E7744B8091"><p><xref href="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita#GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB/GUID-00C045C3-2760-56E0-A8BB-F4D23E0230F2">Using the Vector Floating Point Architecture (VFP) in an application</xref>  </p> </li>
-<li id="GUID-B3845C41-B553-54A8-87ED-3B439DCF2F2D"><p><xref href="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita#GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB/GUID-7E2C76D4-8511-528C-9FA5-ED64F93175A0">Run time check for hardware floating point</xref>  </p> </li>
-<li id="GUID-E71E5EBA-6421-5EBA-8C93-0F31F445C79B"><p><xref href="GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.dita#GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB/GUID-AE954A2C-1E16-5361-A464-9FD2FFFEA40A">Execution modes</xref>  </p> </li>
-</ul>
-<section id="GUID-00C045C3-2760-56E0-A8BB-F4D23E0230F2"><title>Using the Vector
-Floating Point Architecture (VFP) in an application</title> <p>An application
-can use VFP in two ways: </p> <ul>
-<li id="GUID-A92CC6A6-7C06-569B-9A7B-1BECF7795F9D"><p>indirectly through the
-use of floating point support functions. </p> </li>
-<li id="GUID-7B5D5A48-5479-577A-A611-74B5E872C01A"><p>directly in its code,
-either generated by the compiler, or hand-written in assembler. </p> </li>
-</ul> <p><b>Indirect use</b> </p> <p>By default, all applications are built
-to use the floating point support functions. </p> <p>On a device without a
-VFP unit, floating point support functions are implemented in software and
-operate slowly. On a device with a VFP unit, the floating point support functions
-are handled by the VFP unit, and operate faster than when implemented in software. </p> <p>Note
-that applications do not need to make any changes to take advantage of VFP-enabled
-floating point support functions, if they are provided in the device's ROM.
-Such functions are used automatically at run time. </p> <p><b>Direct use</b> </p> <p>To
-generate VFP <i>specific</i> code at <i>compile</i> time, you need to add
-the <xref href="GUID-947317B7-7E12-509B-9A16-F0604D7F8BA2.dita">armfpu</xref> statement
-with the <codeph>vfpv2</codeph> keyword into your <filepath>.mmp</filepath> file: </p> <codeblock id="GUID-F7480C2F-1DF9-554B-BB36-4A02D8D72697" xml:space="preserve">armfpu vfpv2</codeblock> <p>On
-a device with a VFP unit, this option results in code that runs faster than
-the floating point support functions generated by <codeph>armfpu         
-    softvfp</codeph>. Note, however, that binaries generated with VFP specific
-code do not work on devices without a VFP unit - any call to VFP specific
-code results in a KERN-EXEC 3 panic. </p> <p>On those devices that have a
-VFP unit, the functions supplied in the <xref href="GUID-1DB7AE7A-A505-3530-AC2B-EBAEFCD3F36A.dita"><apiname>Math</apiname></xref> class, that
-perform trigonometric and transcendental operations may also be implemented
-using VFP specific code. This is transparent to application code. </p> </section>
-<section id="GUID-7E2C76D4-8511-528C-9FA5-ED64F93175A0"><title>Run time check
-for hardware floating point</title> <p>An application can find out at run
-time whether a device supports hardware floating point by calling <xref href="GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8.dita#GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8/GUID-573C49D6-7763-37AE-B2B2-4C8FB1327E21"><apiname>HAL::Get()</apiname></xref>,
-using the <xref href="GUID-6476C061-E2DB-3167-8556-DAECEE8EB82A.dita"><apiname>EHardwareFloatingPoint</apiname></xref> attribute. The following
-code fragment shows how you would do this: </p> <codeblock id="GUID-821A924B-9898-5E2B-A65C-C2D270B296CF" xml:space="preserve">...
-TInt supportedFp;
-
-TInt HalVfp = HAL::Get(HALData::EHardwareFloatingPoint, supportedFp);
-if (HalVfp == KErrNone &amp;&amp; (supportedFp &amp; EFpTypeVFPv2))
-    {
-    // HAL says that we have a VFP unit
-    ...
-    }
-else
-    {
-    // HAL says that we do NOT have a VFP unit
-    ...
-    }
-...        
-    </codeblock> <p>Note that, strictly speaking, the return value from <xref href="GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8.dita#GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8/GUID-573C49D6-7763-37AE-B2B2-4C8FB1327E21"><apiname>HAL::Get()</apiname></xref> indicates
-whether or not the attribute is supported. To deduce whether hardware floating
-point is supported by the device, the following logic applies: </p> <ul>
-<li id="GUID-30F1BC25-CF7A-590A-B2C3-F361C7AD8DA4"><p>If the Hardware Abstraction
-Layer (HAL) does not support the <xref href="GUID-6476C061-E2DB-3167-8556-DAECEE8EB82A.dita"><apiname>EHardwareFloatingPoint</apiname></xref> attribute,
-then <xref href="GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8.dita#GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8/GUID-573C49D6-7763-37AE-B2B2-4C8FB1327E21"><apiname>HAL::Get()</apiname></xref> returns <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref>.
-This can be interpreted as meaning that the device does not support hardware
-floating point. </p> </li>
-<li id="GUID-DDCB753F-E958-53E4-BC36-66C22162AD3B"><p>If the HAL does support
-the <xref href="GUID-6476C061-E2DB-3167-8556-DAECEE8EB82A.dita"><apiname>EHardwareFloatingPoint</apiname></xref> attribute, then <xref href="GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8.dita#GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8/GUID-573C49D6-7763-37AE-B2B2-4C8FB1327E21"><apiname>HAL::Get()</apiname></xref> returns <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref>.
-In this case the <xref href="GUID-7A2A43EC-6125-3BFE-834B-23C37F7B40D5.dita"><apiname>TInt</apiname></xref> variable <codeph>supportedTypes</codeph> in
-the above example code fragment will contain an enum value of type <xref href="GUID-CA12EA77-2DBA-3214-8E62-0D7A51913DE3.dita"><apiname>TFloatingPointType</apiname></xref> describing
-the type of hardware floating point supported. If hardware floating point
-is supported, then currently, this can only be ARM Vector Floating Point Architecture
-(VFPv2) as indicated by the <xref href="GUID-6416724B-8537-3A01-893F-88C5E7130CE7.dita"><apiname>EFpTypeVFPv2</apiname></xref> enum value. </p> </li>
-</ul> </section>
-<section id="GUID-AE954A2C-1E16-5361-A464-9FD2FFFEA40A"><title>Execution modes</title> <p>Symbian
-platform can support the two execution modes: <codeph>RunFast</codeph> and <codeph>IEEE-without-exceptions</codeph>. </p> <table id="GUID-6BAE9BC4-8961-54CE-9CFF-477392DF53A7">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p> <codeph>RunFast</codeph>  </p> </entry>
-<entry><p>In this mode, denormalised numbers, i.e. those outside the range
-of normal floating point values, are treated as zero, and a default <codeph>NaN</codeph> (<i>Not
-a Number</i>) value is used for all <codeph>NaN</codeph> situations regardless
-of the inputs. </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>IEEE-without-exceptions</codeph>  </p> </entry>
-<entry><p>In this mode, denormalised numbers are treated as their actual values,
-and the IEEE754-mandated values for <codeph>NaN</codeph> s are used. </p> <p>The
-floating point model mandated by the Java specification is identical to this
-mode, and means that this mode is sufficient to implement a VFP-accelerated
-JVM. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> <p>An application can set (and check) the execution mode at run time
-by calling <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-79902CB3-FD04-3F31-8196-995B004CF116"><apiname>User::SetFloatingPointMode()</apiname></xref>, and passing one
-of the <xref href="GUID-C71880A1-308E-36B6-BBAC-232513868921.dita"><apiname>TFloatingPointMode</apiname></xref> enum values, which represent
-the possible modes. </p> <p>The function can still be used even if hardware
-floating point is not supported. In this case it returns <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref>. </p> <p>Applications
-that do not require <codeph>NaN</codeph> values to be as specified by IEEE754
-and are not concerned with accuracy when dealing with very small (denormalised)
-quantities, can select <codeph>RunFast</codeph> mode for a possible performance
-increase. Games or 3D engines are likely to fall into this category. Applications
-that require accurate IEEE754 interpretations, such as the JVM, can explicitly
-select <codeph>IEEE-without-exceptions</codeph> mode, and if this fails as
-being unsupported, refuse to run. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,33 +9,31 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A" xml:lang="en"><title>Creating
-resource header files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Typically when you create an application, there are cases where you
-need to create an enumerated set of command IDs (which are symbols with integer
-values). These defined symbols can then be used in both your code and resource
-files. Common examples of these cases, include:</p>
+<concept id="GUID-D52E98C3-F5EE-4CE1-A4F5-2EF41A066B8A" xml:lang="en"><title>Creating resource header files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Typically when you create an application, there are cases where
+you need to create an enumerated set of command IDs (which are symbols
+with integer values). These defined symbols can then be used in both
+your code and resource files. Common examples of these cases, include:</p>
 <ul>
-<li><p>Custom command IDs used for mapping mobile device user input
-based upon <parmname>Options</parmname> menu selections to command handling.
-These custom command IDs are mapped to the text displayed for the command
-in the <parmname>Options</parmname> menu in resource files, and then are passed
-back to the application by the application framework.</p></li>
-<li><p>Control IDs in dialogs to allow references to the dialog
-controls from C++ code.</p>
+<li><p>Custom command IDs used for mapping mobile device
+user input based upon <parmname>Options</parmname> menu selections
+to command handling. These custom command IDs are mapped to the text
+displayed for the command in the <parmname>Options</parmname> menu
+in resource files, and then are passed back to the application by
+the application framework.</p></li>
+<li><p>Control IDs in dialogs to allow references to the
+dialog controls from C++ code.</p>
 <itemgroup>
-<p>For more information on control IDs for dialogs, see <xref format="html" href="specs/guides/Dialogs_API_Specification/Dialogs_API_Specification.html#Dialogs_API_Specification.topic3" scope="external">Using
-Dialogs API</xref>.</p>
+<p>For more information on control IDs for dialogs, see <xref format="html" href="specs/guides/Dialogs_API_Specification/Dialogs_API_Specification.html#Dialogs_API_Specification.topic3" scope="external">Using Dialogs API</xref>.</p>
 </itemgroup>
 </li>
-<li><p>Application view IDs. Note that these could also be enumerated
-in the header files for the views.</p></li>
-<li><p>IDs for other resource structures, such as for <parmname>TABS</parmname> in
-the status pane.</p></li>
+<li><p>Application view IDs. Note that these could also
+be enumerated in the header files for the views.</p></li>
+<li><p>IDs for other resource structures, such as for <parmname>TABS</parmname> in the status pane.</p></li>
 </ul>
-<p>These enumerated values need to be defined in a resource file, which
-by convention has the extension <parmname>hrh</parmname>, The syntax is as
-follows:</p>
+<p>These enumerated values need to be defined in a resource file,
+which by convention has the extension <parmname>hrh</parmname>, The
+syntax is as follows:</p>
 <codeblock id="GUID-2CDD719A-48CA-47EF-A737-7CCB62DF6FC6" xml:space="preserve">enum TCommandIds
     {
     ECmdAppTest1 = 1,
@@ -49,28 +47,27 @@
     };</codeblock>
 <p>where</p>
 <ul>
-<li><p><parmname>enum</parmname> is the keyword declaration the
-set of integer values. </p>
+<li><p><parmname>enum</parmname> is the keyword declaration
+the set of integer values. </p>
 <note>
 <p>Use this keyword for each set of enumerated values you defined.</p>
 </note>
 </li>
-<li><p><parmname>TCommandIds</parmname> is a label for the list
-of enumerated values. This label is not used in the code or resource files.</p>
-</li>
-<li><p><parmname>ECmdAppTest1</parmname> is a symbol that can be
-used in your code or resource files.</p></li>
-<li><p><parmname>=</parmname> is the operator used for setting the
-value to the symbol.</p></li>
-<li><p><parmname>1</parmname> is the specific value assigned to
-the enumerator symbol.</p></li>
+<li><p><parmname>TCommandIds</parmname> is a label for the
+list of enumerated values. This label is not used in the code or resource
+files.</p></li>
+<li><p><parmname>ECmdAppTest1</parmname> is a symbol that
+can be used in your code or resource files.</p></li>
+<li><p><parmname>=</parmname> is the operator used for setting
+the value to the symbol.</p></li>
+<li><p><parmname>1</parmname> is the specific value assigned
+to the enumerator symbol.</p></li>
 </ul>
-<p>Each enumerator is followed by a comma (<codeph>,</codeph>) except for
-the last value. It is recommended to have a final semi colon (<codeph>;</codeph>)
-after the enumerated list. If a specific value is not assigned to a symbol
-in the enumerated list, then the value is that of the previous enumerator
-plus one. Thus, the value for <parmname>ECmdView1Cmd1</parmname> above is
-2.</p>
-<p>For more information about the use of the <parmname>enum</parmname> statement,
-see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format-ENUM.html#DevTools%2dref%2erss%2denum" format="application/java-archive">ENUM statement</xref>.</p>
+<p>Each enumerator is followed by a comma (<codeph>,</codeph>)
+except for the last value. It is recommended to have a final semi
+colon (<codeph>;</codeph>) after the enumerated list. If a specific
+value is not assigned to a symbol in the enumerated list, then the
+value is that of the previous enumerator plus one. Thus, the value
+for <parmname>ECmdView1Cmd1</parmname> above is 2.</p>
+<p>For more information about the use of the <parmname>enum</parmname> statement, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format-ENUM.html#DevTools%2dref%2erss%2denum" format="application/java-archive">ENUM statement</xref>.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D5358527-5E6F-5158-8BCB-F9D74DB9B354.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D5358527-5E6F-5158-8BCB-F9D74DB9B354"><title>wcharentrypoint</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>wcharentrypoint</codeph>  </p> <p>Use <codeph>wcharentrypoint</codeph> statement to specify that the entry point for a standard EXE is wide character (<codeph>wmain</codeph>). Otherwise, the default entry point for a standard EXE is narrow character (<codeph>main</codeph>). </p> <p>This enables the toolchain to include either of the following libraries based on the type of entry point: </p> <ul><li id="GUID-6FA8A633-5B6A-5581-8C0A-2B858DFC267E"><p> <filepath>libcrt0.lib</filepath> — To support the narrow character entry point, if <codeph>wcharentrypoint</codeph> statement is not included in the <filepath>.mmp</filepath> file. </p> </li> <li id="GUID-984A3194-01D8-54D8-84F1-71ABC98CEA42"><p> <filepath>libwcrt0.lib</filepath> — To support the wide character entry point, if <codeph>wcharentrypoint</codeph> statement is included in the <filepath>.mmp</filepath> file. </p> </li> </ul> <p>The <codeph>wcharentrypoint</codeph> statement is supported only on ARM ABI and Symbian emulator compliant platforms, such as, <codeph>ARMv5</codeph>, <codeph>ARMv5_ABIv2</codeph>, <codeph>GCCE</codeph> and <codeph>WINSCW</codeph>. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -64,7 +64,7 @@
 it must provide a callback pointer of the <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>MHWRMVibraObserver</apiname></xref> implementing
 class for the <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>NewL()</apiname></xref> method. </p> <fig id="GUID-95D74CC2-CEDD-569B-8B34-A47FDA4F8DE0">
 <title>              Vibra API Interfaces            </title>
-<image href="GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e156006_href.jpg" placement="inline"/>
+<image href="GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e162107_href.jpg" placement="inline"/>
 </fig> </section>
 <section id="GUID-B20AA3A6-94BB-4723-90F2-73B5192C7C78"><title>Tactile vibration feedback</title> <p>Tactile vibration is
 used in many touch screen devices to provide vibration feedback to the user
--- a/Symbian3/PDK/Source/GUID-D553D41C-D724-510A-A239-66CC158D6984.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D553D41C-D724-510A-A239-66CC158D6984"><title>nostdcpp</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>nostdcpp</codeph>  </p> <p>This keyword must be included in the project specification file (<filepath>.mmp</filepath>) to build a standard target (<codeph>STDEXE</codeph>, <codeph>STDDLL</codeph>, and <codeph>STDLIB</codeph>) using the Symbian C++ semantics for global <codeph>new</codeph> operator. To know how the global <codeph>new</codeph> operator is handled in standard C++ and Symbian C++, refer to <xref href="GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita"> Standard C++ Library</xref> in the <xref href="GUID-E2DE2C6F-E071-5E88-96F1-D71DDED84609.dita">Generic Open Libraries (P.I.P.S.)</xref>. </p> <p>By default all standard targets use the standard C++ semantics for global <codeph>new</codeph> operator. </p> <p> <b>Note:</b> If an <filepath>.mmp</filepath> file includes both <codeph>nostdcpp</codeph> and <codeph>stdcpp</codeph> keywords, the build system will ignore the keywords and use the standard C++ semantics to build the target. </p> <section><title>See also</title> <p><xref href="GUID-809D428D-5BF6-57FF-952D-2FDF88E50833.dita">stdcpp</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D5707217-DE3F-551D-82C9-C82D3047D90E_d0e462644_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D5707217-DE3F-551D-82C9-C82D3047D90E_d0e468489_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D5984540-A411-52ED-B435-94C67F34ADD5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D5984540-A411-52ED-B435-94C67F34ADD5" xml:lang="en"><title>How
-to Enable Tracing</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Enabling a trace means that the trace adds trace packets to the output.
-A disabled trace adds no trace packets to the output. There are two options
-to enable tracing in the source code or component, depending on the tracing
-requirement. </p>
-<section><title>Enabling traces during build-time</title> <p>To enable tracing
-at build-time, the Instrumentor has to include the <codeph>#define SYMBIAN_TRACE_ENABLE</codeph> flag
-in the relevant source code (file) of the project. If it is not included,
-all traces will be excluded at the build time and it will not be possible
-for a Trace Collector to gather any trace information regardless of the filter
-settings in trace configuration tool. </p> <p>If the requirement is to enable
-tracing in all the files in an executable, the Instrumentor can achieve this
-by adding <codeph>MACRO           SYMBIAN_TRACE_ENABLE</codeph> to the MMP
-file of the project. </p> </section>
-<section><title>Enabling traces during run-time</title> <p>To enable tracing
-at run-time, the Instrumentor has to have enabled traces at the build-time.
-That is, if the traces are enabled at build-time, the Trace Collector can
-enable or disable any traces at run-time. But if the traces for a particular
-component are disabled at build-time, the Trace Collector cannot enable them
-at run-time. </p><p><b>Considerations</b></p><p>Before enabling trace points,
-the Trace Collector has to consider the  following two options of outputting
-traces:</p><ul>
-<li><p><b>Outputting all traces from a component or a set of components:</b> After
-the traces have been enabled at build time by the Instrumentor, the Trace
-Collector will be able to generate the trace packets when the instrumented
-component is executed, provided the trace configuration tool is configured
-to filter in all of these traces. </p></li>
-<li><p><b>Outputting some of the traces (subset) from one or more components:</b> The
-Trace Collector can achieve this by enabling or disabling the predefined primary
-and secondary filter combination used within the instrumented component. </p><p>The
-Trace Collector is able to turn on any combination of filters for a component,
-according to the scenarios presented in the Relationship between primary and
-secondary filters section in <xref href="GUID-715D065D-4FF7-55D0-882E-3B37F36369C4.dita#GUID-715D065D-4FF7-55D0-882E-3B37F36369C4/GUID-A7E551D1-DED5-5BC7-A19F-523B65B2AE00">Key
-concepts and terms</xref>. </p></li>
-</ul> </section>
-</conbody><related-links>
-<link href="GUID-AFB1F350-C5D3-5495-AE20-1AA6888B6FB1.dita"><linktext>How to insert
-trace points in a component</linktext></link>
-</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D5A05EE7-5559-55CC-A839-478B4F513CE4_d0e265187_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D5A05EE7-5559-55CC-A839-478B4F513CE4_d0e271187_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D5A6A5C9-A959-5CE7-AF45-43DA7D8B2EFF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D5A6A5C9-A959-5CE7-AF45-43DA7D8B2EFF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-D5A6A5C9-A959-5CE7-AF45-43DA7D8B2EFF"><title>Introduction to Pictures</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A <i>picture</i> is an object which can be drawn to a <keyword>graphics context</keyword> and can be stored and restored. A picture is stored, together with its picture header, in any type of store using a storemap. </p> <fig id="GUID-D5BD3843-5498-5B3B-A4D7-A76630CC185A"><title>
           Relationship between picture headers and pictures in a store 
-        </title> <image href="GUID-47587124-66D8-5128-BDBB-AF190E67CAF5_d0e260304_href.png" placement="inline"/></fig> <p>A picture can thus be any object which draws an image — be it a bitmap or a set of graphic commands. </p> <p>Additionally, two common desirable facilities for a picture to have are: </p> <ul><li id="GUID-31BB52AE-3EB8-5A1E-9699-389E7EEBC8E1"><p>the ability to be cropped </p> </li> <li id="GUID-1FEE0BDD-9FC7-59C1-9A67-6E9D8F4214A7"><p>the ability to be scaled </p> </li> </ul> <p>Scaling can be done in one of three ways: </p> <ul><li id="GUID-7F1DDD78-179B-55F0-A335-4D3D89D95111"><p>by specifying percentage scale factors for the width and height </p> </li> <li id="GUID-A6515AC1-0F68-53E6-8B8E-A78D9FDAA148"><p>by specifying the picture size in pixels </p> </li> <li id="GUID-A783EEE7-F1EE-5264-9CE3-949733013C79"><p>by specifying the picture size in twips </p> </li> </ul> <p>Cropping can be done in two ways: </p> <ul><li id="GUID-9DF0397E-406E-50C7-B139-F8562EB07209"><p>by specifying a set of margins in twips </p> </li> <li id="GUID-C8E978E6-FC73-596C-A0CE-CD3F29B969A3"><p>by specifying a further set of margins in pixels, for additional cropping </p> </li> </ul> <p>The drawing operation positions and draws the scaled and cropped picture on the graphics device. </p> <fig id="GUID-C2AB291D-63B5-5FD4-ADB8-DA2E5D33E488"><title>
+        </title> <image href="GUID-47587124-66D8-5128-BDBB-AF190E67CAF5_d0e266313_href.png" placement="inline"/></fig> <p>A picture can thus be any object which draws an image — be it a bitmap or a set of graphic commands. </p> <p>Additionally, two common desirable facilities for a picture to have are: </p> <ul><li id="GUID-31BB52AE-3EB8-5A1E-9699-389E7EEBC8E1"><p>the ability to be cropped </p> </li> <li id="GUID-1FEE0BDD-9FC7-59C1-9A67-6E9D8F4214A7"><p>the ability to be scaled </p> </li> </ul> <p>Scaling can be done in one of three ways: </p> <ul><li id="GUID-7F1DDD78-179B-55F0-A335-4D3D89D95111"><p>by specifying percentage scale factors for the width and height </p> </li> <li id="GUID-A6515AC1-0F68-53E6-8B8E-A78D9FDAA148"><p>by specifying the picture size in pixels </p> </li> <li id="GUID-A783EEE7-F1EE-5264-9CE3-949733013C79"><p>by specifying the picture size in twips </p> </li> </ul> <p>Cropping can be done in two ways: </p> <ul><li id="GUID-9DF0397E-406E-50C7-B139-F8562EB07209"><p>by specifying a set of margins in twips </p> </li> <li id="GUID-C8E978E6-FC73-596C-A0CE-CD3F29B969A3"><p>by specifying a further set of margins in pixels, for additional cropping </p> </li> </ul> <p>The drawing operation positions and draws the scaled and cropped picture on the graphics device. </p> <fig id="GUID-C2AB291D-63B5-5FD4-ADB8-DA2E5D33E488"><title>
           The relationships between the picture classes 
-        </title> <image href="GUID-72F24867-8D67-5BD1-A8C4-93FC7A4290FC_d0e260366_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-5CEE36FC-C5A9-5C4E-9DBC-9C7B5B44EA2F.dita"><linktext>Picture Concepts</linktext> </link> <link href="GUID-520AC2F0-009E-51F3-A661-3B6E949F1423.dita"><linktext>Picture Tutorials</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-72F24867-8D67-5BD1-A8C4-93FC7A4290FC_d0e266375_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-5CEE36FC-C5A9-5C4E-9DBC-9C7B5B44EA2F.dita"><linktext>Picture Concepts</linktext> </link> <link href="GUID-520AC2F0-009E-51F3-A661-3B6E949F1423.dita"><linktext>Picture Tutorials</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D5AB2689-44B7-5E81-888A-48C622AAE21B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D5AB2689-44B7-5E81-888A-48C622AAE21B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -54,6 +54,6 @@
 </ul> </section>
 <section id="GUID-BE71538C-3228-4419-A4C4-E9127DC2873D"><title> Summary of class hierarchy of the classes used </title> <fig id="GUID-AE7AA305-82B4-5BD3-87BF-A3E3D61F2DD1">
 <title>              Key Classes            </title>
-<image href="GUID-6C2A9928-5E5D-5F41-89C1-49C0EF14F900_d0e171043_href.png" placement="inline"/>
+<image href="GUID-6C2A9928-5E5D-5F41-89C1-49C0EF14F900_d0e177111_href.png" placement="inline"/>
 </fig> <p> <b>Service Support</b>  </p> <p> <xref href="GUID-2E824A1A-078A-3D43-8B49-DF6328330B51.dita"><apiname>RApaAppServiceBase</apiname></xref> -&gt; <xref href="GUID-92F2DA99-0954-3399-9005-F3E817CB7E72.dita"><apiname>REikAppServiceBase</apiname></xref> -&gt; <codeph>RServAppService</codeph>  </p> <p> <xref href="GUID-90450078-D05F-3EEB-8A5E-B7110943DD33.dita"><apiname>CApaAppServiceBase</apiname></xref> -&gt; <codeph>CServAppSession</codeph>  </p> <p> </p> <p> <b>Server Application</b>  </p> <p> <xref href="GUID-A056179D-64B3-3674-92F5-DE9B7749D450.dita"><apiname>CApaAppServer</apiname></xref> -&gt; <xref href="GUID-F51AEC8F-2D7B-34AB-B2DE-E151D10263D1.dita"><apiname>CEikAppServer</apiname></xref> -&gt; <codeph>CServAppServer</codeph>  </p> <p> <codeph>CServAppSession</codeph> -&gt; <codeph>CMinimalSession</codeph>  </p> <p> <xref href="GUID-C0297A58-2E39-3211-A2B4-C334192CE2A7.dita"><apiname>CApaApplication</apiname></xref> -&gt; <xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref> -&gt; <codeph>CExampleApplication</codeph>  </p> <p> <xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref> -&gt; <codeph>CExampleDocument</codeph>  </p> <p> <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref> -&gt; <codeph>CExampleAppUi</codeph>  </p> <p> <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref> -&gt; <codeph>CExampleAppView</codeph>  </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D5DC22F5-8891-5377-BE54-61FD72046237_d0e607383_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D5DC22F5-8891-5377-BE54-61FD72046237_d0e646545_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -77,7 +77,7 @@
 (audio or video device drivers) for playback or recording using <b>Multimedia
 Framework</b>. </p> <fig id="GUID-CF002BDE-3759-5603-AC5C-546ADC4DAA86">
 <title>              CAF Streaming Support Architecture            </title>
-<image href="GUID-DF14773D-6A2E-5FAD-A1CC-5D54E53BEA2E_d0e618485_href.png" placement="inline"/>
+<image href="GUID-DF14773D-6A2E-5FAD-A1CC-5D54E53BEA2E_d0e590591_href.png" placement="inline"/>
 </fig> <p>For information about the set-up and tear down of streaming session,
 see <xref href="GUID-DD95C4FA-B044-5A0E-A556-C7171AEFED8E.dita">Streaming Session
 Sequence</xref>. </p> </section>
@@ -117,7 +117,7 @@
 (MMF controller), must use <xref href="GUID-EE67D14D-1011-3B27-ADEC-C6C192339903.dita"><apiname>CKeyStreamDecoder</apiname></xref>. The figure
 below shows the key classes of CAF streaming agent. </p> <fig id="GUID-5A9F3FAB-E8FC-53B4-B71B-1D2A616E89BA">
 <title>              Class diagram            </title>
-<image href="GUID-3FEA5BE8-C306-587F-8CCC-E4619DE7183A_d0e618617_href.png" placement="inline"/>
+<image href="GUID-3FEA5BE8-C306-587F-8CCC-E4619DE7183A_d0e590723_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Typical uses</title> <p>CAF Streaming Support provides interfaces
 to create an ECom based streaming agent. A streaming player middleware such
--- a/Symbian3/PDK/Source/GUID-D62A0234-348C-5553-B8C0-7B483AF9D50C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D62A0234-348C-5553-B8C0-7B483AF9D50C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,13 +26,13 @@
 a mutex and vests ownership of the handle in the thread. </p>
 <fig id="GUID-5A22F71B-C146-53A9-B8A4-51D79D4EF668">
 <title>Thread-relative handle</title>
-<image href="GUID-7B589949-2784-5B77-959E-99F8733A8853_d0e332332_href.png" placement="inline"/>
+<image href="GUID-7B589949-2784-5B77-959E-99F8733A8853_d0e338304_href.png" placement="inline"/>
 </fig>
 <p>Compare with the following case where ownership of the mutex handle is
 vested in the process.</p>
 <fig id="GUID-6C60BB64-AE7B-5B46-983B-D6D65D8AB41C">
 <title>Process-relative handle</title>
-<image href="GUID-47511301-DFF9-52B0-9602-DD9D293D3044_d0e332343_href.png" placement="inline"/>
+<image href="GUID-47511301-DFF9-52B0-9602-DD9D293D3044_d0e338315_href.png" placement="inline"/>
 </fig>
 <p>In both cases, the mutex object is added to the appropriate Kernel container
 which can be considered as the owner of the object.</p>
--- a/Symbian3/PDK/Source/GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,125 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D"><title>Audio Client Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides an overview of the Audio Client. </p> <section><title>Purpose</title> <p>The Audio Client provides an interface to: </p> <ul><li id="GUID-E1752C25-893D-5859-A9B7-C527AC115044"><p>Play back, record, and convert sound clips. </p> </li> <li id="GUID-5AF02D1B-25A9-59F0-B57B-7F0CAE7EB07D"><p>Play tone sequences and DTMF (Dual-Tone Multi-Frequency) strings. </p> </li> </ul> <p><b>Audio Client Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-28BCAB7A-147C-5519-8833-62ACA430C4D3"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <b>mediaclientaudio.dll</b>  </p> </entry> <entry><p> <b>mediaclientaudio.lib</b>  </p> </entry> <entry><p>These files are used for implementing the Audio Client. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>The methods for recording, converting, and playing audio clips or tones interact with the lower levels of MMF (known as the controller framework). The controller framework is in turn responsible for managing the interface to audio hardware. On some phones, this is implemented as a device driver; on others it may be implemented as a connection to a lower level hardware controller. </p> <p>Clients using any of the <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>, <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>, <xref href="GUID-778D24B5-A68E-3C91-B66A-69007FBA4791.dita"><apiname>CMdaAudioPlayerUtility</apiname></xref> or <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> classes must have an active scheduler running in their thread because the implementations use active objects and callbacks. </p> <p>How the tone player class interacts with other components of MMF is shown below. </p> <fig id="GUID-8273BE86-D5F9-528F-9147-0C0C58D9ABCD"><title>
-             Audio tone player overview 
-          </title> <image href="GUID-4F879832-8425-5C56-B3FE-4C4592EBB6A5_d0e514747_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p><b>Audio Playing, Recording, and Conversion</b> </p> <p>All three of the audio classes are plugin based, leaving the list of supported audio formats for input and output open ended. The audio file formats supported as standard by MMF are: AU, WAV and raw audio data. Each file format may support one or more compression algorithms (codecs). The standard file formats and corresponding codecs are shown below: </p> <table id="GUID-058548B8-0DEF-5E61-B9A1-6FEC07DCAA8A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Audio file format</entry> <entry>Codecs supported</entry> </row> </thead> <tbody><row><entry><p>AU </p> </entry> <entry><p>A-Law, mu-law, signed 16 bit PCM big-endian, signed 8 bit PCM </p> </entry> </row> <row><entry><p>WAV </p> </entry> <entry><p>IMA-ADPCM, A-Law, mu-law, unsigned 8 bit PCM, gsm 6.10, signed 16 bit PCM </p> </entry> </row> <row><entry><p>raw data </p> </entry> <entry><p>Signed big-endian 16 bit PCM, signed 16 bit PCM, unsigned 16 bit PCM </p> </entry> </row> </tbody> </tgroup> </table> <p>Input and output audio data can be of any format supported by the installed plugins. When possible MMF uses a plugin resolver to determine the format and codecs to use. It determines this by checking the filename extension and reading any header data that may be present in the audio clip. The plugin resolver cannot determine the format and codecs to use for raw audio, so in such cases you must specify this information yourself. A full list of supported plugins can be retrieved by using <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita#GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688/GUID-D0456E01-109E-3C93-949D-0452B09E886F"><apiname>CMdaAudioConvertUtility::GetSupportedDestinationDataTypesL()</apiname></xref>. </p> <p> <b> Note:</b> All audio clips can be uniquely identified for purposes of plugin assignment by their format (gsm z6.10, AU, WAV and so on) and their codec (for example for AU, valid codecs include A-Law, mu-law, signed 16 bit PCM big-endian, signed 8 bit PCM). Each format and codec has an arbitrary ID assigned to it by MMF and its associated plugin, for use with the "Open" functions of both <codeph>CMdaAudioConvertUtility</codeph> and <codeph>CMdaAudioRecorderUtility</codeph>. </p> <p id="GUID-B99776D8-B713-5C18-AB32-3BF13EDDFEBB"><b>Tone Playing</b> </p> <p>The Audio Client provide a simple interface for tone generation (synthesized sounds) that enables the playing of tone sequences and DTMF (Dual-Tone Multi-Frequency) strings. The tone player functionality is provided by the <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> class and using this class you can play: </p> <ul><li id="GUID-5B1FD304-5905-5F3A-97C6-237A59F911A1"><p>Single tones of a specified duration and frequency. </p> </li> <li id="GUID-6CD5A5D6-8659-5DDB-B773-1513C663E4F6"><p>DTMF strings. </p> </li> <li id="GUID-9F98BD96-C5F6-5100-96FB-EA8396AE0364"><p>Sequences of tones held in files or descriptors. </p> </li> <li id="GUID-B27D9870-E9AE-5280-A144-E4C24AA91E09"><p>Predefined (fixed) sequences of tones held in the mobile equipment. </p> </li> </ul> </section> <section><title>Key Audio Client Classes</title> <p>The functionality provided by the Audio Client is contained within the following classes: </p> <ul><li id="GUID-0EF967E4-CFE1-5528-9EAB-BA0A2E71C6D3"><p> <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>  </p> </li> <li id="GUID-93D94E92-E9E6-523B-9C4B-02DF91D9976E"><p> <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>  </p> </li> <li id="GUID-CBD9AF2F-BB55-5D03-A87B-A7A23AAA4CD5"><p> <xref href="GUID-778D24B5-A68E-3C91-B66A-69007FBA4791.dita"><apiname>CMdaAudioPlayerUtility</apiname></xref>  </p> </li> <li id="GUID-3B16D9CB-B192-548F-B096-5BA7B0E89344"><p> <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> </ul> </section> <section><title>Using the Audio Client</title> <p>Clients can use the Audio Client to: </p> <ul><li id="GUID-AB6FC77A-FD23-55F0-9A07-916D388CE19D"><p>Manipulate audio sources and sinks, add, retrieve and modify meta data and record audio data to files or descriptors. </p> </li> <li id="GUID-8557E211-D6E7-59FF-AE63-939A0BCBF3C4"><p>Convert audio clips contained in files or descriptors to other formats using the default codecs provided by MMF. </p> </li> <li id="GUID-E9D2FB84-0CF1-5873-BC5B-005869025A91"><p>Play audio clips contained in files, descriptors or URLs. </p> </li> <li id="GUID-C3C75693-4113-5684-9643-2C6DC1A5BCB0"><p>Play single tones, DTMF strings and tone sequences. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita">How to use the audio convert utility</xref>  </p> <p><xref href="GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita">How to use the audio player utility</xref>  </p> <p><xref href="GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita">How to use audio recorder utility</xref>  </p> <p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita">How to use the audio tone player utility</xref>  </p> <p><xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<concept id="GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D" xml:lang="en"><title>Audio Client Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This document provides an overview of the Audio Client. </p>
+<section id="GUID-DBB3FA4E-B6E7-4545-8C15-F58DE69780DA"><title>Purpose</title> <p>The Audio Client provides an interface
+to: </p> <ul>
+<li id="GUID-E1752C25-893D-5859-A9B7-C527AC115044"><p>Play back, record,
+and convert sound clips. </p> </li>
+<li id="GUID-5AF02D1B-25A9-59F0-B57B-7F0CAE7EB07D"><p>Play tone sequences
+and DTMF (Dual-Tone Multi-Frequency) strings. </p> </li>
+</ul> <p><b>Audio Client Library Details</b> </p> <p>The DLL that provides
+the functionality and the library to which your code must link is
+identified below. </p> <table id="GUID-28BCAB7A-147C-5519-8833-62ACA430C4D3">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/>
+<colspec colname="col2"/>
+<thead>
+<row>
+<entry>DLL</entry>
+<entry>LIB</entry>
+<entry>Short Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <b>mediaclientaudio.dll</b>  </p> </entry>
+<entry><p> <b>mediaclientaudio.lib</b>  </p> </entry>
+<entry><p>These files are used for implementing the Audio Client. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-24255721-6198-4D8A-A560-DC86C14E92A7"><title>Architectural Relationship</title> <p>The methods
+for recording, converting, and playing audio clips or tones interact
+with the lower levels of MMF (known as the controller framework).
+The controller framework is in turn responsible for managing the interface
+to audio hardware. On some phones, this is implemented as a device
+driver; on others it may be implemented as a connection to a lower
+level hardware controller. </p> <p>Clients using any of the <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>, <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>, <xref href="GUID-778D24B5-A68E-3C91-B66A-69007FBA4791.dita"><apiname>CMdaAudioPlayerUtility</apiname></xref> or <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> classes must have an active scheduler running in their thread because
+the implementations use active objects and callbacks. </p> <p>How
+the tone player class interacts with other components of MMF is shown
+below. </p> <fig id="GUID-8273BE86-D5F9-528F-9147-0C0C58D9ABCD">
+<title>              Audio tone player overview            </title>
+<image href="GUID-4F879832-8425-5C56-B3FE-4C4592EBB6A5_d0e522211_href.png" placement="inline"/>
+</fig> </section>
+<section id="GUID-B41E6DF0-5963-4AF8-822E-473380A1CE78"><title>Description</title> <p><b>Audio Playing, Recording, and Conversion</b> </p> <p>All three
+of the audio classes are plugin based, leaving the list of supported
+audio formats for input and output open ended. The audio file formats
+supported as standard by MMF are: AU, WAV and raw audio data. Each
+file format may support one or more compression algorithms (codecs).
+The standard file formats and corresponding codecs are shown below: </p> <table id="GUID-058548B8-0DEF-5E61-B9A1-6FEC07DCAA8A">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>Audio file format</entry>
+<entry>Codecs supported</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>AU </p> </entry>
+<entry><p>A-Law, mu-law, signed 16 bit PCM big-endian, signed 8 bit
+PCM </p> </entry>
+</row>
+<row>
+<entry><p>WAV </p> </entry>
+<entry><p>IMA-ADPCM, A-Law, mu-law, unsigned 8 bit PCM, gsm 6.10,
+signed 16 bit PCM </p> </entry>
+</row>
+<row>
+<entry><p>raw data </p> </entry>
+<entry><p>Signed big-endian 16 bit PCM, signed 16 bit PCM, unsigned
+16 bit PCM </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>Input and output audio data can be of any format supported
+by the installed plugins. When possible MMF uses a plugin resolver
+to determine the format and codecs to use. It determines this by checking
+the filename extension and reading any header data that may be present
+in the audio clip. The plugin resolver cannot determine the format
+and codecs to use for raw audio, so in such cases you must specify
+this information yourself. A full list of supported plugins can be
+retrieved by using <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita#GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688/GUID-D0456E01-109E-3C93-949D-0452B09E886F"><apiname>CMdaAudioConvertUtility::GetSupportedDestinationDataTypesL()</apiname></xref>. </p> <p> <b> Note:</b> All audio clips can be uniquely identified
+for purposes of plugin assignment by their format (gsm z6.10, AU,
+WAV and so on) and their codec (for example for AU, valid codecs include
+A-Law, mu-law, signed 16 bit PCM big-endian, signed 8 bit PCM). Each
+format and codec has an arbitrary ID assigned to it by MMF and its
+associated plugin, for use with the "Open" functions of both <codeph>CMdaAudioConvertUtility</codeph> and <codeph>CMdaAudioRecorderUtility</codeph>. </p> <p id="GUID-B99776D8-B713-5C18-AB32-3BF13EDDFEBB"><b>Tone Playing</b> </p> <p>The Audio Client provide a simple interface for tone generation
+(synthesized sounds) that enables the playing of tone sequences and
+DTMF (Dual-Tone Multi-Frequency) strings. The tone player functionality
+is provided by the <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> class and
+using this class you can play: </p> <ul>
+<li id="GUID-5B1FD304-5905-5F3A-97C6-237A59F911A1"><p>Single tones
+of a specified duration and frequency. </p> </li>
+<li id="GUID-6CD5A5D6-8659-5DDB-B773-1513C663E4F6"><p>DTMF strings. </p> </li>
+<li id="GUID-9F98BD96-C5F6-5100-96FB-EA8396AE0364"><p>Sequences of
+tones held in files or descriptors. </p> </li>
+<li id="GUID-B27D9870-E9AE-5280-A144-E4C24AA91E09"><p>Predefined (fixed)
+sequences of tones held in the mobile equipment. </p> </li>
+</ul> </section>
+<section id="GUID-7655A8EA-ADE9-4CDE-95D9-27055E14122D"><title>Key Audio Client Classes</title> <p>The functionality
+provided by the Audio Client is contained within the following classes: </p> <ul>
+<li id="GUID-0EF967E4-CFE1-5528-9EAB-BA0A2E71C6D3"><p> <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>  </p> </li>
+<li id="GUID-93D94E92-E9E6-523B-9C4B-02DF91D9976E"><p> <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>  </p> </li>
+<li id="GUID-CBD9AF2F-BB55-5D03-A87B-A7A23AAA4CD5"><p> <xref href="GUID-778D24B5-A68E-3C91-B66A-69007FBA4791.dita"><apiname>CMdaAudioPlayerUtility</apiname></xref>  </p> </li>
+<li id="GUID-3B16D9CB-B192-548F-B096-5BA7B0E89344"><p> <xref href="GUID-D728A286-A202-3915-9643-8FD70646F78A.dita"><apiname>CMdaAudioToneUtility</apiname></xref> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li>
+</ul> </section>
+<section id="GUID-CD24BD19-FCE1-4F3E-8E1D-906FC63AD238"><title>Using the Audio Client</title> <p>Clients can use
+the Audio Client to: </p> <ul>
+<li id="GUID-AB6FC77A-FD23-55F0-9A07-916D388CE19D"><p>Manipulate audio
+sources and sinks, add, retrieve and modify meta data and record audio
+data to files or descriptors. </p> </li>
+<li id="GUID-8557E211-D6E7-59FF-AE63-939A0BCBF3C4"><p>Convert audio
+clips contained in files or descriptors to other formats using the
+default codecs provided by MMF. </p> </li>
+<li id="GUID-E9D2FB84-0CF1-5873-BC5B-005869025A91"><p>Play audio clips
+contained in files, descriptors or URLs. </p> </li>
+<li id="GUID-C3C75693-4113-5684-9643-2C6DC1A5BCB0"><p>Play single
+tones, DTMF strings and tone sequences. </p> </li>
+</ul> </section>
+<section id="GUID-04F7EA21-F6B4-4C37-A37E-F86B3C94FCD3"><title>See Also</title> <p><xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita">How to use the audio
+convert utility</xref>  </p> <p><xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita">How to use the audio
+tone player utility</xref>  </p> <p><xref href="GUID-2D3F7471-9B92-5E49-B8BC-E0FA7AA709D7.dita">DevSound Overview</xref>  </p> </section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D66415A3-7AFA-50D7-9019-96E20240CF05_d0e427163_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D66415A3-7AFA-50D7-9019-96E20240CF05_d0e433008_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D6861A7A-1845-52AF-BB09-4B97E6B8AA13_d0e381106_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D6861A7A-1845-52AF-BB09-4B97E6B8AA13_d0e386959_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D69DD425-5F93-4238-A7E9-915F24A9C9CA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D69DD425-5F93-4238-A7E9-915F24A9C9CA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,9 +16,9 @@
 This example uses the APIs of the message queue library to create/close message
 queues and send/receive messages and also get information on created message
 queues. </p>
-<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-13-1-1-5-1-3-1-11-1-12-1-2-2"><title>Download</title> <p>Click
+<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-12-1-14-1-1-5-1-3-1-11-1-12-1-2-2"><title>Download</title> <p>Click
 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-9db026cc-ac23-4593-8bbc-4b251c085d4f.zip" scope="external"> opencmessagequeuelibraryex.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-9db026cc-ac23-4593-8bbc-4b251c085d4f.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-13-1-1-5-1-3-1-11-1-12-1-2-3"><title>Design and
+<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-12-1-14-1-1-5-1-3-1-11-1-12-1-2-3"><title>Design and
 Implementation</title> <p>The following sections provide information about
 the implementation of the example. </p><p><b>Description</b></p><p>OpenCMessageQueueClientEx
 is a C Application that uses the  Message Queue library. This application
@@ -44,7 +44,7 @@
 apis, an EXE is provided that creates threads and does send/receive on message
 queues using those exported apis.</p><p><b>APIs used</b></p><p>msgget </p><p> msgctl
  </p><p>msgrcv  </p><p>msgsnd  </p><p>semget  </p><p>semctl </p><p> semop </p> </section>
-<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-13-1-1-5-1-3-1-11-1-12-1-2-4"><title>Building and
+<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-12-1-14-1-1-5-1-3-1-11-1-12-1-2-4"><title>Building and
 Using</title> To build the Message Queue Library example application, go to
 the <filepath>OpenCMessageQueueLibraryEx\group</filepath> directory and build
 the application.  The Message Queue Library application consists of two modules,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-11-1-1-5-1-9-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-11-1-1-5-1-9-1"><title>Changing the cryptographic strength</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>To change the cryptographic strength simply replace the <filepath>cryptography.dll</filepath> file, located in <filepath>&lt;your-SDK-path&gt;\epoc32\release\&lt;target&gt;\&lt;variant&gt;</filepath>, with a version of the DLL that has the required strength. There are two crypto DLLs available for selection, see <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita">Weak and strong cryptography</xref>. </p> <p>So, for example, if you wanted to increase the strength of <filepath>cryptography.dll</filepath> in say <filepath>&lt;your-SDK-path&gt;\epoc32\release\wins\urel</filepath> to <filepath>strong_cryptography.dll</filepath>, then you would do this as follows: </p> <ul><li id="GUID-0D95A790-716A-5A17-861B-10CFEE13C6B8-GENID-1-12-1-26-1-1-11-1-1-5-1-9-1-2-3-1"><p>Get a copy of <filepath>strong_cryptography.dll</filepath> from <filepath>&lt;your-SDK-path&gt;\src\generic\security\crypto\import\bin\wins\urel</filepath> </p> </li> <li id="GUID-E6616C2C-8E31-5F89-A0F7-2B3DC829E2F2-GENID-1-12-1-26-1-1-11-1-1-5-1-9-1-2-3-2"><p>Paste this into <filepath>&lt;your-SDK-path&gt;\epoc32\release\wins\urel</filepath>  </p> </li> <li id="GUID-35B062C8-A61E-5719-8CEE-7EDF05E854FA-GENID-1-12-1-26-1-1-11-1-1-5-1-9-1-2-3-3"><p>Rename the copied <filepath>strong_cryptography.dll</filepath> to <filepath>cryptography.dll</filepath>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9-GENID-1-12-1-26-1-1-9-1-5-1-10-1"><title>Changing the cryptographic strength</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>To change the cryptographic strength simply replace the <filepath>cryptography.dll</filepath> file, located in <filepath>&lt;your-SDK-path&gt;\epoc32\release\&lt;target&gt;\&lt;variant&gt;</filepath>, with a version of the DLL that has the required strength. There are two crypto DLLs available for selection, see <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0-GENID-1-12-1-26-1-1-9-1-4-1-4-1.dita">Weak and strong cryptography</xref>. </p> <p>So, for example, if you wanted to increase the strength of <filepath>cryptography.dll</filepath> in say <filepath>&lt;your-SDK-path&gt;\epoc32\release\wins\urel</filepath> to <filepath>strong_cryptography.dll</filepath>, then you would do this as follows: </p> <ul><li id="GUID-0D95A790-716A-5A17-861B-10CFEE13C6B8-GENID-1-12-1-26-1-1-9-1-5-1-10-1-2-3-1"><p>Get a copy of <filepath>strong_cryptography.dll</filepath> from <filepath>&lt;your-SDK-path&gt;\src\generic\security\crypto\import\bin\wins\urel</filepath> </p> </li> <li id="GUID-E6616C2C-8E31-5F89-A0F7-2B3DC829E2F2-GENID-1-12-1-26-1-1-9-1-5-1-10-1-2-3-2"><p>Paste this into <filepath>&lt;your-SDK-path&gt;\epoc32\release\wins\urel</filepath>  </p> </li> <li id="GUID-35B062C8-A61E-5719-8CEE-7EDF05E854FA-GENID-1-12-1-26-1-1-9-1-5-1-10-1-2-3-3"><p>Rename the copied <filepath>strong_cryptography.dll</filepath> to <filepath>cryptography.dll</filepath>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-D6A2B169-F6DB-5BCE-83C9-7CD4A10C5BE9"><title>Changing the cryptographic strength</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>To change the cryptographic strength simply replace the <filepath>cryptography.dll</filepath> file, located in <filepath>&lt;your-SDK-path&gt;\epoc32\release\&lt;target&gt;\&lt;variant&gt;</filepath>, with a version of the DLL that has the required strength. There are two crypto DLLs available for selection, see <xref href="GUID-A6363EC1-D9A2-5011-94F2-08B38E8247E0.dita">Weak and strong cryptography</xref>. </p> <p>So, for example, if you wanted to increase the strength of <filepath>cryptography.dll</filepath> in say <filepath>&lt;your-SDK-path&gt;\epoc32\release\wins\urel</filepath> to <filepath>strong_cryptography.dll</filepath>, then you would do this as follows: </p> <ul><li id="GUID-0D95A790-716A-5A17-861B-10CFEE13C6B8"><p>Get a copy of <filepath>strong_cryptography.dll</filepath> from <filepath>&lt;your-SDK-path&gt;\src\generic\security\crypto\import\bin\wins\urel</filepath> </p> </li> <li id="GUID-E6616C2C-8E31-5F89-A0F7-2B3DC829E2F2"><p>Paste this into <filepath>&lt;your-SDK-path&gt;\epoc32\release\wins\urel</filepath>  </p> </li> <li id="GUID-35B062C8-A61E-5719-8CEE-7EDF05E854FA"><p>Rename the copied <filepath>strong_cryptography.dll</filepath> to <filepath>cryptography.dll</filepath>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1" xml:lang="en"><title>Secure
+stream encryption -- guide/HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This document describes secure stream encryption and its use (with the <codeph>Cryptography</codeph> API). </p>
+<ul>
+<li id="GUID-3AAC9A1E-2722-5AB1-8284-5EEEF097ED17-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-1"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-AFCA2350-8528-50BE-A3B5-BDAEC3022B80-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-3">What is secure stream encryption?</xref>  </p> </li>
+<li id="GUID-D22F5F63-4569-513D-A410-96DD6E4650B9-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-2"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-E3DE6C97-565F-5FAD-B7EA-7B73B14CAF7F-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-4">What is secure stream encryption used for?</xref>  </p> </li>
+<li id="GUID-417238BF-A14B-5695-A496-4E369B199799-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-3"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-B227B613-9459-52B1-86EA-8A8D76DE8175-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5">How do I use the secure stream encryption API?</xref>  </p> <ul>
+<li id="GUID-6675E3A7-8495-5B6F-B5DB-8B9CAD0C4C7B-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-3-2-1"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-9303C0E5-09A8-53A8-B1D6-14ECA045E560-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-2">Encrypting a stream</xref>  </p> </li>
+<li id="GUID-E21930E0-6053-590D-808A-16E296780D4D-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-3-2-2"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-5CFD8921-4AF9-5C06-8250-E8791C15969E-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-4">Decrypting a stream</xref>  </p> </li>
+<li id="GUID-30F9797A-4E5B-54C7-B1A0-DF7FCAD9D4E8-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-3-2-3"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-DCC5388B-F777-51C0-9D4B-BB2BFE6552AF-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-7">Handling multiple elements</xref>  </p> </li>
+<li id="GUID-5F9A5B14-C945-5BAA-B643-5DBC9480E3BD-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-3-2-4"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-10">Storing encryption data</xref>  </p> </li>
+</ul> </li>
+<li id="GUID-48532ACC-A8A4-52AF-930C-3254C68FD23D-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-2-4"><p> <xref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita">Example
+code</xref>  </p> </li>
+</ul>
+<section id="GUID-AFCA2350-8528-50BE-A3B5-BDAEC3022B80-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-3"><title>What is secure
+stream encryption?</title> <p>Secure stream encryption provides subclasses
+of <codeph>RReadStream</codeph>, <codeph>RWriteStream</codeph> and <codeph>CStreamStore</codeph> that
+allow transparent access to encrypted streams and stores. It is implemented
+in terms of PBE (<xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">Password
+Based Encryption</xref>) -- that is, PBE does most of the work, the stream
+encryption classes are just wrappers that call PBE. The word "secure" refers
+to the fact that it uses well-known cryptographic algorithms. </p> </section>
+<section id="GUID-E3DE6C97-565F-5FAD-B7EA-7B73B14CAF7F-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-4"><title>What is secure
+stream encryption used for?</title> <p>Secure stream encryption is used for
+example: </p> <ul>
+<li id="GUID-1F0F962C-92A7-5B2D-B30D-CC3419FCB421-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-4-3-1"><p>to password protect
+a database file </p> </li>
+<li id="GUID-0E92A1F3-F20A-5AAA-A955-018F8D494E87-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-4-3-2"><p>to store contacts encrypted
+on a mobile phone. </p> </li>
+</ul> </section>
+<section id="GUID-B227B613-9459-52B1-86EA-8A8D76DE8175-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5"><title>How do I use
+the secure stream encryption API?</title> <p id="GUID-9303C0E5-09A8-53A8-B1D6-14ECA045E560-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-2"><b>Encrypting
+a stream</b> </p> <ul>
+<li id="GUID-FCBF60C2-33E6-5F65-B909-A608D9F69203-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-3-1"><p>An encryption object
+(i.e., a <codeph>CPBEncryptElement</codeph> or <codeph>CPBEncryptSet</codeph> object)
+is necessary to allow the <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">password
+based encryption</xref> of elements or multiple elements. Objects of this
+type contain the encryption key with its encryption data (i.e. password, cipher,
+salt, IV, iterations). Note that encryption objects can be recreated at a
+later stage from existing encryption data (see <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1/GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-10">Storing
+encryption data</xref>) </p> </li>
+<li id="GUID-B0440E22-7F0E-5562-B729-9C9AB5DE3741-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-3-2"><p>An <codeph>RWriteStream</codeph> object
+(such as an <codeph>RFileWriteStream</codeph>, or <codeph>RStoreWriteStream</codeph> object)
+representing a target stream needs to be created in order to write the stream
+to a file or store </p> </li>
+<li id="GUID-706B4F52-3633-5E8B-A7AF-836B0D3D916A-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-3-3"><p>To support the encryption,
+an <codeph>REncryptStream</codeph> object is required, which forms an encryption
+filter or layer over the <codeph>RWriteStream</codeph> object. </p> </li>
+<li id="GUID-BB0E43D7-0AEF-5718-8DC1-095CC6704729-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-3-4"><p>Data can now be encrypted
+as it is externalized through the <codeph>REncryptStream</codeph> to the stream
+represented by the <codeph>RWriteStream</codeph> object. </p> </li>
+</ul> <p id="GUID-5CFD8921-4AF9-5C06-8250-E8791C15969E-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-4"><b>Decrypting a stream</b> </p> <p>Reading
+from an encrypted stream is a similar process to that of writing to one. </p> <ul>
+<li id="GUID-39667E19-E7BE-55C2-9E7D-5F3F9FF310D5-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-6-1"><p>An encryption object
+(i.e., a <codeph>CPBEncryptElement</codeph> or a <codeph>CPBEncryptSet</codeph> object)
+is needed to allow the <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">password
+based decryption</xref> of elements or multiple elements. </p> </li>
+<li id="GUID-3F2160E6-4CD5-50EE-A222-0A206E06C885-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-6-2"><p>An <codeph>RReadStream</codeph> object
+(such as an <codeph>RFileReadStream</codeph>, or <codeph>RStoreReadStream</codeph> object)
+needs to be created to read the stream from a file or store. </p> </li>
+<li id="GUID-2EF007A9-9A74-5408-9DB8-8C542BDA7CE4-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-6-3"><p>An <codeph>RDecryptStream</codeph> object
+is needed to form an encryption wrapper around the existing <codeph>RReadStream</codeph> object. </p> </li>
+<li id="GUID-3E3C26E3-388B-52E6-A3C1-2359ACD76898-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-6-4"><p>The encrypted data is
+internalized from the stream represented by the <codeph>RReadStream</codeph> object
+by way of the <codeph>RDecryptStream</codeph> object. </p> </li>
+</ul> <p id="GUID-DCC5388B-F777-51C0-9D4B-BB2BFE6552AF-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-7"><b>Handling multiple
+elements</b> </p> <p> <codeph>CPBEncryptElement</codeph> is good
+for handling individual elements, but for encrypting/decrypting information
+with multiple, independent elements it is advisable to use <codeph>CPBEncryptSet</codeph>;
+for instance, if you wished to store contacts encrypted on a mobile phone. </p> <p>When
+you create a <codeph>CPBEncryptSet</codeph> object a master key is generated
+for you. This master key, which is encrypted with the password provided by
+the user of the class, enables the encryption/decryption of individual elements.
+The password may be changed by using the <codeph>CPBEncryptSet::ChangePasswordL()</codeph> function,
+which re-encrypts the master key with the new password. </p> <p id="GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-10"><b>Storing
+encryption data</b> </p> <p>In order to decrypt any information previously
+encrypted with a <codeph>CPBEncryptElement</codeph> or <codeph>CPBEncryptSet</codeph> object,
+you must store its encryption data along with it. Externalizing the <codeph>CPBEncryptionData</codeph> object
+will achieve this; for example: </p> <codeblock id="GUID-78A24676-ABE9-58FC-ADCE-1F7A3EF5B8F8-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-5-12" xml:space="preserve">writeStream &lt;&lt; encryption-&gt;EncryptionData();</codeblock> <p>where <codeph>writeStream</codeph> is a <codeph>RFileWriteStream</codeph> object,
+and encryption is a <codeph>CPBEncryptElement</codeph> object. Failure to
+do this will result in the permanent loss of the encrypted information. See <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">Secure stream example code</xref>. </p> </section>
+<section id="GUID-18EF3A5E-9BF2-4542-BF0F-10E04EA09D87-GENID-1-12-1-26-1-1-11-1-1-6-1-4-1-2-6"><title>Note</title> <p>The
+Secure Store APIs <codeph>REncryptStream</codeph> and <codeph>RDecryptStream</codeph> currently
+support both the old <codeph>CSecurityBase</codeph> methods and the new PBE-based
+methods. In the near future, the old methods will be marked as officially
+deprecated. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1" xml:lang="en"><title>Secure
+stream encryption -- guide/HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This document describes secure stream encryption and its use (with the <codeph>Cryptography</codeph> API). </p>
+<ul>
+<li id="GUID-3AAC9A1E-2722-5AB1-8284-5EEEF097ED17-GENID-1-12-1-26-1-1-9-1-9-1-2-2-1"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-AFCA2350-8528-50BE-A3B5-BDAEC3022B80-GENID-1-12-1-26-1-1-9-1-9-1-2-3">What is secure stream encryption?</xref>  </p> </li>
+<li id="GUID-D22F5F63-4569-513D-A410-96DD6E4650B9-GENID-1-12-1-26-1-1-9-1-9-1-2-2-2"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-E3DE6C97-565F-5FAD-B7EA-7B73B14CAF7F-GENID-1-12-1-26-1-1-9-1-9-1-2-4">What is secure stream encryption used for?</xref>  </p> </li>
+<li id="GUID-417238BF-A14B-5695-A496-4E369B199799-GENID-1-12-1-26-1-1-9-1-9-1-2-2-3"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-B227B613-9459-52B1-86EA-8A8D76DE8175-GENID-1-12-1-26-1-1-9-1-9-1-2-5">How do I use the secure stream encryption API?</xref>  </p> <ul>
+<li id="GUID-6675E3A7-8495-5B6F-B5DB-8B9CAD0C4C7B-GENID-1-12-1-26-1-1-9-1-9-1-2-2-3-2-1"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-9303C0E5-09A8-53A8-B1D6-14ECA045E560-GENID-1-12-1-26-1-1-9-1-9-1-2-5-2">Encrypting a stream</xref>  </p> </li>
+<li id="GUID-E21930E0-6053-590D-808A-16E296780D4D-GENID-1-12-1-26-1-1-9-1-9-1-2-2-3-2-2"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-5CFD8921-4AF9-5C06-8250-E8791C15969E-GENID-1-12-1-26-1-1-9-1-9-1-2-5-4">Decrypting a stream</xref>  </p> </li>
+<li id="GUID-30F9797A-4E5B-54C7-B1A0-DF7FCAD9D4E8-GENID-1-12-1-26-1-1-9-1-9-1-2-2-3-2-3"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-DCC5388B-F777-51C0-9D4B-BB2BFE6552AF-GENID-1-12-1-26-1-1-9-1-9-1-2-5-7">Handling multiple elements</xref>  </p> </li>
+<li id="GUID-5F9A5B14-C945-5BAA-B643-5DBC9480E3BD-GENID-1-12-1-26-1-1-9-1-9-1-2-2-3-2-4"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6-GENID-1-12-1-26-1-1-9-1-9-1-2-5-10">Storing encryption data</xref>  </p> </li>
+</ul> </li>
+<li id="GUID-48532ACC-A8A4-52AF-930C-3254C68FD23D-GENID-1-12-1-26-1-1-9-1-9-1-2-2-4"><p> <xref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D-GENID-1-12-1-26-1-1-9-1-12-1.dita">Example
+code</xref>  </p> </li>
+</ul>
+<section id="GUID-AFCA2350-8528-50BE-A3B5-BDAEC3022B80-GENID-1-12-1-26-1-1-9-1-9-1-2-3"><title>What is secure
+stream encryption?</title> <p>Secure stream encryption provides subclasses
+of <codeph>RReadStream</codeph>, <codeph>RWriteStream</codeph> and <codeph>CStreamStore</codeph> that
+allow transparent access to encrypted streams and stores. It is implemented
+in terms of PBE (<xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">Password
+Based Encryption</xref>) -- that is, PBE does most of the work, the stream
+encryption classes are just wrappers that call PBE. The word "secure" refers
+to the fact that it uses well-known cryptographic algorithms. </p> </section>
+<section id="GUID-E3DE6C97-565F-5FAD-B7EA-7B73B14CAF7F-GENID-1-12-1-26-1-1-9-1-9-1-2-4"><title>What is secure
+stream encryption used for?</title> <p>Secure stream encryption is used for
+example: </p> <ul>
+<li id="GUID-1F0F962C-92A7-5B2D-B30D-CC3419FCB421-GENID-1-12-1-26-1-1-9-1-9-1-2-4-3-1"><p>to password protect
+a database file </p> </li>
+<li id="GUID-0E92A1F3-F20A-5AAA-A955-018F8D494E87-GENID-1-12-1-26-1-1-9-1-9-1-2-4-3-2"><p>to store contacts encrypted
+on a mobile phone. </p> </li>
+</ul> </section>
+<section id="GUID-B227B613-9459-52B1-86EA-8A8D76DE8175-GENID-1-12-1-26-1-1-9-1-9-1-2-5"><title>How do I use
+the secure stream encryption API?</title> <p id="GUID-9303C0E5-09A8-53A8-B1D6-14ECA045E560-GENID-1-12-1-26-1-1-9-1-9-1-2-5-2"><b>Encrypting
+a stream</b> </p> <ul>
+<li id="GUID-FCBF60C2-33E6-5F65-B909-A608D9F69203-GENID-1-12-1-26-1-1-9-1-9-1-2-5-3-1"><p>An encryption object
+(i.e., a <codeph>CPBEncryptElement</codeph> or <codeph>CPBEncryptSet</codeph> object)
+is necessary to allow the <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">password
+based encryption</xref> of elements or multiple elements. Objects of this
+type contain the encryption key with its encryption data (i.e. password, cipher,
+salt, IV, iterations). Note that encryption objects can be recreated at a
+later stage from existing encryption data (see <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB-GENID-1-12-1-26-1-1-9-1-9-1/GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6-GENID-1-12-1-26-1-1-9-1-9-1-2-5-10">Storing
+encryption data</xref>) </p> </li>
+<li id="GUID-B0440E22-7F0E-5562-B729-9C9AB5DE3741-GENID-1-12-1-26-1-1-9-1-9-1-2-5-3-2"><p>An <codeph>RWriteStream</codeph> object
+(such as an <codeph>RFileWriteStream</codeph>, or <codeph>RStoreWriteStream</codeph> object)
+representing a target stream needs to be created in order to write the stream
+to a file or store </p> </li>
+<li id="GUID-706B4F52-3633-5E8B-A7AF-836B0D3D916A-GENID-1-12-1-26-1-1-9-1-9-1-2-5-3-3"><p>To support the encryption,
+an <codeph>REncryptStream</codeph> object is required, which forms an encryption
+filter or layer over the <codeph>RWriteStream</codeph> object. </p> </li>
+<li id="GUID-BB0E43D7-0AEF-5718-8DC1-095CC6704729-GENID-1-12-1-26-1-1-9-1-9-1-2-5-3-4"><p>Data can now be encrypted
+as it is externalized through the <codeph>REncryptStream</codeph> to the stream
+represented by the <codeph>RWriteStream</codeph> object. </p> </li>
+</ul> <p id="GUID-5CFD8921-4AF9-5C06-8250-E8791C15969E-GENID-1-12-1-26-1-1-9-1-9-1-2-5-4"><b>Decrypting a stream</b> </p> <p>Reading
+from an encrypted stream is a similar process to that of writing to one. </p> <ul>
+<li id="GUID-39667E19-E7BE-55C2-9E7D-5F3F9FF310D5-GENID-1-12-1-26-1-1-9-1-9-1-2-5-6-1"><p>An encryption object
+(i.e., a <codeph>CPBEncryptElement</codeph> or a <codeph>CPBEncryptSet</codeph> object)
+is needed to allow the <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">password
+based decryption</xref> of elements or multiple elements. </p> </li>
+<li id="GUID-3F2160E6-4CD5-50EE-A222-0A206E06C885-GENID-1-12-1-26-1-1-9-1-9-1-2-5-6-2"><p>An <codeph>RReadStream</codeph> object
+(such as an <codeph>RFileReadStream</codeph>, or <codeph>RStoreReadStream</codeph> object)
+needs to be created to read the stream from a file or store. </p> </li>
+<li id="GUID-2EF007A9-9A74-5408-9DB8-8C542BDA7CE4-GENID-1-12-1-26-1-1-9-1-9-1-2-5-6-3"><p>An <codeph>RDecryptStream</codeph> object
+is needed to form an encryption wrapper around the existing <codeph>RReadStream</codeph> object. </p> </li>
+<li id="GUID-3E3C26E3-388B-52E6-A3C1-2359ACD76898-GENID-1-12-1-26-1-1-9-1-9-1-2-5-6-4"><p>The encrypted data is
+internalized from the stream represented by the <codeph>RReadStream</codeph> object
+by way of the <codeph>RDecryptStream</codeph> object. </p> </li>
+</ul> <p id="GUID-DCC5388B-F777-51C0-9D4B-BB2BFE6552AF-GENID-1-12-1-26-1-1-9-1-9-1-2-5-7"><b>Handling multiple
+elements</b> </p> <p> <codeph>CPBEncryptElement</codeph> is good
+for handling individual elements, but for encrypting/decrypting information
+with multiple, independent elements it is advisable to use <codeph>CPBEncryptSet</codeph>;
+for instance, if you wished to store contacts encrypted on a mobile phone. </p> <p>When
+you create a <codeph>CPBEncryptSet</codeph> object a master key is generated
+for you. This master key, which is encrypted with the password provided by
+the user of the class, enables the encryption/decryption of individual elements.
+The password may be changed by using the <codeph>CPBEncryptSet::ChangePasswordL()</codeph> function,
+which re-encrypts the master key with the new password. </p> <p id="GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6-GENID-1-12-1-26-1-1-9-1-9-1-2-5-10"><b>Storing
+encryption data</b> </p> <p>In order to decrypt any information previously
+encrypted with a <codeph>CPBEncryptElement</codeph> or <codeph>CPBEncryptSet</codeph> object,
+you must store its encryption data along with it. Externalizing the <codeph>CPBEncryptionData</codeph> object
+will achieve this; for example: </p> <codeblock id="GUID-78A24676-ABE9-58FC-ADCE-1F7A3EF5B8F8-GENID-1-12-1-26-1-1-9-1-9-1-2-5-12" xml:space="preserve">writeStream &lt;&lt; encryption-&gt;EncryptionData();</codeblock> <p>where <codeph>writeStream</codeph> is a <codeph>RFileWriteStream</codeph> object,
+and encryption is a <codeph>CPBEncryptElement</codeph> object. Failure to
+do this will result in the permanent loss of the encrypted information. See <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D-GENID-1-12-1-26-1-1-9-1-12-1-5-1.dita">Secure stream example code</xref>. </p> </section>
+<section id="GUID-18EF3A5E-9BF2-4542-BF0F-10E04EA09D87-GENID-1-12-1-26-1-1-9-1-9-1-2-6"><title>Note</title> <p>The
+Secure Store APIs <codeph>REncryptStream</codeph> and <codeph>RDecryptStream</codeph> currently
+support both the old <codeph>CSecurityBase</codeph> methods and the new PBE-based
+methods. In the near future, the old methods will be marked as officially
+deprecated. </p> </section>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D6B1B658-0582-511A-8583-758F9338E5CB" xml:lang="en"><title>Secure
-stream encryption -- guide/HowTo</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This document describes secure stream encryption and its use (with the <codeph>Cryptography</codeph> API). </p>
-<ul>
-<li id="GUID-3AAC9A1E-2722-5AB1-8284-5EEEF097ED17"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-AFCA2350-8528-50BE-A3B5-BDAEC3022B80">What is secure stream encryption?</xref>  </p> </li>
-<li id="GUID-D22F5F63-4569-513D-A410-96DD6E4650B9"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-E3DE6C97-565F-5FAD-B7EA-7B73B14CAF7F">What is secure stream encryption used for?</xref>  </p> </li>
-<li id="GUID-417238BF-A14B-5695-A496-4E369B199799"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-B227B613-9459-52B1-86EA-8A8D76DE8175">How do I use the secure stream encryption API?</xref>  </p> <ul>
-<li id="GUID-6675E3A7-8495-5B6F-B5DB-8B9CAD0C4C7B"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-9303C0E5-09A8-53A8-B1D6-14ECA045E560">Encrypting a stream</xref>  </p> </li>
-<li id="GUID-E21930E0-6053-590D-808A-16E296780D4D"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-5CFD8921-4AF9-5C06-8250-E8791C15969E">Decrypting a stream</xref>  </p> </li>
-<li id="GUID-30F9797A-4E5B-54C7-B1A0-DF7FCAD9D4E8"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-DCC5388B-F777-51C0-9D4B-BB2BFE6552AF">Handling multiple elements</xref>  </p> </li>
-<li id="GUID-5F9A5B14-C945-5BAA-B643-5DBC9480E3BD"><p> <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6">Storing encryption data</xref>  </p> </li>
-</ul> </li>
-<li id="GUID-48532ACC-A8A4-52AF-930C-3254C68FD23D"><p> <xref href="GUID-18358882-A4DD-5010-BED7-4ACAE021495D.dita">Example
-code</xref>  </p> </li>
-</ul>
-<section id="GUID-AFCA2350-8528-50BE-A3B5-BDAEC3022B80"><title>What is secure
-stream encryption?</title> <p>Secure stream encryption provides subclasses
-of <codeph>RReadStream</codeph>, <codeph>RWriteStream</codeph> and <codeph>CStreamStore</codeph> that
-allow transparent access to encrypted streams and stores. It is implemented
-in terms of PBE (<xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">Password
-Based Encryption</xref>) -- that is, PBE does most of the work, the stream
-encryption classes are just wrappers that call PBE. The word "secure" refers
-to the fact that it uses well-known cryptographic algorithms. </p> </section>
-<section id="GUID-E3DE6C97-565F-5FAD-B7EA-7B73B14CAF7F"><title>What is secure
-stream encryption used for?</title> <p>Secure stream encryption is used for
-example: </p> <ul>
-<li id="GUID-1F0F962C-92A7-5B2D-B30D-CC3419FCB421"><p>to password protect
-a database file </p> </li>
-<li id="GUID-0E92A1F3-F20A-5AAA-A955-018F8D494E87"><p>to store contacts encrypted
-on a mobile phone. </p> </li>
-</ul> </section>
-<section id="GUID-B227B613-9459-52B1-86EA-8A8D76DE8175"><title>How do I use
-the secure stream encryption API?</title> <p id="GUID-9303C0E5-09A8-53A8-B1D6-14ECA045E560"><b>Encrypting
-a stream</b> </p> <ul>
-<li id="GUID-FCBF60C2-33E6-5F65-B909-A608D9F69203"><p>An encryption object
-(i.e., a <codeph>CPBEncryptElement</codeph> or <codeph>CPBEncryptSet</codeph> object)
-is necessary to allow the <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">password
-based encryption</xref> of elements or multiple elements. Objects of this
-type contain the encryption key with its encryption data (i.e. password, cipher,
-salt, IV, iterations). Note that encryption objects can be recreated at a
-later stage from existing encryption data (see <xref href="GUID-D6B1B658-0582-511A-8583-758F9338E5CB.dita#GUID-D6B1B658-0582-511A-8583-758F9338E5CB/GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6">Storing
-encryption data</xref>) </p> </li>
-<li id="GUID-B0440E22-7F0E-5562-B729-9C9AB5DE3741"><p>An <codeph>RWriteStream</codeph> object
-(such as an <codeph>RFileWriteStream</codeph>, or <codeph>RStoreWriteStream</codeph> object)
-representing a target stream needs to be created in order to write the stream
-to a file or store </p> </li>
-<li id="GUID-706B4F52-3633-5E8B-A7AF-836B0D3D916A"><p>To support the encryption,
-an <codeph>REncryptStream</codeph> object is required, which forms an encryption
-filter or layer over the <codeph>RWriteStream</codeph> object. </p> </li>
-<li id="GUID-BB0E43D7-0AEF-5718-8DC1-095CC6704729"><p>Data can now be encrypted
-as it is externalized through the <codeph>REncryptStream</codeph> to the stream
-represented by the <codeph>RWriteStream</codeph> object. </p> </li>
-</ul> <p id="GUID-5CFD8921-4AF9-5C06-8250-E8791C15969E"><b>Decrypting a stream</b> </p> <p>Reading
-from an encrypted stream is a similar process to that of writing to one. </p> <ul>
-<li id="GUID-39667E19-E7BE-55C2-9E7D-5F3F9FF310D5"><p>An encryption object
-(i.e., a <codeph>CPBEncryptElement</codeph> or a <codeph>CPBEncryptSet</codeph> object)
-is needed to allow the <xref href="GUID-8119A243-2EF1-582A-BB94-BA2A18D02D2C.dita">password
-based decryption</xref> of elements or multiple elements. </p> </li>
-<li id="GUID-3F2160E6-4CD5-50EE-A222-0A206E06C885"><p>An <codeph>RReadStream</codeph> object
-(such as an <codeph>RFileReadStream</codeph>, or <codeph>RStoreReadStream</codeph> object)
-needs to be created to read the stream from a file or store. </p> </li>
-<li id="GUID-2EF007A9-9A74-5408-9DB8-8C542BDA7CE4"><p>An <codeph>RDecryptStream</codeph> object
-is needed to form an encryption wrapper around the existing <codeph>RReadStream</codeph> object. </p> </li>
-<li id="GUID-3E3C26E3-388B-52E6-A3C1-2359ACD76898"><p>The encrypted data is
-internalized from the stream represented by the <codeph>RReadStream</codeph> object
-by way of the <codeph>RDecryptStream</codeph> object. </p> </li>
-</ul> <p id="GUID-DCC5388B-F777-51C0-9D4B-BB2BFE6552AF"><b>Handling multiple
-elements</b> </p> <p> <codeph>CPBEncryptElement</codeph> is good
-for handling individual elements, but for encrypting/decrypting information
-with multiple, independent elements it is advisable to use <codeph>CPBEncryptSet</codeph>;
-for instance, if you wished to store contacts encrypted on a mobile phone. </p> <p>When
-you create a <codeph>CPBEncryptSet</codeph> object a master key is generated
-for you. This master key, which is encrypted with the password provided by
-the user of the class, enables the encryption/decryption of individual elements.
-The password may be changed by using the <codeph>CPBEncryptSet::ChangePasswordL()</codeph> function,
-which re-encrypts the master key with the new password. </p> <p id="GUID-93DDDA90-742A-5867-9074-9D0849ACE5F6"><b>Storing
-encryption data</b> </p> <p>In order to decrypt any information previously
-encrypted with a <codeph>CPBEncryptElement</codeph> or <codeph>CPBEncryptSet</codeph> object,
-you must store its encryption data along with it. Externalizing the <codeph>CPBEncryptionData</codeph> object
-will achieve this; for example: </p> <codeblock id="GUID-78A24676-ABE9-58FC-ADCE-1F7A3EF5B8F8" xml:space="preserve">writeStream &lt;&lt; encryption-&gt;EncryptionData();</codeblock> <p>where <codeph>writeStream</codeph> is a <codeph>RFileWriteStream</codeph> object,
-and encryption is a <codeph>CPBEncryptElement</codeph> object. Failure to
-do this will result in the permanent loss of the encrypted information. See <xref href="GUID-598B6698-3518-50CA-98DE-D85CB255BA2D.dita">Secure stream example code</xref>. </p> </section>
-<section id="GUID-18EF3A5E-9BF2-4542-BF0F-10E04EA09D87"><title>Note</title> <p>The
-Secure Store APIs <codeph>REncryptStream</codeph> and <codeph>RDecryptStream</codeph> currently
-support both the old <codeph>CSecurityBase</codeph> methods and the new PBE-based
-methods. In the near future, the old methods will be marked as officially
-deprecated. </p> </section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D6B332EB-D9D7-5598-98C7-E73164A2057D_d0e354088_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-D6B332EB-D9D7-5598-98C7-E73164A2057D_d0e360009_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-D6BB18FE-289D-546F-97DC-389B57B5B2E3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D6BB18FE-289D-546F-97DC-389B57B5B2E3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -22,7 +22,7 @@
 Frameworks collection. </p> <fig id="GUID-E1D9CC8C-11B1-5BC5-A259-B77C5E06CD23">
 <title>              Multimedia APIs and Frameworks Architectural Overview
            </title>
-<image href="GUID-6A9991B8-CF03-5097-BE7D-FB486D26D41B_d0e497126_href.png" placement="inline"/>
+<image href="GUID-6A9991B8-CF03-5097-BE7D-FB486D26D41B_d0e504588_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Description</title> <p>The Multimedia Framework overview details
 the architecture of the components that constitutes the Multimedia APIs and
--- a/Symbian3/PDK/Source/GUID-D6BE4647-25A8-5F88-9137-F4882AF22BCF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D6BE4647-25A8-5F88-9137-F4882AF22BCF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-D6BE4647-25A8-5F88-9137-F4882AF22BCF"><title>Setting the Text Cursor</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A text cursor (<xref href="GUID-601B802C-AB1B-357A-81A0-F8119F1F54C6.dita"><apiname>TTextCursor</apiname></xref>) is a rectangular area which can optionally be set to flash. It has a height, width, ascent and origin, illustrated below. </p> <fig id="GUID-24F6762D-F186-557A-8C11-502C7D941208"><title>
           Text cursor
-        </title> <image href="GUID-4BF48607-54F0-51C8-A3A8-F334454FAC9C_d0e242710_href.png" placement="inline"/></fig> <p>The text cursor is positioned on screen by specifying an offset between its origin and the origin of a window. It can be added to a window group using <xref href="GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25.dita#GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25/GUID-65474634-1BBD-3103-8C20-9F6709620754"><apiname>RWindowGroup::SetTextCursor()</apiname></xref>. </p> <p>Two predefined types of text cursors are provided: solid and hollow rectangles. In addition bitmaps can be used as text cursors. Custom text cursors are added to the Window Server using <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita#GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9/GUID-684910B9-CCEA-3798-BE23-967820BBF363"><apiname>RWsSession::SetCustomTextCursor()</apiname></xref>. They have a unique identifier, which is used by <xref href="GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25.dita#GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25/GUID-65474634-1BBD-3103-8C20-9F6709620754"><apiname>RWindowGroup::SetTextCursor()</apiname></xref>. They are clipped if too large and their vertical alignment can be adjusted. </p> </conbody><related-links><link href="GUID-567DFA14-A7AA-56F5-9741-CB1F28BCD39F.dita"><linktext>Sprites and Cursors</linktext> </link> </related-links></concept>
\ No newline at end of file
+        </title> <image href="GUID-4BF48607-54F0-51C8-A3A8-F334454FAC9C_d0e248721_href.png" placement="inline"/></fig> <p>The text cursor is positioned on screen by specifying an offset between its origin and the origin of a window. It can be added to a window group using <xref href="GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25.dita#GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25/GUID-65474634-1BBD-3103-8C20-9F6709620754"><apiname>RWindowGroup::SetTextCursor()</apiname></xref>. </p> <p>Two predefined types of text cursors are provided: solid and hollow rectangles. In addition bitmaps can be used as text cursors. Custom text cursors are added to the Window Server using <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita#GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9/GUID-684910B9-CCEA-3798-BE23-967820BBF363"><apiname>RWsSession::SetCustomTextCursor()</apiname></xref>. They have a unique identifier, which is used by <xref href="GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25.dita#GUID-64D4D428-D65F-3D9D-A0D4-C8338C848B25/GUID-65474634-1BBD-3103-8C20-9F6709620754"><apiname>RWindowGroup::SetTextCursor()</apiname></xref>. They are clipped if too large and their vertical alignment can be adjusted. </p> </conbody><related-links><link href="GUID-567DFA14-A7AA-56F5-9741-CB1F28BCD39F.dita"><linktext>Sprites and Cursors</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D6C2202C-778C-558A-97AA-649CD6DB5E87.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D6C2202C-778C-558A-97AA-649CD6DB5E87.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <concept id="GUID-D6C2202C-778C-558A-97AA-649CD6DB5E87" xml:lang="en"><title>ROFS
 File System</title><shortdesc>Describes the file system to access code on non-XIP (eXecuted In
 Place) media. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-1CA87397-6D2A-55A8-8C2D-683157C8BE61-GENID-1-12-1-17-1-1-10-1-9-1-5-1-3-1"><title>Introduction</title> <p>ROFS
+<section id="GUID-1CA87397-6D2A-55A8-8C2D-683157C8BE61-GENID-1-12-1-18-1-1-10-1-9-1-5-1-3-1"><title>Introduction</title> <p>ROFS
 stands for Read Only File System and is used for accessing code on media that
 cannot be executed on that media (otherwise known as non-execute in place
 storage) e.g. NAND flash. </p> <p>It is also used by the composite file system
Binary file Symbian3/PDK/Source/GUID-D7179664-C442-5253-9925-994CA0C63B50_d0e577831_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D7179664-C442-5253-9925-994CA0C63B50_d0e627119_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D729593E-C131-5F67-BF0C-6C9AD847C9F9_d0e534745_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D729593E-C131-5F67-BF0C-6C9AD847C9F9_d0e542205_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-4-1-5-1" xml:lang="en"><title>Creating
-a Notifier ECOM Plug-in</title><shortdesc>To use the Privacy Query and Notification API to create a notifier
-a licensee must secondly create a notifier ECOM plug-in.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section>       <title>Exporting a factory method </title>       <p>The notifier
-is implemented as an ECOM plug-in and has typical ECOM entry point methods.
-The following code example shows how the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-38E7BBCF-8F4C-3398-B322-2D3427E4CAC1"><apiname>CPosPrivacyNotifier::NotifierBase(</apiname></xref>)
-method is used to return the <codeph>MEikSrvNotifierBase2</codeph> pointer
-required by the Extended Notifier Framework.     </p><p>The UID specified
-in <codeph>IMPLEMENTATION_PROXY_ENTRY</codeph> is the constant <codeph>KPosPrivacyNotifierImplUid</codeph> as
-defined in <filepath>EPos_PrivacyNotifier.hrh</filepath>.  </p>     <codeblock xml:space="preserve">#include &lt;e32base.h&gt;
-#include &lt;eiknotapi.h&gt;
-#include &lt;ImplementationProxy.h&gt;
-#include &lt;EPos_PrivacyNotifier.hrh&gt;
-#include "CMyPrivacyNotifier.h"
-
-// Creates the notifier. Used by the NotifierArray() factory method.
-LOCAL_C void CreateNotifiersL(CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* aNotifiers)
-    {
-    CMyPrivacyNotifier* notifier = CMyPrivacyNotifier::NewLC();
-    aNotifiers-&gt;AppendL(notifier-&gt;NotifierBase());
-    CleanupStack::Pop(notifier); // Do not destroy
-    }
-// Notifier entry point. Note that the factory method must not leave
-LOCAL_C CArrayPtr&lt;MEikSrvNotifierBase2&gt;* NotifierArray()
-    {
-    CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* notifiers =
-        new CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;(1);
-    if (notifiers)
-        {
-        TRAPD(err, CreateNotifiersL(notifiers));
-        if (err)
-            { // release any notifiers we have created
-            TInt count = notifiers-&gt;Count();
-            while (--count &gt;= 0)
-                {
-                (*notifiers)[count]-&gt;Release();
-                }
-            delete notifiers;
-            notifiers = NULL;
-            }
-        }
-    return notifiers;
-    }
-
-const TImplementationProxy KPosImplTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(KPosPrivacyNotifierImplUid, NotifierArray)
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt&amp; aTableCount)
-    {
-    aTableCount = sizeof(KPosImplTable) / sizeof(TImplementationProxy);
-
-    return KPosImplTable;
-    }</codeblock></section>
-<section><title>Defining the ECOM resource file</title><p>The following is
-an example ECOM resource file for a Privacy Q&amp;N Notifier: </p><codeblock xml:space="preserve">#include &lt;RegistryInfo.rh&gt;
-#include &lt;Uikon.hrh&gt;
-#include &lt;EPos_PrivacyNotifier.hrh&gt;
-
-
-// RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-// r_registry
-// ECOM registry information for Privacy UI
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO r_registry
-    {
-    dll_uid = 0x01234123;
-    interfaces =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = KUikonUidPluginInterfaceNotifiers;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KPosPrivacyNotifierImplUid;
-                    version_no = 1;
-                    display_name = "Privacy UI";
-                    }
-                };
-            }
-        };
-    }</codeblock><p>The most important points about this file are: </p><ul>
-<li><p>dll_uid is the UID of the notifier DLL. This should be the same as
-specified in the MMP file (see below). </p></li>
-<li><p>interface_uid is the UID of the <codeph>MEikSrvNotifierBase2</codeph> interface.
-This should be set to the constant <codeph>KUikonUidPluginInterfaceNotifiers</codeph> defined
-in <filepath>Uikon.hrh</filepath>. </p></li>
-<li><p>implementation_uid is the notifier implementation UID. This UID is
-defined as the constant <codeph>KPosPrivacyNotifierImplUid</codeph> in <filepath>EPos_PrivacyNotifier.hrh</filepath>.</p></li>
-</ul></section>
-<section><title>Defining the MMP file </title><p>The following is an example
-MMP file for a Privacy Q&amp;N Notifier:</p><codeblock xml:space="preserve">TARGET          myprivnot.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x01234123 // Notifier type uid = 0x10009D8D
-VENDORID        VID_DEFAULTCAPABILITY      ProtServ TrustedUI
-SOURCEPATH      ..\src
-SOURCE          MyPrivacyNotifierMain.cpp
-SOURCE          CMyPrivacyNotifier.cpp
-START RESOURCE  PrivacyNotifier.rss
-TARGET          myprivnot.rsc
-END
-SYSTEMINCLUDE   \Epoc32\Include
-SYSTEMINCLUDE   \Epoc32\Include\ECom
-SYSTEMINCLUDE   \Epoc32\Include\lbs
-LIBRARY         euser.lib
-LIBRARY         eposprvqnif.lib
-LIBRARY         eposprvtyp.lib
-LIBRARY         bafl.lib
-</codeblock><p>The most important points about this file are:</p><ul>
-<li><p>The target type is <codeph>PLUGIN</codeph> because the notifier is
-implemented as an ECOM plug-in.</p></li>
-<li><p>The second UID is <codeph>0x10009D8D</codeph> to identify the DLL as
-an ECOM plug-in.</p></li>
-<li><p>The third UID is the DLL UID and is allocated by Symbian. Note that
-this is not the same as the implementation UID specified in the ECOM resource
-file. </p></li>
-<li><p><filepath>\epoc32\include\lbs</filepath> is included in order to find
-the Privacy Query and Notification API header files. </p></li>
-<li><p><filepath>eposprvqnif.lib</filepath> is included to link against the
-Privacy Query and Notification API library. </p></li>
-<li><p>The notifier must have the <codeph>ProtServ</codeph> and <codeph>TrustedUI</codeph> capabilities
-as required by the Extended Notifier Framework. </p></li>
-</ul></section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-5-1-4-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-18-1-1-7-1-6-1-5-1-5-1-5-1-4-1" xml:lang="en"><title>Creating
-a Notifier ECOM Plug-in</title><shortdesc>To use the Privacy Query and Notification API to create a notifier
-a licensee must secondly create a notifier ECOM plug-in.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section>       <title>Exporting a factory method </title>       <p>The notifier
-is implemented as an ECOM plug-in and has typical ECOM entry point methods.
-The following code example shows how the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-38E7BBCF-8F4C-3398-B322-2D3427E4CAC1"><apiname>CPosPrivacyNotifier::NotifierBase(</apiname></xref>)
-method is used to return the <codeph>MEikSrvNotifierBase2</codeph> pointer
-required by the Extended Notifier Framework.     </p><p>The UID specified
-in <codeph>IMPLEMENTATION_PROXY_ENTRY</codeph> is the constant <codeph>KPosPrivacyNotifierImplUid</codeph> as
-defined in <filepath>EPos_PrivacyNotifier.hrh</filepath>.  </p>     <codeblock xml:space="preserve">#include &lt;e32base.h&gt;
-#include &lt;eiknotapi.h&gt;
-#include &lt;ImplementationProxy.h&gt;
-#include &lt;EPos_PrivacyNotifier.hrh&gt;
-#include "CMyPrivacyNotifier.h"
-
-// Creates the notifier. Used by the NotifierArray() factory method.
-LOCAL_C void CreateNotifiersL(CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* aNotifiers)
-    {
-    CMyPrivacyNotifier* notifier = CMyPrivacyNotifier::NewLC();
-    aNotifiers-&gt;AppendL(notifier-&gt;NotifierBase());
-    CleanupStack::Pop(notifier); // Do not destroy
-    }
-// Notifier entry point. Note that the factory method must not leave
-LOCAL_C CArrayPtr&lt;MEikSrvNotifierBase2&gt;* NotifierArray()
-    {
-    CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* notifiers =
-        new CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;(1);
-    if (notifiers)
-        {
-        TRAPD(err, CreateNotifiersL(notifiers));
-        if (err)
-            { // release any notifiers we have created
-            TInt count = notifiers-&gt;Count();
-            while (--count &gt;= 0)
-                {
-                (*notifiers)[count]-&gt;Release();
-                }
-            delete notifiers;
-            notifiers = NULL;
-            }
-        }
-    return notifiers;
-    }
-
-const TImplementationProxy KPosImplTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(KPosPrivacyNotifierImplUid, NotifierArray)
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt&amp; aTableCount)
-    {
-    aTableCount = sizeof(KPosImplTable) / sizeof(TImplementationProxy);
-
-    return KPosImplTable;
-    }</codeblock></section>
-<section><title>Defining the ECOM resource file</title><p>The following is
-an example ECOM resource file for a Privacy Q&amp;N Notifier: </p><codeblock xml:space="preserve">#include &lt;RegistryInfo.rh&gt;
-#include &lt;Uikon.hrh&gt;
-#include &lt;EPos_PrivacyNotifier.hrh&gt;
-
-
-// RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-// r_registry
-// ECOM registry information for Privacy UI
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO r_registry
-    {
-    dll_uid = 0x01234123;
-    interfaces =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = KUikonUidPluginInterfaceNotifiers;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KPosPrivacyNotifierImplUid;
-                    version_no = 1;
-                    display_name = "Privacy UI";
-                    }
-                };
-            }
-        };
-    }</codeblock><p>The most important points about this file are: </p><ul>
-<li><p>dll_uid is the UID of the notifier DLL. This should be the same as
-specified in the MMP file (see below). </p></li>
-<li><p>interface_uid is the UID of the <codeph>MEikSrvNotifierBase2</codeph> interface.
-This should be set to the constant <codeph>KUikonUidPluginInterfaceNotifiers</codeph> defined
-in <filepath>Uikon.hrh</filepath>. </p></li>
-<li><p>implementation_uid is the notifier implementation UID. This UID is
-defined as the constant <codeph>KPosPrivacyNotifierImplUid</codeph> in <filepath>EPos_PrivacyNotifier.hrh</filepath>.</p></li>
-</ul></section>
-<section><title>Defining the MMP file </title><p>The following is an example
-MMP file for a Privacy Q&amp;N Notifier:</p><codeblock xml:space="preserve">TARGET          myprivnot.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x01234123 // Notifier type uid = 0x10009D8D
-VENDORID        VID_DEFAULTCAPABILITY      ProtServ TrustedUI
-SOURCEPATH      ..\src
-SOURCE          MyPrivacyNotifierMain.cpp
-SOURCE          CMyPrivacyNotifier.cpp
-START RESOURCE  PrivacyNotifier.rss
-TARGET          myprivnot.rsc
-END
-SYSTEMINCLUDE   \Epoc32\Include
-SYSTEMINCLUDE   \Epoc32\Include\ECom
-SYSTEMINCLUDE   \Epoc32\Include\lbs
-LIBRARY         euser.lib
-LIBRARY         eposprvqnif.lib
-LIBRARY         eposprvtyp.lib
-LIBRARY         bafl.lib
-</codeblock><p>The most important points about this file are:</p><ul>
-<li><p>The target type is <codeph>PLUGIN</codeph> because the notifier is
-implemented as an ECOM plug-in.</p></li>
-<li><p>The second UID is <codeph>0x10009D8D</codeph> to identify the DLL as
-an ECOM plug-in.</p></li>
-<li><p>The third UID is the DLL UID and is allocated by Symbian. Note that
-this is not the same as the implementation UID specified in the ECOM resource
-file. </p></li>
-<li><p><filepath>\epoc32\include\lbs</filepath> is included in order to find
-the Privacy Query and Notification API header files. </p></li>
-<li><p><filepath>eposprvqnif.lib</filepath> is included to link against the
-Privacy Query and Notification API library. </p></li>
-<li><p>The notifier must have the <codeph>ProtServ</codeph> and <codeph>TrustedUI</codeph> capabilities
-as required by the Extended Notifier Framework. </p></li>
-</ul></section>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-4-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-4-1-5-1" xml:lang="en"><title>Creating
+a Notifier ECOM Plug-in</title><shortdesc>To use the Privacy Query and Notification API to create a notifier
+a licensee must secondly create a notifier ECOM plug-in.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section>       <title>Exporting a factory method </title>       <p>The notifier
+is implemented as an ECOM plug-in and has typical ECOM entry point methods.
+The following code example shows how the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-38E7BBCF-8F4C-3398-B322-2D3427E4CAC1"><apiname>CPosPrivacyNotifier::NotifierBase(</apiname></xref>)
+method is used to return the <codeph>MEikSrvNotifierBase2</codeph> pointer
+required by the Extended Notifier Framework.     </p><p>The UID specified
+in <codeph>IMPLEMENTATION_PROXY_ENTRY</codeph> is the constant <codeph>KPosPrivacyNotifierImplUid</codeph> as
+defined in <filepath>EPos_PrivacyNotifier.hrh</filepath>.  </p>     <codeblock xml:space="preserve">#include &lt;e32base.h&gt;
+#include &lt;eiknotapi.h&gt;
+#include &lt;ImplementationProxy.h&gt;
+#include &lt;EPos_PrivacyNotifier.hrh&gt;
+#include "CMyPrivacyNotifier.h"
+
+// Creates the notifier. Used by the NotifierArray() factory method.
+LOCAL_C void CreateNotifiersL(CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* aNotifiers)
+    {
+    CMyPrivacyNotifier* notifier = CMyPrivacyNotifier::NewLC();
+    aNotifiers-&gt;AppendL(notifier-&gt;NotifierBase());
+    CleanupStack::Pop(notifier); // Do not destroy
+    }
+// Notifier entry point. Note that the factory method must not leave
+LOCAL_C CArrayPtr&lt;MEikSrvNotifierBase2&gt;* NotifierArray()
+    {
+    CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* notifiers =
+        new CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;(1);
+    if (notifiers)
+        {
+        TRAPD(err, CreateNotifiersL(notifiers));
+        if (err)
+            { // release any notifiers we have created
+            TInt count = notifiers-&gt;Count();
+            while (--count &gt;= 0)
+                {
+                (*notifiers)[count]-&gt;Release();
+                }
+            delete notifiers;
+            notifiers = NULL;
+            }
+        }
+    return notifiers;
+    }
+
+const TImplementationProxy KPosImplTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(KPosPrivacyNotifierImplUid, NotifierArray)
+    };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt&amp; aTableCount)
+    {
+    aTableCount = sizeof(KPosImplTable) / sizeof(TImplementationProxy);
+
+    return KPosImplTable;
+    }</codeblock></section>
+<section><title>Defining the ECOM resource file</title><p>The following is
+an example ECOM resource file for a Privacy Q&amp;N Notifier: </p><codeblock xml:space="preserve">#include &lt;RegistryInfo.rh&gt;
+#include &lt;Uikon.hrh&gt;
+#include &lt;EPos_PrivacyNotifier.hrh&gt;
+
+
+// RESOURCE DEFINITIONS
+// -----------------------------------------------------------------------------
+//
+// r_registry
+// ECOM registry information for Privacy UI
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO r_registry
+    {
+    dll_uid = 0x01234123;
+    interfaces =
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = KUikonUidPluginInterfaceNotifiers;
+            implementations =
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = KPosPrivacyNotifierImplUid;
+                    version_no = 1;
+                    display_name = "Privacy UI";
+                    }
+                };
+            }
+        };
+    }</codeblock><p>The most important points about this file are: </p><ul>
+<li><p>dll_uid is the UID of the notifier DLL. This should be the same as
+specified in the MMP file (see below). </p></li>
+<li><p>interface_uid is the UID of the <codeph>MEikSrvNotifierBase2</codeph> interface.
+This should be set to the constant <codeph>KUikonUidPluginInterfaceNotifiers</codeph> defined
+in <filepath>Uikon.hrh</filepath>. </p></li>
+<li><p>implementation_uid is the notifier implementation UID. This UID is
+defined as the constant <codeph>KPosPrivacyNotifierImplUid</codeph> in <filepath>EPos_PrivacyNotifier.hrh</filepath>.</p></li>
+</ul></section>
+<section><title>Defining the MMP file </title><p>The following is an example
+MMP file for a Privacy Q&amp;N Notifier:</p><codeblock xml:space="preserve">TARGET          myprivnot.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x01234123 // Notifier type uid = 0x10009D8D
+VENDORID        VID_DEFAULTCAPABILITY      ProtServ TrustedUI
+SOURCEPATH      ..\src
+SOURCE          MyPrivacyNotifierMain.cpp
+SOURCE          CMyPrivacyNotifier.cpp
+START RESOURCE  PrivacyNotifier.rss
+TARGET          myprivnot.rsc
+END
+SYSTEMINCLUDE   \Epoc32\Include
+SYSTEMINCLUDE   \Epoc32\Include\ECom
+SYSTEMINCLUDE   \Epoc32\Include\lbs
+LIBRARY         euser.lib
+LIBRARY         eposprvqnif.lib
+LIBRARY         eposprvtyp.lib
+LIBRARY         bafl.lib
+</codeblock><p>The most important points about this file are:</p><ul>
+<li><p>The target type is <codeph>PLUGIN</codeph> because the notifier is
+implemented as an ECOM plug-in.</p></li>
+<li><p>The second UID is <codeph>0x10009D8D</codeph> to identify the DLL as
+an ECOM plug-in.</p></li>
+<li><p>The third UID is the DLL UID and is allocated by Symbian. Note that
+this is not the same as the implementation UID specified in the ECOM resource
+file. </p></li>
+<li><p><filepath>\epoc32\include\lbs</filepath> is included in order to find
+the Privacy Query and Notification API header files. </p></li>
+<li><p><filepath>eposprvqnif.lib</filepath> is included to link against the
+Privacy Query and Notification API library. </p></li>
+<li><p>The notifier must have the <codeph>ProtServ</codeph> and <codeph>TrustedUI</codeph> capabilities
+as required by the Extended Notifier Framework. </p></li>
+</ul></section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-5-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D72A47FE-23D2-4AD1-92B9-53DD9B64733F-GENID-1-12-1-19-1-1-7-1-6-1-5-1-5-1-5-1-4-1" xml:lang="en"><title>Creating
+a Notifier ECOM Plug-in</title><shortdesc>To use the Privacy Query and Notification API to create a notifier
+a licensee must secondly create a notifier ECOM plug-in.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section>       <title>Exporting a factory method </title>       <p>The notifier
+is implemented as an ECOM plug-in and has typical ECOM entry point methods.
+The following code example shows how the <xref href="GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C.dita#GUID-56C8D5AB-7D9A-3B20-B699-07F17A87A61C/GUID-38E7BBCF-8F4C-3398-B322-2D3427E4CAC1"><apiname>CPosPrivacyNotifier::NotifierBase(</apiname></xref>)
+method is used to return the <codeph>MEikSrvNotifierBase2</codeph> pointer
+required by the Extended Notifier Framework.     </p><p>The UID specified
+in <codeph>IMPLEMENTATION_PROXY_ENTRY</codeph> is the constant <codeph>KPosPrivacyNotifierImplUid</codeph> as
+defined in <filepath>EPos_PrivacyNotifier.hrh</filepath>.  </p>     <codeblock xml:space="preserve">#include &lt;e32base.h&gt;
+#include &lt;eiknotapi.h&gt;
+#include &lt;ImplementationProxy.h&gt;
+#include &lt;EPos_PrivacyNotifier.hrh&gt;
+#include "CMyPrivacyNotifier.h"
+
+// Creates the notifier. Used by the NotifierArray() factory method.
+LOCAL_C void CreateNotifiersL(CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* aNotifiers)
+    {
+    CMyPrivacyNotifier* notifier = CMyPrivacyNotifier::NewLC();
+    aNotifiers-&gt;AppendL(notifier-&gt;NotifierBase());
+    CleanupStack::Pop(notifier); // Do not destroy
+    }
+// Notifier entry point. Note that the factory method must not leave
+LOCAL_C CArrayPtr&lt;MEikSrvNotifierBase2&gt;* NotifierArray()
+    {
+    CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;* notifiers =
+        new CArrayPtrFlat&lt;MEikSrvNotifierBase2&gt;(1);
+    if (notifiers)
+        {
+        TRAPD(err, CreateNotifiersL(notifiers));
+        if (err)
+            { // release any notifiers we have created
+            TInt count = notifiers-&gt;Count();
+            while (--count &gt;= 0)
+                {
+                (*notifiers)[count]-&gt;Release();
+                }
+            delete notifiers;
+            notifiers = NULL;
+            }
+        }
+    return notifiers;
+    }
+
+const TImplementationProxy KPosImplTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(KPosPrivacyNotifierImplUid, NotifierArray)
+    };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt&amp; aTableCount)
+    {
+    aTableCount = sizeof(KPosImplTable) / sizeof(TImplementationProxy);
+
+    return KPosImplTable;
+    }</codeblock></section>
+<section><title>Defining the ECOM resource file</title><p>The following is
+an example ECOM resource file for a Privacy Q&amp;N Notifier: </p><codeblock xml:space="preserve">#include &lt;RegistryInfo.rh&gt;
+#include &lt;Uikon.hrh&gt;
+#include &lt;EPos_PrivacyNotifier.hrh&gt;
+
+
+// RESOURCE DEFINITIONS
+// -----------------------------------------------------------------------------
+//
+// r_registry
+// ECOM registry information for Privacy UI
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO r_registry
+    {
+    dll_uid = 0x01234123;
+    interfaces =
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = KUikonUidPluginInterfaceNotifiers;
+            implementations =
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = KPosPrivacyNotifierImplUid;
+                    version_no = 1;
+                    display_name = "Privacy UI";
+                    }
+                };
+            }
+        };
+    }</codeblock><p>The most important points about this file are: </p><ul>
+<li><p>dll_uid is the UID of the notifier DLL. This should be the same as
+specified in the MMP file (see below). </p></li>
+<li><p>interface_uid is the UID of the <codeph>MEikSrvNotifierBase2</codeph> interface.
+This should be set to the constant <codeph>KUikonUidPluginInterfaceNotifiers</codeph> defined
+in <filepath>Uikon.hrh</filepath>. </p></li>
+<li><p>implementation_uid is the notifier implementation UID. This UID is
+defined as the constant <codeph>KPosPrivacyNotifierImplUid</codeph> in <filepath>EPos_PrivacyNotifier.hrh</filepath>.</p></li>
+</ul></section>
+<section><title>Defining the MMP file </title><p>The following is an example
+MMP file for a Privacy Q&amp;N Notifier:</p><codeblock xml:space="preserve">TARGET          myprivnot.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x01234123 // Notifier type uid = 0x10009D8D
+VENDORID        VID_DEFAULTCAPABILITY      ProtServ TrustedUI
+SOURCEPATH      ..\src
+SOURCE          MyPrivacyNotifierMain.cpp
+SOURCE          CMyPrivacyNotifier.cpp
+START RESOURCE  PrivacyNotifier.rss
+TARGET          myprivnot.rsc
+END
+SYSTEMINCLUDE   \Epoc32\Include
+SYSTEMINCLUDE   \Epoc32\Include\ECom
+SYSTEMINCLUDE   \Epoc32\Include\lbs
+LIBRARY         euser.lib
+LIBRARY         eposprvqnif.lib
+LIBRARY         eposprvtyp.lib
+LIBRARY         bafl.lib
+</codeblock><p>The most important points about this file are:</p><ul>
+<li><p>The target type is <codeph>PLUGIN</codeph> because the notifier is
+implemented as an ECOM plug-in.</p></li>
+<li><p>The second UID is <codeph>0x10009D8D</codeph> to identify the DLL as
+an ECOM plug-in.</p></li>
+<li><p>The third UID is the DLL UID and is allocated by Symbian. Note that
+this is not the same as the implementation UID specified in the ECOM resource
+file. </p></li>
+<li><p><filepath>\epoc32\include\lbs</filepath> is included in order to find
+the Privacy Query and Notification API header files. </p></li>
+<li><p><filepath>eposprvqnif.lib</filepath> is included to link against the
+Privacy Query and Notification API library. </p></li>
+<li><p>The notifier must have the <codeph>ProtServ</codeph> and <codeph>TrustedUI</codeph> capabilities
+as required by the Extended Notifier Framework. </p></li>
+</ul></section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e86872_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e87635_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e91070_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D74C4403-1516-4C8F-B457-98BA0F97718A_d0e91833_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D754C477-DB73-56F7-A135-13E1179CBB2D_d0e642901_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D754C477-DB73-56F7-A135-13E1179CBB2D_d0e655723_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D76B1999-E118-585B-A6B4-8AE8CCCB6F8B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D76B1999-E118-585B-A6B4-8AE8CCCB6F8B" xml:lang="en"><title>paged</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <codeph>paged</codeph>  </p>
-<p>Use the <codeph>paged</codeph> statement to specify that the executable
-is code-paged. This is the same as specifying the <xref href="GUID-E4BF80BE-17E9-5622-9E10-43C96EAC9754.dita">pagedcode</xref> keyword
-for an executable. </p>
-<p>You can also mark an executable as paged using the OBY file keyword <cmdname>file[[HWVD]]</cmdname>. For more information about the <cmdname>file[[HWVD]]</cmdname> keyword, refer to the ROM Tools Guide in the Application Development
-Toolkit available for download at  <xref href="http://developer.symbian.org/main/tools_and_kits/index.php" scope="external">http://developer.symbian.org</xref>. </p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D76C7759-739D-5C98-B718-7297687FE630.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D76C7759-739D-5C98-B718-7297687FE630.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -49,7 +49,7 @@
 The following diagram shows how an extended bitmap that represents an icon
 is ultimately displayed on the screen. </p> <fig id="GUID-690043B5-EF70-59BB-87D4-8B0B6EEA3F31">
 <title>              Example extended bitmap scenario            </title>
-<image href="GUID-970A2948-5A72-5E92-84C0-86DDEE59A569_d0e258363_href.png" placement="inline"/>
+<image href="GUID-970A2948-5A72-5E92-84C0-86DDEE59A569_d0e264372_href.png" placement="inline"/>
 </fig> <p>This is how it works: </p> <ol id="GUID-2B3B99F0-BF43-5F1C-A86E-5E9605460D7E">
 <li id="GUID-77F3E86D-7FC1-5682-90C0-EE83C8C39A22"><p>An engine or server
 (the Theme Server in this example) creates an extended bitmap that stores
@@ -87,7 +87,7 @@
 required.</p><fig id="GUID-3A965E47-106D-4EC3-BCFA-E2D40EDB2647">
 <title>The main participants in the extended bitmap framework, showing the
 dependencies </title>
-<image href="GUID-A67FFE7B-9573-543B-B3EA-0539278FE4AB_d0e258443_href.png" placement="inline"/>
+<image href="GUID-A67FFE7B-9573-543B-B3EA-0539278FE4AB_d0e264452_href.png" placement="inline"/>
 </fig><p>Although it is not possible to have more than one extended bitmap
 rasterizer DLL on a device, an extended bitmap rasterizer DLL can support
 more  than one type of proprietary data. Similarly, support for multiple data
Binary file Symbian3/PDK/Source/GUID-D7AFA78E-4B87-554E-B0A5-1AEEA98B537C_d0e39628_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D7AFA78E-4B87-554E-B0A5-1AEEA98B537C_d0e43862_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D7DF85A8-1F90-5EC8-9EA1-EB33382849B0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D7DF85A8-1F90-5EC8-9EA1-EB33382849B0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,34 +1,31 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-D7DF85A8-1F90-5EC8-9EA1-EB33382849B0" xml:lang="en"><title>TAndRClasses:
-typical ‘T’ and ‘R’ type classes</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Description</title> <p> <filepath>TAndRClasses</filepath> shows
-a typical ‘T’ class and a typical ‘R’ class. </p> <p>The ‘T’ type is a value
-type, owning no external object. </p> <p>The ‘R’ type is a resource type;
-typically this is proxy for an object owned elsewhere. In practice, the 'R'
-type is a handle to a resource owned and managed by the Kernel. </p> <p>In
-this example, the ‘R’ class derives from the standard Symbian platform handle
-class <codeph>RTimer</codeph>. </p> </section>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-1bfb2b42-8897-4660-8409-5e9fd441745b.zip" scope="external"> TAndRClasses.zip</xref></p><p>Click on the following link
-to download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-1bfb2b42-8897-4660-8409-5e9fd441745b.html" scope="peer"> browse TAndRClasses </xref> to view the example code.</p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">CommonFramework</xref> to view additional files.</p> </section>
-<section><title>Class summary</title><p> <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita"><apiname>RTimer </apiname></xref>  <xref href="GUID-CD0A798E-7E42-3689-8E86-F5FD43C758FC.dita"><apiname>TCleanupItem </apiname></xref> <xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack </apiname></xref>  <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> </p></section>
-<section><title>Build</title> <p>The example includes the two project files
-needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian platform build
-process</xref> describes how to build this application, which results in an
-executable called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
-or udeb&gt;\TANDRCLASSES.EXE</filepath>. </p> </section>
-<section><title>Usage</title> <p>Run the executable <filepath>TANDRCLASSES.EXE</filepath>. </p> <p>Executables
-for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can
-be run on your PC. Executables for ARM targets must be copied to your target
-platform before being run. </p> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D7DF85A8-1F90-5EC8-9EA1-EB33382849B0" xml:lang="en"><title>TAndRClasses: typical ‘T’ and ‘R’ type classes</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-B210D03B-5045-41C5-A940-BD10B6A5935E"><title>Description</title> <p> <filepath>TAndRClasses</filepath> shows a typical ‘T’ class and a typical ‘R’ class. </p> <p>The ‘T’
+type is a value type, owning no external object. </p> <p>The ‘R’ type
+is a resource type; typically this is proxy for an object owned elsewhere.
+In practice, the 'R' type is a handle to a resource owned and managed
+by the Kernel. </p> <p>In this example, the ‘R’ class derives from
+the standard Symbian platform handle class <codeph>RTimer</codeph>. </p> </section>
+<section id="GUID-7D492862-C13A-46D5-9C98-85A942A97E85"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-1bfb2b42-8897-4660-8409-5e9fd441745b.zip" scope="external"> TAndRClasses.zip</xref></p><p>Click on the following
+link to download additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.zip" scope="external">CommonFramework.zip</xref></p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-1bfb2b42-8897-4660-8409-5e9fd441745b.html" scope="peer"> browse TAndRClasses </xref> to view the example code.</p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-bd05bfa4-e51c-4cf7-b327-646b0b9e814d.html" scope="peer">CommonFramework</xref> to view additional files.</p> </section>
+<section id="GUID-C08E8FD5-CB0D-4FAD-94F3-3EBCF3D71586"><title>Class summary</title><p> <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita"><apiname>RTimer </apiname></xref>  <xref href="GUID-CD0A798E-7E42-3689-8E86-F5FD43C758FC.dita"><apiname>TCleanupItem </apiname></xref> <xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack </apiname></xref>  <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> </p></section>
+<section id="GUID-F05BA78D-979A-4DB8-92F5-A446FCDBE808"><title>Build</title> <p>The example includes the two project
+files needed for building: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> The Symbian platform build process
+describes how to build this application, which results in an executable
+called: </p> <p> <filepath>\epoc32\release\&lt;target&gt;\&lt;urel
+or udeb&gt;\TANDRCLASSES.EXE</filepath>. </p> </section>
+<section id="GUID-E7FA611D-AD03-42E8-835D-2F8CE873B929"><title>Usage</title> <p>Run the executable <filepath>TANDRCLASSES.EXE</filepath>. </p> <p>Executables for the emulator targets <filepath>wins</filepath> and <filepath>winscw</filepath> can be run on your PC. Executables
+for ARM targets must be copied to your target platform before being
+run. </p> </section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e109121_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e111554_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D7F000F0-019A-486E-BB0C-C0065D08C5F6_d0e2882_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D7F000F0-019A-486E-BB0C-C0065D08C5F6_d0e2892_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D81EAF75-EF8C-4B62-8866-439E29325E8A_d0e14240_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D81EAF75-EF8C-4B62-8866-439E29325E8A_d0e14339_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-D82FBEF6-D5F1-409E-AD8C-1CA516F8D318.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-D82FBEF6-D5F1-409E-AD8C-1CA516F8D318" xml:lang="en"><title>Retrieving application information from Software Component
+Registry</title><shortdesc>The Software Component Registry (SCR) is a unified registry
+of native and non-native software components and applications. The
+Client applications can retrieve application information from the
+SCR through read-only queries.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Client applications retrieve information from the SCR either using
+filters, or the application UID, as shown in the following
+tutorials:</p>
+</conbody><related-links>
+<link href="GUID-8EE40A1A-7905-522B-A1A1-3F4ED053B042.dita"><linktext>Using
+the Application Management Functions</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-D8302B04-D850-5FA7-A1AD-F5C40CF6A1EF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D8302B04-D850-5FA7-A1AD-F5C40CF6A1EF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 provided by a combination of AIF and caption files, has been split into two
 categories: </p> <p>The diagram below shows the new file structure used to
 provide application information. </p> <fig id="GUID-7C0D7121-43A4-5C29-86E6-A92F753D29A4">
-<image href="GUID-E4B5C7CE-7820-5D80-8CD1-DCD692C11F23_d0e169016_href.png" placement="inline"/>
+<image href="GUID-E4B5C7CE-7820-5D80-8CD1-DCD692C11F23_d0e175104_href.png" placement="inline"/>
 </fig> <ul>
 <li id="GUID-0D14076A-26FE-5E6A-BF57-69B169287BF1"><p>A registration file
 which 'points' to one of three localizable resource files provided. If the
Binary file Symbian3/PDK/Source/GUID-D84847BB-523D-5057-8F14-F6BCEECA2327_d0e228851_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-D84847BB-523D-5057-8F14-F6BCEECA2327_d0e234849_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -60,7 +60,7 @@
 implementation. </p> <fig id="GUID-C364B7DC-0DE0-55F8-9928-EE1318700935">
 <title>              Figure 1. The Privacy Controller API and part of the
 LBS subsystem.            </title>
-<image href="GUID-4C00FAF4-B500-5973-AC6C-79274122276A_d0e428942_href.png" placement="inline"/>
+<image href="GUID-4C00FAF4-B500-5973-AC6C-79274122276A_d0e434787_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-55AB42E6-417C-55FD-A734-20871B544417"><title>Privacy Controller
 startup and shutdown</title> <p>From Symbian OS v9.4 a licensee can configure
@@ -153,7 +153,7 @@
 of the Privacy Controller API. <xref href="GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita#GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0/GUID-50DD3996-3A4C-5FD1-9938-2F66DEECCFBB">MLbsPrivacyObserver</xref> has a dependency on <xref href="GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita#GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0/GUID-EF3695BB-5D29-519B-8410-41B82E9F2634">TLbsExternalRequestInfo</xref> (which is shown in more detail in Figure 3). </p> <fig id="GUID-3ED0FA49-FB2A-50E4-A40A-9CCBDF810CA6">
 <title>              Figure 2. Privacy Controller API classes and types  
          </title>
-<image href="GUID-4AE98C9B-03A9-5F26-BD0F-2A60B01A67F4_d0e429216_href.png" placement="inline"/>
+<image href="GUID-4AE98C9B-03A9-5F26-BD0F-2A60B01A67F4_d0e435061_href.png" placement="inline"/>
 </fig> <p>Figure 3 shows the <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref> and <xref href="GUID-EB52E7D5-55AE-3539-A212-AB2B5430D407.dita"><apiname>TLbsExternalRequestInfo2</apiname></xref> classes.
 Either a <codeph>TLbsExternalRequestInfo</codeph> or <codeph>TLbsExternalRequestInfo2</codeph> object
 reference is passed to the Privacy Controller via the <xref href="GUID-76C6B540-DCA5-33CB-9ABD-8951A2F1DD5D.dita#GUID-76C6B540-DCA5-33CB-9ABD-8951A2F1DD5D/GUID-74F567E4-1BD8-38A0-AF7E-51031DBFA625"><apiname>MLbsPrivacyObserver::ProcessNetworkLocationRequest()</apiname></xref> function
@@ -167,7 +167,7 @@
 about handling large buffers. </p> <fig id="GUID-B7748A22-266B-54C1-9C73-C77A8220B0FA">
 <title>              Figure 3. TLbsExternalRequestInfo, TLbsExternalRequestInfo2
 and              related types.            </title>
-<image href="GUID-648D4AEB-4BCD-552A-BCAF-F049F79F04FC_d0e429269_href.png" placement="inline"/>
+<image href="GUID-648D4AEB-4BCD-552A-BCAF-F049F79F04FC_d0e435114_href.png" placement="inline"/>
 </fig> <p><b>Libraries </b> </p> <p>The Privacy Controller API is packaged in <filepath>lbsprivacycontroller.dll</filepath>.
 A licensee Privacy Controller links to <filepath>lbsprivacycontroller.lib</filepath>. </p> <p>The
 API header files for the Privacy Controller API can be found in <filepath>/epoc32/include/lbs</filepath>. </p> <p><b>Capabilities </b> </p> <p>A licensee Privacy Controller requires the following
@@ -403,19 +403,19 @@
 can respond by either accepting or rejecting the request, or by not responding
 at all, in which case the LBS subsystem times out the privacy request. </p> <fig id="GUID-3EB95BD2-B78C-5A40-8239-D06C8F95273C">
 <title>                 Figure 4.1 Privacy verification               </title>
-<image href="GUID-2B5C905C-CEE7-5B7B-8143-A73D3352949A_d0e430245_href.png" placement="inline"/>
+<image href="GUID-2B5C905C-CEE7-5B7B-8143-A73D3352949A_d0e436090_href.png" placement="inline"/>
 </fig> <p id="GUID-227497D1-D8A7-579F-8B46-629D9833B6EC"><b> Privacy notification request</b> </p> <p>Figure
 4.2 shows the case when the Privacy Controller receives a privacy notification
 request. The Privacy Controller is notified of the request and can also receive
 notification of position calculation updates. </p> <fig id="GUID-EA3FA6C0-10C4-57D4-A44E-D6F1C705E149">
 <title>                 Figure 4.2. Privacy notification               </title>
-<image href="GUID-A6598739-2BB5-546E-931B-B202E3DD49E0_d0e430261_href.png" placement="inline"/>
+<image href="GUID-A6598739-2BB5-546E-931B-B202E3DD49E0_d0e436106_href.png" placement="inline"/>
 </fig> <p id="GUID-2552D9A2-4563-58DC-80FE-AEE7797CFB28"><b>Privacy verification request
 is cancelled</b> </p> <p>Figure 4.3 shows the case when a privacy verification
 request is cancelled. </p> <fig id="GUID-16093966-FFB9-53A8-9612-2B8F06FF616E">
 <title>                 Figure 4.3. Privacy verification is cancelled    
           </title>
-<image href="GUID-BAD38A27-5A46-5A72-B0AD-A095C207CD2B_d0e430277_href.png" placement="inline"/>
+<image href="GUID-BAD38A27-5A46-5A72-B0AD-A095C207CD2B_d0e436122_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <linklist>
Binary file Symbian3/PDK/Source/GUID-D8696B0F-01BC-5CBB-A061-6EC62186DD01-master.png has changed
Binary file Symbian3/PDK/Source/GUID-D8696B0F-01BC-5CBB-A061-6EC62186DD01_d0e616300_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D8837969-74D0-5E17-AD42-3F10DD1FD5BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D8837969-74D0-5E17-AD42-3F10DD1FD5BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -121,7 +121,7 @@
 to which the EXE is linked. The loader uses the version number in the import
 table to select the correct version of the DLL. The following flowchart shows
 how the loader selects the DLL from the set of possible DLLs. </p> <fig id="GUID-1F388A1E-BBB8-5481-8197-1F3C87BB2948">
-<image href="GUID-9D2752D1-4153-5978-A7B8-4C3F860B6B87_d0e366272_href.png" placement="inline"/>
+<image href="GUID-9D2752D1-4153-5978-A7B8-4C3F860B6B87_d0e372120_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-56B0AF9F-4D39-517B-A3A5-779B7D892CEF"><p>If there are no DLLs
 that meet the requirements, the load fails. </p> </li>
@@ -195,7 +195,7 @@
 number in <xref href="GUID-25327159-83D6-3507-B187-09EA4BB3727F.dita#GUID-25327159-83D6-3507-B187-09EA4BB3727F/GUID-4F1B2717-D34F-32A4-B6E6-03D0533186A3"><apiname>RLibrary::Load()</apiname></xref>, the loader selects a version
 of the DLL from the set. The following flowchart shows how the loader selects
 the DLL from the set of possible DLLs. </p> <fig id="GUID-9412E498-19E5-5D58-B913-DD55BBB79D4D">
-<image href="GUID-91224821-8094-59ED-A100-4174193A25EE_d0e366563_href.png" placement="inline"/>
+<image href="GUID-91224821-8094-59ED-A100-4174193A25EE_d0e372411_href.png" placement="inline"/>
 </fig> </li>
 <li id="GUID-61AE1C0C-A698-5BEC-A5DA-E28CB5D807A3"><p>If there are no DLLs
 that meet the requirements, the load fails. </p> </li>
Binary file Symbian3/PDK/Source/GUID-D8911BE6-100D-588A-8E5C-A429A72AFCDA_d0e394067_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8911BE6-100D-588A-8E5C-A429A72AFCDA_d0e399920_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8A3C18B-A107-5557-B882-CD6CDD0F0F1D_d0e303284_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8A3C18B-A107-5557-B882-CD6CDD0F0F1D_d0e309276_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e101350_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e79751_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e83949_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e86419_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e90617_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e97271_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D9040B2E-C4C6-576C-A3B2-9F68E8FCE4A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D9040B2E-C4C6-576C-A3B2-9F68E8FCE4A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-D9040B2E-C4C6-576C-A3B2-9F68E8FCE4A6"><title>Creating an Instance of the Bluetooth GPS PSY Configuration API</title><shortdesc>This topic shows you how to create a new instance of the Bluetooth GPS PSY Configuration API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-18-1-1-11-1-6-1-8-1-5-1-3-1-3-1"><p>To start using the Bluetooth GPS PSY Configuration API, the client application must first create a new instance of the API. Note that the client must have the <codeph>LocalServices</codeph> capability to do this. </p> <p>When creating a new instance, the client can request to receive update notifications about changes to the list by implementing the <xref href="GUID-75221780-805A-3DF5-853E-1A01B06C36ED.dita"><apiname>MLbsBtGpsConfigObserver</apiname></xref> observer class. The client can use these update notifications to refresh its own copy of the list. </p> </context> <steps-unordered><step id="GUID-CCD652B5-F8B7-58AB-892B-508BD29FEBE3"><cmd>Call <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita#GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF/GUID-51AD065D-5AB0-3899-8FC3-FFF9FE5465BC"><apiname>CLbsBtGpsConfig::NewL(MLbsBtGpsConfigObserver&amp;)</apiname></xref>. This function takes the <xref href="GUID-75221780-805A-3DF5-853E-1A01B06C36ED.dita"><apiname>MLbsBtGpsConfigObserver</apiname></xref> observer interface as input. </cmd> <info> Note: If the client does not require an observer interface, the <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita#GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF/GUID-AE4C17AC-B857-3EE3-9C0C-BB157CD09789"><apiname>CLbsBtGpsConfig::NewL()</apiname></xref> overload can be called instead. </info> <stepxmp><codeblock id="GUID-A2FD7D4F-E8B1-58E1-AEFB-447C8D9CBE67" xml:space="preserve">// Create a new instance of the API
+<task xml:lang="en" id="GUID-D9040B2E-C4C6-576C-A3B2-9F68E8FCE4A6"><title>Creating an Instance of the Bluetooth GPS PSY Configuration API</title><shortdesc>This topic shows you how to create a new instance of the Bluetooth GPS PSY Configuration API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-19-1-1-11-1-6-1-8-1-5-1-3-1-3-1"><p>To start using the Bluetooth GPS PSY Configuration API, the client application must first create a new instance of the API. Note that the client must have the <codeph>LocalServices</codeph> capability to do this. </p> <p>When creating a new instance, the client can request to receive update notifications about changes to the list by implementing the <xref href="GUID-75221780-805A-3DF5-853E-1A01B06C36ED.dita"><apiname>MLbsBtGpsConfigObserver</apiname></xref> observer class. The client can use these update notifications to refresh its own copy of the list. </p> </context> <steps-unordered><step id="GUID-CCD652B5-F8B7-58AB-892B-508BD29FEBE3"><cmd>Call <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita#GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF/GUID-51AD065D-5AB0-3899-8FC3-FFF9FE5465BC"><apiname>CLbsBtGpsConfig::NewL(MLbsBtGpsConfigObserver&amp;)</apiname></xref>. This function takes the <xref href="GUID-75221780-805A-3DF5-853E-1A01B06C36ED.dita"><apiname>MLbsBtGpsConfigObserver</apiname></xref> observer interface as input. </cmd> <info> Note: If the client does not require an observer interface, the <xref href="GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF.dita#GUID-2D92CE4A-3784-35E6-969F-504888DFA4FF/GUID-AE4C17AC-B857-3EE3-9C0C-BB157CD09789"><apiname>CLbsBtGpsConfig::NewL()</apiname></xref> overload can be called instead. </info> <stepxmp><codeblock id="GUID-A2FD7D4F-E8B1-58E1-AEFB-447C8D9CBE67" xml:space="preserve">// Create a new instance of the API
 // that implements the observer interface
 
 iConfig = CLbsBtGpsConfig::NewL(*this);</codeblock> </stepxmp> <stepresult>This step returns a newly constructed <codeph>CLbsBtGpsConfig</codeph> object. If the client does not have the required capabilities, <codeph>KErrPermissionDenied</codeph> is returned. </stepresult> </step> </steps-unordered> <result><p>A new instance of the Bluetooth GPS PSY Configuration API is created. </p> </result> <postreq><p><xref href="GUID-9619335F-7345-5C9B-BAF6-4C3D8172ECE6.dita">Adding a Device to the Start of the List</xref>  </p> </postreq> </taskbody><related-links><link href="GUID-5CAF1B85-853F-5450-B79B-7E768DFA44EC.dita"><linktext>Bluetooth
Binary file Symbian3/PDK/Source/GUID-D9203CF1-E8A7-5886-BD19-BE616BEF9111_d0e275161_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9203CF1-E8A7-5886-BD19-BE616BEF9111_d0e281161_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9393C13-FD50-550C-B6EE-18DAAFF1F3EF_d0e232296_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9393C13-FD50-550C-B6EE-18DAAFF1F3EF_d0e238291_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -49,7 +49,7 @@
 following diagram shows the key components in the Symbian Foundation Graphics
 package and some closely related components in other packages. </p> <fig id="GUID-3300E986-4B93-5122-88C4-D7CC231F3BA3">
 <title>             Symbian^3 component architecture            </title>
-<image href="GUID-DD22D66C-C303-5432-9C24-71F26190FCA0_d0e227747_href.png" placement="inline"/>
+<image href="GUID-DD22D66C-C303-5432-9C24-71F26190FCA0_d0e233746_href.png" placement="inline"/>
 </fig> <p>The key ScreenPlay components are introduced below under separate
 subheadings. </p> </section>
 <section id="GUID-AB1E3E20-01A9-4090-A404-0D1FF978AF53"><title>Graphics Composition </title><p>The
@@ -100,14 +100,14 @@
 on the S60 middleware layer, in particular on the Hitchcock component (which
 is in the UI Accelerator package). </p><fig id="GUID-0D91F9A6-68FC-5316-A16D-A3238F8452AD">
 <title>            Render stage solution A            </title>
-<image href="GUID-643AFF2D-3EDB-5FAB-9631-7B93FABC56B6_d0e227801_href.png" placement="inline"/>
+<image href="GUID-643AFF2D-3EDB-5FAB-9631-7B93FABC56B6_d0e233800_href.png" placement="inline"/>
 </fig><p>Another possible solution (called <i>solution B</i>) is based on
 the DirectGDI and Graphics Resource components (which are described next),
 both of which have interface and adaptation layers. This solution is not full
 featured. Like the previous diagram, this diagram focuses on the more relevant
 components and does not attempt to show everything. </p><fig id="GUID-6A761DC5-1141-5515-BD03-09FBFE56F2D7">
 <title>Render stage solution B</title>
-<image href="GUID-3DD37A41-E822-5CB6-A59E-0B309B5627D9_d0e227813_href.png" placement="inline"/>
+<image href="GUID-3DD37A41-E822-5CB6-A59E-0B309B5627D9_d0e233812_href.png" placement="inline"/>
 </fig><p>Both of these render stage solutions mean that existing Window Server
 applications can take advantage of hardware acceleration if it is available
 (and therefore run faster) without recompiling the code. </p><p>ScreenPlay
Binary file Symbian3/PDK/Source/GUID-D96DECA4-99B4-5F08-8FDF-C14771EEFACD_d0e229850_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D96DECA4-99B4-5F08-8FDF-C14771EEFACD_d0e235845_href.png has changed
--- a/Symbian3/PDK/Source/GUID-D96EE819-DEA9-5B1A-AA94-4AC065C73697.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D96EE819-DEA9-5B1A-AA94-4AC065C73697.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 <p>The following diagram illustrates how elements are organised within the
 array buffer:</p>
 <fig id="GUID-D3DF754C-E97D-5408-8229-8AD4E262981E">
-<image href="GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e317363_href.png" placement="inline"/>
+<image href="GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e323353_href.png" placement="inline"/>
 </fig>
 <p>This kind of array is suitable for large arrays with a high
 turnover of elements.</p>
--- a/Symbian3/PDK/Source/GUID-D987BEC9-B976-5A65-B6B3-D44BC8A96430.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D987BEC9-B976-5A65-B6B3-D44BC8A96430.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 </ul> <fig id="GUID-F4261959-A2C5-445F-BA71-D84D8CBA9050">
 <title>              Hardware Resource Manager's Architectural Relationships
            </title>
-<image href="GUID-0211CAA4-32FF-52F2-81DA-78C52C412AED_d0e155252_href.png" placement="inline"/>
+<image href="GUID-0211CAA4-32FF-52F2-81DA-78C52C412AED_d0e161353_href.png" placement="inline"/>
 </fig> <p><b>Client APIs </b> </p> <p>HWRM provides client APIs that can control
 various hardware elements. It also provides callback pointers, so that the
 client applications can register to receive notification on the hardware status
Binary file Symbian3/PDK/Source/GUID-D98DA21C-B0F4-5267-AF00-94B789AE302A_d0e446285_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D98DA21C-B0F4-5267-AF00-94B789AE302A_d0e452130_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D99BA39B-BC58-51AC-B148-0945736FFC03_d0e594638_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-D99BA39B-BC58-51AC-B148-0945736FFC03_d0e622532_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-D99BA4CA-9823-4968-953D-36AA7F266B39_d0e13674_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D99BA4CA-9823-4968-953D-36AA7F266B39_d0e13773_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9BE2E51-D80C-537C-BE94-2A3699BE1DC6_d0e230215_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9BE2E51-D80C-537C-BE94-2A3699BE1DC6_d0e236210_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9C4D520-821D-5097-A63C-0BF4C7F59827_d0e436152_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9C4D520-821D-5097-A63C-0BF4C7F59827_d0e441997_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e101439_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e79873_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e84071_href.png has changed
Binary file Symbian3/PDK/Source/GUID-D9F3D83E-50C7-4D15-839C-F225D95865B0_d0e97360_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DA070DA3-CE2E-5B4E-834F-32BED736E01D_d0e109777_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DA070DA3-CE2E-5B4E-834F-32BED736E01D_d0e112200_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DA2C605B-6CCF-4039-BD02-DD4BDA003C97_d0e69055_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DA2C605B-6CCF-4039-BD02-DD4BDA003C97_d0e73268_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1"><title>Positioning Plug-in Information API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Positioning Plug-in Information API defines Publish and Subscribe (P&amp;S) keys for publishing and receiving PSY settings. The API is intended for device creators who write their own PSYs. </p> <section><title>Contents</title> <ul><li id="GUID-F154C09E-9148-57F7-BC4E-5F69D7A2C1B0-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-3">Purpose</xref> </p> </li> <li id="GUID-E81C5D5C-2162-589C-8677-459CC1DE9BA4-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-4">API description</xref>  </p> </li> <li id="GUID-EEBE4B98-3F9B-54D9-825C-E2C3ECC84091-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5">Using the Positioning Plug-in Information API</xref>  </p> <ul><li id="GUID-904EE33A-1C37-59D6-B0A7-828DCA3915B7-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-3-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-4">Positioning Plug-in Information API published keys</xref>  </p> </li> <li id="GUID-CF4A5928-09C8-55F9-BAAA-384F00475899-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-3-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-11">Extensions to the API</xref>  </p> </li> </ul> </li> <li id="GUID-408D16C8-A9F7-5C03-8A16-4D07187DA40B-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-4"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6">Glossary</xref> </p> <ul><li id="GUID-D44C1874-8F06-51BA-96F9-7446B402C9F2-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-4-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-2">Abbreviations</xref> </p> </li> <li id="GUID-4D514325-C143-5E2A-8E6A-8EA122E953DE-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-4-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-4">Definitions</xref> </p> </li> <li id="GUID-38A40B81-6066-53E4-973F-EE303CFC43C1-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-2-2-4-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1/GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-6">References</xref> </p> </li> </ul> </li> </ul> </section> <section id="GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-3"><title>Purpose</title> <p>The Positioning Plug-in Information API defines Central Repository keys for publishing Positioning Plug-in (PSY) static capabilities and basic setup information related to the PSY. These keys published by the PSYs are used by Location Framework. This API is intended for developers who write their own positioning plug-ins. </p> <p>The licensee also needs to implement the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref> to create a PSY. </p> </section> <section id="GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-4"><title>API Description</title> <p>The Positioning Plug-in Information API is a Central Repository interface for defining keys. It specifies the parameters associated with a positioning module. It does not define any classes but defines the keys that each Positioning Plug-in needs to declare. </p> <p>To use the Positioning Plug-in Information API, a developer must create a Central Repository file with the same UID as the PSY’s UID. This file must contain all the defined keys for the positioning plug-in. If the values for the keys are incorrect the Location Framework will ignore the plug-in and it will not be usable. If this file is to be backed up during a backup operation, the owner of this file should be set to <codeph>0x101f97b2</codeph>, which is the Location Server’s UID. </p> </section> <section id="GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5"><title>Using the Positioning Plug-in Information API</title> <p>To implement a PSY, the developer must do the following: </p> <ol id="GUID-3BA28F3C-714C-573D-81E5-D87EDCE646CC-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-3"><li id="GUID-DA6F0E1A-A492-571B-AF52-5484526967D0-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-3-1"><p>Create a PSY by implementing the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>. </p> </li> <li id="GUID-8B9D5ED4-5C91-59FA-A931-A33D1A0FD88B-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-3-2"><p>Create a Central Repository file to publish PSY information according to the Positioning Plug-in Information API. </p> </li> <li id="GUID-A9605241-CFA4-56DA-90FF-968EFD785546-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-3-3"><p>Test the positioning module implementation using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. The PSY tester application tests whether a particular PSY implementation conforms to the Positioning Plug-in API and the Positioning Plug-in Information API specifications. </p> </li> </ol> <p id="GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-4"><b>Positioning Plug-in Information API published keys</b> </p> <p>Every Positioning Plug-in has its own repository identified with the implementation UID of the plug-in. This repository contains the predefined keys published by the Positioning Plug-in Information API. These keys include the properties of the positioning plug-in. The keys are defined in the <filepath>PositioningPluginFWInternalCRKeys.h</filepath> header file. </p> <table id="GUID-6749D3D1-3968-5792-B7D6-25C2A69ED891-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-6"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Central Repository key </entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-4C4DCA0A-E524-3383-8151-A68FF8DBF72F.dita"><apiname>KPSYInterfaceVersion</apiname></xref>  </p> </entry> <entry><p>The version of the Positioning Plug-in Information API interface. </p> </entry> </row> <row><entry><p> <xref href="GUID-9E477072-14CC-3247-B39C-909802A49EA9.dita"><apiname>KPSYPriority</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in priority set for the PSY on installation. </p> </entry> </row> <row><entry><p> <xref href="GUID-C64C26DB-52A1-36B0-B890-6E2879AE4938.dita"><apiname>KPSYStatus</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in status set for the PSY when installed to the system. </p> </entry> </row> <row><entry><p> <xref href="GUID-F0018CF3-8D7E-3E5C-8345-779EA09C514D.dita"><apiname>KPSYTimeToFirstFix</apiname></xref>  </p> </entry> <entry><p>The estimated time to the first fix from the positioning plug-in after a connection is established. It is defined as a double and should not be a negative number. The definition for time to the first fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-FA1D8202-F243-3271-BC24-0092BC803D3A.dita"><apiname>KPSYTimeToNextFix</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the time between consecutive fixes once the plug-in has been loaded and started. It is defined as a double and should not be a negative number. The definition of the time to the next fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-7C18FF42-1D28-3C35-B950-80AFDEBCAEE8.dita"><apiname>KPSYHorizontalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected horizontal accuracy and should be given in metres. The definition of horizontal accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8F18F9EA-A90F-31BE-968C-C925D4428CBF.dita"><apiname>KPSYVerticalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected vertical accuracy and should be given in metres. The definition of vertical accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-0D9A6DA8-0705-3511-8381-E46AAC50E5AB.dita"><apiname>KPSYCostIndicator</apiname></xref>  </p> </entry> <entry><p>The cost of using the positioning technology. The cost indicator takes one of the discrete values unknown, zero, possible or charge. There is no mapping to any fixed sum of money. The cost indicator is only a default value. The actual value can be changed by the user. The definition for possible cost indicator values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-CC3515E5-4A2D-3371-A4BF-3197AABE7B6F.dita"><apiname>KPSYPowerConsumption</apiname></xref>  </p> </entry> <entry><p>The power consumption of the plug-in. Power consumption takes one of the discrete values unknown, zero, low, medium or high. There is no mapping to any fixed power. The definition for possible power consumption values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-715DB9BF-8C60-39AA-A653-3C4FFC38B94D.dita"><apiname>KPSYTechnologyType</apiname></xref>  </p> </entry> <entry><p>The type of technology used to get the location. Specifies whether the positioning technology is terminal-based or network-based, or if it is using assistance data from the network. The definition for all available values for technology can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-85153FA6-F39E-3654-B69E-D5ED0466F194.dita"><apiname>KPSYDeviceLocation</apiname></xref>  </p> </entry> <entry><p>The positioning hardware deployment. Specifies whether the actual positioning hardware is internal or external to the phone. The definition for all available values for this device location can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-C3FD0558-0C69-3587-ABFD-61AFBC328A7B.dita"><apiname>KPSYCapabilities</apiname></xref>  </p> </entry> <entry><p>The positioning capabilities of the positioning plug-in. This is a bitmap specifying the PSY’s capabilities, for example whether the PSY is capable of handling vertical measurements, NMEA reading, addresses, compass information, building information. The definition for all available values for capabilities can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8B42A620-635D-34A6-B8D4-FA0BC33CDE4B.dita"><apiname>KPSYClassesSupported</apiname></xref>  </p> </entry> <entry><p>The supported Location Framework position data classes. This is a bitmap specifying which <codeph>TPositionInfoBase</codeph> classes can be handled by the PSY. A PSY must always support at least <codeph>TPositionInfo</codeph>. The definition for all available values for supported classes can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-9449A2EB-85B5-3221-9D12-A543BFD8CE3A.dita"><apiname>KPSYVisibility</apiname></xref>  </p> </entry> <entry><p>This key specifies whether the plug-in is visible to Location Framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-A6348C78-825B-3CD5-A0B3-12885F9CCCB8.dita"><apiname>KPSYNameResource</apiname></xref>  </p> </entry> <entry><p>This key specifies the name for the resource file that contains the localised text for the PSY name. If the key does not exist or the resource file does not exist, the name mentioned in the ECOM implementation resource file is used as the PSY name. </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Example</b> </p> <p>The Positioning Plug-in keys are specified as part of a Central Repository file. The example below is a typical Central Repository file created for a PSY. </p> <codeblock id="GUID-B570C267-A981-571D-9FE7-6D21D4148AAE-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-9" xml:space="preserve">/* The Header of the central repository text file */
-cenrep
-/* Version of central repository */
-version 1
-[owner]
-/* The owner for this central repository file, which is Location Server */
-0x101f97b2
-[defaultmeta]
-/* Central Repository related headers */
- 0
-[platsec]
-/* Capability required to access(read / write) these central repository keys */
-cap_rd=ReadDeviceData cap_wr=WriteDeviceData
-[Main]
-/* 
- * The keys defined by the Positioning Plug-in Information API interface.
- * These key values are read by Location Server using Central Repository.
- */
-
-/* version 1 of the Positioning plug-in Information API. */
-0x1 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * PSY Priority 0 which means that Location Server will decide the priority
- * of the PSY. 
- */
-0x2 int 0 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The PSY is available when it is installed in the system.
- * The availability can be changed later through the Location UI.
- */
-0x3 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated time to obtain the initial location fix 80000000 microseconds
- * i.e. 80 seconds.
- */
-0x4 int 80000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated time to obtain a fix knowing the current position is 1000000 microseconds
- * i.e. 1 second.  
- */
-0x5 int 1000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated error for the latitude and longitude 
- * components of a position determined by this PSY is 10 metres.
- */
-0x6 real 10 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated error for the altitude components of
- * a position determined by this PSY is 30 metres.  
- */
-0x7 real 30 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The user will not incur any charge when using this PSY 
- * to make a position determination.
- */
-0x8 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * This PSY will consume a resonable amount of battery power when
- * used for position determination.
- */
-0x9 int 3 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The PSY uses a positioning techonology that works stand-alone
- * on the terminal.
- */
-0xa int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The PSY uses a technology external to the terminal.
- */
-0xb int 2 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The PSY is capable of returning information about
- * latitude, longitude, speed, address and satellite.
- */
-0xc int 95 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * This PSY is capable of returning location information
- * through all position information data classes namely
- * TPositionInfo, TPositionCourseInfo, TPositionSatelliteInfo 
- * and HGenericPositionInfo.
- */
-0xd int 15 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * This PSY is visible to the user through the Location UI.
- */
-0xe int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The localised PSY name is specified in psylocalised_name.rsc
- * resource file.
- */
-0xf string "\\resource\\psylocalised_name.rsc" 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail</codeblock> <p> </p> <p id="GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-11"><b> Extensions to the API</b> </p> <p><b>PSY-specific settings</b> </p> <p>Any PSY-specific settings can be implemented as part of the same Central Repository file as the PSY common settings. In this case, the PSY must publish a header for the PSY-specific settings. The header must contain the Central Repository UID value and the key values for the PSY-specific settings. </p> <p>The PSY-specific settings key are bound by the following constraints: </p> <ul><li id="GUID-E4DAE7D2-6876-5118-8934-D5A5CD53898A-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-15-1"><p>IDs should start from the value 0x10000000. The values from 0x0000000F to 0x0FFFFFFF are reserved for expansion of the Positioning Plug-in Information API. </p> </li> <li id="GUID-77C92F57-11A5-5034-B9EF-34867652E239-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-15-2"><p>The required capabilities for the keys should be: </p> <ul><li id="GUID-3B274CAE-FFC2-5F56-AC40-02DA90947273-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-15-2-2-1"><p> <codeph>ReadDeviceData</codeph> for reading the key values </p> </li> <li id="GUID-42C90200-E32C-5523-AD7C-EF0AF5900FE1-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-5-15-2-2-2"><p> <codeph>WriteDeviceData</codeph> for writing the key values </p> </li> </ul> </li> </ul> <p>Alternatively the PSY can implement these settings through any other mechanism such as database or file stores. </p> <p>An example of PSY-specific settings are those of the <xref href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita">Bluetooth PSY Settings</xref>. </p> <p><b>PSY-specific Configuration UI</b> </p> <p>The PSY can implement a configuration UI for reading and setting the PSY-specific settings keys. Creating a configuration UI for a PSY is a licensee-specific task as it uses platform-dependent UI framework. </p> </section> <section id="GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6"><title>Glossary</title> <p id="GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-2"><b>Abbreviations</b> </p> <table id="GUID-DE49F7C2-022A-5AF0-9AB5-95DE75A5DDD7-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Abbreviation</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>API </p> </entry> <entry><p>Application Programming Interface </p> </entry> </row> <row><entry><p>LBS </p> </entry> <entry><p>Location Based Services </p> </entry> </row> <row><entry><p>PSY </p> </entry> <entry><p>Positioning Technology Plug-in </p> </entry> </row> <row><entry><p>SDK </p> </entry> <entry><p>Software Development Kit </p> </entry> </row> <row><entry><p>UML </p> </entry> <entry><p>Unified Modeling Language </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-4"><b>Definitions</b> </p> <table id="GUID-714F83DA-5D51-51E9-B49D-64152B46C1E4-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Term</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>ECom </p> </entry> <entry><p>A system support that allows the loading of interface implementations. </p> </entry> </row> <row><entry><p>Location Framework </p> </entry> <entry><p>A framework for enabling location based services in Symbian. </p> </entry> </row> <row><entry><p>UID </p> </entry> <entry><p>Unique Identifier number in Symbian. </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-6"><b>References</b> </p> <ul><li id="GUID-52C60F11-55B4-5637-8E3C-AAF7A9A1566F-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-7-1"><p><xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"> Location Acquisition API</xref>  </p> </li> <li id="GUID-3A1C16EA-0D2A-5C19-9F98-DFEF3E3C4D33-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-7-2"><p><xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>  </p> </li> <li id="GUID-A2F35F6B-A97E-5011-B76B-899F46F09552-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1-2-6-7-3"><p><xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY Tester User’s Guide</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1"><title>Positioning Plug-in Information API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Positioning Plug-in Information API defines Publish and Subscribe (P&amp;S) keys for publishing and receiving PSY settings. The API is intended for device creators who write their own PSYs. </p> <section><title>Contents</title> <ul><li id="GUID-F154C09E-9148-57F7-BC4E-5F69D7A2C1B0-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-3">Purpose</xref> </p> </li> <li id="GUID-E81C5D5C-2162-589C-8677-459CC1DE9BA4-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-4">API description</xref>  </p> </li> <li id="GUID-EEBE4B98-3F9B-54D9-825C-E2C3ECC84091-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5">Using the Positioning Plug-in Information API</xref>  </p> <ul><li id="GUID-904EE33A-1C37-59D6-B0A7-828DCA3915B7-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-3-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-4">Positioning Plug-in Information API published keys</xref>  </p> </li> <li id="GUID-CF4A5928-09C8-55F9-BAAA-384F00475899-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-3-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-11">Extensions to the API</xref>  </p> </li> </ul> </li> <li id="GUID-408D16C8-A9F7-5C03-8A16-4D07187DA40B-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-4"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6">Glossary</xref> </p> <ul><li id="GUID-D44C1874-8F06-51BA-96F9-7446B402C9F2-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-4-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-2">Abbreviations</xref> </p> </li> <li id="GUID-4D514325-C143-5E2A-8E6A-8EA122E953DE-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-4-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-4">Definitions</xref> </p> </li> <li id="GUID-38A40B81-6066-53E4-973F-EE303CFC43C1-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-2-2-4-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-6-1/GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-6">References</xref> </p> </li> </ul> </li> </ul> </section> <section id="GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-3"><title>Purpose</title> <p>The Positioning Plug-in Information API defines Central Repository keys for publishing Positioning Plug-in (PSY) static capabilities and basic setup information related to the PSY. These keys published by the PSYs are used by Location Framework. This API is intended for developers who write their own positioning plug-ins. </p> <p>The licensee also needs to implement the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref> to create a PSY. </p> </section> <section id="GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-4"><title>API Description</title> <p>The Positioning Plug-in Information API is a Central Repository interface for defining keys. It specifies the parameters associated with a positioning module. It does not define any classes but defines the keys that each Positioning Plug-in needs to declare. </p> <p>To use the Positioning Plug-in Information API, a developer must create a Central Repository file with the same UID as the PSY’s UID. This file must contain all the defined keys for the positioning plug-in. If the values for the keys are incorrect the Location Framework will ignore the plug-in and it will not be usable. If this file is to be backed up during a backup operation, the owner of this file should be set to <codeph>0x101f97b2</codeph>, which is the Location Server’s UID. </p> </section> <section id="GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5"><title>Using the Positioning Plug-in Information API</title> <p>To implement a PSY, the developer must do the following: </p> <ol id="GUID-3BA28F3C-714C-573D-81E5-D87EDCE646CC-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-3"><li id="GUID-DA6F0E1A-A492-571B-AF52-5484526967D0-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-3-1"><p>Create a PSY by implementing the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>. </p> </li> <li id="GUID-8B9D5ED4-5C91-59FA-A931-A33D1A0FD88B-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-3-2"><p>Create a Central Repository file to publish PSY information according to the Positioning Plug-in Information API. </p> </li> <li id="GUID-A9605241-CFA4-56DA-90FF-968EFD785546-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-3-3"><p>Test the positioning module implementation using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. The PSY tester application tests whether a particular PSY implementation conforms to the Positioning Plug-in API and the Positioning Plug-in Information API specifications. </p> </li> </ol> <p id="GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-4"><b>Positioning Plug-in Information API published keys</b> </p> <p>Every Positioning Plug-in has its own repository identified with the implementation UID of the plug-in. This repository contains the predefined keys published by the Positioning Plug-in Information API. These keys include the properties of the positioning plug-in. The keys are defined in the <filepath>PositioningPluginFWInternalCRKeys.h</filepath> header file. </p> <table id="GUID-6749D3D1-3968-5792-B7D6-25C2A69ED891-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-6"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Central Repository key </entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-4C4DCA0A-E524-3383-8151-A68FF8DBF72F.dita"><apiname>KPSYInterfaceVersion</apiname></xref>  </p> </entry> <entry><p>The version of the Positioning Plug-in Information API interface. </p> </entry> </row> <row><entry><p> <xref href="GUID-9E477072-14CC-3247-B39C-909802A49EA9.dita"><apiname>KPSYPriority</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in priority set for the PSY on installation. </p> </entry> </row> <row><entry><p> <xref href="GUID-C64C26DB-52A1-36B0-B890-6E2879AE4938.dita"><apiname>KPSYStatus</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in status set for the PSY when installed to the system. </p> </entry> </row> <row><entry><p> <xref href="GUID-F0018CF3-8D7E-3E5C-8345-779EA09C514D.dita"><apiname>KPSYTimeToFirstFix</apiname></xref>  </p> </entry> <entry><p>The estimated time to the first fix from the positioning plug-in after a connection is established. It is defined as a double and should not be a negative number. The definition for time to the first fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-FA1D8202-F243-3271-BC24-0092BC803D3A.dita"><apiname>KPSYTimeToNextFix</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the time between consecutive fixes once the plug-in has been loaded and started. It is defined as a double and should not be a negative number. The definition of the time to the next fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-7C18FF42-1D28-3C35-B950-80AFDEBCAEE8.dita"><apiname>KPSYHorizontalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected horizontal accuracy and should be given in metres. The definition of horizontal accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8F18F9EA-A90F-31BE-968C-C925D4428CBF.dita"><apiname>KPSYVerticalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected vertical accuracy and should be given in metres. The definition of vertical accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-0D9A6DA8-0705-3511-8381-E46AAC50E5AB.dita"><apiname>KPSYCostIndicator</apiname></xref>  </p> </entry> <entry><p>The cost of using the positioning technology. The cost indicator takes one of the discrete values unknown, zero, possible or charge. There is no mapping to any fixed sum of money. The cost indicator is only a default value. The actual value can be changed by the user. The definition for possible cost indicator values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-CC3515E5-4A2D-3371-A4BF-3197AABE7B6F.dita"><apiname>KPSYPowerConsumption</apiname></xref>  </p> </entry> <entry><p>The power consumption of the plug-in. Power consumption takes one of the discrete values unknown, zero, low, medium or high. There is no mapping to any fixed power. The definition for possible power consumption values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-715DB9BF-8C60-39AA-A653-3C4FFC38B94D.dita"><apiname>KPSYTechnologyType</apiname></xref>  </p> </entry> <entry><p>The type of technology used to get the location. Specifies whether the positioning technology is terminal-based or network-based, or if it is using assistance data from the network. The definition for all available values for technology can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-85153FA6-F39E-3654-B69E-D5ED0466F194.dita"><apiname>KPSYDeviceLocation</apiname></xref>  </p> </entry> <entry><p>The positioning hardware deployment. Specifies whether the actual positioning hardware is internal or external to the phone. The definition for all available values for this device location can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-C3FD0558-0C69-3587-ABFD-61AFBC328A7B.dita"><apiname>KPSYCapabilities</apiname></xref>  </p> </entry> <entry><p>The positioning capabilities of the positioning plug-in. This is a bitmap specifying the PSY’s capabilities, for example whether the PSY is capable of handling vertical measurements, NMEA reading, addresses, compass information, building information. The definition for all available values for capabilities can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8B42A620-635D-34A6-B8D4-FA0BC33CDE4B.dita"><apiname>KPSYClassesSupported</apiname></xref>  </p> </entry> <entry><p>The supported Location Framework position data classes. This is a bitmap specifying which <codeph>TPositionInfoBase</codeph> classes can be handled by the PSY. A PSY must always support at least <codeph>TPositionInfo</codeph>. The definition for all available values for supported classes can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-9449A2EB-85B5-3221-9D12-A543BFD8CE3A.dita"><apiname>KPSYVisibility</apiname></xref>  </p> </entry> <entry><p>This key specifies whether the plug-in is visible to Location Framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-A6348C78-825B-3CD5-A0B3-12885F9CCCB8.dita"><apiname>KPSYNameResource</apiname></xref>  </p> </entry> <entry><p>This key specifies the name for the resource file that contains the localised text for the PSY name. If the key does not exist or the resource file does not exist, the name mentioned in the ECOM implementation resource file is used as the PSY name. </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Example</b> </p> <p>The Positioning Plug-in keys are specified as part of a Central Repository file. The example below is a typical Central Repository file created for a PSY. </p> <codeblock id="GUID-B570C267-A981-571D-9FE7-6D21D4148AAE-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-9" xml:space="preserve">/* The Header of the central repository text file */
-cenrep
-/* Version of central repository */
-version 1
-[owner]
-/* The owner for this central repository file, which is Location Server */
-0x101f97b2
-[defaultmeta]
-/* Central Repository related headers */
- 0
-[platsec]
-/* Capability required to access(read / write) these central repository keys */
-cap_rd=ReadDeviceData cap_wr=WriteDeviceData
-[Main]
-/* 
- * The keys defined by the Positioning Plug-in Information API interface.
- * These key values are read by Location Server using Central Repository.
- */
-
-/* version 1 of the Positioning plug-in Information API. */
-0x1 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * PSY Priority 0 which means that Location Server will decide the priority
- * of the PSY. 
- */
-0x2 int 0 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The PSY is available when it is installed in the system.
- * The availability can be changed later through the Location UI.
- */
-0x3 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated time to obtain the initial location fix 80000000 microseconds
- * i.e. 80 seconds.
- */
-0x4 int 80000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated time to obtain a fix knowing the current position is 1000000 microseconds
- * i.e. 1 second.  
- */
-0x5 int 1000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated error for the latitude and longitude 
- * components of a position determined by this PSY is 10 metres.
- */
-0x6 real 10 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/* 
- * The estimated error for the altitude components of
- * a position determined by this PSY is 30 metres.  
- */
-0x7 real 30 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The user will not incur any charge when using this PSY 
- * to make a position determination.
- */
-0x8 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * This PSY will consume a resonable amount of battery power when
- * used for position determination.
- */
-0x9 int 3 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The PSY uses a positioning techonology that works stand-alone
- * on the terminal.
- */
-0xa int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The PSY uses a technology external to the terminal.
- */
-0xb int 2 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The PSY is capable of returning information about
- * latitude, longitude, speed, address and satellite.
- */
-0xc int 95 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * This PSY is capable of returning location information
- * through all position information data classes namely
- * TPositionInfo, TPositionCourseInfo, TPositionSatelliteInfo 
- * and HGenericPositionInfo.
- */
-0xd int 15 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * This PSY is visible to the user through the Location UI.
- */
-0xe int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
-
-/*
- * The localised PSY name is specified in psylocalised_name.rsc
- * resource file.
- */
-0xf string "\\resource\\psylocalised_name.rsc" 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail</codeblock> <p> </p> <p id="GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-11"><b> Extensions to the API</b> </p> <p><b>PSY-specific settings</b> </p> <p>Any PSY-specific settings can be implemented as part of the same Central Repository file as the PSY common settings. In this case, the PSY must publish a header for the PSY-specific settings. The header must contain the Central Repository UID value and the key values for the PSY-specific settings. </p> <p>The PSY-specific settings key are bound by the following constraints: </p> <ul><li id="GUID-E4DAE7D2-6876-5118-8934-D5A5CD53898A-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-15-1"><p>IDs should start from the value 0x10000000. The values from 0x0000000F to 0x0FFFFFFF are reserved for expansion of the Positioning Plug-in Information API. </p> </li> <li id="GUID-77C92F57-11A5-5034-B9EF-34867652E239-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-15-2"><p>The required capabilities for the keys should be: </p> <ul><li id="GUID-3B274CAE-FFC2-5F56-AC40-02DA90947273-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-15-2-2-1"><p> <codeph>ReadDeviceData</codeph> for reading the key values </p> </li> <li id="GUID-42C90200-E32C-5523-AD7C-EF0AF5900FE1-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-5-15-2-2-2"><p> <codeph>WriteDeviceData</codeph> for writing the key values </p> </li> </ul> </li> </ul> <p>Alternatively the PSY can implement these settings through any other mechanism such as database or file stores. </p> <p>An example of PSY-specific settings are those of the <xref href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita">Bluetooth PSY Settings</xref>. </p> <p><b>PSY-specific Configuration UI</b> </p> <p>The PSY can implement a configuration UI for reading and setting the PSY-specific settings keys. Creating a configuration UI for a PSY is a licensee-specific task as it uses platform-dependent UI framework. </p> </section> <section id="GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6"><title>Glossary</title> <p id="GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-2"><b>Abbreviations</b> </p> <table id="GUID-DE49F7C2-022A-5AF0-9AB5-95DE75A5DDD7-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Abbreviation</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>API </p> </entry> <entry><p>Application Programming Interface </p> </entry> </row> <row><entry><p>LBS </p> </entry> <entry><p>Location Based Services </p> </entry> </row> <row><entry><p>PSY </p> </entry> <entry><p>Positioning Technology Plug-in </p> </entry> </row> <row><entry><p>SDK </p> </entry> <entry><p>Software Development Kit </p> </entry> </row> <row><entry><p>UML </p> </entry> <entry><p>Unified Modeling Language </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-4"><b>Definitions</b> </p> <table id="GUID-714F83DA-5D51-51E9-B49D-64152B46C1E4-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Term</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>ECom </p> </entry> <entry><p>A system support that allows the loading of interface implementations. </p> </entry> </row> <row><entry><p>Location Framework </p> </entry> <entry><p>A framework for enabling location based services in Symbian. </p> </entry> </row> <row><entry><p>UID </p> </entry> <entry><p>Unique Identifier number in Symbian. </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-6"><b>References</b> </p> <ul><li id="GUID-52C60F11-55B4-5637-8E3C-AAF7A9A1566F-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-7-1"><p><xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"> Location Acquisition API</xref>  </p> </li> <li id="GUID-3A1C16EA-0D2A-5C19-9F98-DFEF3E3C4D33-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-7-2"><p><xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>  </p> </li> <li id="GUID-A2F35F6B-A97E-5011-B76B-899F46F09552-GENID-1-12-1-18-1-1-10-1-5-1-6-1-2-6-7-3"><p><xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY Tester User’s Guide</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1"><title>Positioning Plug-in Information API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Positioning Plug-in Information API defines Publish and Subscribe (P&amp;S) keys for publishing and receiving PSY settings. The API is intended for device creators who write their own PSYs. </p> <section><title>Contents</title> <ul><li id="GUID-F154C09E-9148-57F7-BC4E-5F69D7A2C1B0-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-3">Purpose</xref> </p> </li> <li id="GUID-E81C5D5C-2162-589C-8677-459CC1DE9BA4-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-4">API description</xref>  </p> </li> <li id="GUID-EEBE4B98-3F9B-54D9-825C-E2C3ECC84091-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5">Using the Positioning Plug-in Information API</xref>  </p> <ul><li id="GUID-904EE33A-1C37-59D6-B0A7-828DCA3915B7-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-3-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-4">Positioning Plug-in Information API published keys</xref>  </p> </li> <li id="GUID-CF4A5928-09C8-55F9-BAAA-384F00475899-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-3-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-11">Extensions to the API</xref>  </p> </li> </ul> </li> <li id="GUID-408D16C8-A9F7-5C03-8A16-4D07187DA40B-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-4"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6">Glossary</xref> </p> <ul><li id="GUID-D44C1874-8F06-51BA-96F9-7446B402C9F2-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-4-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-2">Abbreviations</xref> </p> </li> <li id="GUID-4D514325-C143-5E2A-8E6A-8EA122E953DE-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-4-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-4">Definitions</xref> </p> </li> <li id="GUID-38A40B81-6066-53E4-973F-EE303CFC43C1-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-2-2-4-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1/GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-6">References</xref> </p> </li> </ul> </li> </ul> </section> <section id="GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-3"><title>Purpose</title> <p>The Positioning Plug-in Information API defines Central Repository keys for publishing Positioning Plug-in (PSY) static capabilities and basic setup information related to the PSY. These keys published by the PSYs are used by Location Framework. This API is intended for developers who write their own positioning plug-ins. </p> <p>The licensee also needs to implement the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref> to create a PSY. </p> </section> <section id="GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-4"><title>API Description</title> <p>The Positioning Plug-in Information API is a Central Repository interface for defining keys. It specifies the parameters associated with a positioning module. It does not define any classes but defines the keys that each Positioning Plug-in needs to declare. </p> <p>To use the Positioning Plug-in Information API, a developer must create a Central Repository file with the same UID as the PSY’s UID. This file must contain all the defined keys for the positioning plug-in. If the values for the keys are incorrect the Location Framework will ignore the plug-in and it will not be usable. If this file is to be backed up during a backup operation, the owner of this file should be set to <codeph>0x101f97b2</codeph>, which is the Location Server’s UID. </p> </section> <section id="GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5"><title>Using the Positioning Plug-in Information API</title> <p>To implement a PSY, the developer must do the following: </p> <ol id="GUID-3BA28F3C-714C-573D-81E5-D87EDCE646CC-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-3"><li id="GUID-DA6F0E1A-A492-571B-AF52-5484526967D0-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-3-1"><p>Create a PSY by implementing the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>. </p> </li> <li id="GUID-8B9D5ED4-5C91-59FA-A931-A33D1A0FD88B-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-3-2"><p>Create a Central Repository file to publish PSY information according to the Positioning Plug-in Information API. </p> </li> <li id="GUID-A9605241-CFA4-56DA-90FF-968EFD785546-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-3-3"><p>Test the positioning module implementation using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. The PSY tester application tests whether a particular PSY implementation conforms to the Positioning Plug-in API and the Positioning Plug-in Information API specifications. </p> </li> </ol> <p id="GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-4"><b>Positioning Plug-in Information API published keys</b> </p> <p>Every Positioning Plug-in has its own repository identified with the implementation UID of the plug-in. This repository contains the predefined keys published by the Positioning Plug-in Information API. These keys include the properties of the positioning plug-in. The keys are defined in the <filepath>PositioningPluginFWInternalCRKeys.h</filepath> header file. </p> <table id="GUID-6749D3D1-3968-5792-B7D6-25C2A69ED891-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-6"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Central Repository key </entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-4C4DCA0A-E524-3383-8151-A68FF8DBF72F.dita"><apiname>KPSYInterfaceVersion</apiname></xref>  </p> </entry> <entry><p>The version of the Positioning Plug-in Information API interface. </p> </entry> </row> <row><entry><p> <xref href="GUID-9E477072-14CC-3247-B39C-909802A49EA9.dita"><apiname>KPSYPriority</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in priority set for the PSY on installation. </p> </entry> </row> <row><entry><p> <xref href="GUID-C64C26DB-52A1-36B0-B890-6E2879AE4938.dita"><apiname>KPSYStatus</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in status set for the PSY when installed to the system. </p> </entry> </row> <row><entry><p> <xref href="GUID-F0018CF3-8D7E-3E5C-8345-779EA09C514D.dita"><apiname>KPSYTimeToFirstFix</apiname></xref>  </p> </entry> <entry><p>The estimated time to the first fix from the positioning plug-in after a connection is established. It is defined as a double and should not be a negative number. The definition for time to the first fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-FA1D8202-F243-3271-BC24-0092BC803D3A.dita"><apiname>KPSYTimeToNextFix</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the time between consecutive fixes once the plug-in has been loaded and started. It is defined as a double and should not be a negative number. The definition of the time to the next fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-7C18FF42-1D28-3C35-B950-80AFDEBCAEE8.dita"><apiname>KPSYHorizontalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected horizontal accuracy and should be given in metres. The definition of horizontal accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8F18F9EA-A90F-31BE-968C-C925D4428CBF.dita"><apiname>KPSYVerticalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected vertical accuracy and should be given in metres. The definition of vertical accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-0D9A6DA8-0705-3511-8381-E46AAC50E5AB.dita"><apiname>KPSYCostIndicator</apiname></xref>  </p> </entry> <entry><p>The cost of using the positioning technology. The cost indicator takes one of the discrete values unknown, zero, possible or charge. There is no mapping to any fixed sum of money. The cost indicator is only a default value. The actual value can be changed by the user. The definition for possible cost indicator values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-CC3515E5-4A2D-3371-A4BF-3197AABE7B6F.dita"><apiname>KPSYPowerConsumption</apiname></xref>  </p> </entry> <entry><p>The power consumption of the plug-in. Power consumption takes one of the discrete values unknown, zero, low, medium or high. There is no mapping to any fixed power. The definition for possible power consumption values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-715DB9BF-8C60-39AA-A653-3C4FFC38B94D.dita"><apiname>KPSYTechnologyType</apiname></xref>  </p> </entry> <entry><p>The type of technology used to get the location. Specifies whether the positioning technology is terminal-based or network-based, or if it is using assistance data from the network. The definition for all available values for technology can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-85153FA6-F39E-3654-B69E-D5ED0466F194.dita"><apiname>KPSYDeviceLocation</apiname></xref>  </p> </entry> <entry><p>The positioning hardware deployment. Specifies whether the actual positioning hardware is internal or external to the phone. The definition for all available values for this device location can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-C3FD0558-0C69-3587-ABFD-61AFBC328A7B.dita"><apiname>KPSYCapabilities</apiname></xref>  </p> </entry> <entry><p>The positioning capabilities of the positioning plug-in. This is a bitmap specifying the PSY’s capabilities, for example whether the PSY is capable of handling vertical measurements, NMEA reading, addresses, compass information, building information. The definition for all available values for capabilities can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8B42A620-635D-34A6-B8D4-FA0BC33CDE4B.dita"><apiname>KPSYClassesSupported</apiname></xref>  </p> </entry> <entry><p>The supported Location Framework position data classes. This is a bitmap specifying which <codeph>TPositionInfoBase</codeph> classes can be handled by the PSY. A PSY must always support at least <codeph>TPositionInfo</codeph>. The definition for all available values for supported classes can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-9449A2EB-85B5-3221-9D12-A543BFD8CE3A.dita"><apiname>KPSYVisibility</apiname></xref>  </p> </entry> <entry><p>This key specifies whether the plug-in is visible to Location Framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-A6348C78-825B-3CD5-A0B3-12885F9CCCB8.dita"><apiname>KPSYNameResource</apiname></xref>  </p> </entry> <entry><p>This key specifies the name for the resource file that contains the localised text for the PSY name. If the key does not exist or the resource file does not exist, the name mentioned in the ECOM implementation resource file is used as the PSY name. </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Example</b> </p> <p>The Positioning Plug-in keys are specified as part of a Central Repository file. The example below is a typical Central Repository file created for a PSY. </p> <codeblock id="GUID-B570C267-A981-571D-9FE7-6D21D4148AAE-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-9" xml:space="preserve">/* The Header of the central repository text file */
+cenrep
+/* Version of central repository */
+version 1
+[owner]
+/* The owner for this central repository file, which is Location Server */
+0x101f97b2
+[defaultmeta]
+/* Central Repository related headers */
+ 0
+[platsec]
+/* Capability required to access(read / write) these central repository keys */
+cap_rd=ReadDeviceData cap_wr=WriteDeviceData
+[Main]
+/* 
+ * The keys defined by the Positioning Plug-in Information API interface.
+ * These key values are read by Location Server using Central Repository.
+ */
+
+/* version 1 of the Positioning plug-in Information API. */
+0x1 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * PSY Priority 0 which means that Location Server will decide the priority
+ * of the PSY. 
+ */
+0x2 int 0 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The PSY is available when it is installed in the system.
+ * The availability can be changed later through the Location UI.
+ */
+0x3 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated time to obtain the initial location fix 80000000 microseconds
+ * i.e. 80 seconds.
+ */
+0x4 int 80000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated time to obtain a fix knowing the current position is 1000000 microseconds
+ * i.e. 1 second.  
+ */
+0x5 int 1000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated error for the latitude and longitude 
+ * components of a position determined by this PSY is 10 metres.
+ */
+0x6 real 10 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated error for the altitude components of
+ * a position determined by this PSY is 30 metres.  
+ */
+0x7 real 30 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The user will not incur any charge when using this PSY 
+ * to make a position determination.
+ */
+0x8 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * This PSY will consume a resonable amount of battery power when
+ * used for position determination.
+ */
+0x9 int 3 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The PSY uses a positioning techonology that works stand-alone
+ * on the terminal.
+ */
+0xa int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The PSY uses a technology external to the terminal.
+ */
+0xb int 2 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The PSY is capable of returning information about
+ * latitude, longitude, speed, address and satellite.
+ */
+0xc int 95 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * This PSY is capable of returning location information
+ * through all position information data classes namely
+ * TPositionInfo, TPositionCourseInfo, TPositionSatelliteInfo 
+ * and HGenericPositionInfo.
+ */
+0xd int 15 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * This PSY is visible to the user through the Location UI.
+ */
+0xe int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The localised PSY name is specified in psylocalised_name.rsc
+ * resource file.
+ */
+0xf string "\\resource\\psylocalised_name.rsc" 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail</codeblock> <p> </p> <p id="GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-11"><b> Extensions to the API</b> </p> <p><b>PSY-specific settings</b> </p> <p>Any PSY-specific settings can be implemented as part of the same Central Repository file as the PSY common settings. In this case, the PSY must publish a header for the PSY-specific settings. The header must contain the Central Repository UID value and the key values for the PSY-specific settings. </p> <p>The PSY-specific settings key are bound by the following constraints: </p> <ul><li id="GUID-E4DAE7D2-6876-5118-8934-D5A5CD53898A-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-15-1"><p>IDs should start from the value 0x10000000. The values from 0x0000000F to 0x0FFFFFFF are reserved for expansion of the Positioning Plug-in Information API. </p> </li> <li id="GUID-77C92F57-11A5-5034-B9EF-34867652E239-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-15-2"><p>The required capabilities for the keys should be: </p> <ul><li id="GUID-3B274CAE-FFC2-5F56-AC40-02DA90947273-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-15-2-2-1"><p> <codeph>ReadDeviceData</codeph> for reading the key values </p> </li> <li id="GUID-42C90200-E32C-5523-AD7C-EF0AF5900FE1-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-5-15-2-2-2"><p> <codeph>WriteDeviceData</codeph> for writing the key values </p> </li> </ul> </li> </ul> <p>Alternatively the PSY can implement these settings through any other mechanism such as database or file stores. </p> <p>An example of PSY-specific settings are those of the <xref href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita">Bluetooth PSY Settings</xref>. </p> <p><b>PSY-specific Configuration UI</b> </p> <p>The PSY can implement a configuration UI for reading and setting the PSY-specific settings keys. Creating a configuration UI for a PSY is a licensee-specific task as it uses platform-dependent UI framework. </p> </section> <section id="GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6"><title>Glossary</title> <p id="GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-2"><b>Abbreviations</b> </p> <table id="GUID-DE49F7C2-022A-5AF0-9AB5-95DE75A5DDD7-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Abbreviation</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>API </p> </entry> <entry><p>Application Programming Interface </p> </entry> </row> <row><entry><p>LBS </p> </entry> <entry><p>Location Based Services </p> </entry> </row> <row><entry><p>PSY </p> </entry> <entry><p>Positioning Technology Plug-in </p> </entry> </row> <row><entry><p>SDK </p> </entry> <entry><p>Software Development Kit </p> </entry> </row> <row><entry><p>UML </p> </entry> <entry><p>Unified Modeling Language </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-4"><b>Definitions</b> </p> <table id="GUID-714F83DA-5D51-51E9-B49D-64152B46C1E4-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Term</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>ECom </p> </entry> <entry><p>A system support that allows the loading of interface implementations. </p> </entry> </row> <row><entry><p>Location Framework </p> </entry> <entry><p>A framework for enabling location based services in Symbian. </p> </entry> </row> <row><entry><p>UID </p> </entry> <entry><p>Unique Identifier number in Symbian. </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-6"><b>References</b> </p> <ul><li id="GUID-52C60F11-55B4-5637-8E3C-AAF7A9A1566F-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-7-1"><p><xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"> Location Acquisition API</xref>  </p> </li> <li id="GUID-3A1C16EA-0D2A-5C19-9F98-DFEF3E3C4D33-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-7-2"><p><xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>  </p> </li> <li id="GUID-A2F35F6B-A97E-5011-B76B-899F46F09552-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1-2-6-7-3"><p><xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY Tester User’s Guide</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1"><title>Positioning Plug-in Information API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Positioning Plug-in Information API defines Publish and Subscribe (P&amp;S) keys for publishing and receiving PSY settings. The API is intended for device creators who write their own PSYs. </p> <section><title>Contents</title> <ul><li id="GUID-F154C09E-9148-57F7-BC4E-5F69D7A2C1B0-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-3">Purpose</xref> </p> </li> <li id="GUID-E81C5D5C-2162-589C-8677-459CC1DE9BA4-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-4">API description</xref>  </p> </li> <li id="GUID-EEBE4B98-3F9B-54D9-825C-E2C3ECC84091-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5">Using the Positioning Plug-in Information API</xref>  </p> <ul><li id="GUID-904EE33A-1C37-59D6-B0A7-828DCA3915B7-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-3-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-4">Positioning Plug-in Information API published keys</xref>  </p> </li> <li id="GUID-CF4A5928-09C8-55F9-BAAA-384F00475899-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-3-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-11">Extensions to the API</xref>  </p> </li> </ul> </li> <li id="GUID-408D16C8-A9F7-5C03-8A16-4D07187DA40B-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-4"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6">Glossary</xref> </p> <ul><li id="GUID-D44C1874-8F06-51BA-96F9-7446B402C9F2-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-4-2-1"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-2">Abbreviations</xref> </p> </li> <li id="GUID-4D514325-C143-5E2A-8E6A-8EA122E953DE-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-4-2-2"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-4">Definitions</xref> </p> </li> <li id="GUID-38A40B81-6066-53E4-973F-EE303CFC43C1-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-2-2-4-2-3"><p><xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1.dita#GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-6-1/GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-6">References</xref> </p> </li> </ul> </li> </ul> </section> <section id="GUID-54FAA4F6-F3D5-5876-A914-A598E6FF7EF7-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-3"><title>Purpose</title> <p>The Positioning Plug-in Information API defines Central Repository keys for publishing Positioning Plug-in (PSY) static capabilities and basic setup information related to the PSY. These keys published by the PSYs are used by Location Framework. This API is intended for developers who write their own positioning plug-ins. </p> <p>The licensee also needs to implement the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref> to create a PSY. </p> </section> <section id="GUID-D0101461-C24E-5477-83FC-A25AE8A62503-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-4"><title>API Description</title> <p>The Positioning Plug-in Information API is a Central Repository interface for defining keys. It specifies the parameters associated with a positioning module. It does not define any classes but defines the keys that each Positioning Plug-in needs to declare. </p> <p>To use the Positioning Plug-in Information API, a developer must create a Central Repository file with the same UID as the PSY’s UID. This file must contain all the defined keys for the positioning plug-in. If the values for the keys are incorrect the Location Framework will ignore the plug-in and it will not be usable. If this file is to be backed up during a backup operation, the owner of this file should be set to <codeph>0x101f97b2</codeph>, which is the Location Server’s UID. </p> </section> <section id="GUID-3C0DF56B-A650-5FC6-99A4-7A2878280ED2-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5"><title>Using the Positioning Plug-in Information API</title> <p>To implement a PSY, the developer must do the following: </p> <ol id="GUID-3BA28F3C-714C-573D-81E5-D87EDCE646CC-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-3"><li id="GUID-DA6F0E1A-A492-571B-AF52-5484526967D0-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-3-1"><p>Create a PSY by implementing the <xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>. </p> </li> <li id="GUID-8B9D5ED4-5C91-59FA-A931-A33D1A0FD88B-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-3-2"><p>Create a Central Repository file to publish PSY information according to the Positioning Plug-in Information API. </p> </li> <li id="GUID-A9605241-CFA4-56DA-90FF-968EFD785546-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-3-3"><p>Test the positioning module implementation using the <xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY tester application</xref>. The PSY tester application tests whether a particular PSY implementation conforms to the Positioning Plug-in API and the Positioning Plug-in Information API specifications. </p> </li> </ol> <p id="GUID-D73BEF29-7A57-5E11-A373-2437A03CFA78-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-4"><b>Positioning Plug-in Information API published keys</b> </p> <p>Every Positioning Plug-in has its own repository identified with the implementation UID of the plug-in. This repository contains the predefined keys published by the Positioning Plug-in Information API. These keys include the properties of the positioning plug-in. The keys are defined in the <filepath>PositioningPluginFWInternalCRKeys.h</filepath> header file. </p> <table id="GUID-6749D3D1-3968-5792-B7D6-25C2A69ED891-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-6"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Central Repository key </entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-4C4DCA0A-E524-3383-8151-A68FF8DBF72F.dita"><apiname>KPSYInterfaceVersion</apiname></xref>  </p> </entry> <entry><p>The version of the Positioning Plug-in Information API interface. </p> </entry> </row> <row><entry><p> <xref href="GUID-9E477072-14CC-3247-B39C-909802A49EA9.dita"><apiname>KPSYPriority</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in priority set for the PSY on installation. </p> </entry> </row> <row><entry><p> <xref href="GUID-C64C26DB-52A1-36B0-B890-6E2879AE4938.dita"><apiname>KPSYStatus</apiname></xref>  </p> </entry> <entry><p>The Positioning plug-in status set for the PSY when installed to the system. </p> </entry> </row> <row><entry><p> <xref href="GUID-F0018CF3-8D7E-3E5C-8345-779EA09C514D.dita"><apiname>KPSYTimeToFirstFix</apiname></xref>  </p> </entry> <entry><p>The estimated time to the first fix from the positioning plug-in after a connection is established. It is defined as a double and should not be a negative number. The definition for time to the first fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-FA1D8202-F243-3271-BC24-0092BC803D3A.dita"><apiname>KPSYTimeToNextFix</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the time between consecutive fixes once the plug-in has been loaded and started. It is defined as a double and should not be a negative number. The definition of the time to the next fix can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-7C18FF42-1D28-3C35-B950-80AFDEBCAEE8.dita"><apiname>KPSYHorizontalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected horizontal accuracy and should be given in metres. The definition of horizontal accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8F18F9EA-A90F-31BE-968C-C925D4428CBF.dita"><apiname>KPSYVerticalAccuracy</apiname></xref>  </p> </entry> <entry><p>This should be a conservative estimate of the expected vertical accuracy and should be given in metres. The definition of vertical accuracy can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-0D9A6DA8-0705-3511-8381-E46AAC50E5AB.dita"><apiname>KPSYCostIndicator</apiname></xref>  </p> </entry> <entry><p>The cost of using the positioning technology. The cost indicator takes one of the discrete values unknown, zero, possible or charge. There is no mapping to any fixed sum of money. The cost indicator is only a default value. The actual value can be changed by the user. The definition for possible cost indicator values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-CC3515E5-4A2D-3371-A4BF-3197AABE7B6F.dita"><apiname>KPSYPowerConsumption</apiname></xref>  </p> </entry> <entry><p>The power consumption of the plug-in. Power consumption takes one of the discrete values unknown, zero, low, medium or high. There is no mapping to any fixed power. The definition for possible power consumption values can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-715DB9BF-8C60-39AA-A653-3C4FFC38B94D.dita"><apiname>KPSYTechnologyType</apiname></xref>  </p> </entry> <entry><p>The type of technology used to get the location. Specifies whether the positioning technology is terminal-based or network-based, or if it is using assistance data from the network. The definition for all available values for technology can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-85153FA6-F39E-3654-B69E-D5ED0466F194.dita"><apiname>KPSYDeviceLocation</apiname></xref>  </p> </entry> <entry><p>The positioning hardware deployment. Specifies whether the actual positioning hardware is internal or external to the phone. The definition for all available values for this device location can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-C3FD0558-0C69-3587-ABFD-61AFBC328A7B.dita"><apiname>KPSYCapabilities</apiname></xref>  </p> </entry> <entry><p>The positioning capabilities of the positioning plug-in. This is a bitmap specifying the PSY’s capabilities, for example whether the PSY is capable of handling vertical measurements, NMEA reading, addresses, compass information, building information. The definition for all available values for capabilities can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-8B42A620-635D-34A6-B8D4-FA0BC33CDE4B.dita"><apiname>KPSYClassesSupported</apiname></xref>  </p> </entry> <entry><p>The supported Location Framework position data classes. This is a bitmap specifying which <codeph>TPositionInfoBase</codeph> classes can be handled by the PSY. A PSY must always support at least <codeph>TPositionInfo</codeph>. The definition for all available values for supported classes can be found in the Location Acquisition API. </p> </entry> </row> <row><entry><p> <xref href="GUID-9449A2EB-85B5-3221-9D12-A543BFD8CE3A.dita"><apiname>KPSYVisibility</apiname></xref>  </p> </entry> <entry><p>This key specifies whether the plug-in is visible to Location Framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-A6348C78-825B-3CD5-A0B3-12885F9CCCB8.dita"><apiname>KPSYNameResource</apiname></xref>  </p> </entry> <entry><p>This key specifies the name for the resource file that contains the localised text for the PSY name. If the key does not exist or the resource file does not exist, the name mentioned in the ECOM implementation resource file is used as the PSY name. </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Example</b> </p> <p>The Positioning Plug-in keys are specified as part of a Central Repository file. The example below is a typical Central Repository file created for a PSY. </p> <codeblock id="GUID-B570C267-A981-571D-9FE7-6D21D4148AAE-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-9" xml:space="preserve">/* The Header of the central repository text file */
+cenrep
+/* Version of central repository */
+version 1
+[owner]
+/* The owner for this central repository file, which is Location Server */
+0x101f97b2
+[defaultmeta]
+/* Central Repository related headers */
+ 0
+[platsec]
+/* Capability required to access(read / write) these central repository keys */
+cap_rd=ReadDeviceData cap_wr=WriteDeviceData
+[Main]
+/* 
+ * The keys defined by the Positioning Plug-in Information API interface.
+ * These key values are read by Location Server using Central Repository.
+ */
+
+/* version 1 of the Positioning plug-in Information API. */
+0x1 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * PSY Priority 0 which means that Location Server will decide the priority
+ * of the PSY. 
+ */
+0x2 int 0 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The PSY is available when it is installed in the system.
+ * The availability can be changed later through the Location UI.
+ */
+0x3 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated time to obtain the initial location fix 80000000 microseconds
+ * i.e. 80 seconds.
+ */
+0x4 int 80000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated time to obtain a fix knowing the current position is 1000000 microseconds
+ * i.e. 1 second.  
+ */
+0x5 int 1000000 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated error for the latitude and longitude 
+ * components of a position determined by this PSY is 10 metres.
+ */
+0x6 real 10 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/* 
+ * The estimated error for the altitude components of
+ * a position determined by this PSY is 30 metres.  
+ */
+0x7 real 30 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The user will not incur any charge when using this PSY 
+ * to make a position determination.
+ */
+0x8 int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * This PSY will consume a resonable amount of battery power when
+ * used for position determination.
+ */
+0x9 int 3 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The PSY uses a positioning techonology that works stand-alone
+ * on the terminal.
+ */
+0xa int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The PSY uses a technology external to the terminal.
+ */
+0xb int 2 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The PSY is capable of returning information about
+ * latitude, longitude, speed, address and satellite.
+ */
+0xc int 95 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * This PSY is capable of returning location information
+ * through all position information data classes namely
+ * TPositionInfo, TPositionCourseInfo, TPositionSatelliteInfo 
+ * and HGenericPositionInfo.
+ */
+0xd int 15 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * This PSY is visible to the user through the Location UI.
+ */
+0xe int 1 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail
+
+/*
+ * The localised PSY name is specified in psylocalised_name.rsc
+ * resource file.
+ */
+0xf string "\\resource\\psylocalised_name.rsc" 16777216 cap_rd=ReadDeviceData cap_wr=alwaysfail</codeblock> <p> </p> <p id="GUID-4703C9C7-7909-5284-99C0-1D88070DA2F5-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-11"><b> Extensions to the API</b> </p> <p><b>PSY-specific settings</b> </p> <p>Any PSY-specific settings can be implemented as part of the same Central Repository file as the PSY common settings. In this case, the PSY must publish a header for the PSY-specific settings. The header must contain the Central Repository UID value and the key values for the PSY-specific settings. </p> <p>The PSY-specific settings key are bound by the following constraints: </p> <ul><li id="GUID-E4DAE7D2-6876-5118-8934-D5A5CD53898A-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-15-1"><p>IDs should start from the value 0x10000000. The values from 0x0000000F to 0x0FFFFFFF are reserved for expansion of the Positioning Plug-in Information API. </p> </li> <li id="GUID-77C92F57-11A5-5034-B9EF-34867652E239-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-15-2"><p>The required capabilities for the keys should be: </p> <ul><li id="GUID-3B274CAE-FFC2-5F56-AC40-02DA90947273-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-15-2-2-1"><p> <codeph>ReadDeviceData</codeph> for reading the key values </p> </li> <li id="GUID-42C90200-E32C-5523-AD7C-EF0AF5900FE1-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-5-15-2-2-2"><p> <codeph>WriteDeviceData</codeph> for writing the key values </p> </li> </ul> </li> </ul> <p>Alternatively the PSY can implement these settings through any other mechanism such as database or file stores. </p> <p>An example of PSY-specific settings are those of the <xref href="GUID-5454AFE9-ADC2-5980-85FC-3FF457B638D0.dita">Bluetooth PSY Settings</xref>. </p> <p><b>PSY-specific Configuration UI</b> </p> <p>The PSY can implement a configuration UI for reading and setting the PSY-specific settings keys. Creating a configuration UI for a PSY is a licensee-specific task as it uses platform-dependent UI framework. </p> </section> <section id="GUID-5FEBB0E6-3E75-53B5-A416-7F9F687E0071-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6"><title>Glossary</title> <p id="GUID-DA92D821-DE5E-5324-8EE9-F31223ADB81F-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-2"><b>Abbreviations</b> </p> <table id="GUID-DE49F7C2-022A-5AF0-9AB5-95DE75A5DDD7-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Abbreviation</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>API </p> </entry> <entry><p>Application Programming Interface </p> </entry> </row> <row><entry><p>LBS </p> </entry> <entry><p>Location Based Services </p> </entry> </row> <row><entry><p>PSY </p> </entry> <entry><p>Positioning Technology Plug-in </p> </entry> </row> <row><entry><p>SDK </p> </entry> <entry><p>Software Development Kit </p> </entry> </row> <row><entry><p>UML </p> </entry> <entry><p>Unified Modeling Language </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-1D083A2D-FB50-5D24-A641-941B1657E64D-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-4"><b>Definitions</b> </p> <table id="GUID-714F83DA-5D51-51E9-B49D-64152B46C1E4-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-5"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Term</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>ECom </p> </entry> <entry><p>A system support that allows the loading of interface implementations. </p> </entry> </row> <row><entry><p>Location Framework </p> </entry> <entry><p>A framework for enabling location based services in Symbian. </p> </entry> </row> <row><entry><p>UID </p> </entry> <entry><p>Unique Identifier number in Symbian. </p> </entry> </row> </tbody> </tgroup> </table> <p id="GUID-31329496-57D1-5C17-B4F4-50125B8393A8-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-6"><b>References</b> </p> <ul><li id="GUID-52C60F11-55B4-5637-8E3C-AAF7A9A1566F-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-7-1"><p><xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita"> Location Acquisition API</xref>  </p> </li> <li id="GUID-3A1C16EA-0D2A-5C19-9F98-DFEF3E3C4D33-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-7-2"><p><xref href="GUID-893737B2-4863-5BB9-8AA1-6AB5045FADC9.dita">Positioning Plug-in API</xref>  </p> </li> <li id="GUID-A2F35F6B-A97E-5011-B76B-899F46F09552-GENID-1-12-1-19-1-1-10-1-5-1-6-1-2-6-7-3"><p><xref href="GUID-20D774EC-4993-55F5-979C-AF80A264F777.dita">PSY Tester User’s Guide</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-DA7751A1-4EC5-5FBA-A42B-E254133A1D82_d0e303330_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DA7751A1-4EC5-5FBA-A42B-E254133A1D82_d0e309322_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DA793067-32DD-5D4D-A0E6-E05DF9047529.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DA793067-32DD-5D4D-A0E6-E05DF9047529"><title>export</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph>  <codeph>export</codeph>  <codeph>( ( [-c] | [-w] ) | ( [-k] [-v] ) ) </codeph> </p> <p>This command copies all the files to be exported from source to their destinations, as defined in the <codeph>prj_exports</codeph> section of the component description file.</p> <p>Each destination file is only created if it does not exist or has an earlier datestamp than the corresponding source file. </p> <p>The directories which will contain the destination files will be created automatically if they do not exist.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-DA8908E9-28C7-5200-A5B2-EC1ED60ABE90.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DA8908E9-28C7-5200-A5B2-EC1ED60ABE90.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 /h</codeph>. </info>
 <info>The following screenshot shows the main options of SWI console. </info>
 <info><fig id="GUID-63957634-B7CD-5B17-872D-EDD1EDFB7984">
-<image href="GUID-3013C136-6041-5A77-8A11-41DE406DC689_d0e20586_href.jpg" placement="inline"/>
+<image href="GUID-3013C136-6041-5A77-8A11-41DE406DC689_d0e22553_href.jpg" placement="inline"/>
 </fig> </info>
 </step>
 <step id="GUID-2298D4D6-EC6C-5178-A66B-042AF1933CC3"><cmd/>
Binary file Symbian3/PDK/Source/GUID-DA962F06-7618-5E02-9E05-65AFFA69045E_d0e232343_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DA962F06-7618-5E02-9E05-65AFFA69045E_d0e238338_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e86835_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e87237_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e91033_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e91435_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,11 +9,11 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C"><title>Location Settings API</title><shortdesc>The Location Settings API allows an application to get and set the properties of a PSY. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> </p> <section><title>Contents</title> <ul><li id="GUID-5C7D32AA-BBA2-55EF-BA32-5F2D461EAFC0"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1122A71A-7868-5394-917B-5C5EB8E97EC8">Purpose</xref>  </p> </li> <li id="GUID-FD73A08E-C032-5A49-8F95-CBF9DBF567A5"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-B6F9AB52-9375-5601-8760-1C3B72620E71">API description</xref>  </p> <ul><li id="GUID-4E424394-F32F-594F-BD79-3BF54E292793"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-A45324D8-CF2A-52BD-A08F-7C3A56A8E9F8">PSY attributes</xref>  </p> </li> </ul> </li> <li id="GUID-81B5646F-4EAA-5869-95BC-95832CC798B0"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-5A9DAD33-86D7-5066-9CED-36FEF03AEC80">API summary</xref>  </p> </li> <li id="GUID-E599DD05-DA59-5CD2-A7B7-C4B46AABE1D0"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-F2BD6C21-25D7-5E3A-B24E-16D783EDDFA6">Using the API</xref>  </p> <ul><li id="GUID-12DF3B2A-93B7-5F5D-8330-E7A25822B71C"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-54DC1DC0-290A-55DD-B5BD-D87BE8E3194F"> Retrieving information about installed PSYs</xref>  </p> </li> <li id="GUID-90FA746B-3BAA-542F-9B3A-9888D8BC28EC"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-B5AC0535-5CFA-5A5F-A67F-F05A3D7F78D1">Modifying PSY attributes</xref>  </p> </li> <li id="GUID-0B6F5C23-8D8B-5879-B91B-7D0793A1323B"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-0ADE50DD-84E3-5DAE-94E3-4BB424665734">Changing priority order of PSYs </xref>  </p> </li> <li id="GUID-763E86DE-BBBD-567A-8F54-C2A521402CDE"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1438A703-4F6F-5AC2-A52C-37BABE7AF5B9"> Listening to settings change events </xref>  </p> </li> </ul> </li> <li id="GUID-56AF88DC-075C-5A2B-BE22-6F0450E19537"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1EBC1700-209D-5AC2-ABF7-CB866A8728C8">Error handling</xref>  </p> </li> <li id="GUID-F7769CE9-B43F-5578-A67D-B9C5C98DDFAD"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-5523F46D-5CDA-5E85-B4B8-193FD8B26E32">Memory overhead</xref>  </p> </li> <li id="GUID-9455497D-1F38-5123-AFAB-239DDC553C12"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-FFEA130F-33FE-5E8D-AAE2-9AD8DF68DADE">See also</xref>  </p> </li> </ul> </section> <section id="GUID-1122A71A-7868-5394-917B-5C5EB8E97EC8"><title>Purpose</title> <p>The Location Settings API is an interface for managing the settings of the Location Framework and of Positioning Plug-ins (PSYs). The settings consist of the relative priorities of PSYs installed on the mobile device and modifiable and read-only attributes of PSYs. </p> </section> <section id="GUID-B6F9AB52-9375-5601-8760-1C3B72620E71"><title>API description</title> <p>This API is intended for use by a system application (such as a settings UI) that allows the user of a phone to view and edit settings that affect the behaviour of the Location Framework. The API allows a user to manage the priority ordering of PSYs and to access their modifiable and non-modifiable attributes </p> <p>The priority ordering of PSYs is used when a client of the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> uses the <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita"><apiname>RPositioner</apiname></xref> class without specifying particular positioning module ID (by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> without parameters). The Location Server uses the PSY with the highest priority if possible and falls back to next one in the priority list in case of failure. </p> <p id="GUID-A45324D8-CF2A-52BD-A08F-7C3A56A8E9F8"><b>PSY attributes</b> </p> <p>PSY attributes can be grouped by type: </p> <dl><dlentry><dt>Non-modifiable attributes</dt> <dd><p>These properties include a descriptive name, UID, positioning plug-in version, positioning technology, capabilities, time to first fix, positioning accuracy, power consumption etc. </p> <p>For more information about non-modifiable attributes see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </p> <p>Non-modifiable attributes are read from each PSY's repository file,. The PSY name is read from a resource file, which should be referenced by the repository file. If the resource file is not referenced in the repository file then the PSY name is taken from ECOM attributes of the PSY plug-in (which means that the name cannot be localized). </p> </dd> </dlentry> <dlentry><dt>Modifiable attributes</dt> <dd><p>These attributes include the availability status of the PSY (enabled or disabled), the cost of using the PSY and its visibility. </p> <p>Modifiable attributes are stored in the Central Repository. </p> <p>Table 1 describes the modifiable PSY attributes: </p> <table id="GUID-7330D155-DBE5-57C5-B6A6-B4AD5855ECBC"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Attribute</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>Cost </p> </entry> <entry><p>User-defined runtime setting for the cost of using a specific positioning technology. Possible values are defined by <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref> from <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>The cost attribute is modifiable because in some cases the cost of using a PSY can be dependent on the user’s subscription model. </p> </entry> </row> <row><entry><p>Availability </p> </entry> <entry><p>Determines whether a PSY is enabled to be used through <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> (<xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita"><apiname>RPositioner</apiname></xref>) or not. </p> </entry> </row> <row><entry><p>Visibility </p> </entry> <entry><p>Determines whether a PSY needs to be listed by the <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita"><apiname>CPosModules</apiname></xref> class of this API. </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 1. Modifiable PSY attributes. </p> </dd> </dlentry> <dlentry><dt>Positioning plug-in specific settings</dt> <dd><p>Each PSY can have any number of attributes that are specific for the positioning technology it encapsulates (for example, baud rate for external GPS). The Location Settings API does not provide access to these settings. </p> </dd> </dlentry> </dl> </section> <section id="GUID-5A9DAD33-86D7-5066-9CED-36FEF03AEC80"><title>API summary</title> <p>Figure 1 shows public classes of the Location Settings API. </p> <fig id="GUID-9F8E279C-A702-5557-A2CE-FD085EF15E4C"><title>
+<concept xml:lang="en" id="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C"><title>Location Settings API</title><shortdesc>The Location Settings API allows an application to get and set the properties of a PSY. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> </p> <section><title>Contents</title> <ul><li id="GUID-5C7D32AA-BBA2-55EF-BA32-5F2D461EAFC0"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1122A71A-7868-5394-917B-5C5EB8E97EC8">Purpose</xref>  </p> </li> <li id="GUID-FD73A08E-C032-5A49-8F95-CBF9DBF567A5"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-B6F9AB52-9375-5601-8760-1C3B72620E71">API description</xref>  </p> <ul><li id="GUID-4E424394-F32F-594F-BD79-3BF54E292793"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-A45324D8-CF2A-52BD-A08F-7C3A56A8E9F8">PSY attributes</xref>  </p> </li> </ul> </li> <li id="GUID-81B5646F-4EAA-5869-95BC-95832CC798B0"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-5A9DAD33-86D7-5066-9CED-36FEF03AEC80">API summary</xref>  </p> </li> <li id="GUID-E599DD05-DA59-5CD2-A7B7-C4B46AABE1D0"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-F2BD6C21-25D7-5E3A-B24E-16D783EDDFA6">Using the API</xref>  </p> <ul><li id="GUID-12DF3B2A-93B7-5F5D-8330-E7A25822B71C"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-54DC1DC0-290A-55DD-B5BD-D87BE8E3194F"> Retrieving information about installed PSYs</xref>  </p> </li> <li id="GUID-90FA746B-3BAA-542F-9B3A-9888D8BC28EC"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-B5AC0535-5CFA-5A5F-A67F-F05A3D7F78D1">Modifying PSY attributes</xref>  </p> </li> <li id="GUID-0B6F5C23-8D8B-5879-B91B-7D0793A1323B"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-0ADE50DD-84E3-5DAE-94E3-4BB424665734">Changing priority order of PSYs </xref>  </p> </li> <li id="GUID-763E86DE-BBBD-567A-8F54-C2A521402CDE"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1438A703-4F6F-5AC2-A52C-37BABE7AF5B9"> Listening to settings change events </xref>  </p> </li> </ul> </li> <li id="GUID-56AF88DC-075C-5A2B-BE22-6F0450E19537"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1EBC1700-209D-5AC2-ABF7-CB866A8728C8">Error handling</xref>  </p> </li> <li id="GUID-F7769CE9-B43F-5578-A67D-B9C5C98DDFAD"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-5523F46D-5CDA-5E85-B4B8-193FD8B26E32">Memory overhead</xref>  </p> </li> <li id="GUID-9455497D-1F38-5123-AFAB-239DDC553C12"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-FFEA130F-33FE-5E8D-AAE2-9AD8DF68DADE">See also</xref>  </p> </li> </ul> </section> <section id="GUID-1122A71A-7868-5394-917B-5C5EB8E97EC8"><title>Purpose</title> <p>The Location Settings API is an interface for managing the settings of the Location Framework and of Positioning Plug-ins (PSYs). The settings consist of the relative priorities of PSYs installed on the mobile device and modifiable and read-only attributes of PSYs. </p> </section> <section id="GUID-B6F9AB52-9375-5601-8760-1C3B72620E71"><title>API description</title> <p>This API is intended for use by a system application (such as a settings UI) that allows the user of a phone to view and edit settings that affect the behaviour of the Location Framework. The API allows a user to manage the priority ordering of PSYs and to access their modifiable and non-modifiable attributes </p> <p>The priority ordering of PSYs is used when a client of the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> uses the <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita"><apiname>RPositioner</apiname></xref> class without specifying particular positioning module ID (by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> without parameters). The Location Server uses the PSY with the highest priority if possible and falls back to next one in the priority list in case of failure. </p> <p id="GUID-A45324D8-CF2A-52BD-A08F-7C3A56A8E9F8"><b>PSY attributes</b> </p> <p>PSY attributes can be grouped by type: </p> <dl><dlentry><dt>Non-modifiable attributes</dt> <dd><p>These properties include a descriptive name, UID, positioning plug-in version, positioning technology, capabilities, time to first fix, positioning accuracy, power consumption etc. </p> <p>For more information about non-modifiable attributes see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </p> <p>Non-modifiable attributes are read from each PSY's repository file,. The PSY name is read from a resource file, which should be referenced by the repository file. If the resource file is not referenced in the repository file then the PSY name is taken from ECOM attributes of the PSY plug-in (which means that the name cannot be localized). </p> </dd> </dlentry> <dlentry><dt>Modifiable attributes</dt> <dd><p>These attributes include the availability status of the PSY (enabled or disabled), the cost of using the PSY and its visibility. </p> <p>Modifiable attributes are stored in the Central Repository. </p> <p>Table 1 describes the modifiable PSY attributes: </p> <table id="GUID-7330D155-DBE5-57C5-B6A6-B4AD5855ECBC"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Attribute</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p>Cost </p> </entry> <entry><p>User-defined runtime setting for the cost of using a specific positioning technology. Possible values are defined by <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref> from <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>The cost attribute is modifiable because in some cases the cost of using a PSY can be dependent on the user’s subscription model. </p> </entry> </row> <row><entry><p>Availability </p> </entry> <entry><p>Determines whether a PSY is enabled to be used through <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> (<xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita"><apiname>RPositioner</apiname></xref>) or not. </p> </entry> </row> <row><entry><p>Visibility </p> </entry> <entry><p>Determines whether a PSY needs to be listed by the <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita"><apiname>CPosModules</apiname></xref> class of this API. </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 1. Modifiable PSY attributes. </p> </dd> </dlentry> <dlentry><dt>Positioning plug-in specific settings</dt> <dd><p>Each PSY can have any number of attributes that are specific for the positioning technology it encapsulates (for example, baud rate for external GPS). The Location Settings API does not provide access to these settings. </p> </dd> </dlentry> </dl> </section> <section id="GUID-5A9DAD33-86D7-5066-9CED-36FEF03AEC80"><title>API summary</title> <p>Figure 1 shows public classes of the Location Settings API. </p> <fig id="GUID-9F8E279C-A702-5557-A2CE-FD085EF15E4C"><title>
              Figure 1. Location Settings API class diagram 
-          </title> <image href="GUID-E3F116C0-F133-5008-BD7A-421D66FB6588_d0e442635_href.png" placement="inline"/></fig> <p>Table 1 lists the classes and types of the API. </p> <table id="GUID-404231E8-601E-5D56-A3E2-D6DFFB266AC7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class Name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita"><apiname>CPosModules</apiname></xref>  </p> </entry> <entry><p>The main class of the Location Settings API. It is used for accessing PSY attributes and managing priority list of PSYs. A client can also register to listen for changes in the settings. </p> </entry> <entry><p> <codeph>EPos_CPosModuleIdList.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-1AB3C182-B9F9-3C75-9FC2-C550500046CB.dita"><apiname>CPosModuleUpdate</apiname></xref>  </p> </entry> <entry><p>Represents an update of the modifiable attributes of a PSY. An update is committed by calling <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-590B754B-2ECB-313F-A8C5-44B2C2A1E37F"><apiname>CPosModules::UpdateModuleL()</apiname></xref>. </p> </entry> <entry><p> <codeph>EPos_CPosModuleUpdate.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-2E3EB368-F820-3B1F-A025-939D78A5F9CE.dita"><apiname>CPosModuleIdList</apiname></xref>  </p> </entry> <entry><p>Represents a list of PSY IDs. Used to get and set the priority list of PSYs. It contains methods for appending, inserting, removing and finding PSY IDs in the list. </p> </entry> <entry><p> <codeph>EPos_CPosModuleIdList.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-2C027B56-CC69-307E-ABB4-BBB532D8F473.dita"><apiname>MPosModulesObserver</apiname></xref>  </p> </entry> <entry><p>The interface that is implemented by clients in order to receive notifications of changes in the PSY settings. A client subscribes for notifications through the <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita"><apiname>CPosModules</apiname></xref> class. </p> <p>Notification event information is given in a <xref href="GUID-5760EA9E-7720-31CD-B8F7-29370E2B6FCB.dita"><apiname>TPosModulesEvent</apiname></xref> structure. </p> <p>Typedef <xref href="GUID-9559BB6D-894E-3814-8D60-4102A465EC3D.dita"><apiname>TPosModulesEventType</apiname></xref> defines possible event types. </p> </entry> <entry><p> <codeph>EPos_MPosModulesObserver.h</codeph>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 1. Classes and types of the Location Settings API. </p> <p><b>Libraries </b> </p> <p>API classes are packaged in <filepath>eposmodset.dll</filepath>. Clients link with <filepath>eposmodset.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>API clients require <codeph>WriteDeviceData</codeph> capability to update modifiable settings (PSY priority order, modifiable PSY attributes). </p> <p>API clients require no capabilities to read PSY settings. </p> </section> <section id="GUID-F2BD6C21-25D7-5E3A-B24E-16D783EDDFA6"><title>Using the API</title> <p>Uses cases for the API are: </p> <ul><li id="GUID-299D0BA9-6630-5D30-9533-989BCED32F68"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-54DC1DC0-290A-55DD-B5BD-D87BE8E3194F"> Retrieving information about installed PSYs</xref>  </p> </li> <li id="GUID-26BEDF7C-3354-57F2-AC90-FEAD79E7C5A3"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-B5AC0535-5CFA-5A5F-A67F-F05A3D7F78D1">Modifying PSY attributes</xref>  </p> </li> <li id="GUID-8023AF65-8962-59D4-889E-440CF4C11677"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-0ADE50DD-84E3-5DAE-94E3-4BB424665734">Changing priority order of PSYs </xref>  </p> </li> <li id="GUID-EFAF4AE9-5845-5882-88BC-B1B6A209324F"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1438A703-4F6F-5AC2-A52C-37BABE7AF5B9"> Listening to settings change events </xref>  </p> </li> </ul> <p id="GUID-54DC1DC0-290A-55DD-B5BD-D87BE8E3194F"><b>Retrieving information about installed PSYs </b> </p> <p>A client can read ordered list of PSYs by using <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-5A626C61-0A95-3628-9CBB-FDBF04676281"><apiname>CPosModules::ModuleIdListL()</apiname></xref> or <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-6A8BBAA1-3938-3572-BA4E-B7C9F8BCA82E"><apiname>CPosModules::ModuleIdListLC()</apiname></xref>. These methods return a list of IDs for the currently installed PSYs in priority order. Only the PSYs which have visibility attribute set to 1 (ETrue) are listed. </p> <p>The client may request information from a specific PSY by providing its ID to <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-66188192-A70D-3CF4-B35F-50BEBE8431C4"><apiname>CPosModules::GetModuleInfoL()</apiname></xref>. If a PSY with the specified ID is found in the system, its data is returned in the <xref href="GUID-1E6620E4-F194-3482-BBD1-D85F3528D87D.dita"><apiname>TPositionModuleInfoBase</apiname></xref> derived object, supplied by client. Currently, the only supported subclass is <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref>. For more information, see <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>Figure 2 shows the client listing all available PSYs and retrieving their attributes: </p> <fig id="GUID-3C2F95B1-7F68-59B0-A1F9-8562432D43FD"><title>
+          </title> <image href="GUID-E3F116C0-F133-5008-BD7A-421D66FB6588_d0e448480_href.png" placement="inline"/></fig> <p>Table 1 lists the classes and types of the API. </p> <table id="GUID-404231E8-601E-5D56-A3E2-D6DFFB266AC7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class Name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita"><apiname>CPosModules</apiname></xref>  </p> </entry> <entry><p>The main class of the Location Settings API. It is used for accessing PSY attributes and managing priority list of PSYs. A client can also register to listen for changes in the settings. </p> </entry> <entry><p> <codeph>EPos_CPosModuleIdList.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-1AB3C182-B9F9-3C75-9FC2-C550500046CB.dita"><apiname>CPosModuleUpdate</apiname></xref>  </p> </entry> <entry><p>Represents an update of the modifiable attributes of a PSY. An update is committed by calling <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-590B754B-2ECB-313F-A8C5-44B2C2A1E37F"><apiname>CPosModules::UpdateModuleL()</apiname></xref>. </p> </entry> <entry><p> <codeph>EPos_CPosModuleUpdate.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-2E3EB368-F820-3B1F-A025-939D78A5F9CE.dita"><apiname>CPosModuleIdList</apiname></xref>  </p> </entry> <entry><p>Represents a list of PSY IDs. Used to get and set the priority list of PSYs. It contains methods for appending, inserting, removing and finding PSY IDs in the list. </p> </entry> <entry><p> <codeph>EPos_CPosModuleIdList.h</codeph>  </p> </entry> </row> <row><entry><p> <xref href="GUID-2C027B56-CC69-307E-ABB4-BBB532D8F473.dita"><apiname>MPosModulesObserver</apiname></xref>  </p> </entry> <entry><p>The interface that is implemented by clients in order to receive notifications of changes in the PSY settings. A client subscribes for notifications through the <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita"><apiname>CPosModules</apiname></xref> class. </p> <p>Notification event information is given in a <xref href="GUID-5760EA9E-7720-31CD-B8F7-29370E2B6FCB.dita"><apiname>TPosModulesEvent</apiname></xref> structure. </p> <p>Typedef <xref href="GUID-9559BB6D-894E-3814-8D60-4102A465EC3D.dita"><apiname>TPosModulesEventType</apiname></xref> defines possible event types. </p> </entry> <entry><p> <codeph>EPos_MPosModulesObserver.h</codeph>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 1. Classes and types of the Location Settings API. </p> <p><b>Libraries </b> </p> <p>API classes are packaged in <filepath>eposmodset.dll</filepath>. Clients link with <filepath>eposmodset.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>API clients require <codeph>WriteDeviceData</codeph> capability to update modifiable settings (PSY priority order, modifiable PSY attributes). </p> <p>API clients require no capabilities to read PSY settings. </p> </section> <section id="GUID-F2BD6C21-25D7-5E3A-B24E-16D783EDDFA6"><title>Using the API</title> <p>Uses cases for the API are: </p> <ul><li id="GUID-299D0BA9-6630-5D30-9533-989BCED32F68"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-54DC1DC0-290A-55DD-B5BD-D87BE8E3194F"> Retrieving information about installed PSYs</xref>  </p> </li> <li id="GUID-26BEDF7C-3354-57F2-AC90-FEAD79E7C5A3"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-B5AC0535-5CFA-5A5F-A67F-F05A3D7F78D1">Modifying PSY attributes</xref>  </p> </li> <li id="GUID-8023AF65-8962-59D4-889E-440CF4C11677"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-0ADE50DD-84E3-5DAE-94E3-4BB424665734">Changing priority order of PSYs </xref>  </p> </li> <li id="GUID-EFAF4AE9-5845-5882-88BC-B1B6A209324F"><p><xref href="GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C.dita#GUID-DABBFC53-CC93-54AA-ADFD-6756B1EA878C/GUID-1438A703-4F6F-5AC2-A52C-37BABE7AF5B9"> Listening to settings change events </xref>  </p> </li> </ul> <p id="GUID-54DC1DC0-290A-55DD-B5BD-D87BE8E3194F"><b>Retrieving information about installed PSYs </b> </p> <p>A client can read ordered list of PSYs by using <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-5A626C61-0A95-3628-9CBB-FDBF04676281"><apiname>CPosModules::ModuleIdListL()</apiname></xref> or <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-6A8BBAA1-3938-3572-BA4E-B7C9F8BCA82E"><apiname>CPosModules::ModuleIdListLC()</apiname></xref>. These methods return a list of IDs for the currently installed PSYs in priority order. Only the PSYs which have visibility attribute set to 1 (ETrue) are listed. </p> <p>The client may request information from a specific PSY by providing its ID to <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-66188192-A70D-3CF4-B35F-50BEBE8431C4"><apiname>CPosModules::GetModuleInfoL()</apiname></xref>. If a PSY with the specified ID is found in the system, its data is returned in the <xref href="GUID-1E6620E4-F194-3482-BBD1-D85F3528D87D.dita"><apiname>TPositionModuleInfoBase</apiname></xref> derived object, supplied by client. Currently, the only supported subclass is <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita"><apiname>TPositionModuleInfo</apiname></xref>. For more information, see <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. </p> <p>Figure 2 shows the client listing all available PSYs and retrieving their attributes: </p> <fig id="GUID-3C2F95B1-7F68-59B0-A1F9-8562432D43FD"><title>
                 Figure 2. Retrieving PSY information 
-             </title> <image href="GUID-E35C440C-4191-510A-AD33-2CF56E41EDD2_d0e442890_href.png" placement="inline"/></fig> <p>The following example shows the client getting list of names of enabled plug-ins: </p> <codeblock id="GUID-C82837F0-D44E-5046-84F6-DA74123F39B7" xml:space="preserve">void ListEnabledPluginsL( CDesCArray&amp; aNames )
+             </title> <image href="GUID-E35C440C-4191-510A-AD33-2CF56E41EDD2_d0e448735_href.png" placement="inline"/></fig> <p>The following example shows the client getting list of names of enabled plug-ins: </p> <codeblock id="GUID-C82837F0-D44E-5046-84F6-DA74123F39B7" xml:space="preserve">void ListEnabledPluginsL( CDesCArray&amp; aNames )
 {
 // Open the storage
 CPosModules* db = CPosModules::OpenL();
@@ -43,7 +43,7 @@
 }
 </codeblock> <p id="GUID-B5AC0535-5CFA-5A5F-A67F-F05A3D7F78D1"><b>Modifying PSY attributes</b> </p> <p>In order to modify PSY attributes, the client sets values in a <xref href="GUID-1AB3C182-B9F9-3C75-9FC2-C550500046CB.dita"><apiname>CPosModuleUpdate</apiname></xref> object and sends it to <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-590B754B-2ECB-313F-A8C5-44B2C2A1E37F"><apiname>CPosModules::UpdateModuleL()</apiname></xref>. The <xref href="GUID-1AB3C182-B9F9-3C75-9FC2-C550500046CB.dita"><apiname>CPosModuleUpdate</apiname></xref> class allows a client to change the cost, availability, and visibility attributes of a PSY. </p> <p>Figure 3 shows the steps to change the modifiable attributes of PSY. </p> <fig id="GUID-FBD28CD7-609C-53C5-8931-1BA156D89ADF"><title>
                 Figure 3. Modifying PSY attributes 
-             </title> <image href="GUID-2051AAEF-140C-5EEF-874F-52971E76F853_d0e442925_href.png" placement="inline"/></fig> <p><b>PSY visibility and availability </b> </p> <p> <b/>The visibility attribute only defines whether a PSY is listed when a client asks for a list of all available PSYs. Turning this attribute off for a specific PSY does not prevents client applications (which know its module ID) from using this PSY through <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. The client can still specify PSY’s module ID as a parameter for <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> and connection to that PSY is granted. </p> <p>The availability attribute defines if a PSY is totally hidden from the system and its use through the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> is disabled. </p> <p>The following code example shows how to hide the PSY from the PSY list and prevent its use: </p> <codeblock id="GUID-09028885-AF82-5EA0-9F20-EBB64B0821C0" xml:space="preserve">// Open the storage
+             </title> <image href="GUID-2051AAEF-140C-5EEF-874F-52971E76F853_d0e448770_href.png" placement="inline"/></fig> <p><b>PSY visibility and availability </b> </p> <p> <b/>The visibility attribute only defines whether a PSY is listed when a client asks for a list of all available PSYs. Turning this attribute off for a specific PSY does not prevents client applications (which know its module ID) from using this PSY through <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref>. The client can still specify PSY’s module ID as a parameter for <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> and connection to that PSY is granted. </p> <p>The availability attribute defines if a PSY is totally hidden from the system and its use through the <xref href="GUID-D0318BB6-0B9F-5A1C-AB0B-61BA22D28661.dita">Location Acquisition API</xref> is disabled. </p> <p>The following code example shows how to hide the PSY from the PSY list and prevent its use: </p> <codeblock id="GUID-09028885-AF82-5EA0-9F20-EBB64B0821C0" xml:space="preserve">// Open the storage
 CPosModules* db = CPosModules::OpenL();
 CleanupStack::PushL( db );
 
@@ -71,7 +71,7 @@
 
 CleanupStack::PopAndDestroy( updateParams );
 CleanupStack::PopAndDestroy( db );
-}</codeblock> <p> <codeph>CPosModules::SetModulePrioritiesL()</codeph> allows a client to set the order of all PSYs immediately by supplying a list of plug-in IDs in the required order. Note that <b>all</b> the visible plug-ins must be declared in the supplied list: it is required that the list contains the same set of PSY IDs as it would be returned by <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-5A626C61-0A95-3628-9CBB-FDBF04676281"><apiname>CPosModules::ModuleIdListL()</apiname></xref>. </p> <p> <b>Note: </b> Invisible PSYs are not ordered, i.e. they do not have any priority. When an invisible PSY is made visible, it will be assigned a priority according to its preference (defined in <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-In Information API</xref>) and an internal sorting algorithm of the Location Framework. </p> <p>The following example shows how the client could move a PSY to the first place in priority order by specifying a whole new priority list: </p> <codeblock id="GUID-129B4AE4-B6A0-56AF-B7EB-3C97C23C21EB" xml:space="preserve">void MakePluginTopmostPriority2L( TPositionModuleId aModuleId )
+}</codeblock> <p> <codeph>CPosModules::SetModulePrioritiesL()</codeph> allows a client to set the order of all PSYs immediately by supplying a list of plug-in IDs in the required order. Note that <b>all</b> the visible plug-ins must be declared in the supplied list: it is required that the list contains the same set of PSY IDs as it would be returned by <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-5A626C61-0A95-3628-9CBB-FDBF04676281"><apiname>CPosModules::ModuleIdListL()</apiname></xref>. </p> <p> <b>Note: </b> Invisible PSYs are not ordered, i.e. they do not have any priority. When an invisible PSY is made visible, it will be assigned a priority according to its preference (defined in <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-In Information API</xref>) and an internal sorting algorithm of the Location Framework. </p> <p>The following example shows how the client could move a PSY to the first place in priority order by specifying a whole new priority list: </p> <codeblock id="GUID-129B4AE4-B6A0-56AF-B7EB-3C97C23C21EB" xml:space="preserve">void MakePluginTopmostPriority2L( TPositionModuleId aModuleId )
 {
 // Open the storage
 CPosModules* db = CPosModules::OpenL();
@@ -89,7 +89,7 @@
 CleanupStack::PopAndDestroy( db );
 }</codeblock> <p id="GUID-1438A703-4F6F-5AC2-A52C-37BABE7AF5B9"><b>Listening to settings change events</b> </p> <p>A client can register an observer to listen for changes in the location settings. The observer is notified when any change occurs. The observer is set by calling <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-A13A64E1-565A-3ECB-B968-245EEFFC575A"><apiname>CPosModules::SetObserverL()</apiname></xref>. The observer must implement the <xref href="GUID-2C027B56-CC69-307E-ABB4-BBB532D8F473.dita"><apiname>MPosModulesObserver</apiname></xref> interface to receive settings change notifications. The observer can be removed by calling <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-B2C15AE8-5073-3992-82F1-73800447C067"><apiname>CPosModules::RemoveObserver()</apiname></xref>. </p> <p>The event information is defined by <xref href="GUID-5760EA9E-7720-31CD-B8F7-29370E2B6FCB.dita"><apiname>TPosModulesEvent</apiname></xref> <codeph/>, which contains the ID of the affected module (if the event is associated with a single module) and type of the event. Event types are defined by <xref href="GUID-9559BB6D-894E-3814-8D60-4102A465EC3D.dita"><apiname>TPosModulesEventType</apiname></xref>. </p> <p> <b>Note</b>: Events are reported as detected by comparing current global settings with their local copy created for the observer. This copy is created when event observer is set by <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-A13A64E1-565A-3ECB-B968-245EEFFC575A"><apiname>CPosModules::SetObserverL()</apiname></xref>. It is updated whenever changes are detected. This means that no events will be reported to the observer if no changes have happened since the observer was set. </p> <p>Many events imply changes in priority order. If the client is interested in priority order it should reload the list of PSYs by calling <xref href="GUID-3EC269A3-61A0-378B-A909-AB5881E47769.dita#GUID-3EC269A3-61A0-378B-A909-AB5881E47769/GUID-5A626C61-0A95-3628-9CBB-FDBF04676281"><apiname>CPosModules::ModuleIdListL()</apiname></xref> whenever such an event is reported. </p> <p>Table 2 describes possible events. </p> <table id="GUID-4B70F09F-2ECA-50F3-AC15-E1BC6CA1FD55"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Event type _TPosModulesEventType</entry> <entry>Is module ID set in TPosModulesEvent object ?</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>EPosModulesEventUnspecified</codeph>  </p> </entry> <entry><p>No </p> </entry> <entry><p>Many changes in settings are detected, which affect priority order and PSY attributes. The client should reload the priority list and PSYs attributes. </p> </entry> </row> <row><entry><p> <codeph>EPosModulesEventModuleInstalled</codeph>  </p> </entry> <entry><p>Yes </p> </entry> <entry><p>New PSY is installed and priority list is updated accordingly. The client can get PSYs attributes. </p> </entry> </row> <row><entry><p> <codeph>EPosModulesEventModuleRemoved</codeph>  </p> </entry> <entry><p>Yes </p> </entry> <entry><p>A PSY is uninstalled and the priority list is updated accordingly. The client can no longer use the PSY. </p> </entry> </row> <row><entry><p> <codeph>EPosModulesEventPrioritiesChanged</codeph>  </p> </entry> <entry><p>No </p> </entry> <entry><p>Changes in PSY priority order have occurred (PSYs reordered). No PSY attributes have changed. </p> </entry> </row> <row><entry><p> <codeph>EPosModulesEventCostChanged</codeph>  </p> </entry> <entry><p>Yes </p> </entry> <entry><p>The cost indicator of a PSY has been changed. </p> </entry> </row> <row><entry><p> <codeph>EPosModulesEventAvailabilityChanged</codeph>  </p> </entry> <entry><p>Yes </p> </entry> <entry><p>The availability status of a PSY has been changed. </p> </entry> </row> <row><entry><p> <codeph>EPosModulesEventVisibilityChanged</codeph>  </p> </entry> <entry><p>Yes </p> </entry> <entry><p>The visibility status of a PSY has been changed and priority list is updated accordingly. </p> </entry> </row> </tbody> </tgroup> </table> <p>Table 2. Settings event types and their meaning. </p> <p>Figure 4 shows basic steps that a client takes to listen for changes in location settings: </p> <fig id="GUID-2EC64C4D-D776-5F71-9B87-0A368C7872EF"><title>
                 Figure 4. Listening to change events 
-             </title> <image href="GUID-450554F3-BA17-5C89-9E01-C0AFD4AC9638_d0e443260_href.png" placement="inline"/></fig> <p>This example shows how a client can listen for PSY events: </p> <codeblock id="GUID-43D1A5C0-659D-517C-BE4B-132BD8FB9087" xml:space="preserve">class CModuleEventListener : public CBase, public MPosModulesObserver
+             </title> <image href="GUID-450554F3-BA17-5C89-9E01-C0AFD4AC9638_d0e449105_href.png" placement="inline"/></fig> <p>This example shows how a client can listen for PSY events: </p> <codeblock id="GUID-43D1A5C0-659D-517C-BE4B-132BD8FB9087" xml:space="preserve">class CModuleEventListener : public CBase, public MPosModulesObserver
     {
     public:
         CModuleEventListener( CPosModules&amp; aSettings );
--- a/Symbian3/PDK/Source/GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -49,7 +49,7 @@
 a view is; however, it does provide support for a view being a display page
 on the screen</p></li>
 </ul>
-<fig id="GUID-79751C55-C0D9-4511-9147-8E6CB95AA610"><title>Controller-view hierarchy in traditional and Symbian architectures</title><image href="GUID-46040A24-92C3-4B0B-88CC-BDD8DDA8F27C_d0e68953_href.png"/></fig>
+<fig id="GUID-79751C55-C0D9-4511-9147-8E6CB95AA610"><title>Controller-view hierarchy in traditional and Symbian architectures</title><image href="GUID-46040A24-92C3-4B0B-88CC-BDD8DDA8F27C_d0e73166_href.png"/></fig>
 <p>In practice, the view concept varies depending upon your chosen architecture
 approach: </p>
 <section id="GUID-53125010-FFC7-422E-9EE5-A42427031F10"><title>Traditional architecture
--- a/Symbian3/PDK/Source/GUID-DAD40CCE-EA59-4DCA-8922-824B18F0387A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DAD40CCE-EA59-4DCA-8922-824B18F0387A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 softkey is <b>Cancel</b>.</p>
 <fig id="GUID-E2A1FCE9-6EF2-4CED-A74D-F41FE9DE5C46">
 <title>Multi-selection list query</title>
-<image href="GUID-055E42B2-27E7-45F2-8450-5CCF4E1DEB15_d0e91710_href.png" scale="40" placement="inline"/>
+<image href="GUID-055E42B2-27E7-45F2-8450-5CCF4E1DEB15_d0e95908_href.png" scale="40" placement="inline"/>
 </fig>
 <section id="GUID-77134C7A-42F3-44A3-A993-32D6A497215E"><title>Using
 multi-selection list queries in applications</title><p>For implementation
Binary file Symbian3/PDK/Source/GUID-DAF12BDB-5453-5DDD-ACBA-4C29AE448D87_d0e214730_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DAF12BDB-5453-5DDD-ACBA-4C29AE448D87_d0e220750_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-DAF35D49-9630-4186-A350-E8483693D50D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DAF35D49-9630-4186-A350-E8483693D50D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 <fig id="GUID-0A22D779-41C5-41DD-884C-AFC7DF192720">
 <title>Hierarchical column list component, where the subtitle "Today" and
 "Yesterday" are expanded</title>
-<image href="GUID-2939EEA8-DBC9-4882-B016-9C53166569CD_d0e84838_href.png" placement="inline"/>
+<image href="GUID-2939EEA8-DBC9-4882-B016-9C53166569CD_d0e89036_href.png" placement="inline"/>
 </fig>
 <p>The hierarchical column list can have three different row types:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-DAF86036-CC40-5F26-9F15-2F2093F59C03.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DAF86036-CC40-5F26-9F15-2F2093F59C03.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -59,7 +59,7 @@
 the <i>WriteDeviceData</i> capability. </p> <p>Ideally, all older <filepath>.exe</filepath> s
 should be migrated to use the 9.1 version of <codeph>Define()</codeph>. </p> <p>The
 following diagram shows the "category space". </p> <fig id="GUID-ADCDE30C-7D9C-588D-9058-E5491AB626F3">
-<image href="GUID-442D216B-117E-538C-A51F-0775BF37673E_d0e345873_href.png" placement="inline"/>
+<image href="GUID-442D216B-117E-538C-A51F-0775BF37673E_d0e351824_href.png" placement="inline"/>
 </fig> <p>The <xref href="GUID-4A67D011-CBB6-396F-8104-7B3BECB84460.dita"><apiname>KUidSecurityThresholdCategoryValue</apiname></xref> value
 effectively forms a <i>threshold</i> value. Processes with a SID value below
 this threshold can define a category that is different from their SID, provided
Binary file Symbian3/PDK/Source/GUID-DB0EDBC2-8204-59F3-9029-EBBCE04A9E3C_d0e380066_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DB0EDBC2-8204-59F3-9029-EBBCE04A9E3C_d0e385919_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DB571D42-03F4-50F9-974D-B905707FC5F4_d0e110175_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DB571D42-03F4-50F9-974D-B905707FC5F4_d0e112598_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DB6EC285-F5DB-5A7A-AFF3-E423AD4B9F81-master.png has changed
Binary file Symbian3/PDK/Source/GUID-DB6EC285-F5DB-5A7A-AFF3-E423AD4B9F81_d0e715964_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DB82D140-AB1B-5AA9-89CB-A5F68F328C85.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DB82D140-AB1B-5AA9-89CB-A5F68F328C85.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task id="GUID-DB82D140-AB1B-5AA9-89CB-A5F68F328C85" xml:lang="en"><title>Creating
 an MTP Data Provider Plug-in</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-26-1-1-5-1-3-1-5-1-4-1-2-1"><p>Before you start,
+<prereq id="GUID-E3BEB74D-79C7-59A9-9366-CCD8B52DB7F8-GENID-1-12-1-28-1-1-5-1-3-1-5-1-4-1-2-1"><p>Before you start,
 you must: </p> <ul>
 <li id="GUID-83AE79AE-086A-5A3C-9A58-159CF32EBE32"><p>Understand the MTP Data
 Provider API. </p> </li>
@@ -19,7 +19,7 @@
 capabilities</xref>. </p> </li>
 <li id="GUID-45FB644B-17AD-5E84-9645-82979D29FC20"><p> <xref href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx" scope="external">MTP Device Services Extension Specification</xref>. </p> </li>
 </ul> </prereq>
-<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-26-1-1-5-1-3-1-5-1-4-1-2-2"><p>MTP data providers
+<context id="GUID-6799E3F3-353E-5C00-A38C-D32F888392AA-GENID-1-12-1-28-1-1-5-1-3-1-5-1-4-1-2-2"><p>MTP data providers
 are implemented as ECOM plug-ins loaded into the MTP framework. The MTP Data
 Provider APIs enable device creators to create data provider plug-ins and
 support specific media and data types. Data providers interact with the MTP
Binary file Symbian3/PDK/Source/GUID-DB9F413A-35E2-577E-91C3-1D519835FAB4_d0e109903_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DB9F413A-35E2-577E-91C3-1D519835FAB4_d0e112326_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DBEAD516-5DD4-5E33-B6DA-657C1AE60C4B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DBEAD516-5DD4-5E33-B6DA-657C1AE60C4B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -55,10 +55,10 @@
 <tbody>
 <row>
 <entry><fig id="GUID-C7D88A4C-B5A0-5A1B-8710-188DC398B6CB">
-<image href="GUID-F127644A-6072-52CA-9B17-E9DDEA784BE0_d0e379843_href.png" placement="inline"/>
+<image href="GUID-F127644A-6072-52CA-9B17-E9DDEA784BE0_d0e385696_href.png" placement="inline"/>
 </fig> </entry>
 <entry><fig id="GUID-F244E871-48C7-548E-AF69-43D4265F9C48">
-<image href="GUID-9173EEBA-CC84-51D9-9C8D-A75F7F494D62_d0e379850_href.png" placement="inline"/>
+<image href="GUID-9173EEBA-CC84-51D9-9C8D-A75F7F494D62_d0e385703_href.png" placement="inline"/>
 </fig> </entry>
 </row>
 </tbody>
@@ -100,7 +100,7 @@
 </ol> </section>
 <section id="GUID-CD820F5C-01F7-427F-8FFC-675CDE48F1BD"><title>Interaction between the two layers</title> <p>This section
 shows the main interactions between the two layers: </p> <p><b>1</b> </p> <fig id="GUID-BC82D3E5-C190-57F4-AAC4-38532E2225E9">
-<image href="GUID-4FDD1F7B-1A4E-5389-A0A4-22727CD42B5B_d0e379956_href.png" placement="inline"/>
+<image href="GUID-4FDD1F7B-1A4E-5389-A0A4-22727CD42B5B_d0e385809_href.png" placement="inline"/>
 </fig> <p>When the device is started, the platform independent layer calls
 the function <codeph>DoCreate()</codeph>. This is where the power handler
 should be registered, interrupts bound and any other initialisation should
@@ -111,12 +111,12 @@
 scheduled to run when the pen is lifted. This DFC is scheduled in the platform
 specific layer. </p> <p>See also <xref href="GUID-AF71FDC2-A8CC-5035-91FE-36212844BC07.dita#GUID-AF71FDC2-A8CC-5035-91FE-36212844BC07/GUID-1A1194A0-DF74-59E7-B3AD-FD87D501F00F">Step
 4 - implement DDigitiser::WaitForPenDown()</xref>. </p> <p><b>2</b> </p> <fig id="GUID-3C50B57F-46A9-5CF0-94BB-50E63837D2CB">
-<image href="GUID-AE53C15E-0C0F-5726-BBA4-E7DCDA7F48B4_d0e379991_href.png" placement="inline"/>
+<image href="GUID-AE53C15E-0C0F-5726-BBA4-E7DCDA7F48B4_d0e385844_href.png" placement="inline"/>
 </fig> <p>The platform specific layer calls <codeph>RawSampleValid()</codeph> when
 it has a group of digitizer coordinates ready to be processed by the platform
 independent layer. This is called in the context of a DFC thread, the DFC
 being queued when the digitizer interrupt is fired. </p> <p><b>3</b> </p> <fig id="GUID-AAEC4068-6743-5E50-906D-AE05622A0627">
-<image href="GUID-DE7BD5C8-9966-5D5E-B81F-D57EA9FBA451_d0e380007_href.png" placement="inline"/>
+<image href="GUID-DE7BD5C8-9966-5D5E-B81F-D57EA9FBA451_d0e385860_href.png" placement="inline"/>
 </fig> <p>The platform independent layer calls <codeph>WaitForPenUp()</codeph> to
 request another sample from the hardware. This is declared as pure virtual
 in the <xref href="GUID-2EDAF642-2399-3594-986A-5E8A5EEA01B9.dita"><apiname>DDigitiser</apiname></xref> class and is implemented in the platform
@@ -124,7 +124,7 @@
 has processed a group of raw samples while the pen is down, and also tells
 the platform specific layer that the buffers in the platform independent layer
 can be re-used. </p> <p><b>4</b> </p> <fig id="GUID-5C3344EC-B07F-5D02-A107-7F4BB381EB55">
-<image href="GUID-C8450E58-A603-5CF8-993E-053C990DDA19_d0e380027_href.png" placement="inline"/>
+<image href="GUID-C8450E58-A603-5CF8-993E-053C990DDA19_d0e385880_href.png" placement="inline"/>
 </fig> <p>The platform independent layer calls <codeph>WaitForPenUpDebounce()</codeph> if
 a group of collected samples is not good enough. This is declared as pure
 virtual in the <xref href="GUID-2EDAF642-2399-3594-986A-5E8A5EEA01B9.dita"><apiname>DDigitiser</apiname></xref> class and is implemented in the
@@ -132,18 +132,18 @@
 layer has processed a group of raw samples while the pen is down and also
 tells the platform specific layer that the buffers in the platform independent
 layer can be re-used. </p> <p><b>5</b> </p> <fig id="GUID-CAF3646F-0078-5F25-94A8-B03A42B132BC">
-<image href="GUID-465D1450-B1EF-568B-B518-34ACE8C1697C_d0e380047_href.png" placement="inline"/>
+<image href="GUID-465D1450-B1EF-568B-B518-34ACE8C1697C_d0e385900_href.png" placement="inline"/>
 </fig> <p>When the pen is lifted, the platform specific layer calls <codeph>PenUp()</codeph> in
 the platform independent layer, which then changes its internal state, issues
 a pen up event to the device, and then calls <codeph>WaitForPenDown()</codeph> in
 the platform specific layer. </p> <p><b>6</b> </p> <fig id="GUID-77BBAF4E-D737-54CF-B67C-292D5ABD5CB3">
-<image href="GUID-DB0EDBC2-8204-59F3-9029-EBBCE04A9E3C_d0e380066_href.png" placement="inline"/>
+<image href="GUID-DB0EDBC2-8204-59F3-9029-EBBCE04A9E3C_d0e385919_href.png" placement="inline"/>
 </fig> <p>The platform independent layer calls <codeph>DigitiserOn()</codeph> when
 the device is turned on, or it may be called from the HAL. The function, implemented
 in the platform specific layer, and turns the hardware on if it is not already
 on. See also <xref href="GUID-AF71FDC2-A8CC-5035-91FE-36212844BC07.dita#GUID-AF71FDC2-A8CC-5035-91FE-36212844BC07/GUID-A4B43E01-9638-5967-8EFA-0AABA33189EA">Step
 3 - implement power on behaviour</xref>. </p> <p><b>7</b> </p> <fig id="GUID-481F038C-2C5D-5D95-88A3-62F54EEDA713">
-<image href="GUID-2622DE31-AA12-5FAD-86FB-B13259EFC6D9_d0e380085_href.png" placement="inline"/>
+<image href="GUID-2622DE31-AA12-5FAD-86FB-B13259EFC6D9_d0e385938_href.png" placement="inline"/>
 </fig> <p> <codeph>DigitiserOff()</codeph> turns the digitizer off, and may
 be called as a result of a power transition, or it may be called from the
 HAL. If it is called from the Power Manager, the digitizer may already be
@@ -151,7 +151,7 @@
 convert digitizer coordinates to and from screen coordinates. Both are declared
 as pure virtual in the <xref href="GUID-2EDAF642-2399-3594-986A-5E8A5EEA01B9.dita"><apiname>DDigitiser</apiname></xref> class and need to be
 implemented in the platform specific layer. </p> <p><b>9</b> </p> <fig id="GUID-500D1D6B-85AE-5C1C-8F34-95036A6B9D82">
-<image href="GUID-3F0053A7-6EE2-5B59-81C2-27EC3CC7820A_d0e380122_href.png" placement="inline"/>
+<image href="GUID-3F0053A7-6EE2-5B59-81C2-27EC3CC7820A_d0e385975_href.png" placement="inline"/>
 </fig> <p>The platform independent layer provides the <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-1B59A40C-D023-5555-8E5E-DF18D653D321">HAL handler</xref> for the <xref href="GUID-E22F7F41-C578-36B4-A7AB-AE0AEF520A69.dita"><apiname>EHalGroupDigitiser</apiname></xref>  <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-366CC4B8-C6BD-5DCC-B55D-6D87CD5C8E64">HAL groups and function-ids</xref>. This is <codeph>DDigitiser::HalFunction()</codeph>.
 It delegates the handling of 5 of the individual behaviours, as represented
 by the <xref href="GUID-86A737D5-0602-3DB3-9CFF-764C80A8D468.dita"><apiname>TDigitiserHalFunction</apiname></xref> function-ids, to the following
--- a/Symbian3/PDK/Source/GUID-DBF6760F-D209-4B8F-89D5-A7EFFF7959E2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DBF6760F-D209-4B8F-89D5-A7EFFF7959E2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,8 +14,8 @@
 can open the data connection.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context id="GUID-FEDFCAED-E19D-411A-8A17-7B11C42AB4AE">       <p>To open
 the data connection with the selected destination network:</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-7-1-6-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-7-1-6-1-3-2-1"><cmd>Start the connection
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-7-1-6-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-7-1-6-1-3-2-1"><cmd>Start the connection
 through the Internet destination network using the Connection Manager API.</cmd>
 </step>
 <step id="GUID-87BB9B2C-386E-40BC-B5C8-838169A85CDD"><cmd>Select the best available access point within the Internet destination
Binary file Symbian3/PDK/Source/GUID-DC37C3A9-B03F-5699-9E05-8ADD62C2FF04_d0e8927_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC37C3A9-B03F-5699-9E05-8ADD62C2FF04_d0e9049_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DC3A8785-3ED3-5696-A5ED-AB66588A5C14.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DC3A8785-3ED3-5696-A5ED-AB66588A5C14.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -127,7 +127,7 @@
 </tgroup>
 </table> <p>The following diagram illustrates a typical ordinal usage scenario. </p> <fig id="GUID-9EDB47A4-043E-52AE-A6F9-E449563B77B7">
 <title>              Typical EGL ordinal usage scenario            </title>
-<image href="GUID-03ED031D-65DB-51DE-8238-1F2ADF3BC936_d0e270512_href.png" placement="inline"/>
+<image href="GUID-03ED031D-65DB-51DE-8238-1F2ADF3BC936_d0e276512_href.png" placement="inline"/>
 </fig> <p>Note the following: </p> <ul>
 <li id="GUID-050C3247-7462-52BB-A94D-01BC793761FB"><p>The DEF file for the
 EGL Interface uses ordinal position entry points 2-249. </p> </li>
@@ -157,7 +157,7 @@
 that normal clients never see the internal API calls and avoids tight coupling
 with a specific implementation. </p> <fig id="GUID-BA940F99-A4A4-5DF4-88A3-32A500EC9AC1">
 <title>              EGL implementation's private LIB file            </title>
-<image href="GUID-FDDDF1F0-42D8-570E-AF06-620825FA1022_d0e270583_href.png" placement="inline"/>
+<image href="GUID-FDDDF1F0-42D8-570E-AF06-620825FA1022_d0e276583_href.png" placement="inline"/>
 </fig> <p>Note the following: </p> <ul>
 <li id="GUID-C68A977A-0134-550D-8DAB-886B2E83F56E"><p>The DEF file for the
 private interface uses ordinal position entry points 1 and 250-499. </p> </li>
Binary file Symbian3/PDK/Source/GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e156006_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e162107_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e101131_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e79523_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e83721_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e84330_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e88528_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC4E42CA-2A65-44D7-8DBE-386F60F998A0_d0e97052_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e589185_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e589493_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e617079_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DC7E3634-9762-542F-BDAE-AC1F2D03F55D_d0e617387_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DC8BFEF5-DA50-52DA-8CE2-5729A4A005F6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DC8BFEF5-DA50-52DA-8CE2-5729A4A005F6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -73,7 +73,7 @@
 interface, and all require an implementation that implements that interface
 (shown in green). </p> <fig id="GUID-BF9F0E84-F1DA-5D9D-9D4B-14AA55C7DA07">
 <title>              Key EGL relationships and dependencies            </title>
-<image href="GUID-CBF1D046-92D4-5936-9946-71BB8FC51AB2_d0e268193_href.png" placement="inline"/>
+<image href="GUID-CBF1D046-92D4-5936-9946-71BB8FC51AB2_d0e274193_href.png" placement="inline"/>
 </fig> <p>The <xref href="GUID-D252E75C-C8CA-5C51-8DA3-95B937A1295C.dita">EGL Interface
 component</xref> provides a consistent interface to EGL on the Symbian platform,
 enabling cross-device compatibility. The component includes the Khronos-released
--- a/Symbian3/PDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,68 +1,68 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-DCA2880E-7DF9-5E60-8F87-241711935389" xml:lang="en"><title>FeatMngrExample:
-dynamic feature management example</title><shortdesc>This example demonstrates the use of Feature Manager APIs for dynamic
-feature management. It also demonstrates how to receive notification about
-changes to a feature. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-716F1987-F1F1-4E20-8390-BBD9AE592C2A"><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.zip" scope="external">FeatMngrExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.html" scope="peer">browse</xref> to view the example code.</p> </section>
-<section id="GUID-CA323EF2-3A8A-4363-AC6E-A21B3C2648D7"><title>Purpose</title> <p>The example shows how to use the <xref href="GUID-0CA63AEB-9A80-51C6-AE7F-E747D6B3B789.dita">Feature Manager</xref> API.
-UI vendors and device manufacturers can use this API to declare features (such
-as DRM agents, codecs, vibra) as available or not. The feature set can be
-adjusted dynamically as software services are installed and uninstalled or
-as platform capabilities are discovered dynamically. </p> <p>This example
-shows how Feature Manager APIs allow applications and system software to establish
-which features are present on or absent from a Symbian device. </p> </section>
-<section id="GUID-1C59222F-2F39-4599-8052-AE7C83854AC8"><title>Design and implementation</title> <p>The example consists
-of two processes: </p> <ul>
-<li id="GUID-0DA213CD-55C2-5ADD-A872-20D008EE5D46"><p> <filepath>featmngrexample.exe</filepath>:
-this is the main process which provides the list of available features. It
-also provides the option to add new features or delete/update a feature. </p> </li>
-<li id="GUID-B2A151CA-3807-5990-B431-CF4083E42107"><p> <filepath>featurechecker.exe</filepath>:
-this process receives notification about new features installed or uninstalled
-by the main process. </p> </li>
-</ul> <p><b>FeatMngrExample</b> </p> <p>This shows the use of the <xref href="GUID-F6AAAC24-4A62-383A-86C6-2E46335C3FD4.dita"><apiname>RFeatureControl</apiname></xref> API
-to manage features. </p> <p>It presents menu options to the user to list the
-available features, to add or delete a feature, update an existing feature,
-and to enable or disable a feature. It also starts another process, called
-featurechecker.exe which receives notifications of events happening in this
-process. The list of features includes some whose feature flags are non-modifiable.
-Any attempt to modify or delete those features will result in a system error
--21 (<codeph>KErrAccessDenied</codeph>). When adding a new feature, it should
-be in the range as described in the console because the featurechecker process
-subscribes to this range of features for change notification. </p> <p><b>FeatureChecker</b> </p> <p>This
-process is started by <filepath>featmngrexample.exe</filepath>. It implements
-the <xref href="GUID-623C4183-00F0-36B0-AE1F-5C5EDCAF1B3D.dita"><apiname>MFeatureObserver</apiname></xref> class to handle notification of feature
-changes. <codeph>FeatureChecker</codeph> also demonstrates the use of the <xref href="GUID-CA12C6F7-E997-33B8-9463-B326BC1832C5.dita"><apiname>CFeatureNotifier</apiname></xref> class.
-It implements <codeph>HandleNotifyChange()</codeph> to handle the changes
-made by FeatMngrExample. The type of change is displayed to the user as an
-infoprint message (<xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-EEF84AA0-A277-390D-BFAB-CF50C94DF18D"><apiname>User::InfoPrint()</apiname></xref>). <codeph>HandleNotifyChange()</codeph> is
-called to handle changes for those features which are subscribed to for notification
-(in the <codeph>NotifyFeatureL</codeph> () method). </p> </section>
-<section id="GUID-7A7C9409-D701-4C64-B0B2-AE0F89C396FA"><title>Building and configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-A8030260-4FEF-55E1-A50C-65BEE3F08E21"><p>The example builds two
-executables called <filepath>featmngrexample.exe</filepath> and <filepath>featurechecker.exe</filepath> in
-the standard locations. The second executable is run by the first. </p> </li>
-<li id="GUID-DD5D4965-A174-553C-BD13-22A6DFE9E52F"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-</ul> </section>
-<section id="GUID-8B18A01A-44D4-400E-9CEC-3E75F55D7F7F"><title>Running the example</title> <p>When running the example, the
-user is presented with various menu options that are self-explanatory. Press
-any other key to exit. </p> </section>
-<section id="GUID-433F7103-5372-5971-85A6-0FBF88ECE5C1"><title>See also:</title><p><xref href="GUID-7495B1C8-38B5-5A09-8231-25B3BBC09F51.dita">Feature Management</xref></p></section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-DCA2880E-7DF9-5E60-8F87-241711935389" xml:lang="en"><title>FeatMngrExample: dynamic feature management example</title><shortdesc>This example demonstrates the use of Feature Manager APIs
+for dynamic feature management. It also demonstrates how to receive
+notification about changes to a feature. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-716F1987-F1F1-4E20-8390-BBD9AE592C2A"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.zip" scope="external">FeatMngrExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.html" scope="peer">browse</xref> to view the example code.</p> </section>
+<section id="GUID-CA323EF2-3A8A-4363-AC6E-A21B3C2648D7"><title>Purpose</title> <p>The example shows how to use the <xref href="GUID-0CA63AEB-9A80-51C6-AE7F-E747D6B3B789.dita">Feature Manager</xref> API. UI vendors and device manufacturers can use this API to declare
+features (such as DRM agents, codecs, vibra) as available or not.
+The feature set can be adjusted dynamically as software services are
+installed and uninstalled or as platform capabilities are discovered
+dynamically. </p> <p>This example shows how Feature Manager APIs allow
+applications and system software to establish which features are present
+on or absent from a Symbian device. </p> </section>
+<section id="GUID-1C59222F-2F39-4599-8052-AE7C83854AC8"><title>Design
+and implementation</title> <p>The example consists of two processes: </p> <ul>
+<li id="GUID-0DA213CD-55C2-5ADD-A872-20D008EE5D46"><p> <filepath>featmngrexample.exe</filepath>: this is the main process which provides the list of available features.
+It also provides the option to add new features or delete/update a
+feature. </p> </li>
+<li id="GUID-B2A151CA-3807-5990-B431-CF4083E42107"><p> <filepath>featurechecker.exe</filepath>: this process receives notification about new features installed
+or uninstalled by the main process. </p> </li>
+</ul> <p><b>FeatMngrExample</b> </p> <p>This shows the use of the <xref href="GUID-F6AAAC24-4A62-383A-86C6-2E46335C3FD4.dita"><apiname>RFeatureControl</apiname></xref> API to manage features. </p> <p>It presents
+menu options to the user to list the available features, to add or
+delete a feature, update an existing feature, and to enable or disable
+a feature. It also starts another process, called featurechecker.exe
+which receives notifications of events happening in this process.
+The list of features includes some whose feature flags are non-modifiable.
+Any attempt to modify or delete those features will result in a system
+error -21 (<codeph>KErrAccessDenied</codeph>). When adding a new feature,
+it should be in the range as described in the console because the
+featurechecker process subscribes to this range of features for change
+notification. </p> <p><b>FeatureChecker</b> </p> <p>This process is
+started by <filepath>featmngrexample.exe</filepath>. It implements
+the <xref href="GUID-623C4183-00F0-36B0-AE1F-5C5EDCAF1B3D.dita"><apiname>MFeatureObserver</apiname></xref> class to handle notification
+of feature changes. <codeph>FeatureChecker</codeph> also demonstrates
+the use of the <xref href="GUID-CA12C6F7-E997-33B8-9463-B326BC1832C5.dita"><apiname>CFeatureNotifier</apiname></xref> class. It implements <codeph>HandleNotifyChange()</codeph> to handle the changes made by FeatMngrExample.
+The type of change is displayed to the user as an infoprint message
+(<xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-EEF84AA0-A277-390D-BFAB-CF50C94DF18D"><apiname>User::InfoPrint()</apiname></xref>). <codeph>HandleNotifyChange()</codeph> is called to handle changes for those features which are subscribed
+to for notification (in the <codeph>NotifyFeatureL</codeph> () method). </p> </section>
+<section id="GUID-7A7C9409-D701-4C64-B0B2-AE0F89C396FA"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-A8030260-4FEF-55E1-A50C-65BEE3F08E21"><p>The example
+builds two executables called <filepath>featmngrexample.exe</filepath> and <filepath>featurechecker.exe</filepath> in the standard locations.
+The second executable is run by the first. </p> </li>
+<li id="GUID-DD5D4965-A174-553C-BD13-22A6DFE9E52F"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+</ul> </section>
+<section id="GUID-8B18A01A-44D4-400E-9CEC-3E75F55D7F7F"><title>Running
+the example</title> <p>When running the example, the user is presented
+with various menu options that are self-explanatory. Press any other
+key to exit. </p> </section>
+<section id="GUID-433F7103-5372-5971-85A6-0FBF88ECE5C1"><title>See
+also:</title><p><xref href="GUID-7495B1C8-38B5-5A09-8231-25B3BBC09F51.dita">Feature Management</xref></p></section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-DCBBDFA7-1E6C-5B00-A13E-A25794668E12_d0e375632_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DCBBDFA7-1E6C-5B00-A13E-A25794668E12_d0e381476_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DCCA3BD3-582A-5C71-A104-D922FFE3C680_d0e489690_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DCCA3BD3-582A-5C71-A104-D922FFE3C680_d0e495511_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e1761_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e1767_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD04585F-3D60-5CB2-8975-AE602B75740B_d0e643170_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD04585F-3D60-5CB2-8975-AE602B75740B_d0e655992_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD0DA06D-4180-54F1-8807-A7BF31D6A1F1_d0e297526_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD0DA06D-4180-54F1-8807-A7BF31D6A1F1_d0e303518_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574-master.png has changed
Binary file Symbian3/PDK/Source/GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e523799_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e531259_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD22D66C-C303-5432-9C24-71F26190FCA0_d0e227747_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD22D66C-C303-5432-9C24-71F26190FCA0_d0e233746_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD263BCA-B660-49A5-BB65-8C45035002BD-master.png has changed
Binary file Symbian3/PDK/Source/GUID-DD263BCA-B660-49A5-BB65-8C45035002BD_d0e104877_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DD3783B2-B8ED-4CD4-AAF6-75EC8B53B8EF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-DD3783B2-B8ED-4CD4-AAF6-75EC8B53B8EF" xml:lang="en"><title>Symbian
-device user experience for non-touch devices</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This section presents an overview of the user experience in Symbian devices
-without touch. For information on interaction in devices supporting touch,
-see <xref href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">Touch
-UI user experience</xref>.</p>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-DD39680E-C0CB-4D97-A921-25FACC30FBE3_d0e514595_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DD39680E-C0CB-4D97-A921-25FACC30FBE3_d0e522049_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e77047_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e81260_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD764F2C-365A-5A5C-9412-4AF2EDB16924_d0e584215_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DD764F2C-365A-5A5C-9412-4AF2EDB16924_d0e633503_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DD77AA04-D0AB-4BEB-900F-B3BE50AC0B7F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DD77AA04-D0AB-4BEB-900F-B3BE50AC0B7F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,38 +12,38 @@
 <task id="GUID-DD77AA04-D0AB-4BEB-900F-B3BE50AC0B7F" xml:lang="en"><title>Opening
 a Connection based on User Selection</title><shortdesc>Extended Connection Preferences API can be used by applications
 to open a connection based on user selection.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context id="GUID-DA2ED45B-65AC-4C82-B854-67284173FAF9-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-1">       <p>When an
+<context id="GUID-DA2ED45B-65AC-4C82-B854-67284173FAF9-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-1">       <p>When an
 application chooses to establish a connection based on user selection,
 Connection selection dialog needs to be enabled. Only the SNAPs and IAPs matching
 with bearer set are displayed for selection. </p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2-1"><cmd>Connect to<xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2-1"><cmd>Connect to<xref href="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita"> socket server </xref>.</cmd>
 <info> <codeblock xml:space="preserve">RSocketServ ss;
 ss.Connect();       </codeblock>                  </info>
 </step>
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2-2"><cmd> Open a <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2-2"><cmd> Open a <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita"> RConnection </xref> object.</cmd>
 <info> <codeblock xml:space="preserve">RConnection conn;
 conn.Open( ss );</codeblock>                  </info>
 </step>
-<step id="GUID-DC3652D1-7EDB-4582-8B6B-117E248A1F70-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2-3"><cmd>Create a connection
+<step id="GUID-DC3652D1-7EDB-4582-8B6B-117E248A1F70-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2-3"><cmd>Create a connection
 preference list and extended connection preferences object.</cmd>
 <info> <codeblock xml:space="preserve">TConnPrefList prefList;
 TExtendedConnPref preferences;    </codeblock>                  </info>
 </step>
-<step id="GUID-3D1BD3F8-6244-45E9-AF47-C19E5667092C-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2-4"><cmd>Enable the Connection
+<step id="GUID-3D1BD3F8-6244-45E9-AF47-C19E5667092C-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2-4"><cmd>Enable the Connection
 selection dialog to accept user queries using <xref href="GUID-B78E8AC0-CDC8-3DEC-AF3C-98C8994DA34A.dita#GUID-B78E8AC0-CDC8-3DEC-AF3C-98C8994DA34A/GUID-9AD4E0DD-93D7-3DC7-9916-7FBC275A08B7"><apiname>TExtendedConnPref::SetConnSelectionDialog()</apiname></xref>.</cmd>
 <info><codeblock xml:space="preserve">preferences.SetConnSelectionDialog( ETrue );</codeblock></info>
 </step>
-<step id="GUID-9DE0CAE0-8F0A-4197-9FC1-B045C32A817F-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2-5"><cmd>Append extended
+<step id="GUID-9DE0CAE0-8F0A-4197-9FC1-B045C32A817F-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2-5"><cmd>Append extended
 connection preferences into connection preference list. </cmd>
 <info><codeblock xml:space="preserve">prefList.AppendL( &amp;preferences );</codeblock></info>
 </step>
-<step id="GUID-E492622A-4410-4F2D-A4DC-C0D8A3B33F99-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-2-6"><cmd>Start a connection
+<step id="GUID-E492622A-4410-4F2D-A4DC-C0D8A3B33F99-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-2-6"><cmd>Start a connection
 with connection preferences.  </cmd>
 <info><codeblock xml:space="preserve">conn.Start( prefList );</codeblock></info>
 </step>
 </steps>
-<result id="GUID-3B2081B8-6F9D-40C1-8407-0F0EB43790B5-GENID-1-12-1-16-1-1-4-1-1-5-1-1-6-1-3-3">       <p>The application
+<result id="GUID-3B2081B8-6F9D-40C1-8407-0F0EB43790B5-GENID-1-12-1-17-1-1-4-1-1-5-1-1-6-1-3-3">       <p>The application
 is connected to the SNAP or IAP selected by the user.</p>     </result>
 </taskbody><related-links>
 <link href="GUID-3490A064-8421-4ABB-9E93-99A5565CF4D7.dita"><linktext>Additional
--- a/Symbian3/PDK/Source/GUID-DD7D33BD-0DDB-584C-9362-AEECFA1EA9A7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DD7D33BD-0DDB-584C-9362-AEECFA1EA9A7"><title>makefile</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>makefile</codeph> <codeph> ( ( [-c] | [-w] ) | ( [-k] [-v] ) ) </codeph> [ <varname>platform</varname> ] [ <varname>program</varname>] </p> <p>This command creates the makefiles for each project within your component, via <filepath>makmake</filepath>.</p> <p>To generate the makefiles, <filepath>makmake</filepath> is invoked with the <codeph>-d</codeph> switch, which causes the makefiles to be created in a subdirectory of <filepath>epoc32\build\</filepath>.</p> <p>The makefiles are always created with this command, regardless of whether the corresponding <filepath>.mmp</filepath> files have been changed or not.</p> </conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-26-1-1-10-1-6-1-4-1-4-1-7-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-26-1-1-10-1-6-1-4-1-4-1-7-1" xml:lang="en"><title>Manipulating
+Applicability and Trust Settings for a Certificate</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>A certificate can be trusted for a certain task or application. Currently,
+the following applications are defined: </p>
+<ul>
+<li id="GUID-7AA1F386-C411-5C87-B234-9FEC74ADE9A0"><p>Software installation
+(SWInstall) </p> </li>
+<li id="GUID-7C7932B0-CF2F-5A07-9873-FC24BDAFBA29"><p>Signature verification
+of OCSP response (SWInstallOCSP) </p> </li>
+<li id="GUID-24224A47-76A0-578E-8FCD-7658640B568A"><p>TLS/SSL authentication
+(TLS/SSL) </p> </li>
+</ul>
+<p>The SWInstall application allows us to use a given certificate to verify
+the signature of the signed sis files you want to install. A certificate with
+SWInstallOCSP applicability can be used to verify the signature of OCSP responses. </p>
+<p>Certificate can be used to perform TLS and SSL authentication. Certificates
+are trusted to do that with the TLS/SSL application. </p>
+<p> <codeph>certtool</codeph> offers three commands to manipulate the applications
+of a given certificate: setapps, addapps and removeapps. </p>
+<p>For this to work, <filepath>certclients.dat</filepath> should exist in <filepath>c:\private\101f72a6\</filepath> with
+the required application. </p>
+<p><b>The setapps command </b> </p>
+<p>The setapps command can be used to set the applications a specific certificate
+can be used for. For instance, update the applications of the CertCA certificate.
+Initially it is trusted for SWInstall: </p>
+<p><userinput>certtool –list CertCA</userinput> </p>
+<codeblock id="GUID-A38ABE67-FDCD-547B-A3C7-0949FDC5D950" xml:space="preserve">Symbian CertStore Manipulation Tool
+Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved.
+Label: TCA            Format: X509     Owner Type: Root (CA)
+Issuer Name: CertCA        Subject Name: CertCA
+Valid From: 16:36:00 Tue 12th May 2009 Valid Until: 16:36:00 Tue 11th May 2010
+Trusted for Applications: SWInstall</codeblock>
+<p>Change the applications using the setapps command. Set the applications
+to SSL/TLS: </p>
+<p><userinput>certtool –setapps –apps SSL/TLS TestCA</userinput> </p>
+<codeblock id="GUID-3B74BA88-9944-599A-AE9C-B8EEF7D57070" xml:space="preserve">Symbian CertStore Manipulation Tool
+Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved.
+Certificate applications set successfully
+Label: TestCA            Format: X509     Owner Type: Root (CA)
+Issuer Name: CertCA        Subject Name: CertCA
+Valid From: 16:36:00 Tue 12th May 2009 Valid Until: 16:36:00 Tue 11th May 2010
+Trusted for Applications: SSL/TLS</codeblock>
+<p>The TestCA certificate is now trusted for server authentication with SSL
+and TLS. If the specified applications are not recognized, an error will occur: </p>
+<codeblock id="GUID-10F4F705-5B67-58C4-9C0A-964DF78C77A1" xml:space="preserve">Symbian CertStore Manipulation Tool
+Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved.
+No valid applications specified, try one of: 
+[SWInstall, SWInstallOCSP, SSL/TLS]</codeblock>
+<p>Remember that applications are case sensitive. </p>
+<p>You can also set the applications using UIDs, for example: </p>
+<p><userinput>certtool –setapps –uids 0x100042AB abc</userinput> </p>
+<p><b>The addapps command </b> </p>
+<p>If you want to add again SWInstall to the applications TestCA is trusted
+for, you can use the setapps command to accomplish our goal. But you would
+need to specify all the applications, for example: </p>
+<p><userinput>certtool –setapps –apps SSL/TLS SWInstall TestCA</userinput> </p>
+<p>The addapps command gives a shortcut. It enables you to specify an application
+which will be added to the existing ones: </p>
+<p><userinput>certtool –addapps –apps SWInstall TestCA</userinput> </p>
+<p>You can also add the applications using UIDs, for example: </p>
+<p><userinput>certtool –addapps -uids 0x101F9B28 abc</userinput> </p>
+<p><b>The removeapps command </b> </p>
+<p>The removeapps command is essentially dual to addapps. It helps to remove
+apps from those a certificate is trusted for. </p>
+<p><userinput>certtool –removeapps –apps SWInstall TestCA</userinput> </p>
+<p>You can also remove the applications using UIDs, for example: </p>
+<p><userinput>certtool -removeapps –apps 0x101F9B28 abc </userinput> </p>
+<p>Remember that applications and labels are case sensitive. </p>
+</conbody><related-links>
+<link href="GUID-F6C20181-0F03-5B8A-B548-C81FF8824503.dita"><linktext>Working with
+Multiple Certificate Store Implementations</linktext></link>
+<link href="GUID-88EC0D74-5595-5FA8-B7BA-B914CC8022FB.dita"><linktext>Listing Contents
+of Certificate Stores</linktext></link>
+<link href="GUID-6CDB86E4-89BB-5266-8CEC-7353B664D638.dita"><linktext>Importing
+Certificates</linktext></link>
+<link href="GUID-DCC2060B-BFEC-5ECF-8154-5AE9C8513F75.dita"><linktext>Removing
+Certificates</linktext></link>
+</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-27-1-1-10-1-6-1-4-1-4-1-7-1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-DD7D5D55-A2F1-54FB-AA38-B4A7C920B6A6-GENID-1-12-1-27-1-1-10-1-6-1-4-1-4-1-7-1" xml:lang="en"><title>Manipulating
-Applicability and Trust Settings for a Certificate</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A certificate can be trusted for a certain task or application. Currently,
-the following applications are defined: </p>
-<ul>
-<li id="GUID-7AA1F386-C411-5C87-B234-9FEC74ADE9A0"><p>Software installation
-(SWInstall) </p> </li>
-<li id="GUID-7C7932B0-CF2F-5A07-9873-FC24BDAFBA29"><p>Signature verification
-of OCSP response (SWInstallOCSP) </p> </li>
-<li id="GUID-24224A47-76A0-578E-8FCD-7658640B568A"><p>TLS/SSL authentication
-(TLS/SSL) </p> </li>
-</ul>
-<p>The SWInstall application allows us to use a given certificate to verify
-the signature of the signed sis files you want to install. A certificate with
-SWInstallOCSP applicability can be used to verify the signature of OCSP responses. </p>
-<p>Certificate can be used to perform TLS and SSL authentication. Certificates
-are trusted to do that with the TLS/SSL application. </p>
-<p> <codeph>certtool</codeph> offers three commands to manipulate the applications
-of a given certificate: setapps, addapps and removeapps. </p>
-<p>For this to work, <filepath>certclients.dat</filepath> should exist in <filepath>c:\private\101f72a6\</filepath> with
-the required application. </p>
-<p><b>The setapps command </b> </p>
-<p>The setapps command can be used to set the applications a specific certificate
-can be used for. For instance, update the applications of the CertCA certificate.
-Initially it is trusted for SWInstall: </p>
-<p><userinput>certtool –list CertCA</userinput> </p>
-<codeblock id="GUID-A38ABE67-FDCD-547B-A3C7-0949FDC5D950" xml:space="preserve">Symbian CertStore Manipulation Tool
-Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved.
-Label: TCA            Format: X509     Owner Type: Root (CA)
-Issuer Name: CertCA        Subject Name: CertCA
-Valid From: 16:36:00 Tue 12th May 2009 Valid Until: 16:36:00 Tue 11th May 2010
-Trusted for Applications: SWInstall</codeblock>
-<p>Change the applications using the setapps command. Set the applications
-to SSL/TLS: </p>
-<p><userinput>certtool –setapps –apps SSL/TLS TestCA</userinput> </p>
-<codeblock id="GUID-3B74BA88-9944-599A-AE9C-B8EEF7D57070" xml:space="preserve">Symbian CertStore Manipulation Tool
-Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved.
-Certificate applications set successfully
-Label: TestCA            Format: X509     Owner Type: Root (CA)
-Issuer Name: CertCA        Subject Name: CertCA
-Valid From: 16:36:00 Tue 12th May 2009 Valid Until: 16:36:00 Tue 11th May 2010
-Trusted for Applications: SSL/TLS</codeblock>
-<p>The TestCA certificate is now trusted for server authentication with SSL
-and TLS. If the specified applications are not recognized, an error will occur: </p>
-<codeblock id="GUID-10F4F705-5B67-58C4-9C0A-964DF78C77A1" xml:space="preserve">Symbian CertStore Manipulation Tool
-Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved.
-No valid applications specified, try one of: 
-[SWInstall, SWInstallOCSP, SSL/TLS]</codeblock>
-<p>Remember that applications are case sensitive. </p>
-<p>You can also set the applications using UIDs, for example: </p>
-<p><userinput>certtool –setapps –uids 0x100042AB abc</userinput> </p>
-<p><b>The addapps command </b> </p>
-<p>If you want to add again SWInstall to the applications TestCA is trusted
-for, you can use the setapps command to accomplish our goal. But you would
-need to specify all the applications, for example: </p>
-<p><userinput>certtool –setapps –apps SSL/TLS SWInstall TestCA</userinput> </p>
-<p>The addapps command gives a shortcut. It enables you to specify an application
-which will be added to the existing ones: </p>
-<p><userinput>certtool –addapps –apps SWInstall TestCA</userinput> </p>
-<p>You can also add the applications using UIDs, for example: </p>
-<p><userinput>certtool –addapps -uids 0x101F9B28 abc</userinput> </p>
-<p><b>The removeapps command </b> </p>
-<p>The removeapps command is essentially dual to addapps. It helps to remove
-apps from those a certificate is trusted for. </p>
-<p><userinput>certtool –removeapps –apps SWInstall TestCA</userinput> </p>
-<p>You can also remove the applications using UIDs, for example: </p>
-<p><userinput>certtool -removeapps –apps 0x101F9B28 abc </userinput> </p>
-<p>Remember that applications and labels are case sensitive. </p>
-</conbody><related-links>
-<link href="GUID-F6C20181-0F03-5B8A-B548-C81FF8824503.dita"><linktext>Working with
-Multiple Certificate Store Implementations</linktext></link>
-<link href="GUID-88EC0D74-5595-5FA8-B7BA-B914CC8022FB.dita"><linktext>Listing Contents
-of Certificate Stores</linktext></link>
-<link href="GUID-6CDB86E4-89BB-5266-8CEC-7353B664D638.dita"><linktext>Importing
-Certificates</linktext></link>
-<link href="GUID-DCC2060B-BFEC-5ECF-8154-5AE9C8513F75.dita"><linktext>Removing
-Certificates</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-DD95C4FA-B044-5A0E-A556-C7171AEFED8E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DD95C4FA-B044-5A0E-A556-C7171AEFED8E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,11 +30,11 @@
 session: </p>
 <fig id="GUID-62C07C56-B5DB-5EC1-AA7C-FA6209711DAB">
 <title>           Session set-up sequence diagram          </title>
-<image href="GUID-D3129CC4-AD63-51CE-BFB4-979E26807FA7_d0e618688_href.png" placement="inline"/>
+<image href="GUID-D3129CC4-AD63-51CE-BFB4-979E26807FA7_d0e590794_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-060F6EA9-5A0B-526F-9B44-8E987DB91D06">
 <title>           Session tear-down sequence diagram          </title>
-<image href="GUID-A64C3667-E522-5B23-8679-35B06C609148_d0e618696_href.png" placement="inline"/>
+<image href="GUID-A64C3667-E522-5B23-8679-35B06C609148_d0e590802_href.png" placement="inline"/>
 </fig>
 <section id="GUID-9F9962F3-D351-4CFE-9B34-99DCE243C4C0"><title>See also</title> <p><xref href="GUID-D5DDC05E-B8C6-5BF0-AEBA-EED1D88BB5BB.dita">CAF
 Streaming Support Overview</xref>  </p> <p><xref href="GUID-4AAE6CC7-7F0B-51B7-8F6F-7E538841DF41.dita">CAF
--- a/Symbian3/PDK/Source/GUID-DDA0ECF7-BC92-4AFB-998F-5FDD300655FB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DDA0ECF7-BC92-4AFB-998F-5FDD300655FB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,8 +21,8 @@
 <li id="GUID-22C5F02D-2D36-5C51-BDFC-498BDB717059"><p> <filepath>c:\FileMenu.r10</filepath> is
 for <codeph>ELangAmerican</codeph>. </p> </li>
 </ul> </abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-5-1-5-1-8-1-5-1-3-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-5-1-5-1-8-1-5-1-3-1-1"><cmd/>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-14-1-1-8-1-5-1-5-1-5-1-8-1-5-1-3-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-14-1-1-8-1-5-1-5-1-5-1-8-1-5-1-3-1-1"><cmd/>
 <info><p>In the application, define a string with the neutral-language resource
 file name. </p> <codeblock id="GUID-438C8582-247E-5109-9E3B-ABC38818E6E2" xml:space="preserve">_LIT(KRscFilename, "C:\\FileMenu.rsc"); </codeblock></info>
 </step>
Binary file Symbian3/PDK/Source/GUID-DDD07E37-E5BE-5187-9C62-A3F4F9343C2A_d0e551725_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DDD07E37-E5BE-5187-9C62-A3F4F9343C2A_d0e559181_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DDE06BD5-2515-59FD-B91F-4C78A768533D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DDE06BD5-2515-59FD-B91F-4C78A768533D"><title>-savespace</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option removes intermediate files created during the building of a project if the build is eventually successful. If the build fails, the intermediate files remain so that errors can be corrected and an incremental rebuild of the project version that failed to build can take place.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-DDEDB7CB-E0B2-5F7F-A9D9-79EFCBBFB022_d0e231418_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DDEDB7CB-E0B2-5F7F-A9D9-79EFCBBFB022_d0e237413_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DE0E5230-A422-5859-A8DF-5E51AAA9B23A_d0e263033_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DE0E5230-A422-5859-A8DF-5E51AAA9B23A_d0e269033_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DE417474-906D-5EB8-A80D-2CBF099EC81C_d0e535431_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DE417474-906D-5EB8-A80D-2CBF099EC81C_d0e542891_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-DE5FC074-75C1-5833-83B2-D25396F52732_d0e581278_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DE5FC074-75C1-5833-83B2-D25396F52732_d0e630566_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DE76FE7C-962D-5344-815F-E44145E2A684.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DE76FE7C-962D-5344-815F-E44145E2A684.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-DE76FE7C-962D-5344-815F-E44145E2A684"><title>Architecture</title><shortdesc>This section describes the architectural relationships of the SAT API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The SAT API is a telephony system (TSY) extension module that interacts with the telephony server to perform different tasks. Normally the licensees implement the SAT clients and the TSY. </p> <p>The TSY handles the messages between the SAT clients, telephony server and the toolkit application. All the TSY subsessions are derived from <xref href="GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5.dita"><apiname>CTelObject</apiname></xref>. TSY responds with a <xref href="GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5.dita#GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5/GUID-63868B41-D6D5-3A78-8835-55D8A937B717"><apiname>CTelObject::ReqCompleted</apiname></xref> after the completion of a request and returns the handle to the client. Use asynchronous calls and active objects are used to prevent the threads from blocking other threads. </p> <p>The server calls the <xref href="GUID-9C780F5F-49F5-3734-BC31-C2A38CD05FE9.dita"><apiname>ReqModeL()</apiname></xref> to find out the flow control mechanism implemented by the client. The TSY can control the flow when you calling the <xref href="GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5.dita#GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5/GUID-B002E006-82BD-372E-8E44-9E618893094B"><apiname>CTelObject::FlowControlSuspend()</apiname></xref> to stop the flow and <xref href="GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5.dita#GUID-F41ACE2C-0580-3A3C-B727-FC29945054F5/GUID-F1B5E74D-8252-356E-B7E8-3E23B216AD1F"><apiname>CTelObject::FlowControlResume()</apiname></xref> to start a flow explicitly. </p> <fig id="GUID-B4A68C2E-4C7E-5DC6-9148-704DDCB418F6"><title>
           SAT API Components 
-        </title> <image href="GUID-7293CFFD-4D5D-58F8-97F9-4906CBEBCC79_d0e51088_href.png" placement="inline"/></fig> <section><title>Description</title> <p><b>SAT engine </b> </p> <p>The SAT client is a plug-in developed by the licensees to implement the toolkit functions. The SAT clients request proactive command notification by using <b>RSat::Notifyxyz</b>, where xyz represents one of the proactive command. </p> <p><b>ETelSat API </b> </p> <p>ETelSat API provides the <xref href="GUID-10B2C9F7-ABBF-33E8-8B89-6D170E21293C.dita"><apiname>RSat</apiname></xref> interface and enables the SAT clients to request for proactive commands and multimedia proactive commands from the SAT application through the TSY. ETelSat API queues the notification request messages and responds to the SAT client when it receives the commands from ICC. It also passes back the response messages from the clients to the ICC. </p> <p><b>TSY </b> </p> <p>The TSYs are usually developed by the licensees and are extension modules to the telephony server. They support the client side functionality by translating the messages to be implemented in the phone </p> <p><b>SAT application </b> </p> <p>One or more SAT applications are stored in the ICC of the mobile device. They SAT application gets started as soon as the ICC is inserted in a SAT enabled phone. Once started, the application waits for request messages from the clients and responds to them accordingly. The SAT application is also responsible for security features like encryption, authentication of the messages between the phone and the network operator. </p> </section> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-7293CFFD-4D5D-58F8-97F9-4906CBEBCC79_d0e55322_href.png" placement="inline"/></fig> <section><title>Description</title> <p><b>SAT engine </b> </p> <p>The SAT client is a plug-in developed by the licensees to implement the toolkit functions. The SAT clients request proactive command notification by using <b>RSat::Notifyxyz</b>, where xyz represents one of the proactive command. </p> <p><b>ETelSat API </b> </p> <p>ETelSat API provides the <xref href="GUID-10B2C9F7-ABBF-33E8-8B89-6D170E21293C.dita"><apiname>RSat</apiname></xref> interface and enables the SAT clients to request for proactive commands and multimedia proactive commands from the SAT application through the TSY. ETelSat API queues the notification request messages and responds to the SAT client when it receives the commands from ICC. It also passes back the response messages from the clients to the ICC. </p> <p><b>TSY </b> </p> <p>The TSYs are usually developed by the licensees and are extension modules to the telephony server. They support the client side functionality by translating the messages to be implemented in the phone </p> <p><b>SAT application </b> </p> <p>One or more SAT applications are stored in the ICC of the mobile device. They SAT application gets started as soon as the ICC is inserted in a SAT enabled phone. Once started, the application waits for request messages from the clients and responds to them accordingly. The SAT application is also responsible for security features like encryption, authentication of the messages between the phone and the network operator. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-DE7BD5C8-9966-5D5E-B81F-D57EA9FBA451_d0e380007_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DE7BD5C8-9966-5D5E-B81F-D57EA9FBA451_d0e385860_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DEB6E162-B2AA-5DF6-B750-E833C7DE4902.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DEB6E162-B2AA-5DF6-B750-E833C7DE4902.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -65,7 +65,7 @@
 a peer-to-peer (one on one) connection assumes the PANU role, thus becoming
 a client member of the piconet. </p> <fig id="GUID-985136FB-9E35-5DD4-99A6-AE7D8FDDF21C">
 <title>                 PANU to PANU connection               </title>
-<image href="GUID-C193535D-8756-5A2C-BD3A-280F7DDAF73E_d0e641357_href.jpg" placement="inline"/>
+<image href="GUID-C193535D-8756-5A2C-BD3A-280F7DDAF73E_d0e654179_href.jpg" placement="inline"/>
 </fig> <p><b>PAN-GN</b> </p> <p>A
 PAN-GN device assumes the role of a forwarding node or host and the attached
 PANU devices act as clients, networking up to a maximum of seven PANUs. The
@@ -85,7 +85,7 @@
 role allows only a single PANU client access to the uplink for the external
 network. </p> <fig id="GUID-6EC523C3-FD92-530E-A8F4-F19AB82419A0">
 <title>                 PAN-NAP, bridging networks               </title>
-<image href="GUID-8D51B706-6941-5043-B435-1CAFBAE5A8F2_d0e641387_href.jpg" placement="inline"/>
+<image href="GUID-8D51B706-6941-5043-B435-1CAFBAE5A8F2_d0e654209_href.jpg" placement="inline"/>
 </fig> <p>The following image shows a Bluetooth-enabled laptop accessing the
 Internet through a mobile handset that is acting as a PAN-NAP device. The
 Bluetooth handset may provide the uplink via GPRS, WIFI, dial-up, or in some
--- a/Symbian3/PDK/Source/GUID-DEF3B8B3-5BD7-505B-93F9-A20CE00FFAE6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DEF3B8B3-5BD7-505B-93F9-A20CE00FFAE6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -62,7 +62,7 @@
 <li id="GUID-F06D0F56-40AA-5631-9686-BA955E8E263B"><p> <xref href="GUID-DEF3B8B3-5BD7-505B-93F9-A20CE00FFAE6.dita#GUID-DEF3B8B3-5BD7-505B-93F9-A20CE00FFAE6/GUID-AA3990F3-52AB-5B14-8ED4-50CCA824AF84">Preventing deadlock</xref>. </p> </li>
 </ul> <p>The diagram below shows how plugins fit into the File Server software
 stack. </p> <fig id="GUID-EF5AECEC-9CB0-54B0-B6D2-46266B5FF49E">
-<image href="GUID-9A4543B3-2A79-5604-AE11-5087507C6755_d0e363939_href.png" placement="inline"/>
+<image href="GUID-9A4543B3-2A79-5604-AE11-5087507C6755_d0e369788_href.png" placement="inline"/>
 </fig> <p> <b>Note</b>: more than one plugin can be loaded into the file server
 at the same time. A plugin is not aware of other plugins. </p> <p id="GUID-3D91570E-8939-557B-8E1E-3A3C5BD27A26"><b> Threads and execution context</b> </p> <p>The
 Symbian platform File Server has multiple threads. There is a thread for each
@@ -94,7 +94,7 @@
 the plugins are not re-entrant safe this can lead to deadlock in the file
 server. </p> <fig id="GUID-01A69E82-BF01-520A-A8C5-927F1ED85E04">
 <title>                 File server deadlock               </title>
-<image href="GUID-9CC5E096-74FB-59AB-BAB9-A5486B961B7D_d0e364015_href.png" placement="inline"/>
+<image href="GUID-9CC5E096-74FB-59AB-BAB9-A5486B961B7D_d0e369864_href.png" placement="inline"/>
 </fig> <p>The framework introduced in v9.5 prevents deadlock by allowing plugins
 to issue internal file server requests after intercepting a request by using
 the newly introduced <xref href="GUID-3C50CF63-9AF4-3F36-8B8F-3FBB613E1CAC.dita"><apiname>RFilePlugin</apiname></xref>, <xref href="GUID-2E871434-D08F-3275-AC55-260A9A78661A.dita"><apiname>RDirPlugin</apiname></xref> and <xref href="GUID-DE8D8017-6E9C-38CE-A023-98A53CDF7152.dita"><apiname>RFsPlugin</apiname></xref> APIs
@@ -104,7 +104,7 @@
 for a typical plugin intercepting a file read request is illustrated below: </p> <fig id="GUID-E366027F-3112-520F-A118-4C048102749E">
 <title>                 Read request intercepted by a plugin             
  </title>
-<image href="GUID-2ABCF233-7DCC-59E2-B075-81E148A1D2AB_d0e364053_href.png" placement="inline"/>
+<image href="GUID-2ABCF233-7DCC-59E2-B075-81E148A1D2AB_d0e369902_href.png" placement="inline"/>
 </fig> <p>The classes <xref href="GUID-3C50CF63-9AF4-3F36-8B8F-3FBB613E1CAC.dita"><apiname>RFilePlugin</apiname></xref>, <xref href="GUID-2E871434-D08F-3275-AC55-260A9A78661A.dita"><apiname>RDirPlugin</apiname></xref> and <xref href="GUID-DE8D8017-6E9C-38CE-A023-98A53CDF7152.dita"><apiname>RFsPlugin</apiname></xref> have
 been introduced to facilitate plugins with direct access behaviour on file
 and directory requests. These classes are analogous to the client-side <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref>, <xref href="GUID-12AE154F-7741-38C0-ADFE-9784FCF5E516.dita"><apiname>RDir</apiname></xref> and <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> classes and have functions with similar or identical signitures. </p> <p>In
@@ -184,7 +184,7 @@
 first plugin to be able to intercept requests. </p> <fig id="GUID-41EB2F58-407F-52C7-A40C-0E3858CF718B">
 <title>                 Plugin stack showing absolute positions          
     </title>
-<image href="GUID-64BDD1DA-6B93-5F45-8CBD-7DBAF92CC4C7_d0e364179_href.png" placement="inline"/>
+<image href="GUID-64BDD1DA-6B93-5F45-8CBD-7DBAF92CC4C7_d0e370028_href.png" placement="inline"/>
 </fig> <p>The absolute position method is more appropriate for mounting plugins
 that operate regardless of their position in the plugin stack or when all
 of the plugins for a device are known and installed when manufactured. This
Binary file Symbian3/PDK/Source/GUID-DF14773D-6A2E-5FAD-A1CC-5D54E53BEA2E_d0e590591_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DF14773D-6A2E-5FAD-A1CC-5D54E53BEA2E_d0e618485_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DF1B3C55-2CFC-49C8-88A2-D10925ECAC3E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DF1B3C55-2CFC-49C8-88A2-D10925ECAC3E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 do not freeze the invalid export entries in the DEF file using the ARM RVCT
 compiler.</note></li>
 </ol></section>
-<section id="GUID-DDE6596E-1A67-4219-8822-45A82C39DF0B-GENID-1-12-1-13-1-1-9-1-6-1-3-2">       <title>Use
+<section id="GUID-DDE6596E-1A67-4219-8822-45A82C39DF0B-GENID-1-12-1-14-1-1-9-1-6-1-3-2">       <title>Use
 of Global Destructor</title>       <p>Symbian does not invoke destructors
 of global objects upon program termination. For example, in the code below,
 the destructor <codeph>~foo()</codeph> is not called upon program termination.
@@ -49,7 +49,7 @@
 }
 
 </codeblock>     </section>
-<section id="GUID-DDE6596E-1A67-4219-8822-45A82C39DF0B-GENID-1-12-1-13-1-1-9-1-6-1-3-3">       <title>Issues
+<section id="GUID-DDE6596E-1A67-4219-8822-45A82C39DF0B-GENID-1-12-1-14-1-1-9-1-6-1-3-3">       <title>Issues
 with <codeph>new</codeph> operator</title>       <p>Throwing <codeph>bad_alloc</codeph> or
 any object from new on ARMV5 platfrom crashes. RVCT reports an exception when <codeph>new</codeph> throws <codeph>bad_alloc</codeph>.
 The problem occurs even if the user throws any object from within an overloaded
@@ -73,7 +73,7 @@
 is by defining new similar to:</p><codeblock xml:space="preserve">void* operator new(size_t s,newarg) throw (std::bad_alloc)</codeblock><p>and
 invoking it as:</p><codeblock xml:space="preserve">Myclass* my = new(S60) Myclass()</codeblock> 
    </section>
-<section id="GUID-DDE6596E-1A67-4219-8822-45A82C39DF0B-GENID-1-12-1-13-1-1-9-1-6-1-3-4">       <title>The <codeph>id</codeph> Member
+<section id="GUID-DDE6596E-1A67-4219-8822-45A82C39DF0B-GENID-1-12-1-14-1-1-9-1-6-1-3-4">       <title>The <codeph>id</codeph> Member
 Issue</title>       <p>The <codeph>id</codeph> member variable of facet classes
 cannot be accessed directly, it has to be accessed via the <codeph>GetFacetLocaleId()</codeph> interface.</p><p>Following
 code snippet is an example that illustrates how to <codeph>uselocale::id</codeph> while
Binary file Symbian3/PDK/Source/GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e393517_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e399370_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DF3ECD47-4A5B-5836-B5CA-ACCEE98412D4_d0e74379_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DF3ECD47-4A5B-5836-B5CA-ACCEE98412D4_d0e78592_href.png has changed
--- a/Symbian3/PDK/Source/GUID-DF3F2FD0-FF68-4CEF-843F-CBC9E84F3A7F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DF3F2FD0-FF68-4CEF-843F-CBC9E84F3A7F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,12 +12,12 @@
 <concept id="GUID-DF3F2FD0-FF68-4CEF-843F-CBC9E84F3A7F" xml:lang="en"><title>Signal
 pane</title><prolog><metadata><keywords/></metadata></prolog><conbody>
 <p>The Signal pane displays the cellular signal strength indicator.</p>
-<fig id="GUID-9808D929-9B9B-4FA6-9F71-47EA618FDC91">
+<fig id="GUID-3BFDF250-CAD4-4F6B-AC92-E8D9726CB661">
 <title>Signal pane (left)</title>
-<image href="GUID-924576EE-A016-4689-8B63-E8176063E1E6_d0e95759_href.png" placement="inline"/>
+<image href="GUID-E58FA02A-D721-42FC-941F-1D8E5BCD96BC_d0e99876_href.png" scale="40" placement="inline"/>
 </fig>
 <p>The indicator may also contain information about a packet data connection
 (such as GPRS) status.</p>
-<p>The Signal pane is not accessible
-to applications.</p>
+<p>The Signal pane is not
+accessible to applications.</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-DF756D6C-1E03-4EC0-B074-09611D122359.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DF756D6C-1E03-4EC0-B074-09611D122359.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,109 +1,99 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-DF756D6C-1E03-4EC0-B074-09611D122359" xml:lang="en"><title>Storing
-location information on a mobile device</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><xref href="GUID-BC8D1F02-3FBB-406A-80CE-5836E61EBD82.dita">Location information</xref> may
-be stored as database entries called <i>landmarks</i> that contain at least
-a name and a location.</p>
-<p>Typical use cases include:</p>
-<ul>
-<li><p>Sending location information that is stored according to
-the World Geodetic System (WGS 84) to another device.</p></li>
-<li><p>Finding sites within a set distance of a stored point.</p>
-</li>
-</ul>
-<note>
-<p>The SDK does not include a map API, and therefore you must use a third
-party API to display the location information you receive on a map. <draft-comment time="2009-04-21T13:48">Does this also apply to S60 5th Edition?</draft-comment></p>
-</note>
-<section id="GUID-10327A77-B899-4F7F-9F12-094855387BAB"><title>Saving location
-information on a mobile device</title>
-<p>To store location information on your mobile device:</p>
-<ol>
-<li id="GUID-820AF19E-FD11-46E6-A865-6CFF62AD5508"><p>Make use of
-the methods of the <xref href="jar:.jar!/public_specs/GuidesA/Landmarks_API_Specification/Landmarks_API_Specification.html" format="application/java-archive">Landmarks
-API</xref> <xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html" scope="external"/>when
-constructing your application.</p>
-<itemgroup>
-<p>The <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCPosLandmarkDatabase.html" format="application/java-archive"><codeph>CPosLandmarkDatabase</codeph></xref> class is used for accessing the database with the landmarks
-information and the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCPosLandmark.html" format="application/java-archive"><codeph>CPosLandmark</codeph></xref> class
-contains the location information.</p>
-<p>For detailed information on how to do this, see:</p>
-<ul>
-<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topicUsingDb" scope="external">Using landmarks database</xref> for a discussion of how to
-start accessing the database with the location information, including a structure
-diagram.</p></li>
-<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topicReadLandmarks" scope="external">Managing landmarks</xref> for code samples of opening, editing, and adding
-location information to a database</p></li>
-<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topicListenEvents" scope="external">Listening to database events</xref> for possible events type passed to
-your application and code samples for implementing a listener</p>
-<itemgroup>
-<p>The <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/structTPosLmEvent.html" format="application/java-archive">TPosLmEvent</xref> class
-is used in listening for events.</p>
-</itemgroup>
-</li>
-</ul>
-</itemgroup>
-</li>
-<li id="GUID-8B69F55D-48B1-469B-83CA-31F0353DCBF0"><p>Make sure <codeph>eposlandmarks.lib</codeph> is
-accessible to your linker when compiling your application by including it
-in your .mmp file or by editing the project properties in your IDE, depending
-on your build environment.</p></li>
-<li id="GUID-09A43DDB-5BA1-470D-B5A3-5084D2BA124A"><p>Make sure
-you have the correct capabilities information set for your application, depending
-on your application you may need <codeph>LocalServices</codeph>, <codeph>NetworkServices</codeph>, <codeph>ReadDeviceData</codeph>, <codeph>ReadUserData</codeph>, <codeph>WriteDeviceData</codeph>, and <codeph>WriteUserData</codeph>.</p>
-</li>
-</ol>
-</section>
-<section id="GUID-8D41C21E-0334-4679-B4D2-709B96C34076"><title>Additional information
-on storing location information</title>
-<p>For more information see, <draft-comment time="2007-10-01T13:49">Question
-for the reviewers: Is there anything else that we could add here?</draft-comment></p>
-<ul>
-<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topic2" scope="external">API description</xref> for a description of the API and its class structure</p>
-</li>
-<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html" scope="external">Using
-the Landmarks API</xref> for a general overview on how to create applications
-using the API</p></li>
-<li><p>For a reference example on searching and manipulating the
-information in the location database, see <codeph>LocationLandmarksRefAppForS60</codeph> in
-the SDK (<codeph>&lt;SDK installation directory&gt;\S60CppExamples\</codeph>)</p>
-</li>
-<li><p>For a reference example on how to use common UI components
-to work with landmark data, see <codeph>LocationLandmarksUIRefApp</codeph> in
-the SDK (<codeph>&lt;SDK installation directory&gt;\S60CppExamples\AutoAdaptedToTouchEx\</codeph>)</p>
-</li>
-</ul>
-</section>
-<section id="GUID-987E85BE-B14B-4248-853F-F7BC5EF48BE7"><title>Related Symbian
-APIs</title>
-<p>The Symbian platform also offers the following related APIs:</p>
-<ul>
-<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html" scope="external">Landmarks
-API</xref> for accessing the database</p></li>
-<li><p><xref format="html" href="specs/guides/Landmarks_Database_Management_API_Specification/Landmarks_Database_Management_API_Specification.html" scope="external">Landmarks Database Management API</xref> for creating and deleting databases</p>
-</li>
-<li><p><xref format="html" href="specs/guides/Landmarks_Search_API_Specification/Landmarks_Search_API_Specification.html" scope="external">Landmarks
-Search API</xref> for allowing mobile devices users to search the database</p>
-</li>
-<li><p><xref format="html" href="specs/guides/Landmarks_UI_Add_Edit_API_Specification/Landmarks_UI_Add_Edit_API_Specification.html" scope="external">Landmarks
-UI Add/Edit API</xref> for allowing mobile device users to add and edit
-landmarks</p></li>
-<li><p><xref format="html" href="specs/guides/Landmarks_UI_Selector_API_Specification/Landmarks_UI_Selector_API_Specification.html" scope="external">Landmarks
-UI Selector API</xref> for displaying and selecting landmarks</p></li>
-<li><p>Location Acquisition API for finding the location of a mobile
-device</p></li>
-<li><p><xref href="GUID-02EE9C85-5942-40F7-BF60-B5D8B04B9AA6.dita#GUID-02EE9C85-5942-40F7-BF60-B5D8B04B9AA6/GUID-15C32932-3088-4FC9-BE83-2EC00FCEB694">Communication</xref> for
-sending location information to other devices</p></li>
-</ul>
-</section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-DF756D6C-1E03-4EC0-B074-09611D122359" xml:lang="en"><title>Storing location information on a mobile device</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><xref href="GUID-BC8D1F02-3FBB-406A-80CE-5836E61EBD82.dita">Location
+information</xref> may be stored as database entries called <i>landmarks</i> that contain at least a name and a location.</p>
+<p>Typical use cases include:</p>
+<ul>
+<li><p>Sending location information that is stored according
+to the World Geodetic System (WGS 84) to another device.</p>
+</li>
+<li><p>Finding sites within a set distance of a stored point.</p>
+</li>
+</ul>
+<note>
+<p>The SDK does not include a map API, and therefore you must use
+a third party API to display the location information you receive
+on a map. <draft-comment time="2009-04-21T13:48">Does this also apply
+to S60 5th Edition?</draft-comment></p>
+</note>
+<section id="GUID-10327A77-B899-4F7F-9F12-094855387BAB"><title>Saving
+location information on a mobile device</title>
+<p>To store location information on your mobile device:</p>
+<ol>
+<li id="GUID-820AF19E-FD11-46E6-A865-6CFF62AD5508"><p>Make
+use of the methods of the <xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html" scope="external">Landmarks API</xref>when constructing your application.</p>
+<itemgroup>
+<p>The <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCPosLandmarkDatabase.html" format="application/java-archive"><codeph>CPosLandmarkDatabase</codeph></xref> class is used for accessing the database with the landmarks
+information and the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCPosLandmark.html" format="application/java-archive"><codeph>CPosLandmark</codeph></xref> class contains the location information.</p>
+<p>For detailed information on how to do this, see:</p>
+<ul>
+<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topicUsingDb" scope="external">Using landmarks database</xref> for a discussion of how to start
+accessing the database with the location information, including a
+structure diagram.</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topicReadLandmarks" scope="external">Managing landmarks</xref> for code samples of opening, editing,
+and adding location information to a database</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topicListenEvents" scope="external">Listening to database events</xref> for possible events type passed
+to your application and code samples for implementing a listener</p>
+<itemgroup>
+<p>The <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/structTPosLmEvent.html" format="application/java-archive">TPosLmEvent</xref> class is
+used in listening for events.</p>
+</itemgroup>
+</li>
+</ul>
+</itemgroup>
+</li>
+<li id="GUID-8B69F55D-48B1-469B-83CA-31F0353DCBF0"><p>Make
+sure <codeph>eposlandmarks.lib</codeph> is accessible to your linker
+when compiling your application by including it in your .mmp file
+or by editing the project properties in your IDE, depending on your
+build environment.</p></li>
+<li id="GUID-09A43DDB-5BA1-470D-B5A3-5084D2BA124A"><p>Make
+sure you have the correct capabilities information set for your application,
+depending on your application you may need <codeph>LocalServices</codeph>, <codeph>NetworkServices</codeph>, <codeph>ReadDeviceData</codeph>, <codeph>ReadUserData</codeph>, <codeph>WriteDeviceData</codeph>, and <codeph>WriteUserData</codeph>.</p></li>
+</ol>
+</section>
+<section id="GUID-8D41C21E-0334-4679-B4D2-709B96C34076"><title>Additional
+information on storing location information</title>
+<p>For more information see, <draft-comment time="2007-10-01T13:49">Question for the reviewers: Is there anything else that we could
+add here?</draft-comment></p>
+<ul>
+<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html#Landmarks_API_Specification.topic2" scope="external">API description</xref> for a description of the API and its class
+structure</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html" scope="external">Using the Landmarks API</xref> for a general overview on how to
+create applications using the API</p></li>
+<li><p>For a reference example on searching and manipulating
+the information in the location database, see <codeph>LocationLandmarksRefAppForS60</codeph> in the SDK (<codeph>&lt;SDK installation directory&gt;\S60CppExamples\</codeph>)</p></li>
+<li><p>For a reference example on how to use common UI components
+to work with landmark data, see <codeph>LocationLandmarksUIRefApp</codeph> in the SDK (<codeph>&lt;SDK installation directory&gt;\S60CppExamples\AutoAdaptedToTouchEx\</codeph>)</p></li>
+</ul>
+</section>
+<section id="GUID-987E85BE-B14B-4248-853F-F7BC5EF48BE7"><title>Related
+Symbian APIs</title>
+<p>The Symbian platform also offers the following related APIs:</p>
+<ul>
+<li><p><xref format="html" href="specs/guides/Landmarks_API_Specification/Landmarks_API_Specification.html" scope="external">Landmarks API</xref> for accessing the database</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_Database_Management_API_Specification/Landmarks_Database_Management_API_Specification.html" scope="external">Landmarks Database Management API</xref> for creating and deleting
+databases</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_Search_API_Specification/Landmarks_Search_API_Specification.html" scope="external">Landmarks Search API</xref> for allowing mobile devices users
+to search the database</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_UI_Add_Edit_API_Specification/Landmarks_UI_Add_Edit_API_Specification.html" scope="external">Landmarks UI Add/Edit API</xref> for allowing mobile device users
+to add and edit landmarks</p></li>
+<li><p><xref format="html" href="specs/guides/Landmarks_UI_Selector_API_Specification/Landmarks_UI_Selector_API_Specification.html" scope="external">Landmarks UI Selector API</xref> for displaying and selecting
+landmarks</p></li>
+<li><p>Location Acquisition API for finding the location
+of a mobile device</p></li>
+<li><p><xref href="GUID-02EE9C85-5942-40F7-BF60-B5D8B04B9AA6.dita#GUID-02EE9C85-5942-40F7-BF60-B5D8B04B9AA6/GUID-15C32932-3088-4FC9-BE83-2EC00FCEB694">Communication</xref> for sending location information to other devices</p>
+</li>
+</ul>
+</section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-DF7959E7-15A4-5504-8D22-B8189DB2688E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-DF7959E7-15A4-5504-8D22-B8189DB2688E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-DF7959E7-15A4-5504-8D22-B8189DB2688E"><title>Introduction to Swizzles and deferred loading </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>In complex applications involving a large network of objects, it may be desirable, and even necessary, to defer the loading of objects into memory from the store.</p> <p>It should, therefore, be possible to represent such an object in one of two ways:</p> <ul><li id="GUID-11F8C7C2-C67E-56A0-9F17-9068E69085FF"><p>by the stream ID of the stream containing the external representation of that object, if it is not in memory.</p> </li> <li id="GUID-07C65069-0F05-53D8-AFF8-DD539371CD6D"><p>by a pointer, if it is in memory (or has already been loaded into memory); the pointer points to the in-memory object.</p> </li> </ul> <p>A Swizzle is a device for handling this dual representation.</p> <p>A typical container type object, therefore, does not have a pointer directly to a contained object, but has a Swizzle which can represent that contained object <i>either</i> as a pointer <i>or</i> as a stream ID, as illustrated in the following diagram.</p> <fig id="GUID-F057540D-3613-538E-947F-04C414280A8F"><image href="GUID-8AF21373-E51E-5B9D-ACC1-243752C9BB5B_d0e583950_href.png" placement="inline"/></fig> <p>A Swizzle can be considered as a lean, but efficient, container in its own right.</p> <p>The concrete Swizzle classes are templated; the template parameter defines the type of object which the Swizzle represents.</p> <p>There are two general concrete Swizzle classes:</p> <ul><li id="GUID-AB85BEFF-8377-566B-9073-5C9C3489F3DB"><p><codeph>TSwizzle&lt;class T&gt;</codeph> </p> </li> <li id="GUID-32CF088B-01FA-585B-9C1C-3DC73E83BE85"><p><codeph>TSwizzleC&lt;class T&gt;</codeph> </p> </li> </ul> <p>A <codeph>TSwizzle&lt;class T&gt;</codeph> represents a <codeph>&lt;class T&gt;</codeph> type object. Full access is available to the <codeph>&lt;class T&gt;</codeph> type object through the Swizzle.</p> <p>A <codeph>TSwizzleC&lt;class T&gt;</codeph> represents a <codeph>&lt;class T&gt;</codeph> type object. Access to the object is limited; in particular the object cannot be changed.</p> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-DF7959E7-15A4-5504-8D22-B8189DB2688E"><title>Introduction to Swizzles and deferred loading </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>In complex applications involving a large network of objects, it may be desirable, and even necessary, to defer the loading of objects into memory from the store.</p> <p>It should, therefore, be possible to represent such an object in one of two ways:</p> <ul><li id="GUID-11F8C7C2-C67E-56A0-9F17-9068E69085FF"><p>by the stream ID of the stream containing the external representation of that object, if it is not in memory.</p> </li> <li id="GUID-07C65069-0F05-53D8-AFF8-DD539371CD6D"><p>by a pointer, if it is in memory (or has already been loaded into memory); the pointer points to the in-memory object.</p> </li> </ul> <p>A Swizzle is a device for handling this dual representation.</p> <p>A typical container type object, therefore, does not have a pointer directly to a contained object, but has a Swizzle which can represent that contained object <i>either</i> as a pointer <i>or</i> as a stream ID, as illustrated in the following diagram.</p> <fig id="GUID-F057540D-3613-538E-947F-04C414280A8F"><image href="GUID-8AF21373-E51E-5B9D-ACC1-243752C9BB5B_d0e633238_href.png" placement="inline"/></fig> <p>A Swizzle can be considered as a lean, but efficient, container in its own right.</p> <p>The concrete Swizzle classes are templated; the template parameter defines the type of object which the Swizzle represents.</p> <p>There are two general concrete Swizzle classes:</p> <ul><li id="GUID-AB85BEFF-8377-566B-9073-5C9C3489F3DB"><p><codeph>TSwizzle&lt;class T&gt;</codeph> </p> </li> <li id="GUID-32CF088B-01FA-585B-9C1C-3DC73E83BE85"><p><codeph>TSwizzleC&lt;class T&gt;</codeph> </p> </li> </ul> <p>A <codeph>TSwizzle&lt;class T&gt;</codeph> represents a <codeph>&lt;class T&gt;</codeph> type object. Full access is available to the <codeph>&lt;class T&gt;</codeph> type object through the Swizzle.</p> <p>A <codeph>TSwizzleC&lt;class T&gt;</codeph> represents a <codeph>&lt;class T&gt;</codeph> type object. Access to the object is limited; in particular the object cannot be changed.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-DF83E798-408C-5E69-9520-A733DAEAB788_d0e109400_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DF83E798-408C-5E69-9520-A733DAEAB788_d0e111823_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e382400_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e388253_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e101297_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e79693_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e83891_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e86395_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e90593_href.png has changed
Binary file Symbian3/PDK/Source/GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e97218_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E0284006-9173-5BC5-A899-E0873CA1AE1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E0284006-9173-5BC5-A899-E0873CA1AE1F"><title>Native EXEs and LIBs vs. OE EXEs and LIBs</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The conventional way of defining the entry point for a Symbian platform executable is by including "<codeph>E32Main</codeph> " in the application source. Since Symbian OS v9.3, you can define the entry point for an executable by including "<codeph>main</codeph> " instead of "<codeph>E32Main</codeph> ". With this approach, Symbian developers may easily port their C/C++ code to Symbian platform with less changes to the original source. </p> <p>Symbian OS v9.3 and later releases provide an Open Environment (OE) to develop EXEs with the "<codeph>main</codeph> " entry point. The OE executables and libraries are identified by their <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref>, which can either be <codeph>STDEXE</codeph>, <codeph>STDDLL</codeph> or <codeph>STDLIB</codeph>. An OE EXE may choose to have a wide character entry point using the MMP keyword, <xref href="GUID-D5358527-5E6F-5158-8BCB-F9D74DB9B354.dita">wcharentrypoint</xref>. </p> <p>Here is a list of important differences between native Symbian platform executables and OE executables: </p> <ul><li id="GUID-A9322D93-0A1E-5785-BE67-614B8B748AE0"><p>Native Symbian platform EXEs use "<codeph>E32Main</codeph> " entry point, whereas OE EXEs use "<codeph>main</codeph> " entry point. </p> </li> <li id="GUID-1AAD269D-6356-5815-ABCE-FAD04B8A0CDB"><p>The UIDs used to identify native Symbian platform EXEs and DLLs are different when compared to OE EXEs and DLLs. </p> </li> <li id="GUID-88201F59-70F4-553D-8469-788876C37746"><p>In a native Symbian platform executable, the functions and data symbols with <codeph>extern</codeph> linkage are exported only if <codeph>IMPORT_C</codeph> /<codeph>EXPORT_C</codeph> declarations are found in the header or source files. In a OE executable, all functions and data symbols with <codeph>extern</codeph> linkage are exported by default without <codeph>IMPORT_C</codeph> /<codeph>EXPORT_C</codeph> declarations in the header or source files. </p> </li> <li id="GUID-3DFF529C-D652-5815-BE51-9AA86450EFF0"><p>The libraries required by a native Symbian platform executable/library have to be listed explicitly in the MMP file, whereas for an OE executable/library they are included by default. </p> </li> <li id="GUID-C1CEB4E1-A4EC-52C9-9F32-AFB2F3C75CB7"><p>The native Symbian platform EXEs and DLLs does not have symbol lookup, whereas OE EXEs and DLLs support symbol lookup using <xref scope="external" href="http://www.opengroup.org/onlinepubs/009695399/functions/dlsym.html">dlsym</xref>. </p> </li> <li id="GUID-FA1C6B88-6D8A-5CB4-B4B2-98EA055B422C"><p>A native Symbian platform EXE, DLL or LIB must include the path to standard APIs in the <filepath>mmp</filepath> file. For an OE EXE, DLL or LIB the build system includes <filepath>${EPOCROOT}epoc32/include/stdapis</filepath> as the default path for header files. </p> </li> </ul> <p>The build system has been modified to support compilation of C++ source files with extensions “<filepath>.cc</filepath> ”, “<filepath>.cxx</filepath> ” and “<filepath>.c++</filepath> ”. This change is applicable to both OE and native Symbian platform executables and libraries. That is, from Symbian OS v9.3 onwards a native Symbian platform or an OE executable/library can be built using C++ source files with extensions “<filepath>.cc</filepath> ”, “<filepath>.cxx</filepath> ” and “<filepath>.c++</filepath> ”. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E04B4397-2926-4F4D-A7FE-F79F3BF37BF8-master.png has changed
Binary file Symbian3/PDK/Source/GUID-E04B4397-2926-4F4D-A7FE-F79F3BF37BF8_d0e95674_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E08D9F14-F50A-56C7-9D95-9306E540A02C_d0e167315_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E08D9F14-F50A-56C7-9D95-9306E540A02C_d0e173408_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E08F6BA9-F1A9-50D5-8CBE-8304BBA24D1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E08F6BA9-F1A9-50D5-8CBE-8304BBA24D1F" xml:lang="en"><title>The Symbian emulator build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes distinctive aspects of building for the emulator targets. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E09CA978-2599-50F9-AF6D-077AD7D5CA6F_d0e511350_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-E09CA978-2599-50F9-AF6D-077AD7D5CA6F_d0e518812_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-E09F74E2-B5A2-51F8-BD9E-882BE2661D5C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E09F74E2-B5A2-51F8-BD9E-882BE2661D5C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-E09F74E2-B5A2-51F8-BD9E-882BE2661D5C"><title>MiniGUI Environment Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic introduces the MiniGUI environment (also known as the MinGUI environment) which provides the minimum components to get a working ScreenPlay graphics stack. The MiniGUI environment allows hardware vendors to test their ScreenPlay graphics and multimedia adaptations without the complete UI platform. </p> <p> <b>Variant</b>: ScreenPlay. <b>Target audience</b>: Device creators. </p> <p>When a new hardware platform is introduced, it is common to use a Textshell environment as part of base porting. The Textshell environment allows graphics and multimedia vendors to test and validate their hardware adaptation components without waiting for the complete platform to be ported. However, the Textshell environment is based on a special version of Window Server: Text Window Server, which is non-ScreenPlay. </p> <p>A disadvantage of using the Textshell environment is that hardware vendors need to provide two different implementations of their ScreenPlay adaptation components: one for the Text Window Server and one for the full Window Server. This is because the Text Window Server does not provide the ScreenPlay functionality that the full Window Server provides in the final product. ScreenPlay uses UI composition functionality that relies on the composition engine. This functionality is driven by the full Window Server. Therefore the full Window Server must be used in order to properly validate ScreenPlay adaptation components, such as EGL, or the multimedia framework at an early stage of product development. </p> <fig id="GUID-B33B7E76-5441-5404-BB62-910A351A7BD0"><title>
           Textshell environment 
-        </title> <image href="GUID-9F6C46FF-1F5A-591C-B33F-29E9885973B3_d0e247524_href.jpg" placement="inline"/></fig> <p>The MiniGUI environment is a ScreenPlay environment. As it uses the full Window Server, the MiniGUI environment needs the ScreenPlay components in the Graphics package to be present. However, the MiniGUI does not require other UI components above the Window Server. Graphics and multimedia vendors can therefore test their adaptation components in the MiniGUI environment without the whole UI platform. </p> <p>Using the MiniGUI environment for validation means that hardware vendors only need to create one implementation of their adaptation component. Therefore they no longer need to create a separate implementation especially for Textshell. </p> <fig id="GUID-4B18AEBF-204D-50FD-8DD0-F32C12FCA6BA"><title>
+        </title> <image href="GUID-9F6C46FF-1F5A-591C-B33F-29E9885973B3_d0e253535_href.jpg" placement="inline"/></fig> <p>The MiniGUI environment is a ScreenPlay environment. As it uses the full Window Server, the MiniGUI environment needs the ScreenPlay components in the Graphics package to be present. However, the MiniGUI does not require other UI components above the Window Server. Graphics and multimedia vendors can therefore test their adaptation components in the MiniGUI environment without the whole UI platform. </p> <p>Using the MiniGUI environment for validation means that hardware vendors only need to create one implementation of their adaptation component. Therefore they no longer need to create a separate implementation especially for Textshell. </p> <fig id="GUID-4B18AEBF-204D-50FD-8DD0-F32C12FCA6BA"><title>
           MiniGUI environment 
-        </title> <image href="GUID-51FE06D3-48DF-5BEE-A145-FC9D82DC0FB4_d0e247536_href.jpg" placement="inline"/></fig> </conbody><related-links><link href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita"><linktext>The ScreenPlay Graphics Architecture</linktext> </link> <link href="GUID-ED20B02A-C146-5E28-A102-D3AE11D9015F.dita"><linktext>Building and Running the MiniGUI
+        </title> <image href="GUID-51FE06D3-48DF-5BEE-A145-FC9D82DC0FB4_d0e253547_href.jpg" placement="inline"/></fig> </conbody><related-links><link href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita"><linktext>The ScreenPlay Graphics Architecture</linktext> </link> <link href="GUID-ED20B02A-C146-5E28-A102-D3AE11D9015F.dita"><linktext>Building and Running the MiniGUI
                 Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E0A02CCA-486B-592E-9B3B-BA4A378EC5AD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E0A02CCA-486B-592E-9B3B-BA4A378EC5AD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E0A02CCA-486B-592E-9B3B-BA4A378EC5AD"><title>Socket connection example</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example shows the relationship that sockets, connections and subconnections have to each other. </p> <fig id="GUID-E53D154C-9B26-5404-BA85-9EF1572B17CD"><image href="GUID-646C2A7A-B90C-5E82-B44F-EA24DDBB1EC5_d0e141947_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E0A02CCA-486B-592E-9B3B-BA4A378EC5AD"><title>Socket connection example</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This example shows the relationship that sockets, connections and subconnections have to each other. </p> <fig id="GUID-E53D154C-9B26-5404-BA85-9EF1572B17CD"><image href="GUID-646C2A7A-B90C-5E82-B44F-EA24DDBB1EC5_d0e144196_href.png" placement="inline"/></fig> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E0C21636-657A-413F-A905-A08608B60768.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E0C21636-657A-413F-A905-A08608B60768.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 clients about long tap events.</p>
 <fig id="GUID-9BC1E66F-A6EC-4976-BCDA-A80BD3B921DC">
 <title>Touch UI utilities API class structure</title>
-<image href="GUID-5C1EC237-EBC3-474D-B58D-502B82911DCA_d0e103581_href.png" scale="70" placement="inline"/>
+<image href="GUID-5C1EC237-EBC3-474D-B58D-502B82911DCA_d0e107601_href.png" scale="70" placement="inline"/>
 </fig>
 <p>To receive long tap events in your application, implement the <codeph>MaknLongTapDetectorCallBack</codeph> interface.
 When the user makes long tap on the device screen, the framework sends events
--- a/Symbian3/PDK/Source/GUID-E0D4EFAC-85E6-4EF6-B65C-1D1602E3A8FD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E0D4EFAC-85E6-4EF6-B65C-1D1602E3A8FD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,8 +16,8 @@
 a client to get existing localized time zone names.  </p><p>The steps for
 a client to create a user-defined TZ from an existing TZ are described in
 the Procedure section. </p></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-7-1-2-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-7-1-2-2-1"><cmd>Include the header
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-7-1-2-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-7-1-2-2-1"><cmd>Include the header
 files that contain the <codeph>CTzLocalizer</codeph> and <codeph>CTzUserData</codeph> classes. </cmd>
 </step>
 <step id="GUID-B6450767-B3BA-4228-9622-86FFBEE0C570"><cmd>Include a numeric time zone ID. This is supplied by the UI layer. </cmd>
--- a/Symbian3/PDK/Source/GUID-E1410365-7254-5326-B3F7-D7100D31E59F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E1410365-7254-5326-B3F7-D7100D31E59F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E1410365-7254-5326-B3F7-D7100D31E59F"><title>Array of variable length elements, segmented buffer</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This is a <codeph>CArrayVarSeg&lt;class T&gt;</codeph> object whose elements can have different lengths. Although each element is a <codeph>class T</codeph> object, the length of that object can vary.</p> <p>In this type of array, each element occupies its own individual cell allocated from the heap. The array buffer contains fixed length data structures, one for each element, which are logically contiguous within the buffer but are physically contiguous only within a segment. Each fixed length data structure contains the length of an element (a <codeph>TInt</codeph> value) and a pointer to it. The structure itself is part of the implementation but occupies no more than eight bytes on 32-bit machines.</p> <p>A segmented buffer is implemented as a doubly linked list of equally sized cells allocated from the heap and is always extended by allocating a new segment and inserting it into the appropriate place in the list. A segmented array buffer is implemented using a <codeph>CBufSeg</codeph> object. </p> <p>The following diagram illustrates how elements are organised within the array buffer:</p> <fig id="GUID-D8FD08B3-2896-56FE-8252-E88A250655C4"><image href="GUID-FCFF0750-0AE9-5F51-B4F7-B1655E1AD244_d0e317480_href.png" placement="inline"/></fig> <p>This kind of array is suitable for large arrays with a high turnover of elements.</p> <p>This class is immediately derived from the abstract templated base class <codeph>CArrayVar&lt;class T&gt;</codeph> which is itself derived from the abstract non-templated base class <codeph>CArrayVarBase</codeph>. </p> <section><title>See also</title> <p><xref href="GUID-112AAFA5-B4C9-5B62-A106-FB5097C13A0E.dita">Dynamic Buffers Guide</xref>.</p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E1410365-7254-5326-B3F7-D7100D31E59F"><title>Array of variable length elements, segmented buffer</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This is a <codeph>CArrayVarSeg&lt;class T&gt;</codeph> object whose elements can have different lengths. Although each element is a <codeph>class T</codeph> object, the length of that object can vary.</p> <p>In this type of array, each element occupies its own individual cell allocated from the heap. The array buffer contains fixed length data structures, one for each element, which are logically contiguous within the buffer but are physically contiguous only within a segment. Each fixed length data structure contains the length of an element (a <codeph>TInt</codeph> value) and a pointer to it. The structure itself is part of the implementation but occupies no more than eight bytes on 32-bit machines.</p> <p>A segmented buffer is implemented as a doubly linked list of equally sized cells allocated from the heap and is always extended by allocating a new segment and inserting it into the appropriate place in the list. A segmented array buffer is implemented using a <codeph>CBufSeg</codeph> object. </p> <p>The following diagram illustrates how elements are organised within the array buffer:</p> <fig id="GUID-D8FD08B3-2896-56FE-8252-E88A250655C4"><image href="GUID-FCFF0750-0AE9-5F51-B4F7-B1655E1AD244_d0e323470_href.png" placement="inline"/></fig> <p>This kind of array is suitable for large arrays with a high turnover of elements.</p> <p>This class is immediately derived from the abstract templated base class <codeph>CArrayVar&lt;class T&gt;</codeph> which is itself derived from the abstract non-templated base class <codeph>CArrayVarBase</codeph>. </p> <section><title>See also</title> <p><xref href="GUID-112AAFA5-B4C9-5B62-A106-FB5097C13A0E.dita">Dynamic Buffers Guide</xref>.</p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E161AB84-1B24-53AF-B313-D68CF9F8EE60.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E161AB84-1B24-53AF-B313-D68CF9F8EE60.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 pointer to the first byte following the end of the buffer, while <codeph>Back()</codeph> always
 returns a pointer to the beginning of the buffer.</p> <fig id="GUID-D4084F4C-B928-5779-A58F-CB495A74EE68">
 <title>End() and Back() in fixed flat arrays</title>
-<image href="GUID-81A5784D-A0C6-5108-9E7B-5D39C6743B1A_d0e318567_href.png" placement="inline"/>
+<image href="GUID-81A5784D-A0C6-5108-9E7B-5D39C6743B1A_d0e324557_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-27F85346-3B08-4E06-A80D-A5B708105659"><title>Segmented array</title> <p>For a segmented array, the situation
 is different (as illustrated below). Looking at the segment containing elements <codeph>n</codeph> and <codeph>n+1</codeph>, <codeph>End()</codeph> returns a pointer to the first byte following the end of that segment. In
@@ -47,7 +47,7 @@
 element in the array, <codeph>Back()</codeph> returns a pointer with a NULL
 value.</p> <fig id="GUID-90C05AF9-9048-557E-95DD-49A19F856EF0">
 <title>End() and Back() in fixed segmented arrays</title>
-<image href="GUID-C0CFFE13-579C-5A93-9B63-DC2DCF98EC61_d0e318616_href.png" placement="inline"/>
+<image href="GUID-C0CFFE13-579C-5A93-9B63-DC2DCF98EC61_d0e324606_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-165D9F3E-3948-4DC0-9632-FF70480C495C"><title>See also</title> <p><xref href="GUID-112AAFA5-B4C9-5B62-A106-FB5097C13A0E.dita">Dynamic
 Buffers Guide</xref>.</p> </section>
--- a/Symbian3/PDK/Source/GUID-E16E286C-FB6A-5D3E-95D6-044C39DBA2B4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E16E286C-FB6A-5D3E-95D6-044C39DBA2B4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E16E286C-FB6A-5D3E-95D6-044C39DBA2B4"><title>The object container</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>All reference counting objects must be held in an object container. An object container acts as a home for a set of related reference counting objects. </p> <p>An object container is an instance of a <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> class. </p> <p>After construction, a reference counting object <i>must</i> be added to an object container. Only one instance of a reference counting object can be held by an object container, i.e. each object within an object container must be distinct. </p> <p>The main characteristics of an object container can be summarised as follows: </p> <ul><li id="GUID-38B0A165-02EE-529F-9EEC-4BEAC6368489"><p>they allow a logical collections of reference counting objects to be gathered together. </p> </li> <li id="GUID-0C5A0F46-3B9C-5547-91C5-40177E2AC8A1"><p>explicitly destroying a reference counting object causes that object to be removed from its object container. </p> </li> <li id="GUID-5E89EA15-353B-5D97-AAEF-734F0999C686"><p>removing a reference counting object from its object container causes that object to be destroyed. </p> </li> <li id="GUID-A14CCB2B-4810-53DA-9CEC-402F9406BC37"><p>each object container is assigned a unique ID on construction. This is an integer that forms part of the identity of all of its contained reference counting objects. All reference counting objects within an object container are associated with the same unique ID. The value of the unique ID can range from 1 to 16,383 (0x3fff). </p> </li> </ul> <p>Object containers are constructed by an object container index, a <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> type. The maximum number of object containers which may be constructed and held in an object container index is 6,383 (0x3fff). </p> <p>An object container is implemented as a simple array, where each element of the array is a pointer to a contained reference counting object. Adding a reference counting object to the object container is simply a matter of adding the reference counting object's pointer into the array. The following diagram shows a simple situation where two object containers hold a number of reference counting objects. </p> <fig id="GUID-6907E278-C900-5C2A-9540-29BBD1FF5BCB"><image href="GUID-40ED6F39-F8E2-5292-ADA5-C2507F256AE0_d0e346267_href.png" placement="inline"/></fig> <p>The <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita#GUID-DE901A59-C714-356A-9490-C4E9C9F186DB/GUID-4BEB5581-620D-3857-83AE-334B22C92554"><apiname>CObjectCon::AddL()</apiname></xref> function adds a reference counting object to the object container. </p> <p>The <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita#GUID-DE901A59-C714-356A-9490-C4E9C9F186DB/GUID-5BECBD93-AFB0-3D80-9307-3839F0DB920D"><apiname>CObjectCon::Remove()</apiname></xref> function removes a reference counting object from its object container and also destroys that reference counting object. Conversely, if the reference counting object is destroyed (typically, as a result of successive calls to <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-6E50F446-307B-3C9D-9AD6-AFCB49B2F658"><apiname>CObject::Close()</apiname></xref>), it is removed from its object container. </p> <p>See also: </p> <ul><li id="GUID-35EBE5AE-3171-5299-8419-E372A365363E"><p> <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> </p> </li> <li id="GUID-000D298D-DA13-5345-A622-C21869898D97"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E16E286C-FB6A-5D3E-95D6-044C39DBA2B4"><title>The object container</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>All reference counting objects must be held in an object container. An object container acts as a home for a set of related reference counting objects. </p> <p>An object container is an instance of a <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> class. </p> <p>After construction, a reference counting object <i>must</i> be added to an object container. Only one instance of a reference counting object can be held by an object container, i.e. each object within an object container must be distinct. </p> <p>The main characteristics of an object container can be summarised as follows: </p> <ul><li id="GUID-38B0A165-02EE-529F-9EEC-4BEAC6368489"><p>they allow a logical collections of reference counting objects to be gathered together. </p> </li> <li id="GUID-0C5A0F46-3B9C-5547-91C5-40177E2AC8A1"><p>explicitly destroying a reference counting object causes that object to be removed from its object container. </p> </li> <li id="GUID-5E89EA15-353B-5D97-AAEF-734F0999C686"><p>removing a reference counting object from its object container causes that object to be destroyed. </p> </li> <li id="GUID-A14CCB2B-4810-53DA-9CEC-402F9406BC37"><p>each object container is assigned a unique ID on construction. This is an integer that forms part of the identity of all of its contained reference counting objects. All reference counting objects within an object container are associated with the same unique ID. The value of the unique ID can range from 1 to 16,383 (0x3fff). </p> </li> </ul> <p>Object containers are constructed by an object container index, a <xref href="GUID-72761B3C-ECB6-34B2-87ED-C972E479357A.dita"><apiname>CObjectConIx</apiname></xref> type. The maximum number of object containers which may be constructed and held in an object container index is 6,383 (0x3fff). </p> <p>An object container is implemented as a simple array, where each element of the array is a pointer to a contained reference counting object. Adding a reference counting object to the object container is simply a matter of adding the reference counting object's pointer into the array. The following diagram shows a simple situation where two object containers hold a number of reference counting objects. </p> <fig id="GUID-6907E278-C900-5C2A-9540-29BBD1FF5BCB"><image href="GUID-40ED6F39-F8E2-5292-ADA5-C2507F256AE0_d0e352218_href.png" placement="inline"/></fig> <p>The <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita#GUID-DE901A59-C714-356A-9490-C4E9C9F186DB/GUID-4BEB5581-620D-3857-83AE-334B22C92554"><apiname>CObjectCon::AddL()</apiname></xref> function adds a reference counting object to the object container. </p> <p>The <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita#GUID-DE901A59-C714-356A-9490-C4E9C9F186DB/GUID-5BECBD93-AFB0-3D80-9307-3839F0DB920D"><apiname>CObjectCon::Remove()</apiname></xref> function removes a reference counting object from its object container and also destroys that reference counting object. Conversely, if the reference counting object is destroyed (typically, as a result of successive calls to <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita#GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97/GUID-6E50F446-307B-3C9D-9AD6-AFCB49B2F658"><apiname>CObject::Close()</apiname></xref>), it is removed from its object container. </p> <p>See also: </p> <ul><li id="GUID-35EBE5AE-3171-5299-8419-E372A365363E"><p> <xref href="GUID-DE901A59-C714-356A-9490-C4E9C9F186DB.dita"><apiname>CObjectCon</apiname></xref> </p> </li> <li id="GUID-000D298D-DA13-5345-A622-C21869898D97"><p> <xref href="GUID-9230EF62-376A-389C-B720-7C1EDCB7EA97.dita"><apiname>CObject</apiname></xref>  </p> </li> </ul> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,9 +12,9 @@
 <concept xml:lang="en" id="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F"><title>Privacy Request API</title><shortdesc>The Privacy Request API is an interface through which the LBS subsystem can receive and respond to privacy requests when it is built to include the Privacy Protocol Module. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Introduction</title> <p>The Privacy Request API supports device creators who wish to use the Symbian LBS subsystem to handle only privacy requests but not to perform position fix calculations. </p> <p>The API is an alternative to the Network Privacy API. The Privacy Request API is intended for processing multiple privacy requests either from local applications or from the network. </p> </section> <section><title>Description</title> <p>The Privacy Request API is implemented on the client-side by the Privacy Request Client DLL. This DLL is an interface to the Privacy Protocol Module. </p> <p>The Privacy Request API does not guarantee performance in low memory conditions for which a privacy request may fail. For this reason the Privacy Request API and the Privacy Protocol Module should not be used when there is a need to support emergency services privacy requests from the network (MT-LR or NI-LR). A Protocol Module that handles location requests must be used if emergency services requests must be supported. </p> <p>Figure 1 shows the Privacy Request Client DLL in the context of the LBS subsystem. The most important points to note are: </p> <ul><li id="GUID-2F49D9C2-6301-5780-B449-A968F6E4E91C"><p>The Privacy Request Client DLL exposes the Privacy Request API which is described in this document. The DLL is used to send privacy requests into the Symbian LBS subsystem from a component running in the licensee's domestic OS (outside of the Symbian platform). </p> </li> <li id="GUID-41BB6F50-06F9-5CB7-9B94-1B4A1DA7604D"><p>The Privacy Request Client DLL connects to a server implementation in the Privacy Protocol Module. </p> </li> <li id="GUID-436EEC36-A4BA-5C4A-A449-E1CC467A7E21"><p>A device creator does not create their own implementation of the Privacy Request Client DLL or the Privacy Protocol Module. A device creator chooses to build a ROM containing the Privacy Protocol Module and the Privacy Request Client DLL. See <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> for more information about building and configuring the LBS subsystem. </p> </li> <li id="GUID-3A873301-DE30-5076-A552-ECBBCEC3D8C4"><p>To use the Privacy Request API a device creator must implement some kind of client process in their domestic operating system which uses the Privacy Request API. </p> <p>The Privacy Request API client process must implement the API observer interface to receive privacy responses. The client process, and not Symbian LBS is responsible for sending these privacy responses to the network. </p> </li> </ul> <fig id="GUID-8009082C-B2A2-5FEF-AE85-480B20922A06"><title>
              Figure 1. The Privacy Request API in the LBS Standalone Privacy Mode
              configuration. 
-          </title> <image href="GUID-11678281-9A86-5D8A-B907-D7940B3A07D4_d0e450474_href.png" placement="inline"/></fig> </section> <section><title>Privacy Request Client DLL responsibilities</title> <p>The Privacy Request Client DLL communicates with the Privacy Protocol Module via standard Symbian client-server IPC calls. The DLL performs two distinct functions: </p> <ol id="GUID-A1078A81-D95F-5E61-9FA2-27E8CE8F47DB"><li id="GUID-57FA28F7-EA7C-5CEF-8606-C4485D5808C6"><p>It starts up the LBS subsystem if it is not already running. </p> <p>The privacy handling components shown in figure 1 are transient. They are started only on demand when a client process creates an instance of a Privacy Request API class. </p> <p>The <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> describes how to configure the components that are started when the first privacy request is received. <xref href="GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita">Privacy Request API Reference</xref> contains sequences that describe startup and shutdown behaviour. </p> </li> <li id="GUID-28DDD066-3332-5080-AD00-90227DC73F3D"><p>It packages the Privacy Request API, which forwards privacy requests from a licensee client process into the Symbian LBS subsystem. Privacy responses returned from a Privacy Controller or Privacy Notifiers are returned to the client. </p> </li> </ol> </section> <section><title>Privacy Request API description</title> <p>Figure 2 shows the classes of the Privacy Request API. </p> <fig id="GUID-C2D7D78C-0779-547D-97A1-19499687339A"><title>
+          </title> <image href="GUID-11678281-9A86-5D8A-B907-D7940B3A07D4_d0e456319_href.png" placement="inline"/></fig> </section> <section><title>Privacy Request Client DLL responsibilities</title> <p>The Privacy Request Client DLL communicates with the Privacy Protocol Module via standard Symbian client-server IPC calls. The DLL performs two distinct functions: </p> <ol id="GUID-A1078A81-D95F-5E61-9FA2-27E8CE8F47DB"><li id="GUID-57FA28F7-EA7C-5CEF-8606-C4485D5808C6"><p>It starts up the LBS subsystem if it is not already running. </p> <p>The privacy handling components shown in figure 1 are transient. They are started only on demand when a client process creates an instance of a Privacy Request API class. </p> <p>The <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref> describes how to configure the components that are started when the first privacy request is received. <xref href="GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita">Privacy Request API Reference</xref> contains sequences that describe startup and shutdown behaviour. </p> </li> <li id="GUID-28DDD066-3332-5080-AD00-90227DC73F3D"><p>It packages the Privacy Request API, which forwards privacy requests from a licensee client process into the Symbian LBS subsystem. Privacy responses returned from a Privacy Controller or Privacy Notifiers are returned to the client. </p> </li> </ol> </section> <section><title>Privacy Request API description</title> <p>Figure 2 shows the classes of the Privacy Request API. </p> <fig id="GUID-C2D7D78C-0779-547D-97A1-19499687339A"><title>
              Figure 2. Privacy Request API classes 
-          </title> <image href="GUID-44872DF6-AEA6-554F-A231-D8C6D5F22958_d0e450520_href.png" placement="inline"/></fig> <p>The following table lists the classes and types that define the Privacy Request API. Further details can be found by following the links to other sections of this document and to the Symbian Developer Library reference documentation. </p> <p>The Privacy Request API has <codeph>publishedPartner</codeph> interface access. Licensees use the following classes to send privacy requests and receive privacy responses via the API. </p> <table id="GUID-43BE0436-0FA3-5260-BC2C-B28522EC17B6"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-FA2B30DF-81BC-3BCD-9EE6-01A961291D47.dita"><apiname>CLbsPrivacyRequest</apiname></xref>  </p> </entry> <entry><p>The main interface class of the Privacy Request API. It is used to send privacy requests into the LBS subsystem. </p> </entry> <entry><p> <filepath>lbsprivacyrequest.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-BD22CA43-FDAF-3809-8172-6403B4D7529A.dita"><apiname> MLbsPrivacyRequestObserver</apiname></xref>  </p> </entry> <entry><p>The observer class that must be implemented by a Privacy Request API client. Its methods are called by the LBS subsystem to send privacy responses to the client. </p> </entry> <entry><p> <filepath>lbsprivacyrequest.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-DA7E60CF-52F9-3ACF-AB12-E647AD980C81.dita"><apiname>TLbsPrivacyRequest</apiname></xref>  </p> </entry> <entry><p>A class derived from <codeph>TLbsPrivacyClassTypeBase</codeph> that holds privacy request parameters. </p> </entry> <entry><p> <filepath>lbsprivacyrequestcommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-6DA81BD9-1FC2-31BC-8EC1-6F73D19228C0.dita"><apiname>TLbsPrivacyClassTypeBase</apiname></xref>  </p> </entry> <entry><p>The base class of classes that stores privacy request parameters which are passed from the API client to the LBS subsystem. A Privacy Request API client does not use this class directly. </p> </entry> <entry><p> <filepath>lbsprivacyrequestcommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-149882EB-3151-3486-96B1-B416231830B1.dita"><apiname>TLbsPrivacyRequestClassType</apiname></xref>  </p> </entry> <entry><p>An enumeration that defines the type of privacy request class (derived from <codeph>TLbsPrivacyRequestClassType</codeph>) that is passed from the API client to the LBS subsystem. A Privacy Request API client does not use this type directly. It is used internally within the Privacy Request API. </p> </entry> <entry><p> <filepath>lbsprivacyrequestclasstypes.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <example><title>Capabilities</title> <p>The Privacy Request API is packaged in <filepath>lbsprivacyrequest.dll</filepath>. Clients link to <filepath>lbsprivacyrequest.lib</filepath>. </p> </example> <section><title>Libraries</title> <p>To use the Privacy Request API to handle privacy requests from a local application requires the capabilities <codeph>Location</codeph> and <codeph>ReadDeviceData</codeph>. To handle privacy requests from the network requires the additional <codeph>NetworkServices</codeph> capability. </p> </section> </conbody><related-links><link href="GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita"><linktext>Privacy
+          </title> <image href="GUID-44872DF6-AEA6-554F-A231-D8C6D5F22958_d0e456365_href.png" placement="inline"/></fig> <p>The following table lists the classes and types that define the Privacy Request API. Further details can be found by following the links to other sections of this document and to the Symbian Developer Library reference documentation. </p> <p>The Privacy Request API has <codeph>publishedPartner</codeph> interface access. Licensees use the following classes to send privacy requests and receive privacy responses via the API. </p> <table id="GUID-43BE0436-0FA3-5260-BC2C-B28522EC17B6"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-FA2B30DF-81BC-3BCD-9EE6-01A961291D47.dita"><apiname>CLbsPrivacyRequest</apiname></xref>  </p> </entry> <entry><p>The main interface class of the Privacy Request API. It is used to send privacy requests into the LBS subsystem. </p> </entry> <entry><p> <filepath>lbsprivacyrequest.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-BD22CA43-FDAF-3809-8172-6403B4D7529A.dita"><apiname> MLbsPrivacyRequestObserver</apiname></xref>  </p> </entry> <entry><p>The observer class that must be implemented by a Privacy Request API client. Its methods are called by the LBS subsystem to send privacy responses to the client. </p> </entry> <entry><p> <filepath>lbsprivacyrequest.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-DA7E60CF-52F9-3ACF-AB12-E647AD980C81.dita"><apiname>TLbsPrivacyRequest</apiname></xref>  </p> </entry> <entry><p>A class derived from <codeph>TLbsPrivacyClassTypeBase</codeph> that holds privacy request parameters. </p> </entry> <entry><p> <filepath>lbsprivacyrequestcommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-6DA81BD9-1FC2-31BC-8EC1-6F73D19228C0.dita"><apiname>TLbsPrivacyClassTypeBase</apiname></xref>  </p> </entry> <entry><p>The base class of classes that stores privacy request parameters which are passed from the API client to the LBS subsystem. A Privacy Request API client does not use this class directly. </p> </entry> <entry><p> <filepath>lbsprivacyrequestcommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-149882EB-3151-3486-96B1-B416231830B1.dita"><apiname>TLbsPrivacyRequestClassType</apiname></xref>  </p> </entry> <entry><p>An enumeration that defines the type of privacy request class (derived from <codeph>TLbsPrivacyRequestClassType</codeph>) that is passed from the API client to the LBS subsystem. A Privacy Request API client does not use this type directly. It is used internally within the Privacy Request API. </p> </entry> <entry><p> <filepath>lbsprivacyrequestclasstypes.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> </section> <example><title>Capabilities</title> <p>The Privacy Request API is packaged in <filepath>lbsprivacyrequest.dll</filepath>. Clients link to <filepath>lbsprivacyrequest.lib</filepath>. </p> </example> <section><title>Libraries</title> <p>To use the Privacy Request API to handle privacy requests from a local application requires the capabilities <codeph>Location</codeph> and <codeph>ReadDeviceData</codeph>. To handle privacy requests from the network requires the additional <codeph>NetworkServices</codeph> capability. </p> </section> </conbody><related-links><link href="GUID-7A26F69B-D70D-502B-A9A2-918F13D33D6D.dita"><linktext>Privacy
                 Request API Reference</linktext> </link> <link href="GUID-5008C3E6-4D12-5BA3-A95A-7CAB02ED0594.dita"><linktext>Privacy
                 Request API Tutorial</linktext> </link> <link href="GUID-0BF06E5D-BEEF-5E15-894E-FA605FA12E33.dita"><linktext>Privacy
                 Protocol Module Overview</linktext> </link> <link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>LBS
--- a/Symbian3/PDK/Source/GUID-E18592CD-223D-5B50-AF40-1AC7267BAB8C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E18592CD-223D-5B50-AF40-1AC7267BAB8C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 Outbox </b> folder. For instance, to update a delivery report, it may require
 an entry in the Outbox to be updated. </p> <fig id="GUID-B1A76302-6F78-50A1-B5CF-B7FB670A4477">
 <title>              Watcher Framework architecture            </title>
-<image href="GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e489937_href.jpg" placement="inline"/>
+<image href="GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e495755_href.jpg" placement="inline"/>
 </fig> <p>A watcher plug-in typically make requests to another subsystem such
 that they are completed when an external event (an SMS) being received occurs.
 When a watcher has completed processing the request it waits for the next
--- a/Symbian3/PDK/Source/GUID-E189B0C0-AAB5-5472-996B-91043DE0B6D4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E189B0C0-AAB5-5472-996B-91043DE0B6D4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,41 +1,42 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E189B0C0-AAB5-5472-996B-91043DE0B6D4" xml:lang="en"><title>Package
-Buffers Overview</title><shortdesc>Allows any value type (a T class) to be encapsulated as a descriptor,
-for the purpose of inter-thread data transfer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-D6ADB133-EB0D-41C5-B513-152ED052BA9F"><title>Architectural relationships</title> <p>The Client/Server API
-expects data that is to be passed between threads to be encapsulated in a
-descriptor. Package buffers provide a generic way for the thread providing
-the data to do this. The thread receiving the data extracts the original data
-from the package.</p> <p>APIs with client/server architectures, such as telephony
-and Messaging, define specialised package buffer types that encapsulate the
-particular data types that they require to pass between threads.</p> </section>
-<section id="GUID-545604B3-1A3A-4236-AB40-F15E19D40487"><title>Description</title> <p>The API has two key concepts: package
-buffer descriptor, and package pointer descriptor. </p> </section>
-<section id="GUID-5B34C59B-3D61-48E9-9939-0259E1EC9A64"><title>Package buffer descriptor</title> <p>The package buffer descriptor
-creates a new instance of the type to encapsulate and stores it within the
-descriptor. The interface allows a reference to the encapsulated object to
-be obtained, so that it can be accessed and modified.</p> <p>The package buffer
-descriptor interface is provided by <xref href="GUID-C7A094BD-846F-3ED2-8CCE-C0743DB3712A.dita"><apiname>TPckgBuf</apiname></xref>.</p></section>
-<section id="GUID-B12499C9-B385-43CF-8342-06B34150BE67"><title>Package pointer descriptor</title> <p>The package pointer
-descriptor refers to an already existing object. It is otherwise used in a
-similar way to the package buffer descriptor.</p> <p>The package pointer descriptor
-interface is provided by <xref href="GUID-36B29964-420D-38D0-AF08-4DA70BED8B6E.dita"><apiname>TPckgC</apiname></xref> for const objects, and <xref href="GUID-4DFB8E64-81FF-3D3B-9694-CE51B11DA69A.dita"><apiname>TPckg</apiname></xref> for
-non-const objects. </p> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-D0D27AEA-FDDB-5F6F-94F6-ADDF5910DC47.dita">Client/Server
-Overview</xref></desc>
-</link>
-<link href="GUID-11EEFB3D-0414-5BEB-9D78-56A4B9154008.dita"><linktext>Using Descriptors</linktext>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-E189B0C0-AAB5-5472-996B-91043DE0B6D4" xml:lang="en"><title>Package Buffers Overview</title><shortdesc>Allows any value type (a T class) to be encapsulated as
+a descriptor, for the purpose of inter-thread data transfer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-D6ADB133-EB0D-41C5-B513-152ED052BA9F"><title>Architectural
+relationships</title> <p>The Client/Server API expects data that is
+to be passed between threads to be encapsulated in a descriptor. Package
+buffers provide a generic way for the thread providing the data to
+do this. The thread receiving the data extracts the original data
+from the package.</p> <p>APIs with client/server architectures, such
+as telephony and Messaging, define specialised package buffer types
+that encapsulate the particular data types that they require to pass
+between threads.</p> </section>
+<section id="GUID-545604B3-1A3A-4236-AB40-F15E19D40487"><title>Description</title> <p>The API has two key concepts: package buffer descriptor, and
+package pointer descriptor. </p> </section>
+<section id="GUID-5B34C59B-3D61-48E9-9939-0259E1EC9A64"><title>Package
+buffer descriptor</title> <p>The package buffer descriptor creates
+a new instance of the type to encapsulate and stores it within the
+descriptor. The interface allows a reference to the encapsulated object
+to be obtained, so that it can be accessed and modified.</p> <p>The
+package buffer descriptor interface is provided by <xref href="GUID-C7A094BD-846F-3ED2-8CCE-C0743DB3712A.dita"><apiname>TPckgBuf</apiname></xref>.</p></section>
+<section id="GUID-B12499C9-B385-43CF-8342-06B34150BE67"><title>Package
+pointer descriptor</title> <p>The package pointer descriptor refers
+to an already existing object. It is otherwise used in a similar way
+to the package buffer descriptor.</p> <p>The package pointer descriptor
+interface is provided by <xref href="GUID-36B29964-420D-38D0-AF08-4DA70BED8B6E.dita"><apiname>TPckgC</apiname></xref> for const objects,
+and <xref href="GUID-4DFB8E64-81FF-3D3B-9694-CE51B11DA69A.dita"><apiname>TPckg</apiname></xref> for non-const objects. </p> </section>
+</conbody><related-links>
+<link href="GUID-11EEFB3D-0414-5BEB-9D78-56A4B9154008.dita"><linktext>Using
+Descriptors</linktext></link>
+<link href="GUID-D0D27AEA-FDDB-5F6F-94F6-ADDF5910DC47.dita"><linktext>Client/Server
+Overview</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E1E25E68-7FE3-53A7-980E-CCF25090715F_d0e275300_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E1E25E68-7FE3-53A7-980E-CCF25090715F_d0e281300_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E1EBBB56-4835-5048-9383-A9DB948E9541.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E1EBBB56-4835-5048-9383-A9DB948E9541" xml:lang="en"><title>Symbian test tools</title><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E238B1FE-BBD8-5C6D-AE04-258188EFF9FF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E238B1FE-BBD8-5C6D-AE04-258188EFF9FF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -43,7 +43,7 @@
 following diagram. </p> <fig id="GUID-552B25FF-A930-5F5B-9379-89F77AB0BE17">
 <title>              Two double-buffered surfaces that share the same memory
            </title>
-<image href="GUID-EFFEB18E-5BF5-5855-9D1F-E7C39CB569D0_d0e278346_href.png" placement="inline"/>
+<image href="GUID-EFFEB18E-5BF5-5855-9D1F-E7C39CB569D0_d0e284346_href.png" placement="inline"/>
 </fig> <p>In the example code below, some error handling has been omitted
 for brevity. </p> </section>
 <section><title>Creating the first surface</title> <ol id="GUID-90E6761F-7BE0-528C-ABC2-AEBCE4A8A120">
--- a/Symbian3/PDK/Source/GUID-E244744F-4837-5B46-8E37-4666A28BF0B7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E244744F-4837-5B46-8E37-4666A28BF0B7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-E244744F-4837-5B46-8E37-4666A28BF0B7"><title>The run-time control hierarchy</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>At run-time all controls in an application are related to each other in a tree hierarchy. The top-level window-owning controls are owned by the AppUi. This is similar to the hierarchy of windows that exists in the Window Server which has a group window for each application at the root. It is important to understand the relationships between window-owning and non-window owning controls. The diagram below attempts to illustrate these. </p> <fig id="GUID-C54A1D04-CA7D-5E3D-8FA0-327D511D5D45"><title>
           The run-time control hierarchy 
-        </title> <image href="GUID-4303DBDB-3F67-54E6-AB24-5E1871053ED9_d0e73838_href.png" placement="inline"/></fig> <p>A non-window-owning control is confined to the extent of its parent if the parent is window-owning, and must be confined to the extent of its parent if the parent is non-window-owning. </p> <p>A window-owning component is confined to the nearest window-owning control above it in the hierarchy. </p> <p>Screen drawing may be initiated by either the application (because it's running and it has changed its display) or by the Window Server (because something else has updated the screen and the application is visible). </p> <ul><li id="GUID-1EDC9967-25E6-5CA4-9754-1304FFE8A4F0"><p>Application-initiated redrawing follows the control framework run-time hierarchy: controls are drawn by their parents regardless of whether they are window-owning or not. </p> </li> <li id="GUID-ED6464FC-485A-5E62-BBE6-D297A975BF71"><p>Window-Server-initiated redrawing, on the other hand, follows the Window Server hierarchy: parents do not draw their window-owning children. </p> </li> </ul> <p>A control's container or parent control may not be changed after it has been set. </p> <p>The run time hierarchy of controls has been enhanced for version 9.1 of the Symbian OS. The distinction between the 'parent-child' relationship from the Window Server and the 'container-component' relationship from the control framework may be simplified with the addition of a parent pointer to CCoeControl. </p> <p>In UIQ v3 the parent pointer is enabled. In S60 and MOAP the parent pointer currently is not enabled. </p> <p>The addition of the parent pointer allows the framework to navigate the control hierarchy upwards as well as downwards. When enabled, the parent pointer is set automatically (see <xref href="GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290.dita#GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290/GUID-3F0E8223-2218-5C95-AFBC-D66AD1DB12A7">how to write a control</xref>). </p> <p>The run-time hierarchy is particularly significant when laying out and when refreshing the screen. Here are a few examples of how the framework uses the run-time hierarchy. </p> <ul><li id="GUID-9AA456A8-EB70-562F-8303-EF825BBA48E9"><p>When a control is drawn it must have the correct Look and Feel: its colours, fonts, font style, size and shape must be correct. Controls use their parent's graphics contexts and text drawers. </p> </li> <li id="GUID-38B4FE1B-BEE7-53DE-A8C6-192D7BF9B1AA"><p>If a control (lodger or a parent) changes size, the controls around or within it might have to move or resize. From 9.1 the framework provides a layout manager interface (<xref href="GUID-A622B8C7-60F4-38E8-B102-14883BCBA249.dita"><apiname>MCoeLayoutManager</apiname></xref>). Controls use the run-time hierarchy to find the appropriate layout manager. </p> </li> <li id="GUID-9EE92BB4-AC03-55FF-96BE-402B19EEC8FA"><p>From 9.1 parent controls take responsibility for drawing behind their children. This allows flexibility with backgrounds, transparent controls and controls which appear non-rectangular. To enable this process to work with window-owning controls (necessary because the Window Server will not allow parent windows to draw behind child windows) a new interface, <xref href="GUID-88936D48-B801-3D9C-8A9D-3498807937CE.dita"><apiname>MCoeControlBackground</apiname></xref>, has been introduced. When a window owning control draws itself it first looks for an <xref href="GUID-88936D48-B801-3D9C-8A9D-3498807937CE.dita"><apiname>MCoeControlBackground</apiname></xref> in its chain of parents and calls <codeph>MCoeControlBackground::Draw()</codeph> before drawing itself. </p> </li> </ul> <p> </p> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-4303DBDB-3F67-54E6-AB24-5E1871053ED9_d0e78051_href.png" placement="inline"/></fig> <p>A non-window-owning control is confined to the extent of its parent if the parent is window-owning, and must be confined to the extent of its parent if the parent is non-window-owning. </p> <p>A window-owning component is confined to the nearest window-owning control above it in the hierarchy. </p> <p>Screen drawing may be initiated by either the application (because it's running and it has changed its display) or by the Window Server (because something else has updated the screen and the application is visible). </p> <ul><li id="GUID-1EDC9967-25E6-5CA4-9754-1304FFE8A4F0"><p>Application-initiated redrawing follows the control framework run-time hierarchy: controls are drawn by their parents regardless of whether they are window-owning or not. </p> </li> <li id="GUID-ED6464FC-485A-5E62-BBE6-D297A975BF71"><p>Window-Server-initiated redrawing, on the other hand, follows the Window Server hierarchy: parents do not draw their window-owning children. </p> </li> </ul> <p>A control's container or parent control may not be changed after it has been set. </p> <p>The run time hierarchy of controls has been enhanced for version 9.1 of the Symbian OS. The distinction between the 'parent-child' relationship from the Window Server and the 'container-component' relationship from the control framework may be simplified with the addition of a parent pointer to CCoeControl. </p> <p>In UIQ v3 the parent pointer is enabled. In S60 and MOAP the parent pointer currently is not enabled. </p> <p>The addition of the parent pointer allows the framework to navigate the control hierarchy upwards as well as downwards. When enabled, the parent pointer is set automatically (see <xref href="GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290.dita#GUID-B84FA223-3DFD-58C5-8CEF-C5AA73AA6290/GUID-3F0E8223-2218-5C95-AFBC-D66AD1DB12A7">how to write a control</xref>). </p> <p>The run-time hierarchy is particularly significant when laying out and when refreshing the screen. Here are a few examples of how the framework uses the run-time hierarchy. </p> <ul><li id="GUID-9AA456A8-EB70-562F-8303-EF825BBA48E9"><p>When a control is drawn it must have the correct Look and Feel: its colours, fonts, font style, size and shape must be correct. Controls use their parent's graphics contexts and text drawers. </p> </li> <li id="GUID-38B4FE1B-BEE7-53DE-A8C6-192D7BF9B1AA"><p>If a control (lodger or a parent) changes size, the controls around or within it might have to move or resize. From 9.1 the framework provides a layout manager interface (<xref href="GUID-A622B8C7-60F4-38E8-B102-14883BCBA249.dita"><apiname>MCoeLayoutManager</apiname></xref>). Controls use the run-time hierarchy to find the appropriate layout manager. </p> </li> <li id="GUID-9EE92BB4-AC03-55FF-96BE-402B19EEC8FA"><p>From 9.1 parent controls take responsibility for drawing behind their children. This allows flexibility with backgrounds, transparent controls and controls which appear non-rectangular. To enable this process to work with window-owning controls (necessary because the Window Server will not allow parent windows to draw behind child windows) a new interface, <xref href="GUID-88936D48-B801-3D9C-8A9D-3498807937CE.dita"><apiname>MCoeControlBackground</apiname></xref>, has been introduced. When a window owning control draws itself it first looks for an <xref href="GUID-88936D48-B801-3D9C-8A9D-3498807937CE.dita"><apiname>MCoeControlBackground</apiname></xref> in its chain of parents and calls <codeph>MCoeControlBackground::Draw()</codeph> before drawing itself. </p> </li> </ul> <p> </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E2455472-49FA-5492-B7CB-2C33BD830591_d0e210721_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-E2455472-49FA-5492-B7CB-2C33BD830591_d0e216722_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-E24F15B4-D767-5B79-B0EB-88294B9BC16A_d0e260881_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E24F15B4-D767-5B79-B0EB-88294B9BC16A_d0e266890_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E2641957-8163-5EF4-B282-FC3FD9CA75A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E2641957-8163-5EF4-B282-FC3FD9CA75A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -48,7 +48,7 @@
 right output.</note> </p> <fig id="GUID-C3B51755-EDB0-5518-83D1-886E9148D65A">
 <title>              The relationship between audio channels and device channels.
            </title>
-<image href="GUID-2D98DB88-BA48-5EF8-A5F9-0CB8688B0B63_d0e408469_href.png" placement="inline"/>
+<image href="GUID-2D98DB88-BA48-5EF8-A5F9-0CB8688B0B63_d0e414322_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-5C66667B-55C0-521D-86E3-67593DB381C9"><title>Mono to stereo
 conversion</title> <p>Many codecs that support stereo playback can only accept
Binary file Symbian3/PDK/Source/GUID-E2AB4BDF-8AFD-5776-A614-50DC3ACF3AD4_d0e175292_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E2AB4BDF-8AFD-5776-A614-50DC3ACF3AD4_d0e181361_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E2CB0826-FC44-5AC9-BBB1-B449073484F3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E2CB0826-FC44-5AC9-BBB1-B449073484F3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 buffer to be re-allocated so that its capacity increases from four to eight
 elements.</p>
 <fig id="GUID-B752C5C8-FFA3-5F27-8D75-C951EE2D1432">
-<image href="GUID-4922D80F-009D-56CE-B255-FDAF9C247667_d0e317021_href.png" placement="inline"/>
+<image href="GUID-4922D80F-009D-56CE-B255-FDAF9C247667_d0e323011_href.png" placement="inline"/>
 </fig>
 <p>For a segmented array buffer, the granularity defines the capacity of a
 single segment. A segmented array buffer is always expanded by allocating
--- a/Symbian3/PDK/Source/GUID-E2E2FACF-5D4F-43E8-8B53-B268252CF572.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E2E2FACF-5D4F-43E8-8B53-B268252CF572.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,8 +18,8 @@
 under the Options menu when the destination network is highlighted.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context id="GUID-54907FC2-9B54-4E72-8953-461C1650560C">       <p>To define
 the connection management items:</p>     </context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-16-1-1-7-1-4-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-16-1-1-7-1-4-1-3-2-1"><cmd>Request the connection
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-7-1-4-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-7-1-4-1-3-2-1"><cmd>Request the connection
 settings dialog for supported items using the Connection Settings UI API.</cmd>
 </step>
 <step id="GUID-B9C9B9BC-5DA3-4943-9995-9975E5BBA5A7"><cmd>Show the items that your application supports in the UI using the
Binary file Symbian3/PDK/Source/GUID-E2F6A71A-4A18-5E0B-AE77-C059C59448E4_d0e577709_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E2F6A71A-4A18-5E0B-AE77-C059C59448E4_d0e595154_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,90 +1,87 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7" xml:lang="en"><title>Building
-a Standard C++ Application or Library</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This topic describes the required header files and libraries to compile
-and link against to build a Standard C++ application or library on a Symbian
-platform build environment. </p>
-<p>You can build a C++ application or library using one of the following target
-types: </p>
-<ul>
-<li id="GUID-2D0C8AC4-DC70-5F4A-B9D8-BCC61E088C8B"><p><xref href="GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita#GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7/GUID-26AC2BCA-4A4F-5837-BBAD-7964CA0A5BED"> STD target types</xref>  </p> </li>
-<li id="GUID-C9E53DA5-FCDC-5D2A-9F66-60D97415ABCB"><p><xref href="GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita#GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7/GUID-F956CF72-58FC-5D9E-91EC-5B8866EE46C2">Other Symbian target types</xref>  </p> </li>
-</ul>
-<p> <b>Notes:</b>  </p>
-<ul>
-<li id="GUID-CFA90167-E346-51CA-B4CB-A2D3812207EE"><p>The required standard
-C++ header files are available in the <filepath>${EPOCROOT}/epoc32/include/stdapis/stlportv5</filepath> directory. </p> </li>
-<li id="GUID-721CE7A0-A015-5607-90B6-F430F0B8A528"><p>The standard C++ library
-name is <filepath>libstdcppv5.lib</filepath>. </p> </li>
-<li id="GUID-9757C0C6-A141-594B-A29D-19D2E69283B6"><p>You must specify the
-system-include path and library name in the <filepath>.mmp</filepath> file
-associated with the C++ application or library. </p> </li>
-</ul>
-<section id="GUID-26AC2BCA-4A4F-5837-BBAD-7964CA0A5BED"><title> STD target
-types</title> <p>You can develop a C++ application or library using the following
-STD target types: </p> <ul>
-<li id="GUID-52EC8316-33D1-5962-B71A-8F54AC7CC698"><p> <codeph>STDEXE</codeph>  </p> </li>
-<li id="GUID-3B07B0F9-B1CF-5F11-ADB2-DB648D93A60D"><p> <codeph>STDDLL</codeph>  </p> </li>
-<li id="GUID-68E852B9-41F4-5550-990E-256EA37EA337"><p> <codeph>STDLIB</codeph>  </p> </li>
-</ul> <p>These target types enable symbol lookup by name thereby adding the
-symbol information into the executable. </p> <p> <b>Note:</b> For more information
-about STD target types (<codeph>STDEXE</codeph> /<codeph>STDDLL</codeph> /<codeph>STDLIB</codeph>),
-see the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita">Target Types</xref> section. </p> <p><b>Example</b> </p> <p>The
-following code snippet illustrates the use of the STD target type <codeph>stdexe</codeph>: </p> <codeblock id="GUID-BA167FFD-2F44-5BA4-8C2B-FF388648CC9B" xml:space="preserve">//writing an stdexe, the mmp file may look like follows
-//Start of test_stdexe.mmp
-Target             test_stdexe.exe
-Targettype        stdexe
-Source            test1.cpp
-Systeminclude        /epoc32/include/stdapis/stlportv5
-Library            libstdcppv5.lib
-Capability        all -tcb
-//End of test_stdexe.mmp</codeblock> </section>
-<section id="GUID-F956CF72-58FC-5D9E-91EC-5B8866EE46C2"><title>Other Symbian
-target types</title> <p>You can avoid symbol information overhead while developing
-C++ applications or libraries, by performing the following configurations: </p> <ol id="GUID-95D63170-A738-562C-B648-D5E349E4EE32">
-<li id="GUID-65331FAD-A88C-5D36-BED2-255AED30F99F"><p>Use the other Symbian
-target types such as, <codeph>dll</codeph>, <codeph>lib</codeph>, <codeph>exe</codeph> and
-so on. For more information about other Symbian target types, see the <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref> section. </p> </li>
-<li id="GUID-46EE0265-A60A-518C-BB4A-63F6D6FA29F3"><p>In addition, use the
-MMP keyword <codeph>STDCPP</codeph>. </p> </li>
-</ol> <p>You may also have to include <filepath>${EPOCROOT}/epoc32/include/stdapis</filepath> explicitly
-as the standard C headers are required by the standard C++ header. If you
-are referring to Standard C APIs directly or indirectly, you must specify <filepath>libc.lib</filepath> and <filepath>libpthread.lib</filepath> in
-the <filepath>.mmp</filepath> file. </p> <p><b>Example</b> </p> <p>The following
-code snippet illustrates the use of <codeph>STDCPP</codeph> MMP keyword and
-the use of the <codeph>exe</codeph> target type: </p> <codeblock id="GUID-31D4A97F-7809-515E-AB0C-801B60E60455" xml:space="preserve">//test_exe.mmp
-Target             test_exe.exe
-Targettype        exe
-//The STDCPP keyword specifies Standard C++
-STDCPP
-Source            test2.cpp
-Systeminclude        /epoc32/include/stdapis/stlportv5
-Systeminclude        /epoc32/include/stdapis
-Library            libstdcppv5.lib libc.lib
-Staticlibrary        libcrt0.lib
-Capability        all -tcb
-//End of test_exe.mmp</codeblock> </section>
-</conbody><related-links>
-<link href="GUID-D6BEAF0D-844D-51F4-8DB7-FB1D60E17FE3.dita"><linktext>Copyright
-Acknowledgments for Standard C++ (STLport)</linktext></link>
-<link href="GUID-F7FEB759-E64D-5B6D-9017-C5E982E4FC16.dita"><linktext>Standard
-C++ Library Overview</linktext></link>
-<link href="GUID-2CCD1748-9EDE-5383-9941-A3051E06F3E2.dita"><linktext>Standard
-C++ Support on the Symbian Platform</linktext></link>
-<link href="GUID-CDE8CD85-8467-5B36-A0AC-41D1D98151CA.dita"><linktext>Developing
-Applications or Libraries Using Standard C++</linktext></link>
-<link href="GUID-5B3F5296-D6D0-5D25-8362-141DF5927E52.dita"><linktext>Troubleshooting</linktext>
-</link>
-<link href="GUID-D32E52C9-F05C-5F1E-8B49-243D555C353C.dita"><linktext>Known Issues</linktext>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7" xml:lang="en"><title>Building a Standard C++ Application or Library</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This topic describes the required header files and libraries to
+compile and link against to build a Standard C++ application or library
+on a Symbian platform build environment. </p>
+<p>You can build a C++ application or library using one of the following
+target types: </p>
+<ul>
+<li id="GUID-2D0C8AC4-DC70-5F4A-B9D8-BCC61E088C8B"><p><xref href="GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita#GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7/GUID-26AC2BCA-4A4F-5837-BBAD-7964CA0A5BED"> STD target types</xref>  </p> </li>
+<li id="GUID-C9E53DA5-FCDC-5D2A-9F66-60D97415ABCB"><p><xref href="GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita#GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7/GUID-F956CF72-58FC-5D9E-91EC-5B8866EE46C2">Other Symbian target types</xref>  </p> </li>
+</ul>
+<p> <b>Notes:</b>  </p>
+<ul>
+<li id="GUID-CFA90167-E346-51CA-B4CB-A2D3812207EE"><p>The required
+standard C++ header files are available in the <filepath>${EPOCROOT}/epoc32/include/stdapis/stlportv5</filepath> directory. </p> </li>
+<li id="GUID-721CE7A0-A015-5607-90B6-F430F0B8A528"><p>The standard
+C++ library name is <filepath>libstdcppv5.lib</filepath>. </p> </li>
+<li id="GUID-9757C0C6-A141-594B-A29D-19D2E69283B6"><p>You must specify
+the system-include path and library name in the <filepath>.mmp</filepath> file associated with the C++ application or library. </p> </li>
+</ul>
+<section id="GUID-26AC2BCA-4A4F-5837-BBAD-7964CA0A5BED"><title> STD
+target types</title> <p>You can develop a C++ application or library
+using the following STD target types: </p> <ul>
+<li id="GUID-52EC8316-33D1-5962-B71A-8F54AC7CC698"><p> <codeph>STDEXE</codeph>  </p> </li>
+<li id="GUID-3B07B0F9-B1CF-5F11-ADB2-DB648D93A60D"><p> <codeph>STDDLL</codeph>  </p> </li>
+<li id="GUID-68E852B9-41F4-5550-990E-256EA37EA337"><p> <codeph>STDLIB</codeph>  </p> </li>
+</ul> <p>These target types enable symbol lookup by name thereby adding
+the symbol information into the executable. </p> <p> <b>Note:</b> For
+more information about STD target types (<codeph>STDEXE</codeph> /<codeph>STDDLL</codeph> /<codeph>STDLIB</codeph>), see the <xref href="GUID-1560C4FF-82EC-5E5D-A37D-3BBE046F0A5B.dita">Target Types</xref> section. </p> <p><b>Example</b> </p> <p>The following code snippet
+illustrates the use of the STD target type <codeph>stdexe</codeph>: </p> <codeblock id="GUID-BA167FFD-2F44-5BA4-8C2B-FF388648CC9B" xml:space="preserve">//writing an stdexe, the mmp file may look like follows
+//Start of test_stdexe.mmp
+Target             test_stdexe.exe
+Targettype        stdexe
+Source            test1.cpp
+Systeminclude        /epoc32/include/stdapis/stlportv5
+Library            libstdcppv5.lib
+Capability        all -tcb
+//End of test_stdexe.mmp</codeblock> </section>
+<section id="GUID-F956CF72-58FC-5D9E-91EC-5B8866EE46C2"><title>Other
+Symbian target types</title> <p>You can avoid symbol information overhead
+while developing C++ applications or libraries, by performing the
+following configurations: </p> <ol id="GUID-95D63170-A738-562C-B648-D5E349E4EE32">
+<li id="GUID-65331FAD-A88C-5D36-BED2-255AED30F99F"><p>Use the other
+Symbian target types such as, <codeph>dll</codeph>, <codeph>lib</codeph>, <codeph>exe</codeph> and so on. For more information about other
+Symbian target types, see <uicontrol>Symbian Tools Guide &gt; Building
+ &gt; Symbian Build System (SBSv1) &gt; Build tools reference &gt; MMP file
+syntax &gt; targettype</uicontrol>. </p> </li>
+<li id="GUID-46EE0265-A60A-518C-BB4A-63F6D6FA29F3"><p>In addition,
+use the MMP keyword <codeph>STDCPP</codeph>. </p> </li>
+</ol> <p>You may also have to include <filepath>${EPOCROOT}/epoc32/include/stdapis</filepath> explicitly as the standard C headers are required by the standard
+C++ header. If you are referring to Standard C APIs directly or indirectly,
+you must specify <filepath>libc.lib</filepath> and <filepath>libpthread.lib</filepath> in the <filepath>.mmp</filepath> file. </p> <p><b>Example</b> </p> <p>The following code snippet illustrates the use of <codeph>STDCPP</codeph> MMP keyword and the use of the <codeph>exe</codeph> target type: </p> <codeblock id="GUID-31D4A97F-7809-515E-AB0C-801B60E60455" xml:space="preserve">//test_exe.mmp
+Target             test_exe.exe
+Targettype        exe
+//The STDCPP keyword specifies Standard C++
+STDCPP
+Source            test2.cpp
+Systeminclude        /epoc32/include/stdapis/stlportv5
+Systeminclude        /epoc32/include/stdapis
+Library            libstdcppv5.lib libc.lib
+Staticlibrary        libcrt0.lib
+Capability        all -tcb
+//End of test_exe.mmp</codeblock> </section>
+</conbody><related-links>
+<link href="GUID-D6BEAF0D-844D-51F4-8DB7-FB1D60E17FE3.dita"><linktext>Copyright
+Acknowledgments for Standard C++ (STLport)</linktext></link>
+<link href="GUID-F7FEB759-E64D-5B6D-9017-C5E982E4FC16.dita"><linktext>Standard
+C++ Library Overview</linktext></link>
+<link href="GUID-2CCD1748-9EDE-5383-9941-A3051E06F3E2.dita"><linktext>Standard
+C++ Support on the Symbian Platform</linktext></link>
+<link href="GUID-CDE8CD85-8467-5B36-A0AC-41D1D98151CA.dita"><linktext>Developing
+Applications or Libraries Using Standard C++</linktext></link>
+<link href="GUID-5B3F5296-D6D0-5D25-8362-141DF5927E52.dita"><linktext>Troubleshooting</linktext>
+</link>
+<link href="GUID-D32E52C9-F05C-5F1E-8B49-243D555C353C.dita"><linktext>Known
+Issues</linktext></link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E35C440C-4191-510A-AD33-2CF56E41EDD2_d0e442890_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E35C440C-4191-510A-AD33-2CF56E41EDD2_d0e448735_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E36B0B87-7948-5288-9F4D-9A1F1EBDF972_d0e367379_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E36B0B87-7948-5288-9F4D-9A1F1EBDF972_d0e373227_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E3F116C0-F133-5008-BD7A-421D66FB6588_d0e442635_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E3F116C0-F133-5008-BD7A-421D66FB6588_d0e448480_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E3F9B236-39DF-5BC0-BE13-E10CEEF2BB45_d0e455956_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E3F9B236-39DF-5BC0-BE13-E10CEEF2BB45_d0e461801_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E401D2B1-5360-57E3-99D6-3D08730E6C09_d0e263871_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E401D2B1-5360-57E3-99D6-3D08730E6C09_d0e269871_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E402616A-7ED8-45AC-B836-99C3A3760B33.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E402616A-7ED8-45AC-B836-99C3A3760B33.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,7 +10,7 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept id="GUID-E402616A-7ED8-45AC-B836-99C3A3760B33" xml:lang="en"><title>Key events</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<fig id="GUID-9A1FDF4B-5FD8-4113-8D8E-E879B4C7C255"><title>Key presses generate key events</title><image href="GUID-C9429505-EEE7-4E64-BE0A-BC5D57D5B42C_d0e64799_href.png"/></fig>
+<fig id="GUID-9A1FDF4B-5FD8-4113-8D8E-E879B4C7C255"><title>Key presses generate key events</title><image href="GUID-C9429505-EEE7-4E64-BE0A-BC5D57D5B42C_d0e69022_href.png"/></fig>
 <p>Key events are generated when a device user presses one or more device
 key buttons. The application framework delivers the event to the application
 that has focus. The <parmname>TKeyEvent</parmname> structure is used to contain
--- a/Symbian3/PDK/Source/GUID-E449F309-F230-46F9-B777-EF64D0E3191D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E449F309-F230-46F9-B777-EF64D0E3191D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,7 +17,7 @@
 note</xref>. Errors that are not too serious should cause an information note. </p>
 <fig id="GUID-84868557-7860-4655-9A70-5446CA89B203">
 <title>Information note</title>
-<image href="GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e87403_href.png" placement="inline"/>
+<image href="GUID-3C16A9DC-E4E6-4892-B0E5-E3AF2F950F03_d0e91601_href.png" placement="inline"/>
 </fig>
 <section id="GUID-C54403DE-9572-417C-9BA3-839C6C433C00"><title>Using
 information notes in applications</title><p>You can create either a basic
Binary file Symbian3/PDK/Source/GUID-E4543D60-A9D0-5121-9540-993BB15D3275_d0e546767_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E4543D60-A9D0-5121-9540-993BB15D3275_d0e554223_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E455ABFF-3EFF-5396-A52A-A33CDB2EB41A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E455ABFF-3EFF-5396-A52A-A33CDB2EB41A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -38,6 +38,6 @@
 an example. See the diagram below.</p>
 <fig id="GUID-8A0CEC7B-BFEB-52BF-B205-9EB0DE094C8D">
 <title>Effect of CleanupClosePushL and subsequent pop and destroy</title>
-<image href="GUID-018A685B-5C9D-5C7C-8615-D413ABBF7CFB_d0e343841_href.png" placement="inline"/>
+<image href="GUID-018A685B-5C9D-5C7C-8615-D413ABBF7CFB_d0e349792_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E489F575-DD07-4949-AB98-8F6A11BF708A_d0e94610_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E489F575-DD07-4949-AB98-8F6A11BF708A_d0e98808_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E48B708E-8B0B-5CF7-80D5-B55966387021.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E48B708E-8B0B-5CF7-80D5-B55966387021" xml:lang="en"><title>GCCE build
-targets</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><b>Introduction </b> </p>
-<p>The <codeph>GCCE</codeph> build target builds ARM code using a version
-of the freely available GNU Compiler Collection (GCC) tools. The GCC compiler
-is intended only for building applications, and cannot be used to compile
-the complete Symbian platform. </p>
-<p>The GCC binaries conform to ABIv2 for the ARM architecture. Details about
-the ABI standard are published at <xref href="http://www.arm.com/products/DevTools/ABI.html" scope="external">http://www.arm.com/products/DevTools/ABI.html</xref>. </p>
-<p>The following table lists the GCC build targets available for various ARM
-architectures that use Thumb or Thumb2 instruction sets: </p>
-<table id="GUID-FDDB808F-F04F-5802-8B14-772E5260E2B4">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<thead>
-<row>
-<entry>Build target</entry>
-<entry>ARM architecture</entry>
-<entry>Instruction set</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <codeph>GCCE</codeph>  </p> </entry>
-<entry><p>V5 </p> </entry>
-<entry><p>Thumb </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>GCCEV6</codeph>  </p> </entry>
-<entry><p>V6 </p> </entry>
-<entry><p>Thumb </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>GCCEV6t2</codeph>  </p> </entry>
-<entry><p>V6 </p> </entry>
-<entry><p>Thumb-2 </p> </entry>
-</row>
-<row>
-<entry><p> <codeph>GCCEV7</codeph>  </p> </entry>
-<entry><p>V7 </p> </entry>
-<entry><p>Thumb-2 </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p> <b>Note:</b> Code built for the targets listed in the earlier table can
-interoperate with code built by other compilers for ARM targets. </p>
-<p><b>Prerequisite </b> </p>
-<p>To build for the GCC targets, you must install the GCC CSL ARM toolchain.
-The installer, <filepath>arm-none-symbianelf-2005-q1c.exe</filepath>, is supplied
-in kits, and is located at <filepath>epoc32\tools\distrib\</filepath>. Run
-this program to start the installation wizard. By default, the compiler is
-installed to <filepath>C:\Program Files\CSL Arm Toolchain\</filepath>. </p>
-<p>The installation wizard does not modify the Windows <codeph>PATH</codeph> environment
-variable. You must manually add the <filepath>bin</filepath> sub-directory
-of the installed tools to the <codeph>PATH</codeph> variable. For example,
-if the compiler is installed to <filepath>C:\gcce</filepath>, then <filepath>C:\gcce\bin</filepath> must
-be added to the <codeph>PATH</codeph> environment variable. </p>
-<p><b>Building for GCC targets </b> </p>
-<p>GCC targets are not the default build targets. To build a program for any
-GCC target, you must explicitly specify the targets as supported platforms
-in the component's <filepath>BLD.INF</filepath> file, using <codeph>prj_platforms</codeph> statement. </p>
-<p>For example: </p>
-<codeblock id="GUID-E9BF3300-5BB9-538E-8D9A-33447B58E477" xml:space="preserve">PRJ_PLATFORMS
-WINSCW GCCE GCCEV6 GCCEV6t2 GCCEV7</codeblock>
-<p>allows the component to be built for <codeph>WINSCW</codeph>, <codeph>GCCE</codeph>, <codeph>GCCEV6</codeph>, <codeph>GCCEV6t2</codeph>,
-and <codeph>GCCEV7</codeph>. </p>
-<p>You can build component for the GCC targets using the following <filepath>bldmake</filepath> and <filepath>abld</filepath> commands: </p>
-<p><userinput>bldmake bldfiles</userinput> </p>
-<p><userinput>abld build gcce | gccev6 | gccev6t2 | gccev7 [udeb | urel]</userinput> </p>
-<p> <b>Note:</b> To build for <codeph>GCCEV6t2</codeph> and <codeph>GCCEV7</codeph>,
-you need GCCE v4.2 that supports building ARM code for Thumb-2. </p>
-<p>Binaries are generated in the <filepath>udeb</filepath> and <filepath>urel</filepath> sub-directories
-of the <filepath>epoc32\release\&lt;GCC platform&gt;\</filepath> directory. </p>
-<p>Import library (<filepath>.dso</filepath>) files are generated in the <filepath>epoc32\release\ARMV5\lib\</filepath> directory.
-This directory is used, as the library file format has not changed since <codeph>ARMV5</codeph>. </p>
-<p> <b>Note:</b> These are the same directories that are used for import libraries
-generated by RVCT for different build targets, such as <codeph>ARMV5</codeph>, <codeph>ARMV6</codeph>,
-and so on. This allows other applications to link to any library, regardless
-of the build target for which they are generated. </p>
-<p><b>ROM building </b> </p>
-<p>The compiler setting allows the Symbian base components to include the
-correct compiler-specific run-time libraries in the ROM image.</p>
-<p>The default compiler used to build is ARM RVCT. This compiler is indicated
-to <codeph>buildrom</codeph> using the argument <codeph>-DRVCT</codeph>.  </p>
-<p>The toolchain from Symbian OS v9.1 also supports binaries built with the <codeph>GCCE</codeph> compiler.
-Binaries built with this compiler can be combined in ROM with binaries built
-with <codeph>RVCT</codeph> to the <codeph>ABIv2</codeph>. To do this, use
-the <codeph>-D_GCCE</codeph> macro: </p>
-<p><userinput>buildrom -D_EABI=ARMV5 -D_GCCE -otechview.img h2 techview</userinput></p>
-<p>By default, if the binaries are not available in GCCE, they are taken from
-the <codeph>ARMV5_ABIV2</codeph> directory, and if not in there also, they
-are be taken from the <codeph>ARMV5</codeph> directory. (<codeph>ARMV5</codeph> is
-necessary as some of the runtime DLLs will be present only in that directory.)
- </p>
-<p>The order in which buildrom searches directories to get binaries to put
-into ROM can also be specified explicitly using a <codeph>BINARY_SELECTION_ORDER</codeph> command
-in an <filepath>oby</filepath> file. For example: </p>
-<p><userinput>BINARY_SELECTION_ORDER = GCCE, ARMV5_ABIv2, ARMV5</userinput></p>
-<p>The preceding command specifies explicitly that binaries should taken from <codeph>GCCE</codeph>,
-then <codeph>ARMV5_ABIv2</codeph>, and then <codeph>ARMV5</codeph>. </p>
-<p><b>Source issues </b> </p>
-<p>The <codeph>GCCE</codeph> build target uses the same DEF file format as
-the <codeph>ARMV5</codeph> target. By default, the GCC toolchian looks for
-the DEF files in the project's <codeph>EABI</codeph> directory. </p>
-<p> <b>Note:</b> The GCC compiler is very strict in checking that the source
-code conforms to the ANSI C++ standard. Therefore, source code that previously
-compiled with less strict compilers, such as RVCT 2.1, may no longer compile. </p>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E4A23972-CC2F-5773-B1A4-6123333D1F5E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E4A23972-CC2F-5773-B1A4-6123333D1F5E"><title>start &lt;platform&gt; ... end</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>start</codeph>  <varname>platform</varname>  </p> <p><varname>platform-specific-statement-list</varname>  </p> <p>[<codeph>COPY_FOR_STATIC_LINKAGE</codeph>]</p> <p><codeph>end</codeph> </p> <p>A platform-specific section is enclosed in a <codeph>start</codeph> and <codeph>end</codeph> block.</p> <p>The platform-specific statements allowed depend on the platform. Unlike <codeph>#if defined</codeph> blocks, which allow statements to specify different files dependent upon the platform for which the makefile is being created, <codeph>start ... end</codeph> platform blocks are used to delimit statements understood only by the build tools when creating a makefile for a particular platform. </p> <p>Specify the platform as MARM if the section is defined for ARM platforms, or WINS for non-ARM platforms. Specify the platform as WINC for WINC and VC6WINC only sections.</p> <p>The <codeph>COPY_FOR_STATIC_LINKAGE</codeph> statement is useful for DLLs that are both dynamically loaded and statically linked. If it is used in a <codeph>START WINS</codeph> block, then the target DLL is built both into the specified target directory (for dynamic loading), and into the <filepath>epoc32\release\</filepath> <varname>wins or
-        winscw</varname> <filepath>\</filepath> <varname>udeb or urel</varname> (for static linking).</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E4B5C7CE-7820-5D80-8CD1-DCD692C11F23_d0e169016_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E4B5C7CE-7820-5D80-8CD1-DCD692C11F23_d0e175104_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E4BF80BE-17E9-5622-9E10-43C96EAC9754.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E4BF80BE-17E9-5622-9E10-43C96EAC9754"><title>pagedcode</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>pagedcode</codeph>  </p> <p>Use the <codeph>pagedcode</codeph> statement to specify that the executable is code paged. </p> <p>If an executable is marked as code paged, the pages are loaded into RAM page by page on demand. This can reduce application startup time and memory usage. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E51546A8-D000-540C-A757-56B323EA9DA7_d0e260545_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E51546A8-D000-540C-A757-56B323EA9DA7_d0e266554_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD"><title>Configuring and clearing files</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>You can configure the following settings for audio or video files, and the session log file: </p> <ul><li id="GUID-59FCA9A3-F83D-5097-AC24-E87318B0EC59"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-10ACB7AE-2205-5023-9635-1AD770142612">Configuring audio files</xref>  </p> </li> <li id="GUID-6BEA4715-1C27-563C-9E53-B70D13390D13"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-742C4F60-67D6-543E-B45D-DD6D4C2A076D"> Configuring video files</xref>  </p> </li> <li id="GUID-CC0B59A1-E026-5507-967E-202FDEB49A1F"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-D3B03F7B-280B-5181-84C8-0F485312989E"> Configuring file metadata</xref>  </p> </li> <li id="GUID-BC3584F1-11FC-57A2-83D2-06EF8F35DD2A"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-8E05A501-610F-5DD8-B6A8-33FFDEC1E693"> Setting the video output screen</xref>  </p> </li> <li id="GUID-87E4CBAB-F3B0-53DE-A7D7-4D7AFF9048DB"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-335765F4-B7D0-5E2D-ACC5-3F0ABCAD7085">Enabling auto pause and resume for video</xref>  </p> </li> <li id="GUID-B56040FE-9A57-58D9-AC00-F0A4A39C58F7"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-F97DA796-FBB7-5571-AFFD-3D05B0379667">Clearing the log file</xref>  </p> </li> </ul> <p> <i>Note</i>: You can configure media files only when they are open, and when they are neither being recorded nor played. </p> <section id="GUID-10ACB7AE-2205-5023-9635-1AD770142612"><title>Configuring audio files </title> <p>To configure the settings of an audio file: </p> <ol id="GUID-96A42A7D-890F-521A-B492-A55A3C0A0277"><li id="GUID-F96A562C-C09F-5DD4-8DC0-0B82A356F4A8"><p>In the <i>File</i> menu, click <i>Open for Play</i>, and select the audio file you want to configure. </p> </li> <li id="GUID-56C06939-250A-57BF-A194-7FD42A291816"><p>In the <i>Settings</i> menu, click <i>Audio</i>. The <i>Audio Settings</i> dialog box is displayed. </p> <fig id="GUID-9404C9C8-B263-5CD7-BB04-58B8D64778BE"><image href="GUID-73A431EF-44CA-5E62-AF3F-1601CFD2484F_d0e536212_href.jpg" placement="inline"/></fig> </li> <li id="GUID-BA9DE04B-F28B-5812-A1C3-D946B0C652A9"><p>In the <i>Repeats</i> box, enter the number of times to repeat the audio clip. </p> </li> <li id="GUID-2C07C46F-5083-5E37-9905-2E1DB2BFC654"><p>In the <i>Delay</i> box, enter the interval between repeats in seconds. </p> </li> <li id="GUID-DA3925A0-F812-56C0-96CF-06553D723209"><p>Select the <i>Autoplay</i> check box to play the file automatically when you open it for play. </p> </li> <li id="GUID-A2EE886D-978B-544D-ACAD-82F8AE911970"><p>Select the <i>Priority</i> and <i>Priority Preference</i>. </p> </li> <li id="GUID-5F634EFE-FC4A-5454-A4DD-5372F3311F8A"><p>Select the <i>Auto Pause&amp;Resume</i> check box to enable this functionality. </p> </li> <li id="GUID-453E68B1-543A-545D-958C-7D1784CEF6F5"><p>Click <i>OK</i> to save the audio settings. </p> </li> </ol> </section> <section id="GUID-742C4F60-67D6-543E-B45D-DD6D4C2A076D"><title> Configuring video files</title> <p> <b>Note:</b> The ability to configure the video settings is not yet supported. </p> <p>To configure the settings of a video file: </p> <ol id="GUID-68FA45CF-E92D-54B1-A40B-57182D0B00EB"><li id="GUID-F76A916E-EFA2-59CA-828E-94324FF8135E"><p>In the <i>File</i> menu, click <i>Open for Play</i>, and select the video file you want to configure. </p> </li> <li id="GUID-1BA8998F-E933-5733-8340-68CAB7C41690"><p>In the <i>Settings</i> menu, click <i>Video</i>. The <i>Video Setting</i> dialog box is displayed. </p> <fig id="GUID-804DF0A9-259C-5896-9E4F-E6F1244BCCCD"><image href="GUID-FBC9FA67-847F-599B-B244-3E9B72D40505_d0e536307_href.jpg" placement="inline"/></fig> </li> <li id="GUID-FB24EA21-D318-5849-AAE6-E236A068F934"><p>Select the degree of <i>Rotation</i>. </p> </li> <li id="GUID-DE89FFB3-1FF9-5D5B-B74B-B32888D25A5B"><p>Enter percentages for the <i>Scale Width</i> and <i>Scale Height</i>. </p> </li> <li id="GUID-95D6F7CD-33F8-5B53-9323-96511E20B17F"><p>Select the <i>Anti Alias Filtering</i> check box to enable anti-alias filtering. </p> </li> <li id="GUID-A448ECA0-A6A1-58E0-B519-5CF61E3567AD"><p>Enter the coordinates in the <i>top</i>, <i>bottom</i>, <i>left</i> and <i>right</i> boxes to define the boundaries of the crop region. </p> </li> <li id="GUID-AF2BD2D0-B4CC-5B03-B196-5395902BBE12"><p>Select the <i>Viewfinder</i> check box to enable it. </p> </li> <li id="GUID-6E586D81-8759-5D8F-ADC5-2916DD17CCFF"><p>Enter values for the <i>Camera Index</i> and <i>Camera Priority</i>. </p> </li> <li id="GUID-AC381ED5-C310-5CE5-8B44-ED419B5AF3C6"><p>Click <i>OK</i> to save the video settings. </p> </li> </ol> </section> <section id="GUID-D3B03F7B-280B-5181-84C8-0F485312989E"><title>Configuring file metadata</title> <p>You can enter the metadata for any media file that is open for record. You can view but cannot modify the metadata of a file that is open for play. </p> <p>To enter or modify file metadata: </p> <ol id="GUID-2BBE1526-B882-52C1-81F7-520CB74E0D19"><li id="GUID-D15B6C04-0833-5583-95FC-3231195277F4"><p>In the <i>File</i> menu, select <i>Open for Record</i>. </p> </li> <li id="GUID-D760F842-6C8F-5825-AB40-A3D3EDA77257"><p>In the <i>Settings</i> menu, select <i>Meta Data</i>. The <i>MetaData</i> dialog box is displayed. </p> <fig id="GUID-6231F7D6-3862-5DAB-BC89-3BC3F1A1242A"><image href="GUID-504E4334-FDA9-5982-8BF7-509D019AFD4C_d0e536419_href.jpg" placement="inline"/></fig> </li> <li id="GUID-19A742D8-3CA8-5E8A-AEE5-DBADCC03426D"><p>Enter information into the <i>Title</i>, <i>Author</i>, <i>Copyright</i>, <i>Revision</i>, <i>Category</i> and <i>Comments</i> boxes. </p> </li> <li id="GUID-C6BAB573-7EC5-5932-A587-56C51AA6FD09"><p>Click <i>OK</i> to save the metadata details entered. </p> </li> </ol> </section> <section id="GUID-8E05A501-610F-5DD8-B6A8-33FFDEC1E693"><title>Setting the video output screen</title> <p>You can set the video output rendering to any specific screen number. </p> <p>To set the output screen: </p> <ol id="GUID-1AD9FD49-93EC-583D-B1F7-604B2552F2B8"><li id="GUID-17628EFA-C86B-5FDC-97ED-601DE9F383FD"><p>In the <i>Settings</i> menu, select <i>Multiple Screen</i>. The <i>Set Output Screen</i> dialog box is displayed. </p> <fig id="GUID-102B7E57-B693-5C3B-BC1A-E13D718ABC6B"><image href="GUID-B96A7D1B-957C-5050-9D1D-5439A13A5CED_d0e536480_href.png" placement="inline"/></fig> </li> <li id="GUID-154D8E32-E573-5E32-A9FE-2D69BBDAA1A5"><p>Enter the <i>Screen Number</i> in the <i>Enter the Screen Number</i> box. </p> </li> <li id="GUID-B091B41A-69D7-55CD-9AE9-95DA19F7269D"><p>Click <i>OK</i> to save the output screen setting. </p> <p> <b>Note:</b> If the <i>Screen Number</i> is not supported, the MVS displays a <codeph>KErrNotSupported</codeph> message. </p> </li> </ol> </section> <section id="GUID-335765F4-B7D0-5E2D-ACC5-3F0ABCAD7085"><title>Enabling auto pause and resume for video</title> <p>You can enable auto pause and resume for video by registering for resource notification. Registering for resource notification means that the audio playback for a video can be paused and resumed efficiently if access to the resource is lost and subsequently regained. </p> <p>To enable auto pause and resume: </p> <ol id="GUID-3F039CE8-B1A9-5F4C-A692-91E0F26CB410"><li id="GUID-D75B0956-3C05-5137-AA8C-032F6C01BF88"><p>In the <i>Settings</i> menu, select <i>Register For Notification</i>. The <i>Register For Resource Notification</i> dialog box is displayed. </p> <fig id="GUID-BAE3C4F0-3F48-5389-B163-B0A7FDAE0FC9"><image href="GUID-220D3B2F-7A88-55AB-942F-1735A6E9E420_d0e536541_href.png" placement="inline"/></fig> </li> <li id="GUID-5274C1D3-DAB0-5C0B-A3B7-3D23F39ACA90"><p>Select the <i>Enable Auto Pause &amp; Resume</i> check box to enable this functionality. </p> </li> <li id="GUID-E45FF772-F48E-5B47-80AB-97ED358F8FC3"><p>Click <i>OK</i> to save the auto pause and resume setting. </p> <p>If you currently have a media file open for record, an information message is displayed to inform you that the setting has been applied. Otherwise, the setting is saved and applied when you next open a media file for record. </p> </li> </ol> <p>To disable auto pause and resume, repeat the above steps but clear the <i>Enable Auto Pause &amp; Resume</i> check box. </p> </section> <section id="GUID-F97DA796-FBB7-5571-AFFD-3D05B0379667"><title>Clearing the log file</title> <p>All events during a session are recorded in a <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">log file</xref>. </p> <p>To clear the log for the current session, in the <i>Settings</i> menu, click <i>ClearLog</i>. </p> <p> <b>Note:</b> This feature is currently not available. </p> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita">MVS GUI layout</xref> </p> <p> <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita">Recording media files</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita">Editing media files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD"><title>Configuring and clearing files</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>You can configure the following settings for audio or video files, and the session log file: </p> <ul><li id="GUID-59FCA9A3-F83D-5097-AC24-E87318B0EC59"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-10ACB7AE-2205-5023-9635-1AD770142612">Configuring audio files</xref>  </p> </li> <li id="GUID-6BEA4715-1C27-563C-9E53-B70D13390D13"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-742C4F60-67D6-543E-B45D-DD6D4C2A076D"> Configuring video files</xref>  </p> </li> <li id="GUID-CC0B59A1-E026-5507-967E-202FDEB49A1F"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-D3B03F7B-280B-5181-84C8-0F485312989E"> Configuring file metadata</xref>  </p> </li> <li id="GUID-BC3584F1-11FC-57A2-83D2-06EF8F35DD2A"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-8E05A501-610F-5DD8-B6A8-33FFDEC1E693"> Setting the video output screen</xref>  </p> </li> <li id="GUID-87E4CBAB-F3B0-53DE-A7D7-4D7AFF9048DB"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-335765F4-B7D0-5E2D-ACC5-3F0ABCAD7085">Enabling auto pause and resume for video</xref>  </p> </li> <li id="GUID-B56040FE-9A57-58D9-AC00-F0A4A39C58F7"><p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita#GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD/GUID-F97DA796-FBB7-5571-AFFD-3D05B0379667">Clearing the log file</xref>  </p> </li> </ul> <p> <i>Note</i>: You can configure media files only when they are open, and when they are neither being recorded nor played. </p> <section id="GUID-10ACB7AE-2205-5023-9635-1AD770142612"><title>Configuring audio files </title> <p>To configure the settings of an audio file: </p> <ol id="GUID-96A42A7D-890F-521A-B492-A55A3C0A0277"><li id="GUID-F96A562C-C09F-5DD4-8DC0-0B82A356F4A8"><p>In the <i>File</i> menu, click <i>Open for Play</i>, and select the audio file you want to configure. </p> </li> <li id="GUID-56C06939-250A-57BF-A194-7FD42A291816"><p>In the <i>Settings</i> menu, click <i>Audio</i>. The <i>Audio Settings</i> dialog box is displayed. </p> <fig id="GUID-9404C9C8-B263-5CD7-BB04-58B8D64778BE"><image href="GUID-73A431EF-44CA-5E62-AF3F-1601CFD2484F_d0e543672_href.jpg" placement="inline"/></fig> </li> <li id="GUID-BA9DE04B-F28B-5812-A1C3-D946B0C652A9"><p>In the <i>Repeats</i> box, enter the number of times to repeat the audio clip. </p> </li> <li id="GUID-2C07C46F-5083-5E37-9905-2E1DB2BFC654"><p>In the <i>Delay</i> box, enter the interval between repeats in seconds. </p> </li> <li id="GUID-DA3925A0-F812-56C0-96CF-06553D723209"><p>Select the <i>Autoplay</i> check box to play the file automatically when you open it for play. </p> </li> <li id="GUID-A2EE886D-978B-544D-ACAD-82F8AE911970"><p>Select the <i>Priority</i> and <i>Priority Preference</i>. </p> </li> <li id="GUID-5F634EFE-FC4A-5454-A4DD-5372F3311F8A"><p>Select the <i>Auto Pause&amp;Resume</i> check box to enable this functionality. </p> </li> <li id="GUID-453E68B1-543A-545D-958C-7D1784CEF6F5"><p>Click <i>OK</i> to save the audio settings. </p> </li> </ol> </section> <section id="GUID-742C4F60-67D6-543E-B45D-DD6D4C2A076D"><title> Configuring video files</title> <p> <b>Note:</b> The ability to configure the video settings is not yet supported. </p> <p>To configure the settings of a video file: </p> <ol id="GUID-68FA45CF-E92D-54B1-A40B-57182D0B00EB"><li id="GUID-F76A916E-EFA2-59CA-828E-94324FF8135E"><p>In the <i>File</i> menu, click <i>Open for Play</i>, and select the video file you want to configure. </p> </li> <li id="GUID-1BA8998F-E933-5733-8340-68CAB7C41690"><p>In the <i>Settings</i> menu, click <i>Video</i>. The <i>Video Setting</i> dialog box is displayed. </p> <fig id="GUID-804DF0A9-259C-5896-9E4F-E6F1244BCCCD"><image href="GUID-FBC9FA67-847F-599B-B244-3E9B72D40505_d0e543767_href.jpg" placement="inline"/></fig> </li> <li id="GUID-FB24EA21-D318-5849-AAE6-E236A068F934"><p>Select the degree of <i>Rotation</i>. </p> </li> <li id="GUID-DE89FFB3-1FF9-5D5B-B74B-B32888D25A5B"><p>Enter percentages for the <i>Scale Width</i> and <i>Scale Height</i>. </p> </li> <li id="GUID-95D6F7CD-33F8-5B53-9323-96511E20B17F"><p>Select the <i>Anti Alias Filtering</i> check box to enable anti-alias filtering. </p> </li> <li id="GUID-A448ECA0-A6A1-58E0-B519-5CF61E3567AD"><p>Enter the coordinates in the <i>top</i>, <i>bottom</i>, <i>left</i> and <i>right</i> boxes to define the boundaries of the crop region. </p> </li> <li id="GUID-AF2BD2D0-B4CC-5B03-B196-5395902BBE12"><p>Select the <i>Viewfinder</i> check box to enable it. </p> </li> <li id="GUID-6E586D81-8759-5D8F-ADC5-2916DD17CCFF"><p>Enter values for the <i>Camera Index</i> and <i>Camera Priority</i>. </p> </li> <li id="GUID-AC381ED5-C310-5CE5-8B44-ED419B5AF3C6"><p>Click <i>OK</i> to save the video settings. </p> </li> </ol> </section> <section id="GUID-D3B03F7B-280B-5181-84C8-0F485312989E"><title>Configuring file metadata</title> <p>You can enter the metadata for any media file that is open for record. You can view but cannot modify the metadata of a file that is open for play. </p> <p>To enter or modify file metadata: </p> <ol id="GUID-2BBE1526-B882-52C1-81F7-520CB74E0D19"><li id="GUID-D15B6C04-0833-5583-95FC-3231195277F4"><p>In the <i>File</i> menu, select <i>Open for Record</i>. </p> </li> <li id="GUID-D760F842-6C8F-5825-AB40-A3D3EDA77257"><p>In the <i>Settings</i> menu, select <i>Meta Data</i>. The <i>MetaData</i> dialog box is displayed. </p> <fig id="GUID-6231F7D6-3862-5DAB-BC89-3BC3F1A1242A"><image href="GUID-504E4334-FDA9-5982-8BF7-509D019AFD4C_d0e543879_href.jpg" placement="inline"/></fig> </li> <li id="GUID-19A742D8-3CA8-5E8A-AEE5-DBADCC03426D"><p>Enter information into the <i>Title</i>, <i>Author</i>, <i>Copyright</i>, <i>Revision</i>, <i>Category</i> and <i>Comments</i> boxes. </p> </li> <li id="GUID-C6BAB573-7EC5-5932-A587-56C51AA6FD09"><p>Click <i>OK</i> to save the metadata details entered. </p> </li> </ol> </section> <section id="GUID-8E05A501-610F-5DD8-B6A8-33FFDEC1E693"><title>Setting the video output screen</title> <p>You can set the video output rendering to any specific screen number. </p> <p>To set the output screen: </p> <ol id="GUID-1AD9FD49-93EC-583D-B1F7-604B2552F2B8"><li id="GUID-17628EFA-C86B-5FDC-97ED-601DE9F383FD"><p>In the <i>Settings</i> menu, select <i>Multiple Screen</i>. The <i>Set Output Screen</i> dialog box is displayed. </p> <fig id="GUID-102B7E57-B693-5C3B-BC1A-E13D718ABC6B"><image href="GUID-B96A7D1B-957C-5050-9D1D-5439A13A5CED_d0e543940_href.png" placement="inline"/></fig> </li> <li id="GUID-154D8E32-E573-5E32-A9FE-2D69BBDAA1A5"><p>Enter the <i>Screen Number</i> in the <i>Enter the Screen Number</i> box. </p> </li> <li id="GUID-B091B41A-69D7-55CD-9AE9-95DA19F7269D"><p>Click <i>OK</i> to save the output screen setting. </p> <p> <b>Note:</b> If the <i>Screen Number</i> is not supported, the MVS displays a <codeph>KErrNotSupported</codeph> message. </p> </li> </ol> </section> <section id="GUID-335765F4-B7D0-5E2D-ACC5-3F0ABCAD7085"><title>Enabling auto pause and resume for video</title> <p>You can enable auto pause and resume for video by registering for resource notification. Registering for resource notification means that the audio playback for a video can be paused and resumed efficiently if access to the resource is lost and subsequently regained. </p> <p>To enable auto pause and resume: </p> <ol id="GUID-3F039CE8-B1A9-5F4C-A692-91E0F26CB410"><li id="GUID-D75B0956-3C05-5137-AA8C-032F6C01BF88"><p>In the <i>Settings</i> menu, select <i>Register For Notification</i>. The <i>Register For Resource Notification</i> dialog box is displayed. </p> <fig id="GUID-BAE3C4F0-3F48-5389-B163-B0A7FDAE0FC9"><image href="GUID-220D3B2F-7A88-55AB-942F-1735A6E9E420_d0e544001_href.png" placement="inline"/></fig> </li> <li id="GUID-5274C1D3-DAB0-5C0B-A3B7-3D23F39ACA90"><p>Select the <i>Enable Auto Pause &amp; Resume</i> check box to enable this functionality. </p> </li> <li id="GUID-E45FF772-F48E-5B47-80AB-97ED358F8FC3"><p>Click <i>OK</i> to save the auto pause and resume setting. </p> <p>If you currently have a media file open for record, an information message is displayed to inform you that the setting has been applied. Otherwise, the setting is saved and applied when you next open a media file for record. </p> </li> </ol> <p>To disable auto pause and resume, repeat the above steps but clear the <i>Enable Auto Pause &amp; Resume</i> check box. </p> </section> <section id="GUID-F97DA796-FBB7-5571-AFFD-3D05B0379667"><title>Clearing the log file</title> <p>All events during a session are recorded in a <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">log file</xref>. </p> <p>To clear the log for the current session, in the <i>Settings</i> menu, click <i>ClearLog</i>. </p> <p> <b>Note:</b> This feature is currently not available. </p> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita">MVS GUI layout</xref> </p> <p> <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita">Recording media files</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita">Editing media files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E52D52C8-AC58-5550-8932-59B314A47313_d0e535365_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-E52D52C8-AC58-5550-8932-59B314A47313_d0e542825_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e1562_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e1566_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E55B3ACD-4651-5FBD-AC9F-511E5CBCC0C9_d0e46311_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E55B3ACD-4651-5FBD-AC9F-511E5CBCC0C9_d0e50545_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E55B594F-CC84-5984-9307-9819F6EBEB7F_d0e389916_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E55B594F-CC84-5984-9307-9819F6EBEB7F_d0e395769_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E56D30B2-9EF7-555C-8119-9F5E0F959AB4_d0e263000_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E56D30B2-9EF7-555C-8119-9F5E0F959AB4_d0e269000_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E56E21A9-B545-5217-A877-E64D30275157.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E56E21A9-B545-5217-A877-E64D30275157.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -45,7 +45,7 @@
 the phone user (using the Dialog creator plug-in) for permission to send a
 message, if the client application does not have the correct capability set. </p> <fig id="GUID-3A131C1E-CAA8-554A-A9A0-119E762D174C">
 <title>              User prompting service architecture            </title>
-<image href="GUID-629A9EF6-3029-5165-9B8B-471D341D33C5_d0e482483_href.png" placement="inline"/>
+<image href="GUID-629A9EF6-3029-5165-9B8B-471D341D33C5_d0e488312_href.png" placement="inline"/>
 </fig> <dl>
 <dlentry>
 <dt>UPS</dt>
--- a/Symbian3/PDK/Source/GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 and unregisters surfaces: </p>
 <fig id="GUID-B9190405-76E6-557D-A1F7-03ADDB8E456D">
 <title>           Surface registration          </title>
-<image href="GUID-D729593E-C131-5F67-BF0C-6C9AD847C9F9_d0e534745_href.png" placement="inline"/>
+<image href="GUID-D729593E-C131-5F67-BF0C-6C9AD847C9F9_d0e542205_href.png" placement="inline"/>
 </fig>
 <p>The Video Renderer uses the global constant <codeph>KAllScreens</codeph> (provided
 by the Surface Update component) to ensure all displays are updated with new
@@ -39,7 +39,7 @@
 <fig id="GUID-4CA7A049-1B60-5CB5-956A-DDDFF0A5E3B1">
 <title>           Data flow between client, Video Renderer and Surface Update
 client-side API          </title>
-<image href="GUID-3C8FD050-1CD4-5AFB-ACB7-4264536BB300_d0e534768_href.png" placement="inline"/>
+<image href="GUID-3C8FD050-1CD4-5AFB-ACB7-4264536BB300_d0e542228_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-98FBEA7E-78BA-5A64-90D6-4641418003B4.dita"><linktext>Video Renderer
Binary file Symbian3/PDK/Source/GUID-E58FA02A-D721-42FC-941F-1D8E5BCD96BC_d0e99876_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e1801_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e1807_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e531328_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e538788_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E5FB2D04-D57E-4EEA-850F-40F813C75D8C_d0e2538_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E5FB2D04-D57E-4EEA-850F-40F813C75D8C_d0e2548_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e102650_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e106670_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E61A931D-6E66-5E17-AE61-ABFB74CB8EF2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E61A931D-6E66-5E17-AE61-ABFB74CB8EF2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 <p>The diagram illustrates the life-cycle of an active object. </p>
 <fig id="GUID-BF465AB5-B007-5F44-9AF7-DA0963AE3BDE">
 <title>Flow diagram showing the life cycle of an active object</title>
-<image href="GUID-36F18DC4-7BD0-59C6-95E9-8FD945B86D7E_d0e335147_href.png" placement="inline"/>
+<image href="GUID-36F18DC4-7BD0-59C6-95E9-8FD945B86D7E_d0e341119_href.png" placement="inline"/>
 </fig>
 <p>Procedural flow follows the black arrows; control is transferred along
 the blue links, as follows:</p>
Binary file Symbian3/PDK/Source/GUID-E63899B3-8EA8-5EF7-982E-EC161B3A4794_d0e107649_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E63899B3-8EA8-5EF7-982E-EC161B3A4794_d0e110092_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E63AAE78-335F-5BD3-BECA-1709C3C7FB3F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E63AAE78-335F-5BD3-BECA-1709C3C7FB3F"><title>baseaddress</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>baseaddress</codeph>  <varname>hex-constant</varname>  </p> <p>Use the <codeph>baseaddress</codeph> statement to specify the address to which a DLL will be built and, if possible, loaded. It only applies to WINSCW/WINS builds. </p> <p>Use it to give each DLL a different base address, so that the Windows loader does not have to do any relocation while loading Symbian platform and its DLLs. This considerably speeds up the initialisation of Symbian platform under WINSCW/WINS. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E63D0A01-EF87-566F-9BFA-9E75AD6F3205.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E63D0A01-EF87-566F-9BFA-9E75AD6F3205.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-E63D0A01-EF87-566F-9BFA-9E75AD6F3205"><title>Window Hierarchy</title><shortdesc>In a running application, all window instances are arranged in a hierarchy, in which each window has a parent. The Window Server has a window not owned by the client, called the "root" window which is the parent of all the group windows. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: Both (ScreenPlay and non-ScreenPlay). <b>Target audience</b>: Application developers. </p> <section><title>Parent windows</title> <p>The following diagram shows the relationship between parent and child windows and window groups at run-time. Arrows indicate "is a parent of". </p> <fig id="GUID-536B9B54-0BEB-5A9F-9084-F2F3B293B6E6"><title>
              Window hierarchy 
-          </title> <image href="GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e236155_href.png" placement="inline"/></fig> <p>The relationships between parent and child windows have the following properties: </p> <ul><li id="GUID-FAB0D905-CC6F-5D5A-BACE-7815919514D8"><p>A window's parent is specified when the window is created. </p> </li> <li id="GUID-A77DC123-B034-59A1-94E8-E0D181DD58FB"><p>The Window Server imposes no limit to the number of children a window can have. The number of children is limited only by the resources of the system. </p> </li> <li id="GUID-514DFF80-CF3D-59B8-A327-5246451759CD"><p>When a parent window is destroyed, all its children are removed from the screen. However, the objects associated with them are not destroyed until the window or the client that owns them is destroyed. </p> </li> <li id="GUID-F0A80D6C-6746-5384-AB13-659BC59BB702"><p>A window's parent defines the region in which the window can be displayed. A child cannot be displayed outside its parent, and is clipped to the parent’s visible region. If a child window is moved so that part of it extends beyond its parent, that part of the child window will not be visible. </p> </li> <li id="GUID-BA556D13-6A46-5AC8-8FE3-08C9F15061FF"><p>Note that if a window's parent is a window group, the window can be displayed anywhere on the screen, because window groups do not have a size. </p> </li> </ul> </section> <section><title>Sibling windows</title> <p>If a window has multiple children, these are known as <keyword>siblings</keyword>. Sibling windows are maintained in a list, and the parent window owns a link to the first window in the sibling list. The order of the windows in the sibling list represents the windows’ <keyword>ordinal position</keyword>. This determines which windows are displayed on top of which, if they overlap. </p> </section> </conbody><related-links><link href="GUID-99AE1D62-571A-5A63-B472-C0FBC0861F52.dita"><linktext>Window Types</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e242128_href.png" placement="inline"/></fig> <p>The relationships between parent and child windows have the following properties: </p> <ul><li id="GUID-FAB0D905-CC6F-5D5A-BACE-7815919514D8"><p>A window's parent is specified when the window is created. </p> </li> <li id="GUID-A77DC123-B034-59A1-94E8-E0D181DD58FB"><p>The Window Server imposes no limit to the number of children a window can have. The number of children is limited only by the resources of the system. </p> </li> <li id="GUID-514DFF80-CF3D-59B8-A327-5246451759CD"><p>When a parent window is destroyed, all its children are removed from the screen. However, the objects associated with them are not destroyed until the window or the client that owns them is destroyed. </p> </li> <li id="GUID-F0A80D6C-6746-5384-AB13-659BC59BB702"><p>A window's parent defines the region in which the window can be displayed. A child cannot be displayed outside its parent, and is clipped to the parent’s visible region. If a child window is moved so that part of it extends beyond its parent, that part of the child window will not be visible. </p> </li> <li id="GUID-BA556D13-6A46-5AC8-8FE3-08C9F15061FF"><p>Note that if a window's parent is a window group, the window can be displayed anywhere on the screen, because window groups do not have a size. </p> </li> </ul> </section> <section><title>Sibling windows</title> <p>If a window has multiple children, these are known as <keyword>siblings</keyword>. Sibling windows are maintained in a list, and the parent window owns a link to the first window in the sibling list. The order of the windows in the sibling list represents the windows’ <keyword>ordinal position</keyword>. This determines which windows are displayed on top of which, if they overlap. </p> </section> </conbody><related-links><link href="GUID-99AE1D62-571A-5A63-B472-C0FBC0861F52.dita"><linktext>Window Types</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E64A8D76-28AD-4F75-9E92-3290488F85D9_d0e95509_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E64A8D76-28AD-4F75-9E92-3290488F85D9_d0e99705_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E651C7A7-D6EB-533E-A97A-360D089DE7A5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E651C7A7-D6EB-533E-A97A-360D089DE7A5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -48,7 +48,7 @@
 are three parameters, one of which is an integer, and the other two being
 pointers to descriptors. </p>
 <fig id="GUID-C3369B01-2A0D-5AB2-973B-386FDBBB6B86">
-<image href="GUID-2105B5F0-2D00-5ECA-8859-A8A432423327_d0e339048_href.png" placement="inline"/>
+<image href="GUID-2105B5F0-2D00-5ECA-8859-A8A432423327_d0e345020_href.png" placement="inline"/>
 <p>Inter-thread data transfer</p>
 </fig>
 <section id="GUID-EE636E39-A171-484D-AAF4-7996D04C8EEC"><title>See also</title> <p> <xref href="GUID-79BAF19D-F003-5468-9C01-6E918B06C36D.dita">Descriptor
--- a/Symbian3/PDK/Source/GUID-E65D89C5-0472-573A-BD1C-B298848CD4CF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E65D89C5-0472-573A-BD1C-B298848CD4CF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E65D89C5-0472-573A-BD1C-B298848CD4CF"><title>Bluetooth Collection Overview</title><shortdesc>The Bluetooth collection contains the SDP, GAVDP and notifier support components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-8DCCC4AF-9226-5CE3-B357-8577C2B7E920"><title>Purpose</title> <p>The Bluetooth Collection contains the SDP, GAVDP and notifier support components. </p> </section> <section id="GUID-C411D319-BDC3-5349-AD14-03184BF96195"><title>Architecture</title> <fig id="GUID-28512480-0D8C-5FBE-B6F6-9AE5605AC932"><image href="GUID-02F4AA24-283A-503D-8BA9-7C926DC7E306_d0e638138_href.png" placement="inline"/></fig> </section> <section id="GUID-BD745D05-764F-57EE-817B-228CF6EDEFC5"><title>Components</title> <p>The Bluetooth collection contains the following components: </p> <ul><li id="GUID-6C4D5017-F754-5FD5-B4D1-E712DBE127F9"><p> <b>SDP</b>  </p> <p>Bluetooth Service Discovery Protocol (SDP) enables a device to find out what services are available on another device. For example, when connecting a mobile phone to a bluetooth headset, SDP can find out which Bluetooth profiles the headset supports. The SDP component enables devices to register services to the SDP database and to query the database for available services. The SDP Agent and the SDP Database provide functionality for the SDP component. </p> </li> <li id="GUID-33A8BCE8-D453-5997-BB66-E0EF9E9E15BD"><p> <b>GAVDP</b>  </p> <p>Generic Audio Video Distribution Profile (GAVDP) enables audio or video streaming. </p> </li> <li id="GUID-F3FA41AD-8738-584C-B624-573C5862DE24"><p> <b>Bluetooth Notifiers Support</b>  </p> <p>The Bluetooth Notifiers Support component enables you to create dialogs for interacting with device users about Bluetooth interactions. You can offer Bluetooth dialogs for several purposes, but the main purpose is to provide security for Bluetooth interactions. </p> </li> </ul> </section> <section><title>Using the Bluetooth collection</title> <p>The Bluetooth collection has the following uses: </p> <ul><li id="GUID-31D55218-8C3B-593A-AE91-C3FB8BCA016C"><p>using <xref href="GUID-EC7A9299-4272-5C1E-8A10-8267E154D56A.dita">SDP</xref> to find out what services are available on another device </p> </li> <li id="GUID-F591458E-5D5B-5D3F-980E-89C5986B9DCE"><p>Using <xref href="GUID-5EF234AA-E4A4-5C79-962F-823A4DB29D05.dita">GAVDP</xref> to enable audio or video streaming </p> </li> <li id="GUID-917BB008-04E7-58B6-A3B1-ED2E102B4251"><p>using the <xref href="GUID-EA15E87C-6A24-50B1-9FAC-9ACE8911ABD5.dita">Bluetooth Notifiers Support</xref> to create dialogs for interacting with device users about Bluetooth interactions. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E65D89C5-0472-573A-BD1C-B298848CD4CF"><title>Bluetooth Collection Overview</title><shortdesc>The Bluetooth collection contains the SDP, GAVDP and notifier support components. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-8DCCC4AF-9226-5CE3-B357-8577C2B7E920"><title>Purpose</title> <p>The Bluetooth Collection contains the SDP, GAVDP and notifier support components. </p> </section> <section id="GUID-C411D319-BDC3-5349-AD14-03184BF96195"><title>Architecture</title> <fig id="GUID-28512480-0D8C-5FBE-B6F6-9AE5605AC932"><image href="GUID-02F4AA24-283A-503D-8BA9-7C926DC7E306_d0e650960_href.png" placement="inline"/></fig> </section> <section id="GUID-BD745D05-764F-57EE-817B-228CF6EDEFC5"><title>Components</title> <p>The Bluetooth collection contains the following components: </p> <ul><li id="GUID-6C4D5017-F754-5FD5-B4D1-E712DBE127F9"><p> <b>SDP</b>  </p> <p>Bluetooth Service Discovery Protocol (SDP) enables a device to find out what services are available on another device. For example, when connecting a mobile phone to a bluetooth headset, SDP can find out which Bluetooth profiles the headset supports. The SDP component enables devices to register services to the SDP database and to query the database for available services. The SDP Agent and the SDP Database provide functionality for the SDP component. </p> </li> <li id="GUID-33A8BCE8-D453-5997-BB66-E0EF9E9E15BD"><p> <b>GAVDP</b>  </p> <p>Generic Audio Video Distribution Profile (GAVDP) enables audio or video streaming. </p> </li> <li id="GUID-F3FA41AD-8738-584C-B624-573C5862DE24"><p> <b>Bluetooth Notifiers Support</b>  </p> <p>The Bluetooth Notifiers Support component enables you to create dialogs for interacting with device users about Bluetooth interactions. You can offer Bluetooth dialogs for several purposes, but the main purpose is to provide security for Bluetooth interactions. </p> </li> </ul> </section> <section><title>Using the Bluetooth collection</title> <p>The Bluetooth collection has the following uses: </p> <ul><li id="GUID-31D55218-8C3B-593A-AE91-C3FB8BCA016C"><p>using <xref href="GUID-EC7A9299-4272-5C1E-8A10-8267E154D56A.dita">SDP</xref> to find out what services are available on another device </p> </li> <li id="GUID-F591458E-5D5B-5D3F-980E-89C5986B9DCE"><p>Using <xref href="GUID-5EF234AA-E4A4-5C79-962F-823A4DB29D05.dita">GAVDP</xref> to enable audio or video streaming </p> </li> <li id="GUID-917BB008-04E7-58B6-A3B1-ED2E102B4251"><p>using the <xref href="GUID-EA15E87C-6A24-50B1-9FAC-9ACE8911ABD5.dita">Bluetooth Notifiers Support</xref> to create dialogs for interacting with device users about Bluetooth interactions. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E6803961-14A0-44BD-A94E-5D8A38EA907F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E6803961-14A0-44BD-A94E-5D8A38EA907F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 keypad solutions should take this into account.</p>
 <fig id="GUID-7B357FCA-0F6F-4C13-B566-63B9B30992F4">
 <title>Lists and grids</title>
-<image href="GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e80583_href.png" placement="inline"/>
+<image href="GUID-BDAC640A-FBFE-4DC2-BB29-1A780BCA8ADA_d0e84781_href.png" placement="inline"/>
 </fig>
 <section id="GUID-CABB0753-D960-4BAE-8159-81681F73CDAA"><title>Using
 lists and grids in applications</title><p>The APIs to use for lists and grids
--- a/Symbian3/PDK/Source/GUID-E6B77879-DA27-5D8C-B72D-A165F80CFF3B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E6B77879-DA27-5D8C-B72D-A165F80CFF3B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 <p>The following diagram shows these component relationships: </p>
 <fig id="GUID-9006D69B-605B-554C-9836-155062098DE8">
 <title>           Multimode ETel component architecture          </title>
-<image href="GUID-E55B3ACD-4651-5FBD-AC9F-511E5CBCC0C9_d0e46311_href.png" placement="inline"/>
+<image href="GUID-E55B3ACD-4651-5FBD-AC9F-511E5CBCC0C9_d0e50545_href.png" placement="inline"/>
 </fig>
 <p>Much of the functionality defined in Multimode ETel is <i>optional</i>,
 meaning that a .TSY is not required to support it. Clients should use the
@@ -30,7 +30,7 @@
 in the Core and Multimode APIs and their inheritance relationships. The top
 package is ETel Core, the lower package is Multimode ETel. </p> <fig id="GUID-90475AD2-04DF-5ECE-BA0D-28FD9500E6AB">
 <title>              Multimode ETel key classes            </title>
-<image href="GUID-9147F8AF-01B3-5110-8FE7-A6318B5048D9_d0e46332_href.png" placement="inline"/>
+<image href="GUID-9147F8AF-01B3-5110-8FE7-A6318B5048D9_d0e50566_href.png" placement="inline"/>
 </fig> <p>The key Multimode ETel classes are R-classes. The purpose of these
 classes is to communicate with the telephony server. All of the classes shown
 derive, directly or indirectly, from <xref href="GUID-9CE46AD7-722E-3831-A359-C90A350E931D.dita"><apiname>RTelSubSessionBase</apiname></xref>,
Binary file Symbian3/PDK/Source/GUID-E6BC747F-12E6-5866-99E2-D13E5AAE1F12_d0e450925_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E6BC747F-12E6-5866-99E2-D13E5AAE1F12_d0e456770_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E6CB4891-AFC8-50BB-A2C8-057DB1269DA9" xml:lang="en"><title>Meta
-files</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A meta file is a simple text file associated with each template extension
-makefile, it contains additional information about the extension such as makefile
-type, platform and so on. </p>
-<p>Following is the syntax for meta file: </p>
-<p> <codeph>makefile</codeph>  <varname>gnumake | nmake</varname>  </p>
-<p>[<codeph>platform</codeph>  <varname>value</varname>] </p>
-<p>[<codeph>option</codeph>  <varname>option-name_1</varname> <varname>option-value_1</varname>] </p>
-<p>... </p>
-<p>[<codeph>option</codeph>  <varname>option-name_n</varname> <varname>option-value_n</varname>] </p>
-<p>The <codeph>makefile</codeph>  <varname>gnumake | nmake</varname> is compulsory
-for all the meta files. It specifies whether the makefile is of type <codeph>gnumake</codeph> or <codeph>nmake</codeph>. </p>
-<p>The optional <codeph>platform</codeph>  <varname>value</varname> specifies
-the platforms for which the associated template extension makefile can be
-applied. If not specified, the makefile is invoked for all the platforms.
-For example, the <codeph>platform</codeph> could be <varname>winscw</varname> and/or <varname>ARMv5</varname>. </p>
-<p>The optional <codeph>option</codeph>  <varname>option-name</varname> <varname>option-value</varname> sets
-a default value for an option, which can be changed within <codeph>START EXTENSION</codeph>...<codeph>END</codeph> block
-in the <filepath>bld.inf</filepath> file. For more information, refer to <xref href="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita">prj_extensions</xref>. </p>
-<example><p>This example will set values to <codeph>platform</codeph> and <codeph>makefile</codeph> variables. </p><codeblock id="GUID-EAEA364D-75F8-5BF0-8E66-A8C3530758E6" xml:space="preserve">#copy_default.meta
-#
-
-makefile     gnumake
-platform    win32</codeblock></example>
-</conbody><related-links>
-<link href="GUID-201E6D4C-5F0F-5AA2-BC79-91E3C62C8971.dita"><linktext>How to write
-a meta file</linktext></link>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 EndBitmap()
 </codeblock> <p>If the extended bitmap rasterizer DLL has a cache of previously rasterized extended bitmaps, calls to <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita#GUID-683A1D42-2764-3EB7-BD19-9E12559199AB/GUID-D24300BA-20D7-34E6-BD23-ED281A0D957E"><apiname>CFbsBitmap::GetScanLine()</apiname></xref>, <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita#GUID-683A1D42-2764-3EB7-BD19-9E12559199AB/GUID-838CF3C5-C513-33B7-9C81-0EBCE075F6B7"><apiname>CFbsBitmap::GetPixel()</apiname></xref> and <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita#GUID-683A1D42-2764-3EB7-BD19-9E12559199AB/GUID-57BC8EB1-B9F4-39A9-A18B-594CFB7786B6"><apiname>CFbsBitmap::GetVerticalScanLine()</apiname></xref> do not need to rasterize the bitmap for each call, which can improve performance dramatically. </p> <p>An extended bitmap rasterizer DLL cache contains the previously rasterized content for the most recently used extended bitmaps. Typically the extended bitmap rasterizer DLL adds new bitmaps to the cache when <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-64CF1808-1B05-3403-AB3F-D002F3A4AAFC"><apiname>CFbsRasterizer::BeginBitmap()</apiname></xref> is called (if they are not already in the cache) and does not automatically remove bitmaps from the cache when <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-23EB43C0-1694-39BE-AEFF-1E4ADA30E765"><apiname>CFbsRasterizer::EndBitmap()</apiname></xref> is called. </p> <p>It is possible for an extended bitmap to be deleted before its cached information is deleted from the cache. It is therefore important that the cache does not store pointers to the data that was used to create the pre-rasterized content. </p> <p>There are two approaches that can be used to manage the cache: </p> <ul><li id="GUID-7233E700-FF1D-5FD9-985C-F0FB40643003"><p>Remove the oldest items when a maximum cache size is reached. </p> </li> <li id="GUID-AA32ADA2-6AED-51F2-B7CB-39DA24288F6D"><p>Associate the extended bitmap rasterizer DLL with a <xref href="GUID-6EAFEB3B-D5F1-3CAE-A9F3-5955F891F122.dita"><apiname>CIdle</apiname></xref> active object and remove all of the items during idle times. </p> </li> </ul> <p>It is recommended that you use both mechanisms in order to optimize memory usage. The example extended bitmap rasterizer DLL does this. It maintains a list of recently used bitmaps, with the most recently used one being first in the list. If the size of the cache exceeds the set maximum, the oldest bitmaps are removed until the size is within limits again. The example extended bitmap rasterizer DLL also uses a <xref href="GUID-6EAFEB3B-D5F1-3CAE-A9F3-5955F891F122.dita"><apiname>CIdle</apiname></xref> object that clears the cache during idle times. </p> <p><b>Memory </b> </p> <p>The example extended bitmap rasterizer DLL allocates and frees memory during <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-64CF1808-1B05-3403-AB3F-D002F3A4AAFC"><apiname>CFbsRasterizer::BeginBitmap()</apiname></xref> and <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-23EB43C0-1694-39BE-AEFF-1E4ADA30E765"><apiname>CFbsRasterizer::EndBitmap()</apiname></xref>, respectively. This approach may be slow if frequent allocation and freeing of large amounts of memory is required. </p> <p>A possible solution is to pre-allocate a memory pool from which the extended bitmap rasterizer DLL can use areas of memory. This reduces the number of allocations. However, this solution may be unsuitable for some scenarios, such as when memory usage is more important than performance. </p> </section> <section><title>Example extended bitmap rasterizer</title> <p>The Symbian platform provides a simple example extended bitmap rasterizer, which you can use as a reference when you are creating your own. The source code is located in the <filepath>os\graphics\fbs\fontandbitmapserver\trasterizer\src</filepath> folder. It is built as <filepath>fbsrasterizer_test.dll</filepath> when you build the test code for the Font and Bitmap Server component. </p> <p>This extended bitmap rasterizer DLL handles a tricolor flag. The data comprises the flag's three colors and the direction (horizontal or vertical) of the stripes as shown in the following picture. </p> <fig id="GUID-1EEEB83A-984C-528A-BC5D-5B17836EAA29"><title>
              Tricolor flag with horizontal and vertical stripes 
-          </title> <image href="GUID-538302A3-F4B2-539C-8048-39E6028CB2A2_d0e259004_href.png" placement="inline"/></fig> <ul><li id="GUID-01B79E41-BC48-5BCD-B613-D220BCCF0F48"><p>When <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-64CF1808-1B05-3403-AB3F-D002F3A4AAFC"><apiname>CFbsRasterizer::BeginBitmap()</apiname></xref> is called for this type of extended bitmap, the extended bitmap rasterizer DLL creates a pixel buffer the size of the whole flag and draws the flag into it. If BitGDI specifies a region, the extended bitmap rasterizer DLL draws only the region and otherwise it draws the whole flag. For some extended bitmap rasterizers it may be faster to ignore the region and draw the whole bitmap area. </p> </li> <li id="GUID-9E19CB56-56E4-58FD-A4BD-F3F03305C4AE"><p>Calls to <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-6C2BF4A4-86D1-3489-BA3D-2145E0077705"><apiname>CFbsRasterizer::ScanLine()</apiname></xref> return a pointer to the appropriate place in the pre-rasterized buffer. </p> </li> <li id="GUID-E336F19A-3172-5E7C-82C1-E65968D5F4FB"><p>Calling <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-23EB43C0-1694-39BE-AEFF-1E4ADA30E765"><apiname>CFbsRasterizer::EndBitmap()</apiname></xref> causes the pre-rasterized buffer to be stored in the cache or deleted. </p> </li> </ul> </section> <section><title>Packaging the DLL</title> <p>Because an extended bitmap rasterizer DLL is optional, there is a stub implementation for platform security reasons. When a functional extended bitmap rasterizer DLL is not present, the stub implementation is compiled into a DLL and is installed in the ROM in order to prevent a SIS file installing a rogue DLL with the same name. </p> <p><b>The MMP file </b> </p> <ul><li id="GUID-36A2ABAB-C2B6-519E-85CC-155D56A0E985"><p>The DLL must have the name <filepath>fbsrasterizer.dll</filepath>. If the DLL is renamed during the build process, use the <codeph>LINKAS</codeph> keyword in the MMP file to indicate that this is the final name of the DLL. See <xref href="GUID-946E64D6-3E5D-5264-AD5D-29D3AD296543.dita">Selection of Adaptations</xref> for more information. </p> </li> <li id="GUID-5A5D9A8A-60BD-53F0-B8EB-1CAA1E841C88"><p>Use UIDs 0x1000008D (which indicates a static interface DLL) and 0x10285EAE (which is a unique identifier that indicates that this is an extended bitmap rasterizer DLL). </p> </li> <li id="GUID-0BDEDB09-7118-5822-A27C-4391EB04FA26"><p>The DLL must have all capabilities except TCB (Trusted Computing Base). </p> </li> <li id="GUID-B32F0BA1-5832-57C6-A864-32405357B5C4"><p>Use the <codeph>NOEXPORTLIBRARY</codeph> keyword to prevent the generation of LIB/DSO files during the build process. </p> </li> </ul> <p>Here is a snippet from the stub implementation's MMP file: </p> <codeblock id="GUID-9A970A60-4DE3-58F7-A353-F86777929181" xml:space="preserve">TARGET fbsrasterizer_stub.dll
+          </title> <image href="GUID-538302A3-F4B2-539C-8048-39E6028CB2A2_d0e265013_href.png" placement="inline"/></fig> <ul><li id="GUID-01B79E41-BC48-5BCD-B613-D220BCCF0F48"><p>When <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-64CF1808-1B05-3403-AB3F-D002F3A4AAFC"><apiname>CFbsRasterizer::BeginBitmap()</apiname></xref> is called for this type of extended bitmap, the extended bitmap rasterizer DLL creates a pixel buffer the size of the whole flag and draws the flag into it. If BitGDI specifies a region, the extended bitmap rasterizer DLL draws only the region and otherwise it draws the whole flag. For some extended bitmap rasterizers it may be faster to ignore the region and draw the whole bitmap area. </p> </li> <li id="GUID-9E19CB56-56E4-58FD-A4BD-F3F03305C4AE"><p>Calls to <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-6C2BF4A4-86D1-3489-BA3D-2145E0077705"><apiname>CFbsRasterizer::ScanLine()</apiname></xref> return a pointer to the appropriate place in the pre-rasterized buffer. </p> </li> <li id="GUID-E336F19A-3172-5E7C-82C1-E65968D5F4FB"><p>Calling <xref href="GUID-FFA11F49-C802-3476-BDF6-41222A800F80.dita#GUID-FFA11F49-C802-3476-BDF6-41222A800F80/GUID-23EB43C0-1694-39BE-AEFF-1E4ADA30E765"><apiname>CFbsRasterizer::EndBitmap()</apiname></xref> causes the pre-rasterized buffer to be stored in the cache or deleted. </p> </li> </ul> </section> <section><title>Packaging the DLL</title> <p>Because an extended bitmap rasterizer DLL is optional, there is a stub implementation for platform security reasons. When a functional extended bitmap rasterizer DLL is not present, the stub implementation is compiled into a DLL and is installed in the ROM in order to prevent a SIS file installing a rogue DLL with the same name. </p> <p><b>The MMP file </b> </p> <ul><li id="GUID-36A2ABAB-C2B6-519E-85CC-155D56A0E985"><p>The DLL must have the name <filepath>fbsrasterizer.dll</filepath>. If the DLL is renamed during the build process, use the <codeph>LINKAS</codeph> keyword in the MMP file to indicate that this is the final name of the DLL. See <xref href="GUID-946E64D6-3E5D-5264-AD5D-29D3AD296543.dita">Selection of Adaptations</xref> for more information. </p> </li> <li id="GUID-5A5D9A8A-60BD-53F0-B8EB-1CAA1E841C88"><p>Use UIDs 0x1000008D (which indicates a static interface DLL) and 0x10285EAE (which is a unique identifier that indicates that this is an extended bitmap rasterizer DLL). </p> </li> <li id="GUID-0BDEDB09-7118-5822-A27C-4391EB04FA26"><p>The DLL must have all capabilities except TCB (Trusted Computing Base). </p> </li> <li id="GUID-B32F0BA1-5832-57C6-A864-32405357B5C4"><p>Use the <codeph>NOEXPORTLIBRARY</codeph> keyword to prevent the generation of LIB/DSO files during the build process. </p> </li> </ul> <p>Here is a snippet from the stub implementation's MMP file: </p> <codeblock id="GUID-9A970A60-4DE3-58F7-A353-F86777929181" xml:space="preserve">TARGET fbsrasterizer_stub.dll
 TARGETTYPE DLL
 CAPABILITY All -Tcb
 UID 0x1000008D 0x10285EAE
--- a/Symbian3/PDK/Source/GUID-E6F08B67-8DBC-5896-946D-BD0D27F82FE2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E6F08B67-8DBC-5896-946D-BD0D27F82FE2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,7 +14,7 @@
 <section id="GUID-AC0E13F3-5DFE-5060-BE09-B76A08632B5E"><title>Process view</title> <p>Client
 objects, in the client, talk to server objects, in the server application.
 The client and the server are in different processes. </p> <fig id="GUID-C5650791-6E61-5212-B563-42778AAEDE98">
-<image href="GUID-08698D45-1F37-553A-9497-0081271535A1_d0e167629_href.png" placement="inline"/>
+<image href="GUID-08698D45-1F37-553A-9497-0081271535A1_d0e173722_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-1453B676-A271-5D89-80B4-88C8DBDEAF1C"><title>Service view</title> <p>The
 diagram below shows the point of view of services which operate over the server
@@ -24,7 +24,7 @@
 link, upon which real services can be created. A service will typically provide
 a client-side interface that clients can use directly, and a server-side interface
 that server applications have to implement. </p> <fig id="GUID-81435382-06BE-5057-A23D-EDDC829191E4">
-<image href="GUID-CCC121FA-C180-5103-915D-583A0CE9FB45_d0e167645_href.png" placement="inline"/>
+<image href="GUID-CCC121FA-C180-5103-915D-583A0CE9FB45_d0e173738_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-A608EB50-672E-54B3-B438-BD42F7D3F191"><title>Symbian platform
 component view</title> <p>The diagram below shows the Symbian platform components
@@ -49,7 +49,7 @@
 which is already started. </p> <p>Applications will use the server application
 framework appropriate for their platform. They may use whatever services are
 available on that platform, subject to security restrictions. </p> <fig id="GUID-6D5FD60F-731C-57EB-9019-FEFD04EA29DC">
-<image href="GUID-D3F800F3-0818-5DF2-947C-AB8DE0C0053C_d0e167691_href.png" placement="inline"/>
+<image href="GUID-D3F800F3-0818-5DF2-947C-AB8DE0C0053C_d0e173784_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Client-server view</title> <p>The diagram below shows Apparc's
 implementation of the server application system from the client/server point
@@ -78,7 +78,7 @@
 to handle the client requests, which the server application must override
 and implement. </p> </li>
 </ul> <fig id="GUID-FBF5D23A-C44E-597D-8B85-9BAEACF55710">
-<image href="GUID-866B69E6-8D4C-546F-B9C9-244AD8988DE5_d0e167767_href.png" placement="inline"/>
+<image href="GUID-866B69E6-8D4C-546F-B9C9-244AD8988DE5_d0e173860_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-4D0B549E-E11D-54E2-9D8C-90F04771FF48"><title>Security view </title> <p>This
 section discusses security aspects of the server application support. Essentially,
@@ -106,7 +106,7 @@
 of parameters received from the client. They should not assume that they are
 talking to their equivalent class on the client-side. </p> </li>
 </ol> <fig id="GUID-A040B1BF-AF99-5E41-B9F8-3245F54AD25C">
-<image href="GUID-8617B132-D8C8-5769-95B9-867815B45B18_d0e167817_href.png" placement="inline"/>
+<image href="GUID-8617B132-D8C8-5769-95B9-867815B45B18_d0e173910_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-8C154D80-591D-5834-93B0-A99E9EF4BCD2"><title>Sequence views</title> <p>The
 following sections show sequence diagrams illustrating various dynamic relationships
@@ -129,7 +129,7 @@
 Since both numbers are known to both parties, the combination can be checked
 for uniqueness and they can't be used to impersonate system servers. This
 name agreement system is therefore safe. </p> <fig id="GUID-DD480C95-45A1-5FE6-BDD6-A72E34BE0278">
-<image href="GUID-5690EA18-106E-52E6-ABD3-4D5EE3CA8B23_d0e167865_href.png" placement="inline"/>
+<image href="GUID-5690EA18-106E-52E6-ABD3-4D5EE3CA8B23_d0e173958_href.png" placement="inline"/>
 </fig> <p><b>Service creation</b> </p> <p>Continuing from the previous diagram,
 this diagram shows the creation and use of a service specific sub-session
 between the client and server application. </p> <p>To use a service, the client
@@ -142,7 +142,7 @@
 is called passing in the UID of the requested service. The server application
 can now instantiate it's implementation of the server-side objects for the
 service. </p> <fig id="GUID-7A6DB7F6-4CBC-5A69-A8E1-5BEF12911E20">
-<image href="GUID-84E742A8-2D24-55B8-A4DA-A67939A50754_d0e167895_href.png" placement="inline"/>
+<image href="GUID-84E742A8-2D24-55B8-A4DA-A67939A50754_d0e173988_href.png" placement="inline"/>
 </fig> <p><b>Service use</b> </p> <p>The diagram below shows the use of a
 service specific session between the client and server application. </p> <p>To
 use a service, the client-side implementation of the service sends service
@@ -150,7 +150,7 @@
 in the server. This decodes the messages and calls virtual functions in the
 server application's implementation of the service, to actually carry out
 the service. </p> <fig id="GUID-71C39EBC-EF06-5CA8-A7AC-ADD1BC8F562A">
-<image href="GUID-68C4E5E5-65A2-51BC-B3DC-2B83D29212D4_d0e167911_href.png" placement="inline"/>
+<image href="GUID-68C4E5E5-65A2-51BC-B3DC-2B83D29212D4_d0e174004_href.png" placement="inline"/>
 </fig> <p><b>Server application lifetime monitoring</b> </p> <p>If the client
 application requires monitoring of the server application's lifetime, which
 it often will, it should implement the <xref href="GUID-1FE93B7E-FDA2-328A-A3A0-8C5351C1EF54.dita"><apiname>MApaServerAppExitObserver</apiname></xref> interface
@@ -159,7 +159,7 @@
 a request for notification of exit to the server. When the server exits, this
 notification will be completed. The <codeph>CApaServerAppExitMonitor</codeph> then
 runs and tells its observer that the server application has exited. </p> <fig id="GUID-5807A9C6-86FC-5779-BA9D-A490791E7EE5">
-<image href="GUID-3457B9BC-2F8F-55C1-9B5F-FA210D3439C6_d0e167942_href.png" placement="inline"/>
+<image href="GUID-3457B9BC-2F8F-55C1-9B5F-FA210D3439C6_d0e174035_href.png" placement="inline"/>
 </fig> </section>
 <section><title>See also</title><p><xref href="GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita">Application
 Architecture Overview</xref></p></section>
--- a/Symbian3/PDK/Source/GUID-E71D8907-236E-5948-9594-E14E34A31DC8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E71D8907-236E-5948-9594-E14E34A31DC8"><title>document</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>document</codeph>  <varname>document-file-list</varname> </p> <p>Use the <codeph>document</codeph> statement to specify document files.</p> <p>Each <codeph>document</codeph> statement may specify an arbitrary number of document files. </p> <p>There may be an arbitrary number of <codeph>document</codeph> statements in the project description file relative to each <codeph>sourcepath</codeph>. </p> <p>This keyword is only used in the creation of IDE makefiles, where it can be useful for specifying files so that they are available for editing within the IDE but do not play a part in building the executable. </p> <p>The <filepath>.mmp</filepath> file is incorporated in IDE workspaces by default.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E71DEB5F-A13A-5675-B2DE-9BCFDB38A3EC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E71DEB5F-A13A-5675-B2DE-9BCFDB38A3EC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E71DEB5F-A13A-5675-B2DE-9BCFDB38A3EC"><title>What is the mechanism for reading, writing and searching for data</title><shortdesc>This topic describes the mechanism for reading data from the Comms Database and writing data to the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>All elements that you can read and write have the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> as a base class. This base class contains the functions that get and store that element. </p> <p>Tables, records, links and fields are all elements. The classes that represent tables, records, links and fields have <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> in their class hierarchy. You use the functions in <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> to load and store tables, records, links and fields. </p> <fig id="GUID-3EED9581-A88B-5E79-B672-42486CFB6BE3"><image href="GUID-69831D75-D16D-54CF-A083-0EDB358F3390_d0e110448_href.png" placement="inline"/></fig> <p>The <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> class gives you: </p> <ul><li id="GUID-3D33E6EE-F6FA-5B75-A165-4A8731BD2FCB"><p>the functions to get data from the Comms Database: <codeph>LoadL()</codeph>, <codeph>FindL()</codeph>, <codeph>RefreshL()</codeph>  </p> </li> <li id="GUID-413D285C-2447-5157-B573-51056F79C50D"><p>the functions to put data into the Comms Database: <codeph>StoreL()</codeph>, <codeph>ModifyL()</codeph>, <codeph>DeleteL()</codeph>  </p> </li> </ul> <section><title>Getting data directly from the Comms Database</title> <p>If you know the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of a table, record, field or link, you can load the table, record, field or link from the Comms Database. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. Call <codeph>LoadL()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> base class to load the table, record, field or link. </p> <p>The CommsDat API gets the data that the tool or application is allowed to see from the Comms database. The data that the tool or application can see depends on platform security capabilities and the access attributes for the session. </p> <p>A request to load a single element fails if the tool or application does not have the platform security capabilities. </p> <p>A request to load a table does not fail if some records in the table are not available. The tool or application can see only those records that are available. </p> <p>A request to load a record does not fail if some fields in the record are not available. The tool or application can see only those fields that are available. </p> <p> <codeph>LoadL()</codeph> writes over the content of the table, record, field or link object in memory. </p> <p> <codeph>LoadL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Finding data in the Comms Database</title> <p>You can search for records in the Comms Database. There are two patterns: </p> <p><b>Finding a single record that has specified field values </b> </p> <p>You create a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBRecordBase</apiname></xref> object in memory. You select the fields for the search and set the field values. Call <codeph>FindL()</codeph> on the <codeph>CMDBRecordBase</codeph> object. <codeph>FindL()</codeph> is member of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> base class. If the search is successful, the CommsDat API fills the <codeph>CMDBRecordBase</codeph> object with the values from the first record in the Comms Database that matches. The values include the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref>. If the search is not successful, the <codeph>CMDBRecordBase</codeph> object is not changed. </p> <p> <codeph>FindL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> <p>Note that you do not need to set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table, the record, the field or the link object. </p> <p><b>Finding all records in a table that match a specified record </b> </p> <p>You create a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBRecordSet</apiname></xref> object and append a single record to the array of records. You select the fields for the search and set the field values. This record is the 'search record'. Call <codeph>FindL()</codeph> on the <codeph>CMDBRecordSet</codeph> object. If the search is successful, the function returns a number of complete records. The first record found writes over the 'search record'. If the search is not successful, the <codeph>CMDBRecordSet</codeph> object is not changed </p> <p> <codeph>FindL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> <p>Note that you do not need to set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table, the record, the field or the link object. </p> </section> <section><title>Refreshing data in memory</title> <p>You can update your copy of the data in memory. You call <codeph>RefreshL()</codeph> to update the data. The method is similar to <codeph>LoadL()</codeph> but the method does not write over fields that the tool or application has changed. All other fields are refreshed from the Comms Database. </p> <p> <codeph>RefreshL()</codeph> is a member of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> base class. </p> <p> <codeph>RefreshL()</codeph> is useful if a tool or application maintains a cache of Comms information. </p> <p> <codeph>RefreshL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Adding new data to the Comms Database</title> <p>If need to add or change the data in the Comms Database you must add or change the data in the table, the record, the link or the field object in memory. </p> <p>Call <codeph>StoreL()</codeph> to create new records, tables and fields. The CommsDat API only stores the fields that the tool or application has changed. </p> <p>A table, record, field or link object that exists must have a valid <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> before the call to <codeph>StoreL()</codeph>. </p> <p>To add a new user defined table to the Comms Database set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table to <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDNewTableRequest</apiname></xref> before the call to <codeph>StoreL()</codeph>. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. </p> <p>To add a new record to a table set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table to <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDNewRecordRequest</apiname></xref> before the call to <codeph>StoreL()</codeph>. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. The table must exist before you add the new record. </p> <p>To add a new column to a user defined table set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table to <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDNewColumnRequest</apiname></xref> before the call to <codeph>StoreL()</codeph>. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. The effect of a new column is to add a new field in the user defined records. </p> <p>The tool or application must have the platform security capabilities to write to the Comms Database. </p> <p> <codeph>StoreL()</codeph> opens a read/write transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Changing data in the Comms Database</title> <p>If you need to change data in the Comms Database you must change the data in the table, the record, the link or the field object in memory. The table, the record, the link and the field must already exist in the database. </p> <p>Call <codeph>ModifyL()</codeph> to change existing data. The function cannot create new records or tables, but can store new fields in a record. </p> <p>The tool or application must have the platform security capabilities to write to the Comms Database. </p> <p> <codeph>ModifyL()</codeph> opens a read/write transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Deleting data from the Comms Database</title> <p>Call <codeph>DeleteL()</codeph> to delete a table, a record, a field or a link from the Comms Database. </p> <p>The tool or application must have the platform security capabilities to write to the Comms Database. </p> <p> <codeph>DeleteL()</codeph> opens a read/write transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E71DEB5F-A13A-5675-B2DE-9BCFDB38A3EC"><title>What is the mechanism for reading, writing and searching for data</title><shortdesc>This topic describes the mechanism for reading data from the Comms Database and writing data to the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>All elements that you can read and write have the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> as a base class. This base class contains the functions that get and store that element. </p> <p>Tables, records, links and fields are all elements. The classes that represent tables, records, links and fields have <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> in their class hierarchy. You use the functions in <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> to load and store tables, records, links and fields. </p> <fig id="GUID-3EED9581-A88B-5E79-B672-42486CFB6BE3"><image href="GUID-69831D75-D16D-54CF-A083-0EDB358F3390_d0e112871_href.png" placement="inline"/></fig> <p>The <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> class gives you: </p> <ul><li id="GUID-3D33E6EE-F6FA-5B75-A165-4A8731BD2FCB"><p>the functions to get data from the Comms Database: <codeph>LoadL()</codeph>, <codeph>FindL()</codeph>, <codeph>RefreshL()</codeph>  </p> </li> <li id="GUID-413D285C-2447-5157-B573-51056F79C50D"><p>the functions to put data into the Comms Database: <codeph>StoreL()</codeph>, <codeph>ModifyL()</codeph>, <codeph>DeleteL()</codeph>  </p> </li> </ul> <section><title>Getting data directly from the Comms Database</title> <p>If you know the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of a table, record, field or link, you can load the table, record, field or link from the Comms Database. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. Call <codeph>LoadL()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> base class to load the table, record, field or link. </p> <p>The CommsDat API gets the data that the tool or application is allowed to see from the Comms database. The data that the tool or application can see depends on platform security capabilities and the access attributes for the session. </p> <p>A request to load a single element fails if the tool or application does not have the platform security capabilities. </p> <p>A request to load a table does not fail if some records in the table are not available. The tool or application can see only those records that are available. </p> <p>A request to load a record does not fail if some fields in the record are not available. The tool or application can see only those fields that are available. </p> <p> <codeph>LoadL()</codeph> writes over the content of the table, record, field or link object in memory. </p> <p> <codeph>LoadL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Finding data in the Comms Database</title> <p>You can search for records in the Comms Database. There are two patterns: </p> <p><b>Finding a single record that has specified field values </b> </p> <p>You create a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBRecordBase</apiname></xref> object in memory. You select the fields for the search and set the field values. Call <codeph>FindL()</codeph> on the <codeph>CMDBRecordBase</codeph> object. <codeph>FindL()</codeph> is member of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> base class. If the search is successful, the CommsDat API fills the <codeph>CMDBRecordBase</codeph> object with the values from the first record in the Comms Database that matches. The values include the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref>. If the search is not successful, the <codeph>CMDBRecordBase</codeph> object is not changed. </p> <p> <codeph>FindL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> <p>Note that you do not need to set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table, the record, the field or the link object. </p> <p><b>Finding all records in a table that match a specified record </b> </p> <p>You create a <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBRecordSet</apiname></xref> object and append a single record to the array of records. You select the fields for the search and set the field values. This record is the 'search record'. Call <codeph>FindL()</codeph> on the <codeph>CMDBRecordSet</codeph> object. If the search is successful, the function returns a number of complete records. The first record found writes over the 'search record'. If the search is not successful, the <codeph>CMDBRecordSet</codeph> object is not changed </p> <p> <codeph>FindL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> <p>Note that you do not need to set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table, the record, the field or the link object. </p> </section> <section><title>Refreshing data in memory</title> <p>You can update your copy of the data in memory. You call <codeph>RefreshL()</codeph> to update the data. The method is similar to <codeph>LoadL()</codeph> but the method does not write over fields that the tool or application has changed. All other fields are refreshed from the Comms Database. </p> <p> <codeph>RefreshL()</codeph> is a member of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> base class. </p> <p> <codeph>RefreshL()</codeph> is useful if a tool or application maintains a cache of Comms information. </p> <p> <codeph>RefreshL()</codeph> opens a read-only transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Adding new data to the Comms Database</title> <p>If need to add or change the data in the Comms Database you must add or change the data in the table, the record, the link or the field object in memory. </p> <p>Call <codeph>StoreL()</codeph> to create new records, tables and fields. The CommsDat API only stores the fields that the tool or application has changed. </p> <p>A table, record, field or link object that exists must have a valid <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> before the call to <codeph>StoreL()</codeph>. </p> <p>To add a new user defined table to the Comms Database set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table to <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDNewTableRequest</apiname></xref> before the call to <codeph>StoreL()</codeph>. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. </p> <p>To add a new record to a table set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table to <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDNewRecordRequest</apiname></xref> before the call to <codeph>StoreL()</codeph>. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. The table must exist before you add the new record. </p> <p>To add a new column to a user defined table set the record Id part of the <xref href="GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84.dita#GUID-6DAF85AD-E412-5823-81C2-FC1755A90A84/GUID-4DDD4947-D379-5B68-8DC0-B67B074FA852">element Id</xref> of the table to <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>KCDNewColumnRequest</apiname></xref> before the call to <codeph>StoreL()</codeph>. Call <codeph>SetRecordId()</codeph> on the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBElement</apiname></xref> base class to set the record Id. The effect of a new column is to add a new field in the user defined records. </p> <p>The tool or application must have the platform security capabilities to write to the Comms Database. </p> <p> <codeph>StoreL()</codeph> opens a read/write transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Changing data in the Comms Database</title> <p>If you need to change data in the Comms Database you must change the data in the table, the record, the link or the field object in memory. The table, the record, the link and the field must already exist in the database. </p> <p>Call <codeph>ModifyL()</codeph> to change existing data. The function cannot create new records or tables, but can store new fields in a record. </p> <p>The tool or application must have the platform security capabilities to write to the Comms Database. </p> <p> <codeph>ModifyL()</codeph> opens a read/write transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> <section><title>Deleting data from the Comms Database</title> <p>Call <codeph>DeleteL()</codeph> to delete a table, a record, a field or a link from the Comms Database. </p> <p>The tool or application must have the platform security capabilities to write to the Comms Database. </p> <p> <codeph>DeleteL()</codeph> opens a read/write transaction with the Comms Database if the tool or application has not already started a transaction. </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E726406A-2DAF-5A5F-91AF-7919C671F18F_d0e549108_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E726406A-2DAF-5A5F-91AF-7919C671F18F_d0e556564_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E73A181C-0C9B-513C-ABAE-585C80D566DF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E73A181C-0C9B-513C-ABAE-585C80D566DF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-E73A181C-0C9B-513C-ABAE-585C80D566DF"><title>Bluetooth GPS PSY Overview</title><shortdesc>This describes the Bluetooth GPS PSY, which connects the Location Server (<codeph>eposserver.exe</codeph>) to external Bluetooth GPS devices. The audience is device creators and developers who want to integrate the Bluetooth GPS PSY into their products. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Bluetooth GPS PSY is used by the Location Server (<codeph>eposserver.exe</codeph>) to obtain position fixes from external Bluetooth GPS devices. The PSY uses the Bluetooth APIs to pair with an external Bluetooth GPS device. The PSY obtains position fixes from the Bluetooth GPS device. If the Bluetooth GPS PSY is installed, a mobile device without an internal GPS chipset can obtain GPS position fixes from external Bluetooth GPS hardware. </p> </section> <section><title>Required background </title> <p>A knowledge of the material covered in the following is useful to understanding how this component fits into the LBS architecture: </p> <ul><li id="GUID-6280ECC6-A9DA-5C68-8646-9F4DF4C2E76B"><p><xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS Architecture Overview</xref>  </p> </li> <li id="GUID-619A1ABD-19E9-5955-BE5D-F2ACBB700E7D"><p><xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref>  </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Bluetooth</dt> <dd><p>A wireless protocol for data exchange over small distances. </p> </dd> </dlentry> <dlentry><dt>PSY</dt> <dd><p>A Positioning Plug-in. The Bluetooth GPS PSY implements the Positioning Plug-in API to interface with the Location Server. It uses the Positioning Plug-in Information API to register itself with the Location Server. </p> </dd> </dlentry> <dlentry><dt>NMEA</dt> <dd><p>In this context, an abbreviation of the NMEA (National Maritime Electronics Association) 0183 standard. This defines an electrical and data exchange protocol for marine electronic devices (including GPS receivers). The Bluetooth GPS PSY supports devices that use the NMEA 0183 standard and also devices that support PNOK NMEA extensions. </p> </dd> </dlentry> <dlentry><dt>PNOK</dt> <dd><p>Nokia proprietary extension to the NMEA 0183 standard. It defines additional messages that give extra information about the status of a Bluetooth GPS device that supports PNOK. The Bluetooth GPS PSY supports PNOK. </p> </dd> </dlentry> <dlentry><dt>RFCOMM</dt> <dd><p>A Bluetooth protocol that provides simulated serial communications over a wireless connection. It is used by the Bluetooth stack to support data exchange with the Bluetooth GPS device on behalf of the Bluetooth GPS PSY. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>Figure 1 shows the Bluetooth GPS PSY component with associated LBS components. </p> <fig id="GUID-32FFD99F-B574-5730-9152-FA33D4FE6647"><title>
              Figure 1. Bluetooth GPS PSY and related components. 
-          </title> <image href="GUID-9C2421E6-FA53-5E3C-B073-57FB9F3591DD_d0e460022_href.png" placement="inline"/></fig> <p>The Bluetooth GPS PSY implements the Positioning Plug-in API. It also uses the Positioning Plug-in Information API to register itself with the LBS subsystem. The PSY provides three APIs (described in more detail later in this document). </p> <p>The PSY uses the Bluetooth APIs to pair with a Bluetooth GPS device. Bluetooth uses the RFCOMM protocols to connect with the Bluetooth GPS device. </p> <p><b>Supported features</b> </p> <p>The Bluetooth GPS PSY provides the following features: </p> <ul><li id="GUID-3B7B0DF4-623D-52EE-A22F-CEA3961ECF67"><p>Support for devices that use the NMEA 0183 protocol. </p> <p>A Bluetooth device must support NMEA 0183 to be compatible with the Bluetooth GPS PSY. </p> </li> <li id="GUID-3928BB6F-D157-5C0D-A2E8-9D1FFE3EF53B"><p>Support for devices that implement the PNOK NMEA 0183 extensions. </p> <p>These proprietary extensions support additional information about the paired Bluetooth GPS device. </p> </li> <li id="GUID-21F6D346-9374-54F8-8F94-0886BDEE84F4"><p>Support for multiple simultaneous client requests for position fixes. </p> <p>The PSY uses the target time specified as part of the client request to decide if multiple client requests can be bundled into a single request to the Bluetooth subsystem. Bundling requests improves efficiency and reduces the power requirements of using an external Bluetooth GPS device. </p> </li> <li id="GUID-F7E4E357-4052-53C0-82D5-CA89156F92F6"><p>Support for tracking. </p> <p>Tracking is the process of returning periodic position updates with a constant time interval between them. This feature is typically used by navigation applications. </p> </li> <li id="GUID-7A83C4AE-4090-5B89-B11E-A1A5EE5C28B2"><p>Support for multiple Bluetooth GPS devices. </p> <p>The Bluetooth protocols can discover more than one Bluetooth GPS device (for example a mobile phone may be able to connect with both a standalone Bluetooth GPS device and an in-car device). </p> <p>It is useful to be able to try to connect to more than one Bluetooth GPS device. One example use-case is when the mobile device is used for in-car navigation. GPS reception may be limited inside a vehicle, but there may be access to an in-car Bluetooth GPS device with an external aerial. The Bluetooth protocols can discover all available Bluetooth GPS devices and ask the user which one to pair with their mobile. The PSY then connects to the chosen Bluetooth GPS device. </p> <p>It is not necessary for a user to follow this manual pairing procedure each time LBS decides it needs to use a Bluetooth GPS device. The PSY maintains its own ordered list of Bluetooth GPS devices. It tries to connect to each of the devices in succession and pairs with the first device to which it can successfully connect. The details of this device are stored by the PSY and are automatically used the next time the mobile must be paired with Bluetooth GPS hardware. Note that the PSY can only be paired with one Bluetooth GPS device at any time. </p> </li> </ul> <p><b>PSY libraries and installation</b> </p> <p>Most of the Bluetooth GPS PSY is packaged in <filepath>nlabtgpspsy.dll</filepath>. The Bluetooth GPS PSY Configuration API (see below) is packaged as a separate library <filepath>lbsbtgpsconfig.dll</filepath>. </p> <p>The PSY can be installed in one of two ways: </p> <ul><li id="GUID-DAFBC288-94A4-5C15-892E-EE7F790940D2"><p>By a device creator at ROM build time by using a ROM build macro. </p> </li> <li id="GUID-A27C38E7-1280-5AC8-B5DA-5E0F639D1C94"><p>In a SIS file, which can be installed by the mobile device user. </p> </li> </ul> <p>See <xref href="GUID-90D938EA-E46A-512A-85E3-B8ADF81BC4D3.dita">Bluetooth GPS PSY Tutorial</xref> for more information about these installation options. </p> </section> <section><title>APIs</title> <p>The Bluetooth GPS PSY provides three APIs: </p> <ul><li id="GUID-1EA3EFF4-51B8-5A98-BD5C-9657ED9CBF93"><p><xref href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita">Bluetooth GPS PSY Settings Storage API</xref>  </p> <p>A client can use this API to get the properties of the Bluetooth GPS device paired with the Bluetooth GPS PSY. If the device supports PNOK, some properties can also be set. </p> <p>A client is typically a Bluetooth GPS settings application developed by a device creator. </p> </li> <li id="GUID-BAD8578D-A2D7-5BDE-938E-AF8ABB3E9288"><p><xref href="GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588.dita">Bluetooth GPS PSY Events API</xref>  </p> <p>A client can use this API to get information about the paired Bluetooth GPS device. If the device supports PNOK, the client can subscribe for notification of some Bluetooth device events (such as device status changes). </p> <p>A client is typically a UI component, such as a notifier, that informs a user of Bluetooth GPS device events. </p> </li> <li id="GUID-A482EAF9-B74B-5A95-84F3-45B222B459CC"><p><xref href="GUID-2A137918-D949-5017-BB00-B93CFA8AA65F.dita">Bluetooth GPS PSY Configuration API</xref>  </p> <p>This API allows a user to manage an ordered list of Bluetooth GPS device details. The PSY tries to connect with each of the devices in the list in succession and stops when it is successful. </p> </li> </ul> </section> <section><title>Typical uses</title> <p>The PSY can be used to obtain a location fix one of two ways: </p> <ul><li id="GUID-7796E32E-163C-59D8-A874-77915806FE2D"><p>A Location Acquisition API client can select the PSY by default by opening a session with the Default PSY. The Default PSY always tries to use the Bluetooth GPS PSY first to obtain a location fix, and then tries to use other PSYs if the Bluetooth GPS PSY cannot provide a position fix. </p> </li> <li id="GUID-926342AB-70E0-510E-84D7-F298EC83D84E"><p>A Location Acquisition API client can select the PSY explicitly by opening a session with the Location Server. The client application must specify the implementation UID of the Bluetooth GPS PSY (<codeph>0x101FE999</codeph>). </p> </li> </ul> <p>The PSY can also report the status of a Bluetooth GPS device through the Bluetooth GPS PSY Events API. </p> </section> </conbody><related-links><link href="GUID-90D938EA-E46A-512A-85E3-B8ADF81BC4D3.dita"><linktext>Bluetooth GPS PSY
+          </title> <image href="GUID-9C2421E6-FA53-5E3C-B073-57FB9F3591DD_d0e465867_href.png" placement="inline"/></fig> <p>The Bluetooth GPS PSY implements the Positioning Plug-in API. It also uses the Positioning Plug-in Information API to register itself with the LBS subsystem. The PSY provides three APIs (described in more detail later in this document). </p> <p>The PSY uses the Bluetooth APIs to pair with a Bluetooth GPS device. Bluetooth uses the RFCOMM protocols to connect with the Bluetooth GPS device. </p> <p><b>Supported features</b> </p> <p>The Bluetooth GPS PSY provides the following features: </p> <ul><li id="GUID-3B7B0DF4-623D-52EE-A22F-CEA3961ECF67"><p>Support for devices that use the NMEA 0183 protocol. </p> <p>A Bluetooth device must support NMEA 0183 to be compatible with the Bluetooth GPS PSY. </p> </li> <li id="GUID-3928BB6F-D157-5C0D-A2E8-9D1FFE3EF53B"><p>Support for devices that implement the PNOK NMEA 0183 extensions. </p> <p>These proprietary extensions support additional information about the paired Bluetooth GPS device. </p> </li> <li id="GUID-21F6D346-9374-54F8-8F94-0886BDEE84F4"><p>Support for multiple simultaneous client requests for position fixes. </p> <p>The PSY uses the target time specified as part of the client request to decide if multiple client requests can be bundled into a single request to the Bluetooth subsystem. Bundling requests improves efficiency and reduces the power requirements of using an external Bluetooth GPS device. </p> </li> <li id="GUID-F7E4E357-4052-53C0-82D5-CA89156F92F6"><p>Support for tracking. </p> <p>Tracking is the process of returning periodic position updates with a constant time interval between them. This feature is typically used by navigation applications. </p> </li> <li id="GUID-7A83C4AE-4090-5B89-B11E-A1A5EE5C28B2"><p>Support for multiple Bluetooth GPS devices. </p> <p>The Bluetooth protocols can discover more than one Bluetooth GPS device (for example a mobile phone may be able to connect with both a standalone Bluetooth GPS device and an in-car device). </p> <p>It is useful to be able to try to connect to more than one Bluetooth GPS device. One example use-case is when the mobile device is used for in-car navigation. GPS reception may be limited inside a vehicle, but there may be access to an in-car Bluetooth GPS device with an external aerial. The Bluetooth protocols can discover all available Bluetooth GPS devices and ask the user which one to pair with their mobile. The PSY then connects to the chosen Bluetooth GPS device. </p> <p>It is not necessary for a user to follow this manual pairing procedure each time LBS decides it needs to use a Bluetooth GPS device. The PSY maintains its own ordered list of Bluetooth GPS devices. It tries to connect to each of the devices in succession and pairs with the first device to which it can successfully connect. The details of this device are stored by the PSY and are automatically used the next time the mobile must be paired with Bluetooth GPS hardware. Note that the PSY can only be paired with one Bluetooth GPS device at any time. </p> </li> </ul> <p><b>PSY libraries and installation</b> </p> <p>Most of the Bluetooth GPS PSY is packaged in <filepath>nlabtgpspsy.dll</filepath>. The Bluetooth GPS PSY Configuration API (see below) is packaged as a separate library <filepath>lbsbtgpsconfig.dll</filepath>. </p> <p>The PSY can be installed in one of two ways: </p> <ul><li id="GUID-DAFBC288-94A4-5C15-892E-EE7F790940D2"><p>By a device creator at ROM build time by using a ROM build macro. </p> </li> <li id="GUID-A27C38E7-1280-5AC8-B5DA-5E0F639D1C94"><p>In a SIS file, which can be installed by the mobile device user. </p> </li> </ul> <p>See <xref href="GUID-90D938EA-E46A-512A-85E3-B8ADF81BC4D3.dita">Bluetooth GPS PSY Tutorial</xref> for more information about these installation options. </p> </section> <section><title>APIs</title> <p>The Bluetooth GPS PSY provides three APIs: </p> <ul><li id="GUID-1EA3EFF4-51B8-5A98-BD5C-9657ED9CBF93"><p><xref href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita">Bluetooth GPS PSY Settings Storage API</xref>  </p> <p>A client can use this API to get the properties of the Bluetooth GPS device paired with the Bluetooth GPS PSY. If the device supports PNOK, some properties can also be set. </p> <p>A client is typically a Bluetooth GPS settings application developed by a device creator. </p> </li> <li id="GUID-BAD8578D-A2D7-5BDE-938E-AF8ABB3E9288"><p><xref href="GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588.dita">Bluetooth GPS PSY Events API</xref>  </p> <p>A client can use this API to get information about the paired Bluetooth GPS device. If the device supports PNOK, the client can subscribe for notification of some Bluetooth device events (such as device status changes). </p> <p>A client is typically a UI component, such as a notifier, that informs a user of Bluetooth GPS device events. </p> </li> <li id="GUID-A482EAF9-B74B-5A95-84F3-45B222B459CC"><p><xref href="GUID-2A137918-D949-5017-BB00-B93CFA8AA65F.dita">Bluetooth GPS PSY Configuration API</xref>  </p> <p>This API allows a user to manage an ordered list of Bluetooth GPS device details. The PSY tries to connect with each of the devices in the list in succession and stops when it is successful. </p> </li> </ul> </section> <section><title>Typical uses</title> <p>The PSY can be used to obtain a location fix one of two ways: </p> <ul><li id="GUID-7796E32E-163C-59D8-A874-77915806FE2D"><p>A Location Acquisition API client can select the PSY by default by opening a session with the Default PSY. The Default PSY always tries to use the Bluetooth GPS PSY first to obtain a location fix, and then tries to use other PSYs if the Bluetooth GPS PSY cannot provide a position fix. </p> </li> <li id="GUID-926342AB-70E0-510E-84D7-F298EC83D84E"><p>A Location Acquisition API client can select the PSY explicitly by opening a session with the Location Server. The client application must specify the implementation UID of the Bluetooth GPS PSY (<codeph>0x101FE999</codeph>). </p> </li> </ul> <p>The PSY can also report the status of a Bluetooth GPS device through the Bluetooth GPS PSY Events API. </p> </section> </conbody><related-links><link href="GUID-90D938EA-E46A-512A-85E3-B8ADF81BC4D3.dita"><linktext>Bluetooth GPS PSY
                 Tutorial</linktext> </link> <link href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita"><linktext>Bluetooth
                 GPS PSY Settings Storage API</linktext> </link> <link href="GUID-1D81831A-FFC9-50E7-9FA1-EC0958060588.dita"><linktext>Bluetooth
                 GPS PSY Events API</linktext> </link> <link href="GUID-2A137918-D949-5017-BB00-B93CFA8AA65F.dita"><linktext>Bluetooth
Binary file Symbian3/PDK/Source/GUID-E77E2E2A-2F2D-549E-ABD6-175E68A406CB_d0e552552_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E77E2E2A-2F2D-549E-ABD6-175E68A406CB_d0e560008_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E7C820D7-7E00-5A95-9847-29A0FB0E78F1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E7C820D7-7E00-5A95-9847-29A0FB0E78F1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -40,7 +40,7 @@
 for encryption/decryption and authentication. </p> </li>
 </ul> <p><b>Functional Model of SRTP</b> </p> <p>The figure below describes
 the functional model of SRTP. </p> <fig id="GUID-EC50E1D8-79A0-5088-8DB1-3EA50D63ABE4">
-<image href="GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e556381_href.png" placement="inline"/>
+<image href="GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e563837_href.png" placement="inline"/>
 </fig> <p>The SRTP Stack is not an active component and is not network aware.
 It sits as a processing layer between the RTP stack and the network. The RTP
 stack calls for SRTP encryption before it sends the RTP Packets to the network.
--- a/Symbian3/PDK/Source/GUID-E7DD9CFD-F477-5D25-BC10-BEBFB1022F7E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E7DD9CFD-F477-5D25-BC10-BEBFB1022F7E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -63,7 +63,7 @@
 a network initiated location request. </p> <fig id="GUID-BEDFACD2-D262-500C-ACF5-37679F7FA091">
 <title>              Figure 1: SUPL Push API and Symbian plug-ins        
    </title>
-<image href="GUID-398483AD-C341-5777-AD23-381A067F9180_d0e454195_href.png" placement="inline"/>
+<image href="GUID-398483AD-C341-5777-AD23-381A067F9180_d0e460040_href.png" placement="inline"/>
 </fig> <p><b>SUPL
 WAP Push plug-in</b> </p> <p>The Symbian platform includes the WAP Push Framework
 to process WAP Push messages. If the Symbian SUPL WAP Push plug-in is installed,
@@ -104,7 +104,7 @@
 (if required). </p> <fig id="GUID-47957CAE-DC5F-55C9-B157-6274D00B0990">
 <title>                 Figure 2: Class diagram of SUPL Push API sender classes
               </title>
-<image href="GUID-0A24FF35-5A61-5305-812B-632F20F0395D_d0e454299_href.png" placement="inline"/>
+<image href="GUID-0A24FF35-5A61-5305-812B-632F20F0395D_d0e460144_href.png" placement="inline"/>
 </fig> <table id="GUID-01E93B41-A2AB-5251-947D-E4839A0AC71D">
 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
 <thead>
@@ -178,7 +178,7 @@
 are used by the Symbian reference SUPL Protocol Module. </p> <fig id="GUID-62800587-837F-5EC0-872C-AA505491E3E0">
 <title>                 Figure 3: Class diagram of SUPL Push API receiver
 classes               </title>
-<image href="GUID-120CA508-9984-54D0-B366-6D10D646FD49_d0e454529_href.png" placement="inline"/>
+<image href="GUID-120CA508-9984-54D0-B366-6D10D646FD49_d0e460374_href.png" placement="inline"/>
 </fig> <table id="GUID-1D1A1ED6-1BEC-575C-98B4-1B93F6F5D1DD">
 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
 <thead>
@@ -224,7 +224,7 @@
 the <codeph>SUPL           INIT</codeph> message is received, but this does
 not guarantee that the network initiated location request will complete successfully. </p> <fig id="GUID-AF4F52FA-F4CC-58E0-BD6F-5C74BC6B6ECD">
 <title>              Figure 4: SUPL Push API sequence diagram            </title>
-<image href="GUID-84623607-ACCA-5E57-9001-DA56E16C1652_d0e454725_href.png" placement="inline"/>
+<image href="GUID-84623607-ACCA-5E57-9001-DA56E16C1652_d0e460570_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-202D83AC-6C99-5481-8074-ACFEBD426AE3"><title>References</title> <p>[1] <xref href="http://www.openmobilealliance.org" scope="external">Open Mobile Alliance</xref> Secure
 User Plane Location (SUPL) Architecture OMA-AD-SUPL-V1_0-20070615-A </p> </section>
--- a/Symbian3/PDK/Source/GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 data about an item that has focus in the main pane.</p>
 <fig id="GUID-443FE00D-6678-4951-9038-07C82D10B69E">
 <title>Preview pop-up</title>
-<image href="GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e90319_href.png" placement="inline"/>
+<image href="GUID-02072A1B-6F60-457B-8F26-2B25A6EA7C5F_d0e94517_href.png" placement="inline"/>
 </fig>
 <p>The preview is displayed with a 0.6 second delay after the focus is moved
 (for example, scrolling down a list with the Arrow keys) to avoid too rapid
Binary file Symbian3/PDK/Source/GUID-E808AB2B-3A2D-5C91-9047-A74AAA770CE6_d0e147949_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E808AB2B-3A2D-5C91-9047-A74AAA770CE6_d0e150190_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E80AA33B-E5E0-5F4B-9A7F-65B357F7161C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E80AA33B-E5E0-5F4B-9A7F-65B357F7161C" xml:lang="en"><title>Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This section details the source text resource file format, and is a useful
-reference for developers in C++ and OPL.</p>
-<p>Topics covered include: the lexical conventions obeyed, the C++ pre-processor
-statements supported, and a description of the native resource compiler statements.</p>
-<p><b>Changes since v5</b> </p>
-<p>Note the following changes since v5:</p>
-<ul>
-<li id="GUID-164E5B5D-84BC-5F04-9020-8FA2BE6FFBA9"><p>UTF8 encoding can be
-used in source files to represent Unicode values.</p> </li>
-<li id="GUID-318004D2-F6F9-5126-9ED5-4ABC73FC2A0E"><p><codeph>TEXT</codeph> resources
-have been deprecated: you should use <codeph>LTEXT</codeph> instead.</p> </li>
-<li id="GUID-D19BD6D2-176B-5958-9BCB-AFEDF407E7B7"><p>Binary compatible is
-broken with Unicode resource files prepared with v5. The handling of Unicode
-string resources (<codeph>TEXT16</codeph> and <codeph>LTEXT16</codeph>) has
-changed to ensure that the Unicode characters are aligned to a multiple of
-2 bytes when the resource is used. </p> </li>
-<li id="GUID-4470E96B-A2AD-5ABC-AB21-B532FC01ECE1"><p>The &lt; number &gt; syntax
-for using special character codes expects a Unicode character value if a Unicode
-resource is being created. The &lt; number &gt; syntax cannot be used to specify
-individual 8-bit values in Unicode resource files.</p> </li>
-</ul>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E81D70B1-FB3F-501D-AD3F-038C8BE997BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E81D70B1-FB3F-501D-AD3F-038C8BE997BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task xml:lang="en" id="GUID-E81D70B1-FB3F-501D-AD3F-038C8BE997BF"><title>Updating the Network PSY Central Repository Initialization File </title><shortdesc>This topic shows you how to modify the settings of the Network PSY and the Network Location Manager so that they do not conflict with each other. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context><p>As described in <xref href="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita">Network PSY Overview</xref>, the Network PSY does not integrate directly with positioning hardware. It uses the Network Location Manager with a Network Protocol Module to connect the Location Server (<codeph>eposserver.exe</codeph>) to positioning hardware. </p> <p>There are two places that information about the properties of the Network PSY and Network Protocol Module are stored: </p> <ul><li id="GUID-6443AE6F-BBD2-5519-A09E-A9EAFA0A0C2A"><p>The Network PSY registers itself as a PSY with the LBS subsystem using a Central Repository Initialization file <filepath>10285abe.cre</filepath> with keys defined by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </p> </li> <li id="GUID-6511E265-0964-5FB6-A0E7-22AD101DAAAF"><p>The Network Location Manager uses the file <filepath>networklocationmanager.ini</filepath> to specify the positioning properties of your Network Protocol Module and network. </p> </li> </ul> <p>The description of the properties of the Network PSY and the Network Protocol Module must be correctly described in both <filepath>networklocationmanager.ini</filepath> and <filepath>10285abe.cre</filepath>. </p> <p>This procedure assumes you have created a Network Protocol Module for your device's positioning hardware and have modified <filepath>networklocationmanager.ini</filepath> to describe correctly the properties of the Network Protocol Module/network. </p> </context> <steps-unordered><step id="GUID-2F964162-CFC7-5FA3-AC3B-F38C8B5C404B"><cmd/><info>The contents of <filepath>networklocationmanager.ini</filepath> as supplied with the Symbian platform are shown below. You need to modify this if your Network Protocol Module and network have different properties from the ones shown here. </info> <stepxmp><codeblock id="GUID-D3CAEB9A-B377-50A7-8424-39B575B00F1D" xml:space="preserve">
+<task xml:lang="en" id="GUID-E81D70B1-FB3F-501D-AD3F-038C8BE997BF"><title>Updating the Network PSY Central Repository Initialization File </title><shortdesc>This topic shows you how to modify the settings of the Network PSY and the Network Location Manager so that they do not conflict with each other. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context><p>As described in <xref href="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita">Network PSY Overview</xref>, the Network PSY does not integrate directly with positioning hardware. It uses the Network Location Manager with a Network Protocol Module to connect the Location Server (<codeph>eposserver.exe</codeph>) to positioning hardware. </p> <p>There are two places that information about the properties of the Network PSY and Network Protocol Module are stored: </p> <ul><li id="GUID-6443AE6F-BBD2-5519-A09E-A9EAFA0A0C2A"><p>The Network PSY registers itself as a PSY with the LBS subsystem using a Central Repository Initialization file <filepath>10285abe.cre</filepath> with keys defined by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </p> </li> <li id="GUID-6511E265-0964-5FB6-A0E7-22AD101DAAAF"><p>The Network Location Manager uses the file <filepath>networklocationmanager.ini</filepath> to specify the positioning properties of your Network Protocol Module and network. </p> </li> </ul> <p>The description of the properties of the Network PSY and the Network Protocol Module must be correctly described in both <filepath>networklocationmanager.ini</filepath> and <filepath>10285abe.cre</filepath>. </p> <p>This procedure assumes you have created a Network Protocol Module for your device's positioning hardware and have modified <filepath>networklocationmanager.ini</filepath> to describe correctly the properties of the Network Protocol Module/network. </p> </context> <steps-unordered><step id="GUID-2F964162-CFC7-5FA3-AC3B-F38C8B5C404B"><cmd/><info>The contents of <filepath>networklocationmanager.ini</filepath> as supplied with the Symbian platform are shown below. You need to modify this if your Network Protocol Module and network have different properties from the ones shown here. </info> <stepxmp><codeblock id="GUID-D3CAEB9A-B377-50A7-8424-39B575B00F1D" xml:space="preserve">
 # networklocationmanager.ini
 
 [1]
@@ -53,7 +53,7 @@
 0xe int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
 0xf string "\\resource\\lbsnetpsy_name.rsc" 0 cap_rd=alwayspass cap_wr=alwaysfail
 0x10000000 int 2000000 0 cap_rd=alwayspass cap_wr=alwaysfail
-</codeblock> </stepxmp> <info>For a full description of the meanings of these keys, see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </info> <info>The important keys for this task are shown in the following table: </info> <stepxmp><table id="GUID-5FAAB3F8-23F0-5EEA-951D-A400192F8A52"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><thead><row><entry>Key name</entry> <entry>Key value</entry> <entry>Meaning</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>KPSYTimeToFirstFix</codeph>  </p> </entry> <entry><p> <codeph>0x4</codeph>  </p> </entry> <entry><p>Time to First Fix </p> </entry> <entry><p>This must be the same time as the <codeph>TimeToFirstFix</codeph> value in <filepath>networklocationmanager.ini</filepath>. </p> <p> <b>Important note: In the PSY Central Repository Initialization file the time is specified in microseconds. In the Integration Module .ini file the time is specified in milliseconds.</b>  </p> </entry> </row> <row><entry><p> <codeph>KPSYTimeToNextFix</codeph>  </p> </entry> <entry><p> <codeph>0x5</codeph>  </p> </entry> <entry><p>Time to Next Fix </p> </entry> <entry><p>This must be the same time as the <codeph>TimeToNextFix</codeph> value in <filepath>networklocationmanager.ini</filepath>. </p> <p> <b> Important note: In the PSY Central Repository Initialization file the time is specified in microseconds. In the Integration Module .ini file the time is specified in milliseconds. </b>  </p> </entry> </row> <row><entry><p> <codeph>KPSYHorizontalAccuracy</codeph>  </p> </entry> <entry><p> <codeph>0x6</codeph>  </p> </entry> <entry><p>Horizontal Accuracy </p> </entry> <entry><p>This must be the same as the <codeph>HorizontalAccuracy</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is specified in metres. </p> </entry> </row> <row><entry><p> <codeph>KPSYVerticalAccuracy</codeph>  </p> </entry> <entry><p> <codeph>0x7</codeph>  </p> </entry> <entry><p>Vertical Accuracy </p> </entry> <entry><p>This must be the same as the <codeph>VerticalAccuracy</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is specified in metres. </p> </entry> </row> <row><entry><p> <codeph>KPSYCostIndicator</codeph>  </p> </entry> <entry><p>0x8 </p> </entry> <entry><p>Cost Indicator </p> </entry> <entry><p>This must be the same as the <codeph>CostIndicator</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is an integer taken from the <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref> enum. </p> </entry> </row> <row><entry><p> <codeph>KPSYPowerConsumption</codeph>  </p> </entry> <entry><p> <codeph>0x9</codeph>  </p> </entry> <entry><p>Power Consumption </p> </entry> <entry><p>This must be the same as the <codeph>PowerConsumption</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is an integer taken from the <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-AD77543D-625A-39CF-A1D5-F5B5636E17F7"><apiname>TPositionQuality::TPowerConsumption</apiname></xref> enum. </p> </entry> </row> <row><entry><p> <codeph>KPSYTechnologyType</codeph>  </p> </entry> <entry><p> <codeph>0xa</codeph>  </p> </entry> <entry><p>Technology Type </p> </entry> <entry><p>This must be the same as the <codeph>TechnologyType</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is taken from the <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-03AF8C51-1CAF-3F4C-BED1-17844FAE8423"><apiname>TPositionModuleInfo::_TTechnologyType</apiname></xref> enum. </p> <p> <b>Important note: In the PSY Central Repository Initialization file the value is specified as decimal integer. In the Integration Module .ini file the value is specified in binary.</b>  </p> <p>In the file shown above, the value of 2 for this key specifies that the Network PSY supports a technology type of <codeph>ETechnologyNetwork</codeph> = 2 = 0010 in binary. </p> </entry> </row> <row><entry><p> <codeph>KPSYCapabilities</codeph>  </p> </entry> <entry><p> <codeph>0xc</codeph>  </p> </entry> <entry><p>Device Capabilities </p> </entry> <entry><p>This must be the same as the <codeph>Capabilities</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is taken from the <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-4A84D57F-D202-3F79-8094-139D69630C6D"><apiname>TPositionModuleInfo::_Capabilities</apiname></xref> enum. </p> <p> <b>Important note: In the PSY Central Repository Initialization file the value is specified as a decimal integer. In the Integration Module .ini file the value is specified in binary.</b>  </p> <p>In the file shown above the value of 15 for this key specifies that the Network PSY supports the capabilities: </p> <p> <codeph>ECapabilityHorizontal + ECapabilityVertical +
+</codeblock> </stepxmp> <info>For a full description of the meanings of these keys, see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref>. </info> <info>The important keys for this task are shown in the following table: </info> <stepxmp><table id="GUID-5FAAB3F8-23F0-5EEA-951D-A400192F8A52"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><thead><row><entry>Key name</entry> <entry>Key value</entry> <entry>Meaning</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <codeph>KPSYTimeToFirstFix</codeph>  </p> </entry> <entry><p> <codeph>0x4</codeph>  </p> </entry> <entry><p>Time to First Fix </p> </entry> <entry><p>This must be the same time as the <codeph>TimeToFirstFix</codeph> value in <filepath>networklocationmanager.ini</filepath>. </p> <p> <b>Important note: In the PSY Central Repository Initialization file the time is specified in microseconds. In the Integration Module .ini file the time is specified in milliseconds.</b>  </p> </entry> </row> <row><entry><p> <codeph>KPSYTimeToNextFix</codeph>  </p> </entry> <entry><p> <codeph>0x5</codeph>  </p> </entry> <entry><p>Time to Next Fix </p> </entry> <entry><p>This must be the same time as the <codeph>TimeToNextFix</codeph> value in <filepath>networklocationmanager.ini</filepath>. </p> <p> <b> Important note: In the PSY Central Repository Initialization file the time is specified in microseconds. In the Integration Module .ini file the time is specified in milliseconds. </b>  </p> </entry> </row> <row><entry><p> <codeph>KPSYHorizontalAccuracy</codeph>  </p> </entry> <entry><p> <codeph>0x6</codeph>  </p> </entry> <entry><p>Horizontal Accuracy </p> </entry> <entry><p>This must be the same as the <codeph>HorizontalAccuracy</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is specified in metres. </p> </entry> </row> <row><entry><p> <codeph>KPSYVerticalAccuracy</codeph>  </p> </entry> <entry><p> <codeph>0x7</codeph>  </p> </entry> <entry><p>Vertical Accuracy </p> </entry> <entry><p>This must be the same as the <codeph>VerticalAccuracy</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is specified in metres. </p> </entry> </row> <row><entry><p> <codeph>KPSYCostIndicator</codeph>  </p> </entry> <entry><p>0x8 </p> </entry> <entry><p>Cost Indicator </p> </entry> <entry><p>This must be the same as the <codeph>CostIndicator</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is an integer taken from the <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref> enum. </p> </entry> </row> <row><entry><p> <codeph>KPSYPowerConsumption</codeph>  </p> </entry> <entry><p> <codeph>0x9</codeph>  </p> </entry> <entry><p>Power Consumption </p> </entry> <entry><p>This must be the same as the <codeph>PowerConsumption</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is an integer taken from the <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-AD77543D-625A-39CF-A1D5-F5B5636E17F7"><apiname>TPositionQuality::TPowerConsumption</apiname></xref> enum. </p> </entry> </row> <row><entry><p> <codeph>KPSYTechnologyType</codeph>  </p> </entry> <entry><p> <codeph>0xa</codeph>  </p> </entry> <entry><p>Technology Type </p> </entry> <entry><p>This must be the same as the <codeph>TechnologyType</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is taken from the <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-03AF8C51-1CAF-3F4C-BED1-17844FAE8423"><apiname>TPositionModuleInfo::_TTechnologyType</apiname></xref> enum. </p> <p> <b>Important note: In the PSY Central Repository Initialization file the value is specified as decimal integer. In the Integration Module .ini file the value is specified in binary.</b>  </p> <p>In the file shown above, the value of 2 for this key specifies that the Network PSY supports a technology type of <codeph>ETechnologyNetwork</codeph> = 2 = 0010 in binary. </p> </entry> </row> <row><entry><p> <codeph>KPSYCapabilities</codeph>  </p> </entry> <entry><p> <codeph>0xc</codeph>  </p> </entry> <entry><p>Device Capabilities </p> </entry> <entry><p>This must be the same as the <codeph>Capabilities</codeph> value in <filepath>networklocationmanager.ini</filepath>. The value is taken from the <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-4A84D57F-D202-3F79-8094-139D69630C6D"><apiname>TPositionModuleInfo::_Capabilities</apiname></xref> enum. </p> <p> <b>Important note: In the PSY Central Repository Initialization file the value is specified as a decimal integer. In the Integration Module .ini file the value is specified in binary.</b>  </p> <p>In the file shown above the value of 15 for this key specifies that the Network PSY supports the capabilities: </p> <p> <codeph>ECapabilityHorizontal + ECapabilityVertical +
                              ECapabilitySpeed + ECapabilityDirection </codeph> = 15 decimal or 1111 in binary. </p> </entry> </row> </tbody> </tgroup> </table> </stepxmp> </substep> <substep id="GUID-971F2EF1-AAF0-55A9-AC4D-5A3E59595D43"><cmd>Make a binary version of the Central Repository Initialization text file <filepath>10285abe.txt</filepath>. </cmd> <info>The LBS build process makes a binary version of the Network PSY Central Repository files and copies them to <filepath>epoc32\winscw\c\private\10202BE9</filepath>. </info> <info>To rebuild the Network PSY Central Repository file you can use the makefile <filepath>createlbsnetpsyrep.mk</filepath> in <filepath>datasourcemodules\lbsposfwadaptation\lbsnetpsy\group</filepath>. </info> <info>Use the <xref href="GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita">ROM macros</xref> to copy the Network PSY DLL and the Central Repository files into a device ROM. </info> </substep> </substeps> </step> </steps-unordered> </taskbody><related-links><link href="GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5.dita"><linktext>Network PSY
                 Overview</linktext> </link> <link href="GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita"><linktext>Include the Network PSY in
                 ROM</linktext> </link> </related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E81D72B2-BA77-5F4E-8742-3812A60A4DAC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E81D72B2-BA77-5F4E-8742-3812A60A4DAC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,106 +1,101 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E81D72B2-BA77-5F4E-8742-3812A60A4DAC" xml:lang="en"><title>How to
-use modifiable buffer descriptor — TBuf&lt;TInt&gt;</title><shortdesc>Modifiable buffer descriptors are useful for holding strings or
-data and providing safe ways to access and modify that data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-F276E9FE-B839-54ED-9F50-8E45CB094922"><p>For text data, it is
-usual to construct a <codeph>TBuf&lt;TInt&gt;</codeph> type and allow the appropriate
-variant, either a <codeph>TBuf8&lt;TInt&gt;</codeph> or a <codeph>TBuf16&lt;TInt&gt;</codeph> to
-be selected at build time.</p> </li>
-<li id="GUID-9860DB57-62C3-5295-B00E-5F629771FED9"><p>For binary data, an
-explicit <codeph>TBuf8&lt;TInt&gt;</codeph> is used.</p> </li>
-<li id="GUID-34C95FAB-0F58-5B61-B9FC-A31588855F96"><p>It is rare to use an
-explicit <codeph>TBuf16&lt;TInt&gt;</codeph>.</p> </li>
-</ul>
-<p>Although, the following notes refer to the build independent types; they
-are equally valid for the explicit 8 bit and 16 bit types.</p>
-<section id="GUID-824524FB-98B7-4CDA-A3FD-233C7C0DDD5F"><title>Constructing
-a TBuf&lt;TInt&gt;</title> <p>A modifiable buffer descriptor can be constructed
-in a number of ways:</p> <ul>
-<li id="GUID-BCFAA769-D038-5A09-B6BF-586C93F08B0B"><p>as an empty buffer descriptor.</p> </li>
-<li id="GUID-9DE61358-D6B9-54CA-9FED-11AC29443093"><p>as an empty buffer descriptor
-but giving it a length.</p> </li>
-<li id="GUID-50FB7967-79C8-5F8C-8569-36B40D14894E"><p>by copying data from
-any other type of descriptor.</p> </li>
-<li id="GUID-26E1FDDC-F0BB-5441-8F81-EF2CFA61787A"><p>by copying data from
-another modifiable buffer descriptor of the same size.</p> </li>
-</ul> <p>The following code fragment constructs a <codeph>TBuf&lt;16&gt;</codeph> object.
-The buffer descriptor is uninitialised, i.e. it contains no data. The assignment
-operator or the <codeph>Copy()</codeph> function can be used to put data into
-the buffer descriptor after construction:</p> <codeblock id="GUID-01CA390C-ECC4-56C2-A1F6-F62C2AA75E57" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBuf&lt;16&gt; buf1; // length of buf1 is 0
-...
-buf1 = KText;  // data assigned</codeblock> <p>The source descriptor is a
-literal which is converted to descriptor type.</p> <p>The following code fragment
-constructs a <codeph>TBuf&lt;16&gt;</codeph> object and sets it length to 12.
-No data is assigned into the descriptor.</p> <codeblock id="GUID-FA8A1FE8-7809-5E28-B3EB-420B405DDC32" xml:space="preserve">...
-TBuf&lt;16&gt; buf1(12); // length of buf1 is 12
-...</codeblock> <p>The following code fragment constructs a <codeph>TBuf&lt;16&gt;</codeph> object,
-initialised with the 12 characters making up the English language phrase "Hello
-World!".</p> <codeblock id="GUID-74B4614D-4273-5F9E-8A2D-1E9A8A3960D8" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBuf&lt;16&gt; buf1(KText);</codeblock> <p>The following code fragment constructs
-a <codeph>TBuf&lt;16&gt;</codeph> object from another <codeph>TBuf&lt;16&gt;</codeph> object.
-This is, in effect, copy construction.</p> <codeblock id="GUID-BE55436F-FDB8-5768-947F-801D02FDA631" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBuf&lt;16&gt; buf1(KText);
-TBuf&lt;16&gt; buf2(buf1);   // buf2 constructed from the data in buf1</codeblock> <p>In
-both of these cases, the resulting length of the descriptor is 12.</p> <p>A
-non-modifiable buffer descriptor can also be constructed from 'C' style zero
-terminated string. However, this is rarely necessary but may make it easier
-to port legacy 'C' code.</p> </section>
-<section id="GUID-8A534041-1730-43FB-8FCD-4C5BFDAAE730"><title>Replacing data</title> <p>Data
-within a modifiable buffer descriptor can be completely replaced through the
-assignment operator or by using the <codeph>Copy()</codeph> function.</p> <codeblock id="GUID-D990C115-DD84-5E04-89DA-F483A63D03FA" xml:space="preserve">_LIT(KText,"Hello World!");
-_LIT(KNewText,"New text");
-_LIT(KReplaced,"Replaced");
-...
-TBuf&lt;16&gt; buf1(KText);
-TBuf&lt;16&gt; buf2;
-...
-buf2 = buf1;               // buf2 now contains "Hello World!"
-...
-buf2 = KNewText;           // buf2 now contains "New text".
-                           // the literal is converted to a descriptor
-                           // type.
-buf2.Copy(KReplaced);      // buf2 content replaced using Copy()</codeblock> </section>
-<section id="GUID-E49444E0-457E-4645-A1D5-C350FF998F9A"><title>Accessing and
-changing data</title> <p>Once a modifiable buffer descriptor has been constructed,
-the functions in the base classes, <codeph>TDesC</codeph> and <codeph>TDes</codeph>,
-are available to be access and change the data.</p> <codeblock id="GUID-386035F7-1C0F-5CB3-BA5B-5E0EF18DF6F8" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1(KText);
-...
-buf1.Length();</codeblock> <p>and</p> <codeblock id="GUID-7BCC4118-4294-5607-A92B-5DBA9E68CBEE" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1(KText);   // length is 12 
-...
-buf1.Delete(6,6);        // length is now 6, leaving "Hello" in
-                         // the buffer</codeblock> </section>
-<section id="GUID-970BCE5F-CC4D-4F60-91A9-6107975E9C3F"><title>Illegal access
-causing an exception</title> <p>The following code fragment raises a panic
-because of an attempt to assign too much data. The maximum length of the buffer
-descriptor is 16 but the length of the data to be copied is 31:</p> <codeblock id="GUID-38DC46A1-E2A0-52DD-A821-F0D6B2C45430" xml:space="preserve">_LIT(KText,"Hello World! The sun is shining");
-...
-TBufC&lt;16&gt; buf1(KText);</codeblock> <p>The following code fragment raises
-a panic because of an attempt to delete data outside the boundary defined
-by the descriptor:</p> <codeblock id="GUID-71FB3EFC-BFBA-5072-ADD2-3471E2A08D0C" xml:space="preserve">_LIT(KText,"Hello World!");
-...
-TBufC&lt;16&gt; buf1(KText);
-buf1.Delete(99,1);</codeblock> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-7CB11EAD-260E-551A-85F1-FEAC975FE722.dita">Literal Descriptors</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-E81D72B2-BA77-5F4E-8742-3812A60A4DAC" xml:lang="en"><title>How to use modifiable buffer descriptor — TBuf&lt;TInt&gt;</title><shortdesc>Modifiable buffer descriptors are useful for holding strings
+or data and providing safe ways to access and modify that data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-F276E9FE-B839-54ED-9F50-8E45CB094922"><p>For text data,
+it is usual to construct a <codeph>TBuf&lt;TInt&gt;</codeph> type and
+allow the appropriate variant, either a <codeph>TBuf8&lt;TInt&gt;</codeph> or a <codeph>TBuf16&lt;TInt&gt;</codeph> to be selected at build time.</p> </li>
+<li id="GUID-9860DB57-62C3-5295-B00E-5F629771FED9"><p>For binary data,
+an explicit <codeph>TBuf8&lt;TInt&gt;</codeph> is used.</p> </li>
+<li id="GUID-34C95FAB-0F58-5B61-B9FC-A31588855F96"><p>It is rare to
+use an explicit <codeph>TBuf16&lt;TInt&gt;</codeph>.</p> </li>
+</ul>
+<p>Although, the following notes refer to the build independent types;
+they are equally valid for the explicit 8 bit and 16 bit types.</p>
+<section id="GUID-824524FB-98B7-4CDA-A3FD-233C7C0DDD5F"><title>Constructing
+a TBuf&lt;TInt&gt;</title> <p>A modifiable buffer descriptor can be constructed
+in a number of ways:</p> <ul>
+<li id="GUID-BCFAA769-D038-5A09-B6BF-586C93F08B0B"><p>as an empty
+buffer descriptor.</p> </li>
+<li id="GUID-9DE61358-D6B9-54CA-9FED-11AC29443093"><p>as an empty
+buffer descriptor but giving it a length.</p> </li>
+<li id="GUID-50FB7967-79C8-5F8C-8569-36B40D14894E"><p>by copying data
+from any other type of descriptor.</p> </li>
+<li id="GUID-26E1FDDC-F0BB-5441-8F81-EF2CFA61787A"><p>by copying data
+from another modifiable buffer descriptor of the same size.</p> </li>
+</ul> <p>The following code fragment constructs a <codeph>TBuf&lt;16&gt;</codeph> object. The buffer descriptor is uninitialised, i.e. it contains
+no data. The assignment operator or the <codeph>Copy()</codeph> function
+can be used to put data into the buffer descriptor after construction:</p> <codeblock id="GUID-01CA390C-ECC4-56C2-A1F6-F62C2AA75E57" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBuf&lt;16&gt; buf1; // length of buf1 is 0
+...
+buf1 = KText;  // data assigned</codeblock> <p>The source descriptor
+is a literal which is converted to descriptor type.</p> <p>The following
+code fragment constructs a <codeph>TBuf&lt;16&gt;</codeph> object and
+sets it length to 12. No data is assigned into the descriptor.</p> <codeblock id="GUID-FA8A1FE8-7809-5E28-B3EB-420B405DDC32" xml:space="preserve">...
+TBuf&lt;16&gt; buf1(12); // length of buf1 is 12
+...</codeblock> <p>The following code fragment constructs a <codeph>TBuf&lt;16&gt;</codeph> object, initialised with the 12 characters making
+up the English language phrase "Hello World!".</p> <codeblock id="GUID-74B4614D-4273-5F9E-8A2D-1E9A8A3960D8" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBuf&lt;16&gt; buf1(KText);</codeblock> <p>The following code fragment
+constructs a <codeph>TBuf&lt;16&gt;</codeph> object from another <codeph>TBuf&lt;16&gt;</codeph> object. This is, in effect, copy construction.</p> <codeblock id="GUID-BE55436F-FDB8-5768-947F-801D02FDA631" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBuf&lt;16&gt; buf1(KText);
+TBuf&lt;16&gt; buf2(buf1);   // buf2 constructed from the data in buf1</codeblock> <p>In both of these cases, the resulting length of the descriptor
+is 12.</p> <p>A non-modifiable buffer descriptor can also be constructed
+from 'C' style zero terminated string. However, this is rarely necessary
+but may make it easier to port legacy 'C' code.</p> </section>
+<section id="GUID-8A534041-1730-43FB-8FCD-4C5BFDAAE730"><title>Replacing
+data</title> <p>Data within a modifiable buffer descriptor can be
+completely replaced through the assignment operator or by using the <codeph>Copy()</codeph> function.</p> <codeblock id="GUID-D990C115-DD84-5E04-89DA-F483A63D03FA" xml:space="preserve">_LIT(KText,"Hello World!");
+_LIT(KNewText,"New text");
+_LIT(KReplaced,"Replaced");
+...
+TBuf&lt;16&gt; buf1(KText);
+TBuf&lt;16&gt; buf2;
+...
+buf2 = buf1;               // buf2 now contains "Hello World!"
+...
+buf2 = KNewText;           // buf2 now contains "New text".
+                           // the literal is converted to a descriptor
+                           // type.
+buf2.Copy(KReplaced);      // buf2 content replaced using Copy()</codeblock> </section>
+<section id="GUID-E49444E0-457E-4645-A1D5-C350FF998F9A"><title>Accessing
+and changing data</title> <p>Once a modifiable buffer descriptor has
+been constructed, the functions in the base classes, <codeph>TDesC</codeph> and <codeph>TDes</codeph>, are available to be access and change
+the data.</p> <codeblock id="GUID-386035F7-1C0F-5CB3-BA5B-5E0EF18DF6F8" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1(KText);
+...
+buf1.Length();</codeblock> <p>and</p> <codeblock id="GUID-7BCC4118-4294-5607-A92B-5DBA9E68CBEE" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1(KText);   // length is 12 
+...
+buf1.Delete(6,6);        // length is now 6, leaving "Hello" in
+                         // the buffer</codeblock> </section>
+<section id="GUID-970BCE5F-CC4D-4F60-91A9-6107975E9C3F"><title>Illegal
+access causing an exception</title> <p>The following code fragment
+raises a panic because of an attempt to assign too much data. The
+maximum length of the buffer descriptor is 16 but the length of the
+data to be copied is 31:</p> <codeblock id="GUID-38DC46A1-E2A0-52DD-A821-F0D6B2C45430" xml:space="preserve">_LIT(KText,"Hello World! The sun is shining");
+...
+TBufC&lt;16&gt; buf1(KText);</codeblock> <p>The following code fragment
+raises a panic because of an attempt to delete data outside the boundary
+defined by the descriptor:</p> <codeblock id="GUID-71FB3EFC-BFBA-5072-ADD2-3471E2A08D0C" xml:space="preserve">_LIT(KText,"Hello World!");
+...
+TBufC&lt;16&gt; buf1(KText);
+buf1.Delete(99,1);</codeblock> </section>
+</conbody><related-links>
+<link href="GUID-7CB11EAD-260E-551A-85F1-FEAC975FE722.dita">
+<linktext>Literal Descriptors</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E8266924-FA52-5171-BD73-423A46227A74.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E8266924-FA52-5171-BD73-423A46227A74.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -64,7 +64,7 @@
 this. The diagram is also true for <xref href="GUID-6DF731E4-5691-31C4-BEE0-03A3873F15EC.dita"><apiname>TPtrC8</apiname></xref> and <xref href="GUID-8FE95467-D48B-3E61-9028-29C0F15F567E.dita"><apiname>TPtrC16</apiname></xref>. </p> <fig id="GUID-AB7B77C5-31BC-5DD0-B1FC-D02436E18D14">
 <title>              Array of non-modifiable pointer descriptor elements 
           </title>
-<image href="GUID-77EC9F20-32F4-5A1D-B183-75838EBA30B1_d0e218726_href.png" placement="inline"/>
+<image href="GUID-77EC9F20-32F4-5A1D-B183-75838EBA30B1_d0e224746_href.png" placement="inline"/>
 </fig> <p> <b>NOTE:</b> <xref href="GUID-B24BD746-98D1-3837-B834-5C12D4D516FC.dita"><apiname>delete()</apiname></xref> and <xref href="GUID-FA50BA77-E578-3652-B1FB-AD2D0523CC17.dita"><apiname>reset()</apiname></xref> removes
 the non-modifiable pointer descriptors from the array but does <b>not</b> delete
 the data or descriptors that they point to. </p> </section>
@@ -75,7 +75,7 @@
 is added as an array element. The following diagram illustrates this. The
 diagram is also true for <xref href="GUID-2A528453-0279-3E47-838C-F8A8D29B88F1.dita"><apiname>HBufC8</apiname></xref> and <xref href="GUID-3D3D9CD7-C8FD-3F81-9CC5-1A71D4F9751E.dita"><apiname>HBufC16</apiname></xref>. </p> <fig id="GUID-D6B993E5-AF6B-5AD2-A30F-834C6815EFEF">
 <title>              Array of pointer elements            </title>
-<image href="GUID-3853600F-A096-53A6-8E68-4815ED85FD05_d0e218773_href.png" placement="inline"/>
+<image href="GUID-3853600F-A096-53A6-8E68-4815ED85FD05_d0e224793_href.png" placement="inline"/>
 </fig> <p>There are two implementations of the array, one using a flat buffer
 and the other using a segmented buffer. </p> <p>The flat buffer implementation
 is supplied in two variants: </p> <ul>
@@ -120,10 +120,10 @@
 concrete classes and the base classes which support them. </p> <fig id="GUID-43444E8B-F2F5-539B-BA9D-EDF9B832DFD9">
 <title>              The class relationships for CDesCArrayFlat &amp; CDesCArraySeg
            </title>
-<image href="GUID-B3166752-9B99-5669-8AB4-078164144AA1_d0e218927_href.png" placement="inline"/>
+<image href="GUID-B3166752-9B99-5669-8AB4-078164144AA1_d0e224947_href.png" placement="inline"/>
 </fig> <p> </p> <fig id="GUID-3BD4A73F-1E09-515A-9833-6D9592A98E97">
 <title>              The class relationships for CPtrCArray            </title>
-<image href="GUID-93678518-1FBD-521D-807A-63DA2E33551F_d0e218938_href.png" placement="inline"/>
+<image href="GUID-93678518-1FBD-521D-807A-63DA2E33551F_d0e224958_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-9948A6D4-19A2-58A2-B2F1-73EC577E1B0B"><title>Copying Descriptor
 Arrays </title> <p>An array of non-modifiable pointer descriptors, a <xref href="GUID-FC3F3E4A-C86C-3DDB-B851-538BF20D5B27.dita"><apiname>CPtrCArray</apiname></xref> type,
@@ -137,7 +137,7 @@
 the effect of the copy operation based on the concrete type of the source
 array. </p> <fig id="GUID-E320FF9E-CBCA-597C-AE3B-8480A0829EF7">
 <title>              Copying descriptor arrays            </title>
-<image href="GUID-6FFEC753-4006-559C-B8E9-14940CFCD012_d0e218984_href.png" placement="inline"/>
+<image href="GUID-6FFEC753-4006-559C-B8E9-14940CFCD012_d0e225004_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-009C368B-80E3-523B-BC4A-12BB90244CE1"><title>8-Bit Variant,
 16-Bit Variant and Build Independence</title> <p>Descriptor arrays are supplied
Binary file Symbian3/PDK/Source/GUID-E86347E8-8D3C-5FCB-BD9F-EA0DF8F0D9FD_d0e434869_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E86347E8-8D3C-5FCB-BD9F-EA0DF8F0D9FD_d0e440714_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E87018CD-01B4-5886-87FC-CD25EE90587D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E87018CD-01B4-5886-87FC-CD25EE90587D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-E87018CD-01B4-5886-87FC-CD25EE90587D"><title>Central Repository Transactions</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic describes the concepts of Central Repository transactions. </p> <section><title>Overview of transactions </title> <p>In a typical use case, a repository is accessed by several different applications for different purposes such as reading, updating, caching and backing up. These applications are regarded as having a client-server relationship with the repository. When multiple applications can access a repository there is a danger of concurrent write operations corrupting the data. To prevent this, applications access repositories within sessions and perform operations on a repository within subdivisions of a session called transactions. The concept of a transaction is borrowed from database programming and is designed to ensure that only one application can modify a repository at any one time. Operations performed within a transaction are virtual, operating on a copy of the repository, until the transaction is successfully committed and the actual repository is modified. Transactions conform to a model which prevents them from being committed concurrently, so maintaining data integity. </p> <p>Only the following operations are permitted within a transaction: </p> <ul><li id="GUID-A1CFE73C-6248-5B8E-A5F8-5125786EAF64"><p>Find() </p> </li> <li id="GUID-4D0AEFB5-FB08-591F-BA24-098E832B6FE0"><p>Get() </p> </li> </ul> <ul><li id="GUID-6001550D-DC06-5767-A03C-F6677D895ECF"><p>Set() </p> </li> <li id="GUID-28F16F3E-502D-52C1-A157-621EE4307466"><p>Create() </p> </li> <li id="GUID-9E98BC2F-5E94-51EA-8FE7-DDADE388AE21"><p>Delete() </p> </li> <li id="GUID-42BC1D3F-1CE7-5F76-8B9F-9276892D86BC"><p>Move() </p> </li> </ul> <p>Transactions are either synchronous or asynchronous. As the programmer you are responsible for avoiding errors such as beginning a transaction within a transaction which will cause a leave. You do this by conforming to a transaction model. </p> <p>The recommended transaction model is the optimistic non-serialised transaction model. It works on the principle that any number of clients may start a transaction at the same time, but as soon as one transaction is committed, any other transactions fail and must be started again. </p> <p>A session is in various states: </p> <ul><li id="GUID-F0C23BCF-6528-5112-AB35-BEA53D7EA5EF"><p>Not in transaction </p> </li> <li id="GUID-27922FAA-BF3F-5C06-9810-FE20C41474E1"><p>Active </p> </li> <li id="GUID-720E56F0-477D-5C4E-8FA3-7EEABDE0E718"><p>Failed </p> </li> </ul> <p>An asynchronous transaction involves two other states: </p> <ul><li id="GUID-17470F86-6FE8-5998-B7CA-546988BDE132"><p>Pending start </p> </li> <li id="GUID-7AB3E6B9-51C6-56ED-82E8-FF1A1805C54E"><p>Pending commit </p> </li> </ul> </section> <section><title>Synchronous transactions </title> <p>A synchronous transaction has the following structure. </p> <ul><li id="GUID-DE7AA608-AC0C-53BF-A009-3D179621193C"><p>A session is initially in the state Not in transaction. </p> </li> <li id="GUID-178E4E88-02C6-5869-B344-514C14FBDB4F"><p>Call the synchronous form of <xref href="GUID-2FE14318-A0C6-37F9-A359-85D353D94F68.dita"><apiname>StartTransaction()</apiname></xref> with the single parameter EConcurrentReadWriteTransaction. </p> </li> <li id="GUID-91D3A638-114B-5DCA-8FB0-35B554797194"><p>The session changes state to Active. </p> </li> <li id="GUID-C32289CB-8EA9-53E0-84DD-881FCDC5FF99"><p>Manipulate the repository with the functions <xref href="GUID-890C741F-EC69-30E3-AA89-CE35B3DE481F.dita"><apiname>Get()</apiname></xref> <xref href="GUID-2F459F8B-0464-33BF-BB95-DF0648A5C6ED.dita"><apiname>Set()</apiname></xref> <xref href="GUID-3D9FBB4B-907F-33BC-9C90-5A896FBEE290.dita"><apiname>Find()</apiname></xref> etc covered above. </p> </li> <li id="GUID-2F9FA0A5-7624-5300-819D-45562AF5FFDA"><p>The session continues in the Active state. The changes to the repository are cached but not actually applied during the Active state. You then either revoke or persist the changes. </p> </li> <li id="GUID-39F7530F-E9D9-5938-B9EB-B0AF8768E16F"><p>To revoke the changes, call <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref>  </p> </li> <li id="GUID-B21F7C3F-E960-571A-A98E-933B96FA14D0"><p>The session returns to Not in transaction. </p> </li> <li id="GUID-6C4EF9E4-CE0A-542B-A564-72B6FF2BECB1"><p>To persist the changes, call the synchronous form of <xref href="GUID-DC938A94-1C71-3D9D-A4C0-45D5655F9F3A.dita"><apiname>CommitTransaction()</apiname></xref> with the parameter <xref href="GUID-A67CA4BD-6F1F-3B0D-962C-4A78BBE80402.dita"><apiname>aKeyInfo</apiname></xref> of type <xref href="GUID-F58A1C0D-1B36-37EA-8012-1C74B2D12CAD.dita"><apiname>TUint32</apiname></xref> This function returns success or an error message and its parameter holds information about the transaction. On success, the parameter holds the number of settings which were changed. On failure, the parameter holds the settings which caused failure in the form of a key or partial key. </p> </li> <li id="GUID-FD7629FE-C6AF-5F65-9376-353ADD2B87F7"><p>On success the session returns to Not in transaction. On failure it enters the Failed state. When a transaction fails, the operations already performed are discarded and no subsequent operations can reverse the failure. </p> </li> <li id="GUID-0BBDE613-761D-54F2-894B-3BEEAB587A95"><p>If the reason for failure was the success of another transaction, the error message is <xref href="GUID-CF080900-A9A4-391E-AC95-B93EBFB23DE3.dita"><apiname>KErrLocked</apiname></xref> and the session is Not in transaction. You try the same sequence of function calls until you get a successful commit. </p> <p>If there was some other reason for failure you must close the transaction yourself. To do this, either call <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref> or else call <xref href="GUID-DC938A94-1C71-3D9D-A4C0-45D5655F9F3A.dita"><apiname>CommitTransaction()</apiname></xref> a second time. </p> <p>There is sometimes reason to fail the transaction deliberately by calling <xref href="GUID-D4178000-A2A4-3B22-B984-530DD5EC75EE.dita"><apiname>FailTransaction()</apiname></xref> For instance you might want to generate failure after an unsuccessful <xref href="GUID-890C741F-EC69-30E3-AA89-CE35B3DE481F.dita"><apiname>Get()</apiname></xref> operation and then cancel the transaction. </p> </li> </ul> <fig id="GUID-B2011974-4A4F-58B4-BDCD-CAFBAC4E52A7"><title>
              Synchronous transaction state diagram 
-          </title> <image href="GUID-66E0B7F2-DEB4-5326-9DE0-5C0E253568AF_d0e577479_href.png" placement="inline"/></fig> </section> <section><title>Asynchronous transactions</title> <p>Synchronous transactions have the disadvantage that a busy server may block the client thread before any action takes place. To avoid this problem you can use the slightly more complicated asynchronous transactions. An asynchronous transaction has the same structure as a synchronous one except that there are two new states Pending Start and Pending Commit where a transaction waits until the server is ready to communicate with it. The transition from Not in transaction to Active now proceeds like this. </p> <ul><li id="GUID-A90153AE-A050-5721-9513-DD9753B1DF61"><p>A session is initially in the state Not in transaction. </p> </li> <li id="GUID-1F494795-6391-5A0E-B057-820602C90233"><p>Call the asynchronous form of <xref href="GUID-2FE14318-A0C6-37F9-A359-85D353D94F68.dita"><apiname>StartTransaction()</apiname></xref> with the parameters <xref href="GUID-27A4E547-66EA-3F07-943C-171FAB9EE99D.dita"><apiname>EConcurrentReadWriteTransaction</apiname></xref> and <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> of type <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> This function returns void: success or the reasons for failure are determined from the state of <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> after execution. </p> </li> <li id="GUID-C419B2EB-2D04-5B93-B01C-AB9107B52351"><p>The session changes state to Pending Start. Activity on the server will eventually promote the session to Active. </p> </li> <li id="GUID-5793F04F-4BED-5755-B678-A1CDF3AE1400"><p>Manipulate the repository with the functions <xref href="GUID-890C741F-EC69-30E3-AA89-CE35B3DE481F.dita"><apiname>Get()</apiname></xref>, <xref href="GUID-2F459F8B-0464-33BF-BB95-DF0648A5C6ED.dita"><apiname>Set()</apiname></xref>, <xref href="GUID-3D9FBB4B-907F-33BC-9C90-5A896FBEE290.dita"><apiname>Find()</apiname></xref> etc covered above. </p> </li> <li id="GUID-0210FDB7-FD3F-5A6F-90B0-B8DAD23960E3"><p>The session continues in the Active state. The changes to the repository are cached but not actually applied during the Active state. You then either revoke or persist the changes. </p> </li> <li id="GUID-617CA21B-89D5-5531-A9A4-83173FF66867"><p>To revoke the changes, call <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref> This call has different effects depending on whether it was called in the Pending Start state or the Active state. If it was called in the Pending Start state it sets <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> to <xref href="GUID-6F4A88DA-F54E-3848-9C32-942D6F5F4F3E.dita"><apiname>KErrCancel</apiname></xref>  </p> </li> <li id="GUID-57E59324-D623-5F0E-9954-B7B6C045C63E"><p>The session returns to Not in transaction. </p> </li> <li id="GUID-1E0463FC-81E0-574A-9585-11593FB31DD9"><p>To persist the changes, call the asynchronous form of <xref href="GUID-DC938A94-1C71-3D9D-A4C0-45D5655F9F3A.dita"><apiname>CommitTransaction()</apiname></xref> with the parameters <xref href="GUID-A67CA4BD-6F1F-3B0D-962C-4A78BBE80402.dita"><apiname>aKeyInfo</apiname></xref> of type <xref href="GUID-F58A1C0D-1B36-37EA-8012-1C74B2D12CAD.dita"><apiname>TUint32</apiname></xref> and <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> of type <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> This function returns void. Its first parameter holds information about the transaction. </p> </li> <li id="GUID-87C8F64D-2FE3-53D3-956C-3211EF7B776B"><p>On success, the <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> parameter holds the number of settings which were changed. On failure, the parameter holds the settings which caused failure in the form of a key or partial key. The <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> parameter is set to success or failure. </p> </li> <li id="GUID-4DE0D798-4B73-5EA2-B4DE-2DEDCE6CE55A"><p>If the reason for failure was the success of another transaction, aStatus is set to <xref href="GUID-CF080900-A9A4-391E-AC95-B93EBFB23DE3.dita"><apiname>KErrLocked</apiname></xref> and the session is Not in transaction. You try the same sequence of function calls until you get a successful commit. </p> <p>If there was some other reason for failure you must close the transaction yourself. To do this, either call <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref> or else call <xref href="GUID-DC938A94-1C71-3D9D-A4C0-45D5655F9F3A.dita"><apiname>CommitTransaction()</apiname></xref> a second time. </p> <p>There is sometimes reason to fail the transaction deliberately by calling <xref href="GUID-D4178000-A2A4-3B22-B984-530DD5EC75EE.dita"><apiname>FailTransaction()</apiname></xref> For instance you might want to generate failure after an unsuccessful <xref href="GUID-890C741F-EC69-30E3-AA89-CE35B3DE481F.dita"><apiname>Get()</apiname></xref> operation and then cancel the transaction. </p> </li> </ul> <fig id="GUID-70E4E2BC-3996-54B1-AC65-ECADFB4E66FE"><title>
+          </title> <image href="GUID-66E0B7F2-DEB4-5326-9DE0-5C0E253568AF_d0e626767_href.png" placement="inline"/></fig> </section> <section><title>Asynchronous transactions</title> <p>Synchronous transactions have the disadvantage that a busy server may block the client thread before any action takes place. To avoid this problem you can use the slightly more complicated asynchronous transactions. An asynchronous transaction has the same structure as a synchronous one except that there are two new states Pending Start and Pending Commit where a transaction waits until the server is ready to communicate with it. The transition from Not in transaction to Active now proceeds like this. </p> <ul><li id="GUID-A90153AE-A050-5721-9513-DD9753B1DF61"><p>A session is initially in the state Not in transaction. </p> </li> <li id="GUID-1F494795-6391-5A0E-B057-820602C90233"><p>Call the asynchronous form of <xref href="GUID-2FE14318-A0C6-37F9-A359-85D353D94F68.dita"><apiname>StartTransaction()</apiname></xref> with the parameters <xref href="GUID-27A4E547-66EA-3F07-943C-171FAB9EE99D.dita"><apiname>EConcurrentReadWriteTransaction</apiname></xref> and <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> of type <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> This function returns void: success or the reasons for failure are determined from the state of <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> after execution. </p> </li> <li id="GUID-C419B2EB-2D04-5B93-B01C-AB9107B52351"><p>The session changes state to Pending Start. Activity on the server will eventually promote the session to Active. </p> </li> <li id="GUID-5793F04F-4BED-5755-B678-A1CDF3AE1400"><p>Manipulate the repository with the functions <xref href="GUID-890C741F-EC69-30E3-AA89-CE35B3DE481F.dita"><apiname>Get()</apiname></xref>, <xref href="GUID-2F459F8B-0464-33BF-BB95-DF0648A5C6ED.dita"><apiname>Set()</apiname></xref>, <xref href="GUID-3D9FBB4B-907F-33BC-9C90-5A896FBEE290.dita"><apiname>Find()</apiname></xref> etc covered above. </p> </li> <li id="GUID-0210FDB7-FD3F-5A6F-90B0-B8DAD23960E3"><p>The session continues in the Active state. The changes to the repository are cached but not actually applied during the Active state. You then either revoke or persist the changes. </p> </li> <li id="GUID-617CA21B-89D5-5531-A9A4-83173FF66867"><p>To revoke the changes, call <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref> This call has different effects depending on whether it was called in the Pending Start state or the Active state. If it was called in the Pending Start state it sets <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> to <xref href="GUID-6F4A88DA-F54E-3848-9C32-942D6F5F4F3E.dita"><apiname>KErrCancel</apiname></xref>  </p> </li> <li id="GUID-57E59324-D623-5F0E-9954-B7B6C045C63E"><p>The session returns to Not in transaction. </p> </li> <li id="GUID-1E0463FC-81E0-574A-9585-11593FB31DD9"><p>To persist the changes, call the asynchronous form of <xref href="GUID-DC938A94-1C71-3D9D-A4C0-45D5655F9F3A.dita"><apiname>CommitTransaction()</apiname></xref> with the parameters <xref href="GUID-A67CA4BD-6F1F-3B0D-962C-4A78BBE80402.dita"><apiname>aKeyInfo</apiname></xref> of type <xref href="GUID-F58A1C0D-1B36-37EA-8012-1C74B2D12CAD.dita"><apiname>TUint32</apiname></xref> and <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> of type <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref> This function returns void. Its first parameter holds information about the transaction. </p> </li> <li id="GUID-87C8F64D-2FE3-53D3-956C-3211EF7B776B"><p>On success, the <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> parameter holds the number of settings which were changed. On failure, the parameter holds the settings which caused failure in the form of a key or partial key. The <xref href="GUID-8CC6A454-14EC-3059-B2F9-DC92B1D20F57.dita"><apiname>aStatus</apiname></xref> parameter is set to success or failure. </p> </li> <li id="GUID-4DE0D798-4B73-5EA2-B4DE-2DEDCE6CE55A"><p>If the reason for failure was the success of another transaction, aStatus is set to <xref href="GUID-CF080900-A9A4-391E-AC95-B93EBFB23DE3.dita"><apiname>KErrLocked</apiname></xref> and the session is Not in transaction. You try the same sequence of function calls until you get a successful commit. </p> <p>If there was some other reason for failure you must close the transaction yourself. To do this, either call <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref> or else call <xref href="GUID-DC938A94-1C71-3D9D-A4C0-45D5655F9F3A.dita"><apiname>CommitTransaction()</apiname></xref> a second time. </p> <p>There is sometimes reason to fail the transaction deliberately by calling <xref href="GUID-D4178000-A2A4-3B22-B984-530DD5EC75EE.dita"><apiname>FailTransaction()</apiname></xref> For instance you might want to generate failure after an unsuccessful <xref href="GUID-890C741F-EC69-30E3-AA89-CE35B3DE481F.dita"><apiname>Get()</apiname></xref> operation and then cancel the transaction. </p> </li> </ul> <fig id="GUID-70E4E2BC-3996-54B1-AC65-ECADFB4E66FE"><title>
              Asynchronous Transaction State Diagram 
-          </title> <image href="GUID-D2CF64ED-0D85-5535-9A51-C127B10B07B2_d0e577643_href.png" placement="inline"/></fig> </section> <section><title>Cleanup </title> <p>There is a danger that a transaction might remain open for ever if it is opened by code which subsequently leaves. To avoid this possibility, the <xref href="GUID-849C6016-BDB1-39B0-A48E-3AA661E11811.dita"><apiname>CCentralRepository</apiname></xref> class has two functions which cause the cleanup stack to end the transaction in the event of a leave. <xref href="GUID-896BCACB-335C-3A77-9161-52EA711AA84C.dita"><apiname>CleanupCancelTransactionPushL()</apiname></xref>, also named <xref href="GUID-D27AD32E-1D1F-34C9-92ED-B1CFCFB1DC0B.dita"><apiname>CleanupRollbackTransactionPushL()</apiname></xref>, causes a leave to be followed by a call to <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref>. <xref href="GUID-F9520CB0-266B-357D-997F-756787C5F549.dita"><apiname>CleanupFailTransactionPushL()</apiname></xref> causes a leave to be followed by a call to <xref href="GUID-D4178000-A2A4-3B22-B984-530DD5EC75EE.dita"><apiname>FailTransaction()</apiname></xref>. </p> </section> </conbody><related-links><link href="GUID-1C683226-C142-5C7B-BD20-060058352B08.dita"><linktext>Central Repository Guide</linktext> </link> <link href="GUID-724BA3CD-7648-51DF-9285-3AA7470987F4.dita"><linktext>Optimising Repository
+          </title> <image href="GUID-D2CF64ED-0D85-5535-9A51-C127B10B07B2_d0e626931_href.png" placement="inline"/></fig> </section> <section><title>Cleanup </title> <p>There is a danger that a transaction might remain open for ever if it is opened by code which subsequently leaves. To avoid this possibility, the <xref href="GUID-849C6016-BDB1-39B0-A48E-3AA661E11811.dita"><apiname>CCentralRepository</apiname></xref> class has two functions which cause the cleanup stack to end the transaction in the event of a leave. <xref href="GUID-896BCACB-335C-3A77-9161-52EA711AA84C.dita"><apiname>CleanupCancelTransactionPushL()</apiname></xref>, also named <xref href="GUID-D27AD32E-1D1F-34C9-92ED-B1CFCFB1DC0B.dita"><apiname>CleanupRollbackTransactionPushL()</apiname></xref>, causes a leave to be followed by a call to <xref href="GUID-E7D1327D-70BF-380E-8798-455FD9F4AAE0.dita"><apiname>CancelTransaction()</apiname></xref>. <xref href="GUID-F9520CB0-266B-357D-997F-756787C5F549.dita"><apiname>CleanupFailTransactionPushL()</apiname></xref> causes a leave to be followed by a call to <xref href="GUID-D4178000-A2A4-3B22-B984-530DD5EC75EE.dita"><apiname>FailTransaction()</apiname></xref>. </p> </section> </conbody><related-links><link href="GUID-1C683226-C142-5C7B-BD20-060058352B08.dita"><linktext>Central Repository Guide</linktext> </link> <link href="GUID-724BA3CD-7648-51DF-9285-3AA7470987F4.dita"><linktext>Optimising Repository
                 Access</linktext> </link> <link href="GUID-998DCA78-2488-5D6D-B5B3-D86C52F32823.dita"><linktext>Modifications to
                 Keyspaces</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E88E64C6-5A80-59EE-8227-455EC033E6E9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E88E64C6-5A80-59EE-8227-455EC033E6E9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E88E64C6-5A80-59EE-8227-455EC033E6E9"><title>What are sessions with the Comms Database</title><shortdesc>This topic describes the use of sessions to access the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <p>Tools and applications create and use a session to access the Comms Database. A session is an instance of the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBSession</apiname></xref>. An instance of <codeph>CMDBSession</codeph> acts as a handle to the database. The functions provided by <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> to access the Comms Database require an instance of <codeph>CMDBSession</codeph>. </p> <fig id="GUID-4B909AEF-6C15-52C4-9C5B-41E55B65A365"><image href="GUID-FFBB390B-0A5D-5ABC-A111-95B3C84818DE_d0e110291_href.png" placement="inline"/></fig> <p>You must create a session before you get data from the Comms Database and before you update the Comms Database. To create a session, you create an instance of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBSession</apiname></xref> class. </p> <p>You delete the session after you finish your use of the Comms Database. To delete a session, you delete the instance of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBSession</apiname></xref> class. </p> </conbody></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-E88E64C6-5A80-59EE-8227-455EC033E6E9"><title>What are sessions with the Comms Database</title><shortdesc>This topic describes the use of sessions to access the Comms Database. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> <p>Tools and applications create and use a session to access the Comms Database. A session is an instance of the class <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBSession</apiname></xref>. An instance of <codeph>CMDBSession</codeph> acts as a handle to the database. The functions provided by <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>MMetaDatabase</apiname></xref> to access the Comms Database require an instance of <codeph>CMDBSession</codeph>. </p> <fig id="GUID-4B909AEF-6C15-52C4-9C5B-41E55B65A365"><image href="GUID-FFBB390B-0A5D-5ABC-A111-95B3C84818DE_d0e112714_href.png" placement="inline"/></fig> <p>You must create a session before you get data from the Comms Database and before you update the Comms Database. To create a session, you create an instance of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBSession</apiname></xref> class. </p> <p>You delete the session after you finish your use of the Comms Database. To delete a session, you delete the instance of the <xref href="GUID-1CDD0B97-8B00-3373-9908-512C9BC1CF51.dita"><apiname>CMDBSession</apiname></xref> class. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E89F034F-C807-5FF9-B06B-F7CCD2441041.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E89F034F-C807-5FF9-B06B-F7CCD2441041.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 and information, printer devices abstraction, line breaking and text rendering. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
 <fig id="GUID-FB4AC487-0CBC-5793-8BB8-8D9EFA74BC7D">
 <title>         The GDI collection    </title>
-<image href="GUID-AB68F150-1005-54AE-8F71-A88949463FDD_d0e259440_href.png" placement="inline"/>
+<image href="GUID-AB68F150-1005-54AE-8F71-A88949463FDD_d0e265449_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
--- a/Symbian3/PDK/Source/GUID-E8B0BDC7-714E-48EF-89F3-D8B7B34552ED.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E8B0BDC7-714E-48EF-89F3-D8B7B34552ED" xml:lang="en"><title>Interaction</title><shortdesc>This section explains the guidelines for rotation and basic interaction
-style in Symbian devices.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody/></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-E8E32DC5-EABC-5125-8EDA-718CF434E01C_d0e467635_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E8E32DC5-EABC-5125-8EDA-718CF434E01C_d0e473480_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E8EF06D7-FB4E-598D-9D9D-4395AB6F51C8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E8EF06D7-FB4E-598D-9D9D-4395AB6F51C8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-E8EF06D7-FB4E-598D-9D9D-4395AB6F51C8"><title>Creating a Charconv Plug-in DLL</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes how to create a Charconv plug-in DLL. </p> <section><title>Introduction</title> <p>The flowchart below shows the steps to create a Charconv plug-in DLL. </p> <fig id="GUID-B145D4B6-8385-5DC9-8958-2350C86EBE2B"><image href="GUID-9F14FB98-D7CD-55C9-8D27-715642B8FFC3_d0e657106_href.png" placement="inline"/></fig> </section> <section><title>Procedure</title> <p>An example is used to explain the procedure for creating a Charconv plug-in DLL. This plug-in converts between the cp850 character set and Unicode. </p> <ol id="GUID-AC4B8539-C41C-5631-A8F7-8C9646951897"><li id="GUID-C75F84C2-C83A-567C-8AC6-788848EEE85E"><p>Create a cnvtool source file using a text editor and save it as, for example <filepath>d:\charconvfiles\data\cp850.txt</filepath>. This file contains pairs of hexadecimal numbers. The first number in each pair is the encoding of a character in cp850and the second is the Unicode encoding of the same character. </p> <codeblock id="GUID-9541977F-8BBA-5838-ACD1-DAB896C00D8C" xml:space="preserve">...
+<concept xml:lang="en" id="GUID-E8EF06D7-FB4E-598D-9D9D-4395AB6F51C8"><title>Creating a Charconv Plug-in DLL</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes how to create a Charconv plug-in DLL. </p> <section><title>Introduction</title> <p>The flowchart below shows the steps to create a Charconv plug-in DLL. </p> <fig id="GUID-B145D4B6-8385-5DC9-8958-2350C86EBE2B"><image href="GUID-9F14FB98-D7CD-55C9-8D27-715642B8FFC3_d0e669933_href.png" placement="inline"/></fig> </section> <section><title>Procedure</title> <p>An example is used to explain the procedure for creating a Charconv plug-in DLL. This plug-in converts between the cp850 character set and Unicode. </p> <ol id="GUID-AC4B8539-C41C-5631-A8F7-8C9646951897"><li id="GUID-C75F84C2-C83A-567C-8AC6-788848EEE85E"><p>Create a cnvtool source file using a text editor and save it as, for example <filepath>d:\charconvfiles\data\cp850.txt</filepath>. This file contains pairs of hexadecimal numbers. The first number in each pair is the encoding of a character in cp850and the second is the Unicode encoding of the same character. </p> <codeblock id="GUID-9541977F-8BBA-5838-ACD1-DAB896C00D8C" xml:space="preserve">...
 0x00    0x0000    #NULL
 0x01    0x0001    #START OF HEADING
 0x02    0x0002    #START OF TEXT
--- a/Symbian3/PDK/Source/GUID-E9191C31-4D09-4C95-85E4-4282ADEE1D82.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E9191C31-4D09-4C95-85E4-4282ADEE1D82.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,7 +33,7 @@
 with a red frame are new features.</p>
 <fig id="GUID-A8FE0B16-FCA8-48FB-BAE8-EE141CED39C0">
 <title><parmname>CCoeControl::HandlePointerEventL()</parmname> usage</title>
-<image href="GUID-52783B69-09FC-4123-849A-79FF61406129_d0e65678_href.png" placement="inline"/>
+<image href="GUID-52783B69-09FC-4123-849A-79FF61406129_d0e69901_href.png" placement="inline"/>
 </fig>
 <p>To handle pointer events in your custom control:</p>
 <ol>
@@ -121,8 +121,7 @@
 more information on this and other touch event options, see <xref href="GUID-33D93E96-98A9-4116-9028-3241D76A1036.dita">Enabling additional touch events for your application</xref>.</p></li>
 <li><p>Optional <parmname>MTouchFeedback</parmname> observer for sending a
 vibration when a mobile device user touches a control with the feedback interface.</p><p>For
-more information on tactile feedback, see <xref href="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita">Tactile
-feedback</xref>.</p></li>
+more information on tactile feedback, see <xref href="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita">Tactile feedback</xref>.</p></li>
 </ul></itemgroup></li>
 </ul>
 </conbody><related-links>
Binary file Symbian3/PDK/Source/GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e141418_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e143667_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E932B20C-5155-530F-9669-6F5BB1F1AD41.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-E932B20C-5155-530F-9669-6F5BB1F1AD41" xml:lang="en"><title>STRUCT
-statement</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<codeblock xml:space="preserve">&lt;struct-statement&gt;
-struct-statement ::= 
-STRUCT &lt;struct-name&gt; [ BYTE | WORD ] { &lt;struct-member-list&gt; } </codeblock>
-<p>A <codeph>STRUCT</codeph> statement defines the format of a struct; all
-resources are defined in terms of structs. The struct has a name designated
-by <varname>struct-name</varname>, and some items designated by <varname>struct-member-list</varname>.</p>
-<section><title>Struct names</title><p>The following rules must
-be observed for <varname>struct-names</varname>:</p><ul>
-<li id="GUID-E490ACC3-1A5E-5A93-97BC-EA13322F93B3"><p>they must be given in
-upper case</p> </li>
-<li id="GUID-A8237D56-9872-5869-9041-1F66130F1BCA"><p>they must begin with
-an alphabetic character, although subsequent characters may be numeric</p> </li>
-<li id="GUID-8F0B5DE9-C6B0-5637-A755-0BD408744898"><p>they may not begin with
-any of the 12 struct <varname>type-names</varname> (see <xref href="GUID-89ADFC64-AF9F-51B1-AC5F-493897226270.dita">STRUCT
-members</xref>), or the keywords: <codeph>GLOBAL</codeph>, <codeph>STRUCT</codeph>, <codeph>LEN</codeph> or <codeph>RESOURCE</codeph>.
-This restriction applies only to the <varname>struct-name</varname>, not the <varname>member-name</varname> of
-any individual struct members.</p> <p>So the following struct definition will
-generate an error</p> <codeblock id="GUID-A2D5E9FB-1C45-52FE-8997-95D2117DFE05" xml:space="preserve">STRUCT BUFTHING
- {
- BUF buffer;
- }</codeblock> <p>whereas this struct definition will compile correctly</p> <codeblock id="GUID-6EEF6653-C2D9-559E-BA72-5C70E30B9633" xml:space="preserve">STRUCT ABUFTHING
- {
- BUF buffer;
- }</codeblock> </li>
-</ul></section>
-<section><title>Struct member list</title><p>The <varname>struct-member-list</varname> is
-a sequence of <varname>struct-member</varname> s where each member is terminated
-by a semi-colon. The complete list is enclosed within a pair of braces.</p><p>See <xref href="GUID-89ADFC64-AF9F-51B1-AC5F-493897226270.dita">STRUCT members</xref> for
-more details.</p></section>
-<section><title>BYTE/WORD keywords</title><p><codeph>STRUCT</codeph> definitions
-allow resource instances to be of variable length, as the struct can allow
-default variables for its members. A resource’s entire length can be deduced
-from the position of the next resource; this information is available in a
-resource file’s index. If the resource is used as a member within an instance
-of another resource, however, its length <i>must</i> be identified another
-way.</p><ul>
-<li id="GUID-6EBE2158-D5F4-588F-B45E-94AB86D87547"><p>Use <codeph>BYTE</codeph> to
-prefix the struct with a single byte indicating its length (zero to 255 characters).</p> </li>
-<li id="GUID-43D2F295-C031-5812-A0BD-5F017C20918B"><p>Use <codeph>WORD</codeph> to
-prefix the struct with a word indicating its length (zero to 65,535 characters).</p> </li>
-</ul></section>
-<example><p>The following are valid <codeph>STRUCT</codeph> statements:</p><codeblock id="GUID-04C66589-84AC-591F-80A3-73FC1C973F4C" xml:space="preserve">STRUCT STRING
- {
- LTEXT str;
- }</codeblock><p>This defines a struct called <codeph>STRING</codeph> which
-contains a single <codeph>LTEXT</codeph> item.</p><codeblock id="GUID-C85D999C-4E6A-57B8-ACFB-E6A7DB51E960" xml:space="preserve">STRUCT TEST BYTE
- {
- WORD status;
- STRUCT text;
- }</codeblock><p>This defines a struct called <codeph>TEST</codeph> which
-contains a <codeph>WORD</codeph> and an embedded struct. The total length
-of <codeph>TEST</codeph> is unknown, but should not exceed 255 characters:
-the <codeph>BYTE</codeph> directive in the definition indicates that, when
-this struct is embedded within another, it should be preceded with a byte
-indicating its length (zero to 255 characters).</p></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-E93EE459-8CF4-42A1-B06C-E78E56FD25A0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E93EE459-8CF4-42A1-B06C-E78E56FD25A0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -17,8 +17,8 @@
 <context id="GUID-0D960123-7430-42B5-A84D-B63F2852DD7C"><p>The client applications
 can use the property listener to monitor the property changes made by other
 clients.</p></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-10-1-1-8-1-4-1-5-1-8-1-3-3">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-10-1-1-8-1-4-1-5-1-8-1-3-3-1"><cmd>Create a property
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-11-1-1-8-1-4-1-5-1-8-1-3-3">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-11-1-1-8-1-4-1-5-1-8-1-3-3-1"><cmd>Create a property
 listener implementation for the <parmname>MSensrvPropertyListener</parmname> interface.</cmd>
 <stepxmp><codeblock xml:space="preserve">class PropertyListener:public MSensrvPropertyListener
     {
--- a/Symbian3/PDK/Source/GUID-E96D8052-0CB2-53A6-915F-133D3058DCF9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E96D8052-0CB2-53A6-915F-133D3058DCF9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,7 +10,7 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-E96D8052-0CB2-53A6-915F-133D3058DCF9"><title>MTM Registration</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Any MTM that is used by a client application must be registered with the Message Server. The registration information about all the MTMs installed on a device is contained in a dedicated file managed by the Message Server called the MTM Registry. Registry classes use this registration data to allow MTM components to be identified and instantiated. For example, the <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita"><apiname>CClientMtmRegistry</apiname></xref> class has a member function to create a Client-side MTM object. </p> <section><title>MTM registries</title> <p>Registration of an MTM on the device is managed by four registries—three transient registries within each client process (Client MTM, UI MTM and UI Data MTM) and one permanent registry on the server-side (Server MTM). The server-side registry owns and maintains a streamed copy of the registration data for all MTM components on the device. When a new <xref href="GUID-C45FFBDD-37D4-5892-8D13-CFE292264268.dita#GUID-C45FFBDD-37D4-5892-8D13-CFE292264268/GUID-EBBDB3ED-B5BD-580C-8869-BA35DBA64F1F">client-side registry</xref> is created by a client process, the server-side registry initialises the client registry by setting the available and relevant types (UI, UI Data, Client) of MTMs. This initialisation takes place through the Message Server and the session object which is owned by the process that instantiated the new registry object. </p> <p> <b>Note:</b> Updating the client-side registries during run-time is done through the same process. The MTM installation control panel is a client-side process that uses a session object to talk to the server. Registration data representing new MTM DLLs is passed to the Message Server and onto the server-side registry. The server-side registry then updates its cached data before notifying all current client processes about the newly available MTM DLL. </p> <p>The Messaging Server uses a registry to instantiate Server MTMs, and deletes the MTM objects when there no client requests. The server-side registry classes monitor the use of MTM component DLLs and maintain a reference count of the objects instantiated from each DLL. When that reference count falls to zero, the DLL that provides the MTM is unloaded. However, this is not done immediately, but only after the time specified in <xref href="GUID-EEC5813B-4C9F-323B-BCD6-1BB1A08D0B8C.dita"><apiname>TTimeIntervalMicroSeconds32</apiname></xref> <codeph>
-          aTimeoutMicroSeconds32</codeph>. This increases the efficiency in cases where the DLL is required again shortly. </p> <p>The <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita#GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8/GUID-3010EA8F-DCC4-34AD-ADD8-83B789B10638"><apiname>CClientMtmRegistry::NewMtmL(TUid)</apiname></xref> function is used to create a Client MTM object for a protocol with a specified UID. The following steps illustrate how a Client MTM is identified and initialised: </p> <ol id="GUID-A4C4A3AE-395F-586C-BFAB-D1B0E30CFC8C"><li id="GUID-D9CD05E2-620B-501A-9C0D-8C24BE47F997"><p>A Messaging client application calls the <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita#GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8/GUID-76DA50D4-BA2E-3B06-8D80-A0619337C233"><apiname>CClientMtmRegistry::NewMtmL()</apiname></xref> function, passing the UID of the MTM component that it wants. </p> </li> <li id="GUID-7A27FC2C-1CA6-53F0-B2EE-D1814E455BF1"><p>The <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita"><apiname>CClientMtmRegistry</apiname></xref> class searches the registry for a record for the required MTM component, and obtains the library name from it, and the ordinal number of the library's exported factory function that can create an MTM object. </p> </li> <li id="GUID-4A89BA96-B946-5EC6-B285-9797A41E967A"><p>The <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita"><apiname>CClientMtmRegistry</apiname></xref> class loads the DLL and calls the factory function, passing the new object back to the caller. </p> </li> </ol> <p>A similar process is used for UI and UI Data MTMs. After a client application has obtained an MTM object from the registry, it is responsible for that object and must delete it when it is no longer needed. </p> </section> <section id="GUID-EBBDB3ED-B5BD-580C-8869-BA35DBA64F1F-GENID-1-12-1-20-1-1-6-1-5-1-4-1-5-1-7-1-2-3"><title>Example</title> <p>The following example explains the steps to create a Client MTM registry. </p> <p>When a Messaging client application is created to send and receive messages, a Client registry must be created. For detailed instructions, see the <xref href="GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC.dita">POP3</xref> and <xref href="GUID-D73AD200-BE4D-50BF-BCF9-14627DE530B7.dita">IMAP4</xref> example programs. </p> <p>Use the <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita#GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8/GUID-DBD7038B-A0E2-3791-A4C9-3A22FFCA146A"><apiname>CClientMtmRegistry::NewL()</apiname></xref> function with <xref href="GUID-EEC5813B-4C9F-323B-BCD6-1BB1A08D0B8C.dita"><apiname>TTimeIntervalMicroSeconds32</apiname></xref> <codeph>
+          aTimeoutMicroSeconds32</codeph>. This increases the efficiency in cases where the DLL is required again shortly. </p> <p>The <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita#GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8/GUID-3010EA8F-DCC4-34AD-ADD8-83B789B10638"><apiname>CClientMtmRegistry::NewMtmL(TUid)</apiname></xref> function is used to create a Client MTM object for a protocol with a specified UID. The following steps illustrate how a Client MTM is identified and initialised: </p> <ol id="GUID-A4C4A3AE-395F-586C-BFAB-D1B0E30CFC8C"><li id="GUID-D9CD05E2-620B-501A-9C0D-8C24BE47F997"><p>A Messaging client application calls the <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita#GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8/GUID-76DA50D4-BA2E-3B06-8D80-A0619337C233"><apiname>CClientMtmRegistry::NewMtmL()</apiname></xref> function, passing the UID of the MTM component that it wants. </p> </li> <li id="GUID-7A27FC2C-1CA6-53F0-B2EE-D1814E455BF1"><p>The <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita"><apiname>CClientMtmRegistry</apiname></xref> class searches the registry for a record for the required MTM component, and obtains the library name from it, and the ordinal number of the library's exported factory function that can create an MTM object. </p> </li> <li id="GUID-4A89BA96-B946-5EC6-B285-9797A41E967A"><p>The <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita"><apiname>CClientMtmRegistry</apiname></xref> class loads the DLL and calls the factory function, passing the new object back to the caller. </p> </li> </ol> <p>A similar process is used for UI and UI Data MTMs. After a client application has obtained an MTM object from the registry, it is responsible for that object and must delete it when it is no longer needed. </p> </section> <section id="GUID-EBBDB3ED-B5BD-580C-8869-BA35DBA64F1F-GENID-1-12-1-21-1-1-6-1-5-1-4-1-5-1-7-1-2-3"><title>Example</title> <p>The following example explains the steps to create a Client MTM registry. </p> <p>When a Messaging client application is created to send and receive messages, a Client registry must be created. For detailed instructions, see the <xref href="GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC.dita">POP3</xref> and <xref href="GUID-D73AD200-BE4D-50BF-BCF9-14627DE530B7.dita">IMAP4</xref> example programs. </p> <p>Use the <xref href="GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8.dita#GUID-A0682D04-9084-3DC3-AA18-5B81A78A1DA8/GUID-DBD7038B-A0E2-3791-A4C9-3A22FFCA146A"><apiname>CClientMtmRegistry::NewL()</apiname></xref> function with <xref href="GUID-EEC5813B-4C9F-323B-BCD6-1BB1A08D0B8C.dita"><apiname>TTimeIntervalMicroSeconds32</apiname></xref> <codeph>
           aTimeoutMicroSeconds32</codeph> to create a Client MTM object for a protocol with a specified UID. The <xref href="GUID-EEC5813B-4C9F-323B-BCD6-1BB1A08D0B8C.dita"><apiname>TTimeIntervalMicroSeconds32</apiname></xref> <codeph>
           aTimeoutMicroSeconds32</codeph> parameter represents a microsecond time interval stored in 32 bit, which is used to wait before unloading MTM DLLs. </p> <codeblock id="GUID-1F9B89A1-C908-5578-B3FD-B4B1EA5F032A" xml:space="preserve">void CImap4Example::CreateClientRegistryL()
     {
--- a/Symbian3/PDK/Source/GUID-E9AF73E8-DF31-5C5E-889E-96CCD4C4A46B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E9AF73E8-DF31-5C5E-889E-96CCD4C4A46B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -55,7 +55,7 @@
 registration process. </p> <fig id="GUID-0C9B80F8-0061-5597-A216-ABF1C545FD52">
 <title>                 IETF profile registration sequence diagram       
        </title>
-<image href="GUID-8D72AE33-AF61-5AD7-A40D-A2918474DD0D_d0e551612_href.png" placement="inline"/>
+<image href="GUID-8D72AE33-AF61-5AD7-A40D-A2918474DD0D_d0e559068_href.png" placement="inline"/>
 </fig> <p><b>Updating an IETF profile</b> </p> <p>To update an IETF profile,
 the IETF Profile Agent plug-in is loaded and the profile is in the <b>RegisteredState</b> state.
 The following steps describe how to update the IETF profile: </p> <ol id="GUID-898A25C5-45AA-5066-BAC1-89509F26873D">
@@ -77,7 +77,7 @@
 IETF profile: </p> <fig id="GUID-0DF3456B-F0B8-550C-B3B0-CA45C8B30E5C">
 <title>                 IETF profile update sequence diagram             
  </title>
-<image href="GUID-7E8DA853-BE41-5C8D-B286-9F5F7992FD2C_d0e551668_href.png" placement="inline"/>
+<image href="GUID-7E8DA853-BE41-5C8D-B286-9F5F7992FD2C_d0e559124_href.png" placement="inline"/>
 </fig> <p><b>Deregistering an IETF profile</b> </p> <p>To deregister an IETF
 profile, the IETF Profile Agent plug-in is loaded and the profile is in the <b>RegisteredState</b>.
 The following steps describe the IETF profile deregistration process: </p> <ol id="GUID-7274958A-CF11-57DB-A0E0-B4A965F2C719">
@@ -98,7 +98,7 @@
 deregistration process: </p> <fig id="GUID-DE79B542-C6C1-504D-B8C6-493C78208287">
 <title>                 IETF profile deregistration sequence diagram     
          </title>
-<image href="GUID-DDD07E37-E5BE-5187-9C62-A3F4F9343C2A_d0e551725_href.png" placement="inline"/>
+<image href="GUID-DDD07E37-E5BE-5187-9C62-A3F4F9343C2A_d0e559181_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-46D9399E-F3F4-5A7F-955B-4D2D08726029"><title>Source code</title> <p>Here
 is the source for the IETF Profile Agent plug-in: </p> <p><b>sipietfprofileagent.h</b> </p> <codeblock id="GUID-F2C978BC-AC9D-53FB-9621-34509BC773BF" xml:space="preserve">// sipietfprofileagent.h
Binary file Symbian3/PDK/Source/GUID-E9C620EF-4C77-56C3-8023-A6F13989246A_d0e665517_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E9C620EF-4C77-56C3-8023-A6F13989246A_d0e678344_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E9C6DBBF-1910-595D-94A1-67664CF7B7A6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E9C6DBBF-1910-595D-94A1-67664CF7B7A6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 <fig id="GUID-B4E6A02D-69E7-5716-8169-9CA011A183D8">
 <title>          DirectGDI Interface component classes and related classes
          </title>
-<image href="GUID-4F5DCA9A-E535-54B4-B8B2-30549AC12A51_d0e264523_href.png" placement="inline"/>
+<image href="GUID-4F5DCA9A-E535-54B4-B8B2-30549AC12A51_d0e270523_href.png" placement="inline"/>
 </fig>
 <p>The following table provides a summary of the key classes that make up
 the DirectGDI Interface component. </p>
@@ -81,11 +81,11 @@
 illustrate the behaviour of key DirectGDI classes in two separate scenarios. </p> <p><b>Context
 usage </b> </p> <fig id="GUID-DC1716DF-1F1F-5935-A129-A2F81382196B">
 <title>              DirectGDI context usage sequence diagram            </title>
-<image href="GUID-795DA381-A997-55E6-98D0-436DC250B07E_d0e264665_href.png" placement="inline"/>
+<image href="GUID-795DA381-A997-55E6-98D0-436DC250B07E_d0e270665_href.png" placement="inline"/>
 </fig> <p><b>Driver creation and deletion </b> </p> <fig id="GUID-473A67D6-56B0-593A-9F93-E47743FB6EC6">
 <title>             DirectGDI driver creation and deletion sequence diagram
            </title>
-<image href="GUID-4689CD4A-3835-5013-90F9-100C66F18E84_d0e264678_href.png" placement="inline"/>
+<image href="GUID-4689CD4A-3835-5013-90F9-100C66F18E84_d0e270678_href.png" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita"><linktext>DirectGDI
--- a/Symbian3/PDK/Source/GUID-E9E21C82-13F6-50D4-A271-F9E5F1BD982F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E9E21C82-13F6-50D4-A271-F9E5F1BD982F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,7 +12,7 @@
 <task id="GUID-E9E21C82-13F6-50D4-A271-F9E5F1BD982F" xml:lang="en"><title>Background
 Processing for Ecam</title><shortdesc>This topic describes how to capture an image using standalone background
 processing in Ecam. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<prereq id="GUID-18F6B6F4-909B-58C3-A6B3-014E8B4D5919-GENID-1-12-1-21-1-1-6-1-5-1-5-1-4-1-7-1-3-1"><p>Before you start
+<prereq id="GUID-18F6B6F4-909B-58C3-A6B3-014E8B4D5919-GENID-1-12-1-22-1-1-7-1-5-1-5-1-4-1-7-1-3-1"><p>Before you start
 you should understand the <xref href="GUID-80EC80E2-E197-50F7-B1FD-720A00AC3B4D.dita">Onboard
 Camera Overview</xref> topic. </p> </prereq>
 <context id="GUID-43393C5E-C050-5B00-99CF-4C467DBE1335"><p>The Ecam API has
Binary file Symbian3/PDK/Source/GUID-E9F08BCA-39F6-55D3-8974-BD0FFB90DE11_d0e485521_href.png has changed
Binary file Symbian3/PDK/Source/GUID-E9F08BCA-39F6-55D3-8974-BD0FFB90DE11_d0e491350_href.png has changed
--- a/Symbian3/PDK/Source/GUID-E9F203A6-D9E3-41B7-9FC4-24EDE20C4753.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-E9F203A6-D9E3-41B7-9FC4-24EDE20C4753.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 user has tried to do something that may cause a considerable problem.</p>
 <fig id="GUID-2265C3F3-86BA-4520-9C5A-BF522D6E3C9C">
 <title>Error note</title>
-<image href="GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e87237_href.png" placement="inline"/>
+<image href="GUID-DAB7AB0C-8B32-4472-8EDC-AA8A5A01205C_d0e91435_href.png" placement="inline"/>
 </fig>
 <section id="GUID-A62B2AD0-BA1F-4112-9B61-25D29D3B1854"><title>Guidelines
 for using error notes</title>       <p>Use an error note when the user does
Binary file Symbian3/PDK/Source/GUID-EA0C5715-7CE8-5415-A915-D5701E3C957A_d0e377898_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EA0C5715-7CE8-5415-A915-D5701E3C957A_d0e383751_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EA107811-240C-5F95-922B-7C042FA00A87.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EA107811-240C-5F95-922B-7C042FA00A87.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,15 +9,13 @@
 -->
 <!DOCTYPE task
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-EA107811-240C-5F95-922B-7C042FA00A87" xml:lang="en"><title>Reading
-a String Resource </title><abstract><p>The simplest use of a resource file involves reading string resources
-and interpreting the source data. </p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<context><p>Resources are defined in terms of structs which are accessed and
-read by the <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita"><apiname>RResourceFile</apiname></xref> class, and interpreted by the <xref href="GUID-B375D32E-1F91-30FA-8605-A2E163111F9A.dita"><apiname>TResourceReader</apiname></xref>.
-An application may also use resources from multiple files simultaneously.
-See <xref href="GUID-98903A01-CD04-5345-84AE-2E440CE06E11.dita">Resource File examples</xref> for
-more information. </p><p>Consider a sample resource file where a struct of
-STRING is defined having a single member of type <codeph>LTEXT</codeph>: </p><codeblock xml:space="preserve">// define structures
+<task id="GUID-EA107811-240C-5F95-922B-7C042FA00A87" xml:lang="en"><title>Reading a String Resource </title><abstract><p>The simplest use of a resource file involves reading
+string resources and interpreting the source data. </p></abstract><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-FD651A99-73F0-4CDD-9B4F-7C3A1DE8C4BE"><p>Resources are defined in terms of structs which are accessed
+and read by the <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita"><apiname>RResourceFile</apiname></xref> class, and interpreted
+by the <xref href="GUID-B375D32E-1F91-30FA-8605-A2E163111F9A.dita"><apiname>TResourceReader</apiname></xref>. An application may also
+use resources from multiple files simultaneously. See <xref href="GUID-98903A01-CD04-5345-84AE-2E440CE06E11.dita">Resource File examples</xref> for more information. </p><p>Consider a sample resource file where
+a struct of STRING is defined having a single member of type <codeph>LTEXT</codeph>: </p><codeblock xml:space="preserve">// define structures
 STRUCT STRING
     {
     LTEXT text;
@@ -30,52 +28,48 @@
 </codeblock> </context>
 <steps id="GUID-F147E8CF-65D1-5025-BA85-E0D171DBEFFD">
 <step id="GUID-0BAEB54B-5A6E-59F6-B14E-FAF0A3D15F27"><cmd/>
-<info>Compile the resource file using <xref href="GUID-9C57F0C6-E2E3-58A2-907D-924A7E22EA97-GENID-1-15-1-1-5-1-4-1.dita">the
-resource compiler</xref> (rcomp) to generate an <filepath>.rsc</filepath> file
-and an <filepath>.rsg</filepath> file. </info>
+<info>Compile the resource file using the resource compiler (rcomp)
+to generate an <filepath>.rsc</filepath> file and an <filepath>.rsg</filepath> file. </info>
+<info><p>For information on resource compiler, see <b>Symbian^3 Tools
+Guide &gt; Building</b>. </p></info>
 <substeps id="GUID-0B421705-A5CD-5FF7-BB95-C17559811267">
 <substep id="GUID-673E32C9-665C-5388-AE17-780A149F8837"><cmd/>
-<info> <filepath>.rsc</filepath> file contains the resource data; this is
-the resource file that must be referred to at run-time by the <codeph>RResourceFile</codeph> class
-in the C++ code. </info>
+<info> <filepath>.rsc</filepath> file contains the resource data;
+this is the resource file that must be referred to at run-time by
+the <codeph>RResourceFile</codeph> class in the C++ code. </info>
 </substep>
 <substep id="GUID-AEE254EB-0716-5478-B1DF-F8ED8E4FF8E1"><cmd/>
-<info> <filepath>.rsg</filepath> file is a <keyword>generated            
-         header</keyword> file that contains <codeph>#define</codeph> statements
-for each resource defined in the source file. In the resource file generated
-here, the only resource is called <codeph>hello</codeph> and the generated
-header file contains: </info>
+<info> <filepath>.rsg</filepath> file is a <keyword>generated    
+                 header</keyword> file that contains <codeph>#define</codeph> statements for each resource defined in the source file. In the
+resource file generated here, the only resource is called <codeph>hello</codeph> and the generated header file contains: </info>
 <stepxmp><codeblock id="GUID-385BB8E3-FF77-5A95-8F65-043E72412959" xml:space="preserve">#define HELLO 1</codeblock> </stepxmp>
-<info>Note that the name in the generated header file is converted to upper
-case. </info>
+<info>Note that the name in the generated header file is converted
+to upper case. </info>
 </substep>
 </substeps>
 </step>
 <step id="GUID-3367B1DD-C2E9-5780-A77A-7F574D2EC541"><cmd/>
-<info> <codeph>#include</codeph> the <filepath>.rsg</filepath> file in the
-file containing the C++ code, to access the resource IDs generated by the
-resource compiler. For example, for a project refered as <codeph>ReadText</codeph>,
-this might be: </info>
+<info> <codeph>#include</codeph> the <filepath>.rsg</filepath> file
+in the file containing the C++ code, to access the resource IDs generated
+by the resource compiler. For example, for a project refered as <codeph>ReadText</codeph>, this might be: </info>
 <stepxmp><codeblock id="GUID-AC615F67-6331-500C-B91E-ADD6A94464FB" xml:space="preserve">#include ReadText.rsg</codeblock> </stepxmp>
 </step>
 <step id="GUID-ACC66DA2-4AC8-536B-9912-7CE632C0A8DF"><cmd/>
-<info>Initialize the <codeph>RResourceFile</codeph> object in the C++ program,
-specifying the name of the resource file: </info>
+<info>Initialize the <codeph>RResourceFile</codeph> object in the
+C++ program, specifying the name of the resource file: </info>
 <stepxmp><codeblock id="GUID-5CF79231-E42C-51DF-9002-FD1ED8AB21C1" xml:space="preserve">    
 RResourceFile resourceFile;
 resourceFile.OpenL( fsSession,_L( Z:\\system\\data\\ReadText.rsc ) );</codeblock> </stepxmp>
-<info>Note: To access the resource file contents, a session with the file
-server must be started using an instance of <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> class. </info>
+<info>Note: To access the resource file contents, a session with the
+file server must be started using an instance of <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> class. </info>
 </step>
 <step id="GUID-CA53A8D1-E13E-50A8-96A7-B6B397B82DB3"><cmd/>
-<info>Use one of the three functions (<xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-9B16E6B8-84A4-37DF-BBB4-EC8B04FDB14C"><apiname>RResourceFile::AllocReadLC()</apiname></xref>, <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-8CEE29E0-78F3-3DD6-B068-85C8E0403884"><apiname>RResourceFile::AllocReadL()</apiname></xref> or <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-DF6DFFD5-E923-3C4E-87F0-BC4EE7C8B586"><apiname>RResourceFile::ReadL()</apiname></xref> to read a resource as shown in the following
-code fragment: </info>
+<info>Use one of the three functions (<xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-9B16E6B8-84A4-37DF-BBB4-EC8B04FDB14C"><apiname>RResourceFile::AllocReadLC()</apiname></xref>, <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-8CEE29E0-78F3-3DD6-B068-85C8E0403884"><apiname>RResourceFile::AllocReadL()</apiname></xref> or <xref href="GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA.dita#GUID-AA6DEF11-6F23-3523-A9F7-F15DF918E1BA/GUID-DF6DFFD5-E923-3C4E-87F0-BC4EE7C8B586"><apiname>RResourceFile::ReadL()</apiname></xref> to read a resource as shown in the following code fragment: </info>
 <stepxmp><codeblock id="GUID-92AC4270-4A4D-52F1-B5C4-CFF6FBD19700" xml:space="preserve">HBufC8* dataBuffer = resourceFile.AllocReadLC( HELLO );</codeblock> </stepxmp>
 </step>
 <step id="GUID-77F9A976-6E09-5158-B515-256F4B878CDB"><cmd/>
-<info>Interpret the resource data using a <codeph>TResourceReader</codeph> object.
-This provides access to the text string through a pointer descriptor as shown
-in the following code fragment: </info>
+<info>Interpret the resource data using a <codeph>TResourceReader</codeph> object. This provides access to the text string through a pointer
+descriptor as shown in the following code fragment: </info>
 <stepxmp><codeblock id="GUID-CB3BE44D-72F5-5E15-8D1D-52F513D9D980" xml:space="preserve">
 TResourceReader theReader;
 ...
@@ -83,11 +77,10 @@
 TPtrC textdata = reader.ReadTPtrC();</codeblock> </stepxmp>
 </step>
 </steps>
-<result><p>In this example, once the resource data is no longer needed, the
-heap descriptor, dataBuffer, can be removed from the cleanup stack and destroyed
-as shown in the code fragment: </p><codeblock xml:space="preserve">CleanupStack::PopAndDestroy();</codeblock><p>When
-all operations on the resource file are complete, the resource file can be
-closed using the RResourceFile::close() function as:  </p><codeblock xml:space="preserve">resourceFile.Close();</codeblock></result>
+<result id="GUID-565451D8-6C9E-4F1C-BC15-BFA4F3DD6D1D"><p>In this example, once the resource data is no longer needed,
+the heap descriptor, dataBuffer, can be removed from the cleanup stack
+and destroyed as shown in the code fragment: </p><codeblock xml:space="preserve">CleanupStack::PopAndDestroy();</codeblock><p>When all operations on the resource file are complete, the resource
+file can be closed using the RResourceFile::close() function as:  </p><codeblock xml:space="preserve">resourceFile.Close();</codeblock></result>
 <example><title>Example</title> <p>Consider a resource constructed
 from the following definition. </p> <codeblock id="GUID-538D959C-A85A-5675-9B14-ED81AB860F47" xml:space="preserve">RESOURCE ARRAY anarray
 {
@@ -99,9 +92,9 @@
     LBUF { txt="Del"; },
     LBUF { txt="Space"; }
     };
-}</codeblock> <p>A <codeph>TPtrC</codeph> representing the second item can
-be constructed using the <codeph>ReadTPtrC()</codeph> function. The example
-simply takes the length of the text <codeph>Enter</codeph>: </p> <codeblock id="GUID-9817910D-0661-513D-BB3A-9557D70688AD" xml:space="preserve">// open the resource file
+}</codeblock> <p>A <codeph>TPtrC</codeph> representing the second
+item can be constructed using the <codeph>ReadTPtrC()</codeph> function.
+The example simply takes the length of the text <codeph>Enter</codeph>: </p> <codeblock id="GUID-9817910D-0661-513D-BB3A-9557D70688AD" xml:space="preserve">// open the resource file
 ...
 HBufC8* res = resourceFile.AllocReadLC( ANARRAY );
 TResourceReader theReader;
@@ -112,8 +105,4 @@
 </taskbody><related-links>
 <link href="GUID-3AF1F492-3D7D-5F8C-B1AE-16FBD8224775.dita"><linktext>Resource
 files</linktext></link>
-<link href="GUID-07C031C2-7FFC-5B0E-9691-E6E678E65C4B.dita"><linktext>Resource
-file format</linktext></link>
-<link href="GUID-3527AAEE-210F-524B-A655-A65F1CE86C80.dita"><linktext>Resource
-compilation</linktext></link>
 </related-links></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EA20E614-C911-4EE9-92B5-C8F9B657D59E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EA20E614-C911-4EE9-92B5-C8F9B657D59E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,37 +9,31 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-EA20E614-C911-4EE9-92B5-C8F9B657D59E" xml:lang="en"><title>Platform
-security architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The purpose of the Symbian platform security architecture is to enable
-users to use their mobile devices in an easy and trusted manner.</p>
-<p>This section introduces some central platform security concepts. These
-include the following:</p>
+<concept id="GUID-EA20E614-C911-4EE9-92B5-C8F9B657D59E" xml:lang="en"><title>Platform security architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The purpose of the Symbian platform security architecture is
+to enable users to use their mobile devices in an easy and trusted
+manner.</p>
+<p>This section introduces some central platform security concepts.
+These include the following:</p>
 <ul>
-<li><p><xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">Capabilities</xref></p>
-</li>
-<li><p><xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita">Application
-signing</xref></p></li>
-<li><p><xref href="GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita">Data
-caging</xref></p></li>
+<li><p><xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">Capabilities</xref></p></li>
+<li><p><xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita">Application signing</xref></p></li>
+<li><p><xref href="GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita">Data caging</xref></p></li>
 </ul>
-<p>For more details on the above concepts, see the <xref format="" href="https://www.symbiansigned.com/" scope="external">Symbian
-Signed</xref> website.</p>
-<section id="GUID-49FCB653-EE07-4D7D-A1B9-AAAD77837147"><title>Additional information
-on security</title>
+<p>For more details on the above concepts, see the <xref format="" href="https://www.symbiansigned.com/" scope="external">Symbian Signed</xref> website.</p>
+<section id="GUID-49FCB653-EE07-4D7D-A1B9-AAAD77837147"><title>Additional
+information on security</title>
 <ul>
-<li><p>For more information on how to test and certify your applications
-and how to access <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capabilities</xref>,
-see <xref href="http://developer.symbian.org/wiki/index.php/Complete_Guide_To_Symbian_Signed" scope="external">The
-Complete Guide to Symbian Signed</xref>.</p></li>
-<li><p>For more information about security in Symbian C++ application
-development, see the <xref href="http://wiki.forum.nokia.com/index.php/Symbian_C%2B%2B_Security_Articles" scope="external">Security
-Articles</xref> in the Forum Nokia Developer Community Wiki.</p></li>
-<li><p>For more advanced information and practical examples on how
-to use various security options provided by the platform, see the following
-Forum Nokia resources:<draft-comment time="2009-04-20T13:01">All these examples
-are listed as compatible with the 3rd Edition on Forum Nokia, and therefore
-it is unclear whether they apply to 5th Edition.</draft-comment></p>
+<li><p>For more information on how to test and certify your
+applications and how to access <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capabilities</xref>, see <xref href="http://developer.symbian.org/wiki/index.php/Complete_Guide_To_Symbian_Signed" scope="external">The Complete Guide to Symbian Signed</xref>.</p></li>
+<li><p>For more information about security in Symbian C++
+application development, see the <xref href="http://wiki.forum.nokia.com/index.php/Symbian_C%2B%2B_Security_Articles" scope="external">Security Articles</xref> in the Forum Nokia Developer Community
+Wiki.</p></li>
+<li><p>For more advanced information and practical examples
+on how to use various security options provided by the platform, see
+the following Forum Nokia resources:<draft-comment time="2009-04-20T13:01">All these examples are listed as compatible
+with the 3rd Edition on Forum Nokia, and therefore it is unclear whether
+they apply to 5th Edition.</draft-comment></p>
 <ul>
 <li><p><xref href="http://www.forum.nokia.com/info/sw.nokia.com/id/1bd6bf54-7886-43a5-8335-821bcb603049/S60_Platform_System_Information_Example_v2_0_en.zip.html" scope="external">System Information Example</xref></p></li>
 <li><p><xref href="http://www.forum.nokia.com/info/sw.nokia.com/id/53a369e8-14c7-4f52-9731-577db4e0d303/S60_Platform_ECom_Plug-in_Architecture_v2_0_en.pdf.html" scope="external">ECom Plug-in Architecture</xref> and <xref href="http://www.forum.nokia.com/info/sw.nokia.com/id/75ae7bde-7401-490f-87ec-920e44f518c2/S60_Platform_ECom_Plug-in_Examples_v2_0_en.zip.html" scope="external">ECom Plug-In Examples</xref></p></li>
Binary file Symbian3/PDK/Source/GUID-EA2AAE86-0BD3-52C9-BD13-75E9F04DE77F_d0e330727_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EA2AAE86-0BD3-52C9-BD13-75E9F04DE77F_d0e336704_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EA3419BD-D757-5AC3-AE6F-DF21F794AE47.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EA3419BD-D757-5AC3-AE6F-DF21F794AE47.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -51,19 +51,19 @@
 </ul>
 <fig id="GUID-3FE00A17-DC27-5AB3-AAC8-05B4259C0834">
 <title>           Buffer descriptor         </title>
-<image href="GUID-F392355C-C499-555A-85B7-1DF40492E9B2_d0e321805_href.png" placement="inline"/>
+<image href="GUID-F392355C-C499-555A-85B7-1DF40492E9B2_d0e327791_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-646F7A87-3D87-5856-886D-F3844D5D046C">
 <title>           Heap descriptor         </title>
-<image href="GUID-084C5F8F-3310-5BDE-BB4B-110361D45AB0_d0e321813_href.png" placement="inline"/>
+<image href="GUID-084C5F8F-3310-5BDE-BB4B-110361D45AB0_d0e327799_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-6A2463A0-CF76-5746-9BF3-2FC24F714A73">
 <title>           Pointer descriptor         </title>
-<image href="GUID-29E54156-DF94-5B34-ACAB-1417265C950D_d0e321821_href.png" placement="inline"/>
+<image href="GUID-29E54156-DF94-5B34-ACAB-1417265C950D_d0e327807_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-5EE9C2A2-E654-5736-A72B-4F7A705E12DE">
 <title>           Resizable buffer descriptor         </title>
-<image href="GUID-245FC4CA-EB57-5745-AD2E-79E33D43D912_d0e321829_href.png" placement="inline"/>
+<image href="GUID-245FC4CA-EB57-5745-AD2E-79E33D43D912_d0e327815_href.png" placement="inline"/>
 </fig>
 <p>Although the four types seem to be different, the underlying class structure
 makes such differences transparent allowing them to be treated in the same
Binary file Symbian3/PDK/Source/GUID-EA5E9A07-587C-5E64-A157-1077AD9E56ED_d0e604073_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EA5E9A07-587C-5E64-A157-1077AD9E56ED_d0e631967_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 standards define terminology specific to individual profiles. Please refer
 to the latest Bluetooth standard at <xref href="http://www.bluetooth.com" scope="external">www.bluetooth.com</xref> for all official definitions. </p> </section>
 <section id="GUID-3D73ECD8-AA0F-5E1A-B963-32921B31B6E8"><title>Architecture</title> <fig id="GUID-CEFC70E7-D449-52CF-99C5-869BD3B4D504">
-<image href="GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e640624_href.png" placement="inline"/>
+<image href="GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e653446_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-9957D1E0-F639-5CEB-BD61-52B81BBACA88"><title>Description</title> <p>There
 are two kinds of profiles provided for by Symbian platform: implemented and
@@ -40,7 +40,7 @@
 <desc><p>Figure 1 above shows the dependencies of profiles. The shaded profiles,
 discussed in the next section, are implemented by the Symbian platform Bluetooth
 subsystem. </p> </desc>
-<image href="GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e640645_href.png" placement="inline"/>
+<image href="GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e653467_href.png" placement="inline"/>
 </fig> <p><b>Implemented
 Bluetooth profiles</b> </p> <p>The following profiles are implemented by Symbian
 platform Bluetooth: </p> <ul>
--- a/Symbian3/PDK/Source/GUID-EA8974A2-1E8F-4272-880A-183AD1A40371.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EA8974A2-1E8F-4272-880A-183AD1A40371.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -14,8 +14,8 @@
 <context id="GUID-D2F99F83-5093-4781-82A1-BECB32415696"><p>The function <codeph>TEntry::SetFileSize()</codeph> is intended
 for use by file-system plugins, and not recommended to be called by general
 clients of the File Server.</p></context>
-<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-17-1-1-9-1-6-1-8-1-16-1-3-2">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-17-1-1-9-1-6-1-8-1-16-1-3-2-1"><cmd>Declare the variable
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-18-1-1-9-1-6-1-8-1-16-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-18-1-1-9-1-6-1-8-1-16-1-3-2-1"><cmd>Declare the variable
 type as a TInt64.</cmd>
 <info><codeblock xml:space="preserve">//TInt fileSize = 3000;    
 TInt64 fileSize = 3000000000;</codeblock></info>
--- a/Symbian3/PDK/Source/GUID-EAA6A9FB-A470-550C-B7B4-FF68A733A2D5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EAA6A9FB-A470-550C-B7B4-FF68A733A2D5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -88,7 +88,7 @@
 already have the kernel lock, or in the case of IDFCs, you do not need to
 acquire it as no preemption can occur. In these cases, you just call <xref href="GUID-D5B555DA-3D17-3ED2-A931-CB35BD93A953.dita#GUID-D5B555DA-3D17-3ED2-A931-CB35BD93A953/GUID-76E5AE32-9A70-344A-9E6B-5B439622715A"><apiname>NFastMutex::Wait()</apiname></xref> and <xref href="GUID-D5B555DA-3D17-3ED2-A931-CB35BD93A953.dita#GUID-D5B555DA-3D17-3ED2-A931-CB35BD93A953/GUID-CA8C65D8-E59A-385A-92B8-2B22A4A2F1CB"><apiname>NFastMutex::Signal()</apiname></xref>. </p> <p>The following diagram illustrates the general principle: </p> <fig id="GUID-30A0EA62-83CF-5AB9-A07E-525D0972E55B">
 <title>Fast mutex</title>
-<image href="GUID-3AFE0D8B-FB9B-5355-A63B-FB71DD13E7D0_d0e300993_href.png" placement="inline"/>
+<image href="GUID-3AFE0D8B-FB9B-5355-A63B-FB71DD13E7D0_d0e306985_href.png" placement="inline"/>
 </fig> <p>There are a number of assumptions here, one of which is that the
 priorities are such that thread T1 does not run until a reschedule occurs,
 after T2 has been interrupted. </p> <p id="GUID-111E74A3-8442-5598-8BB9-F78E2A77610A"><b>Example
@@ -489,7 +489,7 @@
 somewhat artificial, and not based on real code, the following diagram nevertheless
 shows the basic idea behind Symbian platform semaphores. </p> <fig id="GUID-505BC4A5-BBCB-5A63-9795-C751719661BB">
 <title>Symbian platform semaphore</title>
-<image href="GUID-0FE0B646-A62F-55A8-A6E6-587D0909CE19_d0e301860_href.png" placement="inline"/>
+<image href="GUID-0FE0B646-A62F-55A8-A6E6-587D0909CE19_d0e307852_href.png" placement="inline"/>
 </fig> <p id="GUID-6131CDB0-6249-5B9A-A969-9B25F8BCECF5"><b>Rules</b> </p> <p>There
 are a few rules about the use of Symbian platform semaphores: </p> <ul>
 <li id="GUID-B850F00A-D7E6-5542-9D9D-F07F2625E29B"><p>Only Symbian platform
Binary file Symbian3/PDK/Source/GUID-EADC4EA6-4492-5A00-A29E-6F7747FCAAC9_d0e228016_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EADC4EA6-4492-5A00-A29E-6F7747FCAAC9_d0e234015_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EAFD71DD-0EB2-402A-9511-D0F3362BDCE3_d0e95787_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EAFD71DD-0EB2-402A-9511-D0F3362BDCE3_d0e99906_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 buttons</xref> that have touch functionality.</note>
 <fig id="GUID-8F4054B9-F6F6-4328-ACFF-459B03398FAC">
 <title>Toolbar</title>
-<image href="GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e94316_href.png" placement="inline"/>
+<image href="GUID-2A4DED23-D0AB-436A-BCED-F0645FF05726_d0e98514_href.png" placement="inline"/>
 </fig>
 <p>A tooltip is an information pop-up containing information regarding each
 button must be shown.</p>
@@ -107,7 +107,7 @@
 session.</p>
 <fig id="GUID-2D9D4495-4AA3-4DA8-9AC7-B989189CD2F3">
 <title>Toolbar button states: example of ON/OFF type of button</title>
-<image href="GUID-9E0C8892-E67F-4DC9-8253-2F65611AD4C6_d0e94488_href.png" scale="50" placement="inline"/>
+<image href="GUID-9E0C8892-E67F-4DC9-8253-2F65611AD4C6_d0e98686_href.png" scale="50" placement="inline"/>
 </fig>
 <section id="GUID-EC526E89-570D-4611-A44D-ABDA4918805E"><title>Floating toolbar</title><p>Floating
 toolbar is a component for showing the key functions on top of the Main pane
@@ -167,7 +167,7 @@
 it is always visible. Toolbar can be hidden in case other controls are also
 hidden (in full screen views).</p><fig id="GUID-C5A359DF-1C8F-42D3-B86F-79A49EB97D70">
 <title>Toolbar in touch UI fixed in the layout</title>
-<image href="GUID-05C87497-738B-473C-B5B2-BE46D32225F5_d0e94566_href.png" placement="inline"/>
+<image href="GUID-05C87497-738B-473C-B5B2-BE46D32225F5_d0e98764_href.png" placement="inline"/>
 </fig></section>
 <section id="GUID-4BBFEE08-26AA-4F6E-B74A-F82BD75F3E59"><title>Toolbar extension
 in touch UI</title><p>As in non-touch UI, toolbars can have extensions also
--- a/Symbian3/PDK/Source/GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3"><title>DevVideo Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides an overview of the DevVideo library. </p> <section><title>Purpose</title> <p>DevVideo provides the interface between the Symbian platform and the video processing hardware for all video functionality. </p> <p><b>DevVideo Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-2D7D4730-333C-592B-9830-C8AA979E28D7"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <b>devvideo.dll</b>  </p> </entry> <entry><p> <b>devvideo.lib</b>  </p> </entry> <entry><p>These files are used for implementing DevVideo. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>DevVideo provides middleware components, such as MMF controller plug-ins, access to video codecs, pre-processors and post-processors. DevVideo interacts with: </p> <ul><li id="GUID-95821394-F1A1-52D9-82C2-7DAC2D5189C3"><p>MMF Controller Framework </p> <p>The controller framework helps to manage the interface to DevVideo and provides controller plug-ins for playing and recording video data. </p> </li> <li id="GUID-46C2C613-7EA1-554C-BE8C-67F1DD9BEF7C"><p>Controller plug-ins </p> <p>Video play and video record controller plug-ins implement play and record functionality respectively. </p> </li> <li id="GUID-90DD575E-B686-5925-9579-C5B7F26CEAE9"><p>Video Hardware Device interface </p> <p> <xref href="GUID-B75C7A33-53E9-300B-A3F1-9584F292A8E5.dita"><apiname>CMMFVideoHwDevice</apiname></xref> is the base class for all video hardware devices. Video playback hardware devices are video decoders and video post-processors. Video recording hardware devices are video pre-processors and encoders. </p> <p>Note that, although the interface is called "Hardware Device" interface, it is possible that the codecs, and pre-processors and post-processors, are not running on a separate hardware device. They could be running on the same processor as all the other software. </p> </li> </ul> <p>Shown below is a representation of how DevVideo interacts with the Multimedia Framework and Media Device Framework components: </p> <fig id="GUID-E9F26F16-0358-5750-9960-110D7721F892"><title>
              DevVideo and related components 
-          </title> <image href="GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e527935_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>DevVideo is a hardware abstraction layer that provides access to video functionality. DevVideo functionality includes video decoding, encoding, pre-processing and post-processing. </p> </section> <section><title>Key DevVideo Classes</title> <p>The video play and record functionality provided by DevVideo is contained within the following key classes: </p> <ul><li id="GUID-8E3D7110-9C2D-5A0D-8AFA-D93C88BB3A24"><p> <xref href="GUID-8CBAAA14-07E5-30AA-A67D-EA968251EB02.dita"><apiname>MMMFDevVideoPlayProxy</apiname></xref> - the interface to <codeph>CMMFDevVideoPlay</codeph>. Hardware devices use this interface to deliver data back to the client. </p> </li> <li id="GUID-DDE4EB42-841A-53E3-9530-03A08D2C2DC4"><p> <xref href="GUID-6273220C-24F9-3ECB-9748-E74D595D448A.dita"><apiname>CMMFDevVideoPlay</apiname></xref> - DevVideoPlay interface and implementation. </p> </li> <li id="GUID-6459C887-823E-5F79-B6A5-82DA37AE7E66"><p> <xref href="GUID-58680391-FDEC-36F5-B3C1-F09581E428F1.dita"><apiname>MMMFDevVideoPlayObserver</apiname></xref> - set of callback functions that any client using <codeph>CMMFDevVideoPlay</codeph> must implement. </p> </li> <li id="GUID-BD82BD0D-A62B-5C60-955E-AEB80B62873B"><p> <xref href="GUID-D3B23BA7-C337-3444-B41B-322024066743.dita"><apiname> MMMFDevVideoRecordProxy</apiname></xref> - the interface to <codeph>CMMFDevVideoRecord</codeph>. Hardware devices use this interface to deliver data back to the client. </p> </li> <li id="GUID-A37B47E1-7AAD-547C-BE0C-D07C3CAA72A4"><p> <xref href="GUID-E2D1AA86-41CD-3D9A-A8FE-FF7D0E3024B0.dita"><apiname>CMMFDevVideoRecord</apiname></xref> - DevVideoRecord interface and implementation. </p> </li> <li id="GUID-9B1FE095-285D-592C-A924-DD13577A8D7B"><p> <xref href="GUID-765A7269-BB3D-32A3-B37C-5C2250E990FB.dita"><apiname>MMMFDevVideoRecordObserver</apiname></xref> - set of callback functions that any client using <codeph>CMMFDevVideoRecord</codeph> must implement. </p> </li> </ul> </section> <section><title>Using DevVideo</title> <p>Clients can use DevVideo to: </p> <ul><li id="GUID-0E3CC319-7A07-52B7-BF0B-C60B552EAEB9"><p>Select the video decoder to use. </p> </li> <li id="GUID-1E8EA07D-E0D7-50A1-AB2C-B22A502BD651"><p>Configure the video decoder. </p> </li> <li id="GUID-206AA299-813C-570F-96E1-C34971A9BCF6"><p>Select the video post-processor to use. </p> </li> <li id="GUID-3FA3B14D-E470-596A-A365-83D8A82C08FE"><p>Configure the video post-processor. </p> </li> <li id="GUID-619F4F90-C9B6-5CE8-A3CE-5133F26D33E6"><p>Set clock source for timing video playback. </p> </li> <li id="GUID-E74E4938-215F-53AA-A5C1-2CCC3E193BF0"><p>Set video output destination. </p> </li> <li id="GUID-91D6FFF1-E0B1-5C08-B622-C4CBD7D353BF"><p>Start video playback. </p> </li> <li id="GUID-C1233D6B-07E8-5F52-B181-D829E6BEF75B"><p>Pause video playback. </p> </li> <li id="GUID-C691A1FC-3B90-558F-9A40-D1B721797277"><p>Stop video playback. </p> </li> <li id="GUID-09E5A40D-4410-51EA-A1DD-3390356CA21B"><p>Select the video encoder to use. </p> </li> <li id="GUID-1AB0F445-6747-595B-964A-2607D98231BF"><p>Configure the video encoder. </p> </li> <li id="GUID-05647E57-0BCB-5766-A6C7-38324563D8E7"><p>Select the video pre-processor to use. </p> </li> <li id="GUID-6B78688D-D291-511E-A4A2-B24175D1CFC4"><p>Configure the video pre-processor. </p> </li> <li id="GUID-B153F2DF-1F2B-5F25-8693-2D46FC8B7077"><p>Set clock source for timing of video recording. </p> </li> <li id="GUID-8A7AB02B-5FFE-5CD1-8856-26C2577A09C6"><p>Start video recording. </p> </li> <li id="GUID-E294F9BC-0078-53CA-AA84-C3E4F28D0648"><p>Pause video recording. </p> </li> <li id="GUID-7730116F-1188-5BEB-91B7-1F21525E65CD"><p>Stop video recording. </p> </li> <li id="GUID-026D56C1-4E68-587B-A546-4543B8149FBE"><p>Pass video buffers to and from the client. </p> </li> <li id="GUID-7CD4E18E-3E54-54AD-AAFB-D9B778C64331"><p>Pass pictures to and from the client. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita"> Video Client Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e535395_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>DevVideo is a hardware abstraction layer that provides access to video functionality. DevVideo functionality includes video decoding, encoding, pre-processing and post-processing. </p> </section> <section><title>Key DevVideo Classes</title> <p>The video play and record functionality provided by DevVideo is contained within the following key classes: </p> <ul><li id="GUID-8E3D7110-9C2D-5A0D-8AFA-D93C88BB3A24"><p> <xref href="GUID-8CBAAA14-07E5-30AA-A67D-EA968251EB02.dita"><apiname>MMMFDevVideoPlayProxy</apiname></xref> - the interface to <codeph>CMMFDevVideoPlay</codeph>. Hardware devices use this interface to deliver data back to the client. </p> </li> <li id="GUID-DDE4EB42-841A-53E3-9530-03A08D2C2DC4"><p> <xref href="GUID-6273220C-24F9-3ECB-9748-E74D595D448A.dita"><apiname>CMMFDevVideoPlay</apiname></xref> - DevVideoPlay interface and implementation. </p> </li> <li id="GUID-6459C887-823E-5F79-B6A5-82DA37AE7E66"><p> <xref href="GUID-58680391-FDEC-36F5-B3C1-F09581E428F1.dita"><apiname>MMMFDevVideoPlayObserver</apiname></xref> - set of callback functions that any client using <codeph>CMMFDevVideoPlay</codeph> must implement. </p> </li> <li id="GUID-BD82BD0D-A62B-5C60-955E-AEB80B62873B"><p> <xref href="GUID-D3B23BA7-C337-3444-B41B-322024066743.dita"><apiname> MMMFDevVideoRecordProxy</apiname></xref> - the interface to <codeph>CMMFDevVideoRecord</codeph>. Hardware devices use this interface to deliver data back to the client. </p> </li> <li id="GUID-A37B47E1-7AAD-547C-BE0C-D07C3CAA72A4"><p> <xref href="GUID-E2D1AA86-41CD-3D9A-A8FE-FF7D0E3024B0.dita"><apiname>CMMFDevVideoRecord</apiname></xref> - DevVideoRecord interface and implementation. </p> </li> <li id="GUID-9B1FE095-285D-592C-A924-DD13577A8D7B"><p> <xref href="GUID-765A7269-BB3D-32A3-B37C-5C2250E990FB.dita"><apiname>MMMFDevVideoRecordObserver</apiname></xref> - set of callback functions that any client using <codeph>CMMFDevVideoRecord</codeph> must implement. </p> </li> </ul> </section> <section><title>Using DevVideo</title> <p>Clients can use DevVideo to: </p> <ul><li id="GUID-0E3CC319-7A07-52B7-BF0B-C60B552EAEB9"><p>Select the video decoder to use. </p> </li> <li id="GUID-1E8EA07D-E0D7-50A1-AB2C-B22A502BD651"><p>Configure the video decoder. </p> </li> <li id="GUID-206AA299-813C-570F-96E1-C34971A9BCF6"><p>Select the video post-processor to use. </p> </li> <li id="GUID-3FA3B14D-E470-596A-A365-83D8A82C08FE"><p>Configure the video post-processor. </p> </li> <li id="GUID-619F4F90-C9B6-5CE8-A3CE-5133F26D33E6"><p>Set clock source for timing video playback. </p> </li> <li id="GUID-E74E4938-215F-53AA-A5C1-2CCC3E193BF0"><p>Set video output destination. </p> </li> <li id="GUID-91D6FFF1-E0B1-5C08-B622-C4CBD7D353BF"><p>Start video playback. </p> </li> <li id="GUID-C1233D6B-07E8-5F52-B181-D829E6BEF75B"><p>Pause video playback. </p> </li> <li id="GUID-C691A1FC-3B90-558F-9A40-D1B721797277"><p>Stop video playback. </p> </li> <li id="GUID-09E5A40D-4410-51EA-A1DD-3390356CA21B"><p>Select the video encoder to use. </p> </li> <li id="GUID-1AB0F445-6747-595B-964A-2607D98231BF"><p>Configure the video encoder. </p> </li> <li id="GUID-05647E57-0BCB-5766-A6C7-38324563D8E7"><p>Select the video pre-processor to use. </p> </li> <li id="GUID-6B78688D-D291-511E-A4A2-B24175D1CFC4"><p>Configure the video pre-processor. </p> </li> <li id="GUID-B153F2DF-1F2B-5F25-8693-2D46FC8B7077"><p>Set clock source for timing of video recording. </p> </li> <li id="GUID-8A7AB02B-5FFE-5CD1-8856-26C2577A09C6"><p>Start video recording. </p> </li> <li id="GUID-E294F9BC-0078-53CA-AA84-C3E4F28D0648"><p>Pause video recording. </p> </li> <li id="GUID-7730116F-1188-5BEB-91B7-1F21525E65CD"><p>Stop video recording. </p> </li> <li id="GUID-026D56C1-4E68-587B-A546-4543B8149FBE"><p>Pass video buffers to and from the client. </p> </li> <li id="GUID-7CD4E18E-3E54-54AD-AAFB-D9B778C64331"><p>Pass pictures to and from the client. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita"> Video Client Overview</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EB914A6D-9B61-5789-9546-8E466A0988D1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -47,7 +47,7 @@
 API consists of the classes shown in the following diagram: </p> <fig id="GUID-E1F75907-DD6D-5290-BE96-116A05AB5155">
 <title>              Integrated GPS HW Status API class diagram          
  </title>
-<image href="GUID-B2539DB1-FA06-5900-A859-547D3381E361_d0e447945_href.png" placement="inline"/>
+<image href="GUID-B2539DB1-FA06-5900-A859-547D3381E361_d0e453790_href.png" placement="inline"/>
 </fig> <p>The classes of the Integrated GPS Hardware Status API are defined
 in the file <filepath>epos_intgpshwstatus.h</filepath> and are summarised
 in table 1. </p> <table id="GUID-73F1A811-8B76-5B0C-9C21-A52A21EF80B8">
@@ -107,7 +107,7 @@
 GPS hardware. </p> <fig id="GUID-D7C3C331-024C-5C97-8B1E-4952CC18B43A">
 <title>              Simple sequence showing publishing the status of GPS
 hardware.            </title>
-<image href="GUID-9BDD42FD-9D05-58D1-896B-AF6E8E5B51FE_d0e448146_href.png" placement="inline"/>
+<image href="GUID-9BDD42FD-9D05-58D1-896B-AF6E8E5B51FE_d0e453991_href.png" placement="inline"/>
 </fig> <p>Below is a code example that demonstrates how to publish the GPS
 hardware status. The example class <codeph>CMyGpsStatusController</codeph> class
 publishes the GPS hardware status. When it is instantiated, it creates a new <xref href="GUID-1D92654B-E7FA-37FE-AC8F-2CCC0B118312.dita"><apiname>CPosIntGpsHwStatus</apiname></xref> object
@@ -193,7 +193,7 @@
 </ul> <p>The following diagram shows a simple sequence for getting GPS hardware
 status events. </p> <fig id="GUID-4E45C675-E943-52B7-9367-62A8B193E50E">
 <title>              Getting GPS hardware status changes            </title>
-<image href="GUID-6EB98EE9-AEB9-59C1-A1D8-FFD2E96707F2_d0e448231_href.png" placement="inline"/>
+<image href="GUID-6EB98EE9-AEB9-59C1-A1D8-FFD2E96707F2_d0e454076_href.png" placement="inline"/>
 </fig> <p>Below is a code example that shows how a client gets updates of
 GPS hardware status changes </p> <codeblock id="GUID-F10F4697-BEC5-502C-9822-E7AB9243B77E" xml:space="preserve">#include &lt;epos_intgpshwstatus.h&gt;
 
--- a/Symbian3/PDK/Source/GUID-EBD1242B-6BD9-5ABB-B471-24ABC78A918C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EBD1242B-6BD9-5ABB-B471-24ABC78A918C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-EBD1242B-6BD9-5ABB-B471-24ABC78A918C"><title>MIME Recognition Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The MIME (Multipurpose Internet Mail Extension) recognition framework enables data type identification. </p> <p>The MIME recognition framework implements data type recognition using MIME (data) recognizers. The MIME recognizers are ECOM plug-ins. A MIME recognizer reads a small piece of the data. A data type can be recognized by more than one MIME recognizer. The framework uses the concepts of priority and confidence level to determine the data type. </p> <p>The Application Architecture (AppArc) launches the appropriate application using the MIME framework to handle the data. </p> <p>It is not guaranteed that an application will be available to handle a data type, even if it was successfully recognized. </p> <section><title>Purpose</title> <p> </p> <p>MIME type recognition enables devices to identify data type in streams or files and start appropriate application automatically. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>MIME</dt> <dd><p>MIME (Multipurpose Internet Mail Extension) is an internet standard system for identifying the type of data in a file or stream. Types can include graphics, photos, audio, video files and formatted text. </p> </dd> </dlentry> <dlentry><dt>Priority</dt> <dd><p>The plug-in developer assigns a priority (EHigh, ENormal or ELow) to the data recognizers. A data type can be handled by more than one application and may therefore be recognized by more than one recognizer. </p> <p>The priority determines the position at which the recognizer is inserted into the recognizer list. The higher priority recognizers are placed at the start of the list. If more than one recognizer recognizes a data type with the same confidence, the recognizer with the higher priority takes precedence. The sequence in which recognizers are invoked by the framework is determined by their priority. High priority recognizers are invoked first. </p> <p>For more details refer to <xref href="GUID-EBE480D9-E377-32F4-9AE5-9C58684BEFF0.dita#GUID-EBE480D9-E377-32F4-9AE5-9C58684BEFF0/GUID-14F65687-821A-3C30-A27F-A8B5F4688094"><apiname>CApaDataRecognizerType::TRecognizerPriority</apiname></xref>. </p> </dd> </dlentry> <dlentry><dt>Recognizer list</dt> <dd><p>The MIME recognition framework maintains a list of MIME recognizers. The recognizer list is constructed based on the data types the MIME recognizers claim to support and is ordered by priority. </p> </dd> </dlentry> <dlentry><dt>Confidence level</dt> <dd><p>A MIME recognizer reads a small piece of data from the start of a file or stream. It attempts to match the data with one of its known types. If the match is complete it returns the associated data type with full confidence (ECertain) and if there is no match it returns no data type with no confidence (ENotRecognized). If there is a partial match it can return a data type with an intermediate confidence level (EPossible, EUnlikely, ENotRecognized). </p> <p>The confidence of MIME recognizers can be expressed in 5 different levels: </p> <ul><li id="GUID-1C6B8B13-6303-5B3E-804E-9798B8CC39F3"><p> <codeph>ECertain</codeph>  </p> </li> <li id="GUID-9BF81FB9-CF0E-59D6-B7F7-5B31D161B760"><p> <codeph>EProbable</codeph>  </p> </li> <li id="GUID-9F2047BD-67C0-57D6-88A7-0B087D99F4BA"><p> <codeph>EPossible</codeph>  </p> </li> <li id="GUID-7A4B066D-9884-5F8E-B455-588DE546EB69"><p> <codeph>EUnlikely</codeph>  </p> </li> <li id="GUID-71651D00-8254-56C4-B26D-DCFB4AA658E5"><p> <codeph>ENotRecognized</codeph>  </p> </li> </ul> <p>By default, the confidence level of the MIME Recognizer is <codeph>ECertain</codeph>. </p> <p>For more details refer <xref href="GUID-EBE480D9-E377-32F4-9AE5-9C58684BEFF0.dita#GUID-EBE480D9-E377-32F4-9AE5-9C58684BEFF0/GUID-3DCAE2B7-E840-3838-83BC-3D7FE73A1757"><apiname>CApaDataRecognizerType::TRecognitionConfidence</apiname></xref>. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>MIME recognizers are <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECOM</xref> plugins, located under <filepath>\sys\bin\</filepath>. </p> <fig id="GUID-981203F5-B7D7-54F4-95E5-AFA2D1286BFF"><title>
              MIME framework architecture 
-          </title> <image href="GUID-497AD33D-F6DC-52D4-85C8-B9E02978ACD4_d0e211010_href.jpg" placement="inline"/></fig> <ul><li id="GUID-17CE2467-5B33-5B07-95A7-CCCF9D66E693"><p>AppArc is the main client of the MIME recognition framework. </p> </li> <li id="GUID-CAEDF3BA-B7AA-5F60-BF9F-CA308CAF7002"><p>Applications that need data type recognition use the MIME recognition framework via AppArc APIs. </p> </li> <li id="GUID-E3763687-3E7D-5D24-BC92-88DE1CC11D2B"><p>The MIME recognition framework delegates the data type identification task to an appropriate MIME recognizer. </p> </li> <li id="GUID-94882AE7-A578-507C-AE2E-6C778B78F52B"><p>The MIME recognizer identifies the data type. </p> </li> <li id="GUID-5F74226E-0EAA-5338-BED9-5A58B54ECC2F"><p>AppArc launches the application for the identified data type. </p> </li> </ul> </section> <section><title>APIs</title> <table id="GUID-6573D858-F2D1-5E0C-B330-951D0324702C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-EBE480D9-E377-32F4-9AE5-9C58684BEFF0.dita"><apiname>CApaDataRecognizerType</apiname></xref>  </p> </entry> <entry><p>Is the abstract base class for a recognizer. Recognizers need to define and implement a derived class and provide an implementation of the functions.This class contains the MIME APIs related to MIME recognition framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref>  </p> </entry> <entry><p>A session with the application architecture server. The server provides access to a cached list of the applications on the device. This class contains the AppArc APIs related to MIME recognition framework. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The MIME recognition framework allows the plug-in writers to: </p> <ul><li id="GUID-FEBCF579-E483-58D3-9BEB-A9A50F58F1FA"><p><xref href="GUID-1AAA88BB-19AD-5B8E-993C-11F4B7CD90EB.dita">Write Data(MIME) Recogzisers</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-497AD33D-F6DC-52D4-85C8-B9E02978ACD4_d0e217011_href.jpg" placement="inline"/></fig> <ul><li id="GUID-17CE2467-5B33-5B07-95A7-CCCF9D66E693"><p>AppArc is the main client of the MIME recognition framework. </p> </li> <li id="GUID-CAEDF3BA-B7AA-5F60-BF9F-CA308CAF7002"><p>Applications that need data type recognition use the MIME recognition framework via AppArc APIs. </p> </li> <li id="GUID-E3763687-3E7D-5D24-BC92-88DE1CC11D2B"><p>The MIME recognition framework delegates the data type identification task to an appropriate MIME recognizer. </p> </li> <li id="GUID-94882AE7-A578-507C-AE2E-6C778B78F52B"><p>The MIME recognizer identifies the data type. </p> </li> <li id="GUID-5F74226E-0EAA-5338-BED9-5A58B54ECC2F"><p>AppArc launches the application for the identified data type. </p> </li> </ul> </section> <section><title>APIs</title> <table id="GUID-6573D858-F2D1-5E0C-B330-951D0324702C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-EBE480D9-E377-32F4-9AE5-9C58684BEFF0.dita"><apiname>CApaDataRecognizerType</apiname></xref>  </p> </entry> <entry><p>Is the abstract base class for a recognizer. Recognizers need to define and implement a derived class and provide an implementation of the functions.This class contains the MIME APIs related to MIME recognition framework. </p> </entry> </row> <row><entry><p> <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref>  </p> </entry> <entry><p>A session with the application architecture server. The server provides access to a cached list of the applications on the device. This class contains the AppArc APIs related to MIME recognition framework. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The MIME recognition framework allows the plug-in writers to: </p> <ul><li id="GUID-FEBCF579-E483-58D3-9BEB-A9A50F58F1FA"><p><xref href="GUID-1AAA88BB-19AD-5B8E-993C-11F4B7CD90EB.dita">Write Data(MIME) Recogzisers</xref>  </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EBF025DB-1552-5E99-8C07-09932DB60552.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EBF025DB-1552-5E99-8C07-09932DB60552.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -503,7 +503,7 @@
 true. </p> <p>Consider the following case. A request has been made to read
 1024 bytes from a media device that has a block size of 512 bytes. The 1024
 bytes start at offset +256 on the media device. </p> <fig id="GUID-30EA5683-9B12-59D6-88EF-21F4E84988B3">
-<image href="GUID-12CD8E91-4102-5253-A7DE-E5436028764F_d0e406936_href.png" placement="inline"/>
+<image href="GUID-12CD8E91-4102-5253-A7DE-E5436028764F_d0e412789_href.png" placement="inline"/>
 </fig> <p>To get the first 256 bytes, you must read the first block of 512
 bytes from the media device. This can corrupt the physical memory passed in
 the I/O request. The solution is to read the first block from the media device
--- a/Symbian3/PDK/Source/GUID-EBF4F1F1-F76B-455B-B8EE-B7965CF0717E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EBF4F1F1-F76B-455B-B8EE-B7965CF0717E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -37,7 +37,7 @@
 which enables user side code to get information about a device. </p> <p>The
 following diagram shows the general idea: </p><fig id="GUID-CB291406-75EC-572E-8A21-280A5F0A6B9E">
 <title>              Device driver LDD/PDD model            </title>
-<image href="GUID-6EB38F10-849D-5763-96A0-A0A108982D67_d0e291028_href.png" placement="inline"/>
+<image href="GUID-6EB38F10-849D-5763-96A0-A0A108982D67_d0e297020_href.png" placement="inline"/>
 </fig><p>To make porting to particular hardware platforms easier, some drivers
 make a further logical split in their PDD code between a platform-independent
 layer (PIL), which contains code that is common to all the hardware platforms
--- a/Symbian3/PDK/Source/GUID-EBFD653D-6E6A-5F6F-88D7-8CCE07B4002D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EBFD653D-6E6A-5F6F-88D7-8CCE07B4002D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -69,7 +69,7 @@
 and management of <codeph>TProperty</codeph> objects are part of Symbian platform's
 internal implementation and will not be discussed further. </p> <fig id="GUID-8A0D9C1E-00D7-5369-AD9C-28AA9151612F">
 <title>Objects internal to Symbian platform</title>
-<image href="GUID-31CE66F2-B36C-56ED-A399-BA9EFA179DED_d0e302614_href.png" placement="inline"/>
+<image href="GUID-31CE66F2-B36C-56ED-A399-BA9EFA179DED_d0e308606_href.png" placement="inline"/>
 </fig> <p>To establish a reference to a property, create an <xref href="GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2.dita"><apiname>RPropertyRef</apiname></xref> object,
 and then use one of the following functions: </p> <ul>
 <li id="GUID-87D76A73-6429-5D4C-8321-A98F756C30F5"><p> <xref href="GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2.dita#GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2/GUID-DBEDDC3A-AE6F-3CAF-B251-4AA556EAF21C"><apiname>RPropertyRef::Attach()</apiname></xref> -
--- a/Symbian3/PDK/Source/GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,126 +1,118 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6" xml:lang="en"><title>Resource
-file structure</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><xref href="GUID-5F749184-C804-41FC-BA81-038783BDC967.dita">Resource</xref> files
-may consist of comments, C++ pre-processor statements, and structure statements
-indicated by predefined keywords.</p>
-<p>For more information on the format of resource files, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/index.html#DevTools%2dref%2erss" format="application/java-archive">Resource file source format</xref>.</p>
-<p>For a commented example of a resource file, see <xref href="GUID-411ACFE6-0324-4330-ABCD-97A925759A3C.dita">Resource
-management example: HelloWorldBasic</xref>.</p>
-<p>A resource file has the following structure:</p>
-<section id="GUID-727A33A2-4324-4834-88B2-0D461C2A1732"><title>Comments</title>
-<p>You can use either C (<parmname>/* */</parmname>) or C++ (<parmname>//</parmname>)
-style comments.</p>
-<p>For more information on the lexical conventions of resource files, see
- <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.conventions.html#DevTools%2dref%2erss%2e2" format="application/java-archive">Lexical conventions</xref>.</p>
-</section>
-<section id="GUID-D8ED42A3-6BB7-4A7E-A0AB-3932D4366AAE"><title>NAME statements</title>
-<p>The first non-comment statement in a resource must be the <parmname>NAME</parmname> statement.
-The syntax is as follows:</p>
-<codeblock id="GUID-C90E900E-4539-47BB-B51B-0F600B0DE86E" xml:space="preserve">NAME name</codeblock>
-<p>where <parmname>name</parmname> is a 4 letter ID that is unique in the
-application. This ID is used to differentiate and access resource files when
-an application uses multiple resource files.</p>
-<p>For more information on the <parmname>NAME</parmname> statement, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format-NAME.html#DevTools%2dref%2erss%2dname" format="application/java-archive">NAME statement</xref>. </p>
-</section>
-<section id="GUID-F27B120A-3B53-4B8A-828C-302B95E6E520"><title>C++ pre-processor
-statements</title>
-<p>The resource compiler supports a set of pre-processor statements, including:</p>
-<ul>
-<li><p><parmname>#define</parmname></p></li>
-<li><p><parmname>#include</parmname></p></li>
-<li><p><parmname>#ifdef</parmname></p></li>
-<li><p><parmname>#ifndef</parmname></p></li>
-<li><p><parmname>#if</parmname></p></li>
-<li><p><parmname>#else</parmname></p></li>
-<li><p><parmname>#endif</parmname></p></li>
-</ul>
-<p>For more information on the supported pre-processor statements, see
- <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.preprocess.html#DevTools%2dref%2erss%2e3" format="application/java-archive">C++ pre-processor statements</xref>.</p>
-<p>Typically, resource files contain <parmname>#includes</parmname> statements
-for the following files:</p>
-<ul>
-<li><p><parmname>appinfo.rh</parmname></p></li>
-<li><p><parmname>avkon.rh</parmname></p></li>
-<li><p><parmname>avkon.rsg</parmname></p></li>
-<li><p><parmname>eikon.rh</parmname></p></li>
-</ul>
-<p>These files are located under the <parmname>/Epoc32/include</parmname> folder.
-They contain the structure declarations for commonly used data structures
-in the Symbian platform.</p>
-
-</section>
-<section id="GUID-9D5B35E3-21F3-4E22-B03B-8C9E6E1027C9"><title>RESOURCE statements
-syntax</title>
-<p>The RESOURCE keyword is used to declare a resource in a resource file.
-The syntax is as follows:</p>
-<codeblock id="GUID-88C7579F-4917-488F-8834-0579A3150D85" xml:space="preserve">RESOURCE &lt;STRUCT_NAME&gt; | &lt;resource_name&gt; |
-{
-&lt;resource-initialiser-list&gt;
-}</codeblock>
-<p>where:</p>
-<ul>
-<li><p><parmname>&lt;STRUCT_NAME&gt;</parmname> is the name of a declared
-data structure in an included resource header file.</p><p><parmname>&lt;STRUCT_NAME&gt;</parmname> must
-be in upper case.</p></li>
-<li><p><parmname>resource_name</parmname> identifies the resource
-.</p><p><parmname>resource_name</parmname> must be in lower case.</p>
-</li>
-<li><p><parmname>resource-initialiser-list</parmname> contains the
-values the members of the structure should be initialized with when the default
-values should not be used.</p></li>
-</ul>
-<p><parmname>RESOURCE</parmname> statements may include resources defined
-within other resource statements in the resource file. For example:</p>
-<codeblock id="GUID-7F4CC81B-A596-4341-ACF2-61FEF518A9FF" xml:space="preserve">RESOURCE EIK_APP_INFO
-    {
-    menubar = r_name;
-    }</codeblock>
-<p>uses a resource declared in a later statement to define its menu bar.
-For more information, see<xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/uikon/EIK_APP_INFO.html#EIK_APP_INFO" format="application/java-archive"><parmname>EIK_APP_INFO</parmname></xref>.</p>
-<p>Resource statements may also included nested resource structures. For
-example:</p>
-<codeblock id="GUID-4A787831-2658-4BC0-939A-1346C3C05FE4" xml:space="preserve">RESOURCE MENU_PANE r_name2
-    {
-    items =
-        {
-         MENU_TITLE 
-             {
-	             menu_pane = r_name3;
-	             }
-         };
-    }</codeblock>
-<p>For more information on the <parmname>MENU_PANE</parmname> resource
-see ,  <xref href="GUID-E849C798-07A0-47B3-BDBF-203325062FBD.dita">Menu bar resource
-statements</xref>.</p>
-<p>For more information on structures, see:</p>
-<ul>
-<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.struct.html#DevTools%2dref%2erss%2dstruct" format="application/java-archive">STRUCT
-statement</xref></p></li>
-<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.struct-member.html#DevTools%2dref%2erss%2ddefine%2dmember" format="application/java-archive">STRUCT member types</xref></p></li>
-<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.arrays.html#DevTools%2dref%2erss%2darray" format="application/java-archive">Arrays
-within structs</xref></p></li>
-</ul>
-<p>For more on resource statements, see:</p>
-<ul>
-<li><p><xref href="GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita">Required
-resource file statements</xref></p>
-</li>
-<li><p><xref href="GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita">Optional
-resource file statements</xref></p>
-</li>
-<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.resource.html#DevTools%2dref%2erss%2dresource" format="application/java-archive">RESOURCE
-statement</xref>.</p></li>
-</ul>
-</section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-EC49B54F-7724-433B-BD7F-201DE3B7DAA6" xml:lang="en"><title>Resource file structure</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p><xref href="GUID-5F749184-C804-41FC-BA81-038783BDC967.dita">Resource</xref> files may consist of comments, C++ pre-processor statements, and
+structure statements indicated by predefined keywords.</p>
+<p>For more information on the format of resource files, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/index.html#DevTools%2dref%2erss" format="application/java-archive">Resource file source format</xref>.</p>
+<p>For a commented example of a resource file, see <xref href="GUID-411ACFE6-0324-4330-ABCD-97A925759A3C.dita">Resource
+management example: HelloWorldBasic</xref>.</p>
+<p>A resource file has the following structure:</p>
+<section id="GUID-727A33A2-4324-4834-88B2-0D461C2A1732"><title>Comments</title>
+<p>You can use either C (<parmname>/* */</parmname>) or C++ (<parmname>//</parmname>) style comments.</p>
+<p>For more information on the lexical conventions of resource
+files, see  <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.conventions.html#DevTools%2dref%2erss%2e2" format="application/java-archive">Lexical conventions</xref>.</p>
+</section>
+<section id="GUID-D8ED42A3-6BB7-4A7E-A0AB-3932D4366AAE"><title>NAME
+statements</title>
+<p>The first non-comment statement in a resource must be the <parmname>NAME</parmname> statement. The syntax is as follows:</p>
+<codeblock id="GUID-C90E900E-4539-47BB-B51B-0F600B0DE86E" xml:space="preserve">NAME name</codeblock>
+<p>where <parmname>name</parmname> is a 4 letter ID that is unique
+in the application. This ID is used to differentiate and access resource
+files when an application uses multiple resource files.</p>
+<p>For more information on the <parmname>NAME</parmname> statement,
+see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format-NAME.html#DevTools%2dref%2erss%2dname" format="application/java-archive">NAME statement</xref>. </p>
+</section>
+<section id="GUID-F27B120A-3B53-4B8A-828C-302B95E6E520"><title>C++ pre-processor
+statements</title>
+<p>The resource compiler supports a set of pre-processor statements,
+including:</p>
+<ul>
+<li><p><parmname>#define</parmname></p></li>
+<li><p><parmname>#include</parmname></p></li>
+<li><p><parmname>#ifdef</parmname></p></li>
+<li><p><parmname>#ifndef</parmname></p></li>
+<li><p><parmname>#if</parmname></p></li>
+<li><p><parmname>#else</parmname></p></li>
+<li><p><parmname>#endif</parmname></p></li>
+</ul>
+<p>For more information on the supported pre-processor statements,
+see  <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.preprocess.html#DevTools%2dref%2erss%2e3" format="application/java-archive">C++ pre-processor statements</xref>.</p>
+<p>Typically, resource files contain <parmname>#includes</parmname> statements for the following files:</p>
+<ul>
+<li><p><parmname>appinfo.rh</parmname></p></li>
+<li><p><parmname>avkon.rh</parmname></p></li>
+<li><p><parmname>avkon.rsg</parmname></p></li>
+<li><p><parmname>eikon.rh</parmname></p></li>
+</ul>
+<p>These files are located under the <parmname>/Epoc32/include</parmname> folder. They contain the structure declarations for commonly used
+data structures in the Symbian platform.</p>
+
+</section>
+<section id="GUID-9D5B35E3-21F3-4E22-B03B-8C9E6E1027C9"><title>RESOURCE
+statements syntax</title>
+<p>The RESOURCE keyword is used to declare a resource in a resource
+file. The syntax is as follows:</p>
+<codeblock id="GUID-88C7579F-4917-488F-8834-0579A3150D85" xml:space="preserve">RESOURCE &lt;STRUCT_NAME&gt; | &lt;resource_name&gt; |
+{
+&lt;resource-initialiser-list&gt;
+}</codeblock>
+<p>where:</p>
+<ul>
+<li><p><parmname>&lt;STRUCT_NAME&gt;</parmname> is the name
+of a declared data structure in an included resource header file.</p>
+<p><parmname>&lt;STRUCT_NAME&gt;</parmname> must be in upper case.</p>
+</li>
+<li><p><parmname>resource_name</parmname> identifies the
+resource .</p><p><parmname>resource_name</parmname> must be
+in lower case.</p></li>
+<li><p><parmname>resource-initialiser-list</parmname> contains
+the values the members of the structure should be initialized with
+when the default values should not be used.</p></li>
+</ul>
+<p><parmname>RESOURCE</parmname> statements may include resources
+defined within other resource statements in the resource file. For
+example:</p>
+<codeblock id="GUID-7F4CC81B-A596-4341-ACF2-61FEF518A9FF" xml:space="preserve">RESOURCE EIK_APP_INFO
+    {
+    menubar = r_name;
+    }</codeblock>
+<p>uses a resource declared in a later statement to define its
+menu bar. For more information, see<xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/reference/reference-resource/uikon/EIK_APP_INFO.html#EIK_APP_INFO" format="application/java-archive"><parmname>EIK_APP_INFO</parmname></xref>.</p>
+<p>Resource statements may also included nested resource structures.
+For example:</p>
+<codeblock id="GUID-4A787831-2658-4BC0-939A-1346C3C05FE4" xml:space="preserve">RESOURCE MENU_PANE r_name2
+    {
+    items =
+        {
+         MENU_TITLE 
+             {
+	             menu_pane = r_name3;
+	             }
+         };
+    }</codeblock>
+<p>For more information on the <parmname>MENU_PANE</parmname> resource
+see ,  <xref href="GUID-E849C798-07A0-47B3-BDBF-203325062FBD.dita">Menu
+bar resource statements</xref>.</p>
+<p>For more information on structures, see:</p>
+<ul>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.struct.html#DevTools%2dref%2erss%2dstruct" format="application/java-archive">STRUCT statement</xref></p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.struct-member.html#DevTools%2dref%2erss%2ddefine%2dmember" format="application/java-archive">STRUCT member types</xref></p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.arrays.html#DevTools%2dref%2erss%2darray" format="application/java-archive">Arrays within structs</xref></p></li>
+</ul>
+<p>For more on resource statements, see:</p>
+<ul>
+<li><p><xref href="GUID-23A60DE7-B72D-41BD-9F1E-882D31A7E3C7.dita">Required resource file statements</xref></p></li>
+<li><p><xref href="GUID-2C74E932-B1CA-434B-AF96-66D52D689620.dita">Optional resource file statements</xref></p></li>
+<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/DevTools-ref/ResourceFileFormat/Tool_Ref_RSS-file-format.resource.html#DevTools%2dref%2erss%2dresource" format="application/java-archive">RESOURCE statement</xref>.</p></li>
+</ul>
+</section>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-EC6B9856-978A-5C5C-AC44-B6C93D631FD6_d0e450816_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC6B9856-978A-5C5C-AC44-B6C93D631FD6_d0e456661_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC6C21FB-16E1-57FA-B995-8B0F34B6588A_d0e489112_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC6C21FB-16E1-57FA-B995-8B0F34B6588A_d0e494933_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-EC7DE823-BFAC-47E5-B7CC-154B11FE5D77.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-EC7DE823-BFAC-47E5-B7CC-154B11FE5D77" xml:lang="en"><title>Obsolete
+NKern Interrupt Methods</title><shortdesc>This document specifies two obsolete interrupt handling methods
+and describes their replacement.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-5AE312EB-D12B-4836-AAEA-9A54E179DE5C"><title>Description
+of the obsolete interrupt methods</title><p>The obsolete <codeph>NKern</codeph> interrupt
+methods are: </p><ul>
+<li><p><xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-CA1C36B7-02EE-31D5-B700-27DE4769ECCF"><apiname>NKern::DisableInterrupts()</apiname></xref> and</p></li>
+<li><p><xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-8C251C65-FDE7-3161-8D2B-61401FB6487F"><apiname>NKern::DisableAllInterrupts()</apiname></xref></p></li>
+</ul><p>These methods are used (with other methods in the <codeph>NKern</codeph> class)
+to protect shared data between an ISR (Interrupt Service Request) and a thread
+(or a DFC (Delayed Function Call )). </p><p>The steps involved in disabling/enabling
+an interrupt are:</p><ol>
+<li id="GUID-68D7CCE7-6855-4817-BC0C-D5B70E485450"><p>Disable the interrupts</p></li>
+<li id="GUID-81CB8BE3-8663-4CF6-A0CA-E2A43B0ADB74"><p>Process the data</p></li>
+<li id="GUID-8D5DBB24-4FB7-4E9B-8714-AFFBDE060346"><p>Re-enable the interrupts</p></li>
+</ol><note>The time spent processing the data must be as short as possible,
+otherwise performance problems could occur.</note> </section>
+<section id="GUID-E58BC240-4388-4BD8-A5CB-A79C3502AD07"><title>The reason
+why these methods are obsolete</title><p>These methods only affect the core
+that the thread is running on instead of all the cores on the system.</p></section>
+<section id="GUID-9F89D474-D2AB-4DE9-92F3-7B1A1677EDB7"><title>The replacement
+for these methods</title><p>These methods have been replaced by the following:</p><ul>
+<li><p><xref href="GUID-16AB388A-ED3E-4901-857D-834072437D25.dita">Spin Lock</xref> macros</p><p>These
+macros automatically carry out the required interrupt operations.</p></li>
+<li><p><xref href="GUID-1F280171-A3F3-4129-8DBE-3B1C4D629C68.dita">Atomic Operations</xref></p></li>
+</ul></section>
+<section id="GUID-B6EEC990-2DBF-4858-8B40-7D0BC489C6DE"><title>Areas that
+could be affected</title><p>These obsolete methods are used within drivers
+and the following points should be considered when removing them:</p><ul>
+<li><p>Could the same functionality be accomplished by disabling the interrupts
+in hardware?</p></li>
+<li><p>Are these methods required at all?</p><p>If memory is not accessible
+in ISR (Interrupt Service Request) routines, then use spin locks or atomic
+operations.</p></li>
+<li><p>Explore the use of DFC (Delayed Function Call) signalling.</p></li>
+</ul></section>
+</conbody><related-links>
+<link href="GUID-734588CA-5644-438A-9CC9-77ECBE0C1EEA.dita"><linktext>Obsolete
+Mechanisms</linktext></link>
+<link href="GUID-16AB388A-ED3E-4901-857D-834072437D25.dita"><linktext>Spin Locks</linktext>
+</link>
+<link href="GUID-1F280171-A3F3-4129-8DBE-3B1C4D629C68.dita"><linktext> Atomic Operations</linktext>
+</link>
+</related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e101368_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e79773_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e83971_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e86312_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e90510_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e97289_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC824DA2-CA19-567C-8218-7C6E1C5ED461_d0e481267_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EC824DA2-CA19-567C-8218-7C6E1C5ED461_d0e487096_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EC98E7E0-872D-467D-BDC8-6471F6165705.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EC98E7E0-872D-467D-BDC8-6471F6165705.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 the indicator.</p>
 <fig id="GUID-9ACEF376-FE52-4834-8A67-53EA68BACFBF">
 <title>Universal indicator pop-up</title>
-<image href="GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e91232_href.png" placement="inline"/>
+<image href="GUID-2CBD504A-5538-4823-9139-2941A0BA5E8B_d0e95430_href.png" placement="inline"/>
 </fig>
 <p/>
 <table id="GUID-03B51B9A-B474-4AB8-8957-6E025AA854F0"><title>Default touch
Binary file Symbian3/PDK/Source/GUID-ECACB935-AD19-5BE6-AC27-A63465244087_d0e219852_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ECACB935-AD19-5BE6-AC27-A63465244087_d0e225872_href.png has changed
--- a/Symbian3/PDK/Source/GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,7 +9,7 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781"><title>Audio Output Streaming Tutorial</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to use Audio Output Streaming. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to open, play and then close an audio output stream. </p> <p><b>Required Background</b> </p> <p>The user needs to maintain the data packets in a queue before starting to send it to the server. There is no need for the entire sound clip to arrive to be able to pass on to the low level audio controller. They can be forwarded as they arrive. If the server tends to receive data more than it can read or process, then a separate queue is maintained in the client side whose elements are references to the buffers passed to it. Once the server is free to receive more data the client sends the data in the queue and receives a notification from the server by means of a callback. As a result of this, the client deletes the data fragments from the queue. </p> <p>Upon receiving the data packets the audio controller maintains them in the received buffers. A read function is instantiated to read the data into the destination descriptors. </p> <p><b>Introduction</b> </p> <p>The Audio streaming API is the interface providing the functionalities for playing, stopping, and recording the audio stream to and from the audio buffers. The audio output stream interface class, <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita"><apiname>CMdaAudioOutputStream</apiname></xref>, enables client applications to: </p> <ul><li id="GUID-542B9854-AF72-5A00-B05C-AF7DE8C56916"><p>Stream raw audio data from specified buffers to audio devices. </p> </li> <li id="GUID-C4F56B32-661A-5160-AE11-C11BCCDA856E"><p>Specify the priority of the audio stream relative to other clients trying to use the same hardware. </p> </li> <li id="GUID-40790849-788F-56A1-8116-90AA755698DE"><p>Set the sample rate and the number of audio channels before playback. </p> </li> <li id="GUID-3664365E-FB62-5EB6-B396-B83655ECC49C"><p>Adjust the volume and channel balance during playback. </p> </li> </ul> </section> <section><title>Using Audio Output Streaming </title> <p>Typically, using an audio output stream involves the following steps as shown in the sequence diagram below: </p> <fig id="GUID-2D2AAE41-55E6-5BB6-B572-0A8C8015054C"><image href="GUID-534C1D1A-9450-5A1B-933F-5157039BF069_d0e516976_href.png" placement="inline"/></fig> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-C498F32D-D466-5C10-893D-71B8168E6C1D"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-7435C237-DB6C-516E-BB4D-C31BF96470B0"> Constructing an audio output stream</xref>  </p> </li> <li id="GUID-F66078F3-9125-5277-BEAF-2740869354ED"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-A48822BE-E726-5892-A83D-CDD224C27EA0"> Opening an audio output stream</xref>  </p> </li> <li id="GUID-F3A82F27-5406-5937-BC5E-E83D9C7A6F6B"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-E21EE5D7-42ED-5D7C-AB8F-000D6BBE88A9">Getting and setting the stream properties</xref>  </p> </li> <li id="GUID-5F166776-8C9C-5C00-8A39-E77C9157DF59"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-CD886111-BE51-523D-A782-FA35A3889A0B"> Playing an audio output stream</xref>  </p> </li> <li id="GUID-7F60C260-A0B3-51C7-A1B1-4BE5A3F7E03A"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-B18F568C-E82B-5D46-A225-96816258E8AB">Stopping an audio output stream</xref>  </p> </li> </ul> <p id="GUID-7435C237-DB6C-516E-BB4D-C31BF96470B0"><b>Basic Procedure for Constructing an Audio Output Stream</b> </p> <p>The high level step to construct an audio output stream is shown here: </p> <ul><li id="GUID-8314E401-E900-587A-A7DD-2899214AB883"><p>The client application creates an audio output stream object using the static function <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita#GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D/GUID-B4D44672-C628-304A-B36E-8AF0ACAA8A80"><apiname>CMdaAudioOutputStream::NewL()</apiname></xref>. Optionally, it also sets the audio priorities to be able to access the audio hardware in relation to the other clients trying to access the same device. </p> <codeblock id="GUID-ACD5FF96-44F1-5DC8-8A89-CD3C193EAACE" xml:space="preserve">static IMPORT_C CMdaAudioOutputStream *NewL(MMdaAudioOutputStreamCallback &amp;aCallBack, 
+<concept xml:lang="en" id="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781"><title>Audio Output Streaming Tutorial</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to use Audio Output Streaming. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to open, play and then close an audio output stream. </p> <p><b>Required Background</b> </p> <p>The user needs to maintain the data packets in a queue before starting to send it to the server. There is no need for the entire sound clip to arrive to be able to pass on to the low level audio controller. They can be forwarded as they arrive. If the server tends to receive data more than it can read or process, then a separate queue is maintained in the client side whose elements are references to the buffers passed to it. Once the server is free to receive more data the client sends the data in the queue and receives a notification from the server by means of a callback. As a result of this, the client deletes the data fragments from the queue. </p> <p>Upon receiving the data packets the audio controller maintains them in the received buffers. A read function is instantiated to read the data into the destination descriptors. </p> <p><b>Introduction</b> </p> <p>The Audio streaming API is the interface providing the functionalities for playing, stopping, and recording the audio stream to and from the audio buffers. The audio output stream interface class, <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita"><apiname>CMdaAudioOutputStream</apiname></xref>, enables client applications to: </p> <ul><li id="GUID-542B9854-AF72-5A00-B05C-AF7DE8C56916"><p>Stream raw audio data from specified buffers to audio devices. </p> </li> <li id="GUID-C4F56B32-661A-5160-AE11-C11BCCDA856E"><p>Specify the priority of the audio stream relative to other clients trying to use the same hardware. </p> </li> <li id="GUID-40790849-788F-56A1-8116-90AA755698DE"><p>Set the sample rate and the number of audio channels before playback. </p> </li> <li id="GUID-3664365E-FB62-5EB6-B396-B83655ECC49C"><p>Adjust the volume and channel balance during playback. </p> </li> </ul> </section> <section><title>Using Audio Output Streaming </title> <p>Typically, using an audio output stream involves the following steps as shown in the sequence diagram below: </p> <fig id="GUID-2D2AAE41-55E6-5BB6-B572-0A8C8015054C"><image href="GUID-534C1D1A-9450-5A1B-933F-5157039BF069_d0e524436_href.png" placement="inline"/></fig> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-C498F32D-D466-5C10-893D-71B8168E6C1D"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-7435C237-DB6C-516E-BB4D-C31BF96470B0"> Constructing an audio output stream</xref>  </p> </li> <li id="GUID-F66078F3-9125-5277-BEAF-2740869354ED"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-A48822BE-E726-5892-A83D-CDD224C27EA0"> Opening an audio output stream</xref>  </p> </li> <li id="GUID-F3A82F27-5406-5937-BC5E-E83D9C7A6F6B"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-E21EE5D7-42ED-5D7C-AB8F-000D6BBE88A9">Getting and setting the stream properties</xref>  </p> </li> <li id="GUID-5F166776-8C9C-5C00-8A39-E77C9157DF59"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-CD886111-BE51-523D-A782-FA35A3889A0B"> Playing an audio output stream</xref>  </p> </li> <li id="GUID-7F60C260-A0B3-51C7-A1B1-4BE5A3F7E03A"><p><xref href="GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781.dita#GUID-ECBA6331-2187-52C9-A5DF-20CD1EEFE781/GUID-B18F568C-E82B-5D46-A225-96816258E8AB">Stopping an audio output stream</xref>  </p> </li> </ul> <p id="GUID-7435C237-DB6C-516E-BB4D-C31BF96470B0"><b>Basic Procedure for Constructing an Audio Output Stream</b> </p> <p>The high level step to construct an audio output stream is shown here: </p> <ul><li id="GUID-8314E401-E900-587A-A7DD-2899214AB883"><p>The client application creates an audio output stream object using the static function <xref href="GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D.dita#GUID-B87C8F92-9737-3636-9800-BA267A1DCA6D/GUID-B4D44672-C628-304A-B36E-8AF0ACAA8A80"><apiname>CMdaAudioOutputStream::NewL()</apiname></xref>. Optionally, it also sets the audio priorities to be able to access the audio hardware in relation to the other clients trying to access the same device. </p> <codeblock id="GUID-ACD5FF96-44F1-5DC8-8A89-CD3C193EAACE" xml:space="preserve">static IMPORT_C CMdaAudioOutputStream *NewL(MMdaAudioOutputStreamCallback &amp;aCallBack, 
 TInt aPriority, TMdaPriorityPreference aPref=EMdaPriorityPreferenceTimeAndQuality);</codeblock> </li> </ul> <p id="GUID-A48822BE-E726-5892-A83D-CDD224C27EA0"><b>Basic Procedure for Opening an Audio Output Stream </b> </p> <p>The high level steps to open an audio output stream are shown here: </p> <ol id="GUID-B7CF17BD-41ED-5B34-8801-7101170D43C9"><li id="GUID-074798AB-3B28-52FA-9082-0B34DBB6118C"><p>To open the output stream, use the <xref href="GUID-20D0D10F-3401-3F72-8AF6-DC35F6025DC2.dita"><apiname>Open()</apiname></xref> member function. For example: </p> <codeblock id="GUID-7EA3B237-91BB-5933-AAEE-1A59375BF004" xml:space="preserve">virtual void Open(TMdaPackage* aSettings);</codeblock> </li> <li id="GUID-2D96C7A5-A81C-5B6A-A977-5A897B357FEE"><p>Once the stream is open <xref href="GUID-A35C1D9B-DC43-39FB-9FF1-39CD01D981B8.dita#GUID-A35C1D9B-DC43-39FB-9FF1-39CD01D981B8/GUID-148F9A5D-883E-3E9E-A3F4-FBACFACC2CB4"><apiname>MMdaAudioOutputStreamCallback::MaoscOpenComplete()</apiname></xref> is invoked to indicate that the stream is ready to use. </p> <codeblock id="GUID-6F18FC40-E21D-58D9-8703-0BDA17E69F0A" xml:space="preserve">void CIOStreamAudio::MaoscOpenComplete(TInt aError)
     {
     ASSERT(iState==EStateOpeningOutput);
--- a/Symbian3/PDK/Source/GUID-ED784025-4E65-4BE9-ADA8-A13427B6EA30.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-ED784025-4E65-4BE9-ADA8-A13427B6EA30.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 <p>Marked items are indicated graphically.</p>
 <fig id="GUID-171B4713-C197-4D05-9FBC-E3296C26ABFF">
 <title>Markable list. Marked items are indicated graphically in the list.</title>
-<image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e85341_href.png" placement="inline"/>
+<image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e89539_href.png" placement="inline"/>
 </fig>
 <p>The <b>Mark</b> and <b>Unmark</b> functions are available in the Options
 menu of the markable list. Alternatively, or as a shortcut, the user can keep
Binary file Symbian3/PDK/Source/GUID-ED823C5E-A59B-476A-BF88-0FCBA5D35FED_d0e100410_href.png has changed
Binary file Symbian3/PDK/Source/GUID-ED823C5E-A59B-476A-BF88-0FCBA5D35FED_d0e104495_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDAF82B1-C388-5F57-890F-68010A6E5800_d0e450008_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDAF82B1-C388-5F57-890F-68010A6E5800_d0e455853_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e79198_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e79578_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e83396_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e83776_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDBCCC26-BA4D-4318-9F0D-62272FA97BBF_d0e95358_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EDC16636-B24E-598B-9084-EAE782A4A213.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EDC16636-B24E-598B-9084-EAE782A4A213.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 network and creates a bearer to access the Wi-Fi network. The device then
 moves all the existing connections across to the Wi-Fi bearer. In the final
 step the device disconnects from the GPRS network. </p> </desc>
-<image href="GUID-65A4BA91-579F-5B9B-ACC1-D3D9B1F233B7_d0e107858_href.png" placement="inline"/>
+<image href="GUID-65A4BA91-579F-5B9B-ACC1-D3D9B1F233B7_d0e110301_href.png" placement="inline"/>
 </fig>
 <p>Bearer Mobility operates in response to changes in the environment of the
 device. A bearer is known as <i>available</i> when the device is in range
Binary file Symbian3/PDK/Source/GUID-EDC39EFF-B633-41DE-93A4-A52D2E7A4A64_d0e90175_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-EDC39EFF-B633-41DE-93A4-A52D2E7A4A64_d0e94373_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-EDC405DC-F222-59CD-836E-180F8E1D2D11_d0e237481_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EDC405DC-F222-59CD-836E-180F8E1D2D11_d0e243454_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EDCBBB5E-FAAD-50A5-9EE4-B4F399B77CE9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-EDCBBB5E-FAAD-50A5-9EE4-B4F399B77CE9" xml:lang="en"><title>bld.inf
-file syntax overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Component definition files, which are always called <filepath>bld.inf</filepath>,
-are used by <filepath>bldmake</filepath> to define the <filepath>abld.bat</filepath> and
-makefiles to be created. </p>
-<p> <filepath>bld.inf</filepath> files are made up of a number of sections,
-with headers <codeph>prj_platforms</codeph>, <codeph>prj_exports</codeph>, <codeph>prj_testexports</codeph>,
-and <codeph>prj_mmpfiles</codeph>. </p>
-<p>Note that: </p>
-<ul>
-<li id="GUID-875CF96D-B898-5119-A001-61F3F71855F3"><p>Each section header
-can appear any number of times in the file (including none). </p> </li>
-<li id="GUID-92F814D6-0BD4-580F-9A00-3F738751205A"><p>The section headers
-and their data are case-insensitive. </p> </li>
-<li id="GUID-C8A564A9-E6DB-5AD1-863C-656D4EE51162"><p>A trailing backslash
-is used to indicate a line continuation. </p> </li>
-<li id="GUID-F59AFB06-DA52-5183-B642-97900C9858DB"><p>Use the C++ style comment
-syntax for comments. </p> </li>
-<li id="GUID-873B038F-3E47-5E51-9C1D-CC4E13F91F4E"><p>Preprocessor directives
-such as <codeph>#include</codeph> and <codeph>#ifdef</codeph> can
-be used. </p> </li>
-</ul>
-<example><codeblock id="GUID-4731BBE0-0CEA-5DAA-8CFC-E4375B9A7D44" xml:space="preserve">
-// Files to be exported
-prj_exports
-myheader1.h
-myheader2.h
-
-// Project files
-prj_mmpfiles
-myprj1.mmp
-myprj2.mmp
-
-// Files to be exported for test purposes
-prj_testexports
-mytestheader1.h
-
-// Project files for test programs
-prj_testmmpfiles
-mytest1.mmp
-mytest2.mmp</codeblock></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EDDEA6A0-D45D-5241-B594-94ADDD803646.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EDDEA6A0-D45D-5241-B594-94ADDD803646.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,36 +9,35 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-EDDEA6A0-D45D-5241-B594-94ADDD803646" xml:lang="en"><title>Rendezvous
-Thread rendezvous example code</title><shortdesc>This example demonstrates the use of <codeph>Rendezvous()</codeph> API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-23A83B50-4B34-4DEE-A8BA-83DC3809244C"><title>Purpose</title> <p>The code is a simple example that shows
-the principle of synchronization using the thread rendezvous technique. </p> </section>
-<section id="GUID-B01D0987-EC69-4156-82A7-3B7306F2789E"><title>Class summary</title><ul>
+<reference id="GUID-EDDEA6A0-D45D-5241-B594-94ADDD803646" xml:lang="en"><title>Rendezvous Thread rendezvous example code</title><shortdesc>This example demonstrates the use of <codeph>Rendezvous()</codeph> API. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-23A83B50-4B34-4DEE-A8BA-83DC3809244C"><title>Purpose</title> <p>The code is a simple example that shows the principle of synchronization
+using the thread rendezvous technique. </p> </section>
+<section id="GUID-B01D0987-EC69-4156-82A7-3B7306F2789E"><title>Class
+summary</title><ul>
 <li><p><xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread</apiname></xref> - A handle to a thread.</p></li>
 </ul></section>
-<section id="GUID-A1A279BF-DDFC-4D22-95A0-8F16F18C1CE6"><title>Download</title> <p>Download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-08949ca7-66de-4dcf-9b5e-a0938ea9a3e7.zip" scope="external">Rendezvous.zip</xref>. </p><p>Download some additional files
-required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref>.</p><p>View the source code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-08949ca7-66de-4dcf-9b5e-a0938ea9a3e7.html" scope="peer">browse</xref>. View the additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">browse</xref></p> </section>
-<section id="GUID-DEFCF4B9-452A-5EAF-ABD3-BC4F6FBD528B-GENID-1-12-1-17-1-1-9-1-4-1-25-1-28-1-3-4"><title>Building and
-configuring</title> <ul>
-<li id="GUID-424F9220-DD87-577F-BEA6-8B60E793F058"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-2C1C9600-B7A8-5875-9B8B-2D83C84DBFA6"><p>For the emulator, the
-example builds an executable called <filepath>threadrendezvous.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
+<section id="GUID-A1A279BF-DDFC-4D22-95A0-8F16F18C1CE6"><title>Download</title> <p>Download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-08949ca7-66de-4dcf-9b5e-a0938ea9a3e7.zip" scope="external">Rendezvous.zip</xref>. </p><p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref>.</p><p>View the source
+code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-08949ca7-66de-4dcf-9b5e-a0938ea9a3e7.html" scope="peer">browse</xref>. View the additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">browse</xref></p> </section>
+<section id="GUID-DEFCF4B9-452A-5EAF-ABD3-BC4F6FBD528B-GENID-1-12-1-18-1-1-9-1-4-1-25-1-28-1-3-4"><title>Building
+and configuring</title> <ul>
+<li id="GUID-424F9220-DD87-577F-BEA6-8B60E793F058"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-2C1C9600-B7A8-5875-9B8B-2D83C84DBFA6"><p>For the emulator,
+the example builds an executable called <filepath>threadrendezvous.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
 </ul> </section>
-<section id="GUID-EE6BD4B0-1D8D-459B-9D02-E5671C138716"><title>Running the example</title> <p>When running the example, the
-user is presented with various menu options that are self explanatory. The
-code is a simple example that shows the principle of synchronization using
-the thread rendezvous technique.  </p> </section>
+<section id="GUID-EE6BD4B0-1D8D-459B-9D02-E5671C138716"><title>Running
+the example</title> <p>When running the example, the user is presented
+with various menu options that are self explanatory. The code is a
+simple example that shows the principle of synchronization using the
+thread rendezvous technique.  </p> </section>
 </refbody><related-links>
-<link>
-<desc><xref href="GUID-24477051-265A-5FE5-B479-ACB3EE27B825.dita">Synchronisation
-techniques</xref></desc>
-</link>
+<link href="GUID-24477051-265A-5FE5-B479-ACB3EE27B825.dita"><linktext>Synchronization
+techniques</linktext></link>
 </related-links></reference>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,4 +9,4 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E"><title>ASN-PKCS Overview</title><shortdesc>The ASN-PKCS component provides interfaces for: </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-ABA89F09-85DD-5BB3-92BB-DDF39D42B3F5"><p>Performing <xref scope="external" href="http://tools.ietf.org/html/rfc4792">ASN.1</xref> -DER (Abstract Syntax Notation One - Distinguished Encoding Rules) encoding and decoding of PKCS (Public-Key Cryptography Standards) private keys in raw text as well as PBE (Password-Based Encryption) encrypted forms. </p> </li> <li id="GUID-40921059-C49F-5E38-8297-F5D10F878DC7"><p>Performing ASN.1 encoding and decoding of PBE parameters associated with the private keys. </p> </li> </ul> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Key</dt> <dd><p>A cryptography key is a constant value applied using a cryptographic algorithm to encrypt text or to decrypt encrypted text. </p> <p>Keys are classified as symmetric and asymmetric based on the type of algorithm applied. If the same key is used for both encryption and decryption, it is symmetric. If different keys are used for encryption and decryption, they are asymmetric. Asymmetric keys exist in the form of a public and private key pair, where the public key is used for encryption and the private key is used for decryption. </p> </dd> </dlentry> <dlentry><dt>Key Store</dt> <dd><p>A key store is a repository of keys that can be retrieved and used to accomplish a variety of tasks. </p> <p>The key store provides the following functionality: </p> <ul><li id="GUID-7217616D-996F-5346-BCAD-BC90522B972E"><p>Generation, import and export of RSA, DSA, and DH key pairs </p> </li> <li id="GUID-D759A086-C2BD-5892-AF9B-BEE93C21A55C"><p>Listing of stored keys </p> </li> <li id="GUID-9FC0C694-45E5-5DAB-9938-5BD4F414BE91"><p>Authentication of users </p> </li> <li id="GUID-D350C774-F17B-5D7B-B4DF-8EF3CA7A2AC8"><p>Private key operations for authenticated users </p> </li> </ul> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>The following block diagram describes the interaction of the ASN-PKCS component with the certificate and key stores: </p> <fig id="GUID-7E820717-BAC4-5C14-8A09-7B23989200F6"><image href="GUID-F18AA5AC-80C6-51B2-8D15-61C59D877520_d0e630629_href.jpg" placement="inline"/></fig> <p>The client application accesses the various certificates and keys of the device stored in the respective stores. Depending on the requests received from the store management and implementation components, ASN-PKCS acts on the keys during certain key and certificate manipulation operations. For details of the operations during which the ASN-PKCS APIs are invoked, see <xref href="GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita#GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E/GUID-1586B629-1321-5D65-9995-A312825CF52D">Typical uses</xref>. </p> </section> <section><title>APIs</title> <table id="GUID-96509B7C-3CB2-5AD4-BD6C-0DDEAA7517C8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-6DE1C841-A004-3255-A973-68B86A59A481.dita"><apiname>CDecPKCS8Data</apiname></xref>  </p> </entry> <entry><p>Provides the means to decode <xref scope="external" href="http://www.rsa.com/rsalabs/node.asp?id=2130">PKCS#8</xref> encoded private keys. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-1586B629-1321-5D65-9995-A312825CF52D"><title>Typical uses</title> <p>ASN-PKCS APIs are used for encoding and decoding purposes during the following key and certificate manipulation operations: </p> <ul><li id="GUID-A9151CFF-028F-5BC1-B71E-9F99ACF2E285"><p>Encoding and decoding of PKCS private keys (in raw text and PBE-encrypted forms) during import and export of keys. When PBE-encrypted PKCS keys are imported or exported, the ASN-PKCS APIs also help in encoding or decoding of the PBE parameters. </p> </li> <li id="GUID-F2937C68-BC7D-5A10-AC61-E51139FFDA06"><p>Encoding of the private keys accompanying public key certificates (according to <xref scope="external" href="http://www.rsa.com/rsalabs/node.asp?id=2138">PKCS#12</xref> standards) while creating certificate requests. </p> </li> <li id="GUID-AF0D122F-8A98-53FB-A6FE-AE3ABE4E0847"><p>Creation of <xref scope="external" href="http://www.rsa.com/rsalabs/node.asp?id=2129">PKCS#7</xref> messages for creating the certificate requests. </p> </li> </ul> <p> <b>Notes:</b>  </p> <ul><li id="GUID-C8D72104-9E2C-59F1-A902-7270D998EF9C"><p>Device creators can use the ASN-PKCS component along with their own implementation of the certificate and key stores. </p> </li> <li id="GUID-34D1F3B2-2497-56A9-8E3E-3136D8C99C31"><p>For details of the key and certificate operations, see <xref href="GUID-6C6AED40-D5B3-5613-8F92-FD2CB711AE54.dita">Unified Keystore Tutorials</xref> and <xref href="GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita">Unified Certificate Store Tutorial</xref> respectively. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-39B459CD-8210-59B5-95F4-85CE36676735.dita"><linktext>Unified Stores</linktext> </link> </related-links></concept>
\ No newline at end of file
+<concept xml:lang="en" id="GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E"><title>ASN-PKCS Overview</title><shortdesc>The ASN-PKCS component provides interfaces for: </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-ABA89F09-85DD-5BB3-92BB-DDF39D42B3F5"><p>Performing <xref scope="external" href="http://tools.ietf.org/html/rfc4792">ASN.1</xref> -DER (Abstract Syntax Notation One - Distinguished Encoding Rules) encoding and decoding of PKCS (Public-Key Cryptography Standards) private keys in raw text as well as PBE (Password-Based Encryption) encrypted forms. </p> </li> <li id="GUID-40921059-C49F-5E38-8297-F5D10F878DC7"><p>Performing ASN.1 encoding and decoding of PBE parameters associated with the private keys. </p> </li> </ul> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Key</dt> <dd><p>A cryptography key is a constant value applied using a cryptographic algorithm to encrypt text or to decrypt encrypted text. </p> <p>Keys are classified as symmetric and asymmetric based on the type of algorithm applied. If the same key is used for both encryption and decryption, it is symmetric. If different keys are used for encryption and decryption, they are asymmetric. Asymmetric keys exist in the form of a public and private key pair, where the public key is used for encryption and the private key is used for decryption. </p> </dd> </dlentry> <dlentry><dt>Key Store</dt> <dd><p>A key store is a repository of keys that can be retrieved and used to accomplish a variety of tasks. </p> <p>The key store provides the following functionality: </p> <ul><li id="GUID-7217616D-996F-5346-BCAD-BC90522B972E"><p>Generation, import and export of RSA, DSA, and DH key pairs </p> </li> <li id="GUID-D759A086-C2BD-5892-AF9B-BEE93C21A55C"><p>Listing of stored keys </p> </li> <li id="GUID-9FC0C694-45E5-5DAB-9938-5BD4F414BE91"><p>Authentication of users </p> </li> <li id="GUID-D350C774-F17B-5D7B-B4DF-8EF3CA7A2AC8"><p>Private key operations for authenticated users </p> </li> </ul> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>The following block diagram describes the interaction of the ASN-PKCS component with the certificate and key stores: </p> <fig id="GUID-7E820717-BAC4-5C14-8A09-7B23989200F6"><image href="GUID-F18AA5AC-80C6-51B2-8D15-61C59D877520_d0e602735_href.jpg" placement="inline"/></fig> <p>The client application accesses the various certificates and keys of the device stored in the respective stores. Depending on the requests received from the store management and implementation components, ASN-PKCS acts on the keys during certain key and certificate manipulation operations. For details of the operations during which the ASN-PKCS APIs are invoked, see <xref href="GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E.dita#GUID-EDE54D27-D902-5C67-BF8E-5E7E0A33A98E/GUID-1586B629-1321-5D65-9995-A312825CF52D">Typical uses</xref>. </p> </section> <section><title>APIs</title> <table id="GUID-96509B7C-3CB2-5AD4-BD6C-0DDEAA7517C8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-6DE1C841-A004-3255-A973-68B86A59A481.dita"><apiname>CDecPKCS8Data</apiname></xref>  </p> </entry> <entry><p>Provides the means to decode <xref scope="external" href="http://www.rsa.com/rsalabs/node.asp?id=2130">PKCS#8</xref> encoded private keys. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-1586B629-1321-5D65-9995-A312825CF52D"><title>Typical uses</title> <p>ASN-PKCS APIs are used for encoding and decoding purposes during the following key and certificate manipulation operations: </p> <ul><li id="GUID-A9151CFF-028F-5BC1-B71E-9F99ACF2E285"><p>Encoding and decoding of PKCS private keys (in raw text and PBE-encrypted forms) during import and export of keys. When PBE-encrypted PKCS keys are imported or exported, the ASN-PKCS APIs also help in encoding or decoding of the PBE parameters. </p> </li> <li id="GUID-F2937C68-BC7D-5A10-AC61-E51139FFDA06"><p>Encoding of the private keys accompanying public key certificates (according to <xref scope="external" href="http://www.rsa.com/rsalabs/node.asp?id=2138">PKCS#12</xref> standards) while creating certificate requests. </p> </li> <li id="GUID-AF0D122F-8A98-53FB-A6FE-AE3ABE4E0847"><p>Creation of <xref scope="external" href="http://www.rsa.com/rsalabs/node.asp?id=2129">PKCS#7</xref> messages for creating the certificate requests. </p> </li> </ul> <p> <b>Notes:</b>  </p> <ul><li id="GUID-C8D72104-9E2C-59F1-A902-7270D998EF9C"><p>Device creators can use the ASN-PKCS component along with their own implementation of the certificate and key stores. </p> </li> <li id="GUID-34D1F3B2-2497-56A9-8E3E-3136D8C99C31"><p>For details of the key and certificate operations, see <xref href="GUID-6C6AED40-D5B3-5613-8F92-FD2CB711AE54.dita">Unified Keystore Tutorials</xref> and <xref href="GUID-B946BDF0-C5D8-57E2-9D05-7BE134AD032E.dita">Unified Certificate Store Tutorial</xref> respectively. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-39B459CD-8210-59B5-95F4-85CE36676735.dita"><linktext>Unified Stores</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-EE2F64B2-A2E3-524F-8E04-68BE9AA9EA36_d0e389647_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EE2F64B2-A2E3-524F-8E04-68BE9AA9EA36_d0e395500_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e549066_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e556522_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-EE5937B6-9103-4711-B13B-06A62D56AF79_d0e102012_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EE5937B6-9103-4711-B13B-06A62D56AF79_d0e97934_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF"><title>Network Location Manager Overview</title><shortdesc>The Network Location Manager is responsible for obtaining a location fix from the network on behalf of the LBS Location Server. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Network Location Manager is used by the Location Server. It communicates with the Network Gateway to obtain a position from the network. </p> </section> <section><title>Required background</title> <p>The reader should be familiar with the <xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS architecture</xref>. </p> </section> <section><title>Key concepts and terms</title> <p>There are no additional concepts for this component. </p> </section> <section><title>Architecture</title> <p>The Network Location Manager is a process that runs as part of the LBS subsystem. </p> <p>The Location Server sends requests for location to the Network Location Manager when the position quality criteria required by MO-LR (self locate) can best be satisfied by the network. The Network Location Manager interacts with the Network Gateway to obtain a location from the network. </p> <fig id="GUID-86FFE1F6-1FAE-53D5-A945-D6E6FA90171E"><title>
              Figure 1. Network Location Manager. 
-          </title> <image href="GUID-2BE10ABA-E34E-53F9-8B63-6BED177BFB21_d0e448794_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Network Location Manager is an internal component of the LBS subsystem. It does not expose any published APIs. </p> </section> <section><title>Typical uses</title> <p>The Network Location Manager is only used internally by the LBS subsystem. </p> </section> </conbody><related-links><link href="GUID-B760B3C9-26C7-528E-B699-7D374A65DF29.dita"><linktext>Location
+          </title> <image href="GUID-2BE10ABA-E34E-53F9-8B63-6BED177BFB21_d0e454639_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>The Network Location Manager is an internal component of the LBS subsystem. It does not expose any published APIs. </p> </section> <section><title>Typical uses</title> <p>The Network Location Manager is only used internally by the LBS subsystem. </p> </section> </conbody><related-links><link href="GUID-B760B3C9-26C7-528E-B699-7D374A65DF29.dita"><linktext>Location
                 Server</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,24 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651" xml:lang="en"><title>Application
-security</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Native C++ applications have broad access to the mobile device functionality.
-They can access, for example, network and mobile device interfaces, storage
-memory and messaging framework. This provides many features for application
-developers to use, but can be exploited in the wrong hands.</p>
-<p>The Symbian <xref href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita">platform
-security</xref> architecture allows an application server to determine whether
-installed software using the server can be trusted. This section covers the
-most critical components in the security system, the components that first
-encounter problems and form the front line of defense when a system is attacked.</p>
-<p>The following aspects of application security are covered in this section:</p>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651" xml:lang="en"><title>Application security</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Native C++ applications have broad access to the mobile device
+functionality. They can access, for example, network and mobile device
+interfaces, storage memory and messaging framework. This provides
+many features for application developers to use, but can be exploited
+in the wrong hands.</p>
+<p>The Symbian <xref href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita">platform security</xref> architecture allows an application server
+to determine whether installed software using the server can be trusted.
+This section covers the most critical components in the security system,
+the components that first encounter problems and form the front line
+of defense when a system is attacked.</p>
+<p>The following aspects of application security are covered in
+this section:</p>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EEF2F892-8900-475F-926B-A49D0D98C1C6.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-EEF2F892-8900-475F-926B-A49D0D98C1C6" xml:lang="en"><title>Navigation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The model of navigation is based on states arranged as hierarchical trees.
-The following features provide the flexibility for navigation:</p>
-<ul>
-<li><p>Tabs</p></li>
-<li><p>Home / Menu key and the <xref href="GUID-86AADA3E-B77C-45CC-B523-785B75BAA5AA.dita">Menu</xref></p></li>
-<li><p>Direct navigation between sibling folders</p></li>
-<li><p>Links to applications and documents</p></li>
-</ul>
-</conbody><related-links>
-<linklist>
-<link href="GUID-0F593BE1-1220-4403-B04E-B8E8A9A49701.dita"><linktext>UI concepts</linktext>
-</link>
-<link href="GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita"><linktext>Framework
-requirements for GUI applications</linktext></link>
-</linklist>
-</related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-EF3DB813-B0B9-5099-9E57-561A32111BF0"><title>Feature Manager Server Guide</title><shortdesc>This document describes the feature management server. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The feature management server maintains the table which contains and maintains the list of features available on the device. </p> </section> <section><title>Required background</title> <p>The feature management system uses the standard client server architecture that is the feature manager server that does the work associated with the feature management functionality. Communication between the application and the server is undertaken by two dlls. </p> </section> <section><title>Architecture</title> <p>The relationship between the parts of the feature management system is : </p> <fig id="GUID-E3DEFD6C-7BA2-5F4B-9771-F6BCF595B3C8"><title>
              Architecture of the feature management system 
-          </title> <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e569155_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>Communication to and from the feature management server is only provided by the methods available in the <xref href="GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita#GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14/GUID-044747C8-90DF-5C93-B0E1-310F283E8894">Feature Manager Client API</xref> and the <xref href="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita#GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A/GUID-3CF8D502-1181-511C-9F14-A256ACD4EF6B">Feature Manager Discovery API</xref>. </p> </section> <section><title>Typical uses</title> <p>These are the same as for feature management (since it does all the work). They include adding, disabling, enabling and removing features. </p> <p>For the description of the APIs used in feature management look at the component overview for featmgr.dll and featdiscovery.dll. </p> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager Overview</linktext> </link> <link href="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita"><linktext>Feature Manager Client
+          </title> <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e618451_href.png" placement="inline"/></fig> </section> <section><title>APIs</title> <p>Communication to and from the feature management server is only provided by the methods available in the <xref href="GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita#GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14/GUID-044747C8-90DF-5C93-B0E1-310F283E8894">Feature Manager Client API</xref> and the <xref href="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita#GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A/GUID-3CF8D502-1181-511C-9F14-A256ACD4EF6B">Feature Manager Discovery API</xref>. </p> </section> <section><title>Typical uses</title> <p>These are the same as for feature management (since it does all the work). They include adding, disabling, enabling and removing features. </p> <p>For the description of the APIs used in feature management look at the component overview for featmgr.dll and featdiscovery.dll. </p> </section> </conbody><related-links><link href="GUID-B71AC5E3-8AA8-55AD-916F-9E873926011B.dita"><linktext>Feature Manager Overview</linktext> </link> <link href="GUID-3FB773BA-C648-5C0A-9022-3F9882C6724A.dita"><linktext>Feature Manager Client
                 Overview</linktext> </link> <link href="GUID-40B9136A-B91B-5FF4-A44D-CA6925F19B14.dita"><linktext>Feature Discovery Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2"><title>3GP Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document describes 3GP Library. </p> <section><title>Purpose</title> <p>3GP Library lets you read (parse) and write (compose) 3GP, 3G2, and MP4 files. You can use 3GP Library to provide direct data access for applications. When you need to develop reference audio and video controllers, you can use 3GP Library. </p> <p><b>3GP Library details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-FE04DC1F-B88C-5BC2-B83C-4489C77235AE"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>3gplibrary.dll</filepath>  </p> </entry> <entry><p> <filepath>3gplibrary.lib</filepath>  </p> </entry> <entry><p>These files are used to implement 3GP Library. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural relationship</title> <p>The following diagram shows the architecture of 3GP Library: </p> <fig id="GUID-824CD93C-1B69-53F6-BBCE-91CCB27D04F1"><title>
              3GP Library Architecture 
-          </title> <image href="GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e531328_href.png" placement="inline"/></fig> <p><b>Description</b> </p> <p>3GP Library provides two APIs to compose and parse multimedia files. </p> <p><b>3GP Composer</b> </p> <p>The 3GP Composer accepts H.263, MPEG-4 and AVC (also known as H.264) video formats, and AMR, MPEG-4 AAC and QCELP audio formats. These formats are used to create 3GP, 3G2 or MP4 files. If QCELP audio is supplied, the file to be composed is automatically switched to a 3G2 file. To compose an MP4 file, the video source must be either of type MPEG-4 video or AVC, and the audio source must be of type MPEG-4 AAC audio, otherwise the output file type will be automatically changed to 3GP. </p> <p><b>3GP Parser</b> </p> <p>The 3GP Parser parses 3GP, 3G2 and MP4 content containing H.263, MPEG-4 or AVC video formats, and AMR, MPEG-4 or QCELP audio formats. Content can be from a file, a <xref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita">Content Access Framework</xref> (CAF) object, or given through memory buffer. </p> </section> <section><title>Key 3GP Library classes</title> <p>The key classes that make up 3GP Library are as follows: </p> <ul><li id="GUID-D24AF2E7-FCF1-5469-BDE6-A0088EB81A6D"><p> <xref href="GUID-C463561F-4BDA-3CBE-9588-AFDB5FD889A2.dita"><apiname>C3GPCompose</apiname></xref>  </p> <p>This class provides the functions for the 3GP Composer. </p> </li> <li id="GUID-4FAE1A6B-1361-5C8D-BB2F-88E7BB8D58D7"><p> <xref href="GUID-BF3A60C9-0F4C-3712-90E3-ACBD73BE4EB6.dita"><apiname>C3GPParse</apiname></xref>  </p> <p>This class provides the functions for the 3GP Parser. </p> </li> <li id="GUID-DADAC349-A6C6-5DF4-9EAD-0126E0F51243"><p> <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>  </p> <p>An interface provided by 3GP Library for the asynchronous retrieval of video and audio frames. The client application normally implements <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>. </p> </li> </ul> </section> <section><title>Using 3GP Library</title> <p>You can use the 3GP Composer to do the following: </p> <ul><li id="GUID-9F0DE412-A031-59F1-997C-274F3D3FDBDE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F3D2FF74-D138-56CE-A76B-95CF60F9D708">Create an instance of a 3GP Composer</xref>  </p> </li> <li id="GUID-9B2D50BE-63ED-5A45-B056-F27B06DC3CAE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F8FDE6BB-4E67-53B5-BE5E-41660B3E0793">Initialise the 3GP Composer for writing 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-417084C0-5247-538E-9073-4A47F3D03AAC"><p><xref href="GUID-32B58425-81AC-59D6-A17F-21BD06ACB658.dita">Write video and audio data streams</xref>  </p> </li> <li id="GUID-E081C967-302C-58CE-AE3F-511BBEF046A1"><p><xref href="GUID-460089B6-CA35-5DB7-ABC0-A688D6EE77D5.dita">Commit video and audio data to an output file</xref>. </p> </li> </ul> <p>You can use the 3GP Parser to do the following: </p> <ul><li id="GUID-8A00E2E5-B17E-53C6-8339-520EE1B74BBB"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-C974E036-C0B7-5647-B3B5-37308CCF13E9">Create an instance of a 3GP Parser</xref>  </p> </li> <li id="GUID-453FA066-7410-5ECD-9A37-3ADBAEC8A724"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-A38F0C28-0032-5F14-9974-4F009E5E1D66"> Initialise the 3GP Parser for reading 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-051702DB-8828-500F-BDAA-6C4A5A3F74D3"><p><xref href="GUID-CC4BA8E7-BCAB-58F7-AC5D-BA75A82D04AE.dita">Retrieve video and audio metadata</xref>  </p> </li> <li id="GUID-1ED3F7AB-40A8-5FC8-A25B-0E0BAA402C9D"><p><xref href="GUID-EFD05CAF-A8CF-5C2E-B7C9-51023D2438DF.dita"> Read video and audio data streams (synchronously and asynchronously)</xref>  </p> </li> <li id="GUID-7657EC0B-0F80-5C4A-903C-368CFF44CBAD"><p><xref href="GUID-AE495355-86EA-50C1-A483-405BF973BB9B.dita">Release 3GP Parser resources</xref>. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-6CED5904-EEE4-5F93-AA8A-37083EC5AFE8.dita"> 3GP Library Tutorials</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e538788_href.png" placement="inline"/></fig> <p><b>Description</b> </p> <p>3GP Library provides two APIs to compose and parse multimedia files. </p> <p><b>3GP Composer</b> </p> <p>The 3GP Composer accepts H.263, MPEG-4 and AVC (also known as H.264) video formats, and AMR, MPEG-4 AAC and QCELP audio formats. These formats are used to create 3GP, 3G2 or MP4 files. If QCELP audio is supplied, the file to be composed is automatically switched to a 3G2 file. To compose an MP4 file, the video source must be either of type MPEG-4 video or AVC, and the audio source must be of type MPEG-4 AAC audio, otherwise the output file type will be automatically changed to 3GP. </p> <p><b>3GP Parser</b> </p> <p>The 3GP Parser parses 3GP, 3G2 and MP4 content containing H.263, MPEG-4 or AVC video formats, and AMR, MPEG-4 or QCELP audio formats. Content can be from a file, a <xref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita">Content Access Framework</xref> (CAF) object, or given through memory buffer. </p> </section> <section><title>Key 3GP Library classes</title> <p>The key classes that make up 3GP Library are as follows: </p> <ul><li id="GUID-D24AF2E7-FCF1-5469-BDE6-A0088EB81A6D"><p> <xref href="GUID-C463561F-4BDA-3CBE-9588-AFDB5FD889A2.dita"><apiname>C3GPCompose</apiname></xref>  </p> <p>This class provides the functions for the 3GP Composer. </p> </li> <li id="GUID-4FAE1A6B-1361-5C8D-BB2F-88E7BB8D58D7"><p> <xref href="GUID-BF3A60C9-0F4C-3712-90E3-ACBD73BE4EB6.dita"><apiname>C3GPParse</apiname></xref>  </p> <p>This class provides the functions for the 3GP Parser. </p> </li> <li id="GUID-DADAC349-A6C6-5DF4-9EAD-0126E0F51243"><p> <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>  </p> <p>An interface provided by 3GP Library for the asynchronous retrieval of video and audio frames. The client application normally implements <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>. </p> </li> </ul> </section> <section><title>Using 3GP Library</title> <p>You can use the 3GP Composer to do the following: </p> <ul><li id="GUID-9F0DE412-A031-59F1-997C-274F3D3FDBDE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F3D2FF74-D138-56CE-A76B-95CF60F9D708">Create an instance of a 3GP Composer</xref>  </p> </li> <li id="GUID-9B2D50BE-63ED-5A45-B056-F27B06DC3CAE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F8FDE6BB-4E67-53B5-BE5E-41660B3E0793">Initialise the 3GP Composer for writing 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-417084C0-5247-538E-9073-4A47F3D03AAC"><p><xref href="GUID-32B58425-81AC-59D6-A17F-21BD06ACB658.dita">Write video and audio data streams</xref>  </p> </li> <li id="GUID-E081C967-302C-58CE-AE3F-511BBEF046A1"><p><xref href="GUID-460089B6-CA35-5DB7-ABC0-A688D6EE77D5.dita">Commit video and audio data to an output file</xref>. </p> </li> </ul> <p>You can use the 3GP Parser to do the following: </p> <ul><li id="GUID-8A00E2E5-B17E-53C6-8339-520EE1B74BBB"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-C974E036-C0B7-5647-B3B5-37308CCF13E9">Create an instance of a 3GP Parser</xref>  </p> </li> <li id="GUID-453FA066-7410-5ECD-9A37-3ADBAEC8A724"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-A38F0C28-0032-5F14-9974-4F009E5E1D66"> Initialise the 3GP Parser for reading 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-051702DB-8828-500F-BDAA-6C4A5A3F74D3"><p><xref href="GUID-CC4BA8E7-BCAB-58F7-AC5D-BA75A82D04AE.dita">Retrieve video and audio metadata</xref>  </p> </li> <li id="GUID-1ED3F7AB-40A8-5FC8-A25B-0E0BAA402C9D"><p><xref href="GUID-EFD05CAF-A8CF-5C2E-B7C9-51023D2438DF.dita"> Read video and audio data streams (synchronously and asynchronously)</xref>  </p> </li> <li id="GUID-7657EC0B-0F80-5C4A-903C-368CFF44CBAD"><p><xref href="GUID-AE495355-86EA-50C1-A483-405BF973BB9B.dita">Release 3GP Parser resources</xref>. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-6CED5904-EEE4-5F93-AA8A-37083EC5AFE8.dita"> 3GP Library Tutorials</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e174623_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e180691_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EFAEDFA5-3807-56EB-8D47-3A6960C4056C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EFAEDFA5-3807-56EB-8D47-3A6960C4056C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,7 +28,7 @@
 the SDP description, delete the <xref href="GUID-FF6D4EAD-3AAE-3843-8A9C-7C92426FC29F.dita"><apiname>CSdpDocument</apiname></xref> object and
 close the string pool. </p> </li>
 </ul> <p>The following illustration shows how to create an SDP description. </p> <fig id="GUID-FB29EDEC-BD06-5571-BDCE-A6E8A9A94613">
-<image href="GUID-55754EF4-EC25-5CE3-9B38-79F278BCF19F_d0e551986_href.png" placement="inline"/>
+<image href="GUID-55754EF4-EC25-5CE3-9B38-79F278BCF19F_d0e559442_href.png" placement="inline"/>
 </fig> <p> <b>Note</b>: In the following illustration only required SDP fields
 are included. </p> </section>
 <section id="GUID-0C86D6D3-2EDD-54B8-A2FE-E68CF43D40E8"><title>Error handling</title> <p>All
Binary file Symbian3/PDK/Source/GUID-EFC72FB6-5FA0-537C-978D-50FC67A6F857_d0e449518_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EFC72FB6-5FA0-537C-978D-50FC67A6F857_d0e455363_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EFE378EA-C668-5CD5-A630-B8041027791A_d0e107198_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EFE378EA-C668-5CD5-A630-B8041027791A_d0e109641_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EFEACBE5-B9E1-5315-88CA-DA3B7C1BFCE0_d0e389963_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EFEACBE5-B9E1-5315-88CA-DA3B7C1BFCE0_d0e395816_href.png has changed
--- a/Symbian3/PDK/Source/GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F" xml:lang="en"><title>ARMV5
-build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The <codeph>ARMV5</codeph> build target builds to the <codeph>ARMV5</codeph> architecture.
-It is built to conform to a binary standard developed by ARM (the <i>ABI for
-the ARM architecture</i>). Details of the standard are published at <xref href="http://www.arm.com/products/DevTools/ABI.html" scope="external">http://www.arm.com/products/DevTools/ABI.html</xref>. </p>
-<p>The situation is complicated by there existing two versions of the ARM
-ABI, referred to as v1 and v2 respectively, both of which are supported by
-the toolchain. This page explains the build target to use in each case. For
-more information on the differences in the toolchain used for each version
-of the ABI, see <xref href="GUID-F21A1ABE-4844-54E2-83E0-4AD25E867A72.dita">ABIv1
-to ABIv2 toolchain changes</xref>. </p>
-<p>This page includes the following sections, which describe RVCT compiler
-versions for the ARM platform and ABI versions of ARM: </p>
-<ul>
-<li id="GUID-2CAEAF2F-4B75-56D9-900A-D4C3811C119D"><p> <xref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita#GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F/GUID-374DB9AB-19E3-5B82-BDB0-D261103ECEAE">ARM RVCT compiler versions</xref>  </p> </li>
-<li id="GUID-B01D47CF-91DF-5449-9D4C-F9D4931DEC29"><p> <xref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita#GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F/GUID-2273DA41-3621-5B13-9513-8A278B95C5B8">ARMV5 (ABI v1 mode)</xref>  </p> </li>
-<li id="GUID-034B8599-B418-50B0-8294-E5FF3764FFAF"><p> <xref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita#GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F/GUID-8C586003-B24B-5D37-85E8-837164CE9200">ARMV5 (ABI v2 mode)</xref>  </p> </li>
-</ul>
-<section id="GUID-374DB9AB-19E3-5B82-BDB0-D261103ECEAE"><title>ARM RVCT compiler
-versions</title> <p>The <codeph>ARMV5</codeph> build targets are built using
-ARM's own RealView Compiler Tools (RVCT) (<xref href="http://www.arm.com/products/DevTools/RealViewDevSuite.html" scope="external">http://www.arm.com/products/DevTools/RealViewDevSuite.html</xref>). </p> <p>Note
-that RVCT 2.2 build 435 used with Symbian OS v9.2 is not supported from v9.3
-onwards. Symbian OS v9.3 uses RVCT 2.2 build 559 and from OS v9.4 onwards
-RVCT 2.2 build 616 is used. </p> <p>The following section discusses issues
-concerned with having RVCT 2.2 builds 435, 559 and 616 installed on a single
-PC, so as to enable development on both v9.2, v9.3 and v9.4. </p> <p><b>Compiler
-set-up for v9.2, v9.3 and v9.4 builds</b> </p> <p>If you need to develop for
-Symbian OS v9.2, v9.3 and v9.4 on the same PC, you need to have the RVCT 2.2
-builds 435, 559 and 616 installed. The build tools will use the version that
-appears first in the environment <codeph>path</codeph> variable. You will
-need to modify this setting yourself when moving between development kits. </p> <p>Assuming
-the tools are installed to <filepath>C:\apps\</filepath>: </p> <ul>
-<li id="GUID-3A9540E5-2C0F-594E-A40E-96128B198D16"><p>When working with v9.2,
-include build 435 version of the tools first in the path. </p> <p>For example: </p> <p><userinput>set
-PATH=C:\apps\ARM\RVCT\Programs\2.2\435\win_32-pentium;%path%</userinput> </p> </li>
-<li id="GUID-E0C51545-3668-5459-BC13-2CDE4ACEDDBB"><p>When working with v9.3,
-include build 559 version of the tools first in the path. </p> <p>For example: </p> <p><userinput>set
-PATH=C:\apps\ARM\RVCT\Programs\2.2\559\win_32-pentium;%path%</userinput> </p> </li>
-<li id="GUID-0F57E1FC-7A80-5490-AD45-C0EB9C773F74"><p>When working with v9.4,
-include build 616 version of the tools first in the path. </p> <p>For example: </p> <p><userinput>set
-PATH=C:\apps\ARM\RVCT\Programs\2.2\616\win_32-pentium;%path%</userinput> </p> </li>
-</ul> <p>To know which version is currently installed on your PC, use the
-following command: </p> <p><userinput>armcc --vsn</userinput> </p> <p>This
-reports the compiler version and build number. </p> </section>
-<section id="GUID-2273DA41-3621-5B13-9513-8A278B95C5B8"><title>ARMV5 (ABI
-v1 mode)</title> <p>Use this target to create binaries conforming to the ABI
-v1. </p> <p>To build for <codeph>ARMV5</codeph> (ABI v1) with <filepath>abld</filepath> on
-Symbian OS v9.3 and earlier versions, use: </p> <p><userinput>abld build ARMV5
-[udeb | urel]</userinput> </p> <p>To build for <codeph>ARMV5</codeph> (ABI
-v1) with <filepath>abld</filepath> on Symbian OS v9.4 and later versions,
-use: </p> <p><userinput>abld build ARMV5_ABIv1 [udeb | urel]</userinput> </p> <p>Binaries
-are generated in the <filepath>udeb</filepath> and/or <filepath>urel</filepath> sub-directories
-of the <filepath>epoc32\release\ARMV5\</filepath> directory. From Symbian
-OS v9.4 onwards, the binaries are generated in <filepath>epoc32\release\ARMV5_ABIv1\</filepath>. </p> <p>Library
-export (<filepath>.lib</filepath>) files are generated in the <filepath>epoc32\release\ARMV5\lib\</filepath> directory. </p> </section>
-<section id="GUID-8C586003-B24B-5D37-85E8-837164CE9200"><title>ARMV5 (ABI
-v2 mode)</title> <p>Use this target to create binaries conforming to the ABI
-v2. </p> <p>To build for <codeph>ARMV5</codeph> (ABI v2) with <filepath>abld</filepath> on
-Symbian OS v9.3 and earlier versions, use: </p> <p><userinput>abld build ARMV5_ABIv2
-[udeb | urel]</userinput> </p> <p>To build for <codeph>ARMV5</codeph> (ABI
-v2) with <filepath>abld</filepath> on Symbian OS v9.4 and later versions,
-use: </p> <p><userinput>abld build ARMV5 [udeb | urel]</userinput> </p> <p>Binaries
-are generated in the <filepath>udeb</filepath> and/or <filepath>urel</filepath> sub-directories
-of the <filepath>epoc32\release\ARMV5_ABIv2\</filepath> directory. From Symbian
-OS v9.4 onwards, the binaries are generated in <filepath>epoc32\release\ARMV5\</filepath>. </p> <p>Library
-export (<filepath>.dso</filepath>) files are generated in the <filepath>epoc32\release\ARMV5\lib\</filepath> directory.
-The ABI v2 toolchain need to support multiple ABI v2 compatible compilers
-to have a common directory for the import library files. </p> <p>From Symbian
-OS v9.4 and later, ABI v2 is the default platform. So, a simple <codeph>abld
-build</codeph> command will create a binary conforming to ABI v2. To create
-a binary conforming to ABI v1, use <codeph>abld build           ARMV5_ABIv1</codeph>. </p> <p>You
-can switch back to the old approach, where the targets <codeph>ARMV5</codeph> and <codeph>ARMV5_ABIv2</codeph> will
-build binaries conforming to ABI v1 and ABI v2 respectively. For more details
-on this, refer to <xref href="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita">Switching
-between ABI modes</xref>. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-EFF8D1A1-00D5-5F96-8285-414DC0044AB8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-EFF8D1A1-00D5-5F96-8285-414DC0044AB8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,14 +16,14 @@
 the calling process. The calling process should have a <codeph>WriteUserData</codeph> capability. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
 <context id="GUID-4F90AC15-5BC9-4A2A-BD86-D6CF6FD04E47"><p>The following steps explain the process of setting a use policy
 for a key:</p></context>
-<steps id="GUID-16DDA72F-9BC5-52FB-A3C6-874815ABF9FC-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2">
-<step id="GUID-89755D62-9A44-5F07-9035-6AA97F701C0C-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-1"><cmd>Create a file system
+<steps id="GUID-16DDA72F-9BC5-52FB-A3C6-874815ABF9FC-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2">
+<step id="GUID-89755D62-9A44-5F07-9035-6AA97F701C0C-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-1"><cmd>Create a file system
 session using an <codeph>RFs</codeph> object. </cmd>
 </step>
-<step id="GUID-6A14EBD6-AF2D-5CE8-A232-F04B717CA0B3-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-2"><cmd/>
+<step id="GUID-6A14EBD6-AF2D-5CE8-A232-F04B717CA0B3-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-2"><cmd/>
 <info>Create an object of type CUnifiedKeyStore using <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-C7A96153-4179-3B3F-878D-1EAA64A98D39"><apiname>CUnifiedKeyStore::NewL()</apiname></xref> or <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-217FBB3B-CEF5-36F2-A612-EDDA0982053C"><apiname>CUnifiedKeyStore::NewLC()</apiname></xref>. </info>
 </step>
-<step id="GUID-C8F104CE-E857-5615-B847-E3A33EAF7481-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-3"><cmd/>
+<step id="GUID-C8F104CE-E857-5615-B847-E3A33EAF7481-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-3"><cmd/>
 <info>Initialise the member functions and keystore using the asynchronous
 function <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-6C5D732C-1FD1-3EF0-AC90-87690F891B8D"><apiname>CUnifiedKeyStore::Initialize()</apiname></xref>. </info>
 </step>
@@ -31,13 +31,13 @@
 <info>List all keys in the keystore using the <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-8B22E1BC-D779-32DC-9C0A-CA37E4C0A81B"><apiname>CUnifiedKeyStore::List()</apiname></xref> function.
 Retrieve the handle of the key for which the use policy needs to be set. </info>
 </step>
-<step id="GUID-6CF7703F-8CAC-5DC6-9F43-7E2EE3F39895-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-5"><cmd/>
+<step id="GUID-6CF7703F-8CAC-5DC6-9F43-7E2EE3F39895-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-2-5"><cmd/>
 <info>Set the use policy for the key using the <xref href="GUID-818689D6-EB99-382E-A435-D9C6C5D464DE.dita#GUID-818689D6-EB99-382E-A435-D9C6C5D464DE/GUID-CC8814B6-569C-3426-A319-BFB631211B07"><apiname>CUnifiedKeyStore::SetUsePolicy()</apiname></xref> function. </info>
 </step>
 </steps>
 <result id="GUID-46A56876-6A07-4E94-9D00-73BC1270CAB4"><p>Use policy is set for the selected key. </p> </result>
-<example id="GUID-C2150584-293D-50CE-8DDC-19B4D55D8B0B-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-4"><title>Example</title> <p>The
-following code snippet shows how to set use policy for a key. </p> <codeblock id="GUID-FAD1C292-8E42-5348-B975-3CBA7E8D2820-GENID-1-12-1-27-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-4-3" xml:space="preserve">// Create a file system session object
+<example id="GUID-C2150584-293D-50CE-8DDC-19B4D55D8B0B-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-4"><title>Example</title> <p>The
+following code snippet shows how to set use policy for a key. </p> <codeblock id="GUID-FAD1C292-8E42-5348-B975-3CBA7E8D2820-GENID-1-12-1-26-1-1-10-1-5-1-5-1-5-1-4-1-12-1-3-4-3" xml:space="preserve">// Create a file system session object
 RFs iFs;
 CleanupClosePushL(&amp;iFs);
 
Binary file Symbian3/PDK/Source/GUID-EFFEB18E-5BF5-5855-9D1F-E7C39CB569D0_d0e278346_href.png has changed
Binary file Symbian3/PDK/Source/GUID-EFFEB18E-5BF5-5855-9D1F-E7C39CB569D0_d0e284346_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F0185CC2-C175-556E-A4BB-0D781487817A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F0185CC2-C175-556E-A4BB-0D781487817A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,47 +1,39 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F0185CC2-C175-556E-A4BB-0D781487817A" xml:lang="en"><title>EmbeddingShell:
-embedded pictures</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-E03411EA-F782-4D2D-ACC3-02421CDBBDC3"><title>Description</title> <p> <filepath>EmbeddingShell</filepath> provides
-an application shell, and a concrete control. </p> <p> <codeph>CGraphicExampleControl</codeph> is
-a control class, derived from <codeph>CCoeControl</codeph>, which links the
-app shell to the concrete control. </p> <p>The <codeph>CPictureControl</codeph> class,
-derived from <codeph>CGraphicExampleControl</codeph>, illustrates the drawing
-of pictures and how they can be stored to and restored from a direct file
-store. </p> </section>
-<section id="GUID-9E6294AC-8786-5F17-AC96-072811C39910"><title>Download</title> <p>Click
-on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-59ec3e53-8f45-422f-859a-9cbc545ba36b.zip" scope="external">Embedding.zip</xref></p>Download some additional files required
-by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-59ec3e53-8f45-422f-859a-9cbc545ba36b.html" scope="peer">browse</xref> to view the example code. </p>View the additional
-files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>.  </section>
-<section id="GUID-E5DF5C86-CCC6-4EA2-AD1F-AFC559A914E2"><title>Class Summary</title><p><xref href="GUID-829D57CD-9659-347B-AAE9-5F0A0ECD555C.dita"><apiname>CPicture</apiname></xref></p><p><xref href="GUID-F991FEDD-DF42-390F-97E4-4204EB05AAB8.dita"><apiname>MPictureFactory</apiname></xref></p><p><xref href="GUID-8B713854-7858-3E02-8A1C-B3E6C1C9EA85.dita"><apiname>CDirectFileStore</apiname></xref></p><p><xref href="GUID-346D4908-15C7-3F15-945F-D561E774022D.dita"><apiname>RStoreWriteStream </apiname></xref></p><p><xref href="GUID-4FA6EE6C-5B4E-39E0-B888-ABDE19985976.dita"><apiname>RStoreReadStream</apiname></xref></p><p><xref href="GUID-1C4D4AFD-85E2-3D5D-B704-D1FA0E5E7DA2.dita"><apiname>TStreamId</apiname></xref></p><p><xref href="GUID-D10FA32F-32F7-3488-9AAC-CB95270EA006.dita"><apiname>TSwizzle</apiname></xref></p><p><xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref></p></section>
-<section id="GUID-E96A6DBB-66FD-46A3-93AE-B43ACC371A0F"><title>Build</title> <p>The
-source code for this example application can be found in the directory: </p> <p> <filepath>examples\Graphics\Embedding</filepath>  </p> <p>This
-source code may be in the directory in which you installed the Symbian platform,
-or it may be in the <filepath>src\common\developerlibrary\</filepath> directory.
-The directory includes the two project files needed for building the example: <filepath>bld.inf</filepath> and
-the <filepath>.mmp</filepath> file. </p> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this application. For
-the emulator, an application called <filepath>EmbeddingShell.exe</filepath> is
-created in <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath>. </p> </section>
-<section id="GUID-E33FDEE0-C8CF-43F7-8764-74237597D76A"><title>Usage</title> <ol id="GUID-A6E6F210-0629-52EA-B60B-097553214F7D">
-<li id="GUID-EC1232A9-EB05-532D-B253-691BA2E3853C"><p>Launch the emulator: </p> <p> <filepath>epoc32\release\winscw\&lt;urel
-or udeb&gt;\EPOC.EXE</filepath>. </p> </li>
-<li id="GUID-7D3D6DAA-38E5-5678-B19C-166751A84733"><p>Click on <systemoutput>EMBEDDINGSHELL</systemoutput> to
-run the application. If using the <i>TechView</i> emulator, this will be in
-the <i>Extras</i> menu. </p> </li>
-<li id="GUID-BEF4EDFE-D1BB-5F7C-B76A-D8FE15AC522B"><p>Start the example by
-choosing <codeph>Picture</codeph> from the menu <systemoutput>List of Programs</systemoutput>. </p> </li>
-<li id="GUID-C04B69D1-744E-5EE1-821D-A1E548D8C136"><p>Step through each phase
-of the example by pressing the space bar or by tapping on the window drawn
-by that example. </p> </li>
-</ol> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F0185CC2-C175-556E-A4BB-0D781487817A" xml:lang="en"><title>EmbeddingShell: embedded pictures</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-E03411EA-F782-4D2D-ACC3-02421CDBBDC3"><title>Description</title> <p> <filepath>EmbeddingShell</filepath> provides an application
+shell, and a concrete control. </p> <p> <codeph>CGraphicExampleControl</codeph> is a control class, derived from <codeph>CCoeControl</codeph>, which
+links the app shell to the concrete control. </p> <p>The <codeph>CPictureControl</codeph> class, derived from <codeph>CGraphicExampleControl</codeph>, illustrates
+the drawing of pictures and how they can be stored to and restored
+from a direct file store. </p> </section>
+<section id="GUID-9E6294AC-8786-5F17-AC96-072811C39910"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-59ec3e53-8f45-422f-859a-9cbc545ba36b.zip" scope="external">Embedding.zip</xref></p>Download some additional
+files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.zip" scope="external">CommonGraphicsExampleFiles</xref><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-59ec3e53-8f45-422f-859a-9cbc545ba36b.html" scope="peer">browse</xref> to view the example code. </p>View the
+additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a92c7d47-fa68-49c6-9e43-c9c2e650f219.html" scope="peer">browse</xref>.  </section>
+<section id="GUID-E5DF5C86-CCC6-4EA2-AD1F-AFC559A914E2"><title>Class
+Summary</title><p><xref href="GUID-829D57CD-9659-347B-AAE9-5F0A0ECD555C.dita"><apiname>CPicture</apiname></xref></p><p><xref href="GUID-F991FEDD-DF42-390F-97E4-4204EB05AAB8.dita"><apiname>MPictureFactory</apiname></xref></p><p><xref href="GUID-8B713854-7858-3E02-8A1C-B3E6C1C9EA85.dita"><apiname>CDirectFileStore</apiname></xref></p><p><xref href="GUID-346D4908-15C7-3F15-945F-D561E774022D.dita"><apiname>RStoreWriteStream </apiname></xref></p><p><xref href="GUID-4FA6EE6C-5B4E-39E0-B888-ABDE19985976.dita"><apiname>RStoreReadStream</apiname></xref></p><p><xref href="GUID-1C4D4AFD-85E2-3D5D-B704-D1FA0E5E7DA2.dita"><apiname>TStreamId</apiname></xref></p><p><xref href="GUID-D10FA32F-32F7-3488-9AAC-CB95270EA006.dita"><apiname>TSwizzle</apiname></xref></p><p><xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref></p></section>
+<section id="GUID-E96A6DBB-66FD-46A3-93AE-B43ACC371A0F"><title>Build</title> <p>The source code for this example application can be found in
+the directory: </p> <p> <filepath>examples\Graphics\Embedding</filepath>  </p> <p>This source code may be in the directory in which you installed
+the Symbian platform, or it may be in the <filepath>src\common\developerlibrary\</filepath> directory. The directory includes the two project files needed for
+building the example: <filepath>bld.inf</filepath> and the <filepath>.mmp</filepath> file. </p> <p> he Symbian build process describes
+how to build this application. For the emulator, an application called <filepath>EmbeddingShell.exe</filepath> is created in <filepath>epoc32\release\winscw\&lt;udeb
+or urel&gt;\</filepath>. </p> </section>
+<section id="GUID-E33FDEE0-C8CF-43F7-8764-74237597D76A"><title>Usage</title> <ol id="GUID-A6E6F210-0629-52EA-B60B-097553214F7D">
+<li id="GUID-EC1232A9-EB05-532D-B253-691BA2E3853C"><p>Launch the emulator: </p> <p> <filepath>epoc32\release\winscw\&lt;urel or udeb&gt;\EPOC.EXE</filepath>. </p> </li>
+<li id="GUID-7D3D6DAA-38E5-5678-B19C-166751A84733"><p>Click on <systemoutput>EMBEDDINGSHELL</systemoutput> to run the application. If using the <i>TechView</i> emulator, this will be in the <i>Extras</i> menu. </p> </li>
+<li id="GUID-BEF4EDFE-D1BB-5F7C-B76A-D8FE15AC522B"><p>Start the example
+by choosing <codeph>Picture</codeph> from the menu <systemoutput>List
+of Programs</systemoutput>. </p> </li>
+<li id="GUID-C04B69D1-744E-5EE1-821D-A1E548D8C136"><p>Step through
+each phase of the example by pressing the space bar or by tapping
+on the window drawn by that example. </p> </li>
+</ol> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F03A323A-2FCC-5247-909F-4AB2701B1C45.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE reference
-  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-F03A323A-2FCC-5247-909F-4AB2701B1C45" xml:lang="en"><title>smpsafe</title><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section><p> <codeph>smpsafe</codeph>  </p> <p>Sets a flag on the target.
-This indicates the OS that the program when run on muti-core processors can
-make use of full symmetric multiprocessing (SMP) capabilities. SMP safe programs
-can achieve high performance. </p> </section>
-</refbody></reference>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F041E4F2-AAA3-5C8C-B8C6-646974DEF76E_d0e49420_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F041E4F2-AAA3-5C8C-B8C6-646974DEF76E_d0e53654_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F057FFF8-EA6A-5719-BE6B-B37950A07A7B_d0e321628_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F057FFF8-EA6A-5719-BE6B-B37950A07A7B_d0e327614_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F0923110-D5D9-56D7-8CBC-82CAE062BC1A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-F0923110-D5D9-56D7-8CBC-82CAE062BC1A"><title>-check</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This option is for checking that the required files have been created during a particular build step. </p> <p>The option creates a list of files that should have been created and then checks that each one exists in turn. If a file is missing the full name of the file is piped to STDERR.</p> <p>Note that if this option is specified with <codeph>abld
-          build</codeph>, makefiles will not be included in the list of files to be checked. </p> <p>If the option is specified with <codeph>abld
-          reallyclean</codeph>, however, the makefiles will be included in the list.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e101025_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e79393_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e83591_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F0BC230B-CAEC-452D-8FF4-20803C63B07C_d0e96946_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F0BDE1EC-5042-5328-9290-22BB2189F6B4.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F0BDE1EC-5042-5328-9290-22BB2189F6B4.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 with <filepath>GPSSetClock.lib</filepath>. </p> <fig id="GUID-CAE2F49D-6B7A-5F6F-A0BD-25A8475CDE32">
 <title>              Figure 1. CGPSSetClockBase is the base class for LBS
 set clock              plug-in classes.            </title>
-<image href="GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e447746_href.png" placement="inline"/>
+<image href="GUID-9BA295BC-627C-5B82-B669-F4F7B55E3F82_d0e453591_href.png" placement="inline"/>
 </fig> <p>To implement a set clock plug-in a developer must follow the steps
 in the next section. </p> </section>
 <section><title>Procedure</title> <ol id="GUID-657B1DA8-2A2B-583B-AADD-3E94AEE04751">
--- a/Symbian3/PDK/Source/GUID-F0C47F37-354B-51BD-B607-D4575C249DC8.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F0C47F37-354B-51BD-B607-D4575C249DC8.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -66,7 +66,7 @@
 <li id="GUID-3114D3AB-22FA-52FC-A097-427C639BE066"><p> <xref href="GUID-7A97A0BE-1EDA-380F-B5BB-630E3E0614C4.dita"><apiname>MDvbhScanObserver</apiname></xref>  </p> <p>Provides
 notification of scan operations. </p> </li>
 </ul> <p>The Class diagram of <xref href="GUID-617CD367-CF68-3932-8E77-669820A7B9AF.dita"><apiname>RDvbhReceiver</apiname></xref> is shown below: </p> <fig id="GUID-5124410C-180C-5DF5-BB13-DECD361AF1F5">
-<image href="GUID-6E5625BF-88E0-579A-B2CA-32F3EBDD83CB_d0e525710_href.png" placement="inline"/>
+<image href="GUID-6E5625BF-88E0-579A-B2CA-32F3EBDD83CB_d0e533170_href.png" placement="inline"/>
 </fig> <p> </p> </section>
 <section><title>Using DVB-H Receiver Library</title> <ul>
 <li id="GUID-A899FDD6-B1FD-5B9F-A1C7-C67DED8249AA"><p>A receiver hardware
Binary file Symbian3/PDK/Source/GUID-F0DCFAB5-DE92-5336-B4E2-1ED40BE05DEC_d0e684686_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F0DCFAB5-DE92-5336-B4E2-1ED40BE05DEC_d0e697513_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F12437C5-BD96-5B43-AD76-614CFAB104D2_d0e296351_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F12437C5-BD96-5B43-AD76-614CFAB104D2_d0e302343_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F127644A-6072-52CA-9B17-E9DDEA784BE0_d0e379843_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F127644A-6072-52CA-9B17-E9DDEA784BE0_d0e385696_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F13D4492-4E0C-5D7A-A30D-9E79F092CF72.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F13D4492-4E0C-5D7A-A30D-9E79F092CF72" xml:lang="en"><title>listing</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><codeph>abld</codeph> [ test ] <codeph>listing</codeph>  <codeph> [-k]
-[-v] </codeph> [ <varname>platform</varname> ] [ <varname>build</varname> ]
-[ <varname>program</varname> ] [ <varname>source_basename</varname> ]</p>
-<p>This command creates an assembler listing file for a particular source
-file.</p>
-<p>The listing file name has the format extension <varname>source_basename</varname> <filepath>.lis.</filepath> <varname>ABI-name</varname>. </p>
-<p>The listing file is created in the build directory and then copied to the
-directory containing the source file. </p>
-<example><p>Assuming <filepath>myproject</filepath> is a project,
-and <filepath>cappui.cpp</filepath> is the file to get the listing for, the
-following command would produce an ARMI release assembly listing for that
-file:</p><userinput>abld listing armi urel myproject cappui</userinput><p>This
-would produce an output file <filepath>cappui.lis.armi</filepath>.</p></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F149726A-CC79-42A1-8A25-E15AC14ABE9A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F149726A-CC79-42A1-8A25-E15AC14ABE9A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 items that the user can adjust. Setting lists are displayed in the main pane.</p>
 <fig id="GUID-0CDD9A63-4113-4662-BCBA-502FC7CA8FF4">
 <title>Setting list </title>
-<image href="GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e86312_href.png" placement="inline"/>
+<image href="GUID-EC7E0C0E-EEB0-45B5-BE4A-11CAF78EC366_d0e90510_href.png" placement="inline"/>
 </fig>
 <p>A setting item can be adjusted by selecting it in the same way as selection
 list items are selected in general; that is, by pressing the Selection key,
@@ -67,19 +67,19 @@
 </table>
 <fig id="GUID-100ECC17-5370-437D-B356-070DC3F1E785">
 <title>Pop-up setting</title>
-<image href="GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e86395_href.png" placement="inline"/>
+<image href="GUID-DFBBA71F-0042-4303-B66F-0D291106B655_d0e90593_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-FE7CEFF0-1929-46D5-906B-B65C4CC909BF">
 <title>Multi-selection setting</title>
-<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e86403_href.png" placement="inline"/>
+<image href="GUID-3AA34D0C-539D-4D4E-9337-EB5B83AEF4C1_d0e90601_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-9391502B-9B3E-417C-98D4-9962B88E9C97">
 <title>Text setting</title>
-<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e86411_href.png" placement="inline"/>
+<image href="GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e90609_href.png" placement="inline"/>
 </fig>
 <fig id="GUID-C8EFE352-7D5B-4199-B6C9-A9F9DEBFEF53">
 <title>Slider setting</title>
-<image href="GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e86419_href.png" placement="inline"/>
+<image href="GUID-D8D65830-CC9D-4E9F-A206-34BB077E89E6_d0e90617_href.png" placement="inline"/>
 </fig>
 <p>By default, in a setting editor, the keypad functions are as follows:</p>
 <table id="GUID-1181AD52-5BAD-4F44-A0A1-EA930F63E1AC"><title>Default key events
--- a/Symbian3/PDK/Source/GUID-F14A2252-7D7B-5631-9796-3C9AC54014E7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F14A2252-7D7B-5631-9796-3C9AC54014E7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -33,7 +33,7 @@
 your client application. </p> <codeblock id="GUID-EED135A5-C141-5525-9C0C-DCF318040C46" xml:space="preserve">IMPORT_C void RequestL (CMsvSearchSortQuery* aQuery, TBool aMarkQuery, TRequestStatus&amp; aQueryStatus, TInt aIterator=0)</codeblock> <p><b>Unmarking</b> </p> <p>To unmark a query ID, use the CMsvSearchSortOperation::UnmarkQuery()
 function in your client application. </p> <codeblock id="GUID-1C27E207-33F0-5F64-81FC-C50BF257BCB7" xml:space="preserve">IMPORT_C TInt UnmarkQuery  (const TInt aQueryId )</codeblock> <fig id="GUID-7D09EFAE-67B3-5142-A6EF-F9D86E39414F">
 <title>              Repetitive search request process            </title>
-<image href="GUID-E9F08BCA-39F6-55D3-8974-BD0FFB90DE11_d0e485521_href.png" placement="inline"/>
+<image href="GUID-E9F08BCA-39F6-55D3-8974-BD0FFB90DE11_d0e491350_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Procedure</title> <ol id="GUID-E149145A-A3CB-5CE9-9484-9A7B41E9D302">
 <li id="GUID-9D17EF5C-BCA1-5FAE-BE69-DDF6B441F4A5"><p>To get a query ID, complete
--- a/Symbian3/PDK/Source/GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,116 +9,91 @@
 -->
 <!DOCTYPE reference
   PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22" xml:lang="en"><title>linkedlist:
-Using the Linked List classes</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section id="GUID-4B81C04C-94DD-4694-9BD9-447ADE72B294"><p>The following examples
-show the use of the linked list classes: </p> <ul>
+<reference id="GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22" xml:lang="en"><title>linkedlist: Using the Linked List classes</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-4B81C04C-94DD-4694-9BD9-447ADE72B294"><p>The following
+examples show the use of the linked list classes: </p> <ul>
 <li id="GUID-F204E5EC-593B-556D-83DC-72B7B5C7C46A"><p><xref href="GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita#GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22/GUID-4366D8F9-3E8F-53B2-BB3C-A32CA13DA96D"> Singly linked list example</xref>  </p> </li>
 <li id="GUID-295D6285-199E-5FD8-B0B9-90FA546831F8"><p><xref href="GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita#GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22/GUID-FC5F8D9A-C594-5FBB-9AD1-8DEB72A5F5BD"> Doubly linked list example</xref>  </p> </li>
 <li id="GUID-F459FF26-D837-5E5F-BB50-67D12D3EE93F"><p><xref href="GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita#GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22/GUID-7FFDF885-72F4-543E-A93E-C6A57D3D7DE0"> Delta queue example</xref>  </p> </li>
 </ul> </section>
-<section id="GUID-4366D8F9-3E8F-53B2-BB3C-A32CA13DA96D"><title>Singly linked
-list example</title> <p>This example application demonstrates the use of singly
-linked lists. The templated <xref href="GUID-40BA1263-BE07-3C7F-955E-0BBC632E7C58.dita"><apiname>TSglQue</apiname></xref> class is used to create
-a singly linked list. </p> <p><b>Download</b> </p> <p>Click on the following
-link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-54304ba8-7028-43b8-89b8-d89432684981.zip" scope="external">sgllist.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-54304ba8-7028-43b8-89b8-d89432684981.html" scope="peer">browse </xref>to view the example.</p> <p><b>Description</b> </p> <p>The
-example creates a singly linked list of objects of the <xref href="GUID-129B4F4D-500E-37E8-9D29-94E3E6D11BD9.dita"><apiname>TDigit</apiname></xref> class.
-This list represents a long number. An object of class <xref href="GUID-F20187A8-CC62-34C6-830C-FB077515AAF8.dita"><apiname>CLongNumber</apiname></xref> owns
-the list. The user can edit this list using the functions defined in the <codeph>CLongNumber</codeph> class.
-The following edit operations are possible: </p> <ul>
-<li id="GUID-C793B73E-9037-5B22-8A3A-EFAD7A666D53"><p>Insert an object of
-the <codeph>TDigit</codeph> class at the start of the singly linked list </p> </li>
-<li id="GUID-C46B31C9-49FF-5457-9157-E55316F26252"><p>Insert an object of
-the <codeph>TDigit</codeph> class at the end of the singly linked list </p> </li>
-<li id="GUID-9AFD5005-AA6A-5D7D-9B96-35CBA4791128"><p>Remove an object of
-the <codeph>TDigit</codeph> class from the end of the singly linked list </p> </li>
-</ul> <p>The user can perform any of these operations by pressing keys specified
-in the menu. <codeph>CLongNumber</codeph> is an active object class and handles
-the key press events in the <codeph>CLongNumber::RunL()</codeph> function.The <codeph>CLongNumber::ReadFunc()</codeph> function
-displays a menu and waits for an asynchronous key press event. </p> <p>An
-object of the templated <xref href="GUID-0A865633-5038-3320-A472-A2EE18F04FBE.dita"><apiname>TSglQueIter</apiname></xref> class is used to traverse
-this linked list. The sum of all digits of the number represented by the linked
-list is displayed to the user. </p> <p>An object of the <xref href="GUID-D0AE0223-82DC-369A-A8FB-C2086C1EC77C.dita"><apiname>CAdder</apiname></xref> class
-is used to traverse the <codeph>CLongNumber::iNumber</codeph> list and print
-the sum of all digits of the number represented by this list. The <codeph>CAdder::Add()</codeph> function
-gets this sum. </p><p><b>Related APIs</b></p><ul>
+<section id="GUID-4366D8F9-3E8F-53B2-BB3C-A32CA13DA96D"><title>Singly
+linked list example</title> <p>This example application demonstrates
+the use of singly linked lists. The templated <xref href="GUID-40BA1263-BE07-3C7F-955E-0BBC632E7C58.dita"><apiname>TSglQue</apiname></xref> class is used to create a singly linked list. </p> <p><b>Download</b> </p> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-54304ba8-7028-43b8-89b8-d89432684981.zip" scope="external">sgllist.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-54304ba8-7028-43b8-89b8-d89432684981.html" scope="peer">browse </xref>to view the example.</p> <p><b>Description</b> </p> <p>The example creates a singly linked list of objects of the <xref href="GUID-129B4F4D-500E-37E8-9D29-94E3E6D11BD9.dita"><apiname>TDigit</apiname></xref> class. This list represents a long number. An object
+of class <xref href="GUID-F20187A8-CC62-34C6-830C-FB077515AAF8.dita"><apiname>CLongNumber</apiname></xref> owns the list. The user can
+edit this list using the functions defined in the <codeph>CLongNumber</codeph> class. The following edit operations are possible: </p> <ul>
+<li id="GUID-C793B73E-9037-5B22-8A3A-EFAD7A666D53"><p>Insert an object
+of the <codeph>TDigit</codeph> class at the start of the singly linked
+list </p> </li>
+<li id="GUID-C46B31C9-49FF-5457-9157-E55316F26252"><p>Insert an object
+of the <codeph>TDigit</codeph> class at the end of the singly linked
+list </p> </li>
+<li id="GUID-9AFD5005-AA6A-5D7D-9B96-35CBA4791128"><p>Remove an object
+of the <codeph>TDigit</codeph> class from the end of the singly linked
+list </p> </li>
+</ul> <p>The user can perform any of these operations by pressing
+keys specified in the menu. <codeph>CLongNumber</codeph> is an active
+object class and handles the key press events in the <codeph>CLongNumber::RunL()</codeph> function.The <codeph>CLongNumber::ReadFunc()</codeph> function displays
+a menu and waits for an asynchronous key press event. </p> <p>An object
+of the templated <xref href="GUID-0A865633-5038-3320-A472-A2EE18F04FBE.dita"><apiname>TSglQueIter</apiname></xref> class is used to traverse
+this linked list. The sum of all digits of the number represented
+by the linked list is displayed to the user. </p> <p>An object of
+the <xref href="GUID-D0AE0223-82DC-369A-A8FB-C2086C1EC77C.dita"><apiname>CAdder</apiname></xref> class is used to traverse the <codeph>CLongNumber::iNumber</codeph> list and print the sum of all digits
+of the number represented by this list. The <codeph>CAdder::Add()</codeph> function gets this sum. </p><p><b>Related APIs</b></p><ul>
 <li><p><xref href="GUID-D0AE0223-82DC-369A-A8FB-C2086C1EC77C.dita"><apiname>CAdder</apiname></xref></p></li>
 <li><p><xref href="GUID-F20187A8-CC62-34C6-830C-FB077515AAF8.dita"><apiname>CLongNumber</apiname></xref></p></li>
 <li><p><xref href="GUID-129B4F4D-500E-37E8-9D29-94E3E6D11BD9.dita"><apiname>TDigit</apiname></xref></p></li>
 <li><p><xref href="GUID-0A865633-5038-3320-A472-A2EE18F04FBE.dita"><apiname>TSglQueIter</apiname></xref></p></li>
-</ul> <p><b>Design and implementation</b> </p> <p>Figure 1 shows the classes
-in the example. </p> <fig id="GUID-7BB458A7-C1E6-5919-A503-BFBE695432AA">
-<title>     Figure 1. Classes in the singly linked list example          
-    </title>
-<image href="GUID-D6B332EB-D9D7-5598-98C7-E73164A2057D_d0e354088_href.jpg" placement="inline"/>
+</ul> <p><b>Design and implementation</b> </p> <p>Figure 1 shows the
+classes in the example. </p> <fig id="GUID-7BB458A7-C1E6-5919-A503-BFBE695432AA">
+<title>     Figure 1. Classes in the singly linked list example  
+            </title>
+<image href="GUID-D6B332EB-D9D7-5598-98C7-E73164A2057D_d0e360009_href.jpg" placement="inline"/>
 </fig> <p><b>Class summary</b></p><ul>
 <li><p><xref href="GUID-40BA1263-BE07-3C7F-955E-0BBC632E7C58.dita"><apiname>TSglQue</apiname></xref></p></li>
 <li><p> <xref href="GUID-0A865633-5038-3320-A472-A2EE18F04FBE.dita"><apiname>TSglQueIter</apiname></xref></p></li>
-</ul><p><b>Build</b> </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this example. </p> <p>For
-the emulator, the example builds an executable called <filepath>sgllist.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p><p><b>See
-also:</b></p><p><xref href="GUID-052E9582-9A35-50B0-A32E-F7E6A01A2E2A.dita">Using
-Singly Linked Lists</xref></p> </section>
-<section id="GUID-FC5F8D9A-C594-5FBB-9AD1-8DEB72A5F5BD"><title>Doubly linked
-list example</title> <p>This example application demonstrates the use of doubly
-linked lists. The templated <xref href="GUID-E5E9834A-63CA-3F03-88D3-85B912ADA54C.dita"><apiname>TDblQue</apiname></xref> class is used create
-a doubly linked list. </p> <p><b>Download</b> </p> <p>Click on the following
-link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3a268b1a-9a7e-49ae-bc76-f99bdc3b32f5.zip" scope="external">dbllist.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3a268b1a-9a7e-49ae-bc76-f99bdc3b32f5.html" scope="peer">browse </xref>to view the example code</p> <p><b>Description</b> </p> <p>The
-example creates a doubly linked list of objects of the <codeph>TLetter</codeph> class.
-This list represents a character string. An object of class <codeph>CMyStringReverse</codeph> owns
-this string. The user can edit this string using the functions defined in
-the <codeph>CMyStringReverse</codeph> class. The following edit operations
-are possible: </p> <ul>
-<li id="GUID-D3B39123-1249-59DD-BC1F-2D62B7F9DE84"><p>Insert a character at
-the start of the list </p> </li>
-<li id="GUID-E6CEC00A-B6C1-53B2-9AAA-870EA8B06A5B"><p>Insert a character at
-the end of the list </p> </li>
-</ul> <p>The user can perform either of these operations by pressing keys
-specified in the menu. <codeph>CMyStringReverse</codeph> is an active object
-class and handles key press events in the <codeph>CMyStringReverse::RunL()</codeph> function.
-The <codeph>CMyStringReverse::ReadFunc()</codeph> function displays a menu
-and waits for an asynchronous key press event. </p> <p>The <codeph>CMyStringReverse</codeph> class
-has a doubly linked list iterator, <codeph>iIteratorString</codeph>. The <codeph>iIteratorString</codeph> object
-iterates through the list <codeph>iString</codeph> from start to end to print
-the string reversed. </p><p><b>Design and implementation</b></p><p>Figure
-2 shows the classes in the example.</p><fig id="GUID-67F3F952-D0A8-4A28-8CB2-0394C1562A29">
+</ul><p><b>Build</b> </p> <p>For the emulator, the
+example builds an executable called <filepath>sgllist.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p><p><b>See also:</b></p><p><xref href="GUID-052E9582-9A35-50B0-A32E-F7E6A01A2E2A.dita">Using Singly Linked
+Lists</xref></p> </section>
+<section id="GUID-FC5F8D9A-C594-5FBB-9AD1-8DEB72A5F5BD"><title>Doubly
+linked list example</title> <p>This example application demonstrates
+the use of doubly linked lists. The templated <xref href="GUID-E5E9834A-63CA-3F03-88D3-85B912ADA54C.dita"><apiname>TDblQue</apiname></xref> class is used create a doubly linked list. </p> <p><b>Download</b> </p> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3a268b1a-9a7e-49ae-bc76-f99bdc3b32f5.zip" scope="external">dbllist.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3a268b1a-9a7e-49ae-bc76-f99bdc3b32f5.html" scope="peer">browse </xref>to view the example code</p> <p><b>Description</b> </p> <p>The example creates a doubly linked list of objects of the <codeph>TLetter</codeph> class. This list represents a character string.
+An object of class <codeph>CMyStringReverse</codeph> owns this string.
+The user can edit this string using the functions defined in the <codeph>CMyStringReverse</codeph> class. The following edit operations are
+possible: </p> <ul>
+<li id="GUID-D3B39123-1249-59DD-BC1F-2D62B7F9DE84"><p>Insert a character
+at the start of the list </p> </li>
+<li id="GUID-E6CEC00A-B6C1-53B2-9AAA-870EA8B06A5B"><p>Insert a character
+at the end of the list </p> </li>
+</ul> <p>The user can perform either of these operations by pressing
+keys specified in the menu. <codeph>CMyStringReverse</codeph> is an
+active object class and handles key press events in the <codeph>CMyStringReverse::RunL()</codeph> function. The <codeph>CMyStringReverse::ReadFunc()</codeph> function
+displays a menu and waits for an asynchronous key press event. </p> <p>The <codeph>CMyStringReverse</codeph> class has a doubly linked
+list iterator, <codeph>iIteratorString</codeph>. The <codeph>iIteratorString</codeph> object iterates through the list <codeph>iString</codeph> from start
+to end to print the string reversed. </p><p><b>Design and implementation</b></p><p>Figure 2 shows the classes in the example.</p><fig id="GUID-67F3F952-D0A8-4A28-8CB2-0394C1562A29">
 <title> Figure 2. Classes in the doubly linked list example </title>
-<image href="GUID-21A1D1D2-524E-560E-88C8-16E2E49E2B7F_d0e354227_href.jpg" placement="inline"/>
+<image href="GUID-21A1D1D2-524E-560E-88C8-16E2E49E2B7F_d0e360144_href.jpg" placement="inline"/>
 </fig><p><b>Class summary</b></p><ul>
-<li><p><xref href="GUID-E5E9834A-63CA-3F03-88D3-85B912ADA54C.dita"><apiname>TDblQue</apiname></xref> - A templated class that provides the behaviour
-for managing a doubly linked list.</p></li>
-</ul> <p><b>Build</b> </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this example. </p> <p>For
-the emulator, the example builds an executable called <filepath>dbllist.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> <p><b>See
-also</b> </p> <p><xref href="GUID-F45EA14E-F857-5D59-BFBA-E2F563287359.dita">Using
-Doubly Linked Lists</xref>  </p> <p><b>Example code</b> </p> </section>
-<section id="GUID-7FFDF885-72F4-543E-A93E-C6A57D3D7DE0"><title>Delta queue
-example</title> <p>This example application demonstrates the use of the delta
-queue. The templated <xref href="GUID-E67BB56F-F9DD-316D-BC16-ED60D31A5925.dita"><apiname>TDeltaQue</apiname></xref> class is used create a delta
-queue. </p> <p><b>Download</b> </p> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-6a73c507-073b-4993-aa02-a677a384bafb.zip" scope="external">deltaque.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-6a73c507-073b-4993-aa02-a677a384bafb.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
-example creates an object of the <codeph>CTimerEntry</codeph> class. This
-is a <xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref> derived class. An object of this class generates
-timer events by using the <xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita#GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A/GUID-F389C301-D56B-3981-9C26-180E02BFF171"><apiname>CTimer::After()</apiname></xref> function. The
-data member of this class, <codeph>iQueue</codeph> is a delta list. The offset
-value of each node in this list is the tick count after each timer event.
-The <codeph>CTimerEntry::Arbitrator()</codeph> function decides the action
-to be performed for each event generated by the timer. It either adds tick
-counts to the list or removes elements from the list based on the state of
-the queue. </p><p><b>Related APIs</b></p><ul>
+<li><p><xref href="GUID-E5E9834A-63CA-3F03-88D3-85B912ADA54C.dita"><apiname>TDblQue</apiname></xref> - A templated class that provides
+the behaviour for managing a doubly linked list.</p></li>
+</ul> <p><b>Build</b> </p> <p>For the emulator, the example builds
+an executable called <filepath>dbllist.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> <p><b>See also</b> </p> <p><xref href="GUID-F45EA14E-F857-5D59-BFBA-E2F563287359.dita">Using Doubly Linked
+Lists</xref>  </p> <p><b>Example code</b> </p> </section>
+<section id="GUID-7FFDF885-72F4-543E-A93E-C6A57D3D7DE0"><title>Delta
+queue example</title> <p>This example application demonstrates the
+use of the delta queue. The templated <xref href="GUID-E67BB56F-F9DD-316D-BC16-ED60D31A5925.dita"><apiname>TDeltaQue</apiname></xref> class is used create a delta queue. </p> <p><b>Download</b> </p> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-6a73c507-073b-4993-aa02-a677a384bafb.zip" scope="external">deltaque.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-6a73c507-073b-4993-aa02-a677a384bafb.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The example creates an object of the <codeph>CTimerEntry</codeph> class. This is a <xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref> derived class. An object
+of this class generates timer events by using the <xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita#GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A/GUID-F389C301-D56B-3981-9C26-180E02BFF171"><apiname>CTimer::After()</apiname></xref> function. The data member of this class, <codeph>iQueue</codeph> is a delta list. The offset value of each node in this list is the
+tick count after each timer event. The <codeph>CTimerEntry::Arbitrator()</codeph> function decides the action to be performed for each event generated
+by the timer. It either adds tick counts to the list or removes elements
+from the list based on the state of the queue. </p><p><b>Related APIs</b></p><ul>
 <li><p><xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref> - Base class for a timer active object.</p></li>
 <li><p><xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita#GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A/GUID-F389C301-D56B-3981-9C26-180E02BFF171"><apiname>CTimer::After()</apiname></xref></p></li>
-</ul><p><b>Design and implementation</b></p><p> Figure 3 shows the classes
-of the example. </p><fig id="GUID-2E093EFA-7A18-4623-AE31-3FA1FDB103F5">
+</ul><p><b>Design and implementation</b></p><p> Figure 3 shows the
+classes of the example. </p><fig id="GUID-2E093EFA-7A18-4623-AE31-3FA1FDB103F5">
 <title> Figure 3. Classes of the delta queue example </title>
-<image href="GUID-8CF0C00C-0FDF-517E-96FB-84F718237F61_d0e354356_href.jpg" placement="inline"/>
+<image href="GUID-8CF0C00C-0FDF-517E-96FB-84F718237F61_d0e360267_href.jpg" placement="inline"/>
 </fig><p><b>Class summary</b></p><ul>
 <li><p> <xref href="GUID-E67BB56F-F9DD-316D-BC16-ED60D31A5925.dita"><apiname>TDeltaQue</apiname></xref></p></li>
 <li><p><xref href="GUID-5733DF34-5B54-3044-BBED-3BFECB7ACE7A.dita"><apiname>CTimer</apiname></xref> - Base class for a timer active object.</p></li>
-</ul> <p><b>Build</b> </p> <p><xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The
-Symbian build process</xref> describes how to build this example. </p> <p>For
-the emulator, the example builds an executable called <filepath>deltaque.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </section>
+</ul> <p><b>Build</b> </p> <p>For the emulator, the example builds
+an executable called <filepath>deltaque.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </section>
 </refbody></reference>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F15D2D1A-FA45-5665-9507-1EC7ECB301BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F15D2D1A-FA45-5665-9507-1EC7ECB301BF.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F15D2D1A-FA45-5665-9507-1EC7ECB301BF"><title>Policy Check Requests</title><shortdesc>This section describes how the client application requests are authorised by the User Prompt Service. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The network user prompt service framework enables the developers to invoke the user prompt in two ways. </p> <ol id="GUID-0DF4FAA4-F875-5F0B-8362-AC5F06D83D69"><li id="GUID-C1B7DB0E-B4A0-583E-A93E-78F660AF1FA4"><p>Using a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref> request </p> </li> <li id="GUID-0997C833-2A08-5C69-B80E-5E4945AFA317"><p>Using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref>  </p> </li> </ol> <section><title>Piggy-back Request With TNoBearer</title> <p>The piggy back using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref> is used when an application attempts to write data into a socket for the first time without an existing bearer. The Piggy back request using <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref> method is recommended to be used by IP networking processes but can be used by other frameworks. This method is used when the TCP/IP stack calls a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>NoBearer()</apiname></xref> function or when a control provider (IP SCPR) sends a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref> to the MCPR. The MCPR retrieves the attributes of the client from the UPS access point configuration extension, which is created by the node and the MCPR prior to a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref>. </p> </section> <section><title>UPS Access Point Configuration Extension </title> <p>The UPS access point configuration extension is used to provide the information necessary to send the UPS prompt request to the MCPR. The <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref> message does not contain enough attributes for the MCPR to forward the request to the UPS server, so the UPS access point configuration extension populates the required field in the <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TNoBearer</apiname></xref> message. The UPS access point configuration extension is created in either of the following situations : </p> <ul><li id="GUID-40C13006-F19B-58A9-8601-49B0A5E4C7EB"><p>TCP/IP stack calls <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>CTransportFlowShim::NoBearer()</apiname></xref>  </p> </li> <li id="GUID-8D3E9D67-A923-56DF-ABE0-005AC1F168E5"><p>IP SCPR receives a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>CConection::Start()</apiname></xref>  </p> </li> </ul> <p>The extension contains the details of the client which originated the above calls. The extension contains the details such as <codeph>process
           id</codeph>, <codeph>thread id</codeph>, result of the platform security check, <codeph>destination address</codeph> and a <codeph>Boolean flag </codeph> specifying if a particular process needs to be authenticated by UPS server. </p> </section> <section><title> Authorisation Request With
-          TPolicyCheckRequest</title> <p> <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref> is used when an application attempts to write data into a socket with an existing bearer. When the application must be authenticated by the user, the framework implementers pass the user prompts request to the control providers. The node passes the client side request through a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref>. This mechanism is implemented in the core framework and is available to all the framework implementers. The mechanism requires <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref> message to be sent from the node which requires UPS authorisation to its MCPR through an intermediate clients. A <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckResponse</apiname></xref> is sent in the opposite direction once the response is received from the UPS server. </p> <fig id="GUID-D9310DD0-4FA8-5810-92E1-02FCBDB5EF4C"><image href="GUID-D48AD74E-FF0E-502F-961C-CAD0516B3BA9_d0e559314_href.png" placement="inline"/></fig> <p> <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref> contains client information such as the process id, the result of platform security check and, when available, the destination address field . </p> </section> </conbody></concept>
\ No newline at end of file
+          TPolicyCheckRequest</title> <p> <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref> is used when an application attempts to write data into a socket with an existing bearer. When the application must be authenticated by the user, the framework implementers pass the user prompts request to the control providers. The node passes the client side request through a <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref>. This mechanism is implemented in the core framework and is available to all the framework implementers. The mechanism requires <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref> message to be sent from the node which requires UPS authorisation to its MCPR through an intermediate clients. A <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckResponse</apiname></xref> is sent in the opposite direction once the response is received from the UPS server. </p> <fig id="GUID-D9310DD0-4FA8-5810-92E1-02FCBDB5EF4C"><image href="GUID-D48AD74E-FF0E-502F-961C-CAD0516B3BA9_d0e566770_href.png" placement="inline"/></fig> <p> <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>TPolicyCheckRequest</apiname></xref> contains client information such as the process id, the result of platform security check and, when available, the destination address field . </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e101332_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e79732_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e83930_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e86411_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e90609_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e92147_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e96345_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F161C184-2016-4331-A57C-78C753453EFE_d0e97253_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F18A6C91-136D-450E-90F0-7C2B9263777C_d0e3021_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F18A6C91-136D-450E-90F0-7C2B9263777C_d0e3031_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F18AA5AC-80C6-51B2-8D15-61C59D877520_d0e602735_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-F18AA5AC-80C6-51B2-8D15-61C59D877520_d0e630629_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-F1CC06C0-0D3A-4BBC-97E1-E52D2856D7A7.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F1CC06C0-0D3A-4BBC-97E1-E52D2856D7A7.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -15,7 +15,7 @@
 Find pane is situated in the bottom part of the main pane.</p>
 <fig id="GUID-08B6ECBF-B245-4476-BF17-29894CEBFE21">
 <title>Find pane within a selection list of names in Phonebook</title>
-<image href="GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e80014_href.png" placement="inline"/>
+<image href="GUID-0EBE8B44-1F42-4654-AC4D-A5F242FA49EB_d0e84212_href.png" placement="inline"/>
 </fig>
 <p>The standard functionality of the Find pane is as follows:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-F1DD8800-389C-5A88-A5EB-138359EF7DC5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F1DD8800-389C-5A88-A5EB-138359EF7DC5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F1DD8800-389C-5A88-A5EB-138359EF7DC5"><title>MTP Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Symbian MTP implementation defines a transport layer, an MTP layer and a storage layer. The MTP Framework is the MTP layer, which is the core component of the implementation. It manages and works with data providers and transports for MTP requests and operations. </p> <section><title>Required background</title> <p>You must have a general understanding of the <xref scope="external" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=FED98CA6-CA7F-4E60-B88C-C5FCE88F3EEA">MTP enhanced specification</xref> and the <xref href="GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita">Symbian implementation of the Media Transfer Protocol</xref> to use the MTP Framework component. </p> </section> <section><title> Architecture</title> <p>The following diagram shows the Symbian MTP implementation including the MTP Framework, the MTP Data Providers and the MTP Transports. </p> <fig id="GUID-4FE36574-C9A2-50BB-A312-B4ADDE0C3B09"><title>
              Symbian MTP Architecture 
-          </title> <image href="GUID-AA276F4E-D032-571E-9B76-BA2351C3F8B7_d0e606979_href.jpg" placement="inline"/></fig> <p>MTP Framework performs the following functions: </p> <ul><li id="GUID-8675AFFB-106A-56F9-AE82-337911B341B4"><p>Provides a standard Symbian client/server interface to start and stop MTP services with a transport protocol binding, for example MTP USB Transport. </p> </li> <li id="GUID-70650610-F5BA-55C7-B3DC-23EBA610E915"><p>Manages MTP transport connections. </p> </li> <li id="GUID-4EE27587-3C8F-5C5E-BAE4-EF19CEF8F19A"><p>Maintains the core MTP protocol connection, session and transaction states. </p> </li> <li id="GUID-32103AFB-5FDA-52DD-8113-090CB0A88796"><p>Manages data providers which determine the MTP media data formats supported by a device. </p> </li> <li id="GUID-FEC35AAA-DB52-5DBF-8D26-61DE4854AD33"><p>Routes MTP operation requests and event datasets to data providers for processing. </p> </li> <li id="GUID-C7B4FA1A-9ECF-5148-9C0C-A6A59CB33602"><p>Efficiently manages the flow of potentially very large volumes of media object data, for example files over 4GB. </p> </li> <li id="GUID-45A445F8-1DB9-5789-A5E5-14942F6CBA4E"><p>Maintains a set of MTP data object metadata storages that collectively manage the set of MTP data objects on the device. These objects are enumerated to a connected MTP initiator. </p> </li> <li id="GUID-497E4414-B8A8-5871-8E16-C2FFB660665D"><p>Provides the MTP Data Provider API for device creators to extend the data providers. </p> </li> </ul> </section> <section><title>APIs</title> <p>The MTP Framework exports the following key APIs: </p> <p> <b>MTP Client API</b> (<filepath>mtpclient.dll</filepath>) </p> <table id="GUID-8078BF19-1A4E-5D80-817C-508432500B6A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-0F7C98EA-168C-3662-8EB1-81AF174F6305.dita"><apiname>RMTPClient</apiname></xref>  </p> </entry> <entry><p>The MTP client interface for starting and stopping MTP services, and for specifying the transport protocol. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>MTP Data Provider API</b> (<filepath>mtpdataproviderapi.dll</filepath>) </p> <table id="GUID-00383325-EEAC-552E-A536-88B005991FF6"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-710B9980-7EF5-3E20-954B-795241D1D479.dita"><apiname>CMTPDataProviderPlugin</apiname></xref>  </p> </entry> <entry><p>The data provider ECom plug-in interface. Each ECOM plug-in data provider must be derived from this class. </p> </entry> </row> <row><entry><p> <xref href="GUID-D05CA382-EF87-3615-86A9-52508E0188B4.dita"><apiname>CMTPMetaData</apiname></xref>  </p> </entry> <entry><p>The MTP meta-data base class. </p> </entry> </row> <row><entry><p> <xref href="GUID-ACFF729E-09B0-36F7-89D1-C4987C9F35E8.dita"><apiname>CMTPObjectMetaData</apiname></xref>  </p> </entry> <entry><p>Represents MTP object meta-data. </p> </entry> </row> <row><entry><p> <xref href="GUID-1DF49266-22AF-3442-9D60-0F54737F0FE0.dita"><apiname>CMTPStorageMetaData</apiname></xref>  </p> </entry> <entry><p>Represents MTP storage meta-data. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>MTP Framework Library</b> (<filepath>mtpframework.dll</filepath>) </p> <table id="GUID-F5BD03BF-2E47-540E-A7EA-D7A12663F768"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-86E1BD36-36F3-3136-9185-330385950E17.dita"><apiname>MMTPDataCodeGenerator</apiname></xref>  </p> </entry> <entry><p>Provides functions to generate a set of unique datacodes for a data provider service. For more information about datacode generation, refer to <xref href="GUID-DB82D140-AB1B-5AA9-89CB-A5F68F328C85.dita">Creating an MTP Data Provider Plug-in</xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-C3E0D6CA-56AC-322D-8681-D40B6B96018F.dita"><apiname>MMTPDataProviderFramework</apiname></xref>  </p> </entry> <entry><p>Can be used to get a reference of <xref href="GUID-86E1BD36-36F3-3136-9185-330385950E17.dita"><apiname>MMTPDataCodeGenerator</apiname></xref>. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>MTP Data Types Library</b>  </p> <p>The MTP Data Types Library implements the MTP standard data types and dataset. It also allows device creators to write extended data types. For the MTP data types and their relationships, refer to the <xref href="GUID-C6EA2CFE-EA35-5B05-8103-B06A87BE1828.dita">MTP Data Types Overview</xref>. </p> </section> <section><title>Typical uses</title> <p>Device creators can use the MTP Framework in the following ways: </p> <ul><li id="GUID-292A9AF4-EC66-59AC-8782-ADFA89E7D4ED"><p>To write MTP client applications which start and stop an MTP service. </p> </li> <li id="GUID-4A1577E5-13D6-5627-B616-1C01B98609AA"><p>To create additional data providers to support various data types. </p> </li> <li id="GUID-04DF3B99-5666-5BF6-8E33-08E3D02A5731"><p>To configure the Framework to support Picture Transfer Protocol (PTP) or PictBridge data in addition to MTP data. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita"><linktext>Media Transfer Protocol and Symbian
+          </title> <image href="GUID-AA276F4E-D032-571E-9B76-BA2351C3F8B7_d0e646141_href.jpg" placement="inline"/></fig> <p>MTP Framework performs the following functions: </p> <ul><li id="GUID-8675AFFB-106A-56F9-AE82-337911B341B4"><p>Provides a standard Symbian client/server interface to start and stop MTP services with a transport protocol binding, for example MTP USB Transport. </p> </li> <li id="GUID-70650610-F5BA-55C7-B3DC-23EBA610E915"><p>Manages MTP transport connections. </p> </li> <li id="GUID-4EE27587-3C8F-5C5E-BAE4-EF19CEF8F19A"><p>Maintains the core MTP protocol connection, session and transaction states. </p> </li> <li id="GUID-32103AFB-5FDA-52DD-8113-090CB0A88796"><p>Manages data providers which determine the MTP media data formats supported by a device. </p> </li> <li id="GUID-FEC35AAA-DB52-5DBF-8D26-61DE4854AD33"><p>Routes MTP operation requests and event datasets to data providers for processing. </p> </li> <li id="GUID-C7B4FA1A-9ECF-5148-9C0C-A6A59CB33602"><p>Efficiently manages the flow of potentially very large volumes of media object data, for example files over 4GB. </p> </li> <li id="GUID-45A445F8-1DB9-5789-A5E5-14942F6CBA4E"><p>Maintains a set of MTP data object metadata storages that collectively manage the set of MTP data objects on the device. These objects are enumerated to a connected MTP initiator. </p> </li> <li id="GUID-497E4414-B8A8-5871-8E16-C2FFB660665D"><p>Provides the MTP Data Provider API for device creators to extend the data providers. </p> </li> </ul> </section> <section><title>APIs</title> <p>The MTP Framework exports the following key APIs: </p> <p> <b>MTP Client API</b> (<filepath>mtpclient.dll</filepath>) </p> <table id="GUID-8078BF19-1A4E-5D80-817C-508432500B6A"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-0F7C98EA-168C-3662-8EB1-81AF174F6305.dita"><apiname>RMTPClient</apiname></xref>  </p> </entry> <entry><p>The MTP client interface for starting and stopping MTP services, and for specifying the transport protocol. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>MTP Data Provider API</b> (<filepath>mtpdataproviderapi.dll</filepath>) </p> <table id="GUID-00383325-EEAC-552E-A536-88B005991FF6"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-710B9980-7EF5-3E20-954B-795241D1D479.dita"><apiname>CMTPDataProviderPlugin</apiname></xref>  </p> </entry> <entry><p>The data provider ECom plug-in interface. Each ECOM plug-in data provider must be derived from this class. </p> </entry> </row> <row><entry><p> <xref href="GUID-D05CA382-EF87-3615-86A9-52508E0188B4.dita"><apiname>CMTPMetaData</apiname></xref>  </p> </entry> <entry><p>The MTP meta-data base class. </p> </entry> </row> <row><entry><p> <xref href="GUID-ACFF729E-09B0-36F7-89D1-C4987C9F35E8.dita"><apiname>CMTPObjectMetaData</apiname></xref>  </p> </entry> <entry><p>Represents MTP object meta-data. </p> </entry> </row> <row><entry><p> <xref href="GUID-1DF49266-22AF-3442-9D60-0F54737F0FE0.dita"><apiname>CMTPStorageMetaData</apiname></xref>  </p> </entry> <entry><p>Represents MTP storage meta-data. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>MTP Framework Library</b> (<filepath>mtpframework.dll</filepath>) </p> <table id="GUID-F5BD03BF-2E47-540E-A7EA-D7A12663F768"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-86E1BD36-36F3-3136-9185-330385950E17.dita"><apiname>MMTPDataCodeGenerator</apiname></xref>  </p> </entry> <entry><p>Provides functions to generate a set of unique datacodes for a data provider service. For more information about datacode generation, refer to <xref href="GUID-DB82D140-AB1B-5AA9-89CB-A5F68F328C85.dita">Creating an MTP Data Provider Plug-in</xref>. </p> </entry> </row> <row><entry><p> <xref href="GUID-C3E0D6CA-56AC-322D-8681-D40B6B96018F.dita"><apiname>MMTPDataProviderFramework</apiname></xref>  </p> </entry> <entry><p>Can be used to get a reference of <xref href="GUID-86E1BD36-36F3-3136-9185-330385950E17.dita"><apiname>MMTPDataCodeGenerator</apiname></xref>. </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>MTP Data Types Library</b>  </p> <p>The MTP Data Types Library implements the MTP standard data types and dataset. It also allows device creators to write extended data types. For the MTP data types and their relationships, refer to the <xref href="GUID-C6EA2CFE-EA35-5B05-8103-B06A87BE1828.dita">MTP Data Types Overview</xref>. </p> </section> <section><title>Typical uses</title> <p>Device creators can use the MTP Framework in the following ways: </p> <ul><li id="GUID-292A9AF4-EC66-59AC-8782-ADFA89E7D4ED"><p>To write MTP client applications which start and stop an MTP service. </p> </li> <li id="GUID-4A1577E5-13D6-5627-B616-1C01B98609AA"><p>To create additional data providers to support various data types. </p> </li> <li id="GUID-04DF3B99-5666-5BF6-8E33-08E3D02A5731"><p>To configure the Framework to support Picture Transfer Protocol (PTP) or PictBridge data in addition to MTP data. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-3F40DB93-6C60-56E2-8728-00370DF9AFB8.dita"><linktext>Media Transfer Protocol and Symbian
                 Implementation</linktext> </link> <link href="GUID-EA9D7B60-C4EA-5D29-9296-3E4C8B973F59.dita"><linktext>MTP Data Providers Overview</linktext> </link> <link href="GUID-8F5FAFAB-545A-5BF0-A3B5-6499F2D1AAD0.dita"><linktext>MTP Transports Overview</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F1E8B6F9-AAEA-5A55-B838-36C74FC8B4BA_d0e373132_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F1E8B6F9-AAEA-5A55-B838-36C74FC8B4BA_d0e378980_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F1EFB7C3-BC06-4822-BA37-06B02BECE80A_d0e102540_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F1EFB7C3-BC06-4822-BA37-06B02BECE80A_d0e106560_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F21A1ABE-4844-54E2-83E0-4AD25E867A72.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F21A1ABE-4844-54E2-83E0-4AD25E867A72" xml:lang="en"><title>ABIv1
-to ABIv2 toolchain changes</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The principal task of Symbian platform build tools such as <filepath>abld/makmake</filepath> is
-to read the specified project (.mmp) files and then call the appropriate compiler
-and linker with the necessary inputs and option settings. The binaries output
-from commercial compiler and linkers, such as ARM's RVCT and GNU GCC, cannot
-however be directly used by Symbian platform. Symbian platform requires binaries
-to be in Symbian-specific format, known as the E32Image format. </p>
-<p>In order to create binaries in this format, the toolchain must perform
-additional steps on the compiler/linker output. How these steps are performed
-is considerably different between builds for the ABIv1 and ABIv2 targets.
-Essentially, a number of small tools used for ABIv1 targets, are replaced
-for ABIv2 targets by a single tool called the post-linker (file name <filepath>elf2e32.exe</filepath>).
-This redesign is intended to simplify the work needed to introduce support
-for a new ABIv2 compatible compiler into the toolchain. </p>
-<p>The following diagram shows the steps (somewhat simplified) performed by
-the toolchain for the creation of a DLL for ABIv1 and v2 respectively: </p>
-<fig id="GUID-F68AB795-A612-5202-A459-30B62663737F">
-<title>           ABIv1 and v2 toolchains compared          </title>
-<image href="GUID-09263C33-EE63-530C-A6B9-70806F0BC16D_d0e724127_href.png" placement="inline"/>
-</fig>
-<p>The <filepath>elf2e32</filepath> tool replaces the ABIv1 toolchain tools <filepath>def2dll.bat</filepath>, <filepath>elf2inf.pl</filepath>, <filepath>makedef.pl</filepath> and <filepath>elftran.exe</filepath>. </p>
-<section><title>.dso files </title><p>In the ABIv2 toolchain, <filepath> .lib</filepath> files
-are replaced by <filepath>.dso</filepath> files. These files are used in similar
-situations to <filepath>.lib</filepath> files. However, the format of these
-two files is completely different. A <filepath>.lib</filepath> file is an
-archive file created from stubs generated for each of the exported symbols.
-A <filepath>.dso</filepath> file is an ELF object similar to other objects
-created with the compiler. It has all the associated sections required for
-an ELF object, such as the symbol table, string table, etc. The <filepath>.dso</filepath> file
-also has the information required for the linker to link to the correct ordinals
-to the DLL. <filepath>.lib</filepath> files cannot be used by the ABIv2 toolchain,
-and <filepath>.dso</filepath> files cannot be used by the ABIv1 toolchain.</p></section>
-<section><title>Linked objects </title><p>The compiler toolchain that supports
-ABIv2 produces linked objects that are different to those produced by the
-ABIv1 toolchain. The linked objects produced are both ELF format, but they
-have extra information that can be used by a postlinker to create platform
-specific binaries. As the ELF produced by ABIv2 has more information, it is
-not necessary to perform the sort of manipulations performed by the many small
-tools in the ABIv1 toolchain. As the linked objects differ significantly in
-their content, it is not possible to mix ABIv1 and ABIv2 toolchain objects
-in the same build tree. </p></section>
-<section><title>E32Image format </title><p>The final E32image produced by
-the ABIv2 toolchain is in the same format as that of the ABIv1 toolchain.
-However, a byte by byte comparison of the same E32image file in ABIv1 and
-ABIv2 is not possible. The layout of the code produced by the linker is different,
-although the code is still binary compatible. </p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F220E2B7-DE9B-5230-A396-15853369C176_d0e227215_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F220E2B7-DE9B-5230-A396-15853369C176_d0e233208_href.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F22B8035-CD08-4181-B03A-759E92CA967B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F22B8035-CD08-4181-B03A-759E92CA967B" xml:lang="en"><title>Organizer Guide</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Organizer package is a collection of various components related
+to Personal Information Management (PIM). Organizer package includes
+Calendar, Clock, Alarm, Notepad and Search applications.</p>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F23BB1F1-CF90-597F-8410-34AB8B567501.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F23BB1F1-CF90-597F-8410-34AB8B567501.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 such as Telephony, SyncML and Messaging. </p> <fig id="GUID-5335C9B9-5C4E-5673-AB93-59C921C3AC58">
 <title>PIM Subsystem components are part of the Application Services and Generic
 Middleware layers</title>
-<image href="GUID-1742B2A1-6EC1-5368-919B-362516A5D452_d0e594815_href.png" placement="inline"/>
+<image href="GUID-1742B2A1-6EC1-5368-919B-362516A5D452_d0e577370_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-AEA465F8-77B5-45A6-B5A4-12083A9008F4"><title>Application
 Engines</title> <p>Application Engines provide data storage and manipulation
--- a/Symbian3/PDK/Source/GUID-F2487AEE-966E-472E-9162-E0400C9A8234.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F2487AEE-966E-472E-9162-E0400C9A8234.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,8 +11,8 @@
   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
 <task id="GUID-F2487AEE-966E-472E-9162-E0400C9A8234" xml:lang="en"><title>Converting
 from UTC to local time in the system time zone</title><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-12-1-1-8-1-5-1-3-1-4-1-2-1">
-<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-12-1-1-8-1-5-1-3-1-4-1-2-1-1"><cmd>To convert from
+<steps-unordered id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-13-1-1-8-1-5-1-3-1-4-1-2-1">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-13-1-1-8-1-5-1-3-1-4-1-2-1-1"><cmd>To convert from
 UTC to the local time of the system time zone, use <xref href="GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF.dita#GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF/GUID-C9809F9C-60B9-3AF6-9711-AEB9F04C62E0"><apiname>CTzConverter::ConvertToLocalTime()</apiname></xref>,
 without specifying a time zone ID to convert to: </cmd>
 <stepxmp><p><codeblock xml:space="preserve">TInt errCode = myConverter-&gt;ConvertToLocalTime( myTime ); </codeblock></p></stepxmp>
--- a/Symbian3/PDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,43 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Arbortext, Inc., 1988-2008, v.4002-->
-<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
- "concept.dtd">
-<concept id="GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC" xml:lang="en">
-<title>Zo<?Pub Caret?>oming actions</title>
-<shortdesc>Mobile device users must be able to zoom in and out consistently
-within applications on a mobile device. However the zooming actions
-may  differ from one device model to another.</shortdesc>
-<prolog>
-<metadata><keywords></keywords></metadata>
-</prolog>
-<conbody>
-<p>The product features and form factor of a mobile device determine
-which zooming actions application developers should make available
-on it: </p>
-<ul>
-<li><p>If the device has an ITU-T keypad, the asterisk (*) key zooms
-in and the hash mark (#) key zooms out. This functionality is not
-available in editors or other states where the keys play another role.
-In these cases, the zoom functions, if applicable, must be available
-in the <uicontrol>Options</uicontrol> menu. </p></li>
-<li><p>If the device has a QWERTY or half-QWERTY keyboard, use the
-two topmost keys at the top left of the keyboard for zooming in and
-out. For example, on a Latin keyboard, use the Q key to zoom in and
-the A key to zoom out. Some products might have zooming symbols printed
-on the keyboard to help users find the zooming features. Again, the
-functions are not available in editors.</p></li>
-<li><p>On touch devices, users can use touch stripes to zoom. Finger
-movement along the stripe controls zooming. Applications may support
-different number of zoom levels. It should be possible to zoom across
-the full range with one swipe.</p></li>
-<li><p>On touch devices with multiple touch support, users can use
-pinch zoom. See <xref
-href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref
-> section for more details on pinch in and pinch out.</p></li>
-<li><p>On touch devices, some applications may support double-tapping
-zoom. A double tap can toggle between zoomed and normal view, but
-this depends on the application.</p></li>
-</ul>
-</conbody>
-</concept>
-<?Pub *0000002119?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC" xml:lang="en"><title>Zooming actions</title><shortdesc>Mobile device users must be able to zoom in and out consistently
+within applications on a mobile device. However the zooming actions
+may  differ from one device model to another.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The product features and form factor of a mobile device determine
+which zooming actions application developers should make available
+on it: </p>
+<ul>
+<li><p>If the device has an ITU-T keypad, the asterisk (*) key zooms
+in and the hash mark (#) key zooms out. This functionality is not
+available in editors or other states where the keys play another role.
+In these cases, the zoom functions, if applicable, must be available
+in the <uicontrol>Options</uicontrol> menu. </p></li>
+<li><p>If the device has a QWERTY or half-QWERTY keyboard, use the
+two topmost keys at the top left of the keyboard for zooming in and
+out. For example, on a Latin keyboard, use the Q key to zoom in and
+the A key to zoom out. Some products might have zooming symbols printed
+on the keyboard to help users find the zooming features. Again, the
+functions are not available in editors.</p></li>
+<li><p>On touch devices, users can use touch stripes to zoom. Finger
+movement along the stripe controls zooming. Applications may support
+different number of zoom levels. It should be possible to zoom across
+the full range with one swipe.</p></li>
+<li><p>On touch devices with multiple touch support, users can use
+pinch zoom. See <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref> section for more details on pinch in and pinch
+out.</p></li>
+<li><p>On touch devices, some applications may support double-tapping
+zoom. A double tap can toggle between zoomed and normal view, but
+this depends on the application.</p></li>
+</ul>
+</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,6 +9,6 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA"><title>MVS GUI layout</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The MVS GUI is shown below. </p> <fig id="GUID-1AF83588-2D14-5E7E-BCDD-03C5C69C6BC5"><image href="GUID-488F24B1-DC9B-5A5B-8B0D-47A428B9AA3C_d0e535297_href.jpg" placement="inline"/></fig> <p>This example shows the GUI while an audio file is playing, and includes the <i>tool bar</i> (at the top), the <i>information pane</i> (in the middle), and the <i>status bar</i> (at the bottom). </p> <section id="GUID-FF49918A-EFE9-5229-9D33-BFF4BFA0589D"><title>Tool bar</title> <p>The tool bar buttons let you control the currently loaded media file. </p> <fig id="GUID-06D94739-5307-5E82-96E1-54F3A6549D49"><image href="GUID-BB38AFE5-56FE-552D-8715-438936865B69_d0e535319_href.jpg" placement="inline"/></fig> <p>From left to right, the buttons let you: </p> <ul><li id="GUID-C72779C2-5E2C-5046-B9E3-E06D827271A0"><p>play, pause, stop and record a file. These buttons have the standard symbols for AV devices. </p> </li> <li id="GUID-2C8E573E-3ADC-5DDA-AE25-BB63B8DEADD8"><p>set the number of repeats for the file (curved arrow) </p> </li> <li id="GUID-98D0DC06-BD8C-5B1C-BDFF-7FB84329F394"><p>set the playback sound volume (megaphone) </p> </li> <li id="GUID-5C398E1F-72A5-5452-BE64-BAFAD6FFDB9B"><p>set the stereo balance (arrows pointing left and right) </p> </li> <li id="GUID-175E38F7-B9D7-5DF0-A773-697AC3CCF38E"><p>fast reverse the file (standard symbol) </p> </li> <li id="GUID-CE6D7209-C28B-543E-9385-6C5E933FBC4C"><p>fast forward the file (standard symbol). </p> </li> </ul> </section> <section id="GUID-F1855632-55B6-5166-A6D4-AA25B9E49619"><title> Information pane</title> <p>The information pane displays details of the current media file: </p> <fig id="GUID-4A04B009-8C40-5D58-8845-C948EA2686E4"><image href="GUID-E52D52C8-AC58-5550-8932-59B314A47313_d0e535365_href.jpg" placement="inline"/></fig> <ul><li id="GUID-7ECA742E-76B1-5213-BE36-98DF260C507E"><p>The state of the file: AUDIO or VIDEO, PLAYING, RECORDING, PAUSED or STOPPED </p> </li> <li id="GUID-3836D4DB-8E7B-5760-8B03-392D80A73E19"><p>The sound volume as a percentage of the maximum </p> </li> <li id="GUID-82F4740B-E815-592A-9C06-CB2923892D60"><p>The sound balance: Left, Right or Centre </p> </li> <li id="GUID-E5C2029E-3A26-500E-BFFD-973C037462C7"><p>The number of times the file contents are played </p> </li> <li id="GUID-8A095F9C-6CD1-502D-A83A-1761D5A62D68"><p>The audio priority </p> </li> <li id="GUID-A4F71FAB-5CBB-59A0-A6BA-D35207AAA720"><p>The length of the clip in milliseconds </p> </li> <li id="GUID-1B6FE708-ADAA-5F2E-BA34-5A6EAD08DADB"><p>The bit rate (per second). </p> </li> </ul> <p>When the a video file is loaded, the pane also contains: </p> <ul><li id="GUID-38FB830E-56B6-528D-9D03-4187FA2B1CA6"><p>The frame size </p> </li> <li id="GUID-F29E6C2E-E295-5B39-A1B4-31E275A54E51"><p>The frame rate. </p> </li> </ul> </section> <section id="GUID-C882C16C-FDC3-5AA9-829B-462B23095AD9"><title> Status bar</title> <p>The status bar displays the current state of the GUI. </p> <fig id="GUID-D663F227-CD76-5A90-B448-F9EE9BA49DF3"><title>
+<concept xml:lang="en" id="GUID-F263A3D1-EA96-5D4B-B8C9-4B8471082DBA"><title>MVS GUI layout</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The MVS GUI is shown below. </p> <fig id="GUID-1AF83588-2D14-5E7E-BCDD-03C5C69C6BC5"><image href="GUID-488F24B1-DC9B-5A5B-8B0D-47A428B9AA3C_d0e542757_href.jpg" placement="inline"/></fig> <p>This example shows the GUI while an audio file is playing, and includes the <i>tool bar</i> (at the top), the <i>information pane</i> (in the middle), and the <i>status bar</i> (at the bottom). </p> <section id="GUID-FF49918A-EFE9-5229-9D33-BFF4BFA0589D"><title>Tool bar</title> <p>The tool bar buttons let you control the currently loaded media file. </p> <fig id="GUID-06D94739-5307-5E82-96E1-54F3A6549D49"><image href="GUID-BB38AFE5-56FE-552D-8715-438936865B69_d0e542779_href.jpg" placement="inline"/></fig> <p>From left to right, the buttons let you: </p> <ul><li id="GUID-C72779C2-5E2C-5046-B9E3-E06D827271A0"><p>play, pause, stop and record a file. These buttons have the standard symbols for AV devices. </p> </li> <li id="GUID-2C8E573E-3ADC-5DDA-AE25-BB63B8DEADD8"><p>set the number of repeats for the file (curved arrow) </p> </li> <li id="GUID-98D0DC06-BD8C-5B1C-BDFF-7FB84329F394"><p>set the playback sound volume (megaphone) </p> </li> <li id="GUID-5C398E1F-72A5-5452-BE64-BAFAD6FFDB9B"><p>set the stereo balance (arrows pointing left and right) </p> </li> <li id="GUID-175E38F7-B9D7-5DF0-A773-697AC3CCF38E"><p>fast reverse the file (standard symbol) </p> </li> <li id="GUID-CE6D7209-C28B-543E-9385-6C5E933FBC4C"><p>fast forward the file (standard symbol). </p> </li> </ul> </section> <section id="GUID-F1855632-55B6-5166-A6D4-AA25B9E49619"><title> Information pane</title> <p>The information pane displays details of the current media file: </p> <fig id="GUID-4A04B009-8C40-5D58-8845-C948EA2686E4"><image href="GUID-E52D52C8-AC58-5550-8932-59B314A47313_d0e542825_href.jpg" placement="inline"/></fig> <ul><li id="GUID-7ECA742E-76B1-5213-BE36-98DF260C507E"><p>The state of the file: AUDIO or VIDEO, PLAYING, RECORDING, PAUSED or STOPPED </p> </li> <li id="GUID-3836D4DB-8E7B-5760-8B03-392D80A73E19"><p>The sound volume as a percentage of the maximum </p> </li> <li id="GUID-82F4740B-E815-592A-9C06-CB2923892D60"><p>The sound balance: Left, Right or Centre </p> </li> <li id="GUID-E5C2029E-3A26-500E-BFFD-973C037462C7"><p>The number of times the file contents are played </p> </li> <li id="GUID-8A095F9C-6CD1-502D-A83A-1761D5A62D68"><p>The audio priority </p> </li> <li id="GUID-A4F71FAB-5CBB-59A0-A6BA-D35207AAA720"><p>The length of the clip in milliseconds </p> </li> <li id="GUID-1B6FE708-ADAA-5F2E-BA34-5A6EAD08DADB"><p>The bit rate (per second). </p> </li> </ul> <p>When the a video file is loaded, the pane also contains: </p> <ul><li id="GUID-38FB830E-56B6-528D-9D03-4187FA2B1CA6"><p>The frame size </p> </li> <li id="GUID-F29E6C2E-E295-5B39-A1B4-31E275A54E51"><p>The frame rate. </p> </li> </ul> </section> <section id="GUID-C882C16C-FDC3-5AA9-829B-462B23095AD9"><title> Status bar</title> <p>The status bar displays the current state of the GUI. </p> <fig id="GUID-D663F227-CD76-5A90-B448-F9EE9BA49DF3"><title>
              Status bar 
-          </title> <image href="GUID-DE417474-906D-5EB8-A80D-2CBF099EC81C_d0e535431_href.jpg" placement="inline"/></fig> <p>From left to right, the boxes show: </p> <ul><li id="GUID-5306E258-5F20-5ED0-943A-AAB6CE5543B2"><p>The path and name of the file (if any) being recorded or played. </p> </li> <li id="GUID-F49E1C65-FDCA-5532-89BE-053F4AE63ED1"><p>What the GUI is doing; for example: Recording, Opened, Playing or Idle. </p> </li> <li id="GUID-D9C7EC76-0636-5EED-B64B-CFB2C7BAD39B"><p>The elapsed time of clip being recorded or played, in hours, minutes, seconds and hundredths of a second (centiseconds): hh:mm:ss:cs. </p> </li> </ul> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita">Recording media files</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita">Editing media files</xref> </p> <p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita">Configuring and clearing files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-DE417474-906D-5EB8-A80D-2CBF099EC81C_d0e542891_href.jpg" placement="inline"/></fig> <p>From left to right, the boxes show: </p> <ul><li id="GUID-5306E258-5F20-5ED0-943A-AAB6CE5543B2"><p>The path and name of the file (if any) being recorded or played. </p> </li> <li id="GUID-F49E1C65-FDCA-5532-89BE-053F4AE63ED1"><p>What the GUI is doing; for example: Recording, Opened, Playing or Idle. </p> </li> <li id="GUID-D9C7EC76-0636-5EED-B64B-CFB2C7BAD39B"><p>The elapsed time of clip being recorded or played, in hours, minutes, seconds and hundredths of a second (centiseconds): hh:mm:ss:cs. </p> </li> </ul> </section> <section><title>See Also</title> <p> <xref href="GUID-8DF29A16-CC33-59D4-BB05-B628DC603A49.dita">Introduction to the MVS</xref> </p> <p> <xref href="GUID-4195F4EE-5A61-515D-A6EF-2E16E00E4AFF.dita">Recording media files</xref> </p> <p> <xref href="GUID-5B966A81-2309-5169-963A-19E52D98A6E8.dita">Playing media files</xref> </p> <p> <xref href="GUID-0F09110F-3C4C-57D9-BA7D-19DD9A06B33B.dita">Editing media files</xref> </p> <p> <xref href="GUID-E5291BCB-D5D0-5175-B0A1-FE03CD14E1BD.dita">Configuring and clearing files</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e549917_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e557373_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F2D86E40-279A-5B48-B91F-922803FEF5DE.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F2D86E40-279A-5B48-B91F-922803FEF5DE.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -59,7 +59,7 @@
 support for 7, 8, and 16-bit text messages, and message concatenation. </p> <p>The
 following figure shows the SMS architecture:</p> <fig id="GUID-F904EC3A-7292-5A57-BC4E-1C736D24223C">
 <title>              SMS MTM architecture            </title>
-<image href="GUID-97545AEB-0518-5937-AEB6-C97443B449D3_d0e468551_href.jpg" placement="inline"/>
+<image href="GUID-97545AEB-0518-5937-AEB6-C97443B449D3_d0e474396_href.jpg" placement="inline"/>
 </fig> <p><b>SMS Client MTM</b> </p> <p>The SMS Client MTM implements the
 standard set of <xref href="GUID-E180D222-CC4F-5007-93FC-C339BBE708BC.dita#GUID-E180D222-CC4F-5007-93FC-C339BBE708BC/GUID-BCFBE2C5-2C90-5E43-9B21-0D80A469CEAB">Client
 MTM APIs</xref> described in <xref href="GUID-E180D222-CC4F-5007-93FC-C339BBE708BC.dita">Client
@@ -162,7 +162,7 @@
 as type of operation, and number of messages processed. Progress information
 is provided by <xref href="GUID-25FA6A20-1122-3B06-B8AF-59D3FDBDDC76.dita"><apiname>TSmsProgress</apiname></xref>. </p> </section>
 <section id="GUID-80A5C81E-42C9-4432-A97D-872525E5D468"><title>APIs</title> <fig id="GUID-EABD829F-612D-53DF-BFDF-1F4E27FD4FD8">
-<image href="GUID-938C0EB5-D0B3-502E-87A9-7C626642AE4B_d0e468825_href.jpg" placement="inline"/>
+<image href="GUID-938C0EB5-D0B3-502E-87A9-7C626642AE4B_d0e474670_href.jpg" placement="inline"/>
 </fig> <p>The following are the important classes for SMS Client MTM: </p> <table id="GUID-8C815D5D-0494-5507-8A7D-275641BFF71D">
 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
 <tbody>
Binary file Symbian3/PDK/Source/GUID-F2D96A30-7264-5CAF-9CC7-8AF05EF978E1_d0e147981_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F2D96A30-7264-5CAF-9CC7-8AF05EF978E1_d0e150222_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F2E8CB4B-C1BB-577D-B018-7FF231B70D8C_d0e236815_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F2E8CB4B-C1BB-577D-B018-7FF231B70D8C_d0e242788_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e95030_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e99228_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F31EC49A-FE01-58B2-9CB5-4A3BBCCB7DA7_d0e227999_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F31EC49A-FE01-58B2-9CB5-4A3BBCCB7DA7_d0e233998_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F322F81A-40D3-5365-A437-73B60DD31D5E_d0e448716_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F322F81A-40D3-5365-A437-73B60DD31D5E_d0e454561_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F32E2F00-B68F-59B2-AABA-181E16354C86.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F32E2F00-B68F-59B2-AABA-181E16354C86.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -35,7 +35,7 @@
 on to the next control in the hierarchy. </p><p>The sequence diagram below
 illustrates the Object Provider process for supplying an interface pointer
 from the run-time hierarchy. </p><fig id="GUID-91496FA9-60F6-5DDA-899B-7E54A8A7E4CB">
-<image href="GUID-DF3ECD47-4A5B-5836-B5CA-ACCEE98412D4_d0e74379_href.png" placement="inline"/>
+<image href="GUID-DF3ECD47-4A5B-5836-B5CA-ACCEE98412D4_d0e78592_href.png" placement="inline"/>
 </fig><p>Object1 wishes to call a function on <codeph>MInterface</codeph>.
 It calls <codeph>MopGetObject()</codeph> on the nearest control in the run-time
 hierarchy. The Object Provider Framework identifies the Uid for <codeph>Minterface</codeph> and
Binary file Symbian3/PDK/Source/GUID-F342B002-0667-5D51-AE2D-3CF534D70B62_d0e315439_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F342B002-0667-5D51-AE2D-3CF534D70B62_d0e321429_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F35C5336-907C-5B2A-92C6-F8883D49996E" xml:lang="en"><title>How
-to localise resources</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Overview</title> <p>Symbian developers can localise a C++
-application by simply changing the resource file text associated with each
-menu item, task bar or other control. Since changes to the text do not change
-the symbol information in the generated header file, it is not necessary to
-recompile the application to use the new file. Consequently, a resource file
-may be generated for each language supported, and the actual resource used
-is determined by the end-user at installation time. </p> <p>The examples quoted
-in this page are taken from the code example <filepath>Examples\ToolsAndUtilities\Localise</filepath>,
-which provides the Hello World application, localised for English and German. </p> </section>
-<section><title>Localisable strings</title> <p>Localisable strings should
-not be defined within a resource file, but in separate files with the extension <filepath>.rls</filepath>.
-An <filepath>.rls</filepath> file defines symbolic identifiers for strings,
-to which the resource file refers when it needs the associated string. </p> <p>An
-example from an <filepath>.rls</filepath> file is shown below: </p> <codeblock id="GUID-FA54B424-D6C1-5A80-821D-3B25A720873D" xml:space="preserve">// Strings localised for UK
-rls_string STRING_r_example_first_menu_name "Hello"
-rls_string STRING_r_example_item0 "Item 0"</codeblock> <p>The keyword <codeph>rls_string</codeph> appears
-before each string definition, followed by a symbolic identifier, and then
-the string itself in quotes. To localise the file for German, the same identifiers
-would be used, but the strings would be translated, i.e. </p> <codeblock id="GUID-722A8D45-5747-5FE8-A3C6-FE9AD2C43542" xml:space="preserve">// Strings localised for German
-rls_string STRING_r_example_first_menu_name "Hallo"
-rls_string STRING_r_example_item0 "Eintrag 0"</codeblock> <p>The resource
-file itself would be the same, whatever the locale, as it would only refer
-to strings through their symbolic names, e.g. </p> <codeblock id="GUID-D427E092-1BA9-56A8-B449-DFDA182107AE" xml:space="preserve">MENU_TITLE
-    {
-    menu_pane=r_example_first_menu;
-    txt=STRING_r_example_first_menu_name;
-    }</codeblock> <p>defines a menu title resource, with a title string defined
-by <codeph>STRING_r_example_first_menu_name</codeph> (i.e. "Hello" in UK,
-"Hallo" in German). </p> </section>
-<section><title>Building localised resource files</title> <p>You can define
-in a project definition (<filepath>.mmp</filepath>) file the locales that
-the project supports. Given appropriate resource source and <filepath>.rls</filepath> files,
-the build process then builds a separate compiled resource file for each supported
-locale. </p> <p>The process in detail can be broken into three steps: </p> <ul>
-<li id="GUID-89FC1834-F661-5341-A03C-9F068CAC0655"><p>determine on a symbolic
-identifier for every supported locale </p> </li>
-<li id="GUID-CEBA3187-2758-5D17-9CE1-032D037BE9F9"><p>specify in the project
-definition file the supported locales </p> </li>
-<li id="GUID-48C74787-5367-5EE9-ACF9-8A67E87B3CA3"><p> <codeph>#include</codeph> the <filepath>.rls</filepath> files
-for the supported locales in the resource source file </p> </li>
-</ul> <p>These are discussed further below. </p> <p><b>Locale identifiers </b> </p> <p>You
-should decide on a symbolic identifier for every supported language. The symbol
-should be of the form: </p> <p> <codeph>LANGUAGE_</codeph> <varname>language-code</varname>  </p> <p>where <codeph>language-code</codeph> should
-be two characters long, but otherwise can be anything you like, as long as
-each language in the resource file has a unique symbol. </p> <p>You are recommended
-to use a standard two-digit number as defined by Symbian in an enumeration <codeph>TLanguage</codeph> in <filepath>e32std.h</filepath>,
-which gives numeric values to the languages. For example, the value <codeph>ELangGerman</codeph> (German)
-in <codeph>TLanguage</codeph> has the value 3, so you could use <codeph>LANGUAGE_03</codeph> as
-the symbol for German. </p> <p>Alternatively, you can use logical letters
-for each language: e.g. US English might have the symbol <codeph>LANGUAGE_US</codeph>,
-while French might have the symbol <codeph>LANGUAGE_FR</codeph>. </p> <p><b>Project
-definition files </b> </p> <p>For projects with localised resources, you must
-use the <codeph>lang</codeph> statement in the <filepath>.mmp</filepath> file
-to set the languages codes used. So, for the above example, in which the language
-codes used are for German (03) and UK English (01), the <codeph>lang</codeph> statement
-should read: </p> <codeblock id="GUID-BE1AE938-89E7-5E9C-B71D-81F16A64748C" xml:space="preserve">lang 01 03</codeblock> <p>When
-the project is built, each resource file specified in the project file will
-be compiled multiple times, once for each language-code specified. The language
-codes are used to complete the extension of the built resource files: for
-our example, two files would be built: <varname>project-name</varname> <filepath>.r01</filepath> and <varname>project-name</varname> <filepath>.r03</filepath>. </p> <p><b>Resource source files </b> </p> <p>The symbols can then used,
-with conditional compilation statements, to specify which string definitions
-should be compiled for each language. In the example code fragment below,
-the file <filepath>01-strings.rls</filepath> is assumed to have the strings
-localised for UK English, and the file <filepath>03-strings.rls</filepath> the
-strings localised for German. </p> <codeblock id="GUID-51F46C07-27F9-5A36-A2C2-374A61C5EBF7" xml:space="preserve">// Conditional compile, depending on locale
-#ifdef LANGUAGE_01         // if language code is for UK
- #include "01-strings.rls"
-#elif defined LANGUAGE_03  // if language code is for German
- #include "03-strings.rls"
-#endif      
-// end conditional compile
-</codeblock> <ul>
-<li id="GUID-95464F59-9F66-5984-8B31-1A77D91EC033"><p>when built with the
-code 01, the UK English strings in <filepath>01-strings.rls</filepath> are
-compiled into the resource file </p> </li>
-<li id="GUID-48DE7451-D93E-51F0-8B43-2EA94A68E800"><p>when built with the
-code 03, the German strings in <filepath>03-strings.rls</filepath> are compiled
-into the resource file </p> </li>
-</ul> </section>
-<section><title>How programs load resource files </title> <p>The Uikon application
-framework attempts to load the project's resource file when the application
-starts up. If the resource file has the extension <filepath>.rsc</filepath>,
-then this is loaded. Alternatively, the framework attempts to load the correct
-resource file by comparing the system locale setting with the available resource
-files: for example, in a German locale, the resource file with extension <filepath>.r03</filepath> would
-be loaded. Resource files that are explicitly loaded by programs, rather than
-by the framework, can use the same stategy, by calling <codeph>BalfUtils::NearestLanguageFile()</codeph> to
-find a resource file with the correct language extension. </p> <p>More typically
-than installing all the resource files for all the available locales, you
-would only want to select a single resource file for installation, based on
-the system locale or user preference. The Symbian platform Installation System
-enables this, as described in <xref href="GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99.dita">PKG
-file format to support multilingual application installation</xref>. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1" xml:lang="en"><title>Using
+Secure Sockets : Tutorial</title><shortdesc>This topic describes how to use secure sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<steps id="GUID-9C1C62FF-403D-5B8A-BB71-C6B931C23D88-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1-3-1">
+<step id="GUID-4C65F526-6188-5957-9F2B-EC9C697C00D7-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1-3-1-1"><cmd>Open a socket using
+RSocket::Open() function and connect it with RSocket::Connect() function. </cmd>
+</step>
+<step id="GUID-3B20F63F-1CB8-5DA8-9228-5DD96EDC9C4B-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1-3-1-2"><cmd/>
+<info>Create a secure socket by calling CSecureSocket::NewL() function with
+the parameters as socket and secure protocol name. </info>
+</step>
+<step id="GUID-200AFAD0-FE35-5213-9B26-CA4714F2FECC-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1-3-1-3"><cmd/>
+<info>To start the application acting as a client, use the CSecureSocket::StartClientHandshake()
+function to initiate a handshake with the remote server. To start the application
+acting as a server, use the CSecureSocket::StartServerHandshake() function. </info>
+<info>The call completes with an error code, if the handshake fails. </info>
+</step>
+</steps>
+<example><title>Secure Sockets example</title> <p>In the following example
+iSocket is a reference to the already opened and connected socket and KSSLProtocol
+is the descriptor containing the name of a protocol, in this case TLS1.0.
+The function should return a pointer to the CSecureSocket. </p> <codeblock id="GUID-ADF8A6E8-87EB-5EB5-A224-0DAFC61FBD44-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-3-1-3-2-3" xml:space="preserve">
+// Connect the socket server
+   User::LeaveIfError(iSocketServ.Connect());
+// Open the socket
+   User::LeaveIfError(iSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp)); 
+//Connect the socket
+   connectInetAddr.SetAddress(KTestAddress);
+   connectInetAddr.SetPort(KSSLPort);  //TLS port
+
+   iSocket.Connect(connectInetAddr, iStatus); 
+
+   ...
+
+    
+// Construct the Tls socket
+   iTlsSocket = CSecureSocket::NewL(iSocket, KSSLProtocol());
+
+// start the handshake 
+   iTlsSocket-&gt;StartClientHandshake(iStatus);
+
+</codeblock> </example>
+<postreq><p>Use CSecureSocket::Send() to send data over the socket. Use CSecureSocket::Recv()
+and CSecureSocket::RecvOneOrMore() to receive data from the socket. </p> </postreq>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1" xml:lang="en"><title>Using
+Secure Sockets : Tutorial</title><shortdesc>This topic describes how to use secure sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<steps id="GUID-9C1C62FF-403D-5B8A-BB71-C6B931C23D88-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1-3-1">
+<step id="GUID-4C65F526-6188-5957-9F2B-EC9C697C00D7-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1-3-1-1"><cmd>Open a socket using
+RSocket::Open() function and connect it with RSocket::Connect() function. </cmd>
+</step>
+<step id="GUID-3B20F63F-1CB8-5DA8-9228-5DD96EDC9C4B-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1-3-1-2"><cmd/>
+<info>Create a secure socket by calling CSecureSocket::NewL() function with
+the parameters as socket and secure protocol name. </info>
+</step>
+<step id="GUID-200AFAD0-FE35-5213-9B26-CA4714F2FECC-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1-3-1-3"><cmd/>
+<info>To start the application acting as a client, use the CSecureSocket::StartClientHandshake()
+function to initiate a handshake with the remote server. To start the application
+acting as a server, use the CSecureSocket::StartServerHandshake() function. </info>
+<info>The call completes with an error code, if the handshake fails. </info>
+</step>
+</steps>
+<example><title>Secure Sockets example</title> <p>In the following example
+iSocket is a reference to the already opened and connected socket and KSSLProtocol
+is the descriptor containing the name of a protocol, in this case TLS1.0.
+The function should return a pointer to the CSecureSocket. </p> <codeblock id="GUID-ADF8A6E8-87EB-5EB5-A224-0DAFC61FBD44-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-3-1-3-2-3" xml:space="preserve">
+// Connect the socket server
+   User::LeaveIfError(iSocketServ.Connect());
+// Open the socket
+   User::LeaveIfError(iSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp)); 
+//Connect the socket
+   connectInetAddr.SetAddress(KTestAddress);
+   connectInetAddr.SetPort(KSSLPort);  //TLS port
+
+   iSocket.Connect(connectInetAddr, iStatus); 
+
+   ...
+
+    
+// Construct the Tls socket
+   iTlsSocket = CSecureSocket::NewL(iSocket, KSSLProtocol());
+
+// start the handshake 
+   iTlsSocket-&gt;StartClientHandshake(iStatus);
+
+</codeblock> </example>
+<postreq><p>Use CSecureSocket::Send() to send data over the socket. Use CSecureSocket::Recv()
+and CSecureSocket::RecvOneOrMore() to receive data from the socket. </p> </postreq>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-F389671B-FC30-561B-BF48-E597D0CB2D47-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1" xml:lang="en"><title>Using
+Secure Sockets : Tutorial</title><shortdesc>This topic describes how to use secure sockets. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<steps id="GUID-9C1C62FF-403D-5B8A-BB71-C6B931C23D88-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1-3-1">
+<step id="GUID-4C65F526-6188-5957-9F2B-EC9C697C00D7-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1-3-1-1"><cmd>Open a socket using
+RSocket::Open() function and connect it with RSocket::Connect() function. </cmd>
+</step>
+<step id="GUID-3B20F63F-1CB8-5DA8-9228-5DD96EDC9C4B-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1-3-1-2"><cmd/>
+<info>Create a secure socket by calling CSecureSocket::NewL() function with
+the parameters as socket and secure protocol name. </info>
+</step>
+<step id="GUID-200AFAD0-FE35-5213-9B26-CA4714F2FECC-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1-3-1-3"><cmd/>
+<info>To start the application acting as a client, use the CSecureSocket::StartClientHandshake()
+function to initiate a handshake with the remote server. To start the application
+acting as a server, use the CSecureSocket::StartServerHandshake() function. </info>
+<info>The call completes with an error code, if the handshake fails. </info>
+</step>
+</steps>
+<example><title>Secure Sockets example</title> <p>In the following example
+iSocket is a reference to the already opened and connected socket and KSSLProtocol
+is the descriptor containing the name of a protocol, in this case TLS1.0.
+The function should return a pointer to the CSecureSocket. </p> <codeblock id="GUID-ADF8A6E8-87EB-5EB5-A224-0DAFC61FBD44-GENID-1-12-1-24-1-1-9-1-4-1-5-1-3-1-3-2-3" xml:space="preserve">
+// Connect the socket server
+   User::LeaveIfError(iSocketServ.Connect());
+// Open the socket
+   User::LeaveIfError(iSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp)); 
+//Connect the socket
+   connectInetAddr.SetAddress(KTestAddress);
+   connectInetAddr.SetPort(KSSLPort);  //TLS port
+
+   iSocket.Connect(connectInetAddr, iStatus); 
+
+   ...
+
+    
+// Construct the Tls socket
+   iTlsSocket = CSecureSocket::NewL(iSocket, KSSLProtocol());
+
+// start the handshake 
+   iTlsSocket-&gt;StartClientHandshake(iStatus);
+
+</codeblock> </example>
+<postreq><p>Use CSecureSocket::Send() to send data over the socket. Use CSecureSocket::Recv()
+and CSecureSocket::RecvOneOrMore() to receive data from the socket. </p> </postreq>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1" xml:lang="en"><title>End-to-End
+Sockets API Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-F254BEAF-A807-44BA-926A-4B979C02ADA4-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1-2-1"><title>Description</title> <p>This
+updated example is a Sockets reference implementation of an enterprise system
+that includes mobile clients, a server-based database, and Web portals (PHP
+and JSP implementations). </p> </section>
+<section id="GUID-0042C095-42BF-4946-8AEA-4DC3B541DA0F-GENID-1-12-1-24-1-1-8-1-4-1-4-1-6-1-4-1-2-2"><title>Download</title> <p>Click
+on the following link to download the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a42ba15f-3ad5-422c-a84d-fb7756f574e5.zip" scope="external"> Symbian_OS_End-to-End_Sockets_API_Example.zip</xref> </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a42ba15f-3ad5-422c-a84d-fb7756f574e5.html" scope="peer">browse</xref> to view the example code.</p></section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1-4-1" xml:lang="en"><title>End-to-End
+Sockets API Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-F254BEAF-A807-44BA-926A-4B979C02ADA4-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1-4-1-2-1"><title>Description</title> <p>This
+updated example is a Sockets reference implementation of an enterprise system
+that includes mobile clients, a server-based database, and Web portals (PHP
+and JSP implementations). </p> </section>
+<section id="GUID-0042C095-42BF-4946-8AEA-4DC3B541DA0F-GENID-1-12-1-24-1-1-8-1-5-1-4-1-6-1-4-1-2-2"><title>Download</title> <p>Click
+on the following link to download the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a42ba15f-3ad5-422c-a84d-fb7756f574e5.zip" scope="external"> Symbian_OS_End-to-End_Sockets_API_Example.zip</xref> </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a42ba15f-3ad5-422c-a84d-fb7756f574e5.html" scope="peer">browse</xref> to view the example code.</p></section>
+</conbody></concept>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-9-1-4-1-6-1-4-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D-GENID-1-12-1-24-1-1-9-1-4-1-6-1-4-1" xml:lang="en"><title>End-to-End
+Sockets API Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-F254BEAF-A807-44BA-926A-4B979C02ADA4-GENID-1-12-1-24-1-1-9-1-4-1-6-1-4-1-2-1"><title>Description</title> <p>This
+updated example is a Sockets reference implementation of an enterprise system
+that includes mobile clients, a server-based database, and Web portals (PHP
+and JSP implementations). </p> </section>
+<section id="GUID-0042C095-42BF-4946-8AEA-4DC3B541DA0F-GENID-1-12-1-24-1-1-9-1-4-1-6-1-4-1-2-2"><title>Download</title> <p>Click
+on the following link to download the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a42ba15f-3ad5-422c-a84d-fb7756f574e5.zip" scope="external"> Symbian_OS_End-to-End_Sockets_API_Example.zip</xref> </p><p>Click <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a42ba15f-3ad5-422c-a84d-fb7756f574e5.html" scope="peer">browse</xref> to view the example code.</p></section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F392355C-C499-555A-85B7-1DF40492E9B2_d0e321805_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F392355C-C499-555A-85B7-1DF40492E9B2_d0e327791_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 interface.</p>
 <fig id="GUID-EEC0C576-8EEC-481E-817F-6E137E4F6A7D">
 <title>Generic button used in a toolbar</title>
-<image href="GUID-ED823C5E-A59B-476A-BF88-0FCBA5D35FED_d0e100410_href.png" scale="50" placement="inline"/>
+<image href="GUID-ED823C5E-A59B-476A-BF88-0FCBA5D35FED_d0e104495_href.png" scale="50" placement="inline"/>
 </fig>
 <note><p> The Generic button API is used for creating buttons that are displayed
 as parts of container components, such as a toolbar. It is not used for creating
--- a/Symbian3/PDK/Source/GUID-F40BA7EA-AF7E-5BCF-96DD-9C4D8E947F0C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F40BA7EA-AF7E-5BCF-96DD-9C4D8E947F0C.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -67,7 +67,7 @@
                              TBool aFinished
                            );</codeblock> </p> <p>A snapshot transfer type
 must be passed to the function above. For more information about creating
-snapshot transfer types, refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita">Creating
+snapshot transfer types, refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita">Creating
 transfer types</xref> section. </p> </li>
 <li id="GUID-DB8A0DB8-2FD9-5F86-A791-960043DC8C78"><p>Inform the Backup Engine
 that all snapshots have been supplied and it is ready to do the backup. </p> <p><codeblock id="GUID-FEC18F5C-B2CE-5A97-B14C-0684F9839F7B" xml:space="preserve">iBackupClient-&gt;AllSnapshotsSuppliedL();</codeblock> </p> </li>
@@ -85,7 +85,7 @@
 the backup server. Device creators must copy the public files from the device
 and supply them to the host PC in their backup server implementations. </p> </li>
 <li id="GUID-22A6F0AD-F0DF-56C9-8D91-DE3B1B96271C"><p>Request the system data
-from the Backup Engine for backup. </p> <p><codeblock id="GUID-270B8E6E-4E3E-51D0-8965-2A1CBB85655D" xml:space="preserve">iBackupClient-&gt;RequestDataL(CSBGenericTransferType&amp; aGenericTransferType);</codeblock> </p> <p> Note: Refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-26-1-1-4-1-3-1-6-1-6-1.dita">Creating
+from the Backup Engine for backup. </p> <p><codeblock id="GUID-270B8E6E-4E3E-51D0-8965-2A1CBB85655D" xml:space="preserve">iBackupClient-&gt;RequestDataL(CSBGenericTransferType&amp; aGenericTransferType);</codeblock> </p> <p> Note: Refer to the <xref href="GUID-8BFC185E-91FD-5E04-A26C-728B06F31FDD-GENID-1-12-1-28-1-1-4-1-3-1-6-1-6-1.dita">Creating
 transfer types</xref> section for an example of creating the required <xref href="GUID-2A9C2278-088A-3C16-BAA1-5E97DBBC4979.dita"><apiname>CSBGenericTransferType</apiname></xref>. </p> </li>
 <li id="GUID-D449FECD-C8DE-53D9-9541-592526491E76"><p>Request active private
 data from the backup Engine for backup. </p> <p><codeblock id="GUID-0E64EE9A-2756-551C-9442-A5BCEDABC2DC" xml:space="preserve">iBackupClient-&gt;RequestDataL(CSBGenericTransferType&amp; aGenericTransferType);</codeblock> </p> </li>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1" xml:lang="en"><title>Configuring
+the Server Name Indication : Tutorial</title><shortdesc>This topic describes how to configure the server name indication. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context><p>Servers that support a virtual name-based hosting must know the
+virtual names of the client that tries to establish a connection. The virtual
+name-based hosts controls the decision of the server. The decision of server
+is to return the server certificate or PSK if you use a <xref href="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita">PSK
+ciphersuite</xref>. </p> <p>To address this issue, Symbian implements the <i>server
+name indication</i> extension which is specified in <xref href="http://www.ietf.org/rfc/rfc4366.txt" scope="external">RFC4366</xref>. </p> <p>Note: To maintain maximum compatibility
+with the existing servers, a server name indication extension is not sent
+to the server unless the server explicitly requests it. For example the implementer
+Secure User Plane Location (SUPL) has to use this feature explicitly. </p><p>The
+steps required to establish a connection are shown below:</p> </context>
+<steps id="GUID-3E3F3827-9E36-5698-B243-762A6F5CEB05-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1-3-2">
+<step id="GUID-F7137318-D1E9-5B27-BD99-21EB74F17312-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1-3-2-1"><cmd>Create an array
+class. </cmd>
+</step>
+<step id="GUID-B891B8D2-A519-5B86-9922-F089586C5F41-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1-3-2-2"><cmd>Wrap the array class. </cmd>
+</step>
+<step id="GUID-8394FCDF-6AA7-5603-9E6E-F7DB8EE5C83D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1-3-2-3"><cmd>Call <xref href="GUID-C1DE3BCF-CEEB-32AC-A870-EE6A7A80DEE5.dita"><apiname>Setopt()</apiname></xref> on
+CSecureSocket to pass the array of names.</cmd>
+</step>
+</steps>
+<example><title> Example</title> <p>The following example code shows how to
+find the server names that the client is attempting to establish a connection: </p> <codeblock id="GUID-BD9A80A0-823A-5360-9AF3-415F47BD882D-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-5-1-3-3-3" xml:space="preserve">
+
+//Create an array class
+  CDesC8ArrayFlat *serverNames = new(ELeave) CDesC8ArrayFlat(1);
+  CleanupStack::PushL(serverNames);
+//Wrap the array class
+  serverNames-&gt;AppendL(serverName);
+//Call Setopt() on CSecureSocket to pass the array of names in
+  TPckgC&lt;CDesC8Array *&gt; serverNameIndicationPkg(serverNames);
+  User::LeaveIfError(secureSocket-&gt;SetOpt(KSoServerNameIndication, KSolInetSSL, serverNameIndicationPkg));
+//SecureSocket now owns the serverNames object
+  CleanupStack::Pop(serverNames); 
+
+</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1" xml:lang="en"><title>Configuring
+the Server Name Indication : Tutorial</title><shortdesc>This topic describes how to configure the server name indication. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context><p>Servers that support a virtual name-based hosting must know the
+virtual names of the client that tries to establish a connection. The virtual
+name-based hosts controls the decision of the server. The decision of server
+is to return the server certificate or PSK if you use a <xref href="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita">PSK
+ciphersuite</xref>. </p> <p>To address this issue, Symbian implements the <i>server
+name indication</i> extension which is specified in <xref href="http://www.ietf.org/rfc/rfc4366.txt" scope="external">RFC4366</xref>. </p> <p>Note: To maintain maximum compatibility
+with the existing servers, a server name indication extension is not sent
+to the server unless the server explicitly requests it. For example the implementer
+Secure User Plane Location (SUPL) has to use this feature explicitly. </p><p>The
+steps required to establish a connection are shown below:</p> </context>
+<steps id="GUID-3E3F3827-9E36-5698-B243-762A6F5CEB05-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1-3-2">
+<step id="GUID-F7137318-D1E9-5B27-BD99-21EB74F17312-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1-3-2-1"><cmd>Create an array
+class. </cmd>
+</step>
+<step id="GUID-B891B8D2-A519-5B86-9922-F089586C5F41-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1-3-2-2"><cmd>Wrap the array class. </cmd>
+</step>
+<step id="GUID-8394FCDF-6AA7-5603-9E6E-F7DB8EE5C83D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1-3-2-3"><cmd>Call <xref href="GUID-C1DE3BCF-CEEB-32AC-A870-EE6A7A80DEE5.dita"><apiname>Setopt()</apiname></xref> on
+CSecureSocket to pass the array of names.</cmd>
+</step>
+</steps>
+<example><title> Example</title> <p>The following example code shows how to
+find the server names that the client is attempting to establish a connection: </p> <codeblock id="GUID-BD9A80A0-823A-5360-9AF3-415F47BD882D-GENID-1-12-1-24-1-1-8-1-5-1-4-1-5-1-5-1-3-3-3" xml:space="preserve">
+
+//Create an array class
+  CDesC8ArrayFlat *serverNames = new(ELeave) CDesC8ArrayFlat(1);
+  CleanupStack::PushL(serverNames);
+//Wrap the array class
+  serverNames-&gt;AppendL(serverName);
+//Call Setopt() on CSecureSocket to pass the array of names in
+  TPckgC&lt;CDesC8Array *&gt; serverNameIndicationPkg(serverNames);
+  User::LeaveIfError(secureSocket-&gt;SetOpt(KSoServerNameIndication, KSolInetSSL, serverNameIndicationPkg));
+//SecureSocket now owns the serverNames object
+  CleanupStack::Pop(serverNames); 
+
+</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-F41C1661-9704-500F-9324-B13748642332-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1" xml:lang="en"><title>Configuring
+the Server Name Indication : Tutorial</title><shortdesc>This topic describes how to configure the server name indication. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context><p>Servers that support a virtual name-based hosting must know the
+virtual names of the client that tries to establish a connection. The virtual
+name-based hosts controls the decision of the server. The decision of server
+is to return the server certificate or PSK if you use a <xref href="GUID-5927A119-C520-572D-83AF-7265DEEF4553-GENID-1-12-1-24-1-1-8-1-4-1-4-1-5-1-4-1.dita">PSK
+ciphersuite</xref>. </p> <p>To address this issue, Symbian implements the <i>server
+name indication</i> extension which is specified in <xref href="http://www.ietf.org/rfc/rfc4366.txt" scope="external">RFC4366</xref>. </p> <p>Note: To maintain maximum compatibility
+with the existing servers, a server name indication extension is not sent
+to the server unless the server explicitly requests it. For example the implementer
+Secure User Plane Location (SUPL) has to use this feature explicitly. </p><p>The
+steps required to establish a connection are shown below:</p> </context>
+<steps id="GUID-3E3F3827-9E36-5698-B243-762A6F5CEB05-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1-3-2">
+<step id="GUID-F7137318-D1E9-5B27-BD99-21EB74F17312-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1-3-2-1"><cmd>Create an array
+class. </cmd>
+</step>
+<step id="GUID-B891B8D2-A519-5B86-9922-F089586C5F41-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1-3-2-2"><cmd>Wrap the array class. </cmd>
+</step>
+<step id="GUID-8394FCDF-6AA7-5603-9E6E-F7DB8EE5C83D-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1-3-2-3"><cmd>Call <xref href="GUID-C1DE3BCF-CEEB-32AC-A870-EE6A7A80DEE5.dita"><apiname>Setopt()</apiname></xref> on
+CSecureSocket to pass the array of names.</cmd>
+</step>
+</steps>
+<example><title> Example</title> <p>The following example code shows how to
+find the server names that the client is attempting to establish a connection: </p> <codeblock id="GUID-BD9A80A0-823A-5360-9AF3-415F47BD882D-GENID-1-12-1-24-1-1-9-1-4-1-5-1-5-1-3-3-3" xml:space="preserve">
+
+//Create an array class
+  CDesC8ArrayFlat *serverNames = new(ELeave) CDesC8ArrayFlat(1);
+  CleanupStack::PushL(serverNames);
+//Wrap the array class
+  serverNames-&gt;AppendL(serverName);
+//Call Setopt() on CSecureSocket to pass the array of names in
+  TPckgC&lt;CDesC8Array *&gt; serverNameIndicationPkg(serverNames);
+  User::LeaveIfError(secureSocket-&gt;SetOpt(KSoServerNameIndication, KSolInetSSL, serverNameIndicationPkg));
+//SecureSocket now owns the serverNames object
+  CleanupStack::Pop(serverNames); 
+
+</codeblock> </example>
+</taskbody></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F4203C60-EB2A-4644-8B2D-291087724BA9_d0e184675_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F4203C60-EB2A-4644-8B2D-291087724BA9_d0e190752_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -28,13 +28,13 @@
 indicate the division of Planes. </p>
 <fig id="GUID-258000D9-1BC3-5A61-8235-4183D4A759C5">
 <title>           Planes in the Communications Framework         </title>
-<image href="GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e106639_href.png" placement="inline"/>
+<image href="GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e109082_href.png" placement="inline"/>
 </fig>
 <p>The following diagram overlays the Planes with an example series of Layers </p>
 <fig id="GUID-1758E53D-2A62-5C4C-93B9-8FE5DE67BBAA">
 <title>           Planes and Layers in the Communications Framework      
   </title>
-<image href="GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e106650_href.png" placement="inline"/>
+<image href="GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e109093_href.png" placement="inline"/>
 </fig>
 <ul>
 <li id="GUID-45F19CFA-9B96-53B3-9B15-428BB3226BAA"><p> <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-E8250BBE-8529-5C45-BCA3-92A87C013580">Data Plane</xref>  </p> </li>
@@ -63,7 +63,7 @@
 Data Plane corresponds to the Sockets Server API: <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>. </p> <p>The
 following diagram shows the thread divide. </p> <fig id="GUID-A440C4F8-199E-575A-9922-D90059CA69C3">
 <title>              Data Plane in the Communications Framework           </title>
-<image href="GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e106720_href.png" placement="inline"/>
+<image href="GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e109163_href.png" placement="inline"/>
 </fig> <p><b>Features </b> </p> <p>The Data Plane: </p> <ul>
 <li id="GUID-70DDF365-81B9-5D30-BEA1-B338074CF097"><p>exchanges data with
 remote peers and uses data transfer protocols </p> </li>
--- a/Symbian3/PDK/Source/GUID-F46D5A5B-EC44-53B0-9A11-886735B28610.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F46D5A5B-EC44-53B0-9A11-886735B28610.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,87 +1,81 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F46D5A5B-EC44-53B0-9A11-886735B28610" xml:lang="en"><title>How to
-use the modifiable pointer descriptor — TPtr</title><shortdesc>Modifiable pointer descriptors are useful for referencing strings
-or data which can be accessed and changed.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<ul>
-<li id="GUID-80F50BD5-A919-5EB3-B28E-4BDF7A2A0121"><p>For text data, it is
-usual to construct a <codeph>TPtr</codeph> type and allow the appropriate
-variant, either a <codeph>TPtr</codeph> or a <codeph>TPtrC</codeph> to be
-selected at build time.</p> </li>
-<li id="GUID-965CB6DC-DE3E-5744-A6D8-10C9A0567011"><p>For binary data, an
-explicit <codeph>TPtr8</codeph> is used.</p> </li>
-<li id="GUID-40B8DB60-33DB-56D3-BDE7-263B1B48840E"><p>It is rare to use an
-explicit <codeph>TPtr16</codeph>.</p> </li>
-</ul>
-<section id="GUID-AEBBFA2C-D87D-48F8-ADBF-0A042F371EC1"><title>Constructing a TPtr</title> <p>A modifiable pointer descriptor
-can be constructed in a number of ways:</p> <ul>
-<li id="GUID-C3767C93-A5BA-5B09-A90D-FAD74E9CDC3F"><p>another modifiable pointer
-descriptor.</p> </li>
-<li id="GUID-9704F005-0931-5DA0-B4C7-7F263270300C"><p>from a non-modifiable
-buffer descriptor using the <codeph>Des()</codeph> function</p> </li>
-<li id="GUID-2F09FD0B-7FE7-5D4E-B353-233B2609F9FC"><p>from an explicit pointer
-into memory and specifying a maximum length.</p> </li>
-<li id="GUID-F9C4E446-B390-56AD-8771-A0C393ADA246"><p>from an explicit pointer
-into memory and specifying the length of the data and a maximum length.</p> </li>
-</ul> <p>The following code fragment constructs a <codeph>TPtr</codeph> to
-represent the data already represented by another <codeph>TPtr</codeph>:</p> <codeblock id="GUID-B9296BAB-8B81-52C4-9730-2290C357656A" xml:space="preserve">TPtr ptr1;
-...
-TPtr ptr2(ptr1);
-...</codeblock> <p>The following code fragment constructs a <codeph>TPtr</codeph> for
-a non-modifiable buffer descriptor, a <codeph>TBufC&lt;TInt&gt;</codeph>, using
-the <codeph>Des()</codeph> function. Data that would normally be unmodifiable
-through the <codeph>TBufC&lt;TInt&gt;</codeph> can be changed through the <codeph>TPtr</codeph>.</p> <p>The
-source are literals which are converted to descriptor type.</p> <codeblock id="GUID-86F2890B-6AD2-5637-90B6-469554026C12" xml:space="preserve">_LIT(KText,"Hello World!");
-_LIT(KExtraText," &amp; Hi");
-...
-TBufC&lt;16&gt; buf1(KText);
-...
-TPtr ptr = buf1.Des();
-...
-ptr.Delete((ptr.Length()-1),1);
-ptr.Append(KExtraText);</codeblock> <p>Define a <codeph>TText</codeph> area
-initialised to contain the string "Have a nice day":</p> <p>The following
-code fragments show the construction of a <codeph>TPtr</codeph> using a pointer
-and specifying a length and a maximum length. This technique is not commonly
-used. Literals are a much better way of defining string constants.</p> <codeblock id="GUID-998F1C38-942B-53F5-BBC5-E33781AF1253" xml:space="preserve">TText str[16] =  {'H', 'a', 'v', 'e', ' ', 'a',
-    ' ', 'n', 'i', 'c', 'e',
-    ' ', 'd', 'a', 'y', '\0'};</codeblock> <codeblock id="GUID-EF4302BB-F536-5B20-B109-1505688B8B60" xml:space="preserve">TPtr ptr(&amp;str[0],15,16);</codeblock> <p>The
-descriptor <codeph>ptr</codeph> represents the data in <codeph>str</codeph> and
-is constructed to have a current length of 15 (the length of the text, excluding
-the zero terminator) and a maximum length of 16 (the actual length of <codeph>str</codeph>).
-Once the descriptor has been constructed, it has no further use for the zero
-terminator.</p> <codeblock id="GUID-23A4799F-7B57-5B2B-B549-2BD168D208EC" xml:space="preserve">TPtr ptr(&amp;str[0],15,16);</codeblock> </section>
-<section id="GUID-AA957AF0-8791-446C-B6E3-DD5EDB642E9E"><title>Replacing data through the TPtr</title> <p>Data can be completely
-replaced using the assignment operator or the <xref href="GUID-CD3C9BD5-1386-3CF5-A8F6-9BE1AE40689F.dita"><apiname>Copy()</apiname></xref> function.:</p> <codeblock id="GUID-DBF0A411-CA03-5EAD-AFCD-1617C52C195F" xml:space="preserve">_LIT(KText,"Hi there");
-...
-ptr = KText;
-...
-ptr.Copy(KText);</codeblock> <p>Note the use of the <codeph>_LIT</codeph> macro
-to define the source string. A literal is converted into a descriptor type.</p> <p>The
-length of <codeph>ptr</codeph> is now 8 but the maximum length remains unchanged.
-The size depends on the build variant. In a non-Unicode build, this is 8 but
-in a Unicode build, this becomes 16 (two bytes for every character).</p> </section>
-<section id="GUID-4A13D438-C058-4370-970E-1139708758E3"><title>Changing the length of data</title> <p>The length of the data
-represented can be changed. </p> <codeblock id="GUID-0AE02AC5-2E85-5950-894A-FF7B6C8C5856" xml:space="preserve">_LIT(KText,"Hi there");
-...
-ptr = KText;
-ptr.SetLength(2);
-ptr.Zero();
-</codeblock> <p>For example, after <codeph>ptr.SetLength(2)</codeph>, the
-descriptor represents the string "Hi". The length can even be set to zero
-so that after <codeph>ptr.Zero()</codeph>, the descriptor represents no data.
-Nevertheless, the maximum length remains unchanged.</p> </section>
-</conbody><related-links>
-<link>
-<desc><xref href="GUID-7CB11EAD-260E-551A-85F1-FEAC975FE722.dita">Literal Descriptors</xref></desc>
-</link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F46D5A5B-EC44-53B0-9A11-886735B28610" xml:lang="en"><title>How to use the modifiable pointer descriptor — TPtr</title><shortdesc>Modifiable pointer descriptors are useful for referencing
+strings or data which can be accessed and changed.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<ul>
+<li id="GUID-80F50BD5-A919-5EB3-B28E-4BDF7A2A0121"><p>For text data,
+it is usual to construct a <codeph>TPtr</codeph> type and allow the
+appropriate variant, either a <codeph>TPtr</codeph> or a <codeph>TPtrC</codeph> to be selected at build time.</p> </li>
+<li id="GUID-965CB6DC-DE3E-5744-A6D8-10C9A0567011"><p>For binary data,
+an explicit <codeph>TPtr8</codeph> is used.</p> </li>
+<li id="GUID-40B8DB60-33DB-56D3-BDE7-263B1B48840E"><p>It is rare to
+use an explicit <codeph>TPtr16</codeph>.</p> </li>
+</ul>
+<section id="GUID-AEBBFA2C-D87D-48F8-ADBF-0A042F371EC1"><title>Constructing
+a TPtr</title> <p>A modifiable pointer descriptor can be constructed
+in a number of ways:</p> <ul>
+<li id="GUID-C3767C93-A5BA-5B09-A90D-FAD74E9CDC3F"><p>another modifiable
+pointer descriptor.</p> </li>
+<li id="GUID-9704F005-0931-5DA0-B4C7-7F263270300C"><p>from a non-modifiable
+buffer descriptor using the <codeph>Des()</codeph> function</p> </li>
+<li id="GUID-2F09FD0B-7FE7-5D4E-B353-233B2609F9FC"><p>from an explicit
+pointer into memory and specifying a maximum length.</p> </li>
+<li id="GUID-F9C4E446-B390-56AD-8771-A0C393ADA246"><p>from an explicit
+pointer into memory and specifying the length of the data and a maximum
+length.</p> </li>
+</ul> <p>The following code fragment constructs a <codeph>TPtr</codeph> to represent the data already represented by another <codeph>TPtr</codeph>:</p> <codeblock id="GUID-B9296BAB-8B81-52C4-9730-2290C357656A" xml:space="preserve">TPtr ptr1;
+...
+TPtr ptr2(ptr1);
+...</codeblock> <p>The following code fragment constructs a <codeph>TPtr</codeph> for a non-modifiable buffer descriptor, a <codeph>TBufC&lt;TInt&gt;</codeph>, using the <codeph>Des()</codeph> function. Data that would normally
+be unmodifiable through the <codeph>TBufC&lt;TInt&gt;</codeph> can be
+changed through the <codeph>TPtr</codeph>.</p> <p>The source are literals
+which are converted to descriptor type.</p> <codeblock id="GUID-86F2890B-6AD2-5637-90B6-469554026C12" xml:space="preserve">_LIT(KText,"Hello World!");
+_LIT(KExtraText," &amp; Hi");
+...
+TBufC&lt;16&gt; buf1(KText);
+...
+TPtr ptr = buf1.Des();
+...
+ptr.Delete((ptr.Length()-1),1);
+ptr.Append(KExtraText);</codeblock> <p>Define a <codeph>TText</codeph> area initialised to contain the string "Have a nice day":</p> <p>The following code fragments show the construction of a <codeph>TPtr</codeph> using a pointer and specifying a length and a maximum length. This
+technique is not commonly used. Literals are a much better way of
+defining string constants.</p> <codeblock id="GUID-998F1C38-942B-53F5-BBC5-E33781AF1253" xml:space="preserve">TText str[16] =  {'H', 'a', 'v', 'e', ' ', 'a',
+    ' ', 'n', 'i', 'c', 'e',
+    ' ', 'd', 'a', 'y', '\0'};</codeblock> <codeblock id="GUID-EF4302BB-F536-5B20-B109-1505688B8B60" xml:space="preserve">TPtr ptr(&amp;str[0],15,16);</codeblock> <p>The descriptor <codeph>ptr</codeph> represents the data in <codeph>str</codeph> and is constructed to have a current length of 15 (the
+length of the text, excluding the zero terminator) and a maximum length
+of 16 (the actual length of <codeph>str</codeph>). Once the descriptor
+has been constructed, it has no further use for the zero terminator.</p> <codeblock id="GUID-23A4799F-7B57-5B2B-B549-2BD168D208EC" xml:space="preserve">TPtr ptr(&amp;str[0],15,16);</codeblock> </section>
+<section id="GUID-AA957AF0-8791-446C-B6E3-DD5EDB642E9E"><title>Replacing
+data through the TPtr</title> <p>Data can be completely replaced using
+the assignment operator or the <xref href="GUID-CD3C9BD5-1386-3CF5-A8F6-9BE1AE40689F.dita"><apiname>Copy()</apiname></xref> function.:</p> <codeblock id="GUID-DBF0A411-CA03-5EAD-AFCD-1617C52C195F" xml:space="preserve">_LIT(KText,"Hi there");
+...
+ptr = KText;
+...
+ptr.Copy(KText);</codeblock> <p>Note the use of the <codeph>_LIT</codeph> macro to define the source string. A literal is converted into a
+descriptor type.</p> <p>The length of <codeph>ptr</codeph> is now
+8 but the maximum length remains unchanged. The size depends on the
+build variant. In a non-Unicode build, this is 8 but in a Unicode
+build, this becomes 16 (two bytes for every character).</p> </section>
+<section id="GUID-4A13D438-C058-4370-970E-1139708758E3"><title>Changing
+the length of data</title> <p>The length of the data represented can
+be changed. </p> <codeblock id="GUID-0AE02AC5-2E85-5950-894A-FF7B6C8C5856" xml:space="preserve">_LIT(KText,"Hi there");
+...
+ptr = KText;
+ptr.SetLength(2);
+ptr.Zero();
+</codeblock> <p>For example, after <codeph>ptr.SetLength(2)</codeph>, the descriptor represents the string "Hi". The length can even
+be set to zero so that after <codeph>ptr.Zero()</codeph>, the descriptor
+represents no data. Nevertheless, the maximum length remains unchanged.</p> </section>
+</conbody><related-links>
+<link href="GUID-7CB11EAD-260E-551A-85F1-FEAC975FE722.dita"><linktext>Literal
+Descriptors</linktext></link>
 </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,47 +1,202 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0"><title>How to use the audio convert utility</title><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-06F005A3-F80A-5428-9AFE-0BF1B567BE6D"><title>Overview</title> <p>Audio convert utility is used to convert audio clips contained in files or descriptors to other formats using the default codecs provided by MMF. This functionality is implemented by the <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref> class. </p> </section> <section><title>Description</title> <p>Using a audio converter utility involves the following tasks: </p> <ul><li id="GUID-707AF876-DBB4-5AE0-8610-A9E6B5A7D543"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-8E3F0FF4-48D5-58E3-9F6B-643D7401EF47">Construct and open converter utility object</xref>  </p> </li> <li id="GUID-0E4A77DB-0E03-5918-9EB1-8AF6F589490B"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-F46111C2-E670-5A1D-A091-48B2BB959C1F">Configure conversion parameters</xref>  </p> </li> <li id="GUID-CDCA30C1-7474-554F-A81E-5B13D36B7652"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-5B8C4F5B-104E-58F8-A705-A3FD1E2B82FA">Convert audio clip</xref>  </p> </li> <li id="GUID-07128D98-31E5-5090-B9CC-12FA2696A356"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-785AFDB4-527A-5AEA-88F3-91F8E348E049">Change conversion position and crop audio data </xref>  </p> </li> <li id="GUID-58C88A02-7CB2-541C-AE59-CB92511D0C1C"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-E79175EB-EBAE-52FB-A594-04F2275A9A5F">Custom commands</xref>  </p> </li> </ul> <p id="GUID-8E3F0FF4-48D5-58E3-9F6B-643D7401EF47"><b>Construct and open converter utility object</b> </p> <p>The MMF provides a utility class called <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita"><apiname>CMdaAudioConverterUtility</apiname></xref>. Using this class, you can convert audio clips from one format to another. The <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita#GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5/GUID-751B7E8A-4464-3DF0-96C0-B5BDA1200E57"><apiname>CMdaAudioConverterUtility::NewL()</apiname></xref> function need to be used to construct an object of this utility class, with the following arguments: </p> <ul><li id="GUID-11759C41-FAE9-59C5-89DA-131537795AED"><p>An object of the class, which inherits the <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita"><apiname>MMdaObjectStateChangeObserver</apiname></xref> class to receive state change notifications from the converter object. </p> </li> <li id="GUID-577C3B7C-30A4-5ECC-A38D-DCE762F8AA80"><p>Client's relative priority, which can be <codeph>EMdaPriorityMin</codeph>, <codeph>EMdaPriorityNormal</codeph> or <codeph>EMdaPriorityMax</codeph>. </p> </li> <li id="GUID-1639A961-D674-525A-8B59-C1837441BD3B"><p>An object of <xref href="GUID-0C8D114E-EE63-3A33-83AE-AB75B23E4E71.dita"><apiname>TMdaPriorityPreference</apiname></xref> specifying the behaviour, if a higher priority client takes over the device. </p> </li> </ul> <p>The following code shows how the client application <codeph>CClientApp</codeph> inherits the <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita"><apiname>MMdaObjectStateChangeObserver</apiname></xref> and creates the audio converter utility object: </p> <codeblock id="GUID-0DD27445-881B-5A95-8E06-BE066206B429" xml:space="preserve">class CClientApp : public CBase, MMdaObjectStateChangeObserver
-    {
-public:
-   void CClientApp();
-protected:
-
-    // from MMdaObjectStateChangeObserver
-    virtual void MoscoStateChangeEvent(CBase *aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
-    
-protected:
-    CMdaAudioConverterUtility*    iConverter;   
-    };
-
-void CClientApp()
-{    
-    iConverter = CMdaAudioConverterUtility::NewL(*this, EMdaPriorityNormal,
-                   EMdaPriorityPreferenceTimeAndQuality);
-}
-</codeblock> <p>Once the audio converter utility object is constructed, you can open an audio clip for conversion using the function <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita#GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5/GUID-B6F6968B-3731-3FD3-AE85-003786EFCBF9"><apiname>CMdaAudioConverterUtility::OpenL()</apiname></xref>. You can use the following versions of this function: </p> <ul><li id="GUID-4AAA0055-3EC1-5B47-8ED9-8A1562F45292"><p>To open an existing audio file and append the converted audio data to another file, use the following version: </p> <codeblock id="GUID-32DB2AEF-251A-5C2A-AE73-6BCCB4DEAC48" xml:space="preserve">OpenL(const TDesC&amp; aPrimaryFile, const TdesC&amp; aSecondaryFile);</codeblock> <p>Where, <codeph>aPrimaryFile</codeph> and <codeph>aSecondaryFile</codeph> are used to specify the source and destination audio file names. </p> </li> <li id="GUID-403A3496-1B71-5DE0-AF6D-56453E7FC349"><p>To open existing audio file and store the converted audio data to either a file or a descriptor, use the following version: </p> <codeblock id="GUID-E5DCD0F0-BB3E-5AE4-AA6F-2D9D3A43B9B9" xml:space="preserve">OpenL(const TdesC&amp; aPrimaryFile
-        TMdaClipLocation* aLocation,
-        TMdaClipFormat* aFormat,
-        TMdaPackage* aArg1 = NULL,
-        TMdaPackage* aArg2 = NULL);
-</codeblock> <p>Where, <codeph>aPrimaryFile</codeph> specifies the source audio file names. The <codeph>aLocation</codeph>, <codeph>aFormat</codeph>, <codeph>aArg1</codeph> and <codeph>aArg2</codeph> are used to specify the target location for the converted audio data, target audio format, codec for the target audio and target audio settings. </p> </li> <li id="GUID-0A3D5957-920F-5232-85A0-F5137A6E9759"><p>To open audio data either from a file or a descriptor source and store the resulting data to either a file or descriptor, use the following version: </p> <codeblock id="GUID-51904005-0194-587B-BBAE-5DD14FF09593" xml:space="preserve">OpenL(TmdaClipLocation* aPriLocation
-        TMdaClipLocation* aSecLocation,
-        TMdaClipFormat* aPriFormat,
-        TMdaClipFormat* aSecFormat,
-        TMdaPackage* aPriArg1 = NULL,
-        TMdaPackage* aPriArg2 = NULL,
-        TMdaPackage* aSecArg1 = NULL,
-        TMdaPackage* aSecArg2 = NULL);
-</codeblock> <p>Where, <codeph>aPriLocation</codeph> and <codeph>aPriLocation</codeph> specifies the source and destination audio data locations. The <codeph>aPriFormat</codeph> and <codeph>aSecFormat</codeph> specifies the audio format of the source and target audio data. The <codeph>aPriArg1</codeph> and <codeph>aPriArg2</codeph> specifies codec and settings for the source audio data. Whereas, the <codeph>aSecArg1</codeph> and <codeph>aSecArg2</codeph> specifies the codec and settings for the target audio data. </p> </li> </ul> <p> <b>Note</b>: It is recommended to use the first version of <codeph>OpenL</codeph> to specify source and destination audio file location. The arguments for the other versions are deprecated. </p> <p>The following code uses the first version of OpenL to specify source and destination audio location: </p> <codeblock id="GUID-AEAF18F8-C228-581A-ADBF-48B67E72E8B2" xml:space="preserve">TFileName fromFilename = _L("C:\\rectest2.wav");
-TFileName toFilename = _L("C:\\rectest2.wav");
-
-iConverter-&amp;gt;OpenL(&amp;fromFilename, &amp;toFilename);
-</codeblock> <p>Once the converter calls the <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita#GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5/GUID-B6F6968B-3731-3FD3-AE85-003786EFCBF9"><apiname>CMdaAudioConverterUtility::OpenL()</apiname></xref> function, the callback function <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita#GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9/GUID-4FD38520-962C-3FA3-9F29-012695B1841B"><apiname>MMdaObjectStateChangeObserver::MoscoStateChangeEvent()</apiname></xref> will notify the client application about the change in state of the object. </p> <p id="GUID-F46111C2-E670-5A1D-A091-48B2BB959C1F"><b>Configure conversion parameters</b> </p> <p>The configuration parameters can be broadly classified into four categories as shown below: </p> <p><b>Set recorded file length </b> </p> <p>You can control the size settings of a recorded file. This is handled by the <xref href="GUID-123B2967-5B45-3FE3-9FDB-937D254DBAC7.dita"><apiname>SetMaxWriteLength()</apiname></xref> function that sets the maximum number of bytes that can be written to a recorded audio clip. The <xref href="GUID-123B2967-5B45-3FE3-9FDB-937D254DBAC7.dita"><apiname>SetMaxWriteLength()</apiname></xref> function is provided so that converters can limit the amount of file storage or memory that should be allocated. If the maximum limit is reached, MMF stops recording and notifies the client application. </p> <p>The following code sets the maximum number of bytes to 800: </p> <codeblock id="GUID-D472EA81-8859-573A-BEB1-36B5C12577B4" xml:space="preserve">iConverter-&gt;SetMaxWriteLength(800);</codeblock> <p><b>Formats and Codecs </b> </p> <p>You can report and set formats and codecs for audio data that is already open. The four methods related to DataTypes (codecs) enable you to retrieve a list of supported codecs for the current data format, set a new codec to use or determine which codec is currently in use. A further three methods are provided to query and set the audio format to use. </p> <p>Codec related actions: </p> <ul><li id="GUID-BEFE741E-42F8-5A2A-A045-9DEED5351AF8"><p>To get the data type of the destination audio clip, use the <xref href="GUID-DE1B22B0-EA40-3400-8880-B8D02FEA53AE.dita"><apiname>DestinationDataTypeL()</apiname></xref> function. </p> </li> <li id="GUID-88543928-F6EA-5D88-A470-383203E328C5"><p>To set the data type of the destination audio clip, use the <xref href="GUID-C63D3BEC-50E2-39F3-9F72-E5FC1E7EDBC3.dita"><apiname>SetDestinationDataTypeL()</apiname></xref> function. </p> </li> <li id="GUID-11EC06F6-E79D-53CA-8A55-E5E2A709695A"><p>To get a list of supported data types for the conversion destination, use the <xref href="GUID-C2183CDC-E0E9-3324-BF38-5CC970F8E465.dita"><apiname>GetSupportedDestinationDataTypesL()</apiname></xref> function. </p> </li> <li id="GUID-FC20AD49-B7F3-55AE-9DC9-96751497FF70"><p>To get the data type of the source audio clip, use the <xref href="GUID-7B7BB5C5-2435-3AA8-B320-46E7BB308F16.dita"><apiname>SourceDataTypeL()</apiname></xref> function. </p> </li> </ul> <p>Data format related actions: </p> <ul><li id="GUID-63B22181-DCE4-5CF4-AACE-52F92F529821"><p>To get the format of the destination audio clip, use the <xref href="GUID-E0245ACC-E3AE-36EB-9126-8D8325CA23AA.dita"><apiname>DestinationFormatL()</apiname></xref> function. </p> </li> <li id="GUID-E3224695-C58D-5986-819B-E7178ADF7537"><p>To set the format of the destination audio clip, use the <xref href="GUID-730E4D19-96E7-373D-BC5C-981866923767.dita"><apiname>SetDestinationFormatL()</apiname></xref> function. </p> </li> <li id="GUID-C4A10676-7A39-50B1-807D-1F91B8CC3743"><p>To get the format of the source audio clip, use the <xref href="GUID-37E7132D-6E48-38FE-9C00-77E4AE4320B9.dita"><apiname>SourceFormatL()</apiname></xref> function. </p> </li> </ul> <p> <b>Note</b>: It is only possible to report the format and codec used by the source audio and cannot be changed. </p> <p><b>Bit and sample rates </b> </p> <p>You can report and set bit and sample rates as required by specific codecs. </p> <p>Methods to control the bit rate of audio data: </p> <ul><li id="GUID-6F218910-6BDD-5553-9648-1F62305F3589"><p>To get a list of supported bit rates to the conversion destination, use the <xref href="GUID-5777E279-44DB-3256-A2FC-A1E7056EA7C0.dita"><apiname>GetSupportedConversionBitRatesL()</apiname></xref> function. </p> </li> <li id="GUID-6ED4056A-AFAC-5051-B77F-DB094C6470CD"><p>To get the bit rate of the destination audio clip, use the <xref href="GUID-2701C3DD-5E86-34EB-BF46-1B7E59B35CE6.dita"><apiname>DestinationBitRateL()</apiname></xref> function. </p> </li> <li id="GUID-7B6C2AF7-E5BA-548C-BB91-182C4285D0D3"><p>To set the bit rate of the destination audio clip, use the <xref href="GUID-CD9399AE-0525-3E6F-8D1D-69F7DD9C3774.dita"><apiname>SetDestinationBitRateL()</apiname></xref> function. The bit rate must be one of the supported bit rates of the audio target. Use the <xref href="GUID-5777E279-44DB-3256-A2FC-A1E7056EA7C0.dita"><apiname>GetSupportedConversionBitRatesL()</apiname></xref> function to retrieve a list of supported bit rates. </p> </li> <li id="GUID-0D644C39-21EF-57DB-B1C3-EA6109E05AF0"><p>To get the bit rate of the source audio clip, use the <xref href="GUID-A3511295-70AE-38D6-A362-334CD3722D26.dita"><apiname>SourceBitRateL()</apiname></xref> function. </p> </li> </ul> <p> <b>Note</b>: None of the default codecs provided in the MMF support the use of bit rates. These methods are provided to enable the creation of additional codecs that might require bit rate information, such as the audio format MP3. </p> <p>Methods for controlling the sampling rate of audio data: </p> <ul><li id="GUID-C59895FE-BAF7-54E3-B5C9-8BC559EF1B32"><p>To get a list of supported conversion sample rates, use the <xref href="GUID-1F8A204E-D666-37AA-8591-FC325684EF3E.dita"><apiname>GetSupportedConversionSampleRatesL()</apiname></xref> function. The list of sample rates is used by the conversion destination. </p> </li> <li id="GUID-CB4C78D7-827D-5247-8832-8A7271087CAC"><p>To get the sample rate of the conversion destination, use the <xref href="GUID-67DF026D-A62F-37F7-A581-388CF65B4E5A.dita"><apiname>DestinationSampleRateL()</apiname></xref> function. </p> </li> <li id="GUID-390679E1-CB13-5722-B090-8E5001142FE3"><p>To set the sample rate for the conversion destination, use the <xref href="GUID-71A4BDE9-4785-35E4-95CE-0AECF929C7D9.dita"><apiname>SetDestinationSampleRateL()</apiname></xref> function. The sample rate must be one of the supported sample rates of the audio target. Use the <xref href="GUID-1F8A204E-D666-37AA-8591-FC325684EF3E.dita"><apiname>GetSupportedConversionSampleRatesL()</apiname></xref> function to retrieve a list of supported sample rates. </p> </li> <li id="GUID-5A4D9803-D3FA-5C3E-A110-4B910A675B26"><p>To get the sample rate of the source audio clip, use the <xref href="GUID-FBC478AB-D28C-3BB2-B4C7-6FD2111B00CC.dita"><apiname>SourceSampleRateL()</apiname></xref> function. </p> </li> </ul> <p> <b>Note</b>: It is only possible to report the bit rate or sample rate used by the source audio and cannot be changed. </p> <p><b>Balance </b> </p> <p>You can report and set the audio mode (mono or stereo). </p> <ul><li id="GUID-AE349537-63C5-500A-96BC-FFD62CA6FA16"><p>To get a list of the supported number of channels for conversion, use the <xref href="GUID-C5418287-E4F4-3E4A-B91C-64D814B8BA60.dita"><apiname>GetSupportedConversionNumberOfChannelsL()</apiname></xref> function. </p> </li> <li id="GUID-36B76579-0DA0-5514-9E5F-3B7AAA31F16B"><p>To get the number of channels the destination audio clip contains, use the <xref href="GUID-C954863D-701A-3A9A-AC60-00F3CB48F46F.dita"><apiname>DestinationNumberOfChannelsL()</apiname></xref> function. </p> </li> <li id="GUID-B6CC8F43-C44F-5C1B-909F-4517C31844CF"><p>To set the number of channels the destination audio clip contains, use the <xref href="GUID-87973927-F58D-3961-9777-E9E2A7C7DF22.dita"><apiname>SetDestinationNumberOfChannelsL()</apiname></xref> function. The number of channels must be one of the values returned by <xref href="GUID-C5418287-E4F4-3E4A-B91C-64D814B8BA60.dita"><apiname>GetSupportedConversionNumberOfChannelsL()</apiname></xref>. </p> </li> <li id="GUID-7C522973-402E-5231-9A51-76C640C13568"><p>To get the number of channels used by the conversion source, use the <xref href="GUID-D74F993C-E4AA-3645-88FC-14C699423110.dita"><apiname>SourceNumberOfChannelsL()</apiname></xref> function. </p> </li> </ul> <p> <b>Note</b>: It is only possible to report the number of supported channels for the source audio and cannot be changed. </p> <p id="GUID-5B8C4F5B-104E-58F8-A705-A3FD1E2B82FA"><b> Convert audio clip</b> </p> <p>Several methods are provided in <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref> to enable the conversion of audio data. The specific functions to convert and perform related tasks are as follows: </p> <ul><li id="GUID-ED4D516E-EDD0-59D4-86C9-06E61189D2A5"><p>To start converting audio data from the current position within the audio source and writing the converted data to a play window within the destination file, use the <xref href="GUID-F25BDC34-C955-312A-838E-09CA2EBAB418.dita"><apiname>ConvertL()</apiname></xref> function. </p> </li> <li id="GUID-41EF4109-6406-5777-A696-72421DF6E4C4"><p>To stop audio conversion, use the <xref href="GUID-7CBDCF0D-1D11-34D1-BF5C-1E5B50DA75B5.dita"><apiname>Stop()</apiname></xref> function. The positions within the audio source and destination are maintained to handle subsequent <xref href="GUID-F25BDC34-C955-312A-838E-09CA2EBAB418.dita"><apiname>ConvertL()</apiname></xref> statements. </p> </li> <li id="GUID-F1C55C8A-F965-5857-A488-4C029CFC6D07"><p>To stop audio conversion and close all related controllers, use the <xref href="GUID-01D2AF56-21E1-3FF3-BF86-0C356A1658EF.dita"><apiname>Close()</apiname></xref> function. </p> </li> </ul> <p id="GUID-785AFDB4-527A-5AEA-88F3-91F8E348E049"><b>Change conversion position and crop audio data</b> </p> <p>It is possible to crop the audio clip from the current position to the end of the clip or from the begging to the current position as illustrated below: </p> <ul><li id="GUID-31CF2D85-4ACD-5B37-A4F9-67F435BE302C"><p>To crop the current clip from the current position, use the <xref href="GUID-55FA7E3D-0137-3B74-8911-0D21D3038B85.dita"><apiname>CropL()</apiname></xref> function. The remainder of the clip is discarded. The effects of the function cannot be undone. The function is synchronous and can leave if there is a problem. The leave code depends on the configuration settings. </p> </li> <li id="GUID-70B87D7E-D4C2-5A26-B1D2-44315A404D4A"><p>To crop the audio clip from the start of the file to the current position, use the <xref href="GUID-EFB452A7-07A7-3AA8-988A-BD3EB2E1EF0A.dita"><apiname>CropFromBeginningL()</apiname></xref> function. The audio data prior to the current position is discarded. The effects of the function cannot be undone. The function is synchronous and can leave if there is a problem. The leave code depends on the configuration settings. </p> </li> </ul> <p>To retrieve the current position of the audio clip or move the position to the desired location use the following functions: </p> <ul><li id="GUID-4764FACE-A6E6-58DE-81A2-B6DF19647673"><p>To get the current position in the audio clip, use the <xref href="GUID-663106A9-3FA5-3471-A9C6-9D2FFD94FB7B.dita"><apiname>Position()</apiname></xref> function. The position is defined in terms of a time interval measured from the beginning of the audio sample data. </p> </li> <li id="GUID-431A1E59-15CC-5463-83D5-64FE363369FA"><p>To set the current position in the audio clip, use the <xref href="GUID-2C54E7FC-7C61-35FA-B129-1B15FFAC8F69.dita"><apiname>SetPosition()</apiname></xref> function. A subsequent call to the <xref href="GUID-F25BDC34-C955-312A-838E-09CA2EBAB418.dita"><apiname>ConvertL()</apiname></xref> function starts conversion from this new position. </p> </li> </ul> <p id="GUID-E79175EB-EBAE-52FB-A594-04F2275A9A5F"><b> Custom commands</b> </p> <ul><li id="GUID-403EADC5-2D41-54F5-A97B-3484B754109B"><p>To send a raw custom command synchronously to the controller or to allow data to be returned from the controller, use the <xref href="GUID-8B88A239-C622-3952-9737-A7BEEA99AC9B.dita"><apiname>CustomCommandSync() </apiname></xref> function. </p> </li> <li id="GUID-8958B82D-B1C5-5D27-B931-D957735955E4"><p>To send a raw custom command asynchronously to the controller or to allows data to be returned from the controller, use the <xref href="GUID-601DC50C-CD58-3604-98B2-35A7B5E6EBD8.dita"><apiname>CustomCommandAsync() </apiname></xref> function. </p> </li> </ul> </section> <section><title>See Also</title> <p> <xref href="GUID-4E1F04EB-09EA-5354-8EFF-BBC95F44C9AE.dita">How to use the audio player utility</xref>  </p> <p> <xref href="GUID-BA2EEEC3-86AC-5B1C-81E2-CC571EB5AB3E.dita">How to use audio recorder utility</xref>  </p> <p> <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita">How to use the audio tone player utility</xref>  </p> </section> </conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0" xml:lang="en"><title>How to use the audio convert utility</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-06F005A3-F80A-5428-9AFE-0BF1B567BE6D"><title>Overview</title> <p>Audio convert utility is used to convert audio clips contained
+in files or descriptors to other formats using the default codecs
+provided by MMF. This functionality is implemented by the <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref> class. </p> </section>
+<section id="GUID-598B8280-09AB-4A60-9400-0AAE88A8DE4B"><title>Description</title> <p>Using a audio converter utility
+involves the following tasks: </p> <ul>
+<li id="GUID-707AF876-DBB4-5AE0-8610-A9E6B5A7D543"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-8E3F0FF4-48D5-58E3-9F6B-643D7401EF47">Construct and open converter utility object</xref>  </p> </li>
+<li id="GUID-0E4A77DB-0E03-5918-9EB1-8AF6F589490B"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-F46111C2-E670-5A1D-A091-48B2BB959C1F">Configure conversion parameters</xref>  </p> </li>
+<li id="GUID-CDCA30C1-7474-554F-A81E-5B13D36B7652"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-5B8C4F5B-104E-58F8-A705-A3FD1E2B82FA">Convert audio clip</xref>  </p> </li>
+<li id="GUID-07128D98-31E5-5090-B9CC-12FA2696A356"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-785AFDB4-527A-5AEA-88F3-91F8E348E049">Change conversion position and crop audio data </xref>  </p> </li>
+<li id="GUID-58C88A02-7CB2-541C-AE59-CB92511D0C1C"><p> <xref href="GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0.dita#GUID-F46E4F89-B9ED-5A4A-B812-B605B925D0C0/GUID-E79175EB-EBAE-52FB-A594-04F2275A9A5F">Custom commands</xref>  </p> </li>
+</ul> <p id="GUID-8E3F0FF4-48D5-58E3-9F6B-643D7401EF47"><b>Construct and open
+converter utility object</b> </p> <p>The MMF provides a utility class
+called <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita"><apiname>CMdaAudioConverterUtility</apiname></xref>. Using this class,
+you can convert audio clips from one format to another. The <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita#GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5/GUID-751B7E8A-4464-3DF0-96C0-B5BDA1200E57"><apiname>CMdaAudioConverterUtility::NewL()</apiname></xref> function need to be used
+to construct an object of this utility class, with the following arguments: </p> <ul>
+<li id="GUID-11759C41-FAE9-59C5-89DA-131537795AED"><p>An object of
+the class, which inherits the <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita"><apiname>MMdaObjectStateChangeObserver</apiname></xref> class to receive state change notifications from the converter object. </p> </li>
+<li id="GUID-577C3B7C-30A4-5ECC-A38D-DCE762F8AA80"><p>Client's relative
+priority, which can be <codeph>EMdaPriorityMin</codeph>, <codeph>EMdaPriorityNormal</codeph> or <codeph>EMdaPriorityMax</codeph>. </p> </li>
+<li id="GUID-1639A961-D674-525A-8B59-C1837441BD3B"><p>An object of <xref href="GUID-0C8D114E-EE63-3A33-83AE-AB75B23E4E71.dita"><apiname>TMdaPriorityPreference</apiname></xref> specifying the behaviour, if a higher
+priority client takes over the device. </p> </li>
+</ul> <p>The following code shows how the client application <codeph>CClientApp</codeph> inherits the <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita"><apiname>MMdaObjectStateChangeObserver</apiname></xref> and creates the audio converter utility object: </p> <codeblock id="GUID-0DD27445-881B-5A95-8E06-BE066206B429" xml:space="preserve">class CClientApp : public CBase, MMdaObjectStateChangeObserver
+    {
+public:
+   void CClientApp();
+protected:
+
+    // from MMdaObjectStateChangeObserver
+    virtual void MoscoStateChangeEvent(CBase *aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
+    
+protected:
+    CMdaAudioConverterUtility*    iConverter;   
+    };
+
+void CClientApp()
+{    
+    iConverter = CMdaAudioConverterUtility::NewL(*this, EMdaPriorityNormal,
+                   EMdaPriorityPreferenceTimeAndQuality);
+}
+</codeblock> <p>Once the audio converter utility object is constructed,
+you can open an audio clip for conversion using the function <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita#GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5/GUID-B6F6968B-3731-3FD3-AE85-003786EFCBF9"><apiname>CMdaAudioConverterUtility::OpenL()</apiname></xref>. You can use the following
+versions of this function: </p> <ul>
+<li id="GUID-4AAA0055-3EC1-5B47-8ED9-8A1562F45292"><p>To open an existing
+audio file and append the converted audio data to another file, use
+the following version: </p> <codeblock id="GUID-32DB2AEF-251A-5C2A-AE73-6BCCB4DEAC48" xml:space="preserve">OpenL(const TDesC&amp; aPrimaryFile, const TdesC&amp; aSecondaryFile);</codeblock> <p>Where, <codeph>aPrimaryFile</codeph> and <codeph>aSecondaryFile</codeph> are used to specify the source and destination audio file names. </p> </li>
+<li id="GUID-403A3496-1B71-5DE0-AF6D-56453E7FC349"><p>To open existing
+audio file and store the converted audio data to either a file or
+a descriptor, use the following version: </p> <codeblock id="GUID-E5DCD0F0-BB3E-5AE4-AA6F-2D9D3A43B9B9" xml:space="preserve">OpenL(const TdesC&amp; aPrimaryFile
+        TMdaClipLocation* aLocation,
+        TMdaClipFormat* aFormat,
+        TMdaPackage* aArg1 = NULL,
+        TMdaPackage* aArg2 = NULL);
+</codeblock> <p>Where, <codeph>aPrimaryFile</codeph> specifies the
+source audio file names. The <codeph>aLocation</codeph>, <codeph>aFormat</codeph>, <codeph>aArg1</codeph> and <codeph>aArg2</codeph> are used to specify
+the target location for the converted audio data, target audio format,
+codec for the target audio and target audio settings. </p> </li>
+<li id="GUID-0A3D5957-920F-5232-85A0-F5137A6E9759"><p>To open audio
+data either from a file or a descriptor source and store the resulting
+data to either a file or descriptor, use the following version: </p> <codeblock id="GUID-51904005-0194-587B-BBAE-5DD14FF09593" xml:space="preserve">OpenL(TmdaClipLocation* aPriLocation
+        TMdaClipLocation* aSecLocation,
+        TMdaClipFormat* aPriFormat,
+        TMdaClipFormat* aSecFormat,
+        TMdaPackage* aPriArg1 = NULL,
+        TMdaPackage* aPriArg2 = NULL,
+        TMdaPackage* aSecArg1 = NULL,
+        TMdaPackage* aSecArg2 = NULL);
+</codeblock> <p>Where, <codeph>aPriLocation</codeph> and <codeph>aPriLocation</codeph> specifies the source and destination audio data locations. The <codeph>aPriFormat</codeph> and <codeph>aSecFormat</codeph> specifies the
+audio format of the source and target audio data. The <codeph>aPriArg1</codeph> and <codeph>aPriArg2</codeph> specifies codec and settings for the
+source audio data. Whereas, the <codeph>aSecArg1</codeph> and <codeph>aSecArg2</codeph> specifies the codec and settings for the target
+audio data. </p> </li>
+</ul> <p> <b>Note</b>: It is recommended to use the first version
+of <codeph>OpenL</codeph> to specify source and destination audio
+file location. The arguments for the other versions are deprecated. </p> <p>The following code uses the first version of OpenL to specify
+source and destination audio location: </p> <codeblock id="GUID-AEAF18F8-C228-581A-ADBF-48B67E72E8B2" xml:space="preserve">TFileName fromFilename = _L("C:\\rectest2.wav");
+TFileName toFilename = _L("C:\\rectest2.wav");
+
+iConverter-&amp;gt;OpenL(&amp;fromFilename, &amp;toFilename);
+</codeblock> <p>Once the converter calls the <xref href="GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5.dita#GUID-30F792FF-577D-36F3-9905-6AAAC53B25D5/GUID-B6F6968B-3731-3FD3-AE85-003786EFCBF9"><apiname>CMdaAudioConverterUtility::OpenL()</apiname></xref> function, the callback function <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita#GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9/GUID-4FD38520-962C-3FA3-9F29-012695B1841B"><apiname>MMdaObjectStateChangeObserver::MoscoStateChangeEvent()</apiname></xref> will notify the client application about the change in state of
+the object. </p> <p id="GUID-F46111C2-E670-5A1D-A091-48B2BB959C1F"><b>Configure conversion
+parameters</b> </p> <p>The configuration parameters can be broadly
+classified into four categories as shown below: </p> <p><b>Set recorded file length </b> </p> <p>You can control the size
+settings of a recorded file. This is handled by the <xref href="GUID-123B2967-5B45-3FE3-9FDB-937D254DBAC7.dita"><apiname>SetMaxWriteLength()</apiname></xref> function that sets the maximum number of bytes that can be written
+to a recorded audio clip. The <xref href="GUID-123B2967-5B45-3FE3-9FDB-937D254DBAC7.dita"><apiname>SetMaxWriteLength()</apiname></xref> function is provided so that converters can limit the amount of
+file storage or memory that should be allocated. If the maximum limit
+is reached, MMF stops recording and notifies the client application. </p> <p>The following code sets the maximum number of bytes to 800: </p> <codeblock id="GUID-D472EA81-8859-573A-BEB1-36B5C12577B4" xml:space="preserve">iConverter-&gt;SetMaxWriteLength(800);</codeblock> <p><b>Formats and Codecs </b> </p> <p>You can report and set formats
+and codecs for audio data that is already open. The four methods related
+to DataTypes (codecs) enable you to retrieve a list of supported codecs
+for the current data format, set a new codec to use or determine which
+codec is currently in use. A further three methods are provided to
+query and set the audio format to use. </p> <p>Codec related actions: </p> <ul>
+<li id="GUID-BEFE741E-42F8-5A2A-A045-9DEED5351AF8"><p>To get the data
+type of the destination audio clip, use the <xref href="GUID-DE1B22B0-EA40-3400-8880-B8D02FEA53AE.dita"><apiname>DestinationDataTypeL()</apiname></xref> function. </p> </li>
+<li id="GUID-88543928-F6EA-5D88-A470-383203E328C5"><p>To set the data
+type of the destination audio clip, use the <xref href="GUID-C63D3BEC-50E2-39F3-9F72-E5FC1E7EDBC3.dita"><apiname>SetDestinationDataTypeL()</apiname></xref> function. </p> </li>
+<li id="GUID-11EC06F6-E79D-53CA-8A55-E5E2A709695A"><p>To get a list
+of supported data types for the conversion destination, use the <xref href="GUID-C2183CDC-E0E9-3324-BF38-5CC970F8E465.dita"><apiname>GetSupportedDestinationDataTypesL()</apiname></xref> function. </p> </li>
+<li id="GUID-FC20AD49-B7F3-55AE-9DC9-96751497FF70"><p>To get the data
+type of the source audio clip, use the <xref href="GUID-7B7BB5C5-2435-3AA8-B320-46E7BB308F16.dita"><apiname>SourceDataTypeL()</apiname></xref> function. </p> </li>
+</ul> <p>Data format related actions: </p> <ul>
+<li id="GUID-63B22181-DCE4-5CF4-AACE-52F92F529821"><p>To get the format
+of the destination audio clip, use the <xref href="GUID-E0245ACC-E3AE-36EB-9126-8D8325CA23AA.dita"><apiname>DestinationFormatL()</apiname></xref> function. </p> </li>
+<li id="GUID-E3224695-C58D-5986-819B-E7178ADF7537"><p>To set the format
+of the destination audio clip, use the <xref href="GUID-730E4D19-96E7-373D-BC5C-981866923767.dita"><apiname>SetDestinationFormatL()</apiname></xref> function. </p> </li>
+<li id="GUID-C4A10676-7A39-50B1-807D-1F91B8CC3743"><p>To get the format
+of the source audio clip, use the <xref href="GUID-37E7132D-6E48-38FE-9C00-77E4AE4320B9.dita"><apiname>SourceFormatL()</apiname></xref> function. </p> </li>
+</ul> <p> <b>Note</b>: It is only possible to report the format and
+codec used by the source audio and cannot be changed. </p> <p><b>Bit and sample rates </b> </p> <p>You can report and set bit and
+sample rates as required by specific codecs. </p> <p>Methods to control
+the bit rate of audio data: </p> <ul>
+<li id="GUID-6F218910-6BDD-5553-9648-1F62305F3589"><p>To get a list
+of supported bit rates to the conversion destination, use the <xref href="GUID-5777E279-44DB-3256-A2FC-A1E7056EA7C0.dita"><apiname>GetSupportedConversionBitRatesL()</apiname></xref> function. </p> </li>
+<li id="GUID-6ED4056A-AFAC-5051-B77F-DB094C6470CD"><p>To get the bit
+rate of the destination audio clip, use the <xref href="GUID-2701C3DD-5E86-34EB-BF46-1B7E59B35CE6.dita"><apiname>DestinationBitRateL()</apiname></xref> function. </p> </li>
+<li id="GUID-7B6C2AF7-E5BA-548C-BB91-182C4285D0D3"><p>To set the bit
+rate of the destination audio clip, use the <xref href="GUID-CD9399AE-0525-3E6F-8D1D-69F7DD9C3774.dita"><apiname>SetDestinationBitRateL()</apiname></xref> function. The bit rate must be one of the supported bit rates of
+the audio target. Use the <xref href="GUID-5777E279-44DB-3256-A2FC-A1E7056EA7C0.dita"><apiname>GetSupportedConversionBitRatesL()</apiname></xref> function to retrieve a list of supported bit rates. </p> </li>
+<li id="GUID-0D644C39-21EF-57DB-B1C3-EA6109E05AF0"><p>To get the bit
+rate of the source audio clip, use the <xref href="GUID-A3511295-70AE-38D6-A362-334CD3722D26.dita"><apiname>SourceBitRateL()</apiname></xref> function. </p> </li>
+</ul> <p> <b>Note</b>: None of the default codecs provided in the
+MMF support the use of bit rates. These methods are provided to enable
+the creation of additional codecs that might require bit rate information,
+such as the audio format MP3. </p> <p>Methods for controlling the
+sampling rate of audio data: </p> <ul>
+<li id="GUID-C59895FE-BAF7-54E3-B5C9-8BC559EF1B32"><p>To get a list
+of supported conversion sample rates, use the <xref href="GUID-1F8A204E-D666-37AA-8591-FC325684EF3E.dita"><apiname>GetSupportedConversionSampleRatesL()</apiname></xref> function. The list of sample rates is used by the conversion destination. </p> </li>
+<li id="GUID-CB4C78D7-827D-5247-8832-8A7271087CAC"><p>To get the sample
+rate of the conversion destination, use the <xref href="GUID-67DF026D-A62F-37F7-A581-388CF65B4E5A.dita"><apiname>DestinationSampleRateL()</apiname></xref> function. </p> </li>
+<li id="GUID-390679E1-CB13-5722-B090-8E5001142FE3"><p>To set the sample
+rate for the conversion destination, use the <xref href="GUID-71A4BDE9-4785-35E4-95CE-0AECF929C7D9.dita"><apiname>SetDestinationSampleRateL()</apiname></xref> function. The sample rate must be one of the supported sample rates
+of the audio target. Use the <xref href="GUID-1F8A204E-D666-37AA-8591-FC325684EF3E.dita"><apiname>GetSupportedConversionSampleRatesL()</apiname></xref> function to retrieve a list of supported sample rates. </p> </li>
+<li id="GUID-5A4D9803-D3FA-5C3E-A110-4B910A675B26"><p>To get the sample
+rate of the source audio clip, use the <xref href="GUID-FBC478AB-D28C-3BB2-B4C7-6FD2111B00CC.dita"><apiname>SourceSampleRateL()</apiname></xref> function. </p> </li>
+</ul> <p> <b>Note</b>: It is only possible to report the bit rate
+or sample rate used by the source audio and cannot be changed. </p> <p><b>Balance </b> </p> <p>You can report and set the audio mode (mono
+or stereo). </p> <ul>
+<li id="GUID-AE349537-63C5-500A-96BC-FFD62CA6FA16"><p>To get a list
+of the supported number of channels for conversion, use the <xref href="GUID-C5418287-E4F4-3E4A-B91C-64D814B8BA60.dita"><apiname>GetSupportedConversionNumberOfChannelsL()</apiname></xref> function. </p> </li>
+<li id="GUID-36B76579-0DA0-5514-9E5F-3B7AAA31F16B"><p>To get the number
+of channels the destination audio clip contains, use the <xref href="GUID-C954863D-701A-3A9A-AC60-00F3CB48F46F.dita"><apiname>DestinationNumberOfChannelsL()</apiname></xref> function. </p> </li>
+<li id="GUID-B6CC8F43-C44F-5C1B-909F-4517C31844CF"><p>To set the number
+of channels the destination audio clip contains, use the <xref href="GUID-87973927-F58D-3961-9777-E9E2A7C7DF22.dita"><apiname>SetDestinationNumberOfChannelsL()</apiname></xref> function. The number
+of channels must be one of the values returned by <xref href="GUID-C5418287-E4F4-3E4A-B91C-64D814B8BA60.dita"><apiname>GetSupportedConversionNumberOfChannelsL()</apiname></xref>. </p> </li>
+<li id="GUID-7C522973-402E-5231-9A51-76C640C13568"><p>To get the number
+of channels used by the conversion source, use the <xref href="GUID-D74F993C-E4AA-3645-88FC-14C699423110.dita"><apiname>SourceNumberOfChannelsL()</apiname></xref> function. </p> </li>
+</ul> <p> <b>Note</b>: It is only possible to report the number of
+supported channels for the source audio and cannot be changed. </p> <p id="GUID-5B8C4F5B-104E-58F8-A705-A3FD1E2B82FA"><b> Convert audio clip</b> </p> <p>Several methods are provided in <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref> to enable the conversion of audio data. The specific functions to
+convert and perform related tasks are as follows: </p> <ul>
+<li id="GUID-ED4D516E-EDD0-59D4-86C9-06E61189D2A5"><p>To start converting
+audio data from the current position within the audio source and writing
+the converted data to a play window within the destination file, use
+the <xref href="GUID-F25BDC34-C955-312A-838E-09CA2EBAB418.dita"><apiname>ConvertL()</apiname></xref> function. </p> </li>
+<li id="GUID-41EF4109-6406-5777-A696-72421DF6E4C4"><p>To stop audio
+conversion, use the <xref href="GUID-7CBDCF0D-1D11-34D1-BF5C-1E5B50DA75B5.dita"><apiname>Stop()</apiname></xref> function. The positions
+within the audio source and destination are maintained to handle subsequent <xref href="GUID-F25BDC34-C955-312A-838E-09CA2EBAB418.dita"><apiname>ConvertL()</apiname></xref> statements. </p> </li>
+<li id="GUID-F1C55C8A-F965-5857-A488-4C029CFC6D07"><p>To stop audio
+conversion and close all related controllers, use the <xref href="GUID-01D2AF56-21E1-3FF3-BF86-0C356A1658EF.dita"><apiname>Close()</apiname></xref> function. </p> </li>
+</ul> <p id="GUID-785AFDB4-527A-5AEA-88F3-91F8E348E049"><b>Change conversion
+position and crop audio data</b> </p> <p>It is possible to crop the
+audio clip from the current position to the end of the clip or from
+the begging to the current position as illustrated below: </p> <ul>
+<li id="GUID-31CF2D85-4ACD-5B37-A4F9-67F435BE302C"><p>To crop the
+current clip from the current position, use the <xref href="GUID-55FA7E3D-0137-3B74-8911-0D21D3038B85.dita"><apiname>CropL()</apiname></xref> function. The remainder of the clip is discarded. The effects of
+the function cannot be undone. The function is synchronous and can
+leave if there is a problem. The leave code depends on the configuration
+settings. </p> </li>
+<li id="GUID-70B87D7E-D4C2-5A26-B1D2-44315A404D4A"><p>To crop the
+audio clip from the start of the file to the current position, use
+the <xref href="GUID-EFB452A7-07A7-3AA8-988A-BD3EB2E1EF0A.dita"><apiname>CropFromBeginningL()</apiname></xref> function. The audio data
+prior to the current position is discarded. The effects of the function
+cannot be undone. The function is synchronous and can leave if there
+is a problem. The leave code depends on the configuration settings. </p> </li>
+</ul> <p>To retrieve the current position of the audio clip or move
+the position to the desired location use the following functions: </p> <ul>
+<li id="GUID-4764FACE-A6E6-58DE-81A2-B6DF19647673"><p>To get the current
+position in the audio clip, use the <xref href="GUID-663106A9-3FA5-3471-A9C6-9D2FFD94FB7B.dita"><apiname>Position()</apiname></xref> function.
+The position is defined in terms of a time interval measured from
+the beginning of the audio sample data. </p> </li>
+<li id="GUID-431A1E59-15CC-5463-83D5-64FE363369FA"><p>To set the current
+position in the audio clip, use the <xref href="GUID-2C54E7FC-7C61-35FA-B129-1B15FFAC8F69.dita"><apiname>SetPosition()</apiname></xref> function. A subsequent call to the <xref href="GUID-F25BDC34-C955-312A-838E-09CA2EBAB418.dita"><apiname>ConvertL()</apiname></xref> function starts conversion from this new position. </p> </li>
+</ul> <p id="GUID-E79175EB-EBAE-52FB-A594-04F2275A9A5F"><b> Custom commands</b> </p> <ul>
+<li id="GUID-403EADC5-2D41-54F5-A97B-3484B754109B"><p>To send a raw
+custom command synchronously to the controller or to allow data to
+be returned from the controller, use the <xref href="GUID-8B88A239-C622-3952-9737-A7BEEA99AC9B.dita"><apiname>CustomCommandSync() </apiname></xref> function. </p> </li>
+<li id="GUID-8958B82D-B1C5-5D27-B931-D957735955E4"><p>To send a raw
+custom command asynchronously to the controller or to allows data
+to be returned from the controller, use the <xref href="GUID-601DC50C-CD58-3604-98B2-35A7B5E6EBD8.dita"><apiname>CustomCommandAsync() </apiname></xref> function. </p> </li>
+</ul> </section>
+<section id="GUID-1AEF4A81-2898-46F5-AC26-E5DDA3E64061"><title>See Also</title> <p> <xref href="GUID-9EE78D5A-32BC-5E0F-9139-AF00CDB95CC1.dita">How to use the audio
+tone player utility</xref>  </p> </section>
+</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F492978A-1732-4BCD-8D3C-D2F657BAB504_d0e18587_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F492978A-1732-4BCD-8D3C-D2F657BAB504_d0e20579_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F4C3DDE1-F7D3-5256-BABD-34759DCA57BF.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-F4C3DDE1-F7D3-5256-BABD-34759DCA57BF"><title> tidy</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>tidy</codeph>  <codeph>[-k] [-v] </codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>This command removes releasables defined by <filepath>.mmp</filepath> files which are listed with the <codeph>tidy</codeph> attribute in your component’s description file.</p> <p>The command can be run following a build to remove any releasables which are no longer required now that the build has completed.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F4E04E00-D9C6-5E8F-9EC6-F90BC951D4D0_d0e291444_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F4E04E00-D9C6-5E8F-9EC6-F90BC951D4D0_d0e297436_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F"><title>Launching Zsh</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic describes how to launch Zsh using a Telnet session on a PC. You can use the following methods: </p> <ul><li id="GUID-3598635A-D7CD-5603-B7AD-79D417AE47EA"><p> <xref href="GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F.dita#GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F/GUID-8B921FD5-CC14-5B1C-91EA-DD0D1A2539DE"> Emulator as a Telnet server</xref>  </p> </li> <li id="GUID-E81D52C9-003A-5BE5-8DB3-35449F39E5AD"><p> <xref href="GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F.dita#GUID-F4E64499-57CB-5E4A-AAD7-439191BF5E0F/GUID-F95A0266-A1EF-50E6-A5DC-3C64102C0F08"> Device (phone) as a Telnet server</xref>  </p> </li> </ul> <section id="GUID-8B921FD5-CC14-5B1C-91EA-DD0D1A2539DE"><title>Emulator as a Telnet server</title> <p>To launch Zsh (using a Telnet session) on a PC using an emulator as a Telnet server, perform the following steps: </p> <ol id="GUID-503E2376-7EAF-56C1-9160-F4F372186802"><li id="GUID-1F803171-9692-50D7-90ED-79626BDD8C17"><p>Start the emulator by selecting <b>Extras</b> &gt; <b>Eshell</b>. </p> </li> <li id="GUID-3A38C35A-04B9-52DA-8F76-36C59F6E4FB6"><p>Run the following command: </p> <p><userinput>TelnetD</userinput> </p> <p> <b>Note:</b> Before running the <codeph>Telnetd</codeph> command, ensure that <filepath>Zsh.exe</filepath> and the external command executables such as <filepath>find.exe</filepath>, <filepath>grep.exe</filepath>, <filepath>ps.exe</filepath>, <filepath>unzip.exe</filepath> and <filepath>zip.exe</filepath> are present in a <filepath>sys/bin</filepath> folder. You can copy these files from the <filepath>/epoc32/release/winscw/&lt;udeb/urel</filepath> &gt; directory. </p> </li> <li id="GUID-623F3295-998D-5BDB-A62A-5B61A26E0D2C"><p>The IP address of the Telnet server running on the emulator is displayed, as shown in the following image: </p> <fig id="GUID-189039DA-9401-5252-80FE-8D938E463EE8"><title>
               IP configuration 
-            </title> <image href="GUID-2D7BD92E-E242-524B-8D83-874C32EC0503_d0e175688_href.png" placement="inline"/></fig> </li> <li id="GUID-EC72EDFB-8ACD-5036-9050-9633CA625957"><p>In a scenario where multiple IP addresses are listed, use the <codeph>ping</codeph> command from the PC console to identify the IP address that is accessible from the PC, as shown in the following image. </p> <fig id="GUID-C010C9CD-ED32-5C2B-B448-DE1E45FBD258"><title>
+            </title> <image href="GUID-2D7BD92E-E242-524B-8D83-874C32EC0503_d0e181757_href.png" placement="inline"/></fig> </li> <li id="GUID-EC72EDFB-8ACD-5036-9050-9633CA625957"><p>In a scenario where multiple IP addresses are listed, use the <codeph>ping</codeph> command from the PC console to identify the IP address that is accessible from the PC, as shown in the following image. </p> <fig id="GUID-C010C9CD-ED32-5C2B-B448-DE1E45FBD258"><title>
               Using the ping command 
-            </title> <image href="GUID-517D9795-88BC-5959-9384-36F132AE634C_d0e175702_href.png" placement="inline"/></fig> </li> <li id="GUID-A0D77A28-4D2A-5031-B58E-6D7E3022413E"><p>Open command prompt on a Windows PC. </p> </li> <li id="GUID-AB9BD817-CEF1-5701-9E54-16127D2FF5E7"><p>Run the following command by typing the IP address (associated with the emulator) that is accessible from the PC: </p> <p><userinput>telnet &lt;ip-address of the emulator&gt;</userinput> </p> <p>The emulator and the Telnet client console prompts for an alphanumeric key to authenticate the session. </p> </li> <li id="GUID-FF995AA7-531E-5CE9-8D3F-A923847B7131"><p>Type the same alphanumeric key (which is upto eight characters) both on the emulator console window and also on the Telnet client console. </p> <p>Zsh is successfully launched on the PC. </p> </li> </ol> </section> <section id="GUID-F95A0266-A1EF-50E6-A5DC-3C64102C0F08"><title>Device (phone) as a Telnet server</title> <p>After establishing a connection between a device and the PC using one of the methods described in the <xref href="GUID-DC6AF355-3079-531F-98F7-A70AC13A2863.dita">Device Setup</xref> section, you can launch Zsh. To launch Zsh (using a Telnet session) on a PC using a device as a Telnet server, perform the following steps: </p> <p> <b>Note:</b> Before starting a Telnet session, ensure that TelnetD and Zsh are installed on the device. </p> <ol id="GUID-97736606-0B15-5ABB-8CCD-56E7CF225EA4"><li id="GUID-16CB0BAD-9AE1-5390-AD0D-D2A0922E8045"><p>Start TelnetD on the device by clicking the <b>Zsh</b> icon. The IP address of the Telnet server running on the device is displayed. </p> </li> <li id="GUID-B8DCD78C-2919-5B99-AF46-E0AE21C5D995"><p>In a scenario where multiple IP addresses are listed, use the <codeph>ping</codeph> command from the PC console to identify the IP address of the device that is accessible from the PC. </p> </li> <li id="GUID-0294250D-AA30-5E12-87C7-2B71AA0575C3"><p>Open command prompt on a Windows PC. </p> </li> <li id="GUID-CE2B9EF0-2BCD-56A6-ABB5-CD2F327AFAC3"><p>Run the following command, by typing the IP address (associated with the device) that is accessible from the PC: </p> <p><userinput>Telnet &lt;ip-address of the device&gt;</userinput> </p> <p>The device and the Telnet client console prompts for an alphanumeric key to authenticate the session. </p> </li> <li id="GUID-CCE9AD14-2BB9-5A6D-A4F4-B401891B2F00"><p>Type the same alphanumeric key (which is upto eight characters) both on the device console window and also on the Telnet client console. </p> <p>Zsh is successfully launched on the PC. The following image shows the result of this command on a Linux PC: </p> <fig id="GUID-291093D9-691C-5C97-BB84-09B4CCE9490D"><image href="GUID-727E6071-591B-539E-997C-BC0CC5B62A11_d0e175792_href.png" placement="inline"/></fig> </li> </ol> </section> </conbody><related-links><link href="GUID-DA204619-9F02-5854-80BE-0AC6BB80D730.dita"><linktext>Emulator Setup</linktext> </link> <link href="GUID-DC6AF355-3079-531F-98F7-A70AC13A2863.dita"><linktext>Device Setup</linktext> </link> <link href="GUID-94F21522-D598-5F85-BE04-D606AE8D5A25.dita#GUID-94F21522-D598-5F85-BE04-D606AE8D5A25/GUID-B6A34708-CA62-5B2C-918B-595B78D80EDA"><linktext>Using TelnetD and Zsh</linktext> </link> </related-links></concept>
\ No newline at end of file
+            </title> <image href="GUID-517D9795-88BC-5959-9384-36F132AE634C_d0e181771_href.png" placement="inline"/></fig> </li> <li id="GUID-A0D77A28-4D2A-5031-B58E-6D7E3022413E"><p>Open command prompt on a Windows PC. </p> </li> <li id="GUID-AB9BD817-CEF1-5701-9E54-16127D2FF5E7"><p>Run the following command by typing the IP address (associated with the emulator) that is accessible from the PC: </p> <p><userinput>telnet &lt;ip-address of the emulator&gt;</userinput> </p> <p>The emulator and the Telnet client console prompts for an alphanumeric key to authenticate the session. </p> </li> <li id="GUID-FF995AA7-531E-5CE9-8D3F-A923847B7131"><p>Type the same alphanumeric key (which is upto eight characters) both on the emulator console window and also on the Telnet client console. </p> <p>Zsh is successfully launched on the PC. </p> </li> </ol> </section> <section id="GUID-F95A0266-A1EF-50E6-A5DC-3C64102C0F08"><title>Device (phone) as a Telnet server</title> <p>After establishing a connection between a device and the PC using one of the methods described in the <xref href="GUID-DC6AF355-3079-531F-98F7-A70AC13A2863.dita">Device Setup</xref> section, you can launch Zsh. To launch Zsh (using a Telnet session) on a PC using a device as a Telnet server, perform the following steps: </p> <p> <b>Note:</b> Before starting a Telnet session, ensure that TelnetD and Zsh are installed on the device. </p> <ol id="GUID-97736606-0B15-5ABB-8CCD-56E7CF225EA4"><li id="GUID-16CB0BAD-9AE1-5390-AD0D-D2A0922E8045"><p>Start TelnetD on the device by clicking the <b>Zsh</b> icon. The IP address of the Telnet server running on the device is displayed. </p> </li> <li id="GUID-B8DCD78C-2919-5B99-AF46-E0AE21C5D995"><p>In a scenario where multiple IP addresses are listed, use the <codeph>ping</codeph> command from the PC console to identify the IP address of the device that is accessible from the PC. </p> </li> <li id="GUID-0294250D-AA30-5E12-87C7-2B71AA0575C3"><p>Open command prompt on a Windows PC. </p> </li> <li id="GUID-CE2B9EF0-2BCD-56A6-ABB5-CD2F327AFAC3"><p>Run the following command, by typing the IP address (associated with the device) that is accessible from the PC: </p> <p><userinput>Telnet &lt;ip-address of the device&gt;</userinput> </p> <p>The device and the Telnet client console prompts for an alphanumeric key to authenticate the session. </p> </li> <li id="GUID-CCE9AD14-2BB9-5A6D-A4F4-B401891B2F00"><p>Type the same alphanumeric key (which is upto eight characters) both on the device console window and also on the Telnet client console. </p> <p>Zsh is successfully launched on the PC. The following image shows the result of this command on a Linux PC: </p> <fig id="GUID-291093D9-691C-5C97-BB84-09B4CCE9490D"><image href="GUID-727E6071-591B-539E-997C-BC0CC5B62A11_d0e181861_href.png" placement="inline"/></fig> </li> </ol> </section> </conbody><related-links><link href="GUID-DA204619-9F02-5854-80BE-0AC6BB80D730.dita"><linktext>Emulator Setup</linktext> </link> <link href="GUID-DC6AF355-3079-531F-98F7-A70AC13A2863.dita"><linktext>Device Setup</linktext> </link> <link href="GUID-94F21522-D598-5F85-BE04-D606AE8D5A25.dita#GUID-94F21522-D598-5F85-BE04-D606AE8D5A25/GUID-B6A34708-CA62-5B2C-918B-595B78D80EDA"><linktext>Using TelnetD and Zsh</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F4F3A37A-AB0C-47B8-A538-C05F1CA73BF3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F4F3A37A-AB0C-47B8-A538-C05F1CA73BF3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 configurations depending on the functionality requirements, languages, and
 so on. Also, indirect strokes and gestures provide flexibility reducing the
 need for physical buttons.</p><fig id="GUID-30369880-1F00-440E-A12C-2C75511FDEE8">
-<image href="GUID-785160B9-A6BC-47FA-957E-5BB87E79B4E7_d0e97828_href.png" placement="inline"/>
+<image href="GUID-785160B9-A6BC-47FA-957E-5BB87E79B4E7_d0e101906_href.png" placement="inline"/>
 </fig></li>
 <li><p><b>Intuitive</b> - Manipulating objects directly by touching them is
 natural and intuitive. Touch interface allows better real-time experience
Binary file Symbian3/PDK/Source/GUID-F50E1C81-E80F-5692-996B-3AC2BE995425_d0e411499_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F50E1C81-E80F-5692-996B-3AC2BE995425_d0e417352_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5107783-6B4F-549B-B46D-E1294C241306_d0e230721_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5107783-6B4F-549B-B46D-E1294C241306_d0e236716_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F5371A59-A637-4623-A2C0-9A8B8E5F3CFB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F5371A59-A637-4623-A2C0-9A8B8E5F3CFB" xml:lang="en"><title>Interaction
-with other hardware components</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>In addition to traditional keys, interaction devices of other types may
-be built in the devices. In most scenarios, they produce input events similar
-to keys, so that the software need not be changed. The hardware commands do
-not have any effect on the application.</p>
-<p>Examples of specific interaction devices are:<ul>
-<li><p>Optical joysticks</p></li>
-<li><p>Optical 9-way finger navigation</p></li>
-<li><p>Acceleration sensors</p></li>
-</ul></p>
-<section id="GUID-C70CF894-EACC-470A-98C7-846B7FBC4F04"><title>Optical joystick</title><p>An optical joystick can be used
-instead of (or in addition to) the traditional navigation keys. </p><p>When
-used in combination with traditional scroll keys, optical joystick performs
-same functions as that of mechanical scroll keys. However, the speed of the
-movement can differ. </p><p>When used individually as the only scrolling device,
-optical joystick emulates the functions of mechanical scroll keys. Sliding
-a finger down over the joystick provides the same function as that of pressing
-the down key. Repeat functionality can be produced with longer strokes. </p></section>
-<section id="GUID-DF3C81F4-2FAD-4373-8568-0CFC6C7F9618">       <title>Optical
-9-way navigation</title><p>The Symbian platform supports additional optical
-navigation that is integrated to centre Select key. The supported directions
-in 9-way rocker key are domed main directions and diagonals by combining the
-main directions. Optical navigation allows continues moment of the finger
-as observed in touch pad. It is suitable for pointer moving in browser and
-content panning, for example, in photos, browser, and maps.</p></section>
-<section id="GUID-10494E4E-B037-4874-BEFB-20AB95B61CBA"><title>Acceleration
-sensor</title><p>There are three types of interaction events that can be recognized
-with acceleration sensors:<ol>
-<li id="GUID-704B967F-7E70-4446-B443-DDCA665D80BE"><p>Tapping the device by
-hand (double tap) to perform a given function in set events. Tapping interaction
-is not recommended for touch devices to prevent the unintentional touch actions.</p></li>
-<li id="GUID-43884A1A-DE03-4074-8D35-4C5254159F14"><p>Changing the device’s
-orientation from portrait to landscape and back to perform screen re-orientation.</p></li>
-<li id="GUID-C07401D7-3AD2-4D74-B61D-E08A95F4E504"><p>Changing the device
-orientation from screen up (for example on a table) to screen down and back
-to silence an alert tone (for example, silencing an incoming call).</p></li>
-</ol></p>The system is capable of sensing any of listed events. The supported
-sensor interactions are configurable per device, but must be consistent in
-not assigning different functions to these standard events. Also, the user
-can be provided with the option to set the desired interactions. For example,
-it is possible to set methods 1 and 3 (double tap by hand and turning the
-screen downwards) for the 'silence incoming call' event. The settings are
-available in <b>General Settings</b>. A double tap on the device produces
-tactile (vibrating) feedback to reinforce and acknowledge that the interaction
-is successful. See <xref href="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita">Tactile
-feedback</xref> for more details.</section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F58C17D1-3834-5DEB-8B8B-52CD81AA9BF4_d0e244344_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F58C17D1-3834-5DEB-8B8B-52CD81AA9BF4_d0e250355_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F59B0B89-94C3-4E0B-BF87-2AE5B3811F59.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F59B0B89-94C3-4E0B-BF87-2AE5B3811F59.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,6 +24,6 @@
 </ul></p>
 <fig id="GUID-3F790280-4BD5-4112-B045-44661D588A98">
 <title>Smiley picker in portrait and landscape modes</title>
-<image href="GUID-3BA7EB01-D967-44B2-B817-91722C59F2DE_d0e94094_href.png" placement="inline"/>
+<image href="GUID-3BA7EB01-D967-44B2-B817-91722C59F2DE_d0e98292_href.png" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F5A82F61-B93A-5652-93A4-B9CE877B4D4A_d0e546929_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5A82F61-B93A-5652-93A4-B9CE877B4D4A_d0e554385_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5B58B20-B85C-5BCD-B1EB-69CCE42DE6BB_d0e218447_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5B58B20-B85C-5BCD-B1EB-69CCE42DE6BB_d0e224467_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5BFE35F-ED90-50C5-8F63-7A780A97689B_d0e275314_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F5BFE35F-ED90-50C5-8F63-7A780A97689B_d0e281314_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F5D49215-B34A-5FCC-A7E1-0AF3275694B3" xml:lang="en"><title>GCCXML
-build target</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The GCCXML build target generates an XML description of the project and
-the program. This XML is intended to be parsed by other development and program
-analysis tools. The XML is generated using the GCC-XML (<xref href="http://www.gccxml.org" scope="external">http://www.gccxml.org</xref>) tool, which is distributed
-on kits in the <filepath>epoc32\tools\</filepath> directory. </p>
-<p>To execute a GCCXML build, use the <filepath>abld</filepath> command as
-follows: </p>
-<p><userinput>abld build gccxml [udeb/urel]</userinput> </p>
-<p>GCCXML is available as a target for all projects that can be built for
-an ARM target (this is assumed by the build tools unless the <filepath>bld.inf</filepath> file
-specifies otherwise with a <codeph>prj_platforms</codeph> statement.) </p>
-<p>The build of a Symbian platform component for the GCCXML platform results
-in three actions: </p>
-<ol id="GUID-631DFF50-B9DB-5FAD-A1F5-DBD74995772E">
-<li id="GUID-E51ED016-411E-5754-8B7B-13C6459B4206"><p>The GCC-XML tool is
-called on each source file used in the build of a component's binary. An XML
-file is output as a result. </p> <p>The GCC-XML output format is not yet extensively
-documented: see <xref href="http://www.gccxml.org/HTML/FAQ.html" scope="external">http://www.gccxml.org/HTML/FAQ.html</xref> for
-the latest information. </p> </li>
-<li id="GUID-7C664D07-2D30-5A96-A4CF-B3404C622206"><p>The tool chain also
-generates an XML file describing some elements of the component's .mmp file. </p> <p>The
-XML format is described below. </p> </li>
-<li id="GUID-9259CF29-1B9D-5607-BDCC-104AD99F34C3"><p>The tool chain packages
-the output from steps 1 and 2 into a zip file named <filepath>&lt;project-name&gt;.gxp</filepath>.
-The file is stored in <filepath>epoc32\release\gccxml\[udeb|urel]\</filepath>. </p> </li>
-</ol>
-<section><title>Format of &lt;project&gt;.mmp.xml </title><p>A GCCXML build creates
-an XML representation of the project's mmp file named <filepath>&lt;project&gt;.mmp.xml</filepath>.
-Not all the mmp file statements are represented in the XML. </p><p>The following
-XML elements and attributes are used: </p><table id="GUID-93991E16-AE60-550C-80BA-316285A463C7">
-<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
-<tbody>
-<row>
-<entry><p> <b>Element</b>  </p> </entry>
-<entry><p> <b>Attribute</b>  </p> </entry>
-<entry><p> <b>Description</b>  </p> </entry>
-</row>
-<row>
-<entry><p>mmpInfo </p> </entry>
-<entry><p> </p> </entry>
-<entry><p>Top-level wrapper element </p> </entry>
-</row>
-<row>
-<entry><p>mmp </p> </entry>
-<entry><p>path </p> </entry>
-<entry><p>Full path of the .mmp file </p> </entry>
-</row>
-<row>
-<entry><p>target </p> </entry>
-<entry><p>name </p> </entry>
-<entry><p>TARGET statement value </p> </entry>
-</row>
-<row>
-<entry><p> </p> </entry>
-<entry><p>type </p> </entry>
-<entry><p>TARGETTYPE statement value </p> </entry>
-</row>
-<row>
-<entry/>
-<entry><p>path </p> </entry>
-<entry><p>TARGETPATH statement value </p> </entry>
-</row>
-<row>
-<entry><p>abi </p> </entry>
-<entry><p>type </p> </entry>
-<entry><p>Deduced ABI e.g. ARM4 </p> </entry>
-</row>
-<row>
-<entry><p>linkas </p> </entry>
-<entry><p>name </p> </entry>
-<entry><p>LINKAS statement value </p> </entry>
-</row>
-<row>
-<entry><p>uids </p> </entry>
-<entry><p>u0 </p> </entry>
-<entry><p>1st UID of the executable </p> </entry>
-</row>
-<row>
-<entry><p> </p> </entry>
-<entry><p>u1 </p> </entry>
-<entry><p>2nd UID of the executable (from the UID statement) </p> </entry>
-</row>
-<row>
-<entry><p> </p> </entry>
-<entry><p>u2 </p> </entry>
-<entry><p>3rd UID of the executable (from the UID statement) </p> </entry>
-</row>
-<row>
-<entry><p>defFile </p> </entry>
-<entry><p>path </p> </entry>
-<entry><p>Full path of the .def file </p> </entry>
-</row>
-<row>
-<entry><p>libs </p> </entry>
-<entry><p> </p> </entry>
-<entry><p>Wrapper for lib elements that describe the libraries the project
-links to </p> </entry>
-</row>
-<row>
-<entry><p>lib </p> </entry>
-<entry><p>name </p> </entry>
-<entry><p>Name of the library </p> </entry>
-</row>
-<row>
-<entry><p> </p> </entry>
-<entry><p>type </p> </entry>
-<entry><p>For standard libraries specified by the <codeph>LIBRARY</codeph> keyword
-this is not used. </p> <p>For a stub library inserted by the build processor,
-this is "First". </p> <p>For libraries specified by the <codeph>ASSPLIBRARY</codeph> statement,
-this is "ASSP". </p> <p> <b>Note</b>: "ASSP" is applicable only for Symbian
-platform versions prior to v9.1. Since v9.1, it is not a valid library type. </p> <p>For
-libraries specified by the <codeph>STATICLIBRARY</codeph> statement, this
-is "Static". </p> </entry>
-</row>
-<row>
-<entry><p>sourceFile </p> </entry>
-<entry><p>name </p> </entry>
-<entry><p>Source file name </p> </entry>
-</row>
-<row>
-<entry/>
-<entry><p>path </p> </entry>
-<entry><p>Path to the source file </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table><p>The population of some of attributes is dependent on the type and
-format of the component being built. </p></section>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F618EE02-927E-584B-8F80-79DE766AA62F_d0e536773_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F618EE02-927E-584B-8F80-79DE766AA62F_d0e544233_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -29,7 +29,7 @@
 to applications. </p> <p>The following diagram illustrates the class hierarchy
 used to implement the core client-side interface. </p> <fig id="GUID-32A0E5DA-1DD9-5E09-8CAC-C7EB3E30DBFB">
 <title>              Core Telephony Blocks            </title>
-<image href="GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e41839_href.png" placement="inline"/>
+<image href="GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e46073_href.png" placement="inline"/>
 </fig> <p>The following sections define the root server session, and each
 of the fundamental core telephony classes. </p> <ul>
 <li id="GUID-420F984A-0104-567C-AEE8-6ACCC5D6A982"><p> <xref href="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita#GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3/GUID-4D7E5B0D-6E85-5DC3-91E1-21983D945126">Root server</xref>  </p> </li>
--- a/Symbian3/PDK/Source/GUID-F6460808-A806-5701-983E-CCD92EF3F688.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F6460808-A806-5701-983E-CCD92EF3F688.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,160 +1,160 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F6460808-A806-5701-983E-CCD92EF3F688" xml:lang="en"><title>Networking
-Services Quick Start</title><shortdesc>Networking Services provides a standard framework for accessing
-network services and implementations of network protocols. The components
-of the Networking Services are closely related to the framework provided by
-the Communications Framework module. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-6186F589-7530-40A1-B466-335C512A25FA"><title>Getting started with Networking Services</title> <p>Networking
-Services is used in the following circumstances: </p> <ul>
-<li id="GUID-452B9F6E-82BF-5E2C-AF53-004208132D31"><p>If you are writing an
-application or application level protocol that needs access to the Internet,
-use the Internet Sockets interface and the Communications Framework Sockets
-Server client. </p> </li>
-<li id="GUID-943C19EF-20B3-5982-AF20-B90007DD2721"><p>If you are a licensee
-and need to extend or modify the behaviour of the TCP/IP implementation, write
-a plug-in using the IPHook interface. </p> </li>
-<li id="GUID-69D9BDC0-BF27-526A-80E3-31DED2BCF956"><p>If you want to debug
-existing application software and configure network settings. </p> </li>
-</ul> </section>
-<section id="GUID-7642BF52-E4B7-4DE3-9038-8F3CD0CA64E0"><title>Architecture</title> <p>Networking Services enable mobile
-devices to connect to the internet and network applications using protocols
-such as TCP/IP and IPSec. The main areas of Networking Services are: </p> <ul>
-<li id="GUID-506F919B-9E09-511B-823B-82210CAF5FD2"><p> <b>Link Layer Protocols</b>  </p> <p>The
-Link Layer Protocols collection groups the networking protocols for the Data
-Link Layer, including Ethernet and PPP. For more information, see <xref href="GUID-54757889-3FA3-5258-931F-27FF7DA447CB.dita">Link
-Layer Protocols</xref>. </p> </li>
-<li id="GUID-200F8660-6101-5C4D-9BB5-5C129A01E592"><p> <b>Network Security</b>  </p> <p>The
-Network Security collection is the set of components that provide security
-protocols for an IP connection. For more information, see <xref href="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772.dita">Network
-Security</xref>. </p> </li>
-<li id="GUID-F91DFA42-4A5F-5541-97CB-7B02FD0728DF"><p> <b>Network Test and
-Utilities</b>  </p> <p>The Network Test and Utilities collection provides
-components that are used to measure network performance. For more information,
-see <xref href="GUID-55C8AEBD-7BB2-524C-9AED-5DFFD42AAD25.dita">Network Performance
-Testing</xref>. </p> </li>
-<li id="GUID-858A0576-6E7A-52CC-8895-83B247657941"><p> <b>Network Protocols</b>  </p> <p>The
-Network Protocols collection is a set of plug-ins to the Sockets Server. The
-plug-ins implement network protocols, such as TCP/IP, that can be accessed
-through a sockets type interface. For more information, see <xref href="GUID-82438A0F-819C-5CDC-81DC-A8BFE3AA4A6A.dita">Network
-Protocols</xref>. </p> </li>
-<li id="GUID-E516FF95-8EC7-502E-914A-6987D8D04513"><p> <b>Network Control</b>  </p> <p>The
-Network Control collection controls the resource availablity for applications
-in mobile devices. It prioritises the applications on the device to ensure
-performance consistancy and application access to the network. For more information,
-see <xref href="GUID-B5E17404-4D2D-5EE3-B30B-DFDC5E0739FF.dita">Network Control</xref>. </p> </li>
-<li id="GUID-98B26BD5-B245-533D-B3C5-AF56B7220F35"><p> <b>PPP Compression
-Plugins</b>  </p> <p>This collection contains the Point-to-Point Protocol
-(PPP) Compression Plugins used by the Point-to-Point Protocol component. For
-more information, see <xref href="GUID-2EEA830C-1E2B-56D1-9104-F4A61FE0BA52.dita">PPP
-Compression Plugins</xref>. </p> </li>
-<li id="GUID-3B38421C-39C8-5832-AF53-4E513C542C58"><p> <b>TCP/IP Utilities</b>  </p> <p>The
-TCP/IP Utilities collection provides libraries used by TCP/IPv4/v6 for the
-DNS and DHCP protocols. For more information, see <xref href="GUID-7821C498-70A2-5D3C-989A-58CEBAE9162B.dita">TCP/IP
-Utilities</xref>. </p> </li>
-</ul> <p>The Symbian platform Networking Services structure can be compared
-to the standard OSI Model for the layering of network protocols. The OSI Model
-defines seven layers. Each layer defines a stage that data must go through
-to travel from one device to another over a network. A layer corresponds to
-a group of components that perform similar tasks in the Operating System. </p> <p>The
-uppermost OSI Model layer is the Application Layer, which provides application
-services to the end user software applications. The lowest OSI Model layer
-is the Physical Layer, which deals with network connections and other physical
-network attributes. </p> <p>The following section lists the OSI Model layers
-and gives a brief description of each: </p> <ul>
-<li id="GUID-0F603DB6-AF9B-5FD1-AAB9-329E7AC49353"><p> <b>Application Layer</b>  </p> <p>The
-Application Layer interacts with the operating system or application when
-the user wants to transfer files, read messages or perform other network related
-activities. </p> </li>
-<li id="GUID-48364975-5F2A-505D-BAE9-EC579578CA66"><p> <b>Presentation Layer</b>  </p> <p>The
-Presentation Layer takes data from the Application Layer and converts it into
-a format that the other layers can interpret. </p> </li>
-<li id="GUID-B30EA44E-7C5F-52C1-B488-D95AC95E96FD"><p> <b>Session Layer</b>  </p> <p>The
-Session Layer establishes, maintains, and ends communication with the receiving
-device. </p> </li>
-<li id="GUID-EC7EF5C1-AACA-5872-AF70-D3008ABAC525"><p> <b>Transport Layer</b>  </p> <p>The
-Transport Layer takes the incoming data from applications and combines it
-into a single stream. This stream is then passed on to the Network Layer. </p> </li>
-<li id="GUID-99931DB9-25C1-558E-90B7-3BC3E8A62373"><p> <b>Network Layer</b>  </p> <p>The
-Network Layer determines the way the data is sent to the recipient device.
-Logical protocols, routing, and addressing are all dealt with in this layer. </p> </li>
-<li id="GUID-88D80283-7D8A-5FA9-B6E3-18D6E9F47302"><p> <b>Data Layer</b>  </p> <p>The
-Data Layer assigns physical protocol to the data. </p> </li>
-<li id="GUID-4853FB9D-489A-5DDE-8281-26DC8365F580"><p> <b>Physical Layer</b>  </p> <p>The
-Physical Layer defines the physical characteristics such as connections, voltage
-levels and timing. </p> </li>
-</ul> </section>
-<section id="GUID-E2ED0182-276A-4EC7-8460-003F3493699A"><title>Technologies</title> <p>The following table maps the various
-communications technologies implemented in Symbian platform to the layers
-defined by the OSI Model. Networking Services implements technologies that
-mostly map to the Transport and Network Layers. Other Symbian platform
-modules implement higher level application layer protocols and device drivers
-that implement the bottom layers of the stack. </p> <table id="GUID-437DB8ED-936A-5DA0-A1B0-463A0DF0A80D">
-<tgroup cols="1"><colspec colname="col0"/>
-<tbody>
-<row valign="middle">
-<entry align="center">Application Layer</entry>
-</row>
-<row valign="top">
-<entry align="center"><xref href="GUID-69B46D92-8D07-5B42-B603-3F725977AA4A.dita">DHCP</xref>     
-¦      <xref href="GUID-F532D96F-7CB0-5CC7-9382-0CF44F7C0234.dita">DNS</xref>      ¦
-      FTP      ¦     <xref href="GUID-B4A54501-4AA4-5ACB-96D7-4427C7752639.dita">HTTP</xref>     
-¦     <xref href="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita">RTCP</xref>     
-¦      <xref href="GUID-093516F2-9076-5A96-9BEF-F5A77F75239C.dita">SIP</xref>      
-¦     TELNET</entry>
-</row>
-<row valign="top">
-<entry align="center">Presentation Layer</entry>
-</row>
-<row valign="top">
-<entry align="center"><xref href="GUID-3D20F136-4526-502D-A708-1F26550FC61A.dita">TLS/SSL</xref></entry>
-</row>
-<row valign="top">
-<entry align="center">Session Layer</entry>
-</row>
-<row valign="top">
-<entry align="center"><xref href="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita">RTP</xref></entry>
-</row>
-<row valign="top">
-<entry align="center"> Transport Layer</entry>
-</row>
-<row valign="top">
-<entry align="center"><xref href="GUID-A9640739-462C-5D95-8DCC-D273CD8439AE.dita">TCP</xref>        
-¦       <xref href="GUID-A9640739-462C-5D95-8DCC-D273CD8439AE.dita">UDP</xref> </entry>
-</row>
-<row valign="top">
-<entry align="center"> Network Layer</entry>
-</row>
-<row valign="top">
-<entry><xref href="GUID-A9640739-462C-5D95-8DCC-D273CD8439AE.dita">IP (IPv4/IPv6)</xref>    
-¦       <xref href="GUID-7BACF7C1-0762-53E6-A507-1395016811D6.dita">IPsec</xref></entry>
-</row>
-<row valign="top">
-<entry align="center"> Data Link Layer </entry>
-</row>
-<row valign="top">
-<entry align="center"><xref href="GUID-9330621E-1400-5F52-BACB-48DB814E2922.dita">Ethernet</xref>     
-¦      <xref href="GUID-8F565241-149E-5AF7-972E-A06B6DDC1B9F.dita">GPRS</xref> </entry>
-</row>
-<row valign="top">
-<entry align="center"> Physical Layer </entry>
-</row>
-<row>
-<entry align="center"><xref href="GUID-36AF783B-A56A-5C16-A055-9075ED4396C5.dita">RS232</xref>    
-¦    Ethernet Physical Layer     ¦
-     <xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial
-Communications</xref>       ¦               <xref href="GUID-DE2E64A5-417A-538C-904B-6D498BB55273.dita">USB</xref>  </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F6460808-A806-5701-983E-CCD92EF3F688" xml:lang="en"><title>Networking
+Services Quick Start</title><shortdesc>Networking Services provides a standard framework for accessing
+network services and implementations of network protocols. The components
+of the Networking Services are closely related to the framework provided by
+the Communications Framework module. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-6186F589-7530-40A1-B466-335C512A25FA"><title>Getting started with Networking Services</title> <p>Networking
+Services is used in the following circumstances: </p> <ul>
+<li id="GUID-452B9F6E-82BF-5E2C-AF53-004208132D31"><p>If you are writing an
+application or application level protocol that needs access to the Internet,
+use the Internet Sockets interface and the Communications Framework Sockets
+Server client. </p> </li>
+<li id="GUID-943C19EF-20B3-5982-AF20-B90007DD2721"><p>If you are a licensee
+and need to extend or modify the behaviour of the TCP/IP implementation, write
+a plug-in using the IPHook interface. </p> </li>
+<li id="GUID-69D9BDC0-BF27-526A-80E3-31DED2BCF956"><p>If you want to debug
+existing application software and configure network settings. </p> </li>
+</ul> </section>
+<section id="GUID-7642BF52-E4B7-4DE3-9038-8F3CD0CA64E0"><title>Architecture</title> <p>Networking Services enable mobile
+devices to connect to the internet and network applications using protocols
+such as TCP/IP and IPSec. The main areas of Networking Services are: </p> <ul>
+<li id="GUID-506F919B-9E09-511B-823B-82210CAF5FD2"><p> <b>Link Layer Protocols</b>  </p> <p>The
+Link Layer Protocols collection groups the networking protocols for the Data
+Link Layer, including Ethernet and PPP. For more information, see <xref href="GUID-54757889-3FA3-5258-931F-27FF7DA447CB.dita">Link
+Layer Protocols</xref>. </p> </li>
+<li id="GUID-200F8660-6101-5C4D-9BB5-5C129A01E592"><p> <b>Network Security</b>  </p> <p>The
+Network Security collection is the set of components that provide security
+protocols for an IP connection. For more information, see <xref href="GUID-198A417F-EA4D-58A0-A928-A78FCE1BB772-GENID-1-12-1-24-1-1-8-1-4-1.dita">Network
+Security</xref>. </p> </li>
+<li id="GUID-F91DFA42-4A5F-5541-97CB-7B02FD0728DF"><p> <b>Network Test and
+Utilities</b>  </p> <p>The Network Test and Utilities collection provides
+components that are used to measure network performance. For more information,
+see <xref href="GUID-55C8AEBD-7BB2-524C-9AED-5DFFD42AAD25.dita">Network Performance
+Testing</xref>. </p> </li>
+<li id="GUID-858A0576-6E7A-52CC-8895-83B247657941"><p> <b>Network Protocols</b>  </p> <p>The
+Network Protocols collection is a set of plug-ins to the Sockets Server. The
+plug-ins implement network protocols, such as TCP/IP, that can be accessed
+through a sockets type interface. For more information, see <xref href="GUID-82438A0F-819C-5CDC-81DC-A8BFE3AA4A6A.dita">Network
+Protocols</xref>. </p> </li>
+<li id="GUID-E516FF95-8EC7-502E-914A-6987D8D04513"><p> <b>Network Control</b>  </p> <p>The
+Network Control collection controls the resource availablity for applications
+in mobile devices. It prioritises the applications on the device to ensure
+performance consistancy and application access to the network. For more information,
+see <xref href="GUID-B5E17404-4D2D-5EE3-B30B-DFDC5E0739FF.dita">Network Control</xref>. </p> </li>
+<li id="GUID-98B26BD5-B245-533D-B3C5-AF56B7220F35"><p> <b>PPP Compression
+Plugins</b>  </p> <p>This collection contains the Point-to-Point Protocol
+(PPP) Compression Plugins used by the Point-to-Point Protocol component. For
+more information, see <xref href="GUID-2EEA830C-1E2B-56D1-9104-F4A61FE0BA52.dita">PPP
+Compression Plugins</xref>. </p> </li>
+<li id="GUID-3B38421C-39C8-5832-AF53-4E513C542C58"><p> <b>TCP/IP Utilities</b>  </p> <p>The
+TCP/IP Utilities collection provides libraries used by TCP/IPv4/v6 for the
+DNS and DHCP protocols. For more information, see <xref href="GUID-7821C498-70A2-5D3C-989A-58CEBAE9162B.dita">TCP/IP
+Utilities</xref>. </p> </li>
+</ul> <p>The Symbian platform Networking Services structure can be compared
+to the standard OSI Model for the layering of network protocols. The OSI Model
+defines seven layers. Each layer defines a stage that data must go through
+to travel from one device to another over a network. A layer corresponds to
+a group of components that perform similar tasks in the Operating System. </p> <p>The
+uppermost OSI Model layer is the Application Layer, which provides application
+services to the end user software applications. The lowest OSI Model layer
+is the Physical Layer, which deals with network connections and other physical
+network attributes. </p> <p>The following section lists the OSI Model layers
+and gives a brief description of each: </p> <ul>
+<li id="GUID-0F603DB6-AF9B-5FD1-AAB9-329E7AC49353"><p> <b>Application Layer</b>  </p> <p>The
+Application Layer interacts with the operating system or application when
+the user wants to transfer files, read messages or perform other network related
+activities. </p> </li>
+<li id="GUID-48364975-5F2A-505D-BAE9-EC579578CA66"><p> <b>Presentation Layer</b>  </p> <p>The
+Presentation Layer takes data from the Application Layer and converts it into
+a format that the other layers can interpret. </p> </li>
+<li id="GUID-B30EA44E-7C5F-52C1-B488-D95AC95E96FD"><p> <b>Session Layer</b>  </p> <p>The
+Session Layer establishes, maintains, and ends communication with the receiving
+device. </p> </li>
+<li id="GUID-EC7EF5C1-AACA-5872-AF70-D3008ABAC525"><p> <b>Transport Layer</b>  </p> <p>The
+Transport Layer takes the incoming data from applications and combines it
+into a single stream. This stream is then passed on to the Network Layer. </p> </li>
+<li id="GUID-99931DB9-25C1-558E-90B7-3BC3E8A62373"><p> <b>Network Layer</b>  </p> <p>The
+Network Layer determines the way the data is sent to the recipient device.
+Logical protocols, routing, and addressing are all dealt with in this layer. </p> </li>
+<li id="GUID-88D80283-7D8A-5FA9-B6E3-18D6E9F47302"><p> <b>Data Layer</b>  </p> <p>The
+Data Layer assigns physical protocol to the data. </p> </li>
+<li id="GUID-4853FB9D-489A-5DDE-8281-26DC8365F580"><p> <b>Physical Layer</b>  </p> <p>The
+Physical Layer defines the physical characteristics such as connections, voltage
+levels and timing. </p> </li>
+</ul> </section>
+<section id="GUID-E2ED0182-276A-4EC7-8460-003F3493699A"><title>Technologies</title> <p>The following table maps the various
+communications technologies implemented in Symbian platform to the layers
+defined by the OSI Model. Networking Services implements technologies that
+mostly map to the Transport and Network Layers. Other Symbian platform
+modules implement higher level application layer protocols and device drivers
+that implement the bottom layers of the stack. </p> <table id="GUID-437DB8ED-936A-5DA0-A1B0-463A0DF0A80D">
+<tgroup cols="1"><colspec colname="col0"/>
+<tbody>
+<row valign="middle">
+<entry align="center">Application Layer</entry>
+</row>
+<row valign="top">
+<entry align="center"><xref href="GUID-69B46D92-8D07-5B42-B603-3F725977AA4A.dita">DHCP</xref>     
+¦      <xref href="GUID-F532D96F-7CB0-5CC7-9382-0CF44F7C0234.dita">DNS</xref>      ¦
+      FTP      ¦     <xref href="GUID-B4A54501-4AA4-5ACB-96D7-4427C7752639.dita">HTTP</xref>     
+¦     <xref href="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita">RTCP</xref>     
+¦      <xref href="GUID-093516F2-9076-5A96-9BEF-F5A77F75239C.dita">SIP</xref>      
+¦     TELNET</entry>
+</row>
+<row valign="top">
+<entry align="center">Presentation Layer</entry>
+</row>
+<row valign="top">
+<entry align="center"><xref href="GUID-3D20F136-4526-502D-A708-1F26550FC61A-GENID-1-12-1-24-1-1-8-1-4-1-4-1.dita">TLS/SSL</xref></entry>
+</row>
+<row valign="top">
+<entry align="center">Session Layer</entry>
+</row>
+<row valign="top">
+<entry align="center"><xref href="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita">RTP</xref></entry>
+</row>
+<row valign="top">
+<entry align="center"> Transport Layer</entry>
+</row>
+<row valign="top">
+<entry align="center"><xref href="GUID-A9640739-462C-5D95-8DCC-D273CD8439AE.dita">TCP</xref>        
+¦       <xref href="GUID-A9640739-462C-5D95-8DCC-D273CD8439AE.dita">UDP</xref> </entry>
+</row>
+<row valign="top">
+<entry align="center"> Network Layer</entry>
+</row>
+<row valign="top">
+<entry><xref href="GUID-A9640739-462C-5D95-8DCC-D273CD8439AE.dita">IP (IPv4/IPv6)</xref>    
+¦       <xref href="GUID-7BACF7C1-0762-53E6-A507-1395016811D6.dita">IPsec</xref></entry>
+</row>
+<row valign="top">
+<entry align="center"> Data Link Layer </entry>
+</row>
+<row valign="top">
+<entry align="center"><xref href="GUID-9330621E-1400-5F52-BACB-48DB814E2922.dita">Ethernet</xref>     
+¦      <xref href="GUID-8F565241-149E-5AF7-972E-A06B6DDC1B9F.dita">GPRS</xref> </entry>
+</row>
+<row valign="top">
+<entry align="center"> Physical Layer </entry>
+</row>
+<row>
+<entry align="center"><xref href="GUID-36AF783B-A56A-5C16-A055-9075ED4396C5.dita">RS232</xref>    
+¦    Ethernet Physical Layer     ¦
+     <xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial
+Communications</xref>       ¦               <xref href="GUID-DE2E64A5-417A-538C-904B-6D498BB55273.dita">USB</xref>  </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F64B88E0-49DA-5563-896E-29BAB8A244C9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F64B88E0-49DA-5563-896E-29BAB8A244C9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,65 +1,59 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE reference
-  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
-<reference id="GUID-F64B88E0-49DA-5563-896E-29BAB8A244C9" xml:lang="en"><title>HelloWorld:
-A simple GUI application with a single view</title><shortdesc>This example demonstrates a simple application using a GUI with
-a single view. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
-<section><title>Download</title> <p>Click on the following link to download
-the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a2004cb9-da88-4ec7-a85e-dd648022f4f9.zip" scope="external">HelloWorldGUI.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a2004cb9-da88-4ec7-a85e-dd648022f4f9.html" scope="peer">browse</xref> to view the example code. </p> </section>
-<section><title>Class Summary</title><p><xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref></p><p><xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref></p><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p><p><xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref></p></section>
-<section><title>Design and implementation</title> <p>This application consists
-of 4 classes: </p> <ul>
-<li id="GUID-28A83A4A-D743-556B-88EB-D65AAFD29D19"><p>Application class derived
-from <xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref>. </p> </li>
-<li id="GUID-EF3F2195-1D04-56A4-B439-C2B50F543F74"><p>Document class derived
-from <xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref>. </p> </li>
-<li id="GUID-65ABFCB1-BC5A-5BCA-9F45-D5FF82AB1AE4"><p>AppUi class derived
-from <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref>. </p> </li>
-<li id="GUID-12BE51BC-0F68-5C5E-A279-4AE00E96FC7D"><p>AppView class derived
-from <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref>. </p> </li>
-</ul> <p> <codeph>E32Main()</codeph> marks the entry point to the example.
-It calls <codeph>EikStart::RunApplication()</codeph> to create a new application
-instance. The UI framework then calls <codeph>CExampleApplication::AppDllUid()</codeph> to
-obtain the application's UID. The UID returned must match the second value
-defined in the project definition file. </p> <p>Once the application is created,
-the UI framework calls <codeph>CExampleApplication::CreateDocumentL()</codeph> to
-create an instance of the document class. <codeph>CreateDocumentL()</codeph> internally
-calls the constructor of the document class and passes the supplied reference
-to the constructor initialisation list. The document has no real work to do
-in this simple GUI application. </p> <p>As soon as the document has been created
-the UI framework creates an instance of the application UI (appUI). The appUI
-class is an instance of a <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref> -derived class and
-this class takes care of user interaction. </p> <p>AppUI creation uses two
-phase construction where first <codeph>CExampleDocument::CreateAppUiL()</codeph> is
-called and then the framework calls the second phase constructor of the appUI
-class. <codeph>CExampleAppUi::ConstructL()</codeph> creates and owns the view.
-User commands are handled by the <codeph>CExampleAppUi::HandleCommandL()</codeph> method. </p> <p>The
-app view class is used to draw the view. The view in this example consists
-of a simple outline rectangle with text drawn in the middle. </p> <p>The example
-contains a resource file <filepath>HelloWorld.rss</filepath> which defines
-resource information. This includes a menubar with four menu items, an icon
-and caption. </p> <p> <filepath>HelloWorld.hrh</filepath> defines the menu
-command IDs and <filepath>HelloWorld.pkg</filepath> file is the source file
-used for installation file (SIS file) generation. </p> </section>
-<section><title>Building and configuring</title> <p>Steps to build the example: </p> <ul>
-<li id="GUID-81019373-E4C4-545E-85B9-1C4810203D5D"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe
-how to use the SBSv1 build tools. </p> </li>
-<li id="GUID-83E08D73-33DB-520B-8606-6547796EDE28"><p>For the emulator, the
-example builds an executable called <filepath>helloworld.exe</filepath> in
-the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
-</ul> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE reference
+  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
+<reference id="GUID-F64B88E0-49DA-5563-896E-29BAB8A244C9" xml:lang="en"><title>HelloWorld: A simple GUI application with a single view</title><shortdesc>This example demonstrates a simple application using a
+GUI with a single view. </shortdesc><prolog><metadata><keywords/></metadata></prolog><refbody>
+<section id="GUID-8B4671BB-1A8E-4782-BDF5-19F98EDBD1E3"><title>Download</title> <p>Click on the following link to
+download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a2004cb9-da88-4ec7-a85e-dd648022f4f9.zip" scope="external">HelloWorldGUI.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a2004cb9-da88-4ec7-a85e-dd648022f4f9.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-B52E7C31-DDA5-4570-9D95-A18CFFD0E1F8"><title>Class Summary</title><p><xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref></p><p><xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref></p><p><xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref></p><p><xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref></p></section>
+<section id="GUID-EAF6161A-0C6A-4397-A24F-19365ABFEC34"><title>Design and implementation</title> <p>This application
+consists of 4 classes: </p> <ul>
+<li id="GUID-28A83A4A-D743-556B-88EB-D65AAFD29D19"><p>Application
+class derived from <xref href="GUID-E36E2F07-09E7-32BC-BB83-14DF9232E7D9.dita"><apiname>CEikApplication</apiname></xref>. </p> </li>
+<li id="GUID-EF3F2195-1D04-56A4-B439-C2B50F543F74"><p>Document class
+derived from <xref href="GUID-B33A8A56-D1BE-3E3D-B5AC-F644A5C764DB.dita"><apiname>CEikDocument</apiname></xref>. </p> </li>
+<li id="GUID-65ABFCB1-BC5A-5BCA-9F45-D5FF82AB1AE4"><p>AppUi class
+derived from <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref>. </p> </li>
+<li id="GUID-12BE51BC-0F68-5C5E-A279-4AE00E96FC7D"><p>AppView class
+derived from <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref>. </p> </li>
+</ul> <p> <codeph>E32Main()</codeph> marks the entry point to the
+example. It calls <codeph>EikStart::RunApplication()</codeph> to create
+a new application instance. The UI framework then calls <codeph>CExampleApplication::AppDllUid()</codeph> to obtain the application's UID. The UID returned must match the
+second value defined in the project definition file. </p> <p>Once
+the application is created, the UI framework calls <codeph>CExampleApplication::CreateDocumentL()</codeph> to create an instance of the document class. <codeph>CreateDocumentL()</codeph> internally calls the constructor of the document class and passes
+the supplied reference to the constructor initialisation list. The
+document has no real work to do in this simple GUI application. </p> <p>As soon as the document has been created the UI framework creates
+an instance of the application UI (appUI). The appUI class is an instance
+of a <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref> -derived class and this class takes
+care of user interaction. </p> <p>AppUI creation uses two phase construction
+where first <codeph>CExampleDocument::CreateAppUiL()</codeph> is called
+and then the framework calls the second phase constructor of the appUI
+class. <codeph>CExampleAppUi::ConstructL()</codeph> creates and owns
+the view. User commands are handled by the <codeph>CExampleAppUi::HandleCommandL()</codeph> method. </p> <p>The app view class is used to draw the view. The
+view in this example consists of a simple outline rectangle with text
+drawn in the middle. </p> <p>The example contains a resource file <filepath>HelloWorld.rss</filepath> which defines resource information. This
+includes a menubar with four menu items, an icon and caption. </p> <p> <filepath>HelloWorld.hrh</filepath> defines the menu command
+IDs and <filepath>HelloWorld.pkg</filepath> file is the source file
+used for installation file (SIS file) generation. </p> </section>
+<section id="GUID-8EBC5AE8-45DD-4AD1-BA3B-3F013F351646"><title>Building and configuring</title> <p>Steps to build
+the example: </p> <ul>
+<li id="GUID-81019373-E4C4-545E-85B9-1C4810203D5D"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+<li id="GUID-83E08D73-33DB-520B-8606-6547796EDE28"><p>For the emulator,
+the example builds an executable called <filepath>helloworld.exe</filepath> in the <filepath>epoc32\release\winscw\&lt;udeb or urel&gt;\</filepath> folder. </p> </li>
+</ul> </section>
 </refbody></reference>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 in other packages. </p>
 <fig id="GUID-060B8747-36A8-5F2A-BE82-0F637381673A">
 <title>The Symbian Foundation non-ScreenPlay graphics architecture </title>
-<image href="GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e228146_href.png" placement="inline"/>
+<image href="GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e234145_href.png" placement="inline"/>
 </fig>
 <p>The software model is as follows: </p>
 <ul>
@@ -48,7 +48,7 @@
 <p>The following diagram shows the rendering stack in the non-ScreenPlay variant. </p>
 <fig id="GUID-4A245007-BE0A-5DD6-A3D5-CAD9A16E0540">
 <title>The rendering stack in the non-ScreenPlay variant</title>
-<image href="GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e228191_href.png" placement="inline"/>
+<image href="GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e234190_href.png" placement="inline"/>
 </fig>
 <p>For the equivalent ScreenPlay diagram,
 see <xref href="GUID-0DC3E5AA-1706-5255-ACD6-E7AB732E1095.dita">Graphics Composition
@@ -61,7 +61,7 @@
 in this type of use case. </p>
 <fig id="GUID-0EAF51D1-173E-52E2-8E28-C5FB7F6F9BD0">
 <title> Example non-uniform memory, non-ScreenPlay hardware model </title>
-<image href="GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e228209_href.png" placement="inline"/>
+<image href="GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e234208_href.png" placement="inline"/>
 </fig>
 </conbody><related-links>
 <link href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita"><linktext>The ScreenPlay
--- a/Symbian3/PDK/Source/GUID-F669F877-2DBD-55C3-97DA-78745E78347D.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F669F877-2DBD-55C3-97DA-78745E78347D.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,4 +11,4 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F669F877-2DBD-55C3-97DA-78745E78347D"><title>System State Transition</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The System State Manager component (<filepath>SysStateMgr.exe</filepath>) controls transitioning of the device to different system states and reacts to changes made to the system-wide properties. </p> <p>The following image shows the system states and the transitions that are allowed between these states: </p> <fig id="GUID-0B96811A-042F-5523-B366-36587E20AB6C"><title>
           System State Transitions 
-        </title> <image href="GUID-CBAF83A9-815E-5C48-BD4A-3B31A115E3FE_d0e160768_href.png" placement="inline"/></fig> <p>SSM policies determine the set of permissible states and state transitions and the tasks that are performed while changing the system state. SSM distributes system state change notifications to components in the systems that have requested notifications. These components respond to the change notifications. </p> <p>When there is a change in system state, the system state policies select the tasks to be performed from the available common tasks and task plug-ins. </p> </conbody></concept>
\ No newline at end of file
+        </title> <image href="GUID-CBAF83A9-815E-5C48-BD4A-3B31A115E3FE_d0e166869_href.png" placement="inline"/></fig> <p>SSM policies determine the set of permissible states and state transitions and the tasks that are performed while changing the system state. SSM distributes system state change notifications to components in the systems that have requested notifications. These components respond to the change notifications. </p> <p>When there is a change in system state, the system state policies select the tasks to be performed from the available common tasks and task plug-ins. </p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F6780E5A-26DA-5453-B9BE-11039CFA4FFB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F6780E5A-26DA-5453-B9BE-11039CFA4FFB" xml:lang="en"><title>Resource file compiled format</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes the binary format of compiled resource files. </p> <p>The resource reading API's in can read resources in the legacy Unicode format, as well as the two new formats introduced from v7.0.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F681C857-086F-527A-9946-A91560601658_d0e655935_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-F681C857-086F-527A-9946-A91560601658_d0e668762_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-F68FF4C2-F9DB-5935-9027-9BEC006D031F_d0e538236_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F68FF4C2-F9DB-5935-9027-9BEC006D031F_d0e545696_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F6903E31-DF4A-572F-BF2C-65CE618F016E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F6903E31-DF4A-572F-BF2C-65CE618F016E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 containers, one container for each type; i.e. one for threads, one for processes,
 one for mutexes etc. as shown below.</p>
 <fig id="GUID-BF99B66C-8D6E-5EF2-9087-E6A8C8E3B066">
-<image href="GUID-C5C42C02-1C22-5537-B966-0F5F78E4D7BE_d0e332284_href.png" placement="inline"/>
+<image href="GUID-C5C42C02-1C22-5537-B966-0F5F78E4D7BE_d0e338256_href.png" placement="inline"/>
 </fig>
 <p>See also:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F6B5F777-D12F-5913-AECE-047DF8C72F1F"><title>How to Get Location Information</title><shortdesc>This document demonstrates how a client application uses the Location Acquisition API to get a position. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This tutorial explains how to get location information using the Location Acquisition API. </p> </section> <section><title>Required background</title> <p><xref href="GUID-65E9C040-AAB6-5C1E-9724-8828DADFC741.dita">Location Acquisition API Overview</xref> describes the main client/server classes of the API. </p> <p><xref href="GUID-ABC01315-D65D-55EA-9D42-4DE6384D517D.dita">Position Data and Info Classes</xref> describes the classes that hold location information. </p> </section> <section><title>Getting location information</title> <p>This section describes how to get location information using the Location Acquisition API. </p> <p><b>Introduction</b> </p> <p>Client applications use the <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita"><apiname>RPositionServer</apiname></xref> and <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita"><apiname>RPositioner</apiname></xref> classes to get position updates. <codeph>RPositionServer</codeph> is used by client applications to manage a session with the Location Server and to get Positioning Module information. <codeph>RPositioner</codeph> is used by client applications to manage a subsession with the Location Server and to get position updates. </p> <p><b>GPS positioning modes</b> </p> <p>The Global Positioning System (GPS) is a technology that is often included in devices that support LBS. </p> <p>For each location request from a client, the LBS subsystem can operate in one of several different GPS positioning modes. The Location Acquisition API hides the details of which GPS positioning mode is in use from client applications. A client makes the same sequence of calls to the API to get a position update whichever positioning mode is used. Note that only some of these positioning modes may be available to a client application at runtime. </p> <p>Each GPS positioning mode is a different way of getting a position fix: </p> <ul><li id="GUID-2BDDAACC-EB8D-5191-A42E-0BFA0B26C7DC"><p>Autonomous </p> <p>LBS uses a GPS Positioning Module to calculate position fixes without assistance data from the network. This mode typically takes the longest time to obtain a location fix compared to the other modes. </p> </li> <li id="GUID-B2E24A6F-F46A-529E-A8F5-FC52F7CD8F0D"><p>Terminal Based Mode </p> <p>LBS uses an A-GPS Positioning Module to calculate position fixes using assistance data from the network. Assistance data specifies the GPS satellites that are above the horizon as seen from the mobile device's current location. Assistance data is used by an A-GPS Positioning Module to reduce the time necessary to obtain a position fix. </p> <p>The network can also supply a <i>reference position</i> to the LBS subsystem as part of the sequence of events. This position is calculated in the network using cell-based techniques and may be less accurate than that obtained from GPS. If a reference position is available, it may be returned to the client before a GPS position. </p> <p>See <xref href="GUID-4E56E531-5757-5740-9C7D-705D427FA9D5.dita">Location Acquisition API Runtime Behaviour</xref> for more information about the position updates that can be returned by LBS. </p> </li> <li id="GUID-018CA9E1-F191-5CC9-8DCD-8FE08CAABD28"><p>Terminal Assisted Mode </p> <p>LBS uses an A-GPS Positioning Module to obtain GPS measurements (using assistance data from the network). GPS measurements are the raw data used to calculate a GPS fix. Measurements are sent to the network and a position fix is calculated by a remote server. The remotely calculated position fix is returned to the mobile device and is known as the <i>final network position</i>. The LBS subsystem returns this position to the client. </p> </li> <li id="GUID-9B1678F5-A53B-5245-9EE4-5809461E2EBB"><p>Simultaneous Terminal Based Mode and Terminal Assisted Mode. </p> <p>LBS passes GPS measurements to the network (as in Terminal Assisted Mode), but also attempts to use those measurements to calculate a GPS position fix (as in Terminal Based Mode). The position returned to the client may be either a GPS position (calculated in the mobile device) or a final network position (calculated using the measurements by a remote server in the network). The position that is calculated first (the GPS position or the final network position) is generally returned to the client. The final network position may also be returned to the client after the return of the GPS position. </p> </li> </ul> <p>Some devices also support a Cell-based Mode in which LBS obtains a position fix from the network without using GPS. This position fix is sometimes less accurate than that obtained using GPS. </p> <p>A client application cannot directly choose the GPS positioning mode that is used for its location request. A handset manufacturer may provide an LBS settings application where the GPS mode can be selected by an end user. However for modes that involve the network (Terminal Based Mode, Terminal Assisted Mode and Cell-based Mode) it is possible for a network operator to override the GPS mode as part of the location request. If a client wants to know precisely how a position fix was calculated, this information is available in the returned position info object (as described in more detail later in this document). </p> <p><b>Example sequence</b> </p> <p>Figure 1 shows a simplified sequence for a client requesting a position update from LBS. The sequence shows simplified behaviour for Terminal Based Mode. The <i>A-GPS Module</i> is a Positioning Module that uses Assisted GPS to calculate a position. The <i>Network Protocol Module</i> is a Positioning Module that obtains GPS assistance data and reference positions (often approximate positions) from the network. Note that Terminal Based Mode may not be available on all mobile devices. This depends on the Positioning Modules that have been installed by the mobile device creator. </p> <fig id="GUID-FD5FEC83-B76D-5D45-AF40-DF5C2F17D404"><title>
                 Figure 1. Simplified Terminal Based Mode Sequence 
-             </title> <image href="GUID-D9C4D520-821D-5097-A63C-0BF4C7F59827_d0e436152_href.png" placement="inline"/></fig> <p><b>Example code and description</b> </p> <p>The following code shows a simple example of how a client application can get a single position update. The numbers in the code comments refer to sections that follow the code example. </p> <codeblock id="GUID-7B350944-5178-586B-B381-87DC5104DD1F" xml:space="preserve">#include &lt;lbs.h&gt;
+             </title> <image href="GUID-D9C4D520-821D-5097-A63C-0BF4C7F59827_d0e441997_href.png" placement="inline"/></fig> <p><b>Example code and description</b> </p> <p>The following code shows a simple example of how a client application can get a single position update. The numbers in the code comments refer to sections that follow the code example. </p> <codeblock id="GUID-7B350944-5178-586B-B381-87DC5104DD1F" xml:space="preserve">#include &lt;lbs.h&gt;
 #include &lt;lbserrors.h&gt;
 
 ...
@@ -201,4 +201,4 @@
                   TPositionModuleInfo::ETechnologyAssisted</codeph>, but it is possible for LBS to return <codeph>TPositionModuleInfo::ETechnologyTerminal |
                   TPositionModuleInfo::ETechnologyAssisted</codeph> if it is configured to do so. See <xref href="GUID-4E56E531-5757-5740-9C7D-705D427FA9D5.dita">Location Acquisition API runtime behaviour</xref> for more information. </p> </li> </ul> <p>Note that <codeph>NotifyPositionUpdate()</codeph> may complete early if a GPS positioning module signals to LBS that it will be unable to return a location fix with the required quality criteria. In this case the Location Server returns the best location fix it can obtain to the client. The value of the <codeph>TRequestStatus</codeph> parameter of the client is set to either <codeph>KPositionQualityLoss</codeph> or <codeph>KErrNone</codeph> depending on the configuration of <xref href="GUID-4E56E531-5757-5740-9C7D-705D427FA9D5.dita">Location Acquisition API runtime behaviour</xref>. </p> <p><b>Tracking </b> </p> <p>A position update time line for tracking is shown in figure 2. Note that the exact behaviour of tracking on systems may differ from that shown in Figure 2. </p> <p>A client application has previously called <codeph>TPositionUpdateOptions::SetUpdateInterval(T)</codeph> and <codeph>RPositioner::SetUpdateOptions()</codeph> (not shown in figure 2). Partial updates are not set. LBS is also configured to return reference positions and accurate positions only (see <xref href="GUID-4E56E531-5757-5740-9C7D-705D427FA9D5.dita">Location Acquisition API runtime behaviour</xref> for more information about this behaviour). The important points are: </p> <ul><li id="GUID-644F7437-0207-5B16-B38C-C695DC5BB83B"><p>A client application makes its first call to <codeph>RPositioner::NotifyPositionUpdate()</codeph> (First NPUD in figure 2). </p> </li> <li id="GUID-E9F2BBA1-8F8A-516C-BB01-640535090820"><p>After a time t, the client's <codeph>RunL()</codeph> method is called and it receives its first position update (the reference position update Ref Pos in figure 2). This first position update is delivered to the client by LBS as soon as possible (t is as short as possible and is not equal to T). The client then makes its next call to <codeph>NotifyPositionUpdate()</codeph> (the next NPUD in figure 2). When tracking, a client application should make its next call to <codeph>RPositioner::NotifyPositionUpdate()</codeph> as soon as possible in its <codeph>RunL()</codeph> method. The time between the client's <codeph>RunL()</codeph> and the client's next NPUD is exaggerated for clarity in Figure 2. </p> </li> <li id="GUID-8D670561-5F51-5836-AA24-3B0CC0417BB7"><p>At a time t + T (where T is the update interval) the client's <codeph>RunL()</codeph> method is called and it receives the next position update (GPS Pos in figure 2). The client makes its next call to <codeph>NotifyPositionUpdate()</codeph>. </p> </li> <li id="GUID-E93AE6CA-DF93-56AD-B68B-A60A1B96F128"><p>The next position update is expected at time t + 2T, but in the case shown in figure 2 this is not possible (the mobile device may have moved into an area where the GPS signal is weak). In general if it is not possible to obtain an accurate GPS fix by time t + nT, but the fix is obtained a short time later, the next position update is delivered as soon as possible after time t + nT (after t + 2T in figure 2). </p> </li> <li id="GUID-9E52BD1C-7BD4-55F8-BF75-98669883C0CF"><p>The client makes its next call to <codeph>NotifyPositionUpdate()</codeph> and at time t + (n+1)T the next position update is delivered (at t + 3T in figure 2). </p> <p> <i>The important point to note is that LBS attempts to deliver position updates at regular times t + nT but the time interval between position updates may temporarily be greater than or less than T.</i>  </p> </li> <li id="GUID-A7F59CB4-BFC7-5F88-8AF2-C8D6C24122D9"><p>Note that if partial updates were enabled, an incomplete position would be delivered at time t + 2T if it were available. Also note that an inaccurate position would be delivered if one was available at that time and LBS was configured to return it. </p> <p> </p> </li> </ul> <fig id="GUID-916FB3EF-08C6-5A0C-8D72-881FEEC7C161"><title>
                 Figure 2. Position updates when tracking 
-             </title> <image href="GUID-C6DDF01D-DF54-5C65-9FAC-D3693D30819F_d0e437117_href.png" placement="inline"/></fig> <p><b>Error codes </b> </p> <p>The value of a client's <codeph>TRequestStatus</codeph> can be set to an LBS error code (defined in <filepath>lbserrors.h</filepath>) <i>or an error code defined in a licensee's Positioning Module</i>. An error causes <codeph>NotifyPositionUpdate()</codeph> to complete. An application should always check the value of <codeph>TRequestStatus</codeph> when its <codeph>RunL()</codeph> method is called. </p> <p><b>7. Cancel or complete a location information request </b> </p> <p>To cancel a location request a client application calls <xref href="GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC.dita#GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC/GUID-168130E7-459D-3108-9418-94773D802EAE"><apiname>RPositionerSubSessionBase::CancelRequest()</apiname></xref>, passing a <xref href="GUID-355E1EEF-A312-3BB8-9655-9DD6805A3CDD.dita"><apiname>EPositionerNotifyPositionUpdate</apiname></xref> parameter. The client's <codeph>TRequestStatus</codeph> is set to <codeph>KErrCancel</codeph> if the request was successfully cancelled and no position update is returned. </p> <p>To complete a location request early, a client application calls <xref href="GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC.dita#GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC/GUID-88F0FA62-BC72-3BC5-B42E-FA0A26F3E405"><apiname>RPositionerSubSessionBase::CompleteRequest()</apiname></xref> passing a <xref href="GUID-355E1EEF-A312-3BB8-9655-9DD6805A3CDD.dita"><apiname>EPositionerNotifyPositionUpdate</apiname></xref> parameter. Calling this method does not cancel the position update, but asks the Location Server to return any available position data. The returned position update may be different from that which would have been returned if the request had been allowed to complete normally. If the request is completed early, the client's <codeph>TRequestStatus</codeph> is set to <codeph>KPositionEarlyComplete</codeph>. </p> <p><b>8. Close the subsession and session </b> </p> <p> <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-DE09BADB-6D90-3995-A893-F949F9C37A2B"><apiname>RPositioner::Close()</apiname></xref> closes the subsession. <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-3D081F5B-F8D6-3168-951F-EDBC2364EB76"><apiname>RPositionServer::Close()</apiname></xref> closes the server session. In the code example the cleanup stack function is used. Any privacy requester objects created by a client must also be cleaned up. </p> </section> </conbody></concept>
\ No newline at end of file
+             </title> <image href="GUID-C6DDF01D-DF54-5C65-9FAC-D3693D30819F_d0e442962_href.png" placement="inline"/></fig> <p><b>Error codes </b> </p> <p>The value of a client's <codeph>TRequestStatus</codeph> can be set to an LBS error code (defined in <filepath>lbserrors.h</filepath>) <i>or an error code defined in a licensee's Positioning Module</i>. An error causes <codeph>NotifyPositionUpdate()</codeph> to complete. An application should always check the value of <codeph>TRequestStatus</codeph> when its <codeph>RunL()</codeph> method is called. </p> <p><b>7. Cancel or complete a location information request </b> </p> <p>To cancel a location request a client application calls <xref href="GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC.dita#GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC/GUID-168130E7-459D-3108-9418-94773D802EAE"><apiname>RPositionerSubSessionBase::CancelRequest()</apiname></xref>, passing a <xref href="GUID-355E1EEF-A312-3BB8-9655-9DD6805A3CDD.dita"><apiname>EPositionerNotifyPositionUpdate</apiname></xref> parameter. The client's <codeph>TRequestStatus</codeph> is set to <codeph>KErrCancel</codeph> if the request was successfully cancelled and no position update is returned. </p> <p>To complete a location request early, a client application calls <xref href="GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC.dita#GUID-BC95F637-51F6-3D99-9265-C6DFD903C5BC/GUID-88F0FA62-BC72-3BC5-B42E-FA0A26F3E405"><apiname>RPositionerSubSessionBase::CompleteRequest()</apiname></xref> passing a <xref href="GUID-355E1EEF-A312-3BB8-9655-9DD6805A3CDD.dita"><apiname>EPositionerNotifyPositionUpdate</apiname></xref> parameter. Calling this method does not cancel the position update, but asks the Location Server to return any available position data. The returned position update may be different from that which would have been returned if the request had been allowed to complete normally. If the request is completed early, the client's <codeph>TRequestStatus</codeph> is set to <codeph>KPositionEarlyComplete</codeph>. </p> <p><b>8. Close the subsession and session </b> </p> <p> <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-DE09BADB-6D90-3995-A893-F949F9C37A2B"><apiname>RPositioner::Close()</apiname></xref> closes the subsession. <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-3D081F5B-F8D6-3168-951F-EDBC2364EB76"><apiname>RPositionServer::Close()</apiname></xref> closes the server session. In the code example the cleanup stack function is used. Any privacy requester objects created by a client must also be cleaned up. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F6B9860A-E7F2-5B03-878D-9BCA0AF029C2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F6B9860A-E7F2-5B03-878D-9BCA0AF029C2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -81,7 +81,7 @@
 and components associated with each collection: </p> <fig id="GUID-3DCD7AF8-7355-5752-A569-EA4F9078C739">
 <title>              Collections and components of Generic OS Services   
         </title>
-<image href="GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e185940_href.png" placement="inline"/>
+<image href="GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e192017_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-842B935E-D653-4EFD-9BB7-2E819BBE17DF"><title>Technologies</title> <p>Generic OS services enables, implements
 or uses the following technologies: </p> <ul>
--- a/Symbian3/PDK/Source/GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,15 +1,16 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB" xml:lang="en"><title>PIM
-Examples</title><shortdesc>Example code for Application Engines and Services. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F6BC696F-0279-5902-B945-AEF7257D3EEB" xml:lang="en"><title>PIM
+Examples</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Example code for Application Engines and Services. </p>
+
 </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F6C68A6B-2D66-56A6-A706-7145C5E7F52A_d0e450838_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F6C68A6B-2D66-56A6-A706-7145C5E7F52A_d0e456683_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7181D22-8607-56CE-B8CC-77AE0E378503_d0e527048_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7181D22-8607-56CE-B8CC-77AE0E378503_d0e534508_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F740BA72-B00E-5D98-BD0F-5937F60460BC_d0e210795_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-F740BA72-B00E-5D98-BD0F-5937F60460BC_d0e216796_href.jpg has changed
--- a/Symbian3/PDK/Source/GUID-F765C7EB-A8C6-50C0-B350-85BE04C8984F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F765C7EB-A8C6-50C0-B350-85BE04C8984F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -18,7 +18,7 @@
 <p>Anchor points are always referred to as <i>headers</i>.</p>
 <p>A doubly linked list is useful for maintaining a circular queue of items.</p>
 <fig id="GUID-1D25A6C6-B294-554E-9EDD-20F8BA05FB07">
-<image href="GUID-B0391618-0681-5E4E-94BE-C0E24B862AEF_d0e315291_href.png" placement="inline"/>
+<image href="GUID-B0391618-0681-5E4E-94BE-C0E24B862AEF_d0e321281_href.png" placement="inline"/>
 </fig>
 <p>Doubly linked lists involve the creation and use of the classes:</p>
 <ul>
--- a/Symbian3/PDK/Source/GUID-F77CC49A-904D-486B-8D16-972525EC34D5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F77CC49A-904D-486B-8D16-972525EC34D5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -23,7 +23,7 @@
 <p>The Clear key is used for deleting characters and for that purpose only.</p>
 <fig id="GUID-9955336F-88DB-4790-AB6F-0FA08F18F027">
 <title>Data query. </title>
-<image href="GUID-36221068-4E6D-4E03-AF9A-AD9465F1C6B6_d0e91751_href.png" placement="inline"/>
+<image href="GUID-36221068-4E6D-4E03-AF9A-AD9465F1C6B6_d0e95949_href.png" placement="inline"/>
 </fig>
 <section id="GUID-A9C2671A-5375-4BF6-A9A1-D62734A0597C"><title>Using
 data queries in applications</title><p>For implementation information,
Binary file Symbian3/PDK/Source/GUID-F78F12AE-64CA-50BD-A715-8F254FBDB793_d0e214506_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F78F12AE-64CA-50BD-A715-8F254FBDB793_d0e220526_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F79A3DD7-DB91-545F-8165-F1F2DD6D0AD2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F79A3DD7-DB91-545F-8165-F1F2DD6D0AD2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -12,4 +12,4 @@
 <concept xml:lang="en" id="GUID-F79A3DD7-DB91-545F-8165-F1F2DD6D0AD2"><title>Creating an Implicitly Bound Socket</title><shortdesc>This topic describes how create an implicitly bound socket. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><ul><li id="GUID-B46FE3BB-A098-5234-86F4-DF6332B6497E"><p>An application opens a socket using the default interface connection and binds to a port and IP address of the connection. The application receives inbound traffic only from the interface the socket is bound to. </p> <p>For example, an application opens an implicit UDP socket and listens on port 8000. The UDP socket binds to interface IP address <codeph>10.253.4.134</codeph>. The UDP socket must receive data packets from this interface only. </p> </li> <li id="GUID-D83D0586-F746-5099-8778-248C3B8AD9EC"><p>If an application opens a socket and does not bind to a port or IP address of the default interface connection, then the application receives inbound traffic from multiple interfaces. </p> <p>For example, if an application opens an implicit UDP socket and does not bind the port 8000 to the IP address of the default interface connection, then the application receives inbound traffic from all the interfaces. </p> </li> </ul> <example><title>Implicit binding example</title> <p>Client B creates a socket with implicit binding without specifying the interface connection. </p> <codeblock id="GUID-A2F39285-5934-5FDC-8E94-1EDBD7A7446E" xml:space="preserve">
 server = RSocketServ.Connect();
 socket1 = RSocket.Open(server);
-</codeblock> <p>ESock creates the socket within the default connection and subconnection. </p> <fig id="GUID-31F625B2-DB7F-51F8-AB6D-F06925DF1A64"><image href="GUID-77F02412-00E1-59F9-A875-3147529F83F5_d0e141273_href.png" placement="inline"/></fig> </example> </conbody><related-links><link href="GUID-D1BCE2D9-04B5-5C39-A50B-C5BBDAAFEFED.dita"><linktext>Socket Binding</linktext> </link> </related-links></concept>
\ No newline at end of file
+</codeblock> <p>ESock creates the socket within the default connection and subconnection. </p> <fig id="GUID-31F625B2-DB7F-51F8-AB6D-F06925DF1A64"><image href="GUID-77F02412-00E1-59F9-A875-3147529F83F5_d0e143522_href.png" placement="inline"/></fig> </example> </conbody><related-links><link href="GUID-D1BCE2D9-04B5-5C39-A50B-C5BBDAAFEFED.dita"><linktext>Socket Binding</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F79E4F18-19E2-577E-8409-8B82BD48AC66.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F79E4F18-19E2-577E-8409-8B82BD48AC66.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -52,7 +52,7 @@
 <section><title>Architecture</title> <p>The following diagram illustrates
 the XML framework, consisting of client and a parser: </p> <fig id="GUID-9EE24AE6-17F1-59A2-9AF8-9A1068393053">
 <title>              Block diagram of XML framework            </title>
-<image href="GUID-CA1CE18E-DB40-5608-BE09-3767FB094AB2_d0e684979_href.png" placement="inline"/>
+<image href="GUID-CA1CE18E-DB40-5608-BE09-3767FB094AB2_d0e697806_href.png" placement="inline"/>
 </fig> <p>The XML framework consists of classes which model the main constituents
 of the architecture - the framework as a whole, the parser plug-ins and extensions
 to XML, the content processor chain and the content handler mechanism. </p> <p>The
--- a/Symbian3/PDK/Source/GUID-F79EE68F-FFC3-541E-AE3A-D7203034DA43.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F79EE68F-FFC3-541E-AE3A-D7203034DA43" xml:lang="en"><title>mmp
-project specification</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This page describes the MMP for a typical GUI application.</p>
-<p><b>TARGETTYPE</b> </p>
-<p>From v9.0, a GUI application is an exe. This is specified with the <xref href="GUID-9535CF67-7541-554E-BE5C-9FDDFDB58EA5.dita">targettype</xref> statement:</p>
-<codeblock id="GUID-CC425464-79E3-5388-B133-F031FD283943" xml:space="preserve">TARGETTYPE exe</codeblock>
-<p>The target filename's extension can be either .app or .exe. This is specified
-using a <xref href="GUID-5D4DA7CA-DAB8-51E6-B597-4E8B0AB56477.dita">target</xref> statement:</p>
-<codeblock id="GUID-B8AD94B2-1E08-5E6F-A6B3-0665A5285DF3" xml:space="preserve">TARGET &lt;appname&gt;.exe</codeblock>
-<p><b>UID</b> </p>
-<p>Specify the UID for the application in a <xref href="GUID-BFCFD93E-D591-50D2-8263-D13D08DD9F15.dita">uid</xref> statement:</p>
-<codeblock id="GUID-F6B71A27-0986-5E95-8125-39A7175F0D6C" xml:space="preserve">UID 0x100039CE &lt;UID3&gt;</codeblock>
-<p>The UID2 value <codeph>0x100039CE</codeph> should be used for all applications.
-The UID3 value is the unique identifier for the particular application.</p>
-<p><b>Stack size</b> </p>
-<p>By default, processes have a stack size of 8K. This can be insufficient
-for some applications. To increase the size, use an <xref href="GUID-A8ECAA53-9094-5C0A-8893-2757559C15F0.dita">epocstacksize</xref> statement:</p>
-<codeblock id="GUID-FCE56679-AB1D-5545-9ECF-7B4DD4637A8A" xml:space="preserve">// set stack to 20K
-epocstacksize 0x5000</codeblock>
-<p><b>UI resource</b> </p>
-<p>Specify the application's UI resource file using a <xref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita">start
-resource</xref> statement:</p>
-<codeblock id="GUID-5BC525DC-AF07-59C4-A59A-2ACF6CB82441" xml:space="preserve">START RESOURCE    &lt;appname&gt;.RSS
-HEADER
-TARGETPATH        \Resource\Apps
-END</codeblock>
-<p>The resource should be built into the <filepath>\Resource\Apps</filepath> directory.
-This is specified using the <codeph>TARGETPATH</codeph> part of the statement. </p>
-<p>The <codeph>header</codeph> line tells the resource compiler to produce
-a file <filepath>\epoc32\include\&lt;appname&gt;.rsg</filepath>, which defines
-macro constants through which C++ programs can refer to resource structures.</p>
-<p><b>Caption/icon resource</b> </p>
-<p>An application can specify localisable captions and icons to display on
-the shell using a <xref href="GUID-2431355F-E4D8-3226-9E9D-BAD6F23C418E.dita"><apiname>LOCALISABLE_APP_INFO</apiname></xref> resource, either
-in the UI resource file or in a separate resource file.</p>
-<p><b>Registration file</b> </p>
-<p>Specify the application's registration file using another <xref href="GUID-5280EC0E-1A1F-5777-ACB1-CF4791EE2147.dita">start
-resource</xref> statement:</p>
-<codeblock id="GUID-BADCE07B-0FD7-5B08-8A12-F88A7F681BEF" xml:space="preserve">START RESOURCE    &lt;appname&gt;_reg.rss
-TARGETPATH        \private\10003a3f\apps
-END</codeblock>
-<p>The registration file must be built to the private system directory <filepath>\private\10003a3f\apps</filepath> directory.</p>
-<p>Note that for security reasons a registration file cannot be installed
-directly to this location on a target device. When creating a PKG file (software
-install package file) for an application, the registration file must be installed
-to the <filepath>\private\10003a3f\import\apps\</filepath> directory.</p>
-<p>For more information, see <xref href="GUID-3AFA877F-41DE-5343-8BC2-C0FB894A062C.dita">Application
-registration information</xref>.</p>
-<p><b>Icons</b> </p>
-<p>A bitmap file containing icons for an application can be specified using
-a <xref href="GUID-B707887A-E0FA-5DF6-A906-A91E31E17321.dita">start bitmap</xref> statement:</p>
-<codeblock id="GUID-0B636524-66F0-5B00-A922-6FABFF5DD2C8" xml:space="preserve">START BITMAP    &lt;appname&gt;.mbm
-TARGETPATH        \Resource\Apps
-SOURCE            &lt;color-depth&gt; &lt;source-bitmap-list&gt;
-END</codeblock>
-<p>Icon files, like the UI resource file, should be built into the <filepath>\Resource\Apps</filepath> directory.</p>
-<example><p>An example of a real GUI application project file
-is given below:</p><codeblock id="GUID-CB2FA2A3-E8B1-5334-9DEA-B5811B2C1A2E" xml:space="preserve">TARGET        HelloWorld.exe
-TARGETTYPE    exe
-UID           0x100039CE 0x10004299
-VENDORID 0x70000001
-epocstacksize 0x5000
-
-SOURCEPATH    .
-SOURCE        HelloWorld_Main.cpp
-SOURCE        HelloWorld_Application.cpp
-SOURCE        HelloWorld_Document.cpp
-SOURCE        HelloWorld_AppUi.cpp
-SOURCE        HelloWorld_AppView.cpp
-USERINCLUDE   .
-SYSTEMINCLUDE \epoc32\include
-
-START RESOURCE    HelloWorld.RSS
-HEADER
-TARGETPATH        \Resource\Apps
-end
-
-START RESOURCE    HelloWorld_reg.rss
-TARGETPATH        \private\10003a3f\apps
-END
-
-START BITMAP    HelloWorld.mbm
-TARGETPATH        \Resource\Apps
-SOURCE            c8,1 icon24.bmp icon2m.bmp icon32.bmp icon3m.bmp icon48.bmp icon4m.bmp
-END
-
-LIBRARY       euser.lib apparc.lib cone.lib eikcore.lib</codeblock></example>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F7A17E65-CB2D-41D3-9404-1A7D7F55FABC_d0e103103_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7A17E65-CB2D-41D3-9404-1A7D7F55FABC_d0e99023_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7AE615A-DA24-5F88-A505-89962CA43E93_d0e531178_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7AE615A-DA24-5F88-A505-89962CA43E93_d0e538638_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7BFE6E3-0EEE-536C-8411-65D8F5FEBF2E_d0e109434_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7BFE6E3-0EEE-536C-8411-65D8F5FEBF2E_d0e111857_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7C762AA-3961-4739-ADD1-346DBF7CD7F8-master.png has changed
Binary file Symbian3/PDK/Source/GUID-F7C762AA-3961-4739-ADD1-346DBF7CD7F8_d0e105362_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7C9730D-7A41-4EE3-881C-393BB52B99C8_d0e63710_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F7C9730D-7A41-4EE3-881C-393BB52B99C8_d0e67932_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F7CC81CE-E823-5196-944A-5F7524411A08.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F7CC81CE-E823-5196-944A-5F7524411A08.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -9,35 +9,33 @@
 -->
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F7CC81CE-E823-5196-944A-5F7524411A08" xml:lang="en"><title>Registration
-and Discovery</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Server applications need to advertise what services they provide and clients
-of server application services need to know what implementations of the services
-exist. This happens through Apparc's application registration file system. </p>
-<p>Application registration files have a table in which applications can list
-the service UIDs that they implement. For each service UID listed, there is
-an associated opaque (i.e. not interpreted by the framework) data field which
-indicates how the service is implemented by that application. The opaque data
-field is accessed through an <codeph>LLINK</codeph> into a resource elsewhere
-in the application registration file group. The meaning of this opaque data
-field is not known to the framework, it will vary according to the service.
-For some services the opaque data field may be a name intended for user display,
-for others it may be structured data that the service's client-side code can
-interpret. </p>
+<concept id="GUID-F7CC81CE-E823-5196-944A-5F7524411A08" xml:lang="en"><title>Registration and Discovery</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>Server applications need to advertise what services they provide
+and clients of server application services need to know what implementations
+of the services exist. This happens through Apparc's application registration
+file system. </p>
+<p>Application registration files have a table in which applications
+can list the service UIDs that they implement. For each service UID
+listed, there is an associated opaque (i.e. not interpreted by the
+framework) data field which indicates how the service is implemented
+by that application. The opaque data field is accessed through an <codeph>LLINK</codeph> into a resource elsewhere in the application registration
+file group. The meaning of this opaque data field is not known to
+the framework, it will vary according to the service. For some services
+the opaque data field may be a name intended for user display, for
+others it may be structured data that the service's client-side code
+can interpret. </p>
 <fig id="GUID-84072240-5DC6-5900-B767-FD13666A6639">
-<image href="GUID-7F7A449F-CC19-570C-A6C1-BC470256AA8C_d0e167970_href.png" placement="inline"/>
+<image href="GUID-7F7A449F-CC19-570C-A6C1-BC470256AA8C_d0e174063_href.png" placement="inline"/>
 </fig>
-<p>Clients of a service can discover which applications implement a particular
-service by using <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref>. This has a number of APIs
-for retrieving an application list, filtered to only include applications
-that implement a particular service. <codeph>RApaLsSession</codeph> can also
-return other information about server applications, including how the services
-are implemented as described by the opaque data field. If a service uses the
-opaque data field to store localised strings to describe implementations,
-these can be shown to the user. If a service uses structured data, a resource
+<p>Clients of a service can discover which applications implement
+a particular service by using <xref href="GUID-5EEE8745-F483-33C0-A5B1-AEB5544DE2BA.dita"><apiname>RApaLsSession</apiname></xref>. This
+has a number of APIs for retrieving an application list, filtered
+to only include applications that implement a particular service. <codeph>RApaLsSession</codeph> can also return other information about server
+applications, including how the services are implemented as described
+by the opaque data field. If a service uses the opaque data field
+to store localised strings to describe implementations, these can
+be shown to the user. If a service uses structured data, a resource
 reader can be created over the opaque data field to extract the data. </p>
-<p>Also see the 'Service list' section in <xref href="GUID-A6116E8B-9C4A-5B9E-AA8A-BE031408AA2F.dita">Defining
-application icons, captions and properties</xref>. </p>
-<section><title>See also</title><p><xref href="GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita">Application
-Architecture Overview</xref></p></section>
+<section id="GUID-F27C5A21-25B3-4179-AC7D-ABA1BA4DD41B"><title>See also</title><p><xref href="GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita">Application Architecture
+Overview</xref></p></section>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F7FEB759-E64D-5B6D-9017-C5E982E4FC16.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F7FEB759-E64D-5B6D-9017-C5E982E4FC16.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -24,7 +24,7 @@
 illustrates how Standard C++ interacts with the Symbian platform and P.I.P.S.
 libraries: </p> <fig id="GUID-52C870F7-6368-588D-BE3B-51F35D9DF6AF">
 <title>              Standard C++ on the Symbian platform            </title>
-<image href="GUID-A308643D-6EEA-5C41-BD9C-5DA76EE83BA6_d0e200369_href.jpg" placement="inline"/>
+<image href="GUID-A308643D-6EEA-5C41-BD9C-5DA76EE83BA6_d0e206378_href.jpg" placement="inline"/>
 </fig> </section>
 </conbody><related-links>
 <link href="GUID-D6BEAF0D-844D-51F4-8DB7-FB1D60E17FE3.dita"><linktext>Copyright
--- a/Symbian3/PDK/Source/GUID-F8069628-BD32-535C-963A-A1CF8172E275.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F8069628-BD32-535C-963A-A1CF8172E275.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F8069628-BD32-535C-963A-A1CF8172E275"><title>What are CF Protocols, Binders, and Flows</title><shortdesc>This topic describes the concepts of <i>Communications Framework (CF) Protocols</i>,<i>Binders</i> and <i>Flows</i> in the Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>In the Communications Architecture each Layer requires the participation of several communications components; namely the Tier Manager, MCPR, CPR, SCPR and the components. The name given to the Data Flow components is a <b>Communications Framework Protocol</b> (CF Protocol). </p> <fig id="GUID-293BE7D5-9C9D-5A17-9C61-5FA19B06490C"><title>
           Figure 1 - A CF Protocol in the Layered Comms Stack 
-        </title> <image href="GUID-9FB82D95-F110-5D42-B39E-BCFAE574E18F_d0e107636_href.png" placement="inline"/></fig> <p>A CF Protocol is a collection of components on the Data Plane, most importantly the Flow and the Binder(s). The Flow is a Node and communicates with the SCPR that caused it to be started, using the asynchronous Message Transport mechanism. Each Flow has one or more Binders which connect the Flow to the layer above. </p> <section><title>CF Protocol components</title> <fig id="GUID-171654F9-312C-547C-A886-E16A9DB21040"><title>
+        </title> <image href="GUID-9FB82D95-F110-5D42-B39E-BCFAE574E18F_d0e110079_href.png" placement="inline"/></fig> <p>A CF Protocol is a collection of components on the Data Plane, most importantly the Flow and the Binder(s). The Flow is a Node and communicates with the SCPR that caused it to be started, using the asynchronous Message Transport mechanism. Each Flow has one or more Binders which connect the Flow to the layer above. </p> <section><title>CF Protocol components</title> <fig id="GUID-171654F9-312C-547C-A886-E16A9DB21040"><title>
              Components of a CF Protocol 
-          </title> <image href="GUID-E63899B3-8EA8-5EF7-982E-EC161B3A4794_d0e107649_href.png" placement="inline"/></fig> <p>A CF Protocol is constructed of two main components: </p> <ul><li id="GUID-B9E64AE4-CC30-5085-82D1-938C397A4FD3"><p> <b>Flow</b> - a single conversation with a remote peer. There can be multiple Flows in a CF Protocol to handle multiple concurrent conversations through the same instance of the CF Protocol. </p> </li> <li id="GUID-6A394EF2-EFD4-5885-BE40-A62784A85E2B"><p> <b>Binder</b> - A Binder handles the interface between the current Flow and the Layer above. A Binder connects two CF Protocols together so that they can communicate data and sometimes commands. A Flow can have more than one Binder if it needs to connect to more than one Flow in the Layer above. </p> <p>A <b>Protocol Binder</b> is the binding point for de-multiplexed incoming data but provides no flow control, data will be lost if the layer above is not ready to process it. </p> <p>A <b>Session Binder</b> handles flow control by contacting the Layer above to say data is available, and waits for the CF Protocol of the Layer above to request the data. </p> </li> </ul> </section> <section id="GUID-832AD765-692C-56BE-92AC-AF8AEFB69413"><title>Flow</title> <p>A Flow is an instance of a class which represents a single conversation with a remote peer. </p> <p>There may be many active Flows in a CF Protocol to represent many concurrent conversations through the same instance of the CF Protocol. </p> <p>A Flow is a Stack Node created and controlled by one SCPR. </p> <p>Configuration data for the Flow is provisioned directly by the SCPR and usually originates from the MCPR. </p> <p>Since a Flow handles message exchange with the corresponding SCPR asynchronously, a Flow is always a state machine. State transitions are mostly triggered by exchange of different message types with the remote peer. State transitions may also be triggered by other mechanisms, such as timeouts, that require active objects within the Flow. A Flow is created by a Factory. </p> <p>The Flow can de-multiplex the inbound, though it is up to the specific Flow to have appropriate code to do the de-multiplexing. De-multiplexing could be performed based on address information, port information, protocol specific session, source identifier or other data. De-multiplexing passes data to specific Flows, via individual Protocol Binders, to higher level CF Protocols which can also de-multiplex the data further. If there is no de-multiplexing then the layer above does not have to bind a protocol interface as a data receiver. An example would be an IP Flow, which may contain IPv4 and IPv6 packets and would have separate Protocl Binders for each version. </p> <p>Each Flow must serve the following messages: </p> <ul><li id="GUID-CF546C5F-B597-528B-8A7D-3D9AB804291F"><p> <xref href="GUID-413B79AB-EFA4-3C29-842B-F4DFE2C5A87D.dita"><apiname>TBindTo</apiname></xref> - tells the Flow which lower Flow to bind to </p> </li> <li id="GUID-31FDA6FA-251D-5E98-A194-E134EF953311"><p> <xref href="GUID-F2EEF015-3165-32D6-B98C-E77B2BDFDCDF.dita"><apiname>TProvisionConfig</apiname></xref> - carries a configuration object </p> </li> <li id="GUID-B4D38D5B-5537-5882-A7D0-F5A1AEC9E34C"><p> <xref href="GUID-2257D314-72A9-3A2A-9E79-4BCED7AC1045.dita"><apiname>TStartFlow</apiname></xref> - starts the Flow </p> </li> <li id="GUID-3DB58B6B-32E0-5B0A-B8D1-3D6B6CDF41A0"><p> <xref href="GUID-74EDDB44-5E1B-34CF-9678-C7C8811C7D58.dita"><apiname>TStopFlow</apiname></xref> - stops the Flow </p> </li> <li id="GUID-1BAC8A9D-94D6-5E96-BEAE-0EC97537EA16"><p> <xref href="GUID-9E005556-76E5-306B-982C-B2C2BC268EB8.dita"><apiname>TDestroy</apiname></xref> - instructs the Flow to delete itself </p> </li> <li id="GUID-DF01A012-4D45-5670-A62A-91ADA3303A10"><p> <xref href="GUID-B61247EA-48AE-301B-8089-0B5E67B5E04C.dita"><apiname>TStateChange</apiname></xref> - the Flow should send this whenever it wants to inform the control side of its state change </p> </li> </ul> </section> <section id="GUID-B09A95DB-93A8-5D36-BB95-40DA8766E3A0"><title>Binder</title> <p>The Binder is split into two parts: </p> <ul><li id="GUID-261D54B9-E404-5282-A322-A98EC5693DCF"><p> <i>Binder Control</i> - used by the upper layer to set up the binding with the lower layer. </p> </li> <li id="GUID-5D596068-F8A6-564C-A084-82FAB47B2035"><p> <i>Binder</i> - the actual binding between two Layers so that data can be sent and received. Again there are two types of Binder, Protocol Binder and Session Binder. It is common for a particular CF Protocol to only support one kind of Binder, Session or Protocol. </p> </li> </ul> <p>There will be CF Protocols where it will be a good design to have a Protocol Binder for data, and to use a Session Binder for control messages. These will usually be separate Flows. </p> <p id="GUID-C16F3524-AFFE-5E0B-82A7-8EC9B12BA660"><b>Protocol Binder</b> </p> <p>A Protocol Binder is used by the Flow as the link to the next higher CF Protocol for inbound data. </p> <p>A Protocol Binder only communicates with the Flow and should never communicate with an SCPR. Any design that would require the Protocol Binder to communicate with the SCPR should be redesigned. </p> <p>Protocol Binders are most commonly used for lower-level protocols (nearer the hardware) rather than the higher-level Link layer protocols. </p> <p id="GUID-E6B2C4D3-BE14-53DC-8616-5D3BC2B14686"><b>Session Binder</b> </p> <p> A Session Binder offers much richer functionality than a Protocol Binder as it is mostly used by higher level protocols (closer to application space) that are more complex than the lower level ones (closer to hardware). A Session Binder operates independently of the protocol of the next Layer above with which it connects, as opposed to the Protocol Binder which is specific for a particular protocol in the Layer above. A Session Binder may offer functionality that is supported by only some of the protocols using that binder. For example a Session Binder may provide flow control on the data, while a Protocol Binder will pass the data upwards immediately and if the Layer above is not able to accept the data it will be discarded. </p> </section> </conbody><related-links><link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> <link href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita"><linktext>Planes</linktext> </link> <link href="GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita"><linktext>Nodes</linktext> </link> </related-links></concept>
\ No newline at end of file
+          </title> <image href="GUID-E63899B3-8EA8-5EF7-982E-EC161B3A4794_d0e110092_href.png" placement="inline"/></fig> <p>A CF Protocol is constructed of two main components: </p> <ul><li id="GUID-B9E64AE4-CC30-5085-82D1-938C397A4FD3"><p> <b>Flow</b> - a single conversation with a remote peer. There can be multiple Flows in a CF Protocol to handle multiple concurrent conversations through the same instance of the CF Protocol. </p> </li> <li id="GUID-6A394EF2-EFD4-5885-BE40-A62784A85E2B"><p> <b>Binder</b> - A Binder handles the interface between the current Flow and the Layer above. A Binder connects two CF Protocols together so that they can communicate data and sometimes commands. A Flow can have more than one Binder if it needs to connect to more than one Flow in the Layer above. </p> <p>A <b>Protocol Binder</b> is the binding point for de-multiplexed incoming data but provides no flow control, data will be lost if the layer above is not ready to process it. </p> <p>A <b>Session Binder</b> handles flow control by contacting the Layer above to say data is available, and waits for the CF Protocol of the Layer above to request the data. </p> </li> </ul> </section> <section id="GUID-832AD765-692C-56BE-92AC-AF8AEFB69413"><title>Flow</title> <p>A Flow is an instance of a class which represents a single conversation with a remote peer. </p> <p>There may be many active Flows in a CF Protocol to represent many concurrent conversations through the same instance of the CF Protocol. </p> <p>A Flow is a Stack Node created and controlled by one SCPR. </p> <p>Configuration data for the Flow is provisioned directly by the SCPR and usually originates from the MCPR. </p> <p>Since a Flow handles message exchange with the corresponding SCPR asynchronously, a Flow is always a state machine. State transitions are mostly triggered by exchange of different message types with the remote peer. State transitions may also be triggered by other mechanisms, such as timeouts, that require active objects within the Flow. A Flow is created by a Factory. </p> <p>The Flow can de-multiplex the inbound, though it is up to the specific Flow to have appropriate code to do the de-multiplexing. De-multiplexing could be performed based on address information, port information, protocol specific session, source identifier or other data. De-multiplexing passes data to specific Flows, via individual Protocol Binders, to higher level CF Protocols which can also de-multiplex the data further. If there is no de-multiplexing then the layer above does not have to bind a protocol interface as a data receiver. An example would be an IP Flow, which may contain IPv4 and IPv6 packets and would have separate Protocl Binders for each version. </p> <p>Each Flow must serve the following messages: </p> <ul><li id="GUID-CF546C5F-B597-528B-8A7D-3D9AB804291F"><p> <xref href="GUID-413B79AB-EFA4-3C29-842B-F4DFE2C5A87D.dita"><apiname>TBindTo</apiname></xref> - tells the Flow which lower Flow to bind to </p> </li> <li id="GUID-31FDA6FA-251D-5E98-A194-E134EF953311"><p> <xref href="GUID-F2EEF015-3165-32D6-B98C-E77B2BDFDCDF.dita"><apiname>TProvisionConfig</apiname></xref> - carries a configuration object </p> </li> <li id="GUID-B4D38D5B-5537-5882-A7D0-F5A1AEC9E34C"><p> <xref href="GUID-2257D314-72A9-3A2A-9E79-4BCED7AC1045.dita"><apiname>TStartFlow</apiname></xref> - starts the Flow </p> </li> <li id="GUID-3DB58B6B-32E0-5B0A-B8D1-3D6B6CDF41A0"><p> <xref href="GUID-74EDDB44-5E1B-34CF-9678-C7C8811C7D58.dita"><apiname>TStopFlow</apiname></xref> - stops the Flow </p> </li> <li id="GUID-1BAC8A9D-94D6-5E96-BEAE-0EC97537EA16"><p> <xref href="GUID-9E005556-76E5-306B-982C-B2C2BC268EB8.dita"><apiname>TDestroy</apiname></xref> - instructs the Flow to delete itself </p> </li> <li id="GUID-DF01A012-4D45-5670-A62A-91ADA3303A10"><p> <xref href="GUID-B61247EA-48AE-301B-8089-0B5E67B5E04C.dita"><apiname>TStateChange</apiname></xref> - the Flow should send this whenever it wants to inform the control side of its state change </p> </li> </ul> </section> <section id="GUID-B09A95DB-93A8-5D36-BB95-40DA8766E3A0"><title>Binder</title> <p>The Binder is split into two parts: </p> <ul><li id="GUID-261D54B9-E404-5282-A322-A98EC5693DCF"><p> <i>Binder Control</i> - used by the upper layer to set up the binding with the lower layer. </p> </li> <li id="GUID-5D596068-F8A6-564C-A084-82FAB47B2035"><p> <i>Binder</i> - the actual binding between two Layers so that data can be sent and received. Again there are two types of Binder, Protocol Binder and Session Binder. It is common for a particular CF Protocol to only support one kind of Binder, Session or Protocol. </p> </li> </ul> <p>There will be CF Protocols where it will be a good design to have a Protocol Binder for data, and to use a Session Binder for control messages. These will usually be separate Flows. </p> <p id="GUID-C16F3524-AFFE-5E0B-82A7-8EC9B12BA660"><b>Protocol Binder</b> </p> <p>A Protocol Binder is used by the Flow as the link to the next higher CF Protocol for inbound data. </p> <p>A Protocol Binder only communicates with the Flow and should never communicate with an SCPR. Any design that would require the Protocol Binder to communicate with the SCPR should be redesigned. </p> <p>Protocol Binders are most commonly used for lower-level protocols (nearer the hardware) rather than the higher-level Link layer protocols. </p> <p id="GUID-E6B2C4D3-BE14-53DC-8616-5D3BC2B14686"><b>Session Binder</b> </p> <p> A Session Binder offers much richer functionality than a Protocol Binder as it is mostly used by higher level protocols (closer to application space) that are more complex than the lower level ones (closer to hardware). A Session Binder operates independently of the protocol of the next Layer above with which it connects, as opposed to the Protocol Binder which is specific for a particular protocol in the Layer above. A Session Binder may offer functionality that is supported by only some of the protocols using that binder. For example a Session Binder may provide flow control on the data, while a Protocol Binder will pass the data upwards immediately and if the Layer above is not able to accept the data it will be discarded. </p> </section> </conbody><related-links><link href="GUID-01029B52-55E0-5598-994F-BB5DE73D37EE.dita"><linktext>Layers</linktext> </link> <link href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita"><linktext>Planes</linktext> </link> <link href="GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita"><linktext>Nodes</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F82675C4-C2FD-50E2-BEDA-EB454FF1C57E_d0e260935_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F82675C4-C2FD-50E2-BEDA-EB454FF1C57E_d0e266944_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F84E18B8-5883-5A3A-A9DB-EC25BB86149F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F84E18B8-5883-5A3A-A9DB-EC25BB86149F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,39 +1,42 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F84E18B8-5883-5A3A-A9DB-EC25BB86149F" xml:lang="en"><title>Timers</title><shortdesc>The Kernel implements timing functions using a 1 millisecond tick
-timer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> The phone hardware must therefore provide a high-speed timer that can
-provide regular 1 ms interrupts. The ASSP/Variant part of the base port must
-use this timer hardware to call the Kernel every millisecond. </p>
-<p>The base port provides the timer service in an interrupt-service routine
-called a tick handler. The functions used for this are as follows: </p>
-<ul>
-<li id="GUID-6CFD0FFF-9D8D-5FBC-867C-88933476D896"><p>The tick handler must
-be started by the Variant's implementation of the <xref href="GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D.dita#GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D/GUID-FE55E398-7F08-384F-9E74-2CC2E45002B6"><apiname>Asic::Init3()</apiname></xref> function. </p> </li>
-<li id="GUID-9F148C98-2FA8-529D-A0E8-DB5A4705E063"><p>The tick handler calls
-the Kernel's <xref href="GUID-C4EB9F55-9A40-3B4D-B90A-FD39A5E68AE1.dita#GUID-C4EB9F55-9A40-3B4D-B90A-FD39A5E68AE1/GUID-BC7CAC2D-97F2-3B82-AF80-7F8535315052"><apiname>NTImer::TickQ()</apiname></xref> function. </p> </li>
-<li id="GUID-DC16C15E-221B-5945-9F5A-349FAD35921D"><p>The Variant reports
-the exact number of microseconds between ticks in its implementation of <xref href="GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D.dita#GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D/GUID-6EAD3751-9F37-3C1B-9910-678A286D80E9"><apiname>Asic::MsTickPeriod()</apiname></xref>. </p> </li>
-</ul>
-<p>The ASSP/Variant must decide how to implement a repeating tick interrupt
-for the hardware available. Typically this involves using either a free running
-timer with a match register, which is reset on each match, or a self-reloading
-countdown timer, to generate a periodic interrupt. </p>
-<p>A base port can implement other timers that are required by peripherals
-that have sub-millisecond timing requirements. This is optional, and depends
-on the available hardware. </p>
-</conbody><related-links>
-<link href="GUID-E0DCBDCF-C056-53E5-A375-778327F848E4.dita#GUID-E0DCBDCF-C056-53E5-A375-778327F848E4/GUID-F5275882-BBD0-561F-B617-683AA2004BB9">
-<linktext>Asic::Init3()                 implementation</linktext></link>
-<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/5._Kernel_Services.dita">
-<linktext>Symbian OS Internals - Chapter 5.5 Timers</linktext></link>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F84E18B8-5883-5A3A-A9DB-EC25BB86149F" xml:lang="en"><title>Timers</title><shortdesc>The Kernel implements timing functions using a 1 millisecond
+tick timer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p> The phone hardware must therefore provide a high-speed timer that
+can provide regular 1 ms interrupts. The ASSP/Variant part of the
+base port must use this timer hardware to call the Kernel every millisecond. </p>
+<p>The base port provides the timer service in an interrupt-service
+routine called a tick handler. The functions used for this are as
+follows: </p>
+<ul>
+<li id="GUID-6CFD0FFF-9D8D-5FBC-867C-88933476D896"><p>The tick handler
+must be started by the Variant's implementation of the <xref href="GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D.dita#GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D/GUID-FE55E398-7F08-384F-9E74-2CC2E45002B6"><apiname>Asic::Init3()</apiname></xref> function. </p> </li>
+<li id="GUID-9F148C98-2FA8-529D-A0E8-DB5A4705E063"><p>The tick handler
+calls the Kernel's <xref href="GUID-C4EB9F55-9A40-3B4D-B90A-FD39A5E68AE1.dita#GUID-C4EB9F55-9A40-3B4D-B90A-FD39A5E68AE1/GUID-BC7CAC2D-97F2-3B82-AF80-7F8535315052"><apiname>NTImer::TickQ()</apiname></xref> function. </p> </li>
+<li id="GUID-DC16C15E-221B-5945-9F5A-349FAD35921D"><p>The Variant
+reports the exact number of microseconds between ticks in its implementation
+of <xref href="GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D.dita#GUID-A83A7C3C-7DC0-3B9C-842F-70FCC751365D/GUID-6EAD3751-9F37-3C1B-9910-678A286D80E9"><apiname>Asic::MsTickPeriod()</apiname></xref>. </p> </li>
+</ul>
+<p>The ASSP/Variant must decide how to implement a repeating tick
+interrupt for the hardware available. Typically this involves using
+either a free running timer with a match register, which is reset
+on each match, or a self-reloading countdown timer, to generate a
+periodic interrupt. </p>
+<p>A base port can implement other timers that are required by peripherals
+that have sub-millisecond timing requirements. This is optional, and
+depends on the available hardware. </p>
+</conbody><related-links>
+<link href="GUID-E0DCBDCF-C056-53E5-A375-778327F848E4.dita#GUID-E0DCBDCF-C056-53E5-A375-778327F848E4/GUID-F5275882-BBD0-561F-B617-683AA2004BB9">
+<linktext>Asic::Init3()                 implementation</linktext></link>
+<link href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/5._Kernel_Services" scope="external"><linktext>Symbian OS Internals - Chapter 5.5 Timers</linktext>
+</link>
 </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F8A32666-5003-5B14-A700-C6E6388D2D38_d0e291470_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F8A32666-5003-5B14-A700-C6E6388D2D38_d0e297462_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,6 +11,6 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23"><title>Privacy Notifiers</title><shortdesc>  Privacy Notifiers notify a user of privacy requests received from the network. A licensee must implement either Privacy Notifiers as described in this document, or a Privacy Controller to handle privacy requests. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes LBS privacy notifiers and the data types that licensees can use to create notifiers to notify a user of privacy requests. A licensee must implement either a Privacy Controller or the Privacy Notifiers described in this document to handle privacy requests. See <xref href="GUID-2E565B8E-D262-5769-96E6-A532154D57E6.dita#GUID-2E565B8E-D262-5769-96E6-A532154D57E6/GUID-47C88C54-6BDC-5777-A661-A3EB7162A89E">LBS privacy requests overview</xref> for more information. </p> <p>Note that use of the LBS Privacy Notifiers described in this document is the recommended way of creating notifiers for LBS. The alternative Privacy Q&amp;N Notifiers are deprecated. </p> <p>Some knowledge of the <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref> is required to understand the notifiers described in this document. </p> <p> <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create Privacy Notifiers</xref> has examples of how to create LBS Privacy Notifiers using the API described in this document. </p> </section> <section><title>Contents</title> <ul><li id="GUID-037E3DD8-4CD8-52D5-9B77-3FC209CB57F4"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-4B6731DE-72CD-575C-A372-A82BB23CD81E">Introduction</xref>  </p> </li> <li id="GUID-22D4D0B5-7F69-566A-86C1-346A482E526A"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-94E75514-D19B-5B8E-8089-ED72E65F088C">Privacy Notifiers API description</xref>  </p> </li> <li id="GUID-E6E10A2E-1072-582F-9825-D72DE755AE92"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-3F6A41FB-19CD-5BA7-A6CE-43197CAB5164">See also</xref>  </p> </li> </ul> </section> <section id="GUID-4B6731DE-72CD-575C-A372-A82BB23CD81E"><title>Introduction</title> <p>Figure 1 shows the LBS Privacy Notifiers within the context of the <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">Full LBS configuration</xref>. The LBS Privacy Notifiers are standard Symbian notifier plug-ins that use LBS Privacy Request Data Types to package the request and response data that is sent between the LBS subsystem and the notifiers. </p> <p>To use the LBS Privacy Notifiers, a licensee must implement two notifiers: </p> <ul><li id="GUID-5F470714-F41B-5D59-9095-62E5B182FF80"><p>A <i>Privacy Verification Notifier</i> that receives a privacy verification request from the LBS subsystem and returns a privacy response. This notifier is used to obtain user approval to send the location. </p> </li> <li id="GUID-5FC2CE8D-4829-5CB6-B157-42CB9BF25F00"><p>A <i>Privacy Notification Notifier</i> that receives a privacy notification request from the LBS subsystem and does not return any response. This notifier is used simply to notify the user that their location is being sent. </p> </li> </ul> <fig id="GUID-5A63514F-3CB0-50FB-B3F7-F54BF70391D4"><title>
              Figure 1. The Privacy Notifiers and part of the LBS subsystem. 
-          </title> <image href="GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e430395_href.png" placement="inline"/></fig> </section> <section id="GUID-94E75514-D19B-5B8E-8089-ED72E65F088C"><title>Privacy Notifiers API description</title> <p>The LBS Privacy Notifiers are standard Symbian notifiers that use the Symbian <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref>. There are no additional LBS-specific base classes from which licensee notifier implementations must derive. LBS Privacy Notifiers derive directly from the notifier base class <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref>. </p> <p><b>Classes and types </b> </p> <p>The following table lists the main classes and types of the Privacy Data Types. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Privacy Notifiers types have <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-AB2E7C88-F3DB-5E0D-AD0A-9D0202ED58C4"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref>  </p> </entry> <entry><p>Contains information about the requester of the location. </p> </entry> <entry><p> <filepath>lbsloccommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-C39A33B5-C5D3-333A-80C6-31EEB0706EB3.dita"><apiname>TLbsPrivacyNotifierParams</apiname></xref>  </p> </entry> <entry><p>A container for the parameters that are sent to the LBS notifiers. Both a Privacy Verification Notifier and a Privacy Notification Notifier receive these parameters. This class wraps a <codeph>TLbsExternalRequestInfo</codeph> object. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D6A3E27D-A531-3851-AC58-6DB8625A7180.dita"><apiname>TLbsPrivacyNotifierParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyNotifierParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to send the notifier parameters to a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-FDDBA463-D6C6-3CD1-8337-1B44A87C28AE.dita"><apiname>TLbsPrivacyNotifierResponse</apiname></xref>  </p> </entry> <entry><p>An enumerated type that contains the user response to the Privacy Verification Notifier (request acceptance or rejection). </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-7E2EF45D-A85D-3E69-B155-2A5E325E9542.dita"><apiname>TLbsPrivacyResponseParams</apiname></xref>  </p> </entry> <entry><p>Container for the parameters that are returned from the LBS Privacy Verification Notifier. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D08EF78A-8650-324E-8DF0-12BCBCB71EBA.dita"><apiname>TLbsPrivacyResponseParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyResponseParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to retrieve the result parameters from a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Licensees who choose to use LBS Privacy Notifiers must implement two of them, one for privacy request verification and one for privacy request notification. Both notifiers can be packaged in the same ECOM plug-in DLL. </p> <p>The header file <filepath>lbsextprivacynotifiers.h</filepath> also contains definitions of the UIDs that must be used for LBS Privacy Notifiers. These values are specified as <b>KLbsExtLocationRequestVerifyUid</b> for a privacy verification notifier and <b>KLbsExtLocationRequestNotifyUid</b> for a privacy notification notifier. <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> has examples of their use. </p> <p><b>Privacy Notifiers API class diagram </b> </p> <p>The LBS Privacy Notifier data classes and types are defined in <filepath>lbsprivacyextnotifiers.h</filepath> and are shown in figure 2. This figure also shows the <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref> class that is used to pass request data from the LBS subsystem to the notifiers. This class is described in <xref href="GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita#GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0/GUID-126FAEA8-3E7F-5988-AB6C-F93E63B09E2F">Privacy Controller</xref> documentation. </p> <fig id="GUID-56D0BC43-09C0-52B5-9418-28E84E2F495E"><title>
+          </title> <image href="GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e436240_href.png" placement="inline"/></fig> </section> <section id="GUID-94E75514-D19B-5B8E-8089-ED72E65F088C"><title>Privacy Notifiers API description</title> <p>The LBS Privacy Notifiers are standard Symbian notifiers that use the Symbian <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref>. There are no additional LBS-specific base classes from which licensee notifier implementations must derive. LBS Privacy Notifiers derive directly from the notifier base class <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref>. </p> <p><b>Classes and types </b> </p> <p>The following table lists the main classes and types of the Privacy Data Types. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Privacy Notifiers types have <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-AB2E7C88-F3DB-5E0D-AD0A-9D0202ED58C4"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref>  </p> </entry> <entry><p>Contains information about the requester of the location. </p> </entry> <entry><p> <filepath>lbsloccommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-C39A33B5-C5D3-333A-80C6-31EEB0706EB3.dita"><apiname>TLbsPrivacyNotifierParams</apiname></xref>  </p> </entry> <entry><p>A container for the parameters that are sent to the LBS notifiers. Both a Privacy Verification Notifier and a Privacy Notification Notifier receive these parameters. This class wraps a <codeph>TLbsExternalRequestInfo</codeph> object. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D6A3E27D-A531-3851-AC58-6DB8625A7180.dita"><apiname>TLbsPrivacyNotifierParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyNotifierParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to send the notifier parameters to a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-FDDBA463-D6C6-3CD1-8337-1B44A87C28AE.dita"><apiname>TLbsPrivacyNotifierResponse</apiname></xref>  </p> </entry> <entry><p>An enumerated type that contains the user response to the Privacy Verification Notifier (request acceptance or rejection). </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-7E2EF45D-A85D-3E69-B155-2A5E325E9542.dita"><apiname>TLbsPrivacyResponseParams</apiname></xref>  </p> </entry> <entry><p>Container for the parameters that are returned from the LBS Privacy Verification Notifier. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D08EF78A-8650-324E-8DF0-12BCBCB71EBA.dita"><apiname>TLbsPrivacyResponseParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyResponseParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to retrieve the result parameters from a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Licensees who choose to use LBS Privacy Notifiers must implement two of them, one for privacy request verification and one for privacy request notification. Both notifiers can be packaged in the same ECOM plug-in DLL. </p> <p>The header file <filepath>lbsextprivacynotifiers.h</filepath> also contains definitions of the UIDs that must be used for LBS Privacy Notifiers. These values are specified as <b>KLbsExtLocationRequestVerifyUid</b> for a privacy verification notifier and <b>KLbsExtLocationRequestNotifyUid</b> for a privacy notification notifier. <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> has examples of their use. </p> <p><b>Privacy Notifiers API class diagram </b> </p> <p>The LBS Privacy Notifier data classes and types are defined in <filepath>lbsprivacyextnotifiers.h</filepath> and are shown in figure 2. This figure also shows the <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref> class that is used to pass request data from the LBS subsystem to the notifiers. This class is described in <xref href="GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita#GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0/GUID-126FAEA8-3E7F-5988-AB6C-F93E63B09E2F">Privacy Controller</xref> documentation. </p> <fig id="GUID-56D0BC43-09C0-52B5-9418-28E84E2F495E"><title>
              Figure 2. LBS Privacy Notifier data classes. 
-          </title> <image href="GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e430653_href.png" placement="inline"/></fig> <p><b>Libraries </b> </p> <p>The LBS Privacy Notifiers are packaged in <filepath>lbsprivacyextnotifiers.dll</filepath>. A client (an LBS Privacy Notifier) links to <filepath>lbsprivacyextnotifiers.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>Privacy Notifiers require the <codeph>TrustedUI</codeph> and <codeph>ProtServ</codeph> capabilities that are required by all notifiers that use the Extended Notifier Framework. The capabilities are specified in the Notifier's MMP file. See <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> for more information. </p> <p><b>LBS Configuration </b> </p> <p>The LBS Administration setting <codeph>KLbsSettingPrivacyHandler</codeph> must be set to <codeph>CLbsAdmin::EPrivacyHandleByNotifier</codeph> to configure LBS to use Privacy Notifiers. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration</xref> for details of how to configure this setting either through the LBS Administration API or in the LBS central repository initialisation file. </p> <p> <b>Sequential processing of privacy requests</b>  </p> <p>The LBS subsystem sends privacy requests sequentially to Privacy Notifiers. If multiple privacy requests are received how they are handled depends on the interface via which the privacy request was received: </p> <ul><li id="GUID-2A1E4E50-A7B5-5B0A-B7D4-F919B9355245"><p>Request received from a <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref>  </p> <p>A second privacy request forces LBS to cancel an outstanding privacy request (but not emergency requests). The Privacy Notifier in use for the first privacy request is cancelled. The Privacy Notifier is then restarted to handle the second privacy request. </p> </li> <li id="GUID-BF0FEBFE-709E-586E-B0AC-439EB185A83D"><p>Request received via the <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref> or the <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> <p>Privacy notification and verification requests are sent sequentially to Privacy Notifiers. A Privacy Notifier must have responded to one privacy request (or LBS must have sent a timeout response) before the next request can be sent to the notifier. The maximum number of privacy requests that can be outstanding in the LBS subsystem is defined by the LBS administration setting <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. Further requests are rejected by the LBS subsystem if the number of outstanding privacy requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
+          </title> <image href="GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e436498_href.png" placement="inline"/></fig> <p><b>Libraries </b> </p> <p>The LBS Privacy Notifiers are packaged in <filepath>lbsprivacyextnotifiers.dll</filepath>. A client (an LBS Privacy Notifier) links to <filepath>lbsprivacyextnotifiers.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>Privacy Notifiers require the <codeph>TrustedUI</codeph> and <codeph>ProtServ</codeph> capabilities that are required by all notifiers that use the Extended Notifier Framework. The capabilities are specified in the Notifier's MMP file. See <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> for more information. </p> <p><b>LBS Configuration </b> </p> <p>The LBS Administration setting <codeph>KLbsSettingPrivacyHandler</codeph> must be set to <codeph>CLbsAdmin::EPrivacyHandleByNotifier</codeph> to configure LBS to use Privacy Notifiers. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration</xref> for details of how to configure this setting either through the LBS Administration API or in the LBS central repository initialisation file. </p> <p> <b>Sequential processing of privacy requests</b>  </p> <p>The LBS subsystem sends privacy requests sequentially to Privacy Notifiers. If multiple privacy requests are received how they are handled depends on the interface via which the privacy request was received: </p> <ul><li id="GUID-2A1E4E50-A7B5-5B0A-B7D4-F919B9355245"><p>Request received from a <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref>  </p> <p>A second privacy request forces LBS to cancel an outstanding privacy request (but not emergency requests). The Privacy Notifier in use for the first privacy request is cancelled. The Privacy Notifier is then restarted to handle the second privacy request. </p> </li> <li id="GUID-BF0FEBFE-709E-586E-B0AC-439EB185A83D"><p>Request received via the <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref> or the <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> <p>Privacy notification and verification requests are sent sequentially to Privacy Notifiers. A Privacy Notifier must have responded to one privacy request (or LBS must have sent a timeout response) before the next request can be sent to the notifier. The maximum number of privacy requests that can be outstanding in the LBS subsystem is defined by the LBS administration setting <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. Further requests are rejected by the LBS subsystem if the number of outstanding privacy requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. </p> </li> </ul> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F9455FE8-5247-58D5-ACEF-52753B88444F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-F9455FE8-5247-58D5-ACEF-52753B88444F"><title>How to control binary compatibility</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Overview</title> <p>It is important for users that the software they buy and use should continue to run on new releases of Symbian platform, and that it should be transferable to new devices containing the latest releases of the operating system. </p> <p>Ensuring that a current software release does not break existing software is known as maintaining binary compatibility (BC). There is a related compatibility issue for data — ensuring that new software versions remain data compatible with previous versions. Data incompatibilities can be just as galling for software users, making existing documents obsolete, but don't intrinsically affect the software itself. </p> <p>BC is most obviously a concern for the systems developers responsible for the evolution of the operating system. However, it is relevant for any Symbian developer whose software provides services to client software. Symbian developers whose software uses such services should understand a problem that potentially they may encounter. </p> <p>A related concern is where a program is <i>first</i> developed using a version of some system component or a third part service. Symbian developers may need to know whether their programs will also work with <i>older</i> versions of that system component or third part service. This form of compatibility is an added bonus but, generally, backward compatibility is the overriding requirement. </p> </section> <section><title>The interface as contract</title> <p>When a software component is changed, the changes impact all dependent software components — including the ones which have not yet been written. This means that rather than relying on testing, the safety of changes must somehow be guaranteed. </p> <p>A component which defines an interface through which it may be used should be regarded as making a contract with the rest of the world. Its interface is its contact. Other components which build against its interface must be guaranteed that when they later run against its interface, nothing will have changed. The BC requirement is that guarantee. </p> <p>Although in principle there are many different mechanisms through which software can offer an interface to clients, in the Symbian software platform, BC is a DLL related problem. </p> </section> <section><title>Source compatibility, link compatibility, binary compatibility</title> <p>BC is stronger than both link and source compatibility. Maintaining BC also implies that both link and source compatibility are maintained. </p> <p>Source compatibility describes the situation where an interface we are using has changed between building against it and running against it, in such a way that we can only recover by rebuilding against the changed interface. Our source need not change, but we must rebuild. </p> <p>Because source level interfaces are defined in the published header <codeph>#include</codeph> files, it is easy to see whether changes are compatible — examine the changes to the header file. </p> <p>Link compatibility describes the situation where to recover from an interface change we must relink our component against a component we originally built against. Our source need not be rebuilt, but we must relink. </p> <p>Link level interfaces are defined by the published <keyword>import</keyword> library. Again it is not too hard to see whether a change is compatible — ensure that all <keyword>exported</keyword> functions are unchanged. </p> <p>Binary compatibility guarantees a constant interface between our building and running against another component. </p> <p>The BC level interface is not so easy to define and may include quite general behaviour of the changed component. Because it is hard to define it is hard to check for changes which potentially break it. Potential BC breaking changes include: </p> <ul><li id="GUID-308FA053-1D48-55BE-95D5-F80057F97B48"><p>Virtual member functions are for life — you can't add or remove virtual member functions </p> </li> <li id="GUID-545ECFCF-32C5-53C1-841B-A40623F2B5D3"><p>or change the virtuality of a function </p> </li> <li id="GUID-637E8C8E-48BA-5638-A9CB-D7A34121FAC7"><p>or change their declaration order </p> </li> <li id="GUID-51B5A996-F810-5192-B3E3-D808735283EA"><p>or override an existing function that was previously inherited </p> </li> <li id="GUID-517E1BC2-1152-556A-B129-42294683534E"><p>You cannot add a UID if was originally omitted from the DLL </p> </li> </ul> <p>Safe changes which preserve <i>backward</i> binary compatibility include: </p> <ul><li id="GUID-48431968-E4C6-55CA-A089-87EE30BB6660"><p>Any name can be changed <b>but</b> — this requires clear documentation because dependent components must change source code, and usually also requires editing the frozen <filepath>.def</filepath> files </p> </li> <li id="GUID-3DAF9CAD-AB42-5AFE-81B9-8C08F0893B07"><p>Adding services — classes, global functions, static and <i>non-virtual</i> member functions can all be added to a shared library </p> </li> <li id="GUID-E62F3737-D3B9-5E2E-ACF4-D930033B5683"><p>Changing access specification — any member can be made more widely accessible. The reverse is <b>not</b> allowed. Similarly, friendship can be bestowed but not withdrawn </p> </li> <li id="GUID-ECE8BEE0-E11A-54A1-A65B-30DC1DDA2C3C"><p>You can do what you like with private data and non-virtual function members <b>except</b> — when it would change the class size, or when effectively public data would move in the class </p> </li> <li id="GUID-97A41CBA-D5E6-5F06-B050-8085433A6586"><p>Parameters and return values — valid inputs must retain their interpretation and existing output values must retain their meaning </p> </li> <li id="GUID-C723CE0A-FD69-507D-BE85-9701B9C66608"><p>Inputs can be widened: e.g. less derived pointer, extended enum, adding a const qualifier or outputs can be narrowed: e.g. more derived pointer, fewer error code values, removing a const qualifier </p> </li> <li id="GUID-D61A91E3-66BA-5F79-BC53-5F06865C4554"><p>Pointer and reference types can be exchanged </p> </li> </ul> <p>To help maintain BC only release what you need to release — you don't have to support what you don't release </p> </section> <section><title>Controlling binary compatibility with build time tools</title> <p>Some potentially BC breaking changes are introduced not by Symbian developers but by the build system. Symbian platform provides tools which help to control BC by blocking accidental build-time changes. </p> <p>When a DLL is loaded it supplies a table of addresses, one for each exported symbol and one for the entry point of each exported function. This is the DLL's public interface. To preserve BC the index of each export must remain constant from one release to another. </p> <p>Symbian platform uses export definitions (<filepath>.def</filepath>) files to manage this requirement. Each exported symbol is listed in the exports section of the file with its ordinal, which is calculated as index + ordinal base. Symbian platform uses an ordinal base of 1. By the definition of source compatibility implied by BC, every export defined in an earlier release will be defined in the new release. Exports introduced in a new release must come after those defined in earlier releases. </p> <p>For DLL builds, the build tools automatically create the <filepath>.def</filepath> file within the build tree for the specified target. Once these have been generated for a build, they can be archived with the project source and used in future builds to <keyword>freeze</keyword> the exports against change. </p> <p>This is done by copying the <filepath>.def</filepath> files into a default location and including the directive </p> <p> <codeph>DEFFILE projectname.def</codeph>  </p> <p>in the project <filepath>.mmp</filepath> file. </p> <p>In any subsequent <b>command-line</b> build of the project the exports will be guaranteed compatible with the current version. If new exports are added, the new def files should once again be copied from the build directory and archived with the new release. Only command-line builds should be released. </p> <p>The creation and translation of <filepath>.def</filepath> files is managed by the Symbian platform build process, see <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian build process</xref>. </p> </section> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-F9558573-7C79-57C5-809A-9257BF84758A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F9558573-7C79-57C5-809A-9257BF84758A.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 <p>The following diagram shows how these components fit together and gives
 an overview of the data flow. </p>
 <fig id="GUID-D05ABF3B-3A1D-5F02-B268-FC1A992EE4DB">
-<image href="GUID-9CC514E9-85C2-5F4B-9F3B-F9FA1F4CB20A_d0e381678_href.png" placement="inline"/>
+<image href="GUID-9CC514E9-85C2-5F4B-9F3B-F9FA1F4CB20A_d0e387531_href.png" placement="inline"/>
 </fig>
 <p>Depending on the keyboard hardware, key presses in the form of key-down
 and key-up events are registered by the keyboard driver, either as a result
--- a/Symbian3/PDK/Source/GUID-F95A7D74-FD5C-40D2-BF4F-2F75443CAE51.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F95A7D74-FD5C-40D2-BF4F-2F75443CAE51.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -26,7 +26,7 @@
 b) Column A contains an icon, columns B&amp;C combined for text. c) Columns
 A&amp;B combined for a large icon, column C contains text. d) Column A: an
 icon; column B: a label; column C: text.</title>
-<image href="GUID-043CFB8D-8780-478C-A3B2-FE5838795665_d0e81300_href.png" placement="inline"/>
+<image href="GUID-043CFB8D-8780-478C-A3B2-FE5838795665_d0e85498_href.png" placement="inline"/>
 </fig>
 <table id="GUID-634822BE-B1A4-43E4-9A28-7ABA9D6DF336"><title>Standard elements
 within list item associated with columns</title>
--- a/Symbian3/PDK/Source/GUID-F9605837-2209-500D-AB62-48A433489C5E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-F9605837-2209-500D-AB62-48A433489C5E" xml:lang="en"><title>Resource
-file definition</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A source file consists of any number of statements:</p>
-<codeblock xml:space="preserve">&lt;source-file&gt;
-<b>source-file ::</b>=
-    &lt;statement-list&gt; &lt;statement&gt;
-<b>statement ::</b>=
-    &lt;uid2-statement&gt; | &lt;uid3-statement&gt; | &lt;character_set-statement&gt; | &lt;enum-statement&gt; | &lt;name-statement&gt; | &lt;resource-statement&gt; | &lt;struct-statement&gt;</codeblock>
-<p>A summary of the keywords that are used for these statement types respectively
-is given below:</p>
-<table id="GUID-0138D798-2FA4-5940-89F5-D7D6BC07E9AF">
-<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
-<tbody>
-<row>
-<entry><p><xref href="GUID-383A617C-474B-509D-BA37-3515BCC5F1D1.dita">CHARACTER_SET</xref> </p> </entry>
-<entry><p>Defines the character set to be used</p> </entry>
-</row>
-<row>
-<entry><p><xref href="GUID-11BF98BD-814A-5CB8-B83E-6D14F38F1783.dita">ENUM</xref> </p> </entry>
-<entry><p>Defines a set of integer values</p> </entry>
-</row>
-<row>
-<entry><p><xref href="GUID-AECDAEBF-777A-579B-92F8-560FD7FF86E7.dita">NAME</xref> </p> </entry>
-<entry><p>By default, the resource IDs in the generated header file are allocated
-from 1 in ascending sequence. The sequence can be made to begin from another
-value using this statement.</p> </entry>
-</row>
-<row>
-<entry><p><xref href="GUID-32F00078-6084-5288-9D3F-9F8D70514799.dita">RESOURCE</xref> </p> </entry>
-<entry><p>Defines an actual resource <i>instance</i> of the type defined in
-a struct, gives it a resource id, and causes it to be generated in the resource
-file. </p> </entry>
-</row>
-<row>
-<entry><p><xref href="GUID-E932B20C-5155-530F-9669-6F5BB1F1AD41.dita">STRUCT</xref> </p> </entry>
-<entry><p>Defines a <i>type</i> of resource.</p> </entry>
-</row>
-<row>
-<entry><p><xref href="GUID-914DD950-4332-5F23-B725-F4D330DB19EB.dita">UID2</xref> </p> </entry>
-<entry><p>Defines the second UID for the resource file</p> </entry>
-</row>
-<row>
-<entry><p><xref href="GUID-914DD950-4332-5F23-B725-F4D330DB19EB.dita">UID3</xref> </p> </entry>
-<entry><p>Defines the third UID for the resource file</p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-<p>The most usual statements are <codeph>STRUCT</codeph> and <codeph>RESOURCE</codeph>. </p>
-</conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e101465_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e90859_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e95057_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F96623BF-B646-46B4-942E-69EB065BE491_d0e97386_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F96D14A5-58BB-4F1A-A6FB-5D13DCB84B33_d0e89929_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F96D14A5-58BB-4F1A-A6FB-5D13DCB84B33_d0e94127_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F97EA91E-35E3-5E69-A4C4-7415AB91C1BC_d0e107418_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F97EA91E-35E3-5E69-A4C4-7415AB91C1BC_d0e109861_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-F9896E96-1076-552D-AE54-8F9DABED867F"><title>Configuring the Video Player</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This tutorial describes how to configure the video player. </p> <section><title>Purpose</title> <p>The purpose of this tutorial is to show you how to make configuration adjustments to the video player. </p> <p><b>Required Background</b> </p> <p>The <xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita">Video Client Overview</xref> introduces the video client utilities. </p> <p><b>Introduction</b> </p> <p>The video player utility is used to open, play, and obtain information from sampled video data. This functionality is implemented by the <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita"><apiname>CVideoPlayerUtility</apiname></xref> class. The video data can be supplied either in a file, a descriptor or a URL. </p> </section> <section><title>Using Video Player </title> <p>The following tasks will be covered in this tutorial: </p> <ul><li id="GUID-0A783BCE-7C87-5EE1-BFDA-BD2847CF1E4F"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-18902F43-1F13-5A91-84AD-94732560A554">Set the Display Window</xref>  </p> </li> <li id="GUID-4A64B04C-737D-587E-BBA4-478EE453EC82"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-CDD3561D-84E4-5524-9593-5055659B6CB0"> Query and Set the Volume</xref>  </p> </li> <li id="GUID-15F0C370-6460-5D6D-8CDB-B042CBD4A7C6"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-BBCD720C-1276-5D6C-B9E6-1946EE019987">Query and Set the Balance</xref>  </p> </li> <li id="GUID-ACB66213-E77F-5F93-BF2D-A7DEECFA10D1"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-7666501B-196B-5FE9-A331-311B11BF7954">Query and Set the Priority</xref>  </p> </li> <li id="GUID-7E7ACD89-0ECB-5CD7-A550-571BC8F8FE1C"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-8B88F87D-A3F0-5521-92DA-C74EE2D942A8">Query and Set the Bit and Frame Rate</xref>  </p> </li> <li id="GUID-1ED08DD8-4D68-52AF-89DA-7617BCE9A388"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-7D998004-DC09-5328-B2EE-AA363FB2D1C5">Query and Set the Current Playback Position</xref>  </p> </li> <li id="GUID-ADFC9AEB-30BE-56A0-B2C0-F6F2E7D12C2E"><p><xref href="GUID-F9896E96-1076-552D-AE54-8F9DABED867F.dita#GUID-F9896E96-1076-552D-AE54-8F9DABED867F/GUID-0A67AED6-860A-5D84-9CE3-6E30A673DD82">Query and Set the MIME and Codec Type</xref>  </p> </li> </ul> <p id="GUID-18902F43-1F13-5A91-84AD-94732560A554"><b>Setting the Display Window</b> </p> <p>The high level steps to set the display window are shown here: </p> <ul><li id="GUID-86A3CE74-3BC6-5C40-B9D4-9A6D89C2D059"><p> <xref href="GUID-0F1F8AC6-B99F-3274-A785-9977197AF762.dita#GUID-0F1F8AC6-B99F-3274-A785-9977197AF762/GUID-34881891-A618-3E46-B6E2-3BA63324C0D7"><apiname>CVideoPlayerUtility::SetDisplayWindowL</apiname></xref>: This is used to provide the video controller with an area of display to render the current video frame. It can be represented pictorially as shown below: </p> <fig id="GUID-FAA210BE-66AB-5B23-AD33-F623B30AE305"><title>
                      Video display regions 
-                  </title> <image href="GUID-1E25EE44-9421-549C-B79E-AEFE87308011_d0e519273_href.png" placement="inline"/></fig> <p>The screeenRect specifies the area within the window provided for displaying the video image. This rectangle is in screen coordinates. The video frame will be fitted to this rectangle as best possible, while maintaining the original aspect ratio. </p> <p>The ClipRect specifies the region to draw. The drawn region will be the intersection between the ClipRect and the ScreenRect. </p> <p>A crop region is defined as a region in the source video frame. The cropped region is displayed in the center of the ScreenRect with the same scaling as if it was displayed as part of the whole image. This could be used to zoom in on a region by setting the crop region, and setting the scale factor to fill the WindowRect. </p> <codeblock id="GUID-3F331C91-F37E-5575-9994-A162E3C88EAD" xml:space="preserve">void CPlayVideo::SetDisplayWindowL(RWsSession &amp;aWs, CWsScreenDevice &amp;aScreenDevice, RWindowBase &amp;aWindow, const TRect &amp;aWindowRect, const TRect &amp;aClipRect)
+                  </title> <image href="GUID-1E25EE44-9421-549C-B79E-AEFE87308011_d0e526733_href.png" placement="inline"/></fig> <p>The screeenRect specifies the area within the window provided for displaying the video image. This rectangle is in screen coordinates. The video frame will be fitted to this rectangle as best possible, while maintaining the original aspect ratio. </p> <p>The ClipRect specifies the region to draw. The drawn region will be the intersection between the ClipRect and the ScreenRect. </p> <p>A crop region is defined as a region in the source video frame. The cropped region is displayed in the center of the ScreenRect with the same scaling as if it was displayed as part of the whole image. This could be used to zoom in on a region by setting the crop region, and setting the scale factor to fill the WindowRect. </p> <codeblock id="GUID-3F331C91-F37E-5575-9994-A162E3C88EAD" xml:space="preserve">void CPlayVideo::SetDisplayWindowL(RWsSession &amp;aWs, CWsScreenDevice &amp;aScreenDevice, RWindowBase &amp;aWindow, const TRect &amp;aWindowRect, const TRect &amp;aClipRect)
     {
     iVideoUtility-&gt;SetDisplayWindowL(aWs, aScreenDevice, aWindow, aWindowRect, aClipRect);
     }
Binary file Symbian3/PDK/Source/GUID-F99938E9-9E06-53C0-B762-2CE51BC5F1E2_d0e679667_href.png has changed
Binary file Symbian3/PDK/Source/GUID-F99938E9-9E06-53C0-B762-2CE51BC5F1E2_d0e692494_href.png has changed
--- a/Symbian3/PDK/Source/GUID-F9BEC749-D535-55EA-8601-A961EA1E441B.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F9BEC749-D535-55EA-8601-A961EA1E441B.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -325,7 +325,7 @@
 the Bluetooth GPS PSY in ROM</linktext></link>
 <link href="GUID-731CE582-91A4-59E0-9004-227FBCFC7D3F.dita"><linktext>Packaging
 the Bluetooth GPS PSY in a SIS File</linktext></link>
-<link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning
+<link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning
 Plug-in Information API</linktext></link>
 <link href="GUID-F84E7419-7F31-5E18-8854-27CB1F9F890E.dita"><linktext>Bluetooth
 GPS PSY Settings Storage API</linktext></link>
--- a/Symbian3/PDK/Source/GUID-F9E10A82-88E9-57AA-AFEE-3C1A21BF05BC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-F9E10A82-88E9-57AA-AFEE-3C1A21BF05BC"><title>target</title><prolog><metadata><keywords/></metadata></prolog><conbody><p><codeph>abld</codeph> [ test ] <codeph>target</codeph> <codeph> ( ( [-c] | [-w] ) | ( [-s] [-k] [-v] ) )</codeph> [ <varname>platform</varname> ] [ <varname>build</varname> [ <varname>program</varname> ] ]</p> <p>This command builds the executables for your component.</p> <p>Since, in the makefiles generated by makmake, the main target is dependent upon the <codeph>RESOURCE</codeph> and <codeph>LIBRARY</codeph> targets, resources and import libraries will also be created when the main target is built. </p> <p>Executables will not be regenerated where they have later datestamps than the source files they depend upon.</p> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FA12B3F7-4E84-5BBD-8598-9A974FFA7FCC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FA12B3F7-4E84-5BBD-8598-9A974FFA7FCC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -41,7 +41,7 @@
 <fig id="GUID-09B31A56-73AF-5C89-87A7-E68A435FCDAD">
 <title>           Figure 1 - How Root Server and Root Server relate, and the
 steps           involved during startup          </title>
-<image href="GUID-4DB70D45-1E74-5357-9824-566962316E12_d0e139221_href.png" placement="inline"/>
+<image href="GUID-4DB70D45-1E74-5357-9824-566962316E12_d0e141470_href.png" placement="inline"/>
 </fig>
 <p>Root Server Configurator is configured by two types of files: <xref href="GUID-10A0DC8C-70B3-53D0-B63F-786C4BAB36CF.dita">CMI
 files</xref>, and the <xref href="GUID-B5FC3F90-9669-5DED-A6E2-CB927273850B.dita">c32start.ini</xref> file. </p>
--- a/Symbian3/PDK/Source/GUID-FA18838A-F0C6-5241-8913-BFB46571D908.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-FA18838A-F0C6-5241-8913-BFB46571D908"><title>Device-level code</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Drivers for native ARM-based targets access real hardware, while under WINSCW, you use Win32 facilities to access or emulate hardware. This means that WINSCW device-level code must be substantially different from that used by native targets.</p> <p>First, you will need substantial conditional compilation. Device drivers will need full testing under both WINSCW and ARM targets. In general, a WINSCW device driver is best considered as a separate project from a corresponding native target device driver.</p> <p>Usually, in order to implement this kind of code, you will also need to access Win32 libraries. Specify them using <filepath>.mmp</filepath> specifications such as:</p> <codeblock id="GUID-2CF2B4E3-8FA7-5B0A-8FE5-AA27FCEE6453" xml:space="preserve">start wins
-win32_library kernel32.lib gdi.lib
-end</codeblock> </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FA5A24BE-F4AF-5EC3-8969-6184A5A5BBFA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FA5A24BE-F4AF-5EC3-8969-6184A5A5BBFA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -48,7 +48,7 @@
 following diagram shows the Cellular Baseband Service collections, and the
 components in each collection. </p> <fig id="GUID-496C0942-FE0C-5386-AB80-AA917CB8B55D">
 <title>              Cellular Baseband Services: Collections            </title>
-<image href="GUID-C4EFAB2B-5154-56E0-A4B7-234A5EABB796_d0e39288_href.png" placement="inline"/>
+<image href="GUID-C4EFAB2B-5154-56E0-A4B7-234A5EABB796_d0e43522_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-F1E897C4-5B8A-4830-BB2D-A7EFCA8CA03A"><title>Technologies </title> <ul>
 <li id="GUID-7A49EAF6-C18D-5D3F-B553-C8262C469934"><p> <b>SIM Application
Binary file Symbian3/PDK/Source/GUID-FAC309FE-B7DA-572B-9165-BC9BEF944D83_d0e548989_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FAC309FE-B7DA-572B-9165-BC9BEF944D83_d0e556445_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FAD4A8FF-CD83-56E5-B469-5670ED873AD5.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FAD4A8FF-CD83-56E5-B469-5670ED873AD5.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -30,7 +30,7 @@
 #endif // SYMBIAN_EXCLUDE_LOCATION
 #endif // __LBS_NETPSY_IBY__
 
-</codeblock> </p> <p>The file <codeph>10285abe.cre</codeph> is the central repository initialisation file that defines the values specified by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to register the Network PSY with the LBS subsystem. </p> </li> </ul> </section> <section><title> To use the Network PSY in an emulator </title> <p>The LBS code build process uses the project file <codeph>lbsnetpsy.mmp</codeph> to build the Network PSY DLL and copy the ECom resource file to the winscw directory. The Network PSY is therefore available for use in an emulator. </p> </section> </conbody><related-links><link href="GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5.dita"><linktext>Network PSY
-                Overview</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-18-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita"><linktext>LBS ROM
+</codeblock> </p> <p>The file <codeph>10285abe.cre</codeph> is the central repository initialisation file that defines the values specified by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita">Positioning Plug-in Information API</xref> to register the Network PSY with the LBS subsystem. </p> </li> </ul> </section> <section><title> To use the Network PSY in an emulator </title> <p>The LBS code build process uses the project file <codeph>lbsnetpsy.mmp</codeph> to build the Network PSY DLL and copy the ECom resource file to the winscw directory. The Network PSY is therefore available for use in an emulator. </p> </section> </conbody><related-links><link href="GUID-178F91C8-32F4-5CD3-B81D-F0A6C45097E5.dita"><linktext>Network PSY
+                Overview</linktext> </link> <link href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-12-1-19-1-1-10-1-5-1-5-1-8-1.dita"><linktext>Positioning Plug-in Information API</linktext> </link> <link href="GUID-5B39D732-7252-57EB-BA74-FC8718ED45E4.dita"><linktext>LBS ROM
                 macros</linktext> </link> <link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>LBS
                 Integration and Configuration guide</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FAFDBFC2-BFFF-536C-A96D-8404C389DD0C.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-FAFDBFC2-BFFF-536C-A96D-8404C389DD0C"><title>unpagedcode</title><prolog><metadata><keywords/></metadata></prolog><conbody><p> <codeph>unpagedcode</codeph>  </p> <p>Use the <codeph>unpagedcode</codeph> statement to specify that the executable is not code paged. </p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-FB12481D-B3F6-5901-A0DC-DF92BCED3B18_d0e210633_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-FB12481D-B3F6-5901-A0DC-DF92BCED3B18_d0e216634_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e430653_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e436498_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e597614_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e616455_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB45BC8B-FE99-5616-9270-132C4174DAE7_d0e625508_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB479891-8788-5548-B875-A5C637EC2DE6_d0e219494_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB479891-8788-5548-B875-A5C637EC2DE6_d0e225514_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB654184-C256-546F-AF6C-E0FADA78D5D0_d0e316335_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB654184-C256-546F-AF6C-E0FADA78D5D0_d0e322325_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e382289_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e388142_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FBB9ED48-3C0F-4B2D-90FC-52127698F253.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FBB9ED48-3C0F-4B2D-90FC-52127698F253.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -20,7 +20,7 @@
 <p><i>IPv4/IPv6 dual-stack</i> enables applications to choose the protocol
 to use or automatically select it according to address type. This feature
 is supported from Symbian OS v7.0s onwards.</p>
-<fig id="GUID-E46DA5BE-AB7E-40C6-9A75-1BB7E9D21034"><title>IPv4/IPv6 dual-protocol stack</title><image href="GUID-D81EAF75-EF8C-4B62-8866-439E29325E8A_d0e14240_href.png"/></fig>
+<fig id="GUID-E46DA5BE-AB7E-40C6-9A75-1BB7E9D21034"><title>IPv4/IPv6 dual-protocol stack</title><image href="GUID-D81EAF75-EF8C-4B62-8866-439E29325E8A_d0e14339_href.png"/></fig>
 <p>It is possible to establish a secure connection from application to
 application and also from router to router. Security features implemented
 in low-level protocols (like IPv6) are automatically available to higher-level
Binary file Symbian3/PDK/Source/GUID-FBBC7F0D-FD4B-58B7-BEAC-B68EEBD19ACF_d0e106444_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FBBC7F0D-FD4B-58B7-BEAC-B68EEBD19ACF_d0e108887_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FBC9FA67-847F-599B-B244-3E9B72D40505_d0e536307_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-FBC9FA67-847F-599B-B244-3E9B72D40505_d0e543767_href.jpg has changed
Binary file Symbian3/PDK/Source/GUID-FBF2ED6F-D1C5-5368-96C2-FCF38234BF43_d0e275334_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FBF2ED6F-D1C5-5368-96C2-FCF38234BF43_d0e281334_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FC230C68-18FC-5DB9-A5B2-942B48DC5590_d0e549001_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FC230C68-18FC-5DB9-A5B2-942B48DC5590_d0e556457_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FC929B37-20E1-5DA7-91A7-CBBED2E69A6E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FC929B37-20E1-5DA7-91A7-CBBED2E69A6E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,60 +1,50 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE task
-  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
-<task id="GUID-FC929B37-20E1-5DA7-91A7-CBBED2E69A6E" xml:lang="en"><title>Getting
-Equivalent and Nearest Equivalent Languages </title><shortdesc>This section describes how to call functions of <codeph>BaflUtils</codeph> to
-get an equivalent language list and a nearest equivalent language. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
-<prereq id="GUID-03EE02F1-492A-463A-A64B-9BA086897FAE"><p>This tutorial assumes that you have an understanding of the following
-topics: </p> <ul>
-<li id="GUID-3AECC912-FD5E-5837-BB83-763A6536DA73"><p><xref href="GUID-10A50B7C-63DB-599B-86C1-17989595CBD2.dita">Equivalent
-Language Reference</xref> explains the equivalent language table, including
-the equivalent language list and its priority. </p> </li>
-<li id="GUID-BA05E8FE-F6CB-51CE-BA16-39D95631F533"><p><xref href="GUID-28227926-2D5A-500C-B2BC-0EE6CC077DBE.dita">About
-Application Resources</xref> describes the purpose of resource files. </p> </li>
-<li id="GUID-17BB5D28-C2F7-5B8F-A2AE-36CE1ED04B42"><p><xref href="GUID-F35C5336-907C-5B2A-92C6-F8883D49996E.dita">How
-to Localize Resources</xref> describes language-neutral and language-dependent
-resource files. </p> </li>
-</ul> </prereq>
-<context id="GUID-11BBC0DD-7E59-423E-81C3-39FA5E5943C4"><p> <xref href="GUID-5F9CAA3E-D8BF-3488-9797-3B9FB4452930.dita"><apiname>BaflUtils</apiname></xref> provides the following two static
-functions to get the equivalent language list and a nearest equivalent language: </p> <ul>
-<li id="GUID-42B035C0-34C1-585E-8195-B317C694018C"><codeblock id="GUID-0686FF33-BE2D-597C-8CC7-422AE32F1554" xml:space="preserve">GetEquivalentLanguageList(TLanguage aLang, TLanguagePath&amp; aEquivalents)</codeblock> <p>For a given language (<xref href="GUID-698538DF-DCDC-347B-BD32-DD9EB896BAFB.dita"><apiname>TLanguage</apiname></xref>), it returns an array
-(<xref href="GUID-2533E3D6-D0D8-3638-847D-C5DED07557BD.dita"><apiname>TLanguagePath</apiname></xref>) which contains the equivalent languages.
-If no equivalent language is found, <codeph>ELangNone</codeph> is returned. </p> </li>
-<li id="GUID-B2CBF4AA-9F96-59E7-BBD1-C069FEF0EACD"><codeblock id="GUID-6C39809C-E824-52B1-8E87-6EE36F333E4D" xml:space="preserve">NearestLanguageFileV2(const RFs&amp; aFs,TFileName&amp; aName, TLanguage&amp; aLanguage)</codeblock> <p>A <xref href="GUID-698538DF-DCDC-347B-BD32-DD9EB896BAFB.dita"><apiname>TLanguage</apiname></xref> value is used at the end of a resource
-file name to identify a resource file for a language. For example, <filepath>filename.r01</filepath> and <filepath>filename.r02</filepath> are
-the English and French versions of the <filepath>filename.rsc</filepath> resource
-file. </p> <p>An application calls <codeph>BaflUtils::NearestLanguageFileV2()</codeph> to
-determine which localized resource file is the closest to the current system
-language. The function searches the following drives in the given sequence
-for the available resource files, which have the same file name (without extension)
-as <codeph>aName</codeph>. Once the resource files are searched on a drive,
-the function stops searching on the next drive. </p> <ul>
-<li id="GUID-8BD6E006-7369-559A-AD7E-7192E7F2C400"><p>The custom resource
-drive if it is set using the <codeph>HAL::ECustomResourceDrive</codeph> attribute
-or the legacy <codeph>HAL::ESystemDrive</codeph> attribute. </p> </li>
-<li id="GUID-E361606A-6E26-5E25-9C0E-429047947BB4"><p>The optional drive if
-it is specified in the <codeph>aName</codeph> parameter. </p> </li>
-<li id="GUID-D905BA6F-72BE-535E-8225-0018F08E4EAB"><p> <filepath>Z:</filepath> drive
-if the optional drive is not set in the <codeph>aName</codeph> parameter. </p> </li>
-</ul> <p>The current system language is then taken as a given language. All
-the available resource file names are prioritized according to the <xref href="GUID-10A50B7C-63DB-599B-86C1-17989595CBD2.dita">equivalent
-language list</xref>. The resource file name with the highest priority is
-returned. </p> </li>
-</ul> </context>
-<steps-unordered>
-<step id="GUID-66A7C747-5484-4BAE-9FCD-A6ECF136DF0F"><cmd><xref href="GUID-A6A6BC5B-4988-45B4-863D-0E3733B77EA2.dita">Getting
-an Equivalent Language List</xref></cmd>
-</step>
-<step id="GUID-A1A4F1ED-DD97-4386-81EB-D41033DA1725"><cmd><xref href="GUID-DDA0ECF7-BC92-4AFB-998F-5FDD300655FB.dita">Getting
-a Nearest Equivalent Language</xref></cmd>
-</step>
-</steps-unordered>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-FC929B37-20E1-5DA7-91A7-CBBED2E69A6E" xml:lang="en"><title>Getting Equivalent and Nearest Equivalent Languages </title><shortdesc>This section describes how to call functions of <codeph>BaflUtils</codeph> to get an equivalent language list and a nearest
+equivalent language. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<prereq id="GUID-03EE02F1-492A-463A-A64B-9BA086897FAE"><p>This tutorial
+assumes that you have an understanding of <xref href="GUID-10A50B7C-63DB-599B-86C1-17989595CBD2.dita">Equivalent Language
+Reference</xref> which explains the equivalent language table, including
+the equivalent language list and its priority.</p> </prereq>
+<context id="GUID-11BBC0DD-7E59-423E-81C3-39FA5E5943C4"><p> <xref href="GUID-5F9CAA3E-D8BF-3488-9797-3B9FB4452930.dita"><apiname>BaflUtils</apiname></xref> provides the following two static functions to
+get the equivalent language list and a nearest equivalent language: </p> <ul>
+<li id="GUID-42B035C0-34C1-585E-8195-B317C694018C"><codeblock id="GUID-0686FF33-BE2D-597C-8CC7-422AE32F1554" xml:space="preserve">GetEquivalentLanguageList(TLanguage aLang, TLanguagePath&amp; aEquivalents)</codeblock> <p>For a given language (<xref href="GUID-698538DF-DCDC-347B-BD32-DD9EB896BAFB.dita"><apiname>TLanguage</apiname></xref>), it returns
+an array (<xref href="GUID-2533E3D6-D0D8-3638-847D-C5DED07557BD.dita"><apiname>TLanguagePath</apiname></xref>) which contains the equivalent
+languages. If no equivalent language is found, <codeph>ELangNone</codeph> is returned. </p> </li>
+<li id="GUID-B2CBF4AA-9F96-59E7-BBD1-C069FEF0EACD"><codeblock id="GUID-6C39809C-E824-52B1-8E87-6EE36F333E4D" xml:space="preserve">NearestLanguageFileV2(const RFs&amp; aFs,TFileName&amp; aName, TLanguage&amp; aLanguage)</codeblock> <p>A <xref href="GUID-698538DF-DCDC-347B-BD32-DD9EB896BAFB.dita"><apiname>TLanguage</apiname></xref> value is used at the end of a
+resource file name to identify a resource file for a language. For
+example, <filepath>filename.r01</filepath> and <filepath>filename.r02</filepath> are the English and French versions of the <filepath>filename.rsc</filepath> resource file. </p> <p>An application calls <codeph>BaflUtils::NearestLanguageFileV2()</codeph> to determine which localized resource file is the closest to the
+current system language. The function searches the following drives
+in the given sequence for the available resource files, which have
+the same file name (without extension) as <codeph>aName</codeph>.
+Once the resource files are searched on a drive, the function stops
+searching on the next drive. </p> <ul>
+<li id="GUID-8BD6E006-7369-559A-AD7E-7192E7F2C400"><p>The custom resource
+drive if it is set using the <codeph>HAL::ECustomResourceDrive</codeph> attribute or the legacy <codeph>HAL::ESystemDrive</codeph> attribute. </p> </li>
+<li id="GUID-E361606A-6E26-5E25-9C0E-429047947BB4"><p>The optional
+drive if it is specified in the <codeph>aName</codeph> parameter. </p> </li>
+<li id="GUID-D905BA6F-72BE-535E-8225-0018F08E4EAB"><p> <filepath>Z:</filepath> drive if the optional drive is not set in the <codeph>aName</codeph> parameter. </p> </li>
+</ul> <p>The current system language is then taken as a given language.
+All the available resource file names are prioritized according to
+the <xref href="GUID-10A50B7C-63DB-599B-86C1-17989595CBD2.dita">equivalent
+language list</xref>. The resource file name with the highest priority
+is returned. </p> </li>
+</ul> </context>
+<steps-unordered>
+<step id="GUID-66A7C747-5484-4BAE-9FCD-A6ECF136DF0F"><cmd><xref href="GUID-A6A6BC5B-4988-45B4-863D-0E3733B77EA2.dita">Getting an Equivalent
+Language List</xref></cmd>
+</step>
+<step id="GUID-A1A4F1ED-DD97-4386-81EB-D41033DA1725"><cmd><xref href="GUID-DDA0ECF7-BC92-4AFB-998F-5FDD300655FB.dita">Getting a Nearest
+Equivalent Language</xref></cmd>
+</step>
+</steps-unordered>
 </taskbody></task>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-FCA90B94-B0D1-5479-A1BF-28758FB830E5_d0e230975_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FCA90B94-B0D1-5479-A1BF-28758FB830E5_d0e236970_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FCC51FFE-DC34-5168-9564-8F30273DE1BD_d0e514193_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FCC51FFE-DC34-5168-9564-8F30273DE1BD_d0e521657_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FCE138BF-A471-5864-AE4C-8D89EF5F2BB9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-FCE138BF-A471-5864-AE4C-8D89EF5F2BB9" xml:lang="en"><title>Symbian
-Emulator target using Metrowerks CodeWarrior</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>This page describes how to build for the Symbian emulator using the Metrowerks
-CodeWarrior compiler. The Symbian emulator is also known as the WINSCW build
-target. </p>
-<section><title>Building from the command line</title> <p>To build for WINSCW,
-with <filepath>abld</filepath> use: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
-build winscw [udeb | urel]</userinput> </p> <p>Binaries are generated in the <filepath>udeb</filepath> and/or <filepath>urel</filepath> sub-directories
-of the <filepath>epoc32\release\winscw\</filepath> directory. </p> </section>
-<section><title>Building from the CodeWarrior IDE</title> <p>You can build
-applications for a WINSCW Symbian emulator using the CodeWarrior compiler
-from the CodeWarrior IDE. You can also build for ARM targets from the IDE:
-this invokes the native toolchain, rather than CodeWarrior's own compiler. </p> <p>The
-simplest way to use CodeWarrior, is, after defining a <filepath>bld.inf</filepath> file
-and a <filepath>.mmp</filepath> file, choose the <systemoutput>File      
-    | Import project from .mmp file</systemoutput> command. CodeWarrior then
-reads the <filepath>.mmp</filepath> file that you select, and generates and
-opens a CodeWarrior project. You can then use the normal CodeWarrior commands
-to run, build, and debug the project. </p> <p>If later you change the <filepath>.mmp</filepath> file,
-you can use the same commands to regenerate the IDE workspace. Changes you
-make to the project made through the IDE, such as adding a source file, are
-not automatically written to the <filepath>.mmp</filepath> file, but it is
-good practice to manually keep the <filepath>.mmp</filepath> file up to date
-with any changes made. </p> <p>The IDE project files have special build steps
-which invoke the resource compiler, so for projects that use resources, this
-does not need to be run separately. </p><p><b>Alternative method </b> </p> <p>A
-slightly longer method is available that creates a CodeWarrior IDE project
-from the command line. To do this, run <codeph>bldmake bldfiles</codeph> as
-described, and then, to generate a CodeWarrior IDE project, use: </p> <p><userinput>abld
-makefile CW_IDE</userinput> </p> <p>This creates an importable project file <varname>project-name</varname> <filepath>.xml</filepath> in
-the directory <filepath>&lt;path&gt;\epoc32\build\</filepath> <varname>absolute_path_to_mmp_file</varname> <filepath>\</filepath> <varname>mmp_basename</varname> <filepath>\winscw\</filepath>. </p> <p>You can now tell CodeWarrior to read
-this file and from it generate a project file of its own native type (an <filepath>.mcp</filepath> file).
-Start CodeWarrior, choose the <systemoutput>File | Import Project...</systemoutput> command,
-select the <filepath>HelloWorld.xml</filepath> file, and choose a name for
-the CodeWarrior project (such as <filepath>HelloWorld</filepath> again). CodeWarrior
-will now generate and load the project, which you can build, run, debug, etc.
-using the normal IDE commands. </p> </section>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 A FEP places its control on the stack with a high priority such that it has
 first access to key events. </p> <fig id="GUID-55FA95ED-227B-560E-98B4-CCFB8E42A216">
 <title>                 FEP Base               </title>
-<image href="GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e77047_href.png" placement="inline"/>
+<image href="GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e81260_href.png" placement="inline"/>
 </fig> <p>The Window Server provides support for windows that float above
 other windows in the application. This allows a FEP to have a visible presence. </p> <p>Each
 running application has its own instance of the current FEP. Support is provided
Binary file Symbian3/PDK/Source/GUID-FCFF0750-0AE9-5F51-B4F7-B1655E1AD244_d0e317480_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FCFF0750-0AE9-5F51-B4F7-B1655E1AD244_d0e323470_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e241381_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e247389_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FD1916A9-694B-5CC6-A79C-493F754F0E64.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FD1916A9-694B-5CC6-A79C-493F754F0E64.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-FD1916A9-694B-5CC6-A79C-493F754F0E64"><title>Location Management Overview</title><shortdesc>This document describes the purpose of the Location Management collection. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-AD5F9449-E162-58B7-A746-710484C635BC"><title>Purpose</title> <p>The Location Management collection contains two location management components: the A-GPS Location Manager and the Network Location Manager that handle location requests sent from the Location Server and the Network Request Handler. </p> <p>The collection contains the Network Gateway component that provides the interface between the LBS subsystem and a telecommunications network. </p> <p>The collection also contains an Location Admin component that contains common libraries that are used by many components of the LBS subsystem. </p> </section> <section id="GUID-F67B4352-4512-59F6-AFB1-C807233D362C"><title>Architecture</title> <p>Figure 1 shows this collection within the context of the LBS system model. </p> <fig id="GUID-C1D8D8A2-9A1D-5A4F-8BA5-760497F7C0E2"><title>
              Figure 1. Location Management collection in the LBS system model. 
-          </title> <image href="GUID-358634A7-8757-5D4C-B967-8040B7F39102_d0e434370_href.png" placement="inline"/></fig> </section> <section id="GUID-91E11F62-8E74-5803-B1C3-3C087B164684"><title>Description</title> <p>The three main functions provided by this collection are as follows: </p> <ul><li id="GUID-77874ED0-3FBC-5E50-9756-037CF4D15706"><p>Location management. </p> <p>The A-GPS Location Manager and the Network Location Manager provide location management functions. </p> </li> <li id="GUID-399A4D45-4F7B-5A8D-86C5-59FBF4805E38"><p>Network connectivity. </p> <p>The Network Gateway provides network connectivity to the LBS subsystem. </p> </li> <li id="GUID-3B322B9D-1DA4-5FC2-922E-864D0DBA90C7"><p>Shared data types and library functions that are used throughout the LBS subsystem. </p> <p>The Location Admin component contains these data types and libraries. </p> </li> </ul> </section> <section id="GUID-0ECD0C29-81C9-5B92-8D2A-2458D323D0D6"><title>Components</title> <p>The Location Management collection contains the following components: </p> <ul><li id="GUID-4BE5542B-F98A-5572-B001-AAB6DAE70495"><p> <xref href="GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita">A-GPS Location Manager</xref>  </p> <p>The A-GPS Location Manager handles location requests from the Location Sever and the Network Request Handler that require the use of GPS. It loads an ECom plug-in that implements the <xref href="GUID-8F2BA0D3-1549-5837-A105-3AB484CDB80B.dita">A-GPS Location Data Source API</xref>, such as the <xref href="GUID-B66A425F-3C65-5BF5-ADA2-E25EB7267681.dita">A-GPS Integration Module</xref> of the Data Source Modules collection. </p> </li> <li id="GUID-22869B87-4227-52CE-826E-BD607A171CA0"><p> <xref href="GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF.dita">Network Location Manager</xref>  </p> <p>The Network Location Manager handles location requests from the Location Server that require the use of network based positioning methods, such as Cell ID and Enhanced Cell ID. </p> </li> <li id="GUID-05E46597-7747-55F5-B7CD-26B9EFC14423"><p> <xref href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita">Network Gateway</xref>  </p> <p>The Network Gateway is the interface between the LBS subsystem and a network. It sends and receives location based services privacy and location requests. </p> <p>The Network Gateway must load at least one Protocol Module. The Network Gateway loads a Protocol Module from the <xref href="GUID-01C03839-C88B-5FC3-9E0E-686415888B63.dita">Network Adaptation</xref> collection (or a Protocol Module developed by a device creator) to support a specific network protocol. </p> </li> <li id="GUID-8DEB2C1C-E784-5F16-BD69-362C79615BFF"><p> <xref href="GUID-45980E0C-4DA4-5AC1-8721-490442DA7F3C.dita">Location Admin</xref>  </p> <p>The Location Admin component contains several important libraries that are used by different components of the LBS subsystem and by client applications. </p> </li> </ul> </section> <section id="GUID-2462B3F0-6697-5E93-9284-5DCF5D1BE788"><title>Using the Location Management collection</title> <p>The A-GPS Location Manager and Network Location Manager are components used internally by the LBS subsystem. Application programmers and device creators have no direct interaction with these components. </p> <p>A device creator must install and configure a Protocol Module to allow the Network Gateway to process privacy requests and (optionally) location requests. Symbian provides two Protocol Modules that device creators can use in their products. See <xref href="GUID-01C03839-C88B-5FC3-9E0E-686415888B63.dita">Network Adaptation</xref> for more information about these Protocol Modules. Alternatively, a device creator can implement their own Protocol Module by implementing the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref>. </p> <p>The Location Admin component contains a set of loosely related interfaces and data types that are used by many components of the LBS subsystem. See <xref href="GUID-45980E0C-4DA4-5AC1-8721-490442DA7F3C.dita">Location Admin</xref> for more information about the APIs provided by this component. </p> </section> </conbody><related-links><link href="GUID-45980E0C-4DA4-5AC1-8721-490442DA7F3C.dita"><linktext>Location Admin</linktext> </link> <link href="GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita"><linktext>A-GPS
+          </title> <image href="GUID-358634A7-8757-5D4C-B967-8040B7F39102_d0e440215_href.png" placement="inline"/></fig> </section> <section id="GUID-91E11F62-8E74-5803-B1C3-3C087B164684"><title>Description</title> <p>The three main functions provided by this collection are as follows: </p> <ul><li id="GUID-77874ED0-3FBC-5E50-9756-037CF4D15706"><p>Location management. </p> <p>The A-GPS Location Manager and the Network Location Manager provide location management functions. </p> </li> <li id="GUID-399A4D45-4F7B-5A8D-86C5-59FBF4805E38"><p>Network connectivity. </p> <p>The Network Gateway provides network connectivity to the LBS subsystem. </p> </li> <li id="GUID-3B322B9D-1DA4-5FC2-922E-864D0DBA90C7"><p>Shared data types and library functions that are used throughout the LBS subsystem. </p> <p>The Location Admin component contains these data types and libraries. </p> </li> </ul> </section> <section id="GUID-0ECD0C29-81C9-5B92-8D2A-2458D323D0D6"><title>Components</title> <p>The Location Management collection contains the following components: </p> <ul><li id="GUID-4BE5542B-F98A-5572-B001-AAB6DAE70495"><p> <xref href="GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita">A-GPS Location Manager</xref>  </p> <p>The A-GPS Location Manager handles location requests from the Location Sever and the Network Request Handler that require the use of GPS. It loads an ECom plug-in that implements the <xref href="GUID-8F2BA0D3-1549-5837-A105-3AB484CDB80B.dita">A-GPS Location Data Source API</xref>, such as the <xref href="GUID-B66A425F-3C65-5BF5-ADA2-E25EB7267681.dita">A-GPS Integration Module</xref> of the Data Source Modules collection. </p> </li> <li id="GUID-22869B87-4227-52CE-826E-BD607A171CA0"><p> <xref href="GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF.dita">Network Location Manager</xref>  </p> <p>The Network Location Manager handles location requests from the Location Server that require the use of network based positioning methods, such as Cell ID and Enhanced Cell ID. </p> </li> <li id="GUID-05E46597-7747-55F5-B7CD-26B9EFC14423"><p> <xref href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita">Network Gateway</xref>  </p> <p>The Network Gateway is the interface between the LBS subsystem and a network. It sends and receives location based services privacy and location requests. </p> <p>The Network Gateway must load at least one Protocol Module. The Network Gateway loads a Protocol Module from the <xref href="GUID-01C03839-C88B-5FC3-9E0E-686415888B63.dita">Network Adaptation</xref> collection (or a Protocol Module developed by a device creator) to support a specific network protocol. </p> </li> <li id="GUID-8DEB2C1C-E784-5F16-BD69-362C79615BFF"><p> <xref href="GUID-45980E0C-4DA4-5AC1-8721-490442DA7F3C.dita">Location Admin</xref>  </p> <p>The Location Admin component contains several important libraries that are used by different components of the LBS subsystem and by client applications. </p> </li> </ul> </section> <section id="GUID-2462B3F0-6697-5E93-9284-5DCF5D1BE788"><title>Using the Location Management collection</title> <p>The A-GPS Location Manager and Network Location Manager are components used internally by the LBS subsystem. Application programmers and device creators have no direct interaction with these components. </p> <p>A device creator must install and configure a Protocol Module to allow the Network Gateway to process privacy requests and (optionally) location requests. Symbian provides two Protocol Modules that device creators can use in their products. See <xref href="GUID-01C03839-C88B-5FC3-9E0E-686415888B63.dita">Network Adaptation</xref> for more information about these Protocol Modules. Alternatively, a device creator can implement their own Protocol Module by implementing the <xref href="GUID-8985B028-4BCD-5858-B22F-EECC52B7B9EB.dita">Network Protocol Module API</xref>. </p> <p>The Location Admin component contains a set of loosely related interfaces and data types that are used by many components of the LBS subsystem. See <xref href="GUID-45980E0C-4DA4-5AC1-8721-490442DA7F3C.dita">Location Admin</xref> for more information about the APIs provided by this component. </p> </section> </conbody><related-links><link href="GUID-45980E0C-4DA4-5AC1-8721-490442DA7F3C.dita"><linktext>Location Admin</linktext> </link> <link href="GUID-AB397519-AE26-5DBC-8D00-1961E2E0F734.dita"><linktext>A-GPS
                 Location Manager</linktext> </link> <link href="GUID-EE927F50-C1E0-55D9-AFC8-77CEB5617BEF.dita"><linktext>Network Location
                 Manager</linktext> </link> <link href="GUID-C69E4379-F62A-5791-975C-9F3A60D3C6D7.dita"><linktext>Network
                 Gateway</linktext> </link> <link href="GUID-E830C2B3-AB38-5B60-993B-A3EA857F5CDA.dita"><linktext>Location
Binary file Symbian3/PDK/Source/GUID-FD1BB5C6-A042-56C9-8F1F-B51BF9DF5389_d0e597407_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD1BB5C6-A042-56C9-8F1F-B51BF9DF5389_d0e625301_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD21D8B1-EB37-409A-9158-19DBBF1A67B7_d0e101081_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD21D8B1-EB37-409A-9158-19DBBF1A67B7_d0e105166_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD49B745-965F-5CC6-A9FC-D950FDEB00FD_d0e450022_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD49B745-965F-5CC6-A9FC-D950FDEB00FD_d0e455867_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD503B6E-889C-521F-B61A-0EBDCA8CD9AC_d0e581918_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD503B6E-889C-521F-B61A-0EBDCA8CD9AC_d0e631206_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD52DFC5-03CD-4C7A-B118-0D5C90D99F1A_d0e104020_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FD52DFC5-03CD-4C7A-B118-0D5C90D99F1A_d0e99935_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FD8634B8-E522-4AC4-8129-ED807A7754A2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FD8634B8-E522-4AC4-8129-ED807A7754A2.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -21,7 +21,7 @@
 <fig id="GUID-0DEEF003-53B6-5892-8FF2-6684BC424E27">
 <title>                 Device driver logical channel communication      
         </title>
-<image href="GUID-4A2E212E-BC1B-5965-9A62-6309CC7CAAAB_d0e289179_href.png" placement="inline"/>
+<image href="GUID-4A2E212E-BC1B-5965-9A62-6309CC7CAAAB_d0e295171_href.png" placement="inline"/>
 </fig>
 <p>There are two options for implementing this: </p>
 <ol id="GUID-F9FDC221-82F8-569E-B12A-969194137E24">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-FDA575AB-F5A5-4244-B47C-F1B1794F09F6.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-FDA575AB-F5A5-4244-B47C-F1B1794F09F6" xml:lang="en"><title>Subscribing to SIF operation progress</title><shortdesc>Clients must subscribe to SIF operation progress to receive
+status of operations (installation or uninstallation).</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<prereq id="GUID-E8D8FA6D-7CFE-457F-9B3C-E77DC1823132"><p>The client
+applications must link against <filepath>Sifnotification.dll</filepath> . It is the utility library that provides the APIs to subscribe
+for SIF operation progress.</p></prereq>
+<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-5-1-1-6-1-4-1-4-1-6-1-3-2">
+<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-5-1-1-6-1-4-1-4-1-6-1-3-2-1"><cmd>Derive from
+the <xref href="GUID-4683B704-D21C-3D42-82BB-2B4B88B4974C.dita"><apiname>MSifOperationsHandler</apiname></xref> abstract handler class.
+Clients must implement<xref href="GUID-4683B704-D21C-3D42-82BB-2B4B88B4974C.dita"><apiname> MSifOperationsHandler</apiname></xref> interfaces
+to receive notifications. </cmd>
+<info><codeblock xml:space="preserve">Class CMySifOperationHandler : public MSifOperationsHandler
+    {
+    //  Virtual Handler Functions
+    void StartOperationHandler(TUint aKey,const CSifOperationStartData&amp; aStartData);
+    void EndOperationHandler(const CSifOperationEndData&amp; aEndData);
+    void ProgressOperationHandler(const CSifOperationProgressData&amp; aProgressData);
+    private:
+    CSifOperationsNotifier* iNotifier;
+    }
+</codeblock><p>Create a <xref href="GUID-33D234E5-2970-3521-BDB9-EE29C9165856.dita"><apiname>CSifOperationsNotifier</apiname></xref> object
+by passing the handler object. </p><codeblock xml:space="preserve">CMySifOperationHandler::ConstructL()
+    {
+    iNotifier = CSifOperationsNotifier::NewL(*this);
+    }
+</codeblock><p>Implement the virtual functions <xref href="GUID-0AFB93FF-539D-3342-AB9C-8E15C440DB47.dita"><apiname>StartOperationHandler()</apiname></xref>, <xref href="GUID-C2E7966B-6EA5-376D-91E3-2467AF6CCF4E.dita"><apiname>EndOperationHandler()</apiname></xref>, <xref href="GUID-43E7CE06-D669-3BAF-A12E-318C2DD8E49F.dita"><apiname>ProgressOperationHandler()</apiname></xref> .</p><p><xref href="GUID-0AFB93FF-539D-3342-AB9C-8E15C440DB47.dita"><apiname>StartOperationHandler()</apiname></xref> is called when
+a new operation is started. The subscriber must use the <xref href="GUID-33D234E5-2970-3521-BDB9-EE29C9165856.dita#GUID-33D234E5-2970-3521-BDB9-EE29C9165856/GUID-245A356C-D1B4-37B7-BFC6-08D1439156F4"><apiname>CSifOperationsNotifier::SubscribeL()</apiname></xref> to register for progress and end notification for the operation.</p><p><xref href="GUID-33D234E5-2970-3521-BDB9-EE29C9165856.dita#GUID-33D234E5-2970-3521-BDB9-EE29C9165856/GUID-245A356C-D1B4-37B7-BFC6-08D1439156F4"><apiname>CSifOperationsNotifier::SubscribeL()</apiname></xref> must be
+invoked in the implementation of StartOperationHandler(). The first
+parameter is the key to uniquely identify an ongoing operation. The
+second parameter is a boolean  to specify optional subscription to
+progress information. Setting the value to ETrue subscribes to both
+progress and end notification  and setting the value to Efalse subscribes
+to only end notification. </p><codeblock xml:space="preserve">void CMySifOperationHandler::StartOperationHandler(TUint aKey,
+	const CSifOperationStartData&amp; aStartData)
+    {
+    iNotifier-&gt;SubscribeL(aKey, ETrue);
+    DEBUG_PRINTF2(_L8("Subscribing to progress information for component: %S."),
+    aStartData.GlobalComponentId());
+    }</codeblock><p><xref href="GUID-43E7CE06-D669-3BAF-A12E-318C2DD8E49F.dita"><apiname>ProgressOperationHandler()</apiname></xref> is
+invoked when progress update is available .</p><codeblock xml:space="preserve">void ProgressOperationHandler(const CSifOperationProgressData&amp; aProgressData)
+    {
+    DEBUG_PRINTF2(_L8("%S progress: %d out of %d."), aProgressData.GlobalComponentId(),
+    	aProgressData.CurrentProgress(), aProgressData.Total());
+    }</codeblock><p><xref href="GUID-C2E7966B-6EA5-376D-91E3-2467AF6CCF4E.dita"><apiname>EndOperationHandler()</apiname></xref> functions
+are invoked when operation completes.</p><codeblock xml:space="preserve">void CMySifOperationHandler::EndOperationHandler(const CSifOperationEndData&amp; aEndData)
+    {
+    DEBUG_PRINTF2(_L8("SIF operation on %S is complete."),  
+    	aEndData.GlobalComponentId());
+    DEBUG_PRINTF2(_L8("ErrorCode: %d."), aEndData.ErrorCode());
+    DEBUG_PRINTF2(_L8("ErrorMessage: %S."), aEndData.ErrorMessage());
+    }</codeblock><p>Both <xref href="GUID-43E7CE06-D669-3BAF-A12E-318C2DD8E49F.dita"><apiname>ProgressOperationHandler()</apiname></xref> and <xref href="GUID-C2E7966B-6EA5-376D-91E3-2467AF6CCF4E.dita"><apiname>EndOperationHandler()</apiname></xref> should return quickly
+as they are run as part of an active object request completion handler. </p><p>The client can cancel the subscription by invoking <xref href="GUID-33D234E5-2970-3521-BDB9-EE29C9165856.dita#GUID-33D234E5-2970-3521-BDB9-EE29C9165856/GUID-760423DF-24A6-384D-9882-25130933FCB1"><apiname>CSifOperationsNotifier::CancelSubscribeL()</apiname></xref>.<codeblock xml:space="preserve"> iNotifier-&gt;CancelSubscribeL(aKey);</codeblock></p></info>
+</step>
+</steps>
+<result id="GUID-904D6009-3DC7-497A-93CC-17B28872A316"><p>The client
+now receives the start, progress and end status notifications as and
+when published by the installer. </p></result>
+</taskbody></task>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FDC0004A-A2EE-5B73-9E2D-B6864C600AF9.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FDC0004A-A2EE-5B73-9E2D-B6864C600AF9.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -36,7 +36,7 @@
 take a Mini-DOM object tree and output an XML file. </p> </li>
 </ul> <fig id="GUID-3B925574-105C-5EA3-94A8-CFCED0D0F544">
 <title>              SMIL Parser architecture            </title>
-<image href="GUID-C65D4AB3-4F4B-5005-A9C4-96807EDB3EEC_d0e470190_href.jpg" placement="inline"/>
+<image href="GUID-C65D4AB3-4F4B-5005-A9C4-96807EDB3EEC_d0e476026_href.jpg" placement="inline"/>
 </fig> <p>The following sections gives detailed explanation of the above elements: </p> <p><b>XML
 Mini-DOM </b> </p> <p>The XML Mini-DOM classes are based on a subset of the
 DOM classes. The Mini-DOM is a subset, because it is not intended to support
Binary file Symbian3/PDK/Source/GUID-FDDDF1F0-42D8-570E-AF06-620825FA1022_d0e270583_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FDDDF1F0-42D8-570E-AF06-620825FA1022_d0e276583_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FE1F6768-FCF8-5670-8621-DC0DBDB0B706_d0e466468_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FE1F6768-FCF8-5670-8621-DC0DBDB0B706_d0e472313_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,7 +11,7 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-FE3825C5-BDEE-5F18-9FFD-2E794E618FEC"><title>Data Access Example</title><shortdesc>This example describes typical processing of the data in an RMBufChain. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Downwards flow</title> <fig id="GUID-43219AE7-A0E4-570A-98ED-07D44D849979"><title>
              Example : flow going downwards 
-          </title> <image href="GUID-30987768-8B0A-5A35-820C-DBB410D2053B_d0e137761_href.png" placement="inline"/></fig> <p>The following function is a simplified example of how a component in the middle of the stack could process data sent to the driver. As shown in the above diagram, the upper layer provides the data in the <codeph>RMBufChain</codeph> parameter. </p> <codeblock id="GUID-4C87CEB3-DCFD-5765-BF89-6EF9275EB584" xml:space="preserve">
+          </title> <image href="GUID-30987768-8B0A-5A35-820C-DBB410D2053B_d0e140010_href.png" placement="inline"/></fig> <p>The following function is a simplified example of how a component in the middle of the stack could process data sent to the driver. As shown in the above diagram, the upper layer provides the data in the <codeph>RMBufChain</codeph> parameter. </p> <codeblock id="GUID-4C87CEB3-DCFD-5765-BF89-6EF9275EB584" xml:space="preserve">
 void Send (RMBufChain &amp;aChain) 
 {
    TBuf8&lt;KHeaderLength&gt; aHeader;
@@ -29,7 +29,7 @@
 }
    </codeblock> <p>Note that depending on the available space remaining in front of the data in the MBuf, the <xref href="GUID-F024208C-ED19-3301-85C1-53F397C9910F.dita#GUID-F024208C-ED19-3301-85C1-53F397C9910F/GUID-A7CEF452-AB4E-378C-A262-B1C5FCBA68BB"><apiname>RMBufChain::Prepend()</apiname></xref> method may request the pond to add a new MBuf to the front of the chain. For more information, see <xref href="GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72.dita#GUID-B4F15CA3-CAD4-5A87-9610-A656CA337B72/GUID-5EBCD46C-5E07-5DB1-90D9-6A5CA3E36C0B">Buffer layout</xref>. </p> </section> <section><title>Upwards flow</title> <fig id="GUID-402331EB-6DE8-5DC5-9FF7-7D5DD8D816D5"><title>
              Example : flow going upwards 
-          </title> <image href="GUID-11CBC0BA-3683-584A-9DC9-8BD3C9573F01_d0e137791_href.png" placement="inline"/></fig> <p>The following function is a simplified example of how a component in the middle of the stack could process data received by the driver. As shown in the above diagram, the underlying layer provides the data in the <codeph>RMBufChain</codeph> parameter. </p> <codeblock id="GUID-C36656D9-AEB0-5DBF-A469-0183F80AE057" xml:space="preserve">
+          </title> <image href="GUID-11CBC0BA-3683-584A-9DC9-8BD3C9573F01_d0e140040_href.png" placement="inline"/></fig> <p>The following function is a simplified example of how a component in the middle of the stack could process data received by the driver. As shown in the above diagram, the underlying layer provides the data in the <codeph>RMBufChain</codeph> parameter. </p> <codeblock id="GUID-C36656D9-AEB0-5DBF-A469-0183F80AE057" xml:space="preserve">
 void Process (RMBufChain &amp;aChain)
 {
    TBuf8&lt;KHeaderLength&gt; aHeader;
Binary file Symbian3/PDK/Source/GUID-FE3C8D39-CE17-5AC7-AB6A-4D6664D52196_d0e228096_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FE3C8D39-CE17-5AC7-AB6A-4D6664D52196_d0e234095_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FE4794F8-2519-5AC2-BCF7-168ECA6645EA.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FE4794F8-2519-5AC2-BCF7-168ECA6645EA.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -53,7 +53,7 @@
 1 shows the classes and types of the Host Settings API. </p> <fig id="GUID-97FD34C6-253C-5BCD-B29C-D5F9CB552068">
 <title>              Figure 1. Classes and types of the Host Settings API.
            </title>
-<image href="GUID-8F6627A5-5DDE-5F30-86BF-CFD507DE876B_d0e455002_href.png" placement="inline"/>
+<image href="GUID-8F6627A5-5DDE-5F30-86BF-CFD507DE876B_d0e460847_href.png" placement="inline"/>
 </fig> <p>The following table lists the main classes and types of the Host
 Settings API (some simple typedefs are excluded). </p> <table id="GUID-01C6E3E0-AE21-5476-AC82-EB11122ACF60">
 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
Binary file Symbian3/PDK/Source/GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e234649_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e240639_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FE9017F4-4197-472F-A3E7-267169A51ABD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FE9017F4-4197-472F-A3E7-267169A51ABD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -1,53 +1,49 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-FE9017F4-4197-472F-A3E7-267169A51ABD" xml:lang="en"><title>Registration</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>You need to register your applications in order to make them visible
-to the application menu and to provide other information to the underlying
-operating system. To register, you need to provide a registration resource
-file, typically named <parmname>&lt;application_name&gt;_reg.rss</parmname> that
-contains the non-localized information for your application. Examples of non-localized
-information include:</p>
-<ul>
-<li><p>UID of the application</p></li>
-<li><p>name of the application executable, without an extension</p>
-</li>
-<li><p>application properties, such as embeddability or whether
-it is hidden</p></li>
-</ul>
-<p>For more information on how to create a registration file for the non-localized
-information for your application, see <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">Creating
-registration resource files</xref>. </p>
-<p>You also need to provide localized information for your applications,
-such as captions and icons. This is done by either including a name and path
-of a localizable icon and caption resource file or the symbolic ID of a <parmname>LOCALISABLE_APP_INFO</parmname> data
-structure in your application UI resource file. For a discussion of the available
-options for where you can place this resource statement, see <xref href="GUID-3F880EFC-E891-5C71-8360-1BBB54367AFA.dita">Localisable
-icon/caption definition files</xref>. </p>
-<p>You may define the following localized information:</p>
-<ul>
-<li><p>application caption, which is typically displayed next to
-the icon in the application menu</p></li>
-<li><p>short caption used by some mobile devices when screen space
-is limited</p></li>
-<li><p>name of the icon file</p></li>
-</ul>
-<p>For more information on using the <parmname>LOCALISABLE_APP_INFO</parmname> data
-structure, see <xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita">Defining
-localizable registration information</xref></p>
-<note>
-<p>You must compile both the non-localized information registration resource
-file and the localized information resource file and include the results in
-your package file in order for your application to be registered in a mobile
-device.</p>
-
-</note>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"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: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-FE9017F4-4197-472F-A3E7-267169A51ABD" xml:lang="en"><title>Registration</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>You need to register your applications in order to make them
+visible to the application menu and to provide other information to
+the underlying operating system. To register, you need to provide
+a registration resource file, typically named <parmname>&lt;application_name&gt;_reg.rss</parmname> that contains the non-localized information for your application.
+Examples of non-localized information include:</p>
+<ul>
+<li><p>UID of the application</p></li>
+<li><p>name of the application executable, without an extension</p>
+</li>
+<li><p>application properties, such as embeddability or
+whether it is hidden</p></li>
+</ul>
+<p>For more information on how to create a registration file for
+the non-localized information for your application, see <xref href="GUID-BF1AAA0D-DF2F-4E1D-A0D2-F419BD32F97A.dita">Creating registration resource files</xref>. </p>
+<p>You also need to provide localized information for your applications,
+such as captions and icons. This is done by either including a name
+and path of a localizable icon and caption resource file or the symbolic
+ID of a <parmname>LOCALISABLE_APP_INFO</parmname> data structure in
+your application UI resource file. For information about localisable
+icons, see <b>Symbian^3 Tools Guide &gt; Building</b>. </p>
+<p>You may define the following localized information:</p>
+<ul>
+<li><p>application caption, which is typically displayed
+next to the icon in the application menu</p></li>
+<li><p>short caption used by some mobile devices when screen
+space is limited</p></li>
+<li><p>name of the icon file</p></li>
+</ul>
+<p>For more information on using the <parmname>LOCALISABLE_APP_INFO</parmname> data structure, see <xref href="GUID-9F90A2F0-9C76-4871-A766-D1AE0FC42C08.dita">Defining localizable registration information</xref></p>
+<note>
+<p>You must compile both the non-localized information registration
+resource file and the localized information resource file and include
+the results in your package file in order for your application to
+be registered in a mobile device.</p>
+
+</note>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FE922294-380D-447D-AC46-A46EFAD79168.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FE922294-380D-447D-AC46-A46EFAD79168.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -120,6 +120,6 @@
 only scroll down commands used. b) Left-to-right UI language; only scroll
 right commands used. c) Right-to-left UI language; only scroll down used.
 d) Right-to-left UI language; only scroll right used.</title>
-<image href="GUID-93FFE6EF-9F6D-46BD-846C-CAC03F26E643_d0e81179_href.png" scale="40" placement="inline"/>
+<image href="GUID-93FFE6EF-9F6D-46BD-846C-CAC03F26E643_d0e85377_href.png" scale="40" placement="inline"/>
 </fig>
 </conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FE94596E-B5BB-51FE-BE38-069840323915.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FE94596E-B5BB-51FE-BE38-069840323915.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -16,7 +16,7 @@
 GSM encoding supports the GSM 7-bit default alphabet and GSM 7-bit default
 alphabet extension table through an escape mechanism. </p> <p>Figure 1 </p> <fig id="GUID-CDEE59FC-F035-5B75-8838-96E94A6714E8">
 <title>              Escape mechanism            </title>
-<image href="GUID-08A6B93F-92CD-5182-B142-D353E78016F3_d0e658855_href.png" placement="inline"/>
+<image href="GUID-08A6B93F-92CD-5182-B142-D353E78016F3_d0e671682_href.png" placement="inline"/>
 </fig> <p>The GSM 7-bit default alphabet consists of 128 characters. Each
 character is represented by 7 bits. 10 extra characters are defined in the
 GSM 7-bit default extension table. These characters are represented by an
@@ -43,7 +43,7 @@
 be decoded back to the same Unicode letter A instead of Á. </p> <p>Figure
 2 </p> <fig id="GUID-ACFF9511-D5E0-5558-8008-4CD48EE0B7A1">
 <title>              Lossy conversion            </title>
-<image href="GUID-8862E271-ABA4-5A25-8990-C0B3931E370D_d0e658895_href.png" placement="inline"/>
+<image href="GUID-8862E271-ABA4-5A25-8990-C0B3931E370D_d0e671722_href.png" placement="inline"/>
 </fig> </section>
 <section id="GUID-D2F0E6BE-932E-545D-A0C8-39017E3D67B4"><title>16-bit Unicode
 encoding</title> <p>Unicode is an international standard character set. It
@@ -74,7 +74,7 @@
 as locking-single. </p> </li>
 </ul> <p>Figure 3 </p> <fig id="GUID-541CED9A-2450-5C9D-AADF-93EE59E4D77E">
 <title>              National language encoding            </title>
-<image href="GUID-44347376-702D-5648-8938-EB55AFA329EC_d0e658957_href.png" placement="inline"/>
+<image href="GUID-44347376-702D-5648-8938-EB55AFA329EC_d0e671784_href.png" placement="inline"/>
 </fig><p>The single shift mechanism is useful when a message contains only
 a few characters outside the default GSM table. It is however inefficient
 when a message contains many unsupported characters, because each escaped
Binary file Symbian3/PDK/Source/GUID-FEE01F5F-1F7E-569C-950E-7793DA8F26A2_d0e426920_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FEE01F5F-1F7E-569C-950E-7793DA8F26A2_d0e432765_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e234674_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e240664_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FF08B8F5-9881-5BA3-ACD1-C09E40A09438.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FF08B8F5-9881-5BA3-ACD1-C09E40A09438.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -19,7 +19,7 @@
 collection. The following diagram shows the architecture of the Multimedia
 Plug-ins collection: </p> <fig id="GUID-2132F240-AC05-5F54-A9A6-4332707CC387">
 <title>              Multimedia Plug-ins architecture            </title>
-<image href="GUID-5B8061C3-3BED-51D7-9919-5BA16EA6C6FE_d0e528171_href.png" placement="inline"/>
+<image href="GUID-5B8061C3-3BED-51D7-9919-5BA16EA6C6FE_d0e535631_href.png" placement="inline"/>
 </fig> </section>
 <section><title>Description</title> <p>The Multimedia Plug-ins collection
 provides a generic plug-in architecture for the Camera Framework, Imaging
Binary file Symbian3/PDK/Source/GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e411208_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e417061_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A" xml:lang="en"><title>Static
-interface DLLs</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>A static interface DLL represents an interface which is defined to its
-clients by one or more headers for use at compile time, and an import library
-for use at link time. </p>
-<p>When a executable that is a client of the DLL is loaded at run-time, the
-loader notes that it requires the static interface DLL to be available. The
-loader then either loads the DLL or, if it is loaded already, attaches the
-new client to it. </p>
-<p>In Symbian platform, all static interface DLLs must have a <codeph>uid2</codeph> of <codeph>0x1000008d</codeph>.
-The particular static interface DLL is then identified by name and by <codeph>uid3</codeph>. </p>
-<p>For example, if a DLL called <filepath>helloview.dll</filepath> is built
-with a <codeph>uid3</codeph> of 0x10000252, then the name used in the import
-library for ARM builds of Symbian platform is <filepath>helloview[10000252]</filepath>.
-When the loader loads the <filepath>helloview.dll</filepath>, it checks that
-its UID is <codeph>0x10000252</codeph>. If the <codeph>uid3</codeph> in the
-DLL does not match, then the load fails. </p>
-<section><title>mmp project specification</title><p>A static interface DLL
-project file must specify the correct target type and UID:</p><ul>
-<li id="GUID-EBD5092A-1F8F-5715-AFB4-A8183263028C"><p>Specify the <codeph>TARGETTYPE</codeph> line
-as: </p> <codeblock id="GUID-0BF51E79-4F88-58FC-9608-C57F1C8F6FF0" xml:space="preserve">TARGETTYPE dll</codeblock> <p>This
-implicitly specifies <codeph>UID1</codeph> correctly. </p> </li>
-<li id="GUID-2FB86A73-A3D3-5289-B5C3-5D3CE68EE68C"><p>Specify the UID for
-the DLL in a <codeph>UID</codeph> line: </p> <p><userinput>UID 0x1000008d
-&lt;UID3&gt;</userinput> </p> </li>
-</ul> </section>
-<example><p>An example of the <filepath>mmp</filepath> project file for a
-static DLL is given below: </p><codeblock id="GUID-0690A3DC-3FF4-5FA1-9532-7ED2A0E65C1B" xml:space="preserve">TARGET        CreateStaticDLL.dll
-TARGETTYPE    dll
-UID           0x1000008d 0x10004268
-SOURCEPATH    .
-SOURCE        CreateStaticDLL.cpp
-USERINCLUDE   .
-SYSTEMINCLUDE \Epoc32\include
-LIBRARY       euser.lib
-EXPORTUNFROZEN</codeblock></example>
-</conbody></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FF81C5C5-09B7-5194-928E-0BA87417B2CD.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FF81C5C5-09B7-5194-928E-0BA87417B2CD.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -10,6 +10,6 @@
 <!DOCTYPE concept
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-FF81C5C5-09B7-5194-928E-0BA87417B2CD"><title>What are Access Point Priorities?</title><shortdesc>This topic explains access point priorities and how the values are inherited. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>Contention management issues are resolved using the priorities associated with the Access Points. Priorities are assigned to Access Point Layers. If an incoming GPRS connection has a higher priority than an existing GRPS connection, the existing connection is stopped and the new connection is started. If the incoming GPRS connection has a lower priority than all existing GPRS connections the incoming GPRS connection is discarded. </p> <p>The Access Point priority is stored in the CommsDat AccessPointTable. You can specify a priority for access point using the CommsData config file in “cfg” format. The priority range is 1-KMaxTUint where 1 is high priority and KMaxTUint is low priority. If a priority is not assigned to an access point the default value is KMaxTUint is given. A zero priority value is not allowed. </p> <example><title>Access Point Priority Inheritance Example</title> <p>Access Point Priorities can be inherited between Access Point Layers. The current Access Point Layer priority is compared to the inherited Access Point priority, the highest priority is assigned to the Point Layer. This means that the priority of an Access point layer can be overridden by an inherited priority. </p> <p> <codeph>CurrentPriority = max_priority{AccessPointPriority,
-          inherited_priority}</codeph>  </p> <p>The following diagram contains three Access Point Layers. Each Access Point Layer has an associated priority. </p> <fig id="GUID-25A488E3-B1B8-58BB-835F-944D4480B5F9"><image href="GUID-B16E3A7D-FF14-559A-BF86-2A1A1A584CDC_d0e561253_href.png" placement="inline"/></fig> <p>As a result of inheritance the following priorities are applied. </p> <p>For IP_MCPR1 the resultant priority is {3, KmaxTUint} = 3 </p> <p>For IPPROTO_MCPR1 the resultant priority is {3, 5} = 3 </p> <p>For PDP_MCPR1 the resultant priority is {4, 3} = 3 </p> </example> <section><title>Changes in Access Point Priorities at Runtime</title> <p>The following diagram outlines how priorities can change at runtime. </p> <fig id="GUID-9D3C98CE-9C35-5B89-AA55-28D4695814E7"><image href="GUID-46E27DAF-B72D-5A86-91BB-1B3C0788C6A5_d0e561276_href.png" placement="inline"/></fig> <p>In this example: </p> <ul><li id="GUID-8C8FEAA2-27E5-5A7D-9B88-CB33E494429F"><p>Two stack configurations (SNAP1 and SNAP2) are defined in the CommsDat. The configurations have different settings for the IP layer but the same IPProto and PDP layers. </p> </li> <li id="GUID-09F5F8EF-C969-57E8-9E26-4F1AC95C707C"><p>An application is started on SNAP1. IP_CPR1 and IP_MCPR1 are created. </p> </li> <li id="GUID-D87C4F2D-07BD-5FAB-AEFE-17F0448B6439"><p>A second application is started on SNAP2. IP_CPR2 and IP_MCPR2 are created. </p> </li> <li id="GUID-462FEA77-7CCB-5A12-817D-91FFF9239C05"><p>Current priorities for IPProto and PDP layer will be recalculated. On this example they do not change because priority 6 is the lowest priority in this stack. </p> </li> <li id="GUID-758ECDB2-148D-5E05-A3F0-E116AB169368"><p>If first application stops its connection and second application continue to work, IP_CPR1 is destroyed. IPPROTO_CPR1 and PDP_CPR1 priorities will be recalculated. </p> <p>IPPROTO_CPR1 priority = max_priority{5, 6} = 5 </p> <p>PDP_CPR1 priority = max_priority{4, 5} = 4 </p> </li> </ul> </section> </conbody><related-links><link href="GUID-CD57B3EB-B8FD-53CE-B319-FB6275BE391E.dita"><linktext>What is Contention?</linktext> </link> <link href="GUID-0E0D4E95-470F-54BE-8DCB-719976C8B84C.dita"><linktext>What is Contention
+          inherited_priority}</codeph>  </p> <p>The following diagram contains three Access Point Layers. Each Access Point Layer has an associated priority. </p> <fig id="GUID-25A488E3-B1B8-58BB-835F-944D4480B5F9"><image href="GUID-B16E3A7D-FF14-559A-BF86-2A1A1A584CDC_d0e569929_href.png" placement="inline"/></fig> <p>As a result of inheritance the following priorities are applied. </p> <p>For IP_MCPR1 the resultant priority is {3, KmaxTUint} = 3 </p> <p>For IPPROTO_MCPR1 the resultant priority is {3, 5} = 3 </p> <p>For PDP_MCPR1 the resultant priority is {4, 3} = 3 </p> </example> <section><title>Changes in Access Point Priorities at Runtime</title> <p>The following diagram outlines how priorities can change at runtime. </p> <fig id="GUID-9D3C98CE-9C35-5B89-AA55-28D4695814E7"><image href="GUID-46E27DAF-B72D-5A86-91BB-1B3C0788C6A5_d0e569952_href.png" placement="inline"/></fig> <p>In this example: </p> <ul><li id="GUID-8C8FEAA2-27E5-5A7D-9B88-CB33E494429F"><p>Two stack configurations (SNAP1 and SNAP2) are defined in the CommsDat. The configurations have different settings for the IP layer but the same IPProto and PDP layers. </p> </li> <li id="GUID-09F5F8EF-C969-57E8-9E26-4F1AC95C707C"><p>An application is started on SNAP1. IP_CPR1 and IP_MCPR1 are created. </p> </li> <li id="GUID-D87C4F2D-07BD-5FAB-AEFE-17F0448B6439"><p>A second application is started on SNAP2. IP_CPR2 and IP_MCPR2 are created. </p> </li> <li id="GUID-462FEA77-7CCB-5A12-817D-91FFF9239C05"><p>Current priorities for IPProto and PDP layer will be recalculated. On this example they do not change because priority 6 is the lowest priority in this stack. </p> </li> <li id="GUID-758ECDB2-148D-5E05-A3F0-E116AB169368"><p>If first application stops its connection and second application continue to work, IP_CPR1 is destroyed. IPPROTO_CPR1 and PDP_CPR1 priorities will be recalculated. </p> <p>IPPROTO_CPR1 priority = max_priority{5, 6} = 5 </p> <p>PDP_CPR1 priority = max_priority{4, 5} = 4 </p> </li> </ul> </section> </conbody><related-links><link href="GUID-CD57B3EB-B8FD-53CE-B319-FB6275BE391E.dita"><linktext>What is Contention?</linktext> </link> <link href="GUID-0E0D4E95-470F-54BE-8DCB-719976C8B84C.dita"><linktext>What is Contention
                 Management?</linktext> </link> <link href="GUID-01979029-C009-5FD3-9925-2B7945FB96A6.dita"><linktext>Starting a Network Connection
                 Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
--- a/Symbian3/PDK/Source/GUID-FF8D78A2-8F4D-5CAE-B3DB-E2400ABD6B5F.dita	Fri Jul 02 12:51:36 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-FF8D78A2-8F4D-5CAE-B3DB-E2400ABD6B5F.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -11,5 +11,5 @@
   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
 <concept xml:lang="en" id="GUID-FF8D78A2-8F4D-5CAE-B3DB-E2400ABD6B5F"><title>Data Source Adaptation Overview</title><shortdesc>The Data Source Adaptation collection contains one API that allows device creators to develop Positioning Plug-ins (PSYs). It also contains a test program that is used to test PSYs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Data Source Adaptation collection supports an API and test utility for creating and testing Positioning Plug-ins. </p> <p>The Data Source Adaptation collection contains a single component called <xref href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita">GPS Data Source Adaptation</xref>. </p> </section> <section><title>Architecture</title> <p>Figure 1 shows this collection within the context of the LBS system model. </p> <fig id="GUID-95BC11F9-06B4-5705-9856-EBDAE2D3C4E0"><title>
              Figure 1. Data Source Adaptation collection in the LBS system model. 
-          </title> <image href="GUID-E3F9B236-39DF-5BC0-BE13-E10CEEF2BB45_d0e455956_href.png" placement="inline"/></fig> </section> <section><title>Components</title> <p>This collection contains only the <xref href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita">GPS Data Source Adaptation</xref> component. </p> </section> </conbody><related-links><link href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita"><linktext>GPS Data
+          </title> <image href="GUID-E3F9B236-39DF-5BC0-BE13-E10CEEF2BB45_d0e461801_href.png" placement="inline"/></fig> </section> <section><title>Components</title> <p>This collection contains only the <xref href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita">GPS Data Source Adaptation</xref> component. </p> </section> </conbody><related-links><link href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita"><linktext>GPS Data
                 Source Adaptation</linktext> </link> </related-links></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-FFBB390B-0A5D-5ABC-A111-95B3C84818DE_d0e110291_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FFBB390B-0A5D-5ABC-A111-95B3C84818DE_d0e112714_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FFC6F01E-15AB-43E6-90E8-0E42DA297AE9_d0e2156_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FFC6F01E-15AB-43E6-90E8-0E42DA297AE9_d0e2166_href.png has changed
--- a/Symbian3/PDK/Source/GUID-FFD56DA3-9301-5679-9209-A70CE63A34A2.dita	Fri Jul 02 12:51:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"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: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-FFD56DA3-9301-5679-9209-A70CE63A34A2"><title>How to initialise LINK and LLINK RESOURCE members</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A <codeph>LINK</codeph> or <codeph>LLINK</codeph> member must be initialised with a <varname>resource-identifier</varname>. This resource identifier may be in the form of a resource name or a number. </p> <ul><li id="GUID-CCE4B830-70DA-5875-B791-E3CB9FFA4F7E"><p>To specify a resource in the same file, use the resource name in <i>lower case</i>.</p> <p>It is not necessary for the resource to be defined at the time the statement is processed, but an error will result if the resource is not defined in the entire file. When declared in lower case any <codeph>NAME</codeph> specified in the file will be added onto the resource id.</p> </li> <li id="GUID-3968866A-565F-5FC3-9B14-0333EAACC665"><p>To specify a resource in a different file, use the resource name in <i>upper case</i>.</p> <p>To reference it you must <codeph>#include</codeph> the relevant header file containing the resource. All resource names are turned into upper case when their <codeph>#define</codeph> s are generated in the header file — this is how the resource compiler recognises that it must look for the resource in another file. If this resource does not exist in any <codeph>#include</codeph> d file then an error is generated.</p> </li> <li id="GUID-E1F1E24C-40FA-5574-8D54-DA8D512C6E5B"><p>The resource identifier may also be specified as a number: in this case it is the resource id (including <codeph>NAME</codeph>).</p> <p>If no such resource id exists either in the file or any <codeph>#include</codeph> d header files, no error is generated by the compiler. The programmer must therefore ensure that the id is a valid reference.</p> </li> </ul> <p>See <xref href="GUID-F9605837-2209-500D-AB62-48A433489C5E.dita">Resource file definition</xref> for information on how resource ids are generated. See also <xref href="GUID-AECDAEBF-777A-579B-92F8-560FD7FF86E7.dita">NAME statement</xref> and related statements.</p> </conbody></concept>
\ No newline at end of file
Binary file Symbian3/PDK/Source/GUID-FFE6BAF8-C093-53FC-8672-365BAF38E048_d0e553256_href.png has changed
Binary file Symbian3/PDK/Source/GUID-FFE6BAF8-C093-53FC-8672-365BAF38E048_d0e560712_href.png has changed